111
|
1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
|
2 /* { dg-require-ifunc "" } */
|
|
3 /* { dg-options "-mavx" } */
|
|
4
|
|
5 #include <immintrin.h>
|
|
6
|
|
7 __m256 x, y, z;
|
|
8
|
|
9 __attribute__((target("avx")))
|
|
10 int bar()
|
|
11 {
|
|
12 x = _mm256_add_ps (y, z);
|
|
13 return 1;
|
|
14 }
|
|
15
|
|
16 __attribute__((target("default")))
|
|
17 int bar()
|
|
18 {
|
|
19 return 2;
|
|
20 }
|
|
21
|
|
22 int
|
|
23 foobar()
|
|
24 {
|
|
25 if (__builtin_cpu_supports ("avx"))
|
|
26 return bar();
|
|
27 else
|
|
28 return 0;
|
|
29 }
|
|
30
|
|
31 __attribute__((target_clones("default","sse3")))
|
|
32 int foo()
|
|
33 {
|
|
34 return foobar();
|
|
35 }
|