translate.c (553338dc32c97209a01e0717ec624505b66e7948) | translate.c (44a7c2ecd4fcdb9963824cf897a3e69364c187bb) |
---|---|
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 --- 4133 unchanged lines hidden (view full) --- 4142 tcg_gen_movi_i32(cpu_cc_op, CC_OP_FLAGS); 4143 dc->cc_op = CC_OP_FLAGS; 4144 break; 4145 case 0x3: /* V9 wrasi */ 4146 tcg_gen_xor_tl(cpu_tmp0, cpu_src1, cpu_src2); 4147 tcg_gen_andi_tl(cpu_tmp0, cpu_tmp0, 0xff); 4148 tcg_gen_st32_tl(cpu_tmp0, cpu_env, 4149 offsetof(CPUSPARCState, asi)); | 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 --- 4133 unchanged lines hidden (view full) --- 4142 tcg_gen_movi_i32(cpu_cc_op, CC_OP_FLAGS); 4143 dc->cc_op = CC_OP_FLAGS; 4144 break; 4145 case 0x3: /* V9 wrasi */ 4146 tcg_gen_xor_tl(cpu_tmp0, cpu_src1, cpu_src2); 4147 tcg_gen_andi_tl(cpu_tmp0, cpu_tmp0, 0xff); 4148 tcg_gen_st32_tl(cpu_tmp0, cpu_env, 4149 offsetof(CPUSPARCState, asi)); |
4150 /* End TB to notice changed ASI. */ | 4150 /* 4151 * End TB to notice changed ASI. 4152 * TODO: Could notice src1 = %g0 and IS_IMM, 4153 * update DisasContext and not exit the TB. 4154 */ |
4151 save_state(dc); 4152 gen_op_next_insn(); | 4155 save_state(dc); 4156 gen_op_next_insn(); |
4153 tcg_gen_exit_tb(NULL, 0); | 4157 tcg_gen_lookup_and_goto_ptr(); |
4154 dc->base.is_jmp = DISAS_NORETURN; 4155 break; 4156 case 0x6: /* V9 wrfprs */ 4157 tcg_gen_xor_tl(cpu_tmp0, cpu_src1, cpu_src2); 4158 tcg_gen_trunc_tl_i32(cpu_fprs, cpu_tmp0); 4159 dc->fprs_dirty = 0; 4160 save_state(dc); 4161 gen_op_next_insn(); --- 1672 unchanged lines hidden --- | 4158 dc->base.is_jmp = DISAS_NORETURN; 4159 break; 4160 case 0x6: /* V9 wrfprs */ 4161 tcg_gen_xor_tl(cpu_tmp0, cpu_src1, cpu_src2); 4162 tcg_gen_trunc_tl_i32(cpu_fprs, cpu_tmp0); 4163 dc->fprs_dirty = 0; 4164 save_state(dc); 4165 gen_op_next_insn(); --- 1672 unchanged lines hidden --- |