diff options
author | Richard Henderson <rth@twiddle.net> | 2014-06-08 18:24:14 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2014-06-18 11:39:02 -0700 |
commit | bc8d688ff3c164fa717a0411e77621d590c87e3f (patch) | |
tree | 45c0f5386525f6a0c739f4b8ab4731f96b4c316e /tcg | |
parent | d279279e2b5cd40dbcc863fb66a695990f304077 (diff) |
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: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/optimize.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tcg/optimize.c b/tcg/optimize.c index 16cebbe16d..34ae3c2857 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -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; |