• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3// CHECK: vgatherdpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
4// CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]
5          vgatherdpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
6
7// CHECK: vgatherqpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
8// CHECK: encoding: [0xc4,0xe2,0xf9,0x93,0x14,0x4f]
9          vgatherqpd    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
10
11// CHECK: vgatherdpd    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0
12// CHECK: encoding: [0xc4,0xe2,0xfd,0x92,0x14,0x4f]
13          vgatherdpd    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0
14
15// CHECK: vgatherqpd    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
16// CHECK: encoding: [0xc4,0xe2,0xfd,0x93,0x14,0x4f]
17          vgatherqpd    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
18
19// CHECK: vgatherdps    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
20// CHECK: encoding: [0xc4,0x02,0x39,0x92,0x14,0x4f]
21          vgatherdps    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
22
23// CHECK: vgatherqps    xmm10, qword ptr [r15 + 2*xmm9], xmm8
24// CHECK: encoding: [0xc4,0x02,0x39,0x93,0x14,0x4f]
25          vgatherqps    xmm10, qword ptr [r15 + 2*xmm9], xmm8
26
27// CHECK: vgatherdps    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8
28// CHECK: encoding: [0xc4,0x02,0x3d,0x92,0x14,0x4f]
29          vgatherdps    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8
30
31// CHECK: vgatherqps    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8
32// CHECK: encoding: [0xc4,0x02,0x3d,0x93,0x14,0x4f]
33          vgatherqps    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8
34
35// CHECK: vpgatherdq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
36// CHECK: encoding: [0xc4,0xe2,0xf9,0x90,0x14,0x4f]
37          vpgatherdq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
38
39// CHECK: vpgatherqq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
40// CHECK: encoding: [0xc4,0xe2,0xf9,0x91,0x14,0x4f]
41          vpgatherqq    xmm2, xmmword ptr [rdi + 2*xmm1], xmm0
42
43// CHECK: vpgatherdq    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0
44// CHECK: encoding: [0xc4,0xe2,0xfd,0x90,0x14,0x4f]
45          vpgatherdq    ymm2, ymmword ptr [rdi + 2*xmm1], ymm0
46
47// CHECK: vpgatherqq    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
48// CHECK: encoding: [0xc4,0xe2,0xfd,0x91,0x14,0x4f]
49          vpgatherqq    ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
50
51// CHECK: vpgatherdd    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
52// CHECK: encoding: [0xc4,0x02,0x39,0x90,0x14,0x4f]
53          vpgatherdd    xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
54
55// CHECK: vpgatherqd    xmm10, qword ptr [r15 + 2*xmm9], xmm8
56// CHECK: encoding: [0xc4,0x02,0x39,0x91,0x14,0x4f]
57          vpgatherqd    xmm10, qword ptr [r15 + 2*xmm9], xmm8
58
59// CHECK: vpgatherdd    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8
60// CHECK: encoding: [0xc4,0x02,0x3d,0x90,0x14,0x4f]
61          vpgatherdd    ymm10, ymmword ptr [r15 + 2*ymm9], ymm8
62
63// CHECK: vpgatherqd    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8
64// CHECK: encoding: [0xc4,0x02,0x3d,0x91,0x14,0x4f]
65          vpgatherqd    xmm10, xmmword ptr [r15 + 2*ymm9], xmm8
66
67// CHECK: vcvtpd2ps xmm0, xmm15
68// CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7]
69          vcvtpd2ps xmm0, xmm15
70
71// CHECK: vcvtpd2ps xmm0, xmm15
72// CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7]
73          vcvtpd2psx xmm0, xmm15
74
75// CHECK: vcvtpd2ps xmm0, xmmword ptr [rax]
76// CHECK: encoding: [0xc5,0xf9,0x5a,0x00]
77          vcvtpd2ps xmm0, xmmword ptr [rax]
78
79// CHECK: vcvtpd2ps xmm0, xmmword ptr [rax]
80// CHECK: encoding: [0xc5,0xf9,0x5a,0x00]
81          vcvtpd2psx xmm0, xmmword ptr [rax]
82
83// CHECK: vcvtpd2ps xmm0, ymm15
84// CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7]
85          vcvtpd2ps xmm0, ymm15
86
87// CHECK: vcvtpd2ps xmm0, ymm15
88// CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7]
89          vcvtpd2psy xmm0, ymm15
90
91// CHECK: vcvtpd2ps xmm0, ymmword ptr [rax]
92// CHECK: encoding: [0xc5,0xfd,0x5a,0x00]
93          vcvtpd2ps xmm0, ymmword ptr [rax]
94
95// CHECK: vcvtpd2ps xmm0, ymmword ptr [rax]
96// CHECK: encoding: [0xc5,0xfd,0x5a,0x00]
97          vcvtpd2psy xmm0, ymmword ptr [rax]
98
99// CHECK: vcvtpd2dq xmm0, xmm15
100// CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7]
101          vcvtpd2dq xmm0, xmm15
102
103// CHECK: vcvtpd2dq xmm0, xmm15
104// CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7]
105          vcvtpd2dqx xmm0, xmm15
106
107// CHECK: vcvtpd2dq xmm0, xmmword ptr [rax]
108// CHECK: encoding: [0xc5,0xfb,0xe6,0x00]
109          vcvtpd2dq xmm0, xmmword ptr [rax]
110
111// CHECK: vcvtpd2dq xmm0, xmmword ptr [rax]
112// CHECK: encoding: [0xc5,0xfb,0xe6,0x00]
113          vcvtpd2dqx xmm0, xmmword ptr [rax]
114
115// CHECK: vcvtpd2dq xmm0, ymm15
116// CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7]
117          vcvtpd2dq xmm0, ymm15
118
119// CHECK: vcvtpd2dq xmm0, ymm15
120// CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7]
121          vcvtpd2dqy xmm0, ymm15
122
123// CHECK: vcvtpd2dq xmm0, ymmword ptr [rax]
124// CHECK: encoding: [0xc5,0xff,0xe6,0x00]
125          vcvtpd2dq xmm0, ymmword ptr [rax]
126
127// CHECK: vcvtpd2dq xmm0, ymmword ptr [rax]
128// CHECK: encoding: [0xc5,0xff,0xe6,0x00]
129          vcvtpd2dqy xmm0, ymmword ptr [rax]
130
131// CHECK: vcvttpd2dq xmm0, xmm15
132// CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7]
133          vcvttpd2dq xmm0, xmm15
134
135// CHECK: vcvttpd2dq xmm0, xmm15
136// CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7]
137          vcvttpd2dqx xmm0, xmm15
138
139// CHECK: vcvttpd2dq xmm0, xmmword ptr [rax]
140// CHECK: encoding: [0xc5,0xf9,0xe6,0x00]
141          vcvttpd2dq xmm0, xmmword ptr [rax]
142
143// CHECK: vcvttpd2dq xmm0, xmmword ptr [rax]
144// CHECK: encoding: [0xc5,0xf9,0xe6,0x00]
145          vcvttpd2dqx xmm0, xmmword ptr [rax]
146
147// CHECK: vcvttpd2dq xmm0, ymm15
148// CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7]
149          vcvttpd2dq xmm0, ymm15
150
151// CHECK: vcvttpd2dq xmm0, ymm15
152// CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7]
153          vcvttpd2dqy xmm0, ymm15
154
155// CHECK: vcvttpd2dq xmm0, ymmword ptr [rax]
156// CHECK: encoding: [0xc5,0xfd,0xe6,0x00]
157          vcvttpd2dq xmm0, ymmword ptr [rax]
158
159// CHECK: vcvttpd2dq xmm0, ymmword ptr [rax]
160// CHECK: encoding: [0xc5,0xfd,0xe6,0x00]
161          vcvttpd2dqy xmm0, ymmword ptr [rax]
162
163// CHECK: vpmaddwd xmm1, xmm2, xmm3
164// CHECK: encoding: [0xc5,0xe9,0xf5,0xcb]
165          vpmaddwd xmm1, xmm2, xmm3
166
167// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx]
168// CHECK: encoding: [0xc5,0xe9,0xf5,0x09]
169          vpmaddwd xmm1, xmm2, xmmword ptr [rcx]
170
171// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4]
172// CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0xfc]
173          vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4]
174
175// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4]
176// CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0x04]
177          vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4]
178
179// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456]
180// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
181          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456]
182
183// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912]
184// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
185          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912]
186
187// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910]
188// CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
189          vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910]
190
191// CHECK: vpmaddwd ymm1, ymm2, ymm3
192// CHECK: encoding: [0xc5,0xed,0xf5,0xcb]
193          vpmaddwd ymm1, ymm2, ymm3
194
195// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx]
196// CHECK: encoding: [0xc5,0xed,0xf5,0x09]
197          vpmaddwd ymm1, ymm2, ymmword ptr [rcx]
198
199// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4]
200// CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0xfc]
201          vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4]
202
203// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4]
204// CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0x04]
205          vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4]
206
207// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456]
208// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
209          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456]
210
211// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912]
212// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
213          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912]
214
215// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910]
216// CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
217          vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910]
218