1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2
3// CHECK: crc32b 485498096, %r13d
4// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
5crc32b 485498096, %r13d
6
7// CHECK: crc32b 64(%rdx), %r13d
8// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6a,0x40]
9crc32b 64(%rdx), %r13d
10
11// CHECK: crc32b -64(%rdx,%rax,4), %r13d
12// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0xc0]
13crc32b -64(%rdx,%rax,4), %r13d
14
15// CHECK: crc32b 64(%rdx,%rax,4), %r13d
16// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0x40]
17crc32b 64(%rdx,%rax,4), %r13d
18
19// CHECK: crc32b 64(%rdx,%rax), %r13d
20// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x02,0x40]
21crc32b 64(%rdx,%rax), %r13d
22
23// CHECK: crc32b %r14b, %r13d
24// CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf0,0xee]
25crc32b %r14b, %r13d
26
27// CHECK: crc32b (%rdx), %r13d
28// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2a]
29crc32b (%rdx), %r13d
30
31// CHECK: crc32w 485498096, %r13d
32// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
33crc32w 485498096, %r13d
34
35// CHECK: crc32w 64(%rdx), %r13d
36// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40]
37crc32w 64(%rdx), %r13d
38
39// CHECK: crc32w -64(%rdx,%rax,4), %r13d
40// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
41crc32w -64(%rdx,%rax,4), %r13d
42
43// CHECK: crc32w 64(%rdx,%rax,4), %r13d
44// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40]
45crc32w 64(%rdx,%rax,4), %r13d
46
47// CHECK: crc32w 64(%rdx,%rax), %r13d
48// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40]
49crc32w 64(%rdx,%rax), %r13d
50
51// CHECK: crc32w %r14w, %r13d
52// CHECK: encoding: [0x66,0xf2,0x45,0x0f,0x38,0xf1,0xee]
53crc32w %r14w, %r13d
54
55// CHECK: crc32w (%rdx), %r13d
56// CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2a]
57crc32w (%rdx), %r13d
58
59// CHECK: crc32l 485498096, %r13d
60// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
61crc32l 485498096, %r13d
62
63// CHECK: crc32l 64(%rdx), %r13d
64// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40]
65crc32l 64(%rdx), %r13d
66
67// CHECK: crc32l -64(%rdx,%rax,4), %r13d
68// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
69crc32l -64(%rdx,%rax,4), %r13d
70
71// CHECK: crc32l 64(%rdx,%rax,4), %r13d
72// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40]
73crc32l 64(%rdx,%rax,4), %r13d
74
75// CHECK: crc32l 64(%rdx,%rax), %r13d
76// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40]
77crc32l 64(%rdx,%rax), %r13d
78
79// CHECK: crc32l %r14d, %r13d
80// CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf1,0xee]
81crc32l %r14d, %r13d
82
83// CHECK: crc32l (%rdx), %r13d
84// CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2a]
85crc32l (%rdx), %r13d
86
87// CHECK: crc32q 485498096, %r13
88// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
89crc32q 485498096, %r13
90
91// CHECK: crc32q 64(%rdx), %r13
92// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6a,0x40]
93crc32q 64(%rdx), %r13
94
95// CHECK: crc32q -64(%rdx,%rax,4), %r13
96// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
97crc32q -64(%rdx,%rax,4), %r13
98
99// CHECK: crc32q 64(%rdx,%rax,4), %r13
100// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0x40]
101crc32q 64(%rdx,%rax,4), %r13
102
103// CHECK: crc32q 64(%rdx,%rax), %r13
104// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x02,0x40]
105crc32q 64(%rdx,%rax), %r13
106
107// CHECK: crc32q %r14, %r13
108// CHECK: encoding: [0xf2,0x4d,0x0f,0x38,0xf1,0xee]
109crc32q %r14, %r13
110
111// CHECK: crc32q (%rdx), %r13
112// CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2a]
113crc32q (%rdx), %r13
114
115// CHECK: pcmpestri $0, 485498096, %xmm6
116// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
117pcmpestri $0, 485498096, %xmm6
118
119// CHECK: pcmpestri $0, -64(%rdx,%rax,4), %xmm6
120// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0xc0,0x00]
121pcmpestri $0, -64(%rdx,%rax,4), %xmm6
122
123// CHECK: pcmpestri $0, 64(%rdx,%rax,4), %xmm6
124// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0x40,0x00]
125pcmpestri $0, 64(%rdx,%rax,4), %xmm6
126
127// CHECK: pcmpestri $0, 64(%rdx,%rax), %xmm6
128// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x02,0x40,0x00]
129pcmpestri $0, 64(%rdx,%rax), %xmm6
130
131// CHECK: pcmpestri $0, 64(%rdx), %xmm6
132// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x72,0x40,0x00]
133pcmpestri $0, 64(%rdx), %xmm6
134
135// CHECK: pcmpestri $0, (%rdx), %xmm6
136// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x32,0x00]
137pcmpestri $0, (%rdx), %xmm6
138
139// CHECK: pcmpestri $0, %xmm6, %xmm6
140// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xf6,0x00]
141pcmpestri $0, %xmm6, %xmm6
142
143// CHECK: pcmpestrm $0, 485498096, %xmm6
144// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
145pcmpestrm $0, 485498096, %xmm6
146
147// CHECK: pcmpestrm $0, -64(%rdx,%rax,4), %xmm6
148// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0xc0,0x00]
149pcmpestrm $0, -64(%rdx,%rax,4), %xmm6
150
151// CHECK: pcmpestrm $0, 64(%rdx,%rax,4), %xmm6
152// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0x40,0x00]
153pcmpestrm $0, 64(%rdx,%rax,4), %xmm6
154
155// CHECK: pcmpestrm $0, 64(%rdx,%rax), %xmm6
156// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x02,0x40,0x00]
157pcmpestrm $0, 64(%rdx,%rax), %xmm6
158
159// CHECK: pcmpestrm $0, 64(%rdx), %xmm6
160// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x72,0x40,0x00]
161pcmpestrm $0, 64(%rdx), %xmm6
162
163// CHECK: pcmpestrm $0, (%rdx), %xmm6
164// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x32,0x00]
165pcmpestrm $0, (%rdx), %xmm6
166
167// CHECK: pcmpestrm $0, %xmm6, %xmm6
168// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xf6,0x00]
169pcmpestrm $0, %xmm6, %xmm6
170
171// CHECK: pcmpgtq 485498096, %xmm6
172// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
173pcmpgtq 485498096, %xmm6
174
175// CHECK: pcmpgtq -64(%rdx,%rax,4), %xmm6
176// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0xc0]
177pcmpgtq -64(%rdx,%rax,4), %xmm6
178
179// CHECK: pcmpgtq 64(%rdx,%rax,4), %xmm6
180// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0x40]
181pcmpgtq 64(%rdx,%rax,4), %xmm6
182
183// CHECK: pcmpgtq 64(%rdx,%rax), %xmm6
184// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x02,0x40]
185pcmpgtq 64(%rdx,%rax), %xmm6
186
187// CHECK: pcmpgtq 64(%rdx), %xmm6
188// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x72,0x40]
189pcmpgtq 64(%rdx), %xmm6
190
191// CHECK: pcmpgtq (%rdx), %xmm6
192// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x32]
193pcmpgtq (%rdx), %xmm6
194
195// CHECK: pcmpgtq %xmm6, %xmm6
196// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xf6]
197pcmpgtq %xmm6, %xmm6
198
199// CHECK: pcmpistri $0, 485498096, %xmm6
200// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
201pcmpistri $0, 485498096, %xmm6
202
203// CHECK: pcmpistri $0, -64(%rdx,%rax,4), %xmm6
204// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0xc0,0x00]
205pcmpistri $0, -64(%rdx,%rax,4), %xmm6
206
207// CHECK: pcmpistri $0, 64(%rdx,%rax,4), %xmm6
208// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0x40,0x00]
209pcmpistri $0, 64(%rdx,%rax,4), %xmm6
210
211// CHECK: pcmpistri $0, 64(%rdx,%rax), %xmm6
212// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x02,0x40,0x00]
213pcmpistri $0, 64(%rdx,%rax), %xmm6
214
215// CHECK: pcmpistri $0, 64(%rdx), %xmm6
216// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x72,0x40,0x00]
217pcmpistri $0, 64(%rdx), %xmm6
218
219// CHECK: pcmpistri $0, (%rdx), %xmm6
220// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x32,0x00]
221pcmpistri $0, (%rdx), %xmm6
222
223// CHECK: pcmpistri $0, %xmm6, %xmm6
224// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xf6,0x00]
225pcmpistri $0, %xmm6, %xmm6
226
227// CHECK: pcmpistrm $0, 485498096, %xmm6
228// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
229pcmpistrm $0, 485498096, %xmm6
230
231// CHECK: pcmpistrm $0, -64(%rdx,%rax,4), %xmm6
232// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0xc0,0x00]
233pcmpistrm $0, -64(%rdx,%rax,4), %xmm6
234
235// CHECK: pcmpistrm $0, 64(%rdx,%rax,4), %xmm6
236// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0x40,0x00]
237pcmpistrm $0, 64(%rdx,%rax,4), %xmm6
238
239// CHECK: pcmpistrm $0, 64(%rdx,%rax), %xmm6
240// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x02,0x40,0x00]
241pcmpistrm $0, 64(%rdx,%rax), %xmm6
242
243// CHECK: pcmpistrm $0, 64(%rdx), %xmm6
244// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x72,0x40,0x00]
245pcmpistrm $0, 64(%rdx), %xmm6
246
247// CHECK: pcmpistrm $0, (%rdx), %xmm6
248// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x32,0x00]
249pcmpistrm $0, (%rdx), %xmm6
250
251// CHECK: pcmpistrm $0, %xmm6, %xmm6
252// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xf6,0x00]
253pcmpistrm $0, %xmm6, %xmm6
254
255