public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, i386]: Fix some mpx tests for older systems
@ 2017-09-03 21:14 Uros Bizjak
  0 siblings, 0 replies; only message in thread
From: Uros Bizjak @ 2017-09-03 21:14 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 631 bytes --]

2017-09-03  Uros Bizjak  <ubizjak@gmail.com>

    * gcc.target/i386/mpx/mpx-check.h (main): Use __get_cpuid_count
    and return NORUNRES on failure.
    * gcc.target/i386/mpx/va-arg-pack-1-lbv.c (foo1): Use
    __builtin_va_arg_pack instead of __va_arg_pack.
    * gcc.target/i386/mpx/va-arg-pack-1-nov.c (foo1): Ditto.
    * gcc.target/i386/mpx/va-arg-pack-1-ubv.c (foo1): Ditto.
    * gcc.target/i386/mpx/va-arg-pack-2-lbv.c (foo1): Ditto.
    * gcc.target/i386/mpx/va-arg-pack-2-nov.c (foo1): Ditto.
    * gcc.target/i386/mpx/va-arg-pack-2-ubv.c (foo1): Ditto.

Tested on x86_64-linux-gnu and committed to mainline SVN.

Uros.

[-- Attachment #2: t.diff.txt --]
[-- Type: text/plain, Size: 3646 bytes --]

diff --git a/gcc/testsuite/gcc.target/i386/mpx/mpx-check.h b/gcc/testsuite/gcc.target/i386/mpx/mpx-check.h
index 73aa01f..dd90fbd 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/mpx-check.h
+++ b/gcc/testsuite/gcc.target/i386/mpx/mpx-check.h
@@ -31,10 +31,8 @@ main (int argc, const char **argv)
 {
   unsigned int eax, ebx, ecx, edx;
 
-  if (__get_cpuid_max (0, NULL) < 7)
-    return 0;
-
-  __cpuid_count (7, 0, eax, ebx, ecx, edx);
+  if (!__get_cpuid_count (7, 0, &eax, &ebx, &ecx, &edx))
+    return NORUNRES;
 
   /* Run MPX test only if host has MPX support.  */
   if ((ebx & bit_MPX) && (xgetbv (0) & XSTATE_BNDREGS))
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c
index 5aa6007..bbbb256 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c
@@ -28,7 +28,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c
index 55c65d9..4beda02 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c
@@ -25,7 +25,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c
index 11b498e..4b76384 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c
@@ -28,7 +28,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c
index 9f1941d..dab1dc8 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c
@@ -30,7 +30,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c
index 903afbc..6bf4721 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c
@@ -27,7 +27,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];
diff --git a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c
index f5d842a..4af5975 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c
+++ b/gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c
@@ -30,7 +30,7 @@ foo2 (int i1, int *p1, ...)
 static __attribute__((always_inline)) int
 foo1 (int *p1, ...)
 {
-  return foo2 (10, p1, __va_arg_pack ());
+  return foo2 (10, p1, __builtin_va_arg_pack ());
 }
 
 int prebuf[100];

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-09-03 21:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-03 21:14 [PATCH, i386]: Fix some mpx tests for older systems Uros Bizjak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).