diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-12-11 09:26:05 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-12-11 09:26:05 -0700 |
commit | b472527b0fdc204489ee647a6752b29b1291317a (patch) | |
tree | 14ba3dfecebffb68f2afc7348224d403c74620f6 /gcc/combine.c | |
parent | c4ae3f91a2e59633859532b4e2f62b210f23b3bf (diff) | |
download | gcc-b472527b0fdc204489ee647a6752b29b1291317a.tar.gz |
Another handful of gcc-2.8 changes (will it ever go out the door?).
See ChangeLog.11 for details.
From-SVN: r17040
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 13e22b9bcd2..339c94943cd 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -4092,13 +4092,15 @@ simplify_rtx (x, op0_mode, last, in_dest) case XOR: return simplify_logical (x, last); - case ABS: + case ABS: /* (abs (neg <foo>)) -> (abs <foo>) */ if (GET_CODE (XEXP (x, 0)) == NEG) SUBST (XEXP (x, 0), XEXP (XEXP (x, 0), 0)); - if (GET_CODE (XEXP (x, 0)) == ASM_OPERANDS) - return x; + /* If the mode of the operand is VOIDmode (i.e. if it is ASM_OPERANDS), + do nothing. */ + if (GET_MODE (XEXP (x, 0)) == VOIDmode) + break; /* If operand is something known to be positive, ignore the ABS. */ if (GET_CODE (XEXP (x, 0)) == FFS || GET_CODE (XEXP (x, 0)) == ABS |