[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / X86 / SSE42-64.s
blobbde7d361563658fb3eccfc961c6e56f9a94cc34c
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: crc32b 485498096, %r13d
4 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
5 crc32b 485498096, %r13d
7 // CHECK: crc32b 64(%rdx), %r13d
8 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6a,0x40]
9 crc32b 64(%rdx), %r13d
11 // CHECK: crc32b -64(%rdx,%rax,4), %r13d
12 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0xc0]
13 crc32b -64(%rdx,%rax,4), %r13d
15 // CHECK: crc32b 64(%rdx,%rax,4), %r13d
16 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x82,0x40]
17 crc32b 64(%rdx,%rax,4), %r13d
19 // CHECK: crc32b 64(%rdx,%rax), %r13d
20 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x6c,0x02,0x40]
21 crc32b 64(%rdx,%rax), %r13d
23 // CHECK: crc32b %r14b, %r13d
24 // CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf0,0xee]
25 crc32b %r14b, %r13d
27 // CHECK: crc32b (%rdx), %r13d
28 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf0,0x2a]
29 crc32b (%rdx), %r13d
31 // CHECK: crc32w 485498096, %r13d
32 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
33 crc32w 485498096, %r13d
35 // CHECK: crc32w 64(%rdx), %r13d
36 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40]
37 crc32w 64(%rdx), %r13d
39 // CHECK: crc32w -64(%rdx,%rax,4), %r13d
40 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
41 crc32w -64(%rdx,%rax,4), %r13d
43 // CHECK: crc32w 64(%rdx,%rax,4), %r13d
44 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40]
45 crc32w 64(%rdx,%rax,4), %r13d
47 // CHECK: crc32w 64(%rdx,%rax), %r13d
48 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40]
49 crc32w 64(%rdx,%rax), %r13d
51 // CHECK: crc32w %r14w, %r13d
52 // CHECK: encoding: [0x66,0xf2,0x45,0x0f,0x38,0xf1,0xee]
53 crc32w %r14w, %r13d
55 // CHECK: crc32w (%rdx), %r13d
56 // CHECK: encoding: [0x66,0xf2,0x44,0x0f,0x38,0xf1,0x2a]
57 crc32w (%rdx), %r13d
59 // CHECK: crc32l 485498096, %r13d
60 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
61 crc32l 485498096, %r13d
63 // CHECK: crc32l 64(%rdx), %r13d
64 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6a,0x40]
65 crc32l 64(%rdx), %r13d
67 // CHECK: crc32l -64(%rdx,%rax,4), %r13d
68 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
69 crc32l -64(%rdx,%rax,4), %r13d
71 // CHECK: crc32l 64(%rdx,%rax,4), %r13d
72 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x82,0x40]
73 crc32l 64(%rdx,%rax,4), %r13d
75 // CHECK: crc32l 64(%rdx,%rax), %r13d
76 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x6c,0x02,0x40]
77 crc32l 64(%rdx,%rax), %r13d
79 // CHECK: crc32l %r14d, %r13d
80 // CHECK: encoding: [0xf2,0x45,0x0f,0x38,0xf1,0xee]
81 crc32l %r14d, %r13d
83 // CHECK: crc32l (%rdx), %r13d
84 // CHECK: encoding: [0xf2,0x44,0x0f,0x38,0xf1,0x2a]
85 crc32l (%rdx), %r13d
87 // CHECK: crc32q 485498096, %r13
88 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
89 crc32q 485498096, %r13
91 // CHECK: crc32q 64(%rdx), %r13
92 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6a,0x40]
93 crc32q 64(%rdx), %r13
95 // CHECK: crc32q -64(%rdx,%rax,4), %r13
96 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0xc0]
97 crc32q -64(%rdx,%rax,4), %r13
99 // CHECK: crc32q 64(%rdx,%rax,4), %r13
100 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x82,0x40]
101 crc32q 64(%rdx,%rax,4), %r13
103 // CHECK: crc32q 64(%rdx,%rax), %r13
104 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x6c,0x02,0x40]
105 crc32q 64(%rdx,%rax), %r13
107 // CHECK: crc32q %r14, %r13
108 // CHECK: encoding: [0xf2,0x4d,0x0f,0x38,0xf1,0xee]
109 crc32q %r14, %r13
111 // CHECK: crc32q (%rdx), %r13
112 // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xf1,0x2a]
113 crc32q (%rdx), %r13
115 // CHECK: pcmpestri $0, 485498096, %xmm6
116 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
117 pcmpestri $0, 485498096, %xmm6
119 // CHECK: pcmpestri $0, -64(%rdx,%rax,4), %xmm6
120 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0xc0,0x00]
121 pcmpestri $0, -64(%rdx,%rax,4), %xmm6
123 // CHECK: pcmpestri $0, 64(%rdx,%rax,4), %xmm6
124 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x82,0x40,0x00]
125 pcmpestri $0, 64(%rdx,%rax,4), %xmm6
127 // CHECK: pcmpestri $0, 64(%rdx,%rax), %xmm6
128 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x74,0x02,0x40,0x00]
129 pcmpestri $0, 64(%rdx,%rax), %xmm6
131 // CHECK: pcmpestri $0, 64(%rdx), %xmm6
132 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x72,0x40,0x00]
133 pcmpestri $0, 64(%rdx), %xmm6
135 // CHECK: pcmpestri $0, (%rdx), %xmm6
136 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0x32,0x00]
137 pcmpestri $0, (%rdx), %xmm6
139 // CHECK: pcmpestri $0, %xmm6, %xmm6
140 // CHECK: encoding: [0x66,0x0f,0x3a,0x61,0xf6,0x00]
141 pcmpestri $0, %xmm6, %xmm6
143 // CHECK: pcmpestrm $0, 485498096, %xmm6
144 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
145 pcmpestrm $0, 485498096, %xmm6
147 // CHECK: pcmpestrm $0, -64(%rdx,%rax,4), %xmm6
148 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0xc0,0x00]
149 pcmpestrm $0, -64(%rdx,%rax,4), %xmm6
151 // CHECK: pcmpestrm $0, 64(%rdx,%rax,4), %xmm6
152 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x82,0x40,0x00]
153 pcmpestrm $0, 64(%rdx,%rax,4), %xmm6
155 // CHECK: pcmpestrm $0, 64(%rdx,%rax), %xmm6
156 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x74,0x02,0x40,0x00]
157 pcmpestrm $0, 64(%rdx,%rax), %xmm6
159 // CHECK: pcmpestrm $0, 64(%rdx), %xmm6
160 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x72,0x40,0x00]
161 pcmpestrm $0, 64(%rdx), %xmm6
163 // CHECK: pcmpestrm $0, (%rdx), %xmm6
164 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0x32,0x00]
165 pcmpestrm $0, (%rdx), %xmm6
167 // CHECK: pcmpestrm $0, %xmm6, %xmm6
168 // CHECK: encoding: [0x66,0x0f,0x3a,0x60,0xf6,0x00]
169 pcmpestrm $0, %xmm6, %xmm6
171 // CHECK: pcmpgtq 485498096, %xmm6
172 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
173 pcmpgtq 485498096, %xmm6
175 // CHECK: pcmpgtq -64(%rdx,%rax,4), %xmm6
176 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0xc0]
177 pcmpgtq -64(%rdx,%rax,4), %xmm6
179 // CHECK: pcmpgtq 64(%rdx,%rax,4), %xmm6
180 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x82,0x40]
181 pcmpgtq 64(%rdx,%rax,4), %xmm6
183 // CHECK: pcmpgtq 64(%rdx,%rax), %xmm6
184 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x74,0x02,0x40]
185 pcmpgtq 64(%rdx,%rax), %xmm6
187 // CHECK: pcmpgtq 64(%rdx), %xmm6
188 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x72,0x40]
189 pcmpgtq 64(%rdx), %xmm6
191 // CHECK: pcmpgtq (%rdx), %xmm6
192 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0x32]
193 pcmpgtq (%rdx), %xmm6
195 // CHECK: pcmpgtq %xmm6, %xmm6
196 // CHECK: encoding: [0x66,0x0f,0x38,0x37,0xf6]
197 pcmpgtq %xmm6, %xmm6
199 // CHECK: pcmpistri $0, 485498096, %xmm6
200 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
201 pcmpistri $0, 485498096, %xmm6
203 // CHECK: pcmpistri $0, -64(%rdx,%rax,4), %xmm6
204 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0xc0,0x00]
205 pcmpistri $0, -64(%rdx,%rax,4), %xmm6
207 // CHECK: pcmpistri $0, 64(%rdx,%rax,4), %xmm6
208 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x82,0x40,0x00]
209 pcmpistri $0, 64(%rdx,%rax,4), %xmm6
211 // CHECK: pcmpistri $0, 64(%rdx,%rax), %xmm6
212 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x74,0x02,0x40,0x00]
213 pcmpistri $0, 64(%rdx,%rax), %xmm6
215 // CHECK: pcmpistri $0, 64(%rdx), %xmm6
216 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x72,0x40,0x00]
217 pcmpistri $0, 64(%rdx), %xmm6
219 // CHECK: pcmpistri $0, (%rdx), %xmm6
220 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0x32,0x00]
221 pcmpistri $0, (%rdx), %xmm6
223 // CHECK: pcmpistri $0, %xmm6, %xmm6
224 // CHECK: encoding: [0x66,0x0f,0x3a,0x63,0xf6,0x00]
225 pcmpistri $0, %xmm6, %xmm6
227 // CHECK: pcmpistrm $0, 485498096, %xmm6
228 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
229 pcmpistrm $0, 485498096, %xmm6
231 // CHECK: pcmpistrm $0, -64(%rdx,%rax,4), %xmm6
232 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0xc0,0x00]
233 pcmpistrm $0, -64(%rdx,%rax,4), %xmm6
235 // CHECK: pcmpistrm $0, 64(%rdx,%rax,4), %xmm6
236 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x82,0x40,0x00]
237 pcmpistrm $0, 64(%rdx,%rax,4), %xmm6
239 // CHECK: pcmpistrm $0, 64(%rdx,%rax), %xmm6
240 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x74,0x02,0x40,0x00]
241 pcmpistrm $0, 64(%rdx,%rax), %xmm6
243 // CHECK: pcmpistrm $0, 64(%rdx), %xmm6
244 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x72,0x40,0x00]
245 pcmpistrm $0, 64(%rdx), %xmm6
247 // CHECK: pcmpistrm $0, (%rdx), %xmm6
248 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x32,0x00]
249 pcmpistrm $0, (%rdx), %xmm6
251 // CHECK: pcmpistrm $0, %xmm6, %xmm6
252 // CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xf6,0x00]
253 pcmpistrm $0, %xmm6, %xmm6