|
1 |
| -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py |
| 1 | +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-globals |
2 | 2 | // RUN: %clang_cc1 -triple aarch64 -emit-llvm %s -o - | FileCheck %s
|
3 | 3 |
|
4 |
| -// CHECK-LABEL: @v82() #0 |
5 | 4 | __attribute__((target("arch=armv8.2-a")))
|
| 5 | +// CHECK-LABEL: define {{[^@]+}}@v82 |
| 6 | +// CHECK-SAME: () #[[ATTR0:[0-9]+]] { |
| 7 | +// CHECK-NEXT: entry: |
| 8 | +// CHECK-NEXT: ret void |
| 9 | +// |
6 | 10 | void v82() {}
|
7 |
| -// CHECK-LABEL: @v82sve() #1 |
8 | 11 | __attribute__((target("arch=armv8.2-a+sve")))
|
| 12 | +// CHECK-LABEL: define {{[^@]+}}@v82sve |
| 13 | +// CHECK-SAME: () #[[ATTR1:[0-9]+]] { |
| 14 | +// CHECK-NEXT: entry: |
| 15 | +// CHECK-NEXT: ret void |
| 16 | +// |
9 | 17 | void v82sve() {}
|
10 |
| -// CHECK-LABEL: @v82sve2() #2 |
11 | 18 | __attribute__((target("arch=armv8.2-a+sve2")))
|
| 19 | +// CHECK-LABEL: define {{[^@]+}}@v82sve2 |
| 20 | +// CHECK-SAME: () #[[ATTR2:[0-9]+]] { |
| 21 | +// CHECK-NEXT: entry: |
| 22 | +// CHECK-NEXT: ret void |
| 23 | +// |
12 | 24 | void v82sve2() {}
|
13 |
| -// CHECK-LABEL: @v82svesve2() #2 |
14 | 25 | __attribute__((target("arch=armv8.2-a+sve+sve2")))
|
| 26 | +// CHECK-LABEL: define {{[^@]+}}@v82svesve2 |
| 27 | +// CHECK-SAME: () #[[ATTR2]] { |
| 28 | +// CHECK-NEXT: entry: |
| 29 | +// CHECK-NEXT: ret void |
| 30 | +// |
15 | 31 | void v82svesve2() {}
|
16 |
| -// CHECK-LABEL: @v86sve2() #3 |
17 | 32 | __attribute__((target("arch=armv8.6-a+sve2")))
|
| 33 | +// CHECK-LABEL: define {{[^@]+}}@v86sve2 |
| 34 | +// CHECK-SAME: () #[[ATTR3:[0-9]+]] { |
| 35 | +// CHECK-NEXT: entry: |
| 36 | +// CHECK-NEXT: ret void |
| 37 | +// |
18 | 38 | void v86sve2() {}
|
19 | 39 |
|
20 |
| -// CHECK-LABEL: @a710() #4 |
21 | 40 | __attribute__((target("cpu=cortex-a710")))
|
| 41 | +// CHECK-LABEL: define {{[^@]+}}@a710 |
| 42 | +// CHECK-SAME: () #[[ATTR4:[0-9]+]] { |
| 43 | +// CHECK-NEXT: entry: |
| 44 | +// CHECK-NEXT: ret void |
| 45 | +// |
22 | 46 | void a710() {}
|
23 |
| -// CHECK-LABEL: @tunea710() #5 |
24 | 47 | __attribute__((target("tune=cortex-a710")))
|
| 48 | +// CHECK-LABEL: define {{[^@]+}}@tunea710 |
| 49 | +// CHECK-SAME: () #[[ATTR5:[0-9]+]] { |
| 50 | +// CHECK-NEXT: entry: |
| 51 | +// CHECK-NEXT: ret void |
| 52 | +// |
25 | 53 | void tunea710() {}
|
26 |
| -// CHECK-LABEL: @generic() #6 |
27 | 54 | __attribute__((target("cpu=generic")))
|
| 55 | +// CHECK-LABEL: define {{[^@]+}}@generic |
| 56 | +// CHECK-SAME: () #[[ATTR6:[0-9]+]] { |
| 57 | +// CHECK-NEXT: entry: |
| 58 | +// CHECK-NEXT: ret void |
| 59 | +// |
28 | 60 | void generic() {}
|
29 |
| -// CHECK-LABEL: @tune() #7 |
30 | 61 | __attribute__((target("tune=generic")))
|
| 62 | +// CHECK-LABEL: define {{[^@]+}}@tune |
| 63 | +// CHECK-SAME: () #[[ATTR7:[0-9]+]] { |
| 64 | +// CHECK-NEXT: entry: |
| 65 | +// CHECK-NEXT: ret void |
| 66 | +// |
31 | 67 | void tune() {}
|
32 | 68 |
|
33 |
| -// CHECK-LABEL: @n1tunea710() #8 |
34 | 69 | __attribute__((target("cpu=neoverse-n1,tune=cortex-a710")))
|
| 70 | +// CHECK-LABEL: define {{[^@]+}}@n1tunea710 |
| 71 | +// CHECK-SAME: () #[[ATTR8:[0-9]+]] { |
| 72 | +// CHECK-NEXT: entry: |
| 73 | +// CHECK-NEXT: ret void |
| 74 | +// |
35 | 75 | void n1tunea710() {}
|
36 |
| -// CHECK-LABEL: @svetunea710() #9 |
37 | 76 | __attribute__((target("sve,tune=cortex-a710")))
|
| 77 | +// CHECK-LABEL: define {{[^@]+}}@svetunea710 |
| 78 | +// CHECK-SAME: () #[[ATTR9:[0-9]+]] { |
| 79 | +// CHECK-NEXT: entry: |
| 80 | +// CHECK-NEXT: ret void |
| 81 | +// |
38 | 82 | void svetunea710() {}
|
39 |
| -// CHECK-LABEL: @plussvetunea710() #9 |
40 | 83 | __attribute__((target("+sve,tune=cortex-a710")))
|
| 84 | +// CHECK-LABEL: define {{[^@]+}}@plussvetunea710 |
| 85 | +// CHECK-SAME: () #[[ATTR9]] { |
| 86 | +// CHECK-NEXT: entry: |
| 87 | +// CHECK-NEXT: ret void |
| 88 | +// |
41 | 89 | void plussvetunea710() {}
|
42 |
| -// CHECK-LABEL: @v1plussve2() #10 |
43 | 90 | __attribute__((target("cpu=neoverse-v1,+sve2")))
|
| 91 | +// CHECK-LABEL: define {{[^@]+}}@v1plussve2 |
| 92 | +// CHECK-SAME: () #[[ATTR10:[0-9]+]] { |
| 93 | +// CHECK-NEXT: entry: |
| 94 | +// CHECK-NEXT: ret void |
| 95 | +// |
44 | 96 | void v1plussve2() {}
|
45 |
| -// CHECK-LABEL: @v1sve2() #10 |
46 | 97 | __attribute__((target("cpu=neoverse-v1+sve2")))
|
| 98 | +// CHECK-LABEL: define {{[^@]+}}@v1sve2 |
| 99 | +// CHECK-SAME: () #[[ATTR10]] { |
| 100 | +// CHECK-NEXT: entry: |
| 101 | +// CHECK-NEXT: ret void |
| 102 | +// |
47 | 103 | void v1sve2() {}
|
48 |
| -// CHECK-LABEL: @v1minussve() #11 |
49 | 104 | __attribute__((target("cpu=neoverse-v1,+nosve")))
|
| 105 | +// CHECK-LABEL: define {{[^@]+}}@v1minussve |
| 106 | +// CHECK-SAME: () #[[ATTR11:[0-9]+]] { |
| 107 | +// CHECK-NEXT: entry: |
| 108 | +// CHECK-NEXT: ret void |
| 109 | +// |
50 | 110 | void v1minussve() {}
|
51 |
| -// CHECK-LABEL: @v1nosve() #11 |
52 | 111 | __attribute__((target("cpu=neoverse-v1,no-sve")))
|
| 112 | +// CHECK-LABEL: define {{[^@]+}}@v1nosve |
| 113 | +// CHECK-SAME: () #[[ATTR11]] { |
| 114 | +// CHECK-NEXT: entry: |
| 115 | +// CHECK-NEXT: ret void |
| 116 | +// |
53 | 117 | void v1nosve() {}
|
54 |
| -// CHECK-LABEL: @v1msve() #11 |
55 | 118 | __attribute__((target("cpu=neoverse-v1+nosve")))
|
| 119 | +// CHECK-LABEL: define {{[^@]+}}@v1msve |
| 120 | +// CHECK-SAME: () #[[ATTR11]] { |
| 121 | +// CHECK-NEXT: entry: |
| 122 | +// CHECK-NEXT: ret void |
| 123 | +// |
56 | 124 | void v1msve() {}
|
57 | 125 |
|
58 |
| -// CHECK-LABEL: @plussve() #12 |
59 | 126 | __attribute__((target("+sve")))
|
| 127 | +// CHECK-LABEL: define {{[^@]+}}@plussve |
| 128 | +// CHECK-SAME: () #[[ATTR12:[0-9]+]] { |
| 129 | +// CHECK-NEXT: entry: |
| 130 | +// CHECK-NEXT: ret void |
| 131 | +// |
60 | 132 | void plussve() {}
|
61 |
| -// CHECK-LABEL: @plussveplussve2() #13 |
62 | 133 | __attribute__((target("+sve+nosve2")))
|
| 134 | +// CHECK-LABEL: define {{[^@]+}}@plussveplussve2 |
| 135 | +// CHECK-SAME: () #[[ATTR13:[0-9]+]] { |
| 136 | +// CHECK-NEXT: entry: |
| 137 | +// CHECK-NEXT: ret void |
| 138 | +// |
63 | 139 | void plussveplussve2() {}
|
64 |
| -// CHECK-LABEL: @plussveminusnosve2() #13 |
65 | 140 | __attribute__((target("sve,no-sve2")))
|
| 141 | +// CHECK-LABEL: define {{[^@]+}}@plussveminusnosve2 |
| 142 | +// CHECK-SAME: () #[[ATTR13]] { |
| 143 | +// CHECK-NEXT: entry: |
| 144 | +// CHECK-NEXT: ret void |
| 145 | +// |
66 | 146 | void plussveminusnosve2() {}
|
67 |
| -// CHECK-LABEL: @plusfp16() #14 |
68 | 147 | __attribute__((target("+fp16")))
|
| 148 | +// CHECK-LABEL: define {{[^@]+}}@plusfp16 |
| 149 | +// CHECK-SAME: () #[[ATTR14:[0-9]+]] { |
| 150 | +// CHECK-NEXT: entry: |
| 151 | +// CHECK-NEXT: ret void |
| 152 | +// |
69 | 153 | void plusfp16() {}
|
70 | 154 |
|
71 |
| -// CHECK-LABEL: @all() #15 |
72 | 155 | __attribute__((target("cpu=neoverse-n1,tune=cortex-a710,arch=armv8.6-a+sve2")))
|
| 156 | +// CHECK-LABEL: define {{[^@]+}}@all |
| 157 | +// CHECK-SAME: () #[[ATTR15:[0-9]+]] { |
| 158 | +// CHECK-NEXT: entry: |
| 159 | +// CHECK-NEXT: ret void |
| 160 | +// |
73 | 161 | void all() {}
|
74 |
| -// CHECK-LABEL: @allplusbranchprotection() #16 |
75 | 162 | __attribute__((target("cpu=neoverse-n1,tune=cortex-a710,arch=armv8.6-a+sve2,branch-protection=standard")))
|
| 163 | +// CHECK-LABEL: define {{[^@]+}}@allplusbranchprotection |
| 164 | +// CHECK-SAME: () #[[ATTR16:[0-9]+]] { |
| 165 | +// CHECK-NEXT: entry: |
| 166 | +// CHECK-NEXT: ret void |
| 167 | +// |
76 | 168 | void allplusbranchprotection() {}
|
77 | 169 |
|
78 | 170 | // These tests check that the user facing and internal llvm name are both accepted.
|
79 |
| -// CHECK-LABEL: @plusnoneon() #17 |
80 | 171 | __attribute__((target("+noneon")))
|
| 172 | +// CHECK-LABEL: define {{[^@]+}}@plusnoneon |
| 173 | +// CHECK-SAME: () #[[ATTR17:[0-9]+]] { |
| 174 | +// CHECK-NEXT: entry: |
| 175 | +// CHECK-NEXT: ret void |
| 176 | +// |
81 | 177 | void plusnoneon() {}
|
82 |
| -// CHECK-LABEL: @plusnosimd() #17 |
83 | 178 | __attribute__((target("+nosimd")))
|
| 179 | +// CHECK-LABEL: define {{[^@]+}}@plusnosimd |
| 180 | +// CHECK-SAME: () #[[ATTR17]] { |
| 181 | +// CHECK-NEXT: entry: |
| 182 | +// CHECK-NEXT: ret void |
| 183 | +// |
84 | 184 | void plusnosimd() {}
|
85 |
| -// CHECK-LABEL: @noneon() #17 |
86 | 185 | __attribute__((target("no-neon")))
|
| 186 | +// CHECK-LABEL: define {{[^@]+}}@noneon |
| 187 | +// CHECK-SAME: () #[[ATTR17]] { |
| 188 | +// CHECK-NEXT: entry: |
| 189 | +// CHECK-NEXT: ret void |
| 190 | +// |
87 | 191 | void noneon() {}
|
88 |
| -// CHECK-LABEL: @nosimd() #17 |
89 | 192 | __attribute__((target("no-simd")))
|
| 193 | +// CHECK-LABEL: define {{[^@]+}}@nosimd |
| 194 | +// CHECK-SAME: () #[[ATTR17]] { |
| 195 | +// CHECK-NEXT: entry: |
| 196 | +// CHECK-NEXT: ret void |
| 197 | +// |
90 | 198 | void nosimd() {}
|
91 | 199 |
|
92 | 200 | // This isn't part of the standard interface, but test that -arch features should not apply anything else.
|
93 |
| -// CHECK-LABEL: @minusarch() #18 |
94 | 201 | __attribute__((target("no-v9.3a")))
|
| 202 | +// CHECK-LABEL: define {{[^@]+}}@minusarch |
| 203 | +// CHECK-SAME: () #[[ATTR18:[0-9]+]] { |
| 204 | +// CHECK-NEXT: entry: |
| 205 | +// CHECK-NEXT: ret void |
| 206 | +// |
95 | 207 | void minusarch() {}
|
96 | 208 |
|
97 |
| -// CHECK: attributes #0 = { {{.*}} "target-features"="+crc,+fp-armv8,+lse,+neon,+ras,+rdm,+v8.1a,+v8.2a,+v8a" } |
98 |
| -// CHECK: attributes #1 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+v8.1a,+v8.2a,+v8a" } |
99 |
| -// CHECK: attributes #2 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8a" } |
100 |
| -// CHECK: attributes #3 = { {{.*}} "target-features"="+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+ras,+rcpc,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" } |
101 |
| -// CHECK: attributes #4 = { {{.*}} "target-cpu"="cortex-a710" "target-features"="+bf16,+complxnum,+crc,+dotprod,+flagm,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+mte,+neon,+pauth,+ras,+rcpc,+rdm,+sb,+sve,+sve2,+sve2-bitperm" } |
102 |
| -// CHECK: attributes #5 = { {{.*}} "tune-cpu"="cortex-a710" } |
103 |
| -// CHECK: attributes #6 = { {{.*}} "target-cpu"="generic" } |
104 |
| -// CHECK: attributes #7 = { {{.*}} "tune-cpu"="generic" } |
105 |
| -// CHECK: attributes #8 = { {{.*}} "target-cpu"="neoverse-n1" "target-features"="+aes,+crc,+dotprod,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs" "tune-cpu"="cortex-a710" } |
106 |
| -// CHECK: attributes #9 = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+sve" "tune-cpu"="cortex-a710" } |
107 |
| -// CHECK: attributes #10 = { {{.*}} "target-cpu"="neoverse-v1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+rand,+ras,+rcpc,+rdm,+sha2,+sha3,+sm4,+spe,+ssbs,+sve,+sve2" } |
108 |
| -// CHECK: attributes #11 = { {{.*}} "target-cpu"="neoverse-v1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+rand,+ras,+rcpc,+rdm,+sha2,+sha3,+sm4,+spe,+ssbs,-sve" } |
109 |
| -// CHECK: attributes #12 = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+sve" } |
110 |
| -// CHECK: attributes #13 = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+sve,-sve2" } |
111 |
| -// CHECK: attributes #14 = { {{.*}} "target-features"="+fullfp16" } |
112 |
| -// CHECK: attributes #15 = { {{.*}} "target-cpu"="neoverse-n1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" "tune-cpu"="cortex-a710" } |
113 |
| -// CHECK: attributes #16 = { {{.*}} "branch-target-enforcement"="true" "guarded-control-stack"="true" {{.*}} "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" "tune-cpu"="cortex-a710" } |
114 |
| -// CHECK: attributes #17 = { {{.*}} "target-features"="-neon" } |
115 |
| -// CHECK: attributes #18 = { {{.*}} "target-features"="-v9.3a" } |
| 209 | +//. |
| 210 | +// CHECK: attributes #[[ATTR0]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+crc,+fp-armv8,+lse,+neon,+ras,+rdm,+v8.1a,+v8.2a,+v8a" } |
| 211 | +// CHECK: attributes #[[ATTR1]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+v8.1a,+v8.2a,+v8a" } |
| 212 | +// CHECK: attributes #[[ATTR2]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8a" } |
| 213 | +// CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+ras,+rcpc,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" } |
| 214 | +// CHECK: attributes #[[ATTR4]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="cortex-a710" "target-features"="+bf16,+complxnum,+crc,+dotprod,+flagm,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+mte,+neon,+pauth,+perfmon,+ras,+rcpc,+rdm,+sb,+sve,+sve2,+sve2-bitperm" } |
| 215 | +// CHECK: attributes #[[ATTR5]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "tune-cpu"="cortex-a710" } |
| 216 | +// CHECK: attributes #[[ATTR6]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+fp-armv8,+neon" } |
| 217 | +// CHECK: attributes #[[ATTR7]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "tune-cpu"="generic" } |
| 218 | +// CHECK: attributes #[[ATTR8]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-n1" "target-features"="+aes,+crc,+dotprod,+fp-armv8,+fullfp16,+lse,+neon,+perfmon,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs" "tune-cpu"="cortex-a710" } |
| 219 | +// CHECK: attributes #[[ATTR9]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+neon,+sve" "tune-cpu"="cortex-a710" } |
| 220 | +// CHECK: attributes #[[ATTR10]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-v1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+rand,+ras,+rcpc,+rdm,+sha2,+sha3,+sm4,+spe,+ssbs,+sve,+sve2" } |
| 221 | +// CHECK: attributes #[[ATTR11]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-v1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+rand,+ras,+rcpc,+rdm,+sha2,+sha3,+sm4,+spe,+ssbs,-sve" } |
| 222 | +// CHECK: attributes #[[ATTR12]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+neon,+sve" } |
| 223 | +// CHECK: attributes #[[ATTR13]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+neon,+sve,-sve2" } |
| 224 | +// CHECK: attributes #[[ATTR14]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fullfp16" } |
| 225 | +// CHECK: attributes #[[ATTR15]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-n1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" "tune-cpu"="cortex-a710" } |
| 226 | +// CHECK: attributes #[[ATTR16]] = { noinline nounwind optnone "branch-protection-pauth-lr"="false" "branch-target-enforcement"="true" "guarded-control-stack"="true" "no-trapping-math"="true" "sign-return-address"="non-leaf" "sign-return-address-key"="a_key" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-n1" "target-features"="+aes,+bf16,+complxnum,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" "tune-cpu"="cortex-a710" } |
| 227 | +// CHECK: attributes #[[ATTR17]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-neon" } |
| 228 | +// CHECK: attributes #[[ATTR18]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-v9.3a" } |
| 229 | +//. |
| 230 | +// CHECK: [[META0:![0-9]+]] = !{i32 1, !"wchar_size", i32 4} |
| 231 | +// CHECK: [[META1:![0-9]+]] = !{!"{{.*}}clang version {{.*}}"} |
| 232 | +//. |
0 commit comments