xref: /llvm-project/llvm/test/MC/AArch64/LSFE/ldfmax.s (revision 67ff5ba9af9754261abe11d762af11532a816126)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe < %s \
2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
4// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsfe < %s \
6// RUN:        | llvm-objdump -d --mattr=+lsfe - | FileCheck %s --check-prefix=CHECK-INST
7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsfe < %s \
8// RUN:        | llvm-objdump -d --mattr=-lsfe - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9// Disassemble encoding and check the re-encoding (-show-encoding) matches.
10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe < %s \
11// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
12// RUN:        | llvm-mc -triple=aarch64 -mattr=+lsfe -disassemble -show-encoding \
13// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
14
15//------------------------------------------------------------------------------
16// LDFMAX
17//------------------------------------------------------------------------------
18
19ldfmax h0, h1, [x2]
20// CHECK-INST: ldfmax h0, h1, [x2]
21// CHECK-ENCODING: [0x41,0x40,0x20,0x7c]
22// CHECK-ERROR: instruction requires: lsfe
23// CHECK-UNKNOWN: 7c204041 <unknown>
24
25ldfmax h2, h3, [sp]
26// CHECK-INST: ldfmax h2, h3, [sp]
27// CHECK-ENCODING: [0xe3,0x43,0x22,0x7c]
28// CHECK-ERROR: instruction requires: lsfe
29// CHECK-UNKNOWN: 7c2243e3 <unknown>
30
31ldfmax s0, s1, [x2]
32// CHECK-INST: ldfmax s0, s1, [x2]
33// CHECK-ENCODING: [0x41,0x40,0x20,0xbc]
34// CHECK-ERROR: instruction requires: lsfe
35// CHECK-UNKNOWN: bc204041 <unknown>
36
37ldfmax s2, s3, [sp]
38// CHECK-INST: ldfmax s2, s3, [sp]
39// CHECK-ENCODING: [0xe3,0x43,0x22,0xbc]
40// CHECK-ERROR: instruction requires: lsfe
41// CHECK-UNKNOWN: bc2243e3 <unknown>
42
43ldfmax d0, d1, [x2]
44// CHECK-INST: ldfmax d0, d1, [x2]
45// CHECK-ENCODING: [0x41,0x40,0x20,0xfc]
46// CHECK-ERROR: instruction requires: lsfe
47// CHECK-UNKNOWN: fc204041 <unknown>
48
49ldfmax d2, d3, [sp]
50// CHECK-INST: ldfmax d2, d3, [sp]
51// CHECK-ENCODING: [0xe3,0x43,0x22,0xfc]
52// CHECK-ERROR: instruction requires: lsfe
53// CHECK-UNKNOWN: fc2243e3 <unknown>
54
55// -- ldfmaxa
56
57ldfmaxa h0, h1, [x2]
58// CHECK-INST: ldfmaxa h0, h1, [x2]
59// CHECK-ENCODING: [0x41,0x40,0xa0,0x7c]
60// CHECK-ERROR: instruction requires: lsfe
61// CHECK-UNKNOWN: 7ca04041 <unknown>
62
63ldfmaxa h2, h3, [sp]
64// CHECK-INST: ldfmaxa h2, h3, [sp]
65// CHECK-ENCODING: [0xe3,0x43,0xa2,0x7c]
66// CHECK-ERROR: instruction requires: lsfe
67// CHECK-UNKNOWN: 7ca243e3 <unknown>
68
69ldfmaxa s0, s1, [x2]
70// CHECK-INST: ldfmaxa s0, s1, [x2]
71// CHECK-ENCODING: [0x41,0x40,0xa0,0xbc]
72// CHECK-ERROR: instruction requires: lsfe
73// CHECK-UNKNOWN: bca04041 <unknown>
74
75ldfmaxa s2, s3, [sp]
76// CHECK-INST: ldfmaxa s2, s3, [sp]
77// CHECK-ENCODING: [0xe3,0x43,0xa2,0xbc]
78// CHECK-ERROR: instruction requires: lsfe
79// CHECK-UNKNOWN: bca243e3 <unknown>
80
81ldfmaxa d0, d1, [x2]
82// CHECK-INST: ldfmaxa d0, d1, [x2]
83// CHECK-ENCODING: [0x41,0x40,0xa0,0xfc]
84// CHECK-ERROR: instruction requires: lsfe
85// CHECK-UNKNOWN: fca04041 <unknown>
86
87ldfmaxa d2, d3, [sp]
88// CHECK-INST: ldfmaxa d2, d3, [sp]
89// CHECK-ENCODING: [0xe3,0x43,0xa2,0xfc]
90// CHECK-ERROR: instruction requires: lsfe
91// CHECK-UNKNOWN: fca243e3 <unknown>
92
93// -- ldfmaxal
94
95ldfmaxal h0, h1, [x2]
96// CHECK-INST: ldfmaxal h0, h1, [x2]
97// CHECK-ENCODING: [0x41,0x40,0xe0,0x7c]
98// CHECK-ERROR: instruction requires: lsfe
99// CHECK-UNKNOWN: 7ce04041 <unknown>
100
101ldfmaxal h2, h3, [sp]
102// CHECK-INST: ldfmaxal h2, h3, [sp]
103// CHECK-ENCODING: [0xe3,0x43,0xe2,0x7c]
104// CHECK-ERROR: instruction requires: lsfe
105// CHECK-UNKNOWN: 7ce243e3 <unknown>
106
107ldfmaxal s0, s1, [x2]
108// CHECK-INST: ldfmaxal s0, s1, [x2]
109// CHECK-ENCODING: [0x41,0x40,0xe0,0xbc]
110// CHECK-ERROR: instruction requires: lsfe
111// CHECK-UNKNOWN: bce04041 <unknown>
112
113ldfmaxal s2, s3, [sp]
114// CHECK-INST: ldfmaxal s2, s3, [sp]
115// CHECK-ENCODING: [0xe3,0x43,0xe2,0xbc]
116// CHECK-ERROR: instruction requires: lsfe
117// CHECK-UNKNOWN: bce243e3 <unknown>
118
119ldfmaxal d0, d1, [x2]
120// CHECK-INST: ldfmaxal d0, d1, [x2]
121// CHECK-ENCODING: [0x41,0x40,0xe0,0xfc]
122// CHECK-ERROR: instruction requires: lsfe
123// CHECK-UNKNOWN: fce04041 <unknown>
124
125ldfmaxal d2, d3, [sp]
126// CHECK-INST: ldfmaxal d2, d3, [sp]
127// CHECK-ENCODING: [0xe3,0x43,0xe2,0xfc]
128// CHECK-ERROR: instruction requires: lsfe
129// CHECK-UNKNOWN: fce243e3 <unknown>
130
131// -- ldfmaxl
132
133ldfmaxl h0, h1, [x2]
134// CHECK-INST: ldfmaxl h0, h1, [x2]
135// CHECK-ENCODING: [0x41,0x40,0x60,0x7c]
136// CHECK-ERROR: instruction requires: lsfe
137// CHECK-UNKNOWN: 7c604041 <unknown>
138
139ldfmaxl h2, h3, [sp]
140// CHECK-INST: ldfmaxl h2, h3, [sp]
141// CHECK-ENCODING: [0xe3,0x43,0x62,0x7c]
142// CHECK-ERROR: instruction requires: lsfe
143// CHECK-UNKNOWN: 7c6243e3 <unknown>
144
145ldfmaxl s0, s1, [x2]
146// CHECK-INST: ldfmaxl s0, s1, [x2]
147// CHECK-ENCODING: [0x41,0x40,0x60,0xbc]
148// CHECK-ERROR: instruction requires: lsfe
149// CHECK-UNKNOWN: bc604041 <unknown>
150
151ldfmaxl s2, s3, [sp]
152// CHECK-INST: ldfmaxl s2, s3, [sp]
153// CHECK-ENCODING: [0xe3,0x43,0x62,0xbc]
154// CHECK-ERROR: instruction requires: lsfe
155// CHECK-UNKNOWN: bc6243e3 <unknown>
156
157ldfmaxl d0, d1, [x2]
158// CHECK-INST: ldfmaxl d0, d1, [x2]
159// CHECK-ENCODING: [0x41,0x40,0x60,0xfc]
160// CHECK-ERROR: instruction requires: lsfe
161// CHECK-UNKNOWN: fc604041 <unknown>
162
163ldfmaxl d2, d3, [sp]
164// CHECK-INST: ldfmaxl d2, d3, [sp]
165// CHECK-ENCODING: [0xe3,0x43,0x62,0xfc]
166// CHECK-ERROR: instruction requires: lsfe
167// CHECK-UNKNOWN: fc6243e3 <unknown>
168
169//------------------------------------------------------------------------------
170// LDBFMAX
171//------------------------------------------------------------------------------
172
173ldbfmax h0, h1, [x2]
174// CHECK-INST: ldbfmax h0, h1, [x2]
175// CHECK-ENCODING: [0x41,0x40,0x20,0x3c]
176// CHECK-ERROR: instruction requires: lsfe
177// CHECK-UNKNOWN: 3c204041 <unknown>
178
179ldbfmax h2, h3, [sp]
180// CHECK-INST: ldbfmax h2, h3, [sp]
181// CHECK-ENCODING: [0xe3,0x43,0x22,0x3c]
182// CHECK-ERROR: instruction requires: lsfe
183// CHECK-UNKNOWN: 3c2243e3 <unknown>
184
185// -- ldbfmaxa
186
187ldbfmaxa h0, h1, [x2]
188// CHECK-INST: ldbfmaxa h0, h1, [x2]
189// CHECK-ENCODING: [0x41,0x40,0xa0,0x3c]
190// CHECK-ERROR: instruction requires: lsfe
191// CHECK-UNKNOWN: 3ca04041 <unknown>
192
193ldbfmaxa h2, h3, [sp]
194// CHECK-INST: ldbfmaxa h2, h3, [sp]
195// CHECK-ENCODING: [0xe3,0x43,0xa2,0x3c]
196// CHECK-ERROR: instruction requires: lsfe
197// CHECK-UNKNOWN: 3ca243e3 <unknown>
198
199// -- ldbfmaxal
200
201ldbfmaxal h0, h1, [x2]
202// CHECK-INST: ldbfmaxal h0, h1, [x2]
203// CHECK-ENCODING: [0x41,0x40,0xe0,0x3c]
204// CHECK-ERROR: instruction requires: lsfe
205// CHECK-UNKNOWN: 3ce04041 <unknown>
206
207ldbfmaxal h2, h3, [sp]
208// CHECK-INST: ldbfmaxal h2, h3, [sp]
209// CHECK-ENCODING: [0xe3,0x43,0xe2,0x3c]
210// CHECK-ERROR: instruction requires: lsfe
211// CHECK-UNKNOWN: 3ce243e3 <unknown>
212
213// -- ldbfmaxl
214
215ldbfmaxl h0, h1, [x2]
216// CHECK-INST: ldbfmaxl h0, h1, [x2]
217// CHECK-ENCODING: [0x41,0x40,0x60,0x3c]
218// CHECK-ERROR: instruction requires: lsfe
219// CHECK-UNKNOWN: 3c604041 <unknown>
220
221ldbfmaxl h2, h3, [sp]
222// CHECK-INST: ldbfmaxl h2, h3, [sp]
223// CHECK-ENCODING: [0xe3,0x43,0x62,0x3c]
224// CHECK-ERROR: instruction requires: lsfe
225// CHECK-UNKNOWN: 3c6243e3 <unknown>