| // RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s | |
| // CHECK: vgatherdpd xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f] | |
| vgatherdpd xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: vgatherqpd xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xf9,0x93,0x14,0x4f] | |
| vgatherqpd xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: vgatherdpd ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xfd,0x92,0x14,0x4f] | |
| vgatherdpd ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 | |
| // CHECK: vgatherqpd ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xfd,0x93,0x14,0x4f] | |
| vgatherqpd ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 | |
| // CHECK: vgatherdps xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x39,0x92,0x14,0x4f] | |
| vgatherdps xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: vgatherqps xmm10, qword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x39,0x93,0x14,0x4f] | |
| vgatherqps xmm10, qword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: vgatherdps ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 | |
| // CHECK: encoding: [0xc4,0x02,0x3d,0x92,0x14,0x4f] | |
| vgatherdps ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 | |
| // CHECK: vgatherqps xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x3d,0x93,0x14,0x4f] | |
| vgatherqps xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 | |
| // CHECK: vpgatherdq xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xf9,0x90,0x14,0x4f] | |
| vpgatherdq xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: vpgatherqq xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xf9,0x91,0x14,0x4f] | |
| vpgatherqq xmm2, xmmword ptr [rdi + 2*xmm1], xmm0 | |
| // CHECK: vpgatherdq ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xfd,0x90,0x14,0x4f] | |
| vpgatherdq ymm2, ymmword ptr [rdi + 2*xmm1], ymm0 | |
| // CHECK: vpgatherqq ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 | |
| // CHECK: encoding: [0xc4,0xe2,0xfd,0x91,0x14,0x4f] | |
| vpgatherqq ymm2, ymmword ptr [rdi + 2*ymm1], ymm0 | |
| // CHECK: vpgatherdd xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x39,0x90,0x14,0x4f] | |
| vpgatherdd xmm10, xmmword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: vpgatherqd xmm10, qword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x39,0x91,0x14,0x4f] | |
| vpgatherqd xmm10, qword ptr [r15 + 2*xmm9], xmm8 | |
| // CHECK: vpgatherdd ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 | |
| // CHECK: encoding: [0xc4,0x02,0x3d,0x90,0x14,0x4f] | |
| vpgatherdd ymm10, ymmword ptr [r15 + 2*ymm9], ymm8 | |
| // CHECK: vpgatherqd xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 | |
| // CHECK: encoding: [0xc4,0x02,0x3d,0x91,0x14,0x4f] | |
| vpgatherqd xmm10, xmmword ptr [r15 + 2*ymm9], xmm8 | |
| // CHECK: vcvtpd2ps xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7] | |
| vcvtpd2ps xmm0, xmm15 | |
| // CHECK: vcvtpd2ps xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7] | |
| vcvtpd2psx xmm0, xmm15 | |
| // CHECK: vcvtpd2ps xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xf9,0x5a,0x00] | |
| vcvtpd2ps xmm0, xmmword ptr [rax] | |
| // CHECK: vcvtpd2ps xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xf9,0x5a,0x00] | |
| vcvtpd2psx xmm0, xmmword ptr [rax] | |
| // CHECK: vcvtpd2ps xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7] | |
| vcvtpd2ps xmm0, ymm15 | |
| // CHECK: vcvtpd2ps xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7] | |
| vcvtpd2psy xmm0, ymm15 | |
| // CHECK: vcvtpd2ps xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfd,0x5a,0x00] | |
| vcvtpd2ps xmm0, ymmword ptr [rax] | |
| // CHECK: vcvtpd2ps xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfd,0x5a,0x00] | |
| vcvtpd2psy xmm0, ymmword ptr [rax] | |
| // CHECK: vcvtpd2dq xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7] | |
| vcvtpd2dq xmm0, xmm15 | |
| // CHECK: vcvtpd2dq xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7] | |
| vcvtpd2dqx xmm0, xmm15 | |
| // CHECK: vcvtpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfb,0xe6,0x00] | |
| vcvtpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: vcvtpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfb,0xe6,0x00] | |
| vcvtpd2dqx xmm0, xmmword ptr [rax] | |
| // CHECK: vcvtpd2dq xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7] | |
| vcvtpd2dq xmm0, ymm15 | |
| // CHECK: vcvtpd2dq xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7] | |
| vcvtpd2dqy xmm0, ymm15 | |
| // CHECK: vcvtpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xff,0xe6,0x00] | |
| vcvtpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: vcvtpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xff,0xe6,0x00] | |
| vcvtpd2dqy xmm0, ymmword ptr [rax] | |
| // CHECK: vcvttpd2dq xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7] | |
| vcvttpd2dq xmm0, xmm15 | |
| // CHECK: vcvttpd2dq xmm0, xmm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7] | |
| vcvttpd2dqx xmm0, xmm15 | |
| // CHECK: vcvttpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xf9,0xe6,0x00] | |
| vcvttpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: vcvttpd2dq xmm0, xmmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xf9,0xe6,0x00] | |
| vcvttpd2dqx xmm0, xmmword ptr [rax] | |
| // CHECK: vcvttpd2dq xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7] | |
| vcvttpd2dq xmm0, ymm15 | |
| // CHECK: vcvttpd2dq xmm0, ymm15 | |
| // CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7] | |
| vcvttpd2dqy xmm0, ymm15 | |
| // CHECK: vcvttpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfd,0xe6,0x00] | |
| vcvttpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: vcvttpd2dq xmm0, ymmword ptr [rax] | |
| // CHECK: encoding: [0xc5,0xfd,0xe6,0x00] | |
| vcvttpd2dqy xmm0, ymmword ptr [rax] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmm3 | |
| // CHECK: encoding: [0xc5,0xe9,0xf5,0xcb] | |
| vpmaddwd xmm1, xmm2, xmm3 | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx] | |
| // CHECK: encoding: [0xc5,0xe9,0xf5,0x09] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rcx] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4] | |
| // CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0xfc] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rsp - 4] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4] | |
| // CHECK: encoding: [0xc5,0xe9,0xf5,0x4c,0x24,0x04] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rsp + 4] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456] | |
| // CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 + 268435456] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912] | |
| // CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870912] | |
| // CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910] | |
| // CHECK: encoding: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0] | |
| vpmaddwd xmm1, xmm2, xmmword ptr [rcx + 8*r14 - 536870910] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymm3 | |
| // CHECK: encoding: [0xc5,0xed,0xf5,0xcb] | |
| vpmaddwd ymm1, ymm2, ymm3 | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx] | |
| // CHECK: encoding: [0xc5,0xed,0xf5,0x09] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rcx] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4] | |
| // CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0xfc] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rsp - 4] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4] | |
| // CHECK: encoding: [0xc5,0xed,0xf5,0x4c,0x24,0x04] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rsp + 4] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456] | |
| // CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 + 268435456] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912] | |
| // CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870912] | |
| // CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910] | |
| // CHECK: encoding: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0] | |
| vpmaddwd ymm1, ymm2, ymmword ptr [rcx + 8*r14 - 536870910] |