translate.c (be8998e046c2a7e434494b75cf468ffd9d536025) | translate.c (d3ef26afde77fbdedd5b30282134ff99d0fe5cc5) |
---|---|
1/* 2 SPARC translation 3 4 Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at> 5 Copyright (C) 2003-2005 Fabrice Bellard 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public --- 4642 unchanged lines hidden (view full) --- 4651 gen_store_fpr_D(dc, a->rd, dst); 4652 return advance_pc(dc); 4653} 4654 4655TRANS(FMUL8x16AU, VIS1, do_dff, a, gen_op_fmul8x16au) 4656TRANS(FMUL8x16AL, VIS1, do_dff, a, gen_op_fmul8x16al) 4657TRANS(FMULD8SUx16, VIS1, do_dff, a, gen_op_fmuld8sux16) 4658TRANS(FMULD8ULx16, VIS1, do_dff, a, gen_op_fmuld8ulx16) | 1/* 2 SPARC translation 3 4 Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at> 5 Copyright (C) 2003-2005 Fabrice Bellard 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public --- 4642 unchanged lines hidden (view full) --- 4651 gen_store_fpr_D(dc, a->rd, dst); 4652 return advance_pc(dc); 4653} 4654 4655TRANS(FMUL8x16AU, VIS1, do_dff, a, gen_op_fmul8x16au) 4656TRANS(FMUL8x16AL, VIS1, do_dff, a, gen_op_fmul8x16al) 4657TRANS(FMULD8SUx16, VIS1, do_dff, a, gen_op_fmuld8sux16) 4658TRANS(FMULD8ULx16, VIS1, do_dff, a, gen_op_fmuld8ulx16) |
4659TRANS(FPMERGE, VIS1, do_dff, a, gen_helper_fpmerge) |
|
4659 4660static bool do_dfd(DisasContext *dc, arg_r_r_r *a, 4661 void (*func)(TCGv_i64, TCGv_i32, TCGv_i64)) 4662{ 4663 TCGv_i64 dst, src2; 4664 TCGv_i32 src1; 4665 4666 if (gen_trap_ifnofpu(dc)) { --- 24 unchanged lines hidden (view full) --- 4691 src2 = gen_load_fpr_D(dc, a->rs2); 4692 func(dst, src1, src2); 4693 gen_store_fpr_D(dc, a->rd, dst); 4694 return advance_pc(dc); 4695} 4696 4697TRANS(FMUL8SUx16, VIS1, do_ddd, a, gen_helper_fmul8sux16) 4698TRANS(FMUL8ULx16, VIS1, do_ddd, a, gen_helper_fmul8ulx16) | 4660 4661static bool do_dfd(DisasContext *dc, arg_r_r_r *a, 4662 void (*func)(TCGv_i64, TCGv_i32, TCGv_i64)) 4663{ 4664 TCGv_i64 dst, src2; 4665 TCGv_i32 src1; 4666 4667 if (gen_trap_ifnofpu(dc)) { --- 24 unchanged lines hidden (view full) --- 4692 src2 = gen_load_fpr_D(dc, a->rs2); 4693 func(dst, src1, src2); 4694 gen_store_fpr_D(dc, a->rd, dst); 4695 return advance_pc(dc); 4696} 4697 4698TRANS(FMUL8SUx16, VIS1, do_ddd, a, gen_helper_fmul8sux16) 4699TRANS(FMUL8ULx16, VIS1, do_ddd, a, gen_helper_fmul8ulx16) |
4699TRANS(FPMERGE, VIS1, do_ddd, a, gen_helper_fpmerge) | |
4700 4701TRANS(FPADD16, VIS1, do_ddd, a, tcg_gen_vec_add16_i64) 4702TRANS(FPADD32, VIS1, do_ddd, a, tcg_gen_vec_add32_i64) 4703TRANS(FPSUB16, VIS1, do_ddd, a, tcg_gen_vec_sub16_i64) 4704TRANS(FPSUB32, VIS1, do_ddd, a, tcg_gen_vec_sub32_i64) 4705TRANS(FNORd, VIS1, do_ddd, a, tcg_gen_nor_i64) 4706TRANS(FANDNOTd, VIS1, do_ddd, a, tcg_gen_andc_i64) 4707TRANS(FXORd, VIS1, do_ddd, a, tcg_gen_xor_i64) --- 568 unchanged lines hidden --- | 4700 4701TRANS(FPADD16, VIS1, do_ddd, a, tcg_gen_vec_add16_i64) 4702TRANS(FPADD32, VIS1, do_ddd, a, tcg_gen_vec_add32_i64) 4703TRANS(FPSUB16, VIS1, do_ddd, a, tcg_gen_vec_sub16_i64) 4704TRANS(FPSUB32, VIS1, do_ddd, a, tcg_gen_vec_sub32_i64) 4705TRANS(FNORd, VIS1, do_ddd, a, tcg_gen_nor_i64) 4706TRANS(FANDNOTd, VIS1, do_ddd, a, tcg_gen_andc_i64) 4707TRANS(FXORd, VIS1, do_ddd, a, tcg_gen_xor_i64) --- 568 unchanged lines hidden --- |