re PR tree-optimization/20470 (Branching sequence generated for ABS(x-y))
2005-03-25 Pat Haugen <pthaugen@us.ibm.com> PR tree-optimization/20470 * fold-const.c (fold_cond_expr_with_comparison): Recognize/fold ABS(x-y). From-SVN: r97062
This commit is contained in:
parent
d5bdce497f
commit
a10d70babd
2 changed files with 16 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-03-25 Pat Haugen <pthaugen@us.ibm.com>
|
||||
|
||||
PR tree-optimization/20470
|
||||
* fold-const.c (fold_cond_expr_with_comparison): Recognize/fold
|
||||
ABS(x-y).
|
||||
|
||||
2005-03-25 Mike Stump <mrs@apple.com>
|
||||
|
||||
* config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0
|
||||
|
|
|
@ -4187,8 +4187,16 @@ fold_cond_expr_with_comparison (tree type, tree arg0, tree arg1, tree arg2)
|
|||
if ((FLOAT_TYPE_P (TREE_TYPE (arg01))
|
||||
? real_zerop (arg01)
|
||||
: integer_zerop (arg01))
|
||||
&& TREE_CODE (arg2) == NEGATE_EXPR
|
||||
&& operand_equal_p (TREE_OPERAND (arg2, 0), arg1, 0))
|
||||
&& ((TREE_CODE (arg2) == NEGATE_EXPR
|
||||
&& operand_equal_p (TREE_OPERAND (arg2, 0), arg1, 0))
|
||||
/* In the case that A is of the form X-Y, '-A' (arg2) may
|
||||
have already been folded to Y-X, check for that. */
|
||||
|| (TREE_CODE (arg1) == MINUS_EXPR
|
||||
&& TREE_CODE (arg2) == MINUS_EXPR
|
||||
&& operand_equal_p (TREE_OPERAND (arg1, 0),
|
||||
TREE_OPERAND (arg2, 1), 0)
|
||||
&& operand_equal_p (TREE_OPERAND (arg1, 1),
|
||||
TREE_OPERAND (arg2, 0), 0))))
|
||||
switch (comp_code)
|
||||
{
|
||||
case EQ_EXPR:
|
||||
|
|
Loading…
Add table
Reference in a new issue