File: directive-arch_extension-negative.s

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,998,520 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (219 lines) | stat: -rw-r--r-- 6,845 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
// RUN: not llvm-mc -triple aarch64 \
// RUN: -mattr=+crc,+sm4,+sha3,+sha2,+aes,+fp,+neon,+ras,+lse,+predres,+ccdp,+mte,+tlb-rmi,+pan-rwv,+ccpp,+rcpc,+ls64,+flagm,+hbc,+mops \
// RUN: -mattr=+rcpc3,+lse128,+d128,+the,+rasv2,+ite,+cssc,+specres2,+gcs \
// RUN: -filetype asm -o - %s 2>&1 | FileCheck %s

.arch_extension axp64
// CHECK: error: unknown architectural extension: axp64
// CHECK-NEXT: .arch_extension axp64

crc32cx w0, w1, x3
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: crc
.arch_extension nocrc
crc32cx w0, w1, x3
// CHECK: [[@LINE-1]]:1: error: instruction requires: crc
// CHECK-NEXT: crc32cx w0, w1, x3

sm4e v2.4s, v15.4s
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: sm4
.arch_extension nosm4
sm4e v2.4s, v15.4s
// CHECK: [[@LINE-1]]:1: error: instruction requires: sm4
// CHECK-NEXT: sm4e v2.4s, v15.4s

sha512h q0, q1, v2.2d
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: sha3
.arch_extension nosha3
sha512h q0, q1, v2.2d
// CHECK: [[@LINE-1]]:1: error: instruction requires: sha3
// CHECK-NEXT: sha512h q0, q1, v2.2d

sha1h s0, s1
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: sha2
.arch_extension nosha2
sha1h s0, s1
// CHECK: [[@LINE-1]]:1: error: instruction requires: sha2
// CHECK-NEXT: sha1h s0, s1

aese v0.16b, v1.16b
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: aes
.arch_extension noaes
aese v0.16b, v1.16b
// CHECK: [[@LINE-1]]:1: error: instruction requires: aes
// CHECK-NEXT: aese v0.16b, v1.16b

fminnm d0, d0, d1
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: fp
.arch_extension nofp
fminnm d0, d0, d1
// CHECK: [[@LINE-1]]:1: error: instruction requires: fp
// CHECK-NEXT: fminnm d0, d0, d1

addp v0.4s, v0.4s, v0.4s
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: neon
.arch_extension nosimd
addp v0.4s, v0.4s, v0.4s
// CHECK: [[@LINE-1]]:1: error: instruction requires: neon
// CHECK-NEXT: addp v0.4s, v0.4s, v0.4s

esb
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: ras
.arch_extension noras
esb
// CHECK: [[@LINE-1]]:1: error: instruction requires: ras
// CHECK-NEXT: esb

casa w5, w7, [x20]
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: lse
.arch_extension nolse
casa w5, w7, [x20]
// CHECK: [[@LINE-1]]:1: error: instruction requires: lse
// CHECK-NEXT: casa w5, w7, [x20]

swpp x0, x2, [x3]
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: lse128
.arch_extension nolse128
swpp x0, x2, [x3]
// CHECK: [[@LINE-1]]:1: error: instruction requires: lse128
// CHECK-NEXT: swpp x0, x2, [x3]

cfp rctx, x0
// CHECK-NOT: [[@LINE-1]]:5: error: CFPRCTX requires: predres
.arch_extension nopredres
cfp rctx, x0
// CHECK: [[@LINE-1]]:5: error: CFPRCTX requires: predres
// CHECK-NEXT: cfp rctx, x0

cosp rctx, x0
// CHECK-NOT: [[@LINE-1]]:6: error: COSP requires: predres2
.arch_extension nopredres2
cosp rctx, x0
// CHECK: [[@LINE-1]]:6: error: COSP requires: predres2
// CHECK-NEXT: cosp rctx, x0

dc cvadp, x7
// CHECK-NOT: [[@LINE-1]]:4: error: DC CVADP requires: ccdp
.arch_extension noccdp
dc cvadp, x7
// CHECK: [[@LINE-1]]:4: error: DC CVADP requires: ccdp
// CHECK-NEXT: dc cvadp, x7

irg x0, x1
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: mte
.arch_extension nomte
irg x0, x1
// CHECK: [[@LINE-1]]:1: error: instruction requires: mte
// CHECK-NEXT: irg x0, x1

tlbi vmalle1os
// CHECK-NOT: [[@LINE-1]]:6: error: TLBI VMALLE1OS requires: tlb-rmi
.arch_extension notlb-rmi
tlbi vmalle1os
// CHECK: [[@LINE-1]]:6: error: TLBI VMALLE1OS requires: tlb-rmi
// CHECK-NEXT: tlbi vmalle1os

at s1e1wp, x2
// CHECK-NOT: [[@LINE-1]]:4: error: AT S1E1WP requires: pan-rwv
.arch_extension nopan-rwv
at s1e1wp, x2
// CHECK: [[@LINE-1]]:4: error: AT S1E1WP requires: pan-rwv
// CHECK-NEXT: at s1e1wp, x2

dc cvap, x7
// CHECK-NOT: [[@LINE-1]]:4: error: DC CVAP requires: ccpp
.arch_extension noccpp
dc cvap, x7
// CHECK: [[@LINE-1]]:4: error: DC CVAP requires: ccpp
// CHECK-NEXT: dc cvap, x7

ldapr x0, [x1]
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: rcpc
.arch_extension norcpc
ldapr x0, [x1]
// CHECK: [[@LINE-1]]:1: error: instruction requires: rcpc
// CHECK-NEXT: ldapr x0, [x1]

stilp w24, w0, [x16, #-8]!
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: rcpc3
.arch_extension norcpc3
stilp w24, w0, [x16, #-8]!
// CHECK: [[@LINE-1]]:1: error: instruction requires: rcpc3
// CHECK-NEXT: stilp w24, w0, [x16, #-8]!

ld64b x0, [x13]
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: ls64
.arch_extension nols64
ld64b x0, [x13]
// CHECK: [[@LINE-1]]:1: error: instruction requires: ls64
// CHECK-NEXT: ld64b x0, [x13]

cfinv
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: flagm
.arch_extension noflagm
cfinv
// CHECK: [[@LINE-1]]:1: error: instruction requires: flagm
// CHECK-NEXT: cfinv

lbl:
bc.eq lbl
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: hbc
.arch_extension nohbc
bc.eq lbl
// CHECK: [[@LINE-1]]:1: error: instruction requires: hbc
// CHECK-NEXT: bc.eq lbl

cpyfp [x0]!, [x1]!, x2!
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: mops
.arch_extension nomops
cpyfp [x0]!, [x1]!, x2!
// CHECK: [[@LINE-1]]:1: error: instruction requires: mops
// CHECK-NEXT: cpyfp [x0]!, [x1]!, x2!

// This needs to come before `.arch_extension nothe` as it uses an instruction
// that requires both the and d128
sysp #0, c2, c0, #0, x0, x1
rcwcasp   x0, x1, x6, x7, [x4]
// CHECK-NOT: [[@LINE-2]]:1: error: instruction requires: d128
// CHECK-NOT: [[@LINE-2]]:1: error: instruction requires: d128
.arch_extension nod128
sysp #0, c2, c0, #0, x0, x1
rcwcasp   x0, x1, x6, x7, [x4]
// CHECK: [[@LINE-2]]:1: error: instruction requires: d128
// CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1
// CHECK: [[@LINE-3]]:1: error: instruction requires: d128
// CHECK-NEXT: rcwcasp   x0, x1, x6, x7, [x4]

rcwswp x0, x1, [x2]
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: the
.arch_extension nothe
rcwswp x0, x1, [x2]
// CHECK: [[@LINE-1]]:1: error: instruction requires: the
// CHECK-NEXT: rcwswp x0, x1, [x2]

trcit x0
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: ite
.arch_extension noite
trcit x0
// CHECK: [[@LINE-1]]:1: error: instruction requires: ite
// CHECK-NEXT: trcit x0

umax x0, x1, x2
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: cssc
.arch_extension nocssc
umax x0, x1, x2
// CHECK: [[@LINE-1]]:1: error: instruction requires: cssc
// CHECK-NEXT: umax x0, x1, x2

mrs x0, ERXGSR_EL1
// CHECK-NOT: [[@LINE-1]]:9: error: expected readable system register
.arch_extension norasv2
mrs x0, ERXGSR_EL1
// CHECK: [[@LINE-1]]:9: error: expected readable system register
// CHECK-NEXT: mrs x0, ERXGSR_EL1

gcspushm x0
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: gcs
.arch_extension nogcs
gcspushm x0
// CHECK: [[@LINE-1]]:1: error: instruction requires: gcs
// CHECK-NEXT: gcspushm x0