Use avx2-check mechanism to avoid illegal instrucion on non-avx2 target.

Tested by Rainer Orth on Solaris/x86. Pushed to trunk as obvious fix.

gcc/testsuite/ChangeLog:

        PR target/104726
        * gcc.target/i386/pr104551.c: Use avx2-check.h.
---
 gcc/testsuite/gcc.target/i386/pr104551.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.target/i386/pr104551.c 
b/gcc/testsuite/gcc.target/i386/pr104551.c
index 6300f25c0d5..b839d5b2b0d 100644
--- a/gcc/testsuite/gcc.target/i386/pr104551.c
+++ b/gcc/testsuite/gcc.target/i386/pr104551.c
@@ -2,6 +2,8 @@
 /* { dg-options "-O3 -mavx2" } */
 /* { dg-require-effective-target avx2 } */
 
+#include "avx2-check.h"
+
 unsigned int
 __attribute__((noipa))
 test(unsigned int a, unsigned char p[16]) {
@@ -11,7 +13,8 @@ test(unsigned int a, unsigned char p[16]) {
   return res;
 }
 
-int main ()
+static void
+avx2_test (void)
 {
   unsigned int a = 16U;
   unsigned char p[16];
@@ -20,5 +23,4 @@ int main ()
   unsigned int res = test (a, p);
   if (res != 128)
     __builtin_abort ();
-  return 0;
 }
-- 
2.18.1

Reply via email to