[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / X86 / gfni-encoding.s
blob669c130b83fa6a4c0594aea949d75ccac052d583
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s | FileCheck %s
3 // CHECK: gf2p8affineinvqb $7, %xmm2, %xmm1
4 // CHECK: encoding: [0x66,0x0f,0x3a,0xcf,0xca,0x07]
5 gf2p8affineinvqb $7, %xmm2, %xmm1
7 // CHECK: gf2p8affineqb $7, %xmm2, %xmm1
8 // CHECK: encoding: [0x66,0x0f,0x3a,0xce,0xca,0x07]
9 gf2p8affineqb $7, %xmm2, %xmm1
11 // CHECK: gf2p8affineinvqb $7, (%rcx), %xmm1
12 // CHECK: encoding: [0x66,0x0f,0x3a,0xcf,0x09,0x07]
13 gf2p8affineinvqb $7, (%rcx), %xmm1
15 // CHECK: gf2p8affineinvqb $7, -4(%rsp), %xmm1
16 // CHECK: encoding: [0x66,0x0f,0x3a,0xcf,0x4c,0x24,0xfc,0x07]
17 gf2p8affineinvqb $7, -4(%rsp), %xmm1
19 // CHECK: gf2p8affineinvqb $7, 4(%rsp), %xmm1
20 // CHECK: encoding: [0x66,0x0f,0x3a,0xcf,0x4c,0x24,0x04,0x07]
21 gf2p8affineinvqb $7, 4(%rsp), %xmm1
23 // CHECK: gf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %xmm1
24 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
25 gf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %xmm1
27 // CHECK: gf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %xmm1
28 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
29 gf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %xmm1
31 // CHECK: gf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %xmm1
32 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
33 gf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %xmm1
35 // CHECK: gf2p8affineqb $7, (%rcx), %xmm1
36 // CHECK: encoding: [0x66,0x0f,0x3a,0xce,0x09,0x07]
37 gf2p8affineqb $7, (%rcx), %xmm1
39 // CHECK: gf2p8affineqb $7, -4(%rsp), %xmm1
40 // CHECK: encoding: [0x66,0x0f,0x3a,0xce,0x4c,0x24,0xfc,0x07]
41 gf2p8affineqb $7, -4(%rsp), %xmm1
43 // CHECK: gf2p8affineqb $7, 4(%rsp), %xmm1
44 // CHECK: encoding: [0x66,0x0f,0x3a,0xce,0x4c,0x24,0x04,0x07]
45 gf2p8affineqb $7, 4(%rsp), %xmm1
47 // CHECK: gf2p8affineqb $7, 268435456(%rcx,%r14,8), %xmm1
48 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xce,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
49 gf2p8affineqb $7, 268435456(%rcx,%r14,8), %xmm1
51 // CHECK: gf2p8affineqb $7, -536870912(%rcx,%r14,8), %xmm1
52 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xce,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
53 gf2p8affineqb $7, -536870912(%rcx,%r14,8), %xmm1
55 // CHECK: gf2p8affineqb $7, -536870910(%rcx,%r14,8), %xmm1
56 // CHECK: encoding: [0x66,0x42,0x0f,0x3a,0xce,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
57 gf2p8affineqb $7, -536870910(%rcx,%r14,8), %xmm1
59 // CHECK: gf2p8mulb %xmm2, %xmm1
60 // CHECK: encoding: [0x66,0x0f,0x38,0xcf,0xca]
61 gf2p8mulb %xmm2, %xmm1
63 // CHECK: gf2p8mulb (%rcx), %xmm1
64 // CHECK: encoding: [0x66,0x0f,0x38,0xcf,0x09]
65 gf2p8mulb (%rcx), %xmm1
67 // CHECK: gf2p8mulb -4(%rsp), %xmm1
68 // CHECK: encoding: [0x66,0x0f,0x38,0xcf,0x4c,0x24,0xfc]
69 gf2p8mulb -4(%rsp), %xmm1
71 // CHECK: gf2p8mulb 4(%rsp), %xmm1
72 // CHECK: encoding: [0x66,0x0f,0x38,0xcf,0x4c,0x24,0x04]
73 gf2p8mulb 4(%rsp), %xmm1
75 // CHECK: gf2p8mulb 268435456(%rcx,%r14,8), %xmm1
76 // CHECK: encoding: [0x66,0x42,0x0f,0x38,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10]
77 gf2p8mulb 268435456(%rcx,%r14,8), %xmm1
79 // CHECK: gf2p8mulb -536870912(%rcx,%r14,8), %xmm1
80 // CHECK: encoding: [0x66,0x42,0x0f,0x38,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0]
81 gf2p8mulb -536870912(%rcx,%r14,8), %xmm1
83 // CHECK: gf2p8mulb -536870910(%rcx,%r14,8), %xmm1
84 // CHECK: encoding: [0x66,0x42,0x0f,0x38,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0]
85 gf2p8mulb -536870910(%rcx,%r14,8), %xmm1
87 // CHECK: vgf2p8affineinvqb $7, %xmm2, %xmm10, %xmm1
88 // CHECK: encoding: [0xc4,0xe3,0xa9,0xcf,0xca,0x07]
89 vgf2p8affineinvqb $7, %xmm2, %xmm10, %xmm1
91 // CHECK: vgf2p8affineqb $7, %xmm2, %xmm10, %xmm1
92 // CHECK: encoding: [0xc4,0xe3,0xa9,0xce,0xca,0x07]
93 vgf2p8affineqb $7, %xmm2, %xmm10, %xmm1
95 // CHECK: vgf2p8affineinvqb $7, (%rcx), %xmm10, %xmm1
96 // CHECK: encoding: [0xc4,0xe3,0xa9,0xcf,0x09,0x07]
97 vgf2p8affineinvqb $7, (%rcx), %xmm10, %xmm1
99 // CHECK: vgf2p8affineinvqb $7, -4(%rsp), %xmm10, %xmm1
100 // CHECK: encoding: [0xc4,0xe3,0xa9,0xcf,0x4c,0x24,0xfc,0x07]
101 vgf2p8affineinvqb $7, -4(%rsp), %xmm10, %xmm1
103 // CHECK: vgf2p8affineinvqb $7, 4(%rsp), %xmm10, %xmm1
104 // CHECK: encoding: [0xc4,0xe3,0xa9,0xcf,0x4c,0x24,0x04,0x07]
105 vgf2p8affineinvqb $7, 4(%rsp), %xmm10, %xmm1
107 // CHECK: vgf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %xmm10, %xmm1
108 // CHECK: encoding: [0xc4,0xa3,0xa9,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
109 vgf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %xmm10, %xmm1
111 // CHECK: vgf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %xmm10, %xmm1
112 // CHECK: encoding: [0xc4,0xa3,0xa9,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
113 vgf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %xmm10, %xmm1
115 // CHECK: vgf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %xmm10, %xmm1
116 // CHECK: encoding: [0xc4,0xa3,0xa9,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
117 vgf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %xmm10, %xmm1
119 // CHECK: vgf2p8affineqb $7, (%rcx), %xmm10, %xmm1
120 // CHECK: encoding: [0xc4,0xe3,0xa9,0xce,0x09,0x07]
121 vgf2p8affineqb $7, (%rcx), %xmm10, %xmm1
123 // CHECK: vgf2p8affineqb $7, -4(%rsp), %xmm10, %xmm1
124 // CHECK: encoding: [0xc4,0xe3,0xa9,0xce,0x4c,0x24,0xfc,0x07]
125 vgf2p8affineqb $7, -4(%rsp), %xmm10, %xmm1
127 // CHECK: vgf2p8affineqb $7, 4(%rsp), %xmm10, %xmm1
128 // CHECK: encoding: [0xc4,0xe3,0xa9,0xce,0x4c,0x24,0x04,0x07]
129 vgf2p8affineqb $7, 4(%rsp), %xmm10, %xmm1
131 // CHECK: vgf2p8affineqb $7, 268435456(%rcx,%r14,8), %xmm10, %xmm1
132 // CHECK: encoding: [0xc4,0xa3,0xa9,0xce,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
133 vgf2p8affineqb $7, 268435456(%rcx,%r14,8), %xmm10, %xmm1
135 // CHECK: vgf2p8affineqb $7, -536870912(%rcx,%r14,8), %xmm10, %xmm1
136 // CHECK: encoding: [0xc4,0xa3,0xa9,0xce,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
137 vgf2p8affineqb $7, -536870912(%rcx,%r14,8), %xmm10, %xmm1
139 // CHECK: vgf2p8affineqb $7, -536870910(%rcx,%r14,8), %xmm10, %xmm1
140 // CHECK: encoding: [0xc4,0xa3,0xa9,0xce,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
141 vgf2p8affineqb $7, -536870910(%rcx,%r14,8), %xmm10, %xmm1
143 // CHECK: vgf2p8affineinvqb $7, %ymm2, %ymm10, %ymm1
144 // CHECK: encoding: [0xc4,0xe3,0xad,0xcf,0xca,0x07]
145 vgf2p8affineinvqb $7, %ymm2, %ymm10, %ymm1
147 // CHECK: vgf2p8affineqb $7, %ymm2, %ymm10, %ymm1
148 // CHECK: encoding: [0xc4,0xe3,0xad,0xce,0xca,0x07]
149 vgf2p8affineqb $7, %ymm2, %ymm10, %ymm1
151 // CHECK: vgf2p8affineinvqb $7, (%rcx), %ymm10, %ymm1
152 // CHECK: encoding: [0xc4,0xe3,0xad,0xcf,0x09,0x07]
153 vgf2p8affineinvqb $7, (%rcx), %ymm10, %ymm1
155 // CHECK: vgf2p8affineinvqb $7, -4(%rsp), %ymm10, %ymm1
156 // CHECK: encoding: [0xc4,0xe3,0xad,0xcf,0x4c,0x24,0xfc,0x07]
157 vgf2p8affineinvqb $7, -4(%rsp), %ymm10, %ymm1
159 // CHECK: vgf2p8affineinvqb $7, 4(%rsp), %ymm10, %ymm1
160 // CHECK: encoding: [0xc4,0xe3,0xad,0xcf,0x4c,0x24,0x04,0x07]
161 vgf2p8affineinvqb $7, 4(%rsp), %ymm10, %ymm1
163 // CHECK: vgf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %ymm10, %ymm1
164 // CHECK: encoding: [0xc4,0xa3,0xad,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
165 vgf2p8affineinvqb $7, 268435456(%rcx,%r14,8), %ymm10, %ymm1
167 // CHECK: vgf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %ymm10, %ymm1
168 // CHECK: encoding: [0xc4,0xa3,0xad,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
169 vgf2p8affineinvqb $7, -536870912(%rcx,%r14,8), %ymm10, %ymm1
171 // CHECK: vgf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %ymm10, %ymm1
172 // CHECK: encoding: [0xc4,0xa3,0xad,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
173 vgf2p8affineinvqb $7, -536870910(%rcx,%r14,8), %ymm10, %ymm1
175 // CHECK: vgf2p8affineqb $7, (%rcx), %ymm10, %ymm1
176 // CHECK: encoding: [0xc4,0xe3,0xad,0xce,0x09,0x07]
177 vgf2p8affineqb $7, (%rcx), %ymm10, %ymm1
179 // CHECK: vgf2p8affineqb $7, -4(%rsp), %ymm10, %ymm1
180 // CHECK: encoding: [0xc4,0xe3,0xad,0xce,0x4c,0x24,0xfc,0x07]
181 vgf2p8affineqb $7, -4(%rsp), %ymm10, %ymm1
183 // CHECK: vgf2p8affineqb $7, 4(%rsp), %ymm10, %ymm1
184 // CHECK: encoding: [0xc4,0xe3,0xad,0xce,0x4c,0x24,0x04,0x07]
185 vgf2p8affineqb $7, 4(%rsp), %ymm10, %ymm1
187 // CHECK: vgf2p8affineqb $7, 268435456(%rcx,%r14,8), %ymm10, %ymm1
188 // CHECK: encoding: [0xc4,0xa3,0xad,0xce,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
189 vgf2p8affineqb $7, 268435456(%rcx,%r14,8), %ymm10, %ymm1
191 // CHECK: vgf2p8affineqb $7, -536870912(%rcx,%r14,8), %ymm10, %ymm1
192 // CHECK: encoding: [0xc4,0xa3,0xad,0xce,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
193 vgf2p8affineqb $7, -536870912(%rcx,%r14,8), %ymm10, %ymm1
195 // CHECK: vgf2p8affineqb $7, -536870910(%rcx,%r14,8), %ymm10, %ymm1
196 // CHECK: encoding: [0xc4,0xa3,0xad,0xce,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
197 vgf2p8affineqb $7, -536870910(%rcx,%r14,8), %ymm10, %ymm1
199 // CHECK: vgf2p8mulb %xmm2, %xmm10, %xmm1
200 // CHECK: encoding: [0xc4,0xe2,0x29,0xcf,0xca]
201 vgf2p8mulb %xmm2, %xmm10, %xmm1
203 // CHECK: vgf2p8mulb (%rcx), %xmm10, %xmm1
204 // CHECK: encoding: [0xc4,0xe2,0x29,0xcf,0x09]
205 vgf2p8mulb (%rcx), %xmm10, %xmm1
207 // CHECK: vgf2p8mulb -4(%rsp), %xmm10, %xmm1
208 // CHECK: encoding: [0xc4,0xe2,0x29,0xcf,0x4c,0x24,0xfc]
209 vgf2p8mulb -4(%rsp), %xmm10, %xmm1
211 // CHECK: vgf2p8mulb 4(%rsp), %xmm10, %xmm1
212 // CHECK: encoding: [0xc4,0xe2,0x29,0xcf,0x4c,0x24,0x04]
213 vgf2p8mulb 4(%rsp), %xmm10, %xmm1
215 // CHECK: vgf2p8mulb 268435456(%rcx,%r14,8), %xmm10, %xmm1
216 // CHECK: encoding: [0xc4,0xa2,0x29,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10]
217 vgf2p8mulb 268435456(%rcx,%r14,8), %xmm10, %xmm1
219 // CHECK: vgf2p8mulb -536870912(%rcx,%r14,8), %xmm10, %xmm1
220 // CHECK: encoding: [0xc4,0xa2,0x29,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0]
221 vgf2p8mulb -536870912(%rcx,%r14,8), %xmm10, %xmm1
223 // CHECK: vgf2p8mulb -536870910(%rcx,%r14,8), %xmm10, %xmm1
224 // CHECK: encoding: [0xc4,0xa2,0x29,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0]
225 vgf2p8mulb -536870910(%rcx,%r14,8), %xmm10, %xmm1
227 // CHECK: vgf2p8mulb %ymm2, %ymm10, %ymm1
228 // CHECK: encoding: [0xc4,0xe2,0x2d,0xcf,0xca]
229 vgf2p8mulb %ymm2, %ymm10, %ymm1
231 // CHECK: vgf2p8mulb (%rcx), %ymm10, %ymm1
232 // CHECK: encoding: [0xc4,0xe2,0x2d,0xcf,0x09]
233 vgf2p8mulb (%rcx), %ymm10, %ymm1
235 // CHECK: vgf2p8mulb -4(%rsp), %ymm10, %ymm1
236 // CHECK: encoding: [0xc4,0xe2,0x2d,0xcf,0x4c,0x24,0xfc]
237 vgf2p8mulb -4(%rsp), %ymm10, %ymm1
239 // CHECK: vgf2p8mulb 4(%rsp), %ymm10, %ymm1
240 // CHECK: encoding: [0xc4,0xe2,0x2d,0xcf,0x4c,0x24,0x04]
241 vgf2p8mulb 4(%rsp), %ymm10, %ymm1
243 // CHECK: vgf2p8mulb 268435456(%rcx,%r14,8), %ymm10, %ymm1
244 // CHECK: encoding: [0xc4,0xa2,0x2d,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10]
245 vgf2p8mulb 268435456(%rcx,%r14,8), %ymm10, %ymm1
247 // CHECK: vgf2p8mulb -536870912(%rcx,%r14,8), %ymm10, %ymm1
248 // CHECK: encoding: [0xc4,0xa2,0x2d,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0]
249 vgf2p8mulb -536870912(%rcx,%r14,8), %ymm10, %ymm1
251 // CHECK: vgf2p8mulb -536870910(%rcx,%r14,8), %ymm10, %ymm1
252 // CHECK: encoding: [0xc4,0xa2,0x2d,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0]
253 vgf2p8mulb -536870910(%rcx,%r14,8), %ymm10, %ymm1