2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23606
* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
COMPARISON_CLASS_P and an integral types create create a new
expression with the new type and fold that.
From-SVN: r107370
+2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/23606
+ * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
+ COMPARISON_CLASS_P and an integral types create create a new
+ expression with the new type and fold that.
+
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR target/24988
case FIX_ROUND_EXPR:
if (TREE_TYPE (op0) == type)
return op0;
+
+ /* If we have (type) (a CMP b) and type is an integal type, return
+ new expression involving the new type. */
+ if (COMPARISON_CLASS_P (op0) && INTEGRAL_TYPE_P (type))
+ return fold_build2 (TREE_CODE (op0), type, TREE_OPERAND (op0, 0),
+ TREE_OPERAND (op0, 1));
/* Handle cases of two conversions in a row. */
if (TREE_CODE (op0) == NOP_EXPR