[Bug middle-end/34627] Incorrect branching with -Ox on hppa

dave at hiauly1 dot hia dot nrc dot ca gcc-bugzilla@gcc.gnu.org
Sun Feb 3 21:46:00 GMT 2008



------- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca  2008-02-03 21:46 -------
Subject: Re:  Incorrect branching with -Ox on hppa

> Instead of const0_rtx, I probably should have used CONST0_RTX(mode) ...

I've tried Steven's change on hppa2.0w-hp-hpux11.11 and can confirm
that it resolves the testsuite problem with head.  I've got full
bootstraps running on 4.2 and head with the following change.

Index: combine.c
===================================================================
--- combine.c   (revision 132077)
+++ combine.c   (working copy)
@@ -5393,9 +5393,10 @@
   /* Look for cases where we have (abs x) or (neg (abs X)).  */

   if (GET_MODE_CLASS (mode) == MODE_INT
+      && comparison_p
+      && XEXP (cond, 1) == CONST0_RTX (mode)
       && GET_CODE (false_rtx) == NEG
       && rtx_equal_p (true_rtx, XEXP (false_rtx, 0))
-      && comparison_p
       && rtx_equal_p (true_rtx, XEXP (cond, 0))
       && ! side_effects_p (true_rtx))
     switch (true_code)

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34627



More information about the Gcc-bugs mailing list