c8e2c1969a2ae801e8e9292543bdfa7dcf0109db
[oota-llvm.git] / test / MC / X86 / x86-64-avx512bw_vl.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s
2
3 // CHECK: vmovdqu8 %xmm23, %xmm26
4 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]
5           vmovdqu8 %xmm23, %xmm26
6
7 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2}
8 // CHECK:  encoding: [0x62,0x21,0x7f,0x0a,0x6f,0xd7]
9           vmovdqu8 %xmm23, %xmm26 {%k2}
10
11 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2} {z}
12 // CHECK:  encoding: [0x62,0x21,0x7f,0x8a,0x6f,0xd7]
13           vmovdqu8 %xmm23, %xmm26 {%k2} {z}
14
15 // CHECK: vmovdqu8 (%rcx), %xmm26
16 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x11]
17           vmovdqu8 (%rcx), %xmm26
18
19 // CHECK: vmovdqu8 291(%rax,%r14,8), %xmm26
20 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
21           vmovdqu8 291(%rax,%r14,8), %xmm26
22
23 // CHECK: vmovdqu8 2032(%rdx), %xmm26
24 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x7f]
25           vmovdqu8 2032(%rdx), %xmm26
26
27 // CHECK: vmovdqu8 2048(%rdx), %xmm26
28 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0x00,0x08,0x00,0x00]
29           vmovdqu8 2048(%rdx), %xmm26
30
31 // CHECK: vmovdqu8 -2048(%rdx), %xmm26
32 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x80]
33           vmovdqu8 -2048(%rdx), %xmm26
34
35 // CHECK: vmovdqu8 -2064(%rdx), %xmm26
36 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0xf0,0xf7,0xff,0xff]
37           vmovdqu8 -2064(%rdx), %xmm26
38
39 // CHECK: vmovdqu8 %ymm29, %ymm18
40 // CHECK:  encoding: [0x62,0x81,0x7f,0x28,0x6f,0xd5]
41           vmovdqu8 %ymm29, %ymm18
42
43 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7}
44 // CHECK:  encoding: [0x62,0x81,0x7f,0x2f,0x6f,0xd5]
45           vmovdqu8 %ymm29, %ymm18 {%k7}
46
47 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7} {z}
48 // CHECK:  encoding: [0x62,0x81,0x7f,0xaf,0x6f,0xd5]
49           vmovdqu8 %ymm29, %ymm18 {%k7} {z}
50
51 // CHECK: vmovdqu8 (%rcx), %ymm18
52 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x11]
53           vmovdqu8 (%rcx), %ymm18
54
55 // CHECK: vmovdqu8 291(%rax,%r14,8), %ymm18
56 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
57           vmovdqu8 291(%rax,%r14,8), %ymm18
58
59 // CHECK: vmovdqu8 4064(%rdx), %ymm18
60 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x7f]
61           vmovdqu8 4064(%rdx), %ymm18
62
63 // CHECK: vmovdqu8 4096(%rdx), %ymm18
64 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0x00,0x10,0x00,0x00]
65           vmovdqu8 4096(%rdx), %ymm18
66
67 // CHECK: vmovdqu8 -4096(%rdx), %ymm18
68 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x80]
69           vmovdqu8 -4096(%rdx), %ymm18
70
71 // CHECK: vmovdqu8 -4128(%rdx), %ymm18
72 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0xe0,0xef,0xff,0xff]
73           vmovdqu8 -4128(%rdx), %ymm18
74
75 // CHECK: vmovdqu16 %xmm24, %xmm29
76 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x6f,0xe8]
77           vmovdqu16 %xmm24, %xmm29
78
79 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6}
80 // CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x6f,0xe8]
81           vmovdqu16 %xmm24, %xmm29 {%k6}
82
83 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6} {z}
84 // CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x6f,0xe8]
85           vmovdqu16 %xmm24, %xmm29 {%k6} {z}
86
87 // CHECK: vmovdqu16 (%rcx), %xmm29
88 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x29]
89           vmovdqu16 (%rcx), %xmm29
90
91 // CHECK: vmovdqu16 291(%rax,%r14,8), %xmm29
92 // CHECK:  encoding: [0x62,0x21,0xff,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]
93           vmovdqu16 291(%rax,%r14,8), %xmm29
94
95 // CHECK: vmovdqu16 2032(%rdx), %xmm29
96 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x7f]
97           vmovdqu16 2032(%rdx), %xmm29
98
99 // CHECK: vmovdqu16 2048(%rdx), %xmm29
100 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]
101           vmovdqu16 2048(%rdx), %xmm29
102
103 // CHECK: vmovdqu16 -2048(%rdx), %xmm29
104 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x80]
105           vmovdqu16 -2048(%rdx), %xmm29
106
107 // CHECK: vmovdqu16 -2064(%rdx), %xmm29
108 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]
109           vmovdqu16 -2064(%rdx), %xmm29
110
111 // CHECK: vmovdqu16 %ymm24, %ymm23
112 // CHECK:  encoding: [0x62,0x81,0xff,0x28,0x6f,0xf8]
113           vmovdqu16 %ymm24, %ymm23
114
115 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3}
116 // CHECK:  encoding: [0x62,0x81,0xff,0x2b,0x6f,0xf8]
117           vmovdqu16 %ymm24, %ymm23 {%k3}
118
119 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3} {z}
120 // CHECK:  encoding: [0x62,0x81,0xff,0xab,0x6f,0xf8]
121           vmovdqu16 %ymm24, %ymm23 {%k3} {z}
122
123 // CHECK: vmovdqu16 (%rcx), %ymm23
124 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x39]
125           vmovdqu16 (%rcx), %ymm23
126
127 // CHECK: vmovdqu16 291(%rax,%r14,8), %ymm23
128 // CHECK:  encoding: [0x62,0xa1,0xff,0x28,0x6f,0xbc,0xf0,0x23,0x01,0x00,0x00]
129           vmovdqu16 291(%rax,%r14,8), %ymm23
130
131 // CHECK: vmovdqu16 4064(%rdx), %ymm23
132 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x7f]
133           vmovdqu16 4064(%rdx), %ymm23
134
135 // CHECK: vmovdqu16 4096(%rdx), %ymm23
136 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0x00,0x10,0x00,0x00]
137           vmovdqu16 4096(%rdx), %ymm23
138
139 // CHECK: vmovdqu16 -4096(%rdx), %ymm23
140 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x80]
141           vmovdqu16 -4096(%rdx), %ymm23
142
143 // CHECK: vmovdqu16 -4128(%rdx), %ymm23
144 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0xe0,0xef,0xff,0xff]
145           vmovdqu16 -4128(%rdx), %ymm23
146
147 // CHECK: vmovdqu8 %xmm17, (%rcx)
148 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x09]
149           vmovdqu8 %xmm17, (%rcx)
150
151 // CHECK: vmovdqu8 %xmm17, (%rcx) {%k4}
152 // CHECK:  encoding: [0x62,0xe1,0x7f,0x0c,0x7f,0x09]
153           vmovdqu8 %xmm17, (%rcx) {%k4}
154
155 // CHECK: vmovdqu8 %xmm17, 291(%rax,%r14,8)
156 // CHECK:  encoding: [0x62,0xa1,0x7f,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]
157           vmovdqu8 %xmm17, 291(%rax,%r14,8)
158
159 // CHECK: vmovdqu8 %xmm17, 2032(%rdx)
160 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x7f]
161           vmovdqu8 %xmm17, 2032(%rdx)
162
163 // CHECK: vmovdqu8 %xmm17, 2048(%rdx)
164 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]
165           vmovdqu8 %xmm17, 2048(%rdx)
166
167 // CHECK: vmovdqu8 %xmm17, -2048(%rdx)
168 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x80]
169           vmovdqu8 %xmm17, -2048(%rdx)
170
171 // CHECK: vmovdqu8 %xmm17, -2064(%rdx)
172 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]
173           vmovdqu8 %xmm17, -2064(%rdx)
174
175 // CHECK: vmovdqu8 %ymm21, (%rcx)
176 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x29]
177           vmovdqu8 %ymm21, (%rcx)
178
179 // CHECK: vmovdqu8 %ymm21, (%rcx) {%k1}
180 // CHECK:  encoding: [0x62,0xe1,0x7f,0x29,0x7f,0x29]
181           vmovdqu8 %ymm21, (%rcx) {%k1}
182
183 // CHECK: vmovdqu8 %ymm21, 291(%rax,%r14,8)
184 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
185           vmovdqu8 %ymm21, 291(%rax,%r14,8)
186
187 // CHECK: vmovdqu8 %ymm21, 4064(%rdx)
188 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x7f]
189           vmovdqu8 %ymm21, 4064(%rdx)
190
191 // CHECK: vmovdqu8 %ymm21, 4096(%rdx)
192 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
193           vmovdqu8 %ymm21, 4096(%rdx)
194
195 // CHECK: vmovdqu8 %ymm21, -4096(%rdx)
196 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x80]
197           vmovdqu8 %ymm21, -4096(%rdx)
198
199 // CHECK: vmovdqu8 %ymm21, -4128(%rdx)
200 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
201           vmovdqu8 %ymm21, -4128(%rdx)
202
203 // CHECK: vmovdqu16 %xmm23, (%rcx)
204 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x39]
205           vmovdqu16 %xmm23, (%rcx)
206
207 // CHECK: vmovdqu16 %xmm23, (%rcx) {%k7}
208 // CHECK:  encoding: [0x62,0xe1,0xff,0x0f,0x7f,0x39]
209           vmovdqu16 %xmm23, (%rcx) {%k7}
210
211 // CHECK: vmovdqu16 %xmm23, 291(%rax,%r14,8)
212 // CHECK:  encoding: [0x62,0xa1,0xff,0x08,0x7f,0xbc,0xf0,0x23,0x01,0x00,0x00]
213           vmovdqu16 %xmm23, 291(%rax,%r14,8)
214
215 // CHECK: vmovdqu16 %xmm23, 2032(%rdx)
216 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x7f]
217           vmovdqu16 %xmm23, 2032(%rdx)
218
219 // CHECK: vmovdqu16 %xmm23, 2048(%rdx)
220 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0x00,0x08,0x00,0x00]
221           vmovdqu16 %xmm23, 2048(%rdx)
222
223 // CHECK: vmovdqu16 %xmm23, -2048(%rdx)
224 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x80]
225           vmovdqu16 %xmm23, -2048(%rdx)
226
227 // CHECK: vmovdqu16 %xmm23, -2064(%rdx)
228 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0xf0,0xf7,0xff,0xff]
229           vmovdqu16 %xmm23, -2064(%rdx)
230
231 // CHECK: vmovdqu16 %ymm29, (%rcx)
232 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x29]
233           vmovdqu16 %ymm29, (%rcx)
234
235 // CHECK: vmovdqu16 %ymm29, (%rcx) {%k6}
236 // CHECK:  encoding: [0x62,0x61,0xff,0x2e,0x7f,0x29]
237           vmovdqu16 %ymm29, (%rcx) {%k6}
238
239 // CHECK: vmovdqu16 %ymm29, 291(%rax,%r14,8)
240 // CHECK:  encoding: [0x62,0x21,0xff,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
241           vmovdqu16 %ymm29, 291(%rax,%r14,8)
242
243 // CHECK: vmovdqu16 %ymm29, 4064(%rdx)
244 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x7f]
245           vmovdqu16 %ymm29, 4064(%rdx)
246
247 // CHECK: vmovdqu16 %ymm29, 4096(%rdx)
248 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
249           vmovdqu16 %ymm29, 4096(%rdx)
250
251 // CHECK: vmovdqu16 %ymm29, -4096(%rdx)
252 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x80]
253           vmovdqu16 %ymm29, -4096(%rdx)
254
255 // CHECK: vmovdqu16 %ymm29, -4128(%rdx)
256 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
257           vmovdqu16 %ymm29, -4128(%rdx)