re PR tree-optimization/71488 (Wrong code for vector comparisons with ivybridge and...
[platform/upstream/gcc.git] / gcc / testsuite / gcc.target / i386 / i386.exp
index 060eed3..877d224 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -76,20 +76,6 @@ proc check_effective_target_ssse3 { } {
     } "-O2 -mssse3" ]
 }
 
-# Return 1 if sse4 instructions can be compiled.
-proc check_effective_target_sse4 { } {
-    return [check_no_compiler_messages sse4.1 object {
-       typedef long long __m128i __attribute__ ((__vector_size__ (16)));
-       typedef int __v4si __attribute__ ((__vector_size__ (16)));
-
-       __m128i _mm_mullo_epi32 (__m128i __X, __m128i __Y)
-       {
-           return (__m128i) __builtin_ia32_pmulld128 ((__v4si)__X,
-                                                      (__v4si)__Y);
-       }
-    } "-O2 -msse4.1" ]
-}
-
 # Return 1 if aes instructions can be compiled.
 proc check_effective_target_aes { } {
     return [check_no_compiler_messages aes object {
@@ -365,6 +351,21 @@ proc check_effective_target_avx512ifma { } {
     } "-mavx512ifma" ]
 }
 
+# Return 1 if avx512vbmi instructions can be compiled.
+proc check_effective_target_avx512vbmi { } {
+    return [check_no_compiler_messages avx512vbmi object {
+       typedef char __v64qi __attribute__ ((__vector_size__ (64)));
+       __v64qi
+       _mm512_multishift_epi64_epi8 (__v64qi __X, __v64qi __Y)
+       {
+         return (__v64qi) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
+                                                                (__v64qi) __Y,
+                                                                (__v64qi) __Y,
+                                                                -1);
+       }
+    } "-mavx512vbmi" ]
+}
+
 # If a testcase doesn't have special options, use these.
 global DEFAULT_CFLAGS
 if ![info exists DEFAULT_CFLAGS] then {