Commit 75473182 by Richard Stallman

*** empty log message ***

From-SVN: r997
parent ea9c2c2a
...@@ -3687,11 +3687,16 @@ expand_compound_operation (x) ...@@ -3687,11 +3687,16 @@ expand_compound_operation (x)
case ZERO_EXTEND: case ZERO_EXTEND:
unsignedp = 1; unsignedp = 1;
case SIGN_EXTEND: case SIGN_EXTEND:
/* If we somehow managed to end up with (sign/zero_extend (const_int x)), /* We can't necessarily use a const_int for a multiword mode;
just return the CONST_INT. We can't know how much masking to do it depends on implicitly extending the value.
in that case. */ Since we don't know the right way to extend it,
we can't tell whether the implicit way is right.
Even for a mode that is no wider than a const_int,
we can't win, because we need to sign extend one of its bits through
the rest of it, and we don't know which bit. */
if (GET_CODE (XEXP (x, 0)) == CONST_INT) if (GET_CODE (XEXP (x, 0)) == CONST_INT)
return XEXP (x, 0); return x;
if (! FAKE_EXTEND_SAFE_P (GET_MODE (XEXP (x, 0)), XEXP (x, 0))) if (! FAKE_EXTEND_SAFE_P (GET_MODE (XEXP (x, 0)), XEXP (x, 0)))
return x; return x;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment