1 // RUN
: llvm-mc
-triple i386-unknown-unknown
--show-encoding
%s | FileCheck
%s
3 // CHECK
: crc32b
485498096, %ebx
4 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x1d,0xf0,0x1c,0xf0,0x1c]
7 // CHECK
: crc32b
64(%edx
), %ebx
8 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x5a,0x40]
11 // CHECK
: crc32b
-64(%edx
,%eax
,4), %ebx
12 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0xc0]
13 crc32b
-64(%edx
,%eax
,4), %ebx
15 // CHECK
: crc32b
64(%edx
,%eax
,4), %ebx
16 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x5c,0x82,0x40]
17 crc32b
64(%edx
,%eax
,4), %ebx
19 // CHECK
: crc32b
64(%edx
,%eax
), %ebx
20 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x5c,0x02,0x40]
21 crc32b
64(%edx
,%eax
), %ebx
23 // CHECK
: crc32b
%al
, %ebx
24 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0xd8]
27 // CHECK
: crc32b
(%edx
), %ebx
28 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf0,0x1a]
31 // CHECK
: crc32w
485498096, %ebx
32 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
33 crc32w
485498096, %ebx
35 // CHECK
: crc32w
64(%edx
), %ebx
36 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x5a,0x40]
39 // CHECK
: crc32w
-64(%edx
,%eax
,4), %ebx
40 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
41 crc32w
-64(%edx
,%eax
,4), %ebx
43 // CHECK
: crc32w
64(%edx
,%eax
,4), %ebx
44 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
45 crc32w
64(%edx
,%eax
,4), %ebx
47 // CHECK
: crc32w
64(%edx
,%eax
), %ebx
48 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
49 crc32w
64(%edx
,%eax
), %ebx
51 // CHECK
: crc32w
%ax
, %ebx
52 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0xd8]
55 // CHECK
: crc32w
(%edx
), %ebx
56 // CHECK
: encoding
: [0x66,0xf2,0x0f,0x38,0xf1,0x1a]
59 // CHECK
: crc32l
485498096, %ebx
60 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x1d,0xf0,0x1c,0xf0,0x1c]
61 crc32l
485498096, %ebx
63 // CHECK
: crc32l
64(%edx
), %ebx
64 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x5a,0x40]
67 // CHECK
: crc32l
-64(%edx
,%eax
,4), %ebx
68 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0xc0]
69 crc32l
-64(%edx
,%eax
,4), %ebx
71 // CHECK
: crc32l
64(%edx
,%eax
,4), %ebx
72 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x5c,0x82,0x40]
73 crc32l
64(%edx
,%eax
,4), %ebx
75 // CHECK
: crc32l
64(%edx
,%eax
), %ebx
76 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x5c,0x02,0x40]
77 crc32l
64(%edx
,%eax
), %ebx
79 // CHECK
: crc32l
%eax
, %ebx
80 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0xd8]
83 // CHECK
: crc32l
(%edx
), %ebx
84 // CHECK
: encoding
: [0xf2,0x0f,0x38,0xf1,0x1a]
87 // CHECK
: pcmpestri $
0, -485498096(%edx
,%eax
,4), %xmm1
88 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
89 pcmpestri $
0, -485498096(%edx
,%eax
,4), %xmm1
91 // CHECK
: pcmpestri $
0, 485498096(%edx
,%eax
,4), %xmm1
92 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
93 pcmpestri $
0, 485498096(%edx
,%eax
,4), %xmm1
95 // CHECK
: pcmpestri $
0, 485498096(%edx
), %xmm1
96 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
97 pcmpestri $
0, 485498096(%edx
), %xmm1
99 // CHECK
: pcmpestri $
0, 485498096, %xmm1
100 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
101 pcmpestri $
0, 485498096, %xmm1
103 // CHECK
: pcmpestri $
0, 64(%edx
,%eax
), %xmm1
104 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x4c,0x02,0x40,0x00]
105 pcmpestri $
0, 64(%edx
,%eax
), %xmm1
107 // CHECK
: pcmpestri $
0, (%edx
), %xmm1
108 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0x0a,0x00]
109 pcmpestri $
0, (%edx
), %xmm1
111 // CHECK
: pcmpestri $
0, %xmm1
, %xmm1
112 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x61,0xc9,0x00]
113 pcmpestri $
0, %xmm1
, %xmm1
115 // CHECK
: pcmpestrm $
0, -485498096(%edx
,%eax
,4), %xmm1
116 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
117 pcmpestrm $
0, -485498096(%edx
,%eax
,4), %xmm1
119 // CHECK
: pcmpestrm $
0, 485498096(%edx
,%eax
,4), %xmm1
120 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
121 pcmpestrm $
0, 485498096(%edx
,%eax
,4), %xmm1
123 // CHECK
: pcmpestrm $
0, 485498096(%edx
), %xmm1
124 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
125 pcmpestrm $
0, 485498096(%edx
), %xmm1
127 // CHECK
: pcmpestrm $
0, 485498096, %xmm1
128 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
129 pcmpestrm $
0, 485498096, %xmm1
131 // CHECK
: pcmpestrm $
0, 64(%edx
,%eax
), %xmm1
132 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x4c,0x02,0x40,0x00]
133 pcmpestrm $
0, 64(%edx
,%eax
), %xmm1
135 // CHECK
: pcmpestrm $
0, (%edx
), %xmm1
136 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0x0a,0x00]
137 pcmpestrm $
0, (%edx
), %xmm1
139 // CHECK
: pcmpestrm $
0, %xmm1
, %xmm1
140 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x60,0xc9,0x00]
141 pcmpestrm $
0, %xmm1
, %xmm1
143 // CHECK
: pcmpgtq
-485498096(%edx
,%eax
,4), %xmm1
144 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
145 pcmpgtq
-485498096(%edx
,%eax
,4), %xmm1
147 // CHECK
: pcmpgtq
485498096(%edx
,%eax
,4), %xmm1
148 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
149 pcmpgtq
485498096(%edx
,%eax
,4), %xmm1
151 // CHECK
: pcmpgtq
485498096(%edx
), %xmm1
152 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x8a,0xf0,0x1c,0xf0,0x1c]
153 pcmpgtq
485498096(%edx
), %xmm1
155 // CHECK
: pcmpgtq
485498096, %xmm1
156 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x0d,0xf0,0x1c,0xf0,0x1c]
157 pcmpgtq
485498096, %xmm1
159 // CHECK
: pcmpgtq
64(%edx
,%eax
), %xmm1
160 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x4c,0x02,0x40]
161 pcmpgtq
64(%edx
,%eax
), %xmm1
163 // CHECK
: pcmpgtq
(%edx
), %xmm1
164 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0x0a]
165 pcmpgtq
(%edx
), %xmm1
167 // CHECK
: pcmpgtq
%xmm1
, %xmm1
168 // CHECK
: encoding
: [0x66,0x0f,0x38,0x37,0xc9]
171 // CHECK
: pcmpistri $
0, -485498096(%edx
,%eax
,4), %xmm1
172 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
173 pcmpistri $
0, -485498096(%edx
,%eax
,4), %xmm1
175 // CHECK
: pcmpistri $
0, 485498096(%edx
,%eax
,4), %xmm1
176 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
177 pcmpistri $
0, 485498096(%edx
,%eax
,4), %xmm1
179 // CHECK
: pcmpistri $
0, 485498096(%edx
), %xmm1
180 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
181 pcmpistri $
0, 485498096(%edx
), %xmm1
183 // CHECK
: pcmpistri $
0, 485498096, %xmm1
184 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
185 pcmpistri $
0, 485498096, %xmm1
187 // CHECK
: pcmpistri $
0, 64(%edx
,%eax
), %xmm1
188 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x4c,0x02,0x40,0x00]
189 pcmpistri $
0, 64(%edx
,%eax
), %xmm1
191 // CHECK
: pcmpistri $
0, (%edx
), %xmm1
192 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0x0a,0x00]
193 pcmpistri $
0, (%edx
), %xmm1
195 // CHECK
: pcmpistri $
0, %xmm1
, %xmm1
196 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x63,0xc9,0x00]
197 pcmpistri $
0, %xmm1
, %xmm1
199 // CHECK
: pcmpistrm $
0, -485498096(%edx
,%eax
,4), %xmm1
200 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
201 pcmpistrm $
0, -485498096(%edx
,%eax
,4), %xmm1
203 // CHECK
: pcmpistrm $
0, 485498096(%edx
,%eax
,4), %xmm1
204 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
205 pcmpistrm $
0, 485498096(%edx
,%eax
,4), %xmm1
207 // CHECK
: pcmpistrm $
0, 485498096(%edx
), %xmm1
208 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
209 pcmpistrm $
0, 485498096(%edx
), %xmm1
211 // CHECK
: pcmpistrm $
0, 485498096, %xmm1
212 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
213 pcmpistrm $
0, 485498096, %xmm1
215 // CHECK
: pcmpistrm $
0, 64(%edx
,%eax
), %xmm1
216 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x4c,0x02,0x40,0x00]
217 pcmpistrm $
0, 64(%edx
,%eax
), %xmm1
219 // CHECK
: pcmpistrm $
0, (%edx
), %xmm1
220 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0x0a,0x00]
221 pcmpistrm $
0, (%edx
), %xmm1
223 // CHECK
: pcmpistrm $
0, %xmm1
, %xmm1
224 // CHECK
: encoding
: [0x66,0x0f,0x3a,0x62,0xc9,0x00]
225 pcmpistrm $
0, %xmm1
, %xmm1