Revision a4e8338d
b/target-mips/translate.c | ||
---|---|---|
5790 | 5790 |
t0 = tcg_temp_new_i32(); |
5791 | 5791 |
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc)); |
5792 | 5792 |
tcg_gen_brcondi_i32(cond, t0, 0, l1); |
5793 |
tcg_temp_free_i32(t0); |
|
5793 | 5794 |
if (rs == 0) { |
5794 | 5795 |
tcg_gen_movi_tl(cpu_gpr[rd], 0); |
5795 | 5796 |
} else { |
5796 | 5797 |
tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]); |
5797 | 5798 |
} |
5798 | 5799 |
gen_set_label(l1); |
5799 |
tcg_temp_free_i32(t0); |
|
5800 | 5800 |
} |
5801 | 5801 |
|
5802 | 5802 |
static inline void gen_movcf_s (int fs, int fd, int cc, int tf) |
... | ... | |
5832 | 5832 |
|
5833 | 5833 |
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc)); |
5834 | 5834 |
tcg_gen_brcondi_i32(cond, t0, 0, l1); |
5835 |
tcg_temp_free_i32(t0); |
|
5835 | 5836 |
fp0 = tcg_temp_local_new_i64(); |
5836 | 5837 |
gen_load_fpr64(ctx, fp0, fs); |
5837 | 5838 |
gen_store_fpr64(ctx, fp0, fd); |
5838 | 5839 |
tcg_temp_free_i64(fp0); |
5839 | 5840 |
gen_set_label(l1); |
5840 |
tcg_temp_free_i32(t0); |
|
5841 | 5841 |
} |
5842 | 5842 |
|
5843 | 5843 |
static inline void gen_movcf_ps (int fs, int fd, int cc, int tf) |
... | ... | |
5860 | 5860 |
|
5861 | 5861 |
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc+1)); |
5862 | 5862 |
tcg_gen_brcondi_i32(cond, t0, 0, l2); |
5863 |
tcg_temp_free_i32(t0); |
|
5863 | 5864 |
gen_load_fpr32h(t0, fs); |
5864 | 5865 |
gen_store_fpr32h(t0, fd); |
5865 | 5866 |
gen_set_label(l2); |
5866 | 5867 |
|
5867 |
tcg_temp_free_i32(t0); |
|
5868 | 5868 |
} |
5869 | 5869 |
|
5870 | 5870 |
|
Also available in: Unified diff