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, xmmword ptr [rax] 72// CHECK: encoding: [0xc5,0xf9,0x5a,0x00] 73 vcvtpd2ps xmm0, xmmword ptr [rax] 74 75// CHECK: vcvtpd2ps xmm0, ymm15 76// CHECK: encoding: [0xc4,0xc1,0x7d,0x5a,0xc7] 77 vcvtpd2ps xmm0, ymm15 78 79// CHECK: vcvtpd2ps xmm0, ymmword ptr [rax] 80// CHECK: encoding: [0xc5,0xfd,0x5a,0x00] 81 vcvtpd2ps xmm0, ymmword ptr [rax] 82 83// CHECK: vcvtpd2dq xmm0, xmm15 84// CHECK: encoding: [0xc4,0xc1,0x7b,0xe6,0xc7] 85 vcvtpd2dq xmm0, xmm15 86 87// CHECK: vcvtpd2dq xmm0, xmmword ptr [rax] 88// CHECK: encoding: [0xc5,0xfb,0xe6,0x00] 89 vcvtpd2dq xmm0, xmmword ptr [rax] 90 91// CHECK: vcvtpd2dq xmm0, ymm15 92// CHECK: encoding: [0xc4,0xc1,0x7f,0xe6,0xc7] 93 vcvtpd2dq xmm0, ymm15 94 95// CHECK: vcvtpd2dq xmm0, ymmword ptr [rax] 96// CHECK: encoding: [0xc5,0xff,0xe6,0x00] 97 vcvtpd2dq xmm0, ymmword ptr [rax] 98 99// CHECK: vcvttpd2dq xmm0, xmm15 100// CHECK: encoding: [0xc4,0xc1,0x79,0xe6,0xc7] 101 vcvttpd2dq xmm0, xmm15 102 103// CHECK: vcvttpd2dq xmm0, xmmword ptr [rax] 104// CHECK: encoding: [0xc5,0xf9,0xe6,0x00] 105 vcvttpd2dq xmm0, xmmword ptr [rax] 106 107// CHECK: vcvttpd2dq xmm0, ymm15 108// CHECK: encoding: [0xc4,0xc1,0x7d,0xe6,0xc7] 109 vcvttpd2dq xmm0, ymm15 110 111// CHECK: vcvttpd2dq xmm0, ymmword ptr [rax] 112// CHECK: encoding: [0xc5,0xfd,0xe6,0x00] 113 vcvttpd2dq xmm0, ymmword ptr [rax] 114 115// CHECK: vpmaddwd xmm1, xmm2, xmm3 116// CHECK: encoding: [0xc5,0xe9,0xf5,0xcb] 117 vpmaddwd xmm1, xmm2, xmm3 118 119// CHECK: vpmaddwd xmm1, xmm2, xmmword ptr [rcx] 120// CHECK: encoding: [0xc5,0xe9,0xf5,0x09] 121 vpmaddwd xmm1, xmm2, xmmword ptr [rcx] 122 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] 126 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] 130 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] 134 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] 138 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] 142 143// CHECK: vpmaddwd ymm1, ymm2, ymm3 144// CHECK: encoding: [0xc5,0xed,0xf5,0xcb] 145 vpmaddwd ymm1, ymm2, ymm3 146 147// CHECK: vpmaddwd ymm1, ymm2, ymmword ptr [rcx] 148// CHECK: encoding: [0xc5,0xed,0xf5,0x09] 149 vpmaddwd ymm1, ymm2, ymmword ptr [rcx] 150 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] 154 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] 158 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] 162 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] 166 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] 170