Browse Source

tcg-s390: Fix movi

The code to load the high 64 bits assumed that the insn used to
load the low 64 bits zero-extended.  Enforce that.
stable-1.5
Richard Henderson 14 years ago
parent
commit
a22971f99f
  1. 2
      tcg/s390/tcg-target.c

2
tcg/s390/tcg-target.c

@ -770,7 +770,7 @@ static void tcg_out_movi(TCGContext *s, TCGType type,
/* If we get here, both the high and low parts have non-zero bits. */
/* Recurse to load the lower 32-bits. */
tcg_out_movi(s, TCG_TYPE_I32, ret, sval);
tcg_out_movi(s, TCG_TYPE_I64, ret, uval & 0xffffffff);
/* Insert data into the high 32-bits. */
uval = uval >> 31 >> 1;

Loading…
Cancel
Save