[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / MC / X86 / intel-syntax-x86-64-avx.s
blobbb57cb287f384b2bcf68b92c0d34fdc165b512d4
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]
69 vcvtpd2ps xmm0, xmm15
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]
77 vcvtpd2ps xmm0, ymm15
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]
85 vcvtpd2dq xmm0, xmm15
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]
93 vcvtpd2dq xmm0, ymm15
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]