[Bug rtl-optimization/70261] [6 Regression] r234265 causes fails on rs6000

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 17 07:45:00 GMT 2016


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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
While the patch successfully bootstrapped/regtested on x86_64/i686, on
powerpc64{,le} it bootstrapped, but still has numerous regressions:
+FAIL: gcc.dg/vmx/gcc-bug-f.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/gcc-bug-f.c   -Os  (test for excess errors)
+FAIL: gcc.dg/vmx/gcc-bug-g.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/gcc-bug-g.c   -Os  (test for excess errors)
+FAIL: gcc.dg/vmx/ld-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ld-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ld-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ld-vsx-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ld-vsx-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ld-vsx-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ld-vsx.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ld-vsx.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ld-vsx.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ld.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ld.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ld.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/lde-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/lde-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/lde-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/lde.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/lde.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/lde.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/ldl-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ldl-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ldl-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ldl-vsx-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ldl-vsx-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ldl-vsx-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ldl-vsx.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ldl-vsx.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ldl-vsx.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/ldl.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/ldl.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/ldl.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/merge-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/merge-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/merge-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/merge-vsx-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/merge-vsx-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/merge-vsx-be-order.c   -Os  compilation failed to
produce executable
+FAIL: gcc.dg/vmx/merge-vsx.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/merge-vsx.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/merge-vsx.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/merge.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/merge.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/merge.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/mult-even-odd-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/mult-even-odd-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/mult-even-odd-be-order.c   -Os  compilation failed to
produce executable
+FAIL: gcc.dg/vmx/mult-even-odd.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/mult-even-odd.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/mult-even-odd.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/pack-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/pack-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/pack-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/pack.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/pack.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/pack.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/perm-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/perm-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/perm-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/perm.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/perm.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/perm.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/splat-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/splat-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/splat-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/splat-vsx-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/splat-vsx-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/splat-vsx-be-order.c   -Os  compilation failed to
produce executable
+FAIL: gcc.dg/vmx/splat-vsx.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/splat-vsx.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/splat-vsx.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/splat.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/splat.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/splat.c   -Os  compilation failed to produce executable
+FAIL: gcc.dg/vmx/unpack-be-order.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/unpack-be-order.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/unpack-be-order.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/unpack.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/unpack.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/unpack.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/varargs-1.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/varargs-1.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/varargs-1.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/varargs-2.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/varargs-2.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/varargs-2.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/varargs-3.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/varargs-3.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/varargs-3.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/varargs-4.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/varargs-4.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/varargs-4.c   -Os  compilation failed to produce
executable
+FAIL: gcc.dg/vmx/varargs-5.c   -Os  (internal compiler error)
+FAIL: gcc.dg/vmx/varargs-5.c   -Os  (test for excess errors)
+UNRESOLVED: gcc.dg/vmx/varargs-5.c   -Os  compilation failed to produce
executable
+FAIL: c-c++-common/torture/vector-shift.c   -Os  (internal compiler error)
+FAIL: c-c++-common/torture/vector-shift.c   -Os  (test for excess errors)
+UNRESOLVED: c-c++-common/torture/vector-shift.c   -Os  compilation failed to
produce executable
+FAIL: c-c++-common/torture/vshuf-v2di.c   -Os  (internal compiler error)
+FAIL: c-c++-common/torture/vshuf-v2di.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/vshuf-v4si.c   -Os  (internal compiler error)
+FAIL: c-c++-common/torture/vshuf-v4si.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/vshuf-v8hi.c   -Os  (internal compiler error)
+FAIL: c-c++-common/torture/vshuf-v8hi.c   -Os  (test for excess errors)
+FAIL: g++.dg/torture/vshuf-v2di.C   -Os  (internal compiler error)
+FAIL: g++.dg/torture/vshuf-v2di.C   -Os  (test for excess errors)
+UNRESOLVED: g++.dg/torture/vshuf-v2di.C   -Os  compilation failed to produce
executable
+FAIL: g++.dg/torture/vshuf-v4sf.C   -Os  (internal compiler error)
+FAIL: g++.dg/torture/vshuf-v4sf.C   -Os  (test for excess errors)
+UNRESOLVED: g++.dg/torture/vshuf-v4sf.C   -Os  compilation failed to produce
executable
+FAIL: g++.dg/torture/vshuf-v4si.C   -Os  (internal compiler error)
+FAIL: g++.dg/torture/vshuf-v4si.C   -Os  (test for excess errors)
+UNRESOLVED: g++.dg/torture/vshuf-v4si.C   -Os  compilation failed to produce
executable
+FAIL: g++.dg/torture/vshuf-v8hi.C   -Os  (internal compiler error)
+FAIL: g++.dg/torture/vshuf-v8hi.C   -Os  (test for excess errors)
+UNRESOLVED: g++.dg/torture/vshuf-v8hi.C   -Os  compilation failed to produce
executable

Compared to trunk before the rtlanal.c change, I'm seeing e.g.
@@ -212,7 +212,8 @@ Dataflow summary:
      (expr_list:REG_FRAME_RELATED_EXPR (parallel [
                 (clobber (reg:DI 65 lr))
                 (use (symbol_ref:DI ("_savegpr1_14") [flags 0x1]))
-                (use (reg:DI 12 12))
+                (use (plus:DI (reg/f:DI 1 1)
+                        (const_int -144 [0xffffffffffffff70])))
                 (set/f (mem/c:DI (plus:DI (reg/f:DI 1 1)
                             (const_int -288 [0xfffffffffffffee0])) [4  S8 A8])
                     (reg:DI 14 14))
and similar differences during pro_and_epilogue.


More information about the Gcc-bugs mailing list