Revision 33890b3e target-ppc/translate.c
b/target-ppc/translate.c | ||
---|---|---|
6908 | 6908 |
tcg_temp_free(t0); |
6909 | 6909 |
tcg_temp_free(t1); |
6910 | 6910 |
#else |
6911 |
tcg_gen_mov_i32(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rB(ctx->opcode)]); |
|
6912 | 6911 |
tcg_gen_mov_i32(cpu_gprh[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]); |
6912 |
tcg_gen_mov_i32(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rB(ctx->opcode)]); |
|
6913 | 6913 |
#endif |
6914 | 6914 |
} |
6915 | 6915 |
static always_inline void gen_evmergehilo (DisasContext *ctx) |
... | ... | |
6946 | 6946 |
tcg_temp_free(t0); |
6947 | 6947 |
tcg_temp_free(t1); |
6948 | 6948 |
#else |
6949 |
tcg_gen_mov_i32(cpu_gpr[rD(ctx->opcode)], cpu_gprh[rB(ctx->opcode)]); |
|
6950 |
tcg_gen_mov_i32(cpu_gprh[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]); |
|
6949 |
if (rD(ctx->opcode) == rA(ctx->opcode)) { |
|
6950 |
TCGv_i32 tmp = tcg_temp_new_i32(); |
|
6951 |
tcg_gen_mov_i32(tmp, cpu_gpr[rA(ctx->opcode)]); |
|
6952 |
tcg_gen_mov_i32(cpu_gpr[rD(ctx->opcode)], cpu_gprh[rB(ctx->opcode)]); |
|
6953 |
tcg_gen_mov_i32(cpu_gprh[rD(ctx->opcode)], tmp); |
|
6954 |
tcg_temp_free_i32(tmp); |
|
6955 |
} else { |
|
6956 |
tcg_gen_mov_i32(cpu_gpr[rD(ctx->opcode)], cpu_gprh[rB(ctx->opcode)]); |
|
6957 |
tcg_gen_mov_i32(cpu_gprh[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]); |
|
6958 |
} |
|
6951 | 6959 |
#endif |
6952 | 6960 |
} |
6953 | 6961 |
static always_inline void gen_evsplati (DisasContext *ctx) |
Also available in: Unified diff