IBM Z: Do not run long double tests on old machines
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 12 Nov 2020 14:32:04 +0000 (15:32 +0100)
committerIlya Leoshkevich <iii@linux.ibm.com>
Mon, 16 Nov 2020 12:28:26 +0000 (13:28 +0100)
gcc/testsuite/ChangeLog:

2020-11-12  Ilya Leoshkevich  <iii@linux.ibm.com>

* gcc.target/s390/s390.exp (check_effective_target_s390_z14_hw):
New predicate.
* gcc.target/s390/vector/long-double-caller-abi-run.c: Use the
new predicate.
* gcc.target/s390/vector/long-double-copysign.c: Likewise.
* gcc.target/s390/vector/long-double-from-double.c: Likewise.
* gcc.target/s390/vector/long-double-from-float.c: Likewise.
* gcc.target/s390/vector/long-double-from-i16.c: Likewise.
* gcc.target/s390/vector/long-double-from-i32.c: Likewise.
* gcc.target/s390/vector/long-double-from-i64.c: Likewise.
* gcc.target/s390/vector/long-double-from-i8.c: Likewise.
* gcc.target/s390/vector/long-double-from-u16.c: Likewise.
* gcc.target/s390/vector/long-double-from-u32.c: Likewise.
* gcc.target/s390/vector/long-double-from-u64.c: Likewise.
* gcc.target/s390/vector/long-double-from-u8.c: Likewise.
* gcc.target/s390/vector/long-double-to-double.c: Likewise.
* gcc.target/s390/vector/long-double-to-float.c: Likewise.
* gcc.target/s390/vector/long-double-to-i16.c: Likewise.
* gcc.target/s390/vector/long-double-to-i32.c: Likewise.
* gcc.target/s390/vector/long-double-to-i64.c: Likewise.
* gcc.target/s390/vector/long-double-to-i8.c: Likewise.
* gcc.target/s390/vector/long-double-to-u16.c: Likewise.
* gcc.target/s390/vector/long-double-to-u32.c: Likewise.
* gcc.target/s390/vector/long-double-to-u64.c: Likewise.
* gcc.target/s390/vector/long-double-to-u8.c: Likewise.
* gcc.target/s390/vector/long-double-wfaxb.c: Likewise.
* gcc.target/s390/vector/long-double-wfdxb.c: Likewise.
* gcc.target/s390/vector/long-double-wfsxb-1.c: Likewise.

26 files changed:
gcc/testsuite/gcc.target/s390/s390.exp
gcc/testsuite/gcc.target/s390/vector/long-double-caller-abi-run.c
gcc/testsuite/gcc.target/s390/vector/long-double-copysign.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-double.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-float.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-i16.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-i32.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-i64.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-i8.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-u16.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-u32.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-u64.c
gcc/testsuite/gcc.target/s390/vector/long-double-from-u8.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-double.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-float.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-i16.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-i32.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-i64.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-i8.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-u16.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-u32.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-u64.c
gcc/testsuite/gcc.target/s390/vector/long-double-to-u8.c
gcc/testsuite/gcc.target/s390/vector/long-double-wfaxb.c
gcc/testsuite/gcc.target/s390/vector/long-double-wfdxb.c
gcc/testsuite/gcc.target/s390/vector/long-double-wfsxb-1.c

index 387a720b8e3accaede5eaddc7cc7489416506924..00e0555d55c4935f3d999a2cb9db5a7191a44353 100644 (file)
@@ -192,6 +192,16 @@ proc check_effective_target_s390_z13_hw { } {
        }
     }] "-march=z13 -m64 -mzarch" ] } { return 0 } else { return 1 }
 }
+proc check_effective_target_s390_z14_hw { } {
+    if { ![check_runtime s390_check_s390_z14_hw [subst {
+       int main (void)
+       {
+           int x = 0;
+           asm ("msgrkc %%0,%%0,%%0" : "+r" (x) : );
+           return x;
+       }
+    }] "-march=z14 -m64 -mzarch" ] } { return 0 } else { return 1 }
+}
 
 # If a testcase doesn't have special options, use these.
 global DEFAULT_CFLAGS
index f3a41bacc2f89eaa268b8b0a7010beb890dc33ff..f7315f6c2e9cd0fc5d54db92b0a95719b272783b 100644 (file)
@@ -1,4 +1,5 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include "long-double-callee-abi-scan.c"
 #include "long-double-caller-abi-scan.c"
index 3115195e974e5e5c4f8b162d1f62b21d90478790..5d69e0f29edc9d9ab9e9420a6c822e3ea2f75d1b 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 5eb31f8bd84cb93d3a7e6c8830e9f0dfe126ea87..d98e44dcd1f3bba601c5bfbd0efc9066e7d62eb4 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static long double
index 0449f0cfaf20db3b08cc22efe75284c4a3308bd6..0ddd47d1bc81c69e2de81304f3d66119b1c58df3 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static long double
index 68b164d377f34f1a550601c1562fd0708e8fae34..f7d37c9a55fbf0b89c1711c97abaa02294ba8643 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index ad8443bf61a53eee8bca142891e9bf9d40c4c587..49d919d87f4ae47d77da11d8c6f23de9375058b0 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 3d2c424bbc7a2b4b0c2d141b70e03fb0ae2c3df4..986a5ebea380c739fab38a6759f859cdb0ecf7a9 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 44c8c9d9becb19cc09e95c637ad2d56346d6bfb9..9356af1ae4192d2458d76c96440f524315e2d450 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index f10c298c6d0d4e0a3390bfa42aa4b99c607b9754..3aafeb456f5d03c8e41b7af5e77313d402ff0e39 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 2763fb47b5561eefda368bc1857903af92f94236..655f5d721c7f8df2772a1c1aafb69c6a3e81961d 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 4686dfd8d20b27fc2fd7cff3a1d1864acbb2bcf4..601ff9c0f8173e7827004b41f46250e62f0bf34e 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 3e6eb924244720a1f70040852fae3f32c77930b8..a43b4c80f9911a911f18f2c0a0eb3918889c3e2a 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 88aa053d203ecd82ec8d27b3a974185bf1cf5b8e..71ed8b2cdb37ec9c3cf21f1bf5da3d1c325a5cde 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static double
index 36fd4299ae479cb9ca569a22d3df1ba67dc8a447..a2855e06cca202e4eb7900baa48bf8c7486a21d2 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static float
index ddfc668f0d6af9ea78ba97e9fc0505a389794d70..1dd0e814db937ac82f20ea1f0b9b387151ab619e 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 975a5deff8f71aacf43ab20a5a141929a64ed56e..0d5678b3ad1f62d1d76249668d44a01def86f6a0 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 6bd5079ae97db7c9c6fdf14827ce5eb970527b87..2dbbb5d1c03e7a56c1a740a87bf6d33d09313e83 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 46e6d6bdf3c27545047c7f446eaaf9ce84cfb8d1..9b0b45d9873db73eb289724524e140d46d52bd9b 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 0690f3df1e3b0dc7638519f3ee47ead5b71a09c2..f9ad0c68f4bfef8502c8128c60ea741371de74d5 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index aa0e318f2993ca93f2c7172db9bb1f8bb4732d61..37b0616312b11c4932eb48a16271327ceb47cfc5 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index e37b65ef6f8c2abd7c3cf0484e80c9a0763d6e01..051934daadf547c03a594098a6eaced1c13e3ff2 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index bddbff8bf69e7507cebcb00cf174ff6985d2f40c..cf3204cc95c124671df254240ea898ccd35d51bc 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 #include <stdint.h>
 
index 1b35c1c5dd52a574f675ffd41e3e1ad8a5c5bb31..5a10bd1e2bcce9163d69cea6b87008223e773e3e 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static long double
index 16b48938ebd89363a0ba90eab97b456b30e8ac1e..db517e98907d1ade827dfbf331c5e9619079c73c 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 __attribute__ ((noipa)) static long double
index 20960d05e0c284b99218560cb4f225f562a2737c..06750a674f3cd6ed7e246c4890d18cfda4fc4eef 100644 (file)
@@ -1,5 +1,6 @@
-/* { dg-do run } */
+/* { dg-do compile } */
 /* { dg-options "-O3 -march=z14 -mzarch" } */
+/* { dg-do run { target { s390_z14_hw } } } */
 #include <assert.h>
 
 typedef float tf __attribute__ ((mode (TF)));