1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
-x86-asm-syntax
=intel
-output-asm-variant
=1 --show-encoding
%s | FileCheck
%s
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
67 // CHECK
: vcvtpd2ps xmm0
, xmm15
68 // CHECK
: encoding
: [0xc4,0xc1,0x79,0x5a,0xc7]
71 // CHECK
: vcvtpd2ps xmm0
, xmmword ptr
[rax
]
72 // CHECK
: encoding
: [0xc5,0xf9,0x5a,0x00]
73 vcvtpd2ps xmm0
, xmmword ptr
[rax
]
75 // CHECK
: vcvtpd2ps xmm0
, ymm15
76 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0x5a,0xc7]
79 // CHECK
: vcvtpd2ps xmm0
, ymmword ptr
[rax
]
80 // CHECK
: encoding
: [0xc5,0xfd,0x5a,0x00]
81 vcvtpd2ps xmm0
, ymmword ptr
[rax
]
83 // CHECK
: vcvtpd2dq xmm0
, xmm15
84 // CHECK
: encoding
: [0xc4,0xc1,0x7b,0xe6,0xc7]
87 // CHECK
: vcvtpd2dq xmm0
, xmmword ptr
[rax
]
88 // CHECK
: encoding
: [0xc5,0xfb,0xe6,0x00]
89 vcvtpd2dq xmm0
, xmmword ptr
[rax
]
91 // CHECK
: vcvtpd2dq xmm0
, ymm15
92 // CHECK
: encoding
: [0xc4,0xc1,0x7f,0xe6,0xc7]
95 // CHECK
: vcvtpd2dq xmm0
, ymmword ptr
[rax
]
96 // CHECK
: encoding
: [0xc5,0xff,0xe6,0x00]
97 vcvtpd2dq xmm0
, ymmword ptr
[rax
]
99 // CHECK
: vcvttpd2dq xmm0
, xmm15
100 // CHECK
: encoding
: [0xc4,0xc1,0x79,0xe6,0xc7]
101 vcvttpd2dq xmm0
, xmm15
103 // CHECK
: vcvttpd2dq xmm0
, xmmword ptr
[rax
]
104 // CHECK
: encoding
: [0xc5,0xf9,0xe6,0x00]
105 vcvttpd2dq xmm0
, xmmword ptr
[rax
]
107 // CHECK
: vcvttpd2dq xmm0
, ymm15
108 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0xe6,0xc7]
109 vcvttpd2dq xmm0
, ymm15
111 // CHECK
: vcvttpd2dq xmm0
, ymmword ptr
[rax
]
112 // CHECK
: encoding
: [0xc5,0xfd,0xe6,0x00]
113 vcvttpd2dq xmm0
, ymmword ptr
[rax
]
115 // CHECK
: vpmaddwd xmm1
, xmm2
, xmm3
116 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0xcb]
117 vpmaddwd xmm1
, xmm2
, xmm3
119 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
]
120 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x09]
121 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
]
123 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
- 4]
124 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x4c,0x24,0xfc]
125 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
- 4]
127 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
+ 4]
128 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x4c,0x24,0x04]
129 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
+ 4]
131 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 + 268435456]
132 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
133 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 + 268435456]
135 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870912]
136 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
137 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870912]
139 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870910]
140 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
141 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870910]
143 // CHECK
: vpmaddwd ymm1
, ymm2
, ymm3
144 // CHECK
: encoding
: [0xc5,0xed,0xf5,0xcb]
145 vpmaddwd ymm1
, ymm2
, ymm3
147 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
]
148 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x09]
149 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
]
151 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
- 4]
152 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x4c,0x24,0xfc]
153 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
- 4]
155 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
+ 4]
156 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x4c,0x24,0x04]
157 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
+ 4]
159 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 + 268435456]
160 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
161 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 + 268435456]
163 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870912]
164 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
165 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870912]
167 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870910]
168 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
169 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870910]