Revision 36aa55dc target-sh4/translate.c

b/target-sh4/translate.c
400 400
static inline void gen_load_fpr64(TCGv t, int reg)
401 401
{
402 402
    TCGv tmp1 = tcg_temp_new(TCG_TYPE_I32);
403
    TCGv tmp2 = tcg_temp_new(TCG_TYPE_I64);
403
    TCGv tmp2 = tcg_temp_new(TCG_TYPE_I32);
404 404

  
405 405
    tcg_gen_ld_i32(tmp1, cpu_env, offsetof(CPUState, fregs[reg]));
406
    tcg_gen_extu_i32_i64(t, tmp1);
407
    tcg_gen_shli_i64(t, t, 32);
408
    tcg_gen_ld_i32(tmp1, cpu_env, offsetof(CPUState, fregs[reg + 1]));
409
    tcg_gen_extu_i32_i64(tmp2, tmp1);
406
    tcg_gen_ld_i32(tmp2, cpu_env, offsetof(CPUState, fregs[reg + 1]));
407
    tcg_gen_concat_i32_i64(t, tmp2, tmp1);
410 408
    tcg_temp_free(tmp1);
411
    tcg_gen_or_i64(t, t, tmp2);
412 409
    tcg_temp_free(tmp2);
413 410
}
414 411

  

Also available in: Unified diff