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 ---