Commit bc8d688f authored by Richard Henderson's avatar Richard Henderson
Browse files

tcg/optimize: Don't special case TCG_OPF_CALL_CLOBBER



With the "old" ldst ops we didn't know the real width of the
result of the load, but with the "new" ldst ops we do.

Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
parent d279279e
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -911,12 +911,11 @@ static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr,
            break;
        }

        /* 32-bit ops (non 64-bit ops and non load/store ops) generate
           32-bit results.  For the result is zero test below, we can
           ignore high bits, but for further optimizations we need to
           record that the high bits contain garbage.  */
        /* 32-bit ops generate 32-bit results.  For the result is zero test
           below, we can ignore high bits, but for further optimizations we
           need to record that the high bits contain garbage.  */
        partmask = mask;
        if (!(def->flags & (TCG_OPF_CALL_CLOBBER | TCG_OPF_64BIT))) {
        if (!(def->flags & TCG_OPF_64BIT)) {
            mask |= ~(tcg_target_ulong)0xffffffffu;
            partmask &= 0xffffffffu;
            affected &= 0xffffffffu;