[combine] Check WORD_REGISTER_OPERATIONS normally rather than through preprocessor

* combine.c (simplify_comparison): Convert preprocessor check of
	WORD_REGISTER_OPERATIONS into runtime check.

From-SVN: r231899
This commit is contained in:
Kyrylo Tkachov 2015-12-22 10:42:47 +00:00 committed by Kyrylo Tkachov
parent 18fccdb440
commit dda5c83188
2 changed files with 7 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2015-12-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* combine.c (simplify_comparison): Convert preprocessor check of
WORD_REGISTER_OPERATIONS into runtime check.
2015-12-22 Eric Botcazou <ebotcazou@adacore.com>
PR debug/60756

View file

@ -11437,10 +11437,10 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
/* Try a few ways of applying the same transformation to both operands. */
while (1)
{
#if !WORD_REGISTER_OPERATIONS
/* The test below this one won't handle SIGN_EXTENDs on these machines,
so check specially. */
if (code != GTU && code != GEU && code != LTU && code != LEU
if (!WORD_REGISTER_OPERATIONS
&& code != GTU && code != GEU && code != LTU && code != LEU
&& GET_CODE (op0) == ASHIFTRT && GET_CODE (op1) == ASHIFTRT
&& GET_CODE (XEXP (op0, 0)) == ASHIFT
&& GET_CODE (XEXP (op1, 0)) == ASHIFT
@ -11460,7 +11460,6 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
op0 = SUBREG_REG (XEXP (XEXP (op0, 0), 0));
op1 = SUBREG_REG (XEXP (XEXP (op1, 0), 0));
}
#endif
/* If both operands are the same constant shift, see if we can ignore the
shift. We can if the shift is a rotate or if the bits shifted out of