xref: /llvm-project/llvm/test/MC/X86/apx/evex-format-att.s (revision f4509cf284ced95f31dc7eb63144b4bc47899c43)
1# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
2
3## MRMDestMem
4
5# CHECK: vextractf32x4	$1, %zmm0, (%r16,%r17)
6# CHECK: encoding: [0x62,0xfb,0x79,0x48,0x19,0x04,0x08,0x01]
7         vextractf32x4	$1, %zmm0, (%r16,%r17)
8
9# CHECK: addq	%r16, 123(%r17), %r18
10# CHECK: encoding: [0x62,0xec,0xec,0x10,0x01,0x41,0x7b]
11         addq	%r16, 123(%r17), %r18
12
13## MRMDestMemCC
14
15# CHECK: cfcmovbq %r16, 123(%r17,%r18,4)
16# CHECK: encoding: [0x62,0xec,0xf8,0x0c,0x42,0x44,0x91,0x7b]
17         cfcmovbq %r16, 123(%r17,%r18,4)
18
19## MRMSrcMem
20
21# CHECK: vbroadcasti32x4	(%r16,%r17), %zmm0
22# CHECK: encoding: [0x62,0xfa,0x79,0x48,0x5a,0x04,0x08]
23         vbroadcasti32x4	(%r16,%r17), %zmm0
24
25# CHECK: subq	123(%r16), %r17, %r18
26# CHECK: encoding: [0x62,0xec,0xec,0x10,0x2b,0x48,0x7b]
27         subq	123(%r16), %r17, %r18
28
29## MRMSrcMemCC
30
31# CHECK: cfcmovbq	123(%r16,%r17,4), %r18
32# CHECK: encoding: [0x62,0xec,0xf8,0x08,0x42,0x54,0x88,0x7b]
33         cfcmovbq	123(%r16,%r17,4), %r18
34
35# CHECK: cfcmovbq	123(%r16,%r17,4), %r18, %r19
36# CHECK: encoding: [0x62,0xec,0xe0,0x14,0x42,0x54,0x88,0x7b]
37         cfcmovbq	123(%r16,%r17,4), %r18, %r19
38
39## MRM0m
40
41# CHECK: vprorq	$0, (%r16,%r17), %zmm0
42# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x04,0x08,0x00]
43         vprorq	$0, (%r16,%r17), %zmm0
44
45# CHECK: addq	$127, 123(%r16), %r17
46# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x40,0x7b,0x7f]
47         addq	$127, 123(%r16), %r17
48
49## MRM1m
50
51# CHECK: vprolq	$0, (%r16,%r17), %zmm0
52# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x0c,0x08,0x00]
53         vprolq	$0, (%r16,%r17), %zmm0
54
55# CHECK: orq	$127, 123(%r16), %r17
56# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x48,0x7b,0x7f]
57         orq	$127, 123(%r16), %r17
58
59## MRM2m
60
61# CHECK: vpsrlq	$0, (%r16,%r17), %zmm0
62# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x14,0x08,0x00]
63         vpsrlq	$0, (%r16,%r17), %zmm0
64
65# CHECK: adcq	$127, 123(%r16), %r17
66# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x50,0x7b,0x7f]
67         adcq	$127, 123(%r16), %r17
68
69## MRM3m
70
71# CHECK: vpsrldq	$0, (%r16,%r17), %zmm0
72# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x1c,0x08,0x00]
73         vpsrldq	$0, (%r16,%r17), %zmm0
74
75# CHECK: sbbq	$127, 123(%r16), %r17
76# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x58,0x7b,0x7f]
77         sbbq	$127, 123(%r16), %r17
78
79## MRM4m
80
81# CHECK: vpsraq	$0, (%r16,%r17), %zmm0
82# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x24,0x08,0x00]
83         vpsraq	$0, (%r16,%r17), %zmm0
84
85# CHECK: andq	$127, 123(%r16), %r17
86# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x60,0x7b,0x7f]
87         andq	$127, 123(%r16), %r17
88
89## MRM5m
90
91# CHECK: vscatterpf0dps	(%r16,%zmm0) {%k1}
92# CHECK: encoding: [0x62,0xfa,0x7d,0x49,0xc6,0x2c,0x00]
93         vscatterpf0dps	(%r16,%zmm0) {%k1}
94
95# CHECK: subq	$127, 123(%r16), %r17
96# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x68,0x7b,0x7f]
97         subq	$127, 123(%r16), %r17
98
99## MRM6m
100
101# CHECK: vpsllq	$0, (%r16,%r17), %zmm0
102# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x34,0x08,0x00]
103         vpsllq	$0, (%r16,%r17), %zmm0
104
105# CHECK: xorq	$127, 123(%r16), %r17
106# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x70,0x7b,0x7f]
107         xorq	$127, 123(%r16), %r17
108
109## MRM7m
110
111# CHECK: vpslldq	$0, (%r16,%r17), %zmm0
112# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x3c,0x08,0x00]
113         vpslldq	$0, (%r16,%r17), %zmm0
114
115# CHECK: sarq	$123, 291(%r16,%r17), %r18
116# CHECK: encoding: [0x62,0xfc,0xe8,0x10,0xc1,0xbc,0x08,0x23,0x01,0x00,0x00,0x7b]
117         sarq	$123, 291(%r16,%r17), %r18
118
119## MRMDestMem4VOp3CC
120
121# CHECK: cmpbexadd	%r18d, %r22d, 291(%r28,%r29,4)
122# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00]
123         cmpbexadd	%r18d, %r22d, 291(%r28,%r29,4)
124
125## MRMSrcMem4VOp3
126
127# CHECK: bzhiq	%r19, 291(%r28,%r29,4), %r23
128# CHECK: encoding: [0x62,0x8a,0xe0,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]
129         bzhiq	%r19, 291(%r28,%r29,4), %r23
130
131## MRMDestReg
132
133# CHECK: vextractps	$1, %xmm16, %r16d
134# CHECK: encoding: [0x62,0xeb,0x7d,0x08,0x17,0xc0,0x01]
135         vextractps	$1, %xmm16, %r16d
136
137# CHECK: {nf}	addq	%r16, %r17
138# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x01,0xc1]
139         {nf}	addq	%r16, %r17
140
141## MRMDestRegCC
142
143# CHECK: cfcmovbq	%r16, %r17
144# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x42,0xc1]
145         cfcmovbq	%r16, %r17
146
147## MRMSrcReg
148
149# CHECK: mulxq	%r16, %r17, %r18
150# CHECK: encoding: [0x62,0xea,0xf7,0x00,0xf6,0xd0]
151         mulxq	%r16, %r17, %r18
152
153## MRMSrcRegCC
154
155# CHECK: cfcmovbq	%r16, %r17, %r18
156# CHECK: encoding: [0x62,0xec,0xec,0x14,0x42,0xc8]
157         cfcmovbq	%r16, %r17, %r18
158
159## MRMSrcReg4VOp3
160
161# CHECK: bzhiq	%r19, %r23, %r27
162# CHECK: encoding: [0x62,0x6a,0xe4,0x00,0xf5,0xdf]
163         bzhiq	%r19, %r23, %r27
164
165## MRM0r
166
167# CHECK: addq	$127, %r16, %r17
168# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc0,0x7f]
169         addq	$127, %r16, %r17
170
171## MRM1r
172
173# CHECK: orq	$127, %r16, %r17
174# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc8,0x7f]
175         orq	$127, %r16, %r17
176
177## MRM2r
178
179# CHECK: adcq	$127, %r16, %r17
180# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd0,0x7f]
181         adcq	$127, %r16, %r17
182
183## MRM3r
184
185# CHECK: sbbq	$127, %r16, %r17
186# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd8,0x7f]
187         sbbq	$127, %r16, %r17
188
189## MRM4r
190
191# CHECK: andq	$127, %r16, %r17
192# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe0,0x7f]
193         andq	$127, %r16, %r17
194
195## MRM5r
196
197# CHECK: subq	$127, %r16, %r17
198# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe8,0x7f]
199         subq	$127, %r16, %r17
200
201## MRM6r
202
203# CHECK: xorq	$127, %r16, %r17
204# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xf0,0x7f]
205         xorq	$127, %r16, %r17
206
207## MRM7r
208
209# CHECK: sarq	$123, %r16, %r17
210# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0xc1,0xf8,0x7b]
211         sarq	$123, %r16, %r17
212
213## MRMXrCC
214# CHECK: setzuo	%r16b
215# CHECK: encoding: [0x62,0xfc,0x7f,0x18,0x40,0xc0]
216         setzuo	%r16b
217
218## MRMXmCC
219# CHECK: setzuo	(%r16,%r17)
220# CHECK: encoding: [0x62,0xfc,0x7b,0x18,0x40,0x04,0x08]
221         setzuo	(%r16,%r17)
222
223## NoCD8
224
225# CHECK: {nf}	negq	123(%r16)
226# CHECK: encoding: [0x62,0xfc,0xfc,0x0c,0xf7,0x58,0x7b]
227         {nf}	negq	123(%r16)
228
229# CHECK: {evex}	notq	123(%r16)
230# CHECK: encoding: [0x62,0xfc,0xfc,0x08,0xf7,0x50,0x7b]
231         {evex}	notq	123(%r16)
232