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