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