------- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-10 20:09 ------- Found the typo. The following patch fixes the ICE and corrects the mode problem. I will apply this as ovbious as this was broken when simplify_relational_operation_1 was moved out of simplify_relational_operation.
Index: simplify-rtx.c =============================================================== ==== RCS file: /cvs/gcc/gcc/gcc/simplify-rtx.c,v retrieving revision 1.232 diff -u -p -r1.232 simplify-rtx.c --- simplify-rtx.c 5 Mar 2005 17:25:32 -0000 1.232 +++ simplify-rtx.c 10 Mar 2005 20:07:34 -0000 @@ -2882,7 +2882,7 @@ simplify_relational_operation_1 (enum rt /* If op0 is a comparison, extract the comparison arguments form it. */ if (code == NE) { - if (GET_MODE (op0) == cmp_mode) + if (GET_MODE (op0) == mode) return simplify_rtx (op0); else return simplify_gen_relational (GET_CODE (op0), mode, VOIDmode, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20412