1// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
2
3// CHECK: crc32b 485498096, %ebx
4// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1d,0xf0,0x1c,0xf0,0x1c]
5crc32b 485498096, %ebx
6
7// CHECK: crc32b 64(%edx), %ebx
8// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5a,0x40]
9crc32b 64(%edx), %ebx
10
11// CHECK: crc32b -64(%edx,%eax,4), %ebx
12// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0xc0]
13crc32b -64(%edx,%eax,4), %ebx
14
15// CHECK: crc32b 64(%edx,%eax,4), %ebx
16// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0x40]
17crc32b 64(%edx,%eax,4), %ebx
18
19// CHECK: crc32b 64(%edx,%eax), %ebx
20// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x5c,0x02,0x40]
21crc32b 64(%edx,%eax), %ebx
22
23// CHECK: crc32b %al, %ebx
24// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xd8]
25crc32b %al, %ebx
26
27// CHECK: crc32b (%edx), %ebx
28// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x1a]
29crc32b (%edx), %ebx
30
31// CHECK: crc32w 485498096, %ebx
32// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
33crc32w 485498096, %ebx
34
35// CHECK: crc32w 64(%edx), %ebx
36// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5a,0x40]
37crc32w 64(%edx), %ebx
38
39// CHECK: crc32w -64(%edx,%eax,4), %ebx
40// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
41crc32w -64(%edx,%eax,4), %ebx
42
43// CHECK: crc32w 64(%edx,%eax,4), %ebx
44// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
45crc32w 64(%edx,%eax,4), %ebx
46
47// CHECK: crc32w 64(%edx,%eax), %ebx
48// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
49crc32w 64(%edx,%eax), %ebx
50
51// CHECK: crc32w %ax, %ebx
52// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xd8]
53crc32w %ax, %ebx
54
55// CHECK: crc32w (%edx), %ebx
56// CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x1a]
57crc32w (%edx), %ebx
58
59// CHECK: crc32l 485498096, %ebx
60// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
61crc32l 485498096, %ebx
62
63// CHECK: crc32l 64(%edx), %ebx
64// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5a,0x40]
65crc32l 64(%edx), %ebx
66
67// CHECK: crc32l -64(%edx,%eax,4), %ebx
68// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
69crc32l -64(%edx,%eax,4), %ebx
70
71// CHECK: crc32l 64(%edx,%eax,4), %ebx
72// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
73crc32l 64(%edx,%eax,4), %ebx
74
75// CHECK: crc32l 64(%edx,%eax), %ebx
76// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
77crc32l 64(%edx,%eax), %ebx
78
79// CHECK: crc32l %eax, %ebx
80// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xd8]
81crc32l %eax, %ebx
82
83// CHECK: crc32l (%edx), %ebx
84// CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x1a]
85crc32l (%edx), %ebx
86
87// CHECK: pcmpestri $0, -485498096(%edx,%eax,4), %xmm1
88// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
89pcmpestri $0, -485498096(%edx,%eax,4), %xmm1
90
91// CHECK: pcmpestri $0, 485498096(%edx,%eax,4), %xmm1
92// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
93pcmpestri $0, 485498096(%edx,%eax,4), %xmm1
94
95// CHECK: pcmpestri $0, 485498096(%edx), %xmm1
96// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
97pcmpestri $0, 485498096(%edx), %xmm1
98
99// CHECK: pcmpestri $0, 485498096, %xmm1
100// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
101pcmpestri $0, 485498096, %xmm1
102
103// CHECK: pcmpestri $0, 64(%edx,%eax), %xmm1
104// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x4c,0x02,0x40,0x00]
105pcmpestri $0, 64(%edx,%eax), %xmm1
106
107// CHECK: pcmpestri $0, (%edx), %xmm1
108// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x0a,0x00]
109pcmpestri $0, (%edx), %xmm1
110
111// CHECK: pcmpestri $0, %xmm1, %xmm1
112// CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xc9,0x00]
113pcmpestri $0, %xmm1, %xmm1
114
115// CHECK: pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1
116// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
117pcmpestrm $0, -485498096(%edx,%eax,4), %xmm1
118
119// CHECK: pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1
120// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
121pcmpestrm $0, 485498096(%edx,%eax,4), %xmm1
122
123// CHECK: pcmpestrm $0, 485498096(%edx), %xmm1
124// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
125pcmpestrm $0, 485498096(%edx), %xmm1
126
127// CHECK: pcmpestrm $0, 485498096, %xmm1
128// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
129pcmpestrm $0, 485498096, %xmm1
130
131// CHECK: pcmpestrm $0, 64(%edx,%eax), %xmm1
132// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x4c,0x02,0x40,0x00]
133pcmpestrm $0, 64(%edx,%eax), %xmm1
134
135// CHECK: pcmpestrm $0, (%edx), %xmm1
136// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x0a,0x00]
137pcmpestrm $0, (%edx), %xmm1
138
139// CHECK: pcmpestrm $0, %xmm1, %xmm1
140// CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xc9,0x00]
141pcmpestrm $0, %xmm1, %xmm1
142
143// CHECK: pcmpgtq -485498096(%edx,%eax,4), %xmm1
144// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
145pcmpgtq -485498096(%edx,%eax,4), %xmm1
146
147// CHECK: pcmpgtq 485498096(%edx,%eax,4), %xmm1
148// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
149pcmpgtq 485498096(%edx,%eax,4), %xmm1
150
151// CHECK: pcmpgtq 485498096(%edx), %xmm1
152// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x8a,0xf0,0x1c,0xf0,0x1c]
153pcmpgtq 485498096(%edx), %xmm1
154
155// CHECK: pcmpgtq 485498096, %xmm1
156// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0d,0xf0,0x1c,0xf0,0x1c]
157pcmpgtq 485498096, %xmm1
158
159// CHECK: pcmpgtq 64(%edx,%eax), %xmm1
160// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x4c,0x02,0x40]
161pcmpgtq 64(%edx,%eax), %xmm1
162
163// CHECK: pcmpgtq (%edx), %xmm1
164// CHECK: encoding: [0x66,0x0f,0x38,0x37,0x0a]
165pcmpgtq (%edx), %xmm1
166
167// CHECK: pcmpgtq %xmm1, %xmm1
168// CHECK: encoding: [0x66,0x0f,0x38,0x37,0xc9]
169pcmpgtq %xmm1, %xmm1
170
171// CHECK: pcmpistri $0, -485498096(%edx,%eax,4), %xmm1
172// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
173pcmpistri $0, -485498096(%edx,%eax,4), %xmm1
174
175// CHECK: pcmpistri $0, 485498096(%edx,%eax,4), %xmm1
176// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
177pcmpistri $0, 485498096(%edx,%eax,4), %xmm1
178
179// CHECK: pcmpistri $0, 485498096(%edx), %xmm1
180// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
181pcmpistri $0, 485498096(%edx), %xmm1
182
183// CHECK: pcmpistri $0, 485498096, %xmm1
184// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
185pcmpistri $0, 485498096, %xmm1
186
187// CHECK: pcmpistri $0, 64(%edx,%eax), %xmm1
188// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x4c,0x02,0x40,0x00]
189pcmpistri $0, 64(%edx,%eax), %xmm1
190
191// CHECK: pcmpistri $0, (%edx), %xmm1
192// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x0a,0x00]
193pcmpistri $0, (%edx), %xmm1
194
195// CHECK: pcmpistri $0, %xmm1, %xmm1
196// CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xc9,0x00]
197pcmpistri $0, %xmm1, %xmm1
198
199// CHECK: pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1
200// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
201pcmpistrm $0, -485498096(%edx,%eax,4), %xmm1
202
203// CHECK: pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1
204// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
205pcmpistrm $0, 485498096(%edx,%eax,4), %xmm1
206
207// CHECK: pcmpistrm $0, 485498096(%edx), %xmm1
208// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
209pcmpistrm $0, 485498096(%edx), %xmm1
210
211// CHECK: pcmpistrm $0, 485498096, %xmm1
212// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
213pcmpistrm $0, 485498096, %xmm1
214
215// CHECK: pcmpistrm $0, 64(%edx,%eax), %xmm1
216// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x4c,0x02,0x40,0x00]
217pcmpistrm $0, 64(%edx,%eax), %xmm1
218
219// CHECK: pcmpistrm $0, (%edx), %xmm1
220// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x0a,0x00]
221pcmpistrm $0, (%edx), %xmm1
222
223// CHECK: pcmpistrm $0, %xmm1, %xmm1
224// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xc9,0x00]
225pcmpistrm $0, %xmm1, %xmm1
226
227