xref: /llvm-project/llvm/test/MC/AArch64/directive-arch_extension.s (revision 106259510f6a7a3824dd34f78a77ead150dd2154)
1// RUN: llvm-mc -triple aarch64 -filetype asm -o - %s | FileCheck %s
2
3.arch_extension crc
4crc32cx w0, w1, x3
5// CHECK: crc32cx w0, w1, x3
6
7.arch_extension sm4
8sm4e v2.4s, v15.4s
9// CHECK: sm4e v2.4s, v15.4s
10
11.arch_extension sha3
12sha512h q0, q1, v2.2d
13// CHECK: sha512h q0, q1, v2.2d
14
15.arch_extension sha2
16sha1h s0, s1
17// CHECK: sha1h s0, s1
18
19.arch_extension aes
20aese v0.16b, v1.16b
21// CHECK: aese v0.16b, v1.16b
22
23.arch_extension fp
24fminnm d0, d0, d1
25// CHECK: fminnm d0, d0, d1
26
27.arch_extension simd
28addp v0.4s, v0.4s, v0.4s
29// CHECK: addp v0.4s, v0.4s, v0.4s
30
31.arch_extension ras
32esb
33// CHECK: esb
34
35.arch_extension lse
36casa w5, w7, [x20]
37// CHECK: casa w5, w7, [x20]
38
39.arch_extension lse128
40swpp x0, x2, [x3]
41// CHECK: swpp x0, x2, [x3]
42
43.arch_extension predres
44cfp rctx, x0
45// CHECK: cfp rctx, x0
46
47.arch_extension predres2
48cosp rctx, x0
49// CHECK: cosp rctx, x0
50
51.arch_extension ccdp
52dc cvadp, x7
53// CHECK: dc cvadp, x7
54
55.arch_extension mte
56irg x0, x1
57// CHECK: irg x0, x1
58
59.arch_extension memtag
60irg x0, x1
61// CHECK: irg x0, x1
62
63.arch_extension tlb-rmi
64tlbi vmalle1os
65// CHECK: tlbi vmalle1os
66
67.arch_extension pan
68mrs x0, pan
69// CHECK: mrs x0, PAN
70
71.arch_extension pan-rwv
72at s1e1wp, x2
73// CHECK: at s1e1wp, x2
74
75.arch_extension ccpp
76dc cvap, x7
77// CHECK: dc cvap, x7
78
79.arch_extension rcpc
80ldapr x0, [x1]
81// CHECK: ldapr x0, [x1]
82
83.arch_extension rcpc3
84stilp   w24, w0, [x16, #-8]!
85// CHECK: stilp   w24, w0, [x16, #-8]!
86
87.arch_extension ls64
88ld64b x0, [x13]
89// CHECK: ld64b x0, [x13]
90
91.arch_extension pauth
92paciasp
93// CHECK: paciasp
94
95.arch_extension flagm
96cfinv
97// CHECK: cfinv
98
99.arch_extension hbc
100lbl:
101    bc.eq lbl
102// CHECK: bc.eq lbl
103
104.arch_extension mops
105cpyfp [x0]!, [x1]!, x2!
106// CHECK: cpyfp [x0]!, [x1]!, x2!
107
108.arch_extension the
109rcwswp x0, x1, [x2]
110// CHECK: rcwswp x0, x1, [x2]
111
112// This needs to come after `.arch_extension the` as it uses an instruction that
113// requires both the and d128
114.arch_extension d128
115sysp #0, c2, c0, #0, x0, x1
116rcwcasp   x0, x1, x6, x7, [x4]
117// CHECK: sysp #0, c2, c0, #0, x0, x1
118// CHECK: rcwcasp   x0, x1, x6, x7, [x4]
119
120.arch_extension rasv2
121mrs x0, ERXGSR_EL1
122// CHECK: mrs x0, ERXGSR_EL1
123
124.arch_extension ite
125trcit x0
126// CHECK: trcit x0
127
128.arch_extension cssc
129umax x0, x1, x2
130// CHECK: umax x0, x1, x2
131
132.arch_extension gcs
133gcspushm x0
134// CHECK: gcspushm x0
135
136.arch_extension bf16
137bfdot v0.2s, v0.4h, v0.4h
138// CHECK: bfdot v0.2s, v0.4h, v0.4h
139
140.arch_extension compnum
141fcmla v1.2d, v2.2d, v3.2d, #0
142// CHECK: fcmla v1.2d, v2.2d, v3.2d, #0
143
144.arch_extension dotprod
145udot v0.4s, v0.16b, v0.16b
146// CHECK: udot v0.4s, v0.16b, v0.16b
147
148.arch_extension f32mm
149fmmla z0.s, z1.s, z2.s
150// CHECK: fmmla z0.s, z1.s, z2.s
151
152.arch_extension f64mm
153fmmla z0.d, z1.d, z2.d
154// CHECK: fmmla z0.d, z1.d, z2.d
155
156.arch_extension fp16
157fadd v0.8h, v0.8h, v0.8h
158// CHECK: fadd v0.8h, v0.8h, v0.8h
159
160.arch_extension fp16fml
161fmlal v0.2s, v1.2h, v2.2h
162// CHECK: fmlal v0.2s, v1.2h, v2.2h
163
164.arch_extension i8mm
165usdot v0.4s, v0.16b, v0.16b
166// CHECK: usdot v0.4s, v0.16b, v0.16b
167
168.arch_extension lor
169stllr x0, [x0]
170// CHECK: stllr x0, [x0]
171
172.arch_extension profile
173msr PMBLIMITR_EL1, x0
174// CHECK: msr PMBLIMITR_EL1, x0
175
176.arch_extension rdm
177.arch_extension rdma
178sqrdmlah v0.8h, v0.8h, v0.8h
179// CHECK: sqrdmlah v0.8h, v0.8h, v0.8h
180
181.arch_extension sb
182sb
183// CHECK: sb
184
185.arch_extension ssbs
186msr SSBS, #1
187// CHECK: msr SSBS, #1
188
189.arch_extension tme
190tstart x0
191// CHECK: tstart x0
192
193.arch_extension fprcvt
194fcvtns s0, d1
195// CHECK: fcvtns s0, d1
196
197.arch_extension f8f16mm
198fmmla v1.8h, v2.16b, v3.16b
199// CHECK: fmmla v1.8h, v2.16b, v3.16b
200
201.arch_extension f8f32mm
202fmmla v1.4s, v2.16b, v3.16b
203// CHECK: fmmla v1.4s, v2.16b, v3.16b
204