comparison clang/test/CodeGen/target-builtin-noerror.c @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 0572611fdcc8
children c4bab56944e8
comparison
equal deleted inserted replaced
173:0572611fdcc8 207:2e18cbf3894f
4 4
5 #include <x86intrin.h> 5 #include <x86intrin.h>
6 6
7 // No warnings. 7 // No warnings.
8 extern __m256i a; 8 extern __m256i a;
9 int __attribute__((target("avx"))) bar(__m256i a) { 9 int __attribute__((target("avx"))) bar() {
10 return _mm256_extract_epi32(a, 3); 10 return _mm256_extract_epi32(a, 3);
11 } 11 }
12 12
13 int baz() { 13 int baz() {
14 return bar(a); 14 return bar();
15 } 15 }
16 16
17 int __attribute__((target("avx"))) qq_avx(__m256i a) { 17 int __attribute__((target("avx"))) qq_avx() {
18 return _mm256_extract_epi32(a, 3); 18 return _mm256_extract_epi32(a, 3);
19 } 19 }
20 20
21 int qq_noavx() { 21 int qq_noavx() {
22 return 0; 22 return 0;
23 } 23 }
24 24
25 extern __m256i a; 25 extern __m256i a;
26 int qq() { 26 int qq() {
27 if (__builtin_cpu_supports("avx")) 27 if (__builtin_cpu_supports("avx"))
28 return qq_avx(a); 28 return qq_avx();
29 else 29 else
30 return qq_noavx(); 30 return qq_noavx();
31 } 31 }
32 32
33 // Test that fma and fma4 are both separately and combined valid for an fma intrinsic. 33 // Test that fma and fma4 are both separately and combined valid for an fma intrinsic.
83 (void)__builtin_cpu_supports("avx512bf16"); 83 (void)__builtin_cpu_supports("avx512bf16");
84 (void)__builtin_cpu_supports("avx512vp2intersect"); 84 (void)__builtin_cpu_supports("avx512vp2intersect");
85 } 85 }
86 86
87 void verifycpustrings() { 87 void verifycpustrings() {
88 (void)__builtin_cpu_is("alderlake");
88 (void)__builtin_cpu_is("amd"); 89 (void)__builtin_cpu_is("amd");
89 (void)__builtin_cpu_is("amdfam10h"); 90 (void)__builtin_cpu_is("amdfam10h");
90 (void)__builtin_cpu_is("amdfam15h"); 91 (void)__builtin_cpu_is("amdfam15h");
91 (void)__builtin_cpu_is("amdfam17h"); 92 (void)__builtin_cpu_is("amdfam17h");
92 (void)__builtin_cpu_is("atom"); 93 (void)__builtin_cpu_is("atom");
99 (void)__builtin_cpu_is("broadwell"); 100 (void)__builtin_cpu_is("broadwell");
100 (void)__builtin_cpu_is("btver1"); 101 (void)__builtin_cpu_is("btver1");
101 (void)__builtin_cpu_is("btver2"); 102 (void)__builtin_cpu_is("btver2");
102 (void)__builtin_cpu_is("cannonlake"); 103 (void)__builtin_cpu_is("cannonlake");
103 (void)__builtin_cpu_is("cascadelake"); 104 (void)__builtin_cpu_is("cascadelake");
105 (void)__builtin_cpu_is("cooperlake");
104 (void)__builtin_cpu_is("core2"); 106 (void)__builtin_cpu_is("core2");
105 (void)__builtin_cpu_is("corei7"); 107 (void)__builtin_cpu_is("corei7");
106 (void)__builtin_cpu_is("goldmont"); 108 (void)__builtin_cpu_is("goldmont");
107 (void)__builtin_cpu_is("goldmont-plus"); 109 (void)__builtin_cpu_is("goldmont-plus");
108 (void)__builtin_cpu_is("haswell"); 110 (void)__builtin_cpu_is("haswell");
112 (void)__builtin_cpu_is("istanbul"); 114 (void)__builtin_cpu_is("istanbul");
113 (void)__builtin_cpu_is("ivybridge"); 115 (void)__builtin_cpu_is("ivybridge");
114 (void)__builtin_cpu_is("knl"); 116 (void)__builtin_cpu_is("knl");
115 (void)__builtin_cpu_is("knm"); 117 (void)__builtin_cpu_is("knm");
116 (void)__builtin_cpu_is("nehalem"); 118 (void)__builtin_cpu_is("nehalem");
119 (void)__builtin_cpu_is("rocketlake");
117 (void)__builtin_cpu_is("sandybridge"); 120 (void)__builtin_cpu_is("sandybridge");
118 (void)__builtin_cpu_is("shanghai"); 121 (void)__builtin_cpu_is("shanghai");
119 (void)__builtin_cpu_is("silvermont"); 122 (void)__builtin_cpu_is("silvermont");
120 (void)__builtin_cpu_is("skylake"); 123 (void)__builtin_cpu_is("skylake");
121 (void)__builtin_cpu_is("skylake-avx512"); 124 (void)__builtin_cpu_is("skylake-avx512");
122 (void)__builtin_cpu_is("slm"); 125 (void)__builtin_cpu_is("slm");
126 (void)__builtin_cpu_is("tigerlake");
127 (void)__builtin_cpu_is("sapphirerapids");
123 (void)__builtin_cpu_is("tremont"); 128 (void)__builtin_cpu_is("tremont");
124 (void)__builtin_cpu_is("westmere"); 129 (void)__builtin_cpu_is("westmere");
125 (void)__builtin_cpu_is("znver1"); 130 (void)__builtin_cpu_is("znver1");
126 (void)__builtin_cpu_is("znver2"); 131 (void)__builtin_cpu_is("znver2");
132 (void)__builtin_cpu_is("znver3");
127 } 133 }