Merge remote-tracking branch 'remotes/rth/tcg-next' into staging

* remotes/rth/tcg-next:
  tcg/optimize: Don't special case TCG_OPF_CALL_CLOBBER

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2014-06-20 15:44:31 +01:00
commit a096922bef

View File

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