https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96298

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |segher at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
-fdisable-rtl-combine fixes it.  In the end it elides an xor, but it prints
many matches so not sure what goes on.  Likely an issue in some
simplify-rtx thing.

@@ -175,15 +1453,7 @@
             (expr_list:REG_EQUAL (plus:DI (reg:DI 85 [ _10 ])
                     (const_int 9187201950435737471 [0x7f7f7f7f7f7f7f7f]))
                 (nil)))))
-(insn 14 13 17 2 (parallel [
-            (set (reg:DI 108)
-                (xor:DI (reg:DI 106)
-                    (reg:DI 86 [ _12 ])))
-            (clobber (reg:CC 17 flags))
-        ]) "t.c":8:18 521 {*xordi_1}
-     (expr_list:REG_DEAD (reg:DI 106)
-        (expr_list:REG_UNUSED (reg:CC 17 flags)
-            (nil))))
+(note 14 13 17 2 NOTE_INSN_DELETED)
 (insn 17 14 18 2 (parallel [
             (set (reg:DI 110)
                 (minus:DI (reg:DI 105)
@@ -199,22 +1469,22 @@
 (insn 18 17 20 2 (parallel [
             (set (reg:DI 112)
                 (xor:DI (reg:DI 110)
-                    (reg:DI 86 [ _12 ])))
+                    (reg:DI 106)))
             (clobber (reg:CC 17 flags))
         ]) "t.c":8:25 521 {*xordi_1}
-     (expr_list:REG_DEAD (reg:DI 110)
-        (expr_list:REG_DEAD (reg:DI 86 [ _12 ])
-            (expr_list:REG_UNUSED (reg:CC 17 flags)
+     (expr_list:REG_UNUSED (reg:CC 17 flags)
+        (expr_list:REG_DEAD (reg:DI 106)
+            (expr_list:REG_DEAD (reg:DI 110)
                 (nil)))))
 (insn 20 18 21 2 (parallel [
             (set (reg:DI 114)
-                (xor:DI (reg:DI 108)
-                    (reg:DI 112)))
+                (xor:DI (reg:DI 112)
+                    (reg:DI 86 [ _12 ])))
             (clobber (reg:CC 17 flags))
         ]) "t.c":8:23 521 {*xordi_1}
-     (expr_list:REG_DEAD (reg:DI 112)
-        (expr_list:REG_DEAD (reg:DI 108)
-            (expr_list:REG_UNUSED (reg:CC 17 flags)
+     (expr_list:REG_DEAD (reg:DI 86 [ _12 ])
+        (expr_list:REG_UNUSED (reg:CC 17 flags)
+            (expr_list:REG_DEAD (reg:DI 112)
                 (nil)))))

Reply via email to