hoist-register-pressure-1.c: Replace int with long.
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Mon, 5 May 2014 07:53:35 +0000 (07:53 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Mon, 5 May 2014 07:53:35 +0000 (07:53 +0000)
2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/hoist-register-pressure-1.c: Replace int with long.
Disable asm scan for s390.
* gcc.dg/hoist-register-pressure-2.c: Likewise.
* gcc.dg/hoist-register-pressure-3.c: Likewise.

From-SVN: r210060

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/hoist-register-pressure-1.c
gcc/testsuite/gcc.dg/hoist-register-pressure-2.c
gcc/testsuite/gcc.dg/hoist-register-pressure-3.c

index 8cbc790..d64a06f 100644 (file)
@@ -1,3 +1,10 @@
+2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * gcc.dg/hoist-register-pressure-1.c: Replace int with long.
+       Disable asm scan for s390.
+       * gcc.dg/hoist-register-pressure-2.c: Likewise.
+       * gcc.dg/hoist-register-pressure-3.c: Likewise.
+
 2014-05-05  Bin Cheng  <bin.cheng@arm.com>
 
        PR tree-optimization/60363
index f5b5302..4aabcb7 100644 (file)
@@ -1,14 +1,18 @@
 /* { dg-options "-Os -fdump-rtl-hoist" }  */
-/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { nonpic } } } } */
+/* The rtl hoist pass requires that the expression to be hoisted can
+   be assigned without clobbering cc.  For a PLUS rtx on S/390 this
+   requires a load address instruction which is fine on 64 bit but
+   cannot be used on 31 bit since it does a 31 bit add only.  */
+/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { { ! s390-*-* } && nonpic } } } } */
 /* { dg-final { cleanup-rtl-dump "hoist" } } */
 
 #define BUF 100
-int a[BUF];
+long a[BUF];
 
-void com (int);
-void bar (int);
+void com (long);
+void bar (long);
 
-int foo (int x, int y, int z)
+long foo (long x, long y, long z)
 {
   /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled,
      because its rtx_cost is too small.  */
index 30408f3..f1c927e 100644 (file)
@@ -1,14 +1,18 @@
 /* { dg-options "-Os -fdump-rtl-hoist" }  */
-/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */
+/* The rtl hoist pass requires that the expression to be hoisted can
+   be assigned without clobbering cc.  For a PLUS rtx on S/390 this
+   requires a load address instruction which is fine on 64 bit but
+   cannot be used on 31 bit since it does a 31 bit add only.  */
+/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { ! s390-*-* } } } } */
 /* { dg-final { cleanup-rtl-dump "hoist" } } */
 
 #define BUF 100
-int a[BUF];
+long a[BUF];
 
-void com (int);
-void bar (int);
+void com (long);
+void bar (long);
 
-int foo (int x, int y, int z)
+long foo (long x, long y, long z)
 {
   /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled,
      because its rtx_cost is too small.  */
index b050f89..24abaa6 100644 (file)
@@ -1,14 +1,18 @@
 /* { dg-options "-Os -fdump-rtl-hoist" }  */
-/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */
+/* The rtl hoist pass requires that the expression to be hoisted can
+   be assigned without clobbering cc.  For a PLUS rtx on S/390 this
+   requires a load address instruction which is fine on 64 bit but
+   cannot be used on 31 bit since it does a 31 bit add only.  */
+/* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" { target { ! s390-*-* } } } } */
 /* { dg-final { cleanup-rtl-dump "hoist" } } */
 
 #define BUF 100
-int a[BUF];
+long a[BUF];
 
-void com (int);
-void bar (int);
+void com (long);
+void bar (long);
 
-int foo (int x, int y, int z)
+long foo (long x, long y, long z)
 {
   /* "x+y" won't be hoisted if "-fira-hoist-pressure" is disabled,
      because its rtx_cost is too small.  */