174 lines · plain
1// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s2 3// CHECK: vgatherdpd xmm2, qword ptr [rdi + 2*xmm1], xmm0 4// CHECK: encoding: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]5 vgatherdpd xmm2, qword ptr [rdi + 2*xmm1], xmm0 6 7// CHECK: vgatherqpd xmm2, qword ptr [rdi + 2*xmm1], xmm0 8// CHECK: encoding: [0xc4,0xe2,0xf9,0x93,0x14,0x4f]9 vgatherqpd xmm2, qword ptr [rdi + 2*xmm1], xmm0 10 11// CHECK: vgatherdpd ymm2, qword ptr [rdi + 2*xmm1], ymm0 12// CHECK: encoding: [0xc4,0xe2,0xfd,0x92,0x14,0x4f]13 vgatherdpd ymm2, qword ptr [rdi + 2*xmm1], ymm0 14 15// CHECK: vgatherqpd ymm2, qword ptr [rdi + 2*ymm1], ymm0 16// CHECK: encoding: [0xc4,0xe2,0xfd,0x93,0x14,0x4f]17 vgatherqpd ymm2, qword ptr [rdi + 2*ymm1], ymm0 18 19// CHECK: vgatherdps xmm10, dword ptr [r15 + 2*xmm9], xmm8 20// CHECK: encoding: [0xc4,0x02,0x39,0x92,0x14,0x4f]21 vgatherdps xmm10, dword ptr [r15 + 2*xmm9], xmm8 22 23// CHECK: vgatherqps xmm10, dword ptr [r15 + 2*xmm9], xmm8 24// CHECK: encoding: [0xc4,0x02,0x39,0x93,0x14,0x4f]25 vgatherqps xmm10, dword ptr [r15 + 2*xmm9], xmm8 26 27// CHECK: vgatherdps ymm10, dword ptr [r15 + 2*ymm9], ymm8 28// CHECK: encoding: [0xc4,0x02,0x3d,0x92,0x14,0x4f]29 vgatherdps ymm10, dword ptr [r15 + 2*ymm9], ymm8 30 31// CHECK: vgatherqps xmm10, dword ptr [r15 + 2*ymm9], xmm8 32// CHECK: encoding: [0xc4,0x02,0x3d,0x93,0x14,0x4f]33 vgatherqps xmm10, dword ptr [r15 + 2*ymm9], xmm8 34 35// CHECK: vpgatherdq xmm2, qword ptr [rdi + 2*xmm1], xmm0 36// CHECK: encoding: [0xc4,0xe2,0xf9,0x90,0x14,0x4f]37 vpgatherdq xmm2, qword ptr [rdi + 2*xmm1], xmm0 38 39// CHECK: vpgatherqq xmm2, qword ptr [rdi + 2*xmm1], xmm0 40// CHECK: encoding: [0xc4,0xe2,0xf9,0x91,0x14,0x4f]41 vpgatherqq xmm2, qword ptr [rdi + 2*xmm1], xmm0 42 43// CHECK: vpgatherdq ymm2, qword ptr [rdi + 2*xmm1], ymm0 44// CHECK: encoding: [0xc4,0xe2,0xfd,0x90,0x14,0x4f]45 vpgatherdq ymm2, qword ptr [rdi + 2*xmm1], ymm0 46 47// CHECK: vpgatherqq ymm2, qword ptr [rdi + 2*ymm1], ymm0 48// CHECK: encoding: [0xc4,0xe2,0xfd,0x91,0x14,0x4f]49 vpgatherqq ymm2, qword ptr [rdi + 2*ymm1], ymm0 50 51// CHECK: vpgatherdd xmm10, dword ptr [r15 + 2*xmm9], xmm8 52// CHECK: encoding: [0xc4,0x02,0x39,0x90,0x14,0x4f]53 vpgatherdd xmm10, dword ptr [r15 + 2*xmm9], xmm8 54 55// CHECK: vpgatherqd xmm10, dword ptr [r15 + 2*xmm9], xmm8 56// CHECK: encoding: [0xc4,0x02,0x39,0x91,0x14,0x4f]57 vpgatherqd xmm10, dword ptr [r15 + 2*xmm9], xmm8 58 59// CHECK: vpgatherdd ymm10, dword ptr [r15 + 2*ymm9], ymm8 60// CHECK: encoding: [0xc4,0x02,0x3d,0x90,0x14,0x4f]61 vpgatherdd ymm10, dword ptr [r15 + 2*ymm9], ymm8 62 63// CHECK: vpgatherqd xmm10, dword ptr [r15 + 2*ymm9], xmm8 64// CHECK: encoding: [0xc4,0x02,0x3d,0x91,0x14,0x4f]65 vpgatherqd xmm10, dword ptr [r15 + 2*ymm9], xmm8 66 67// CHECK: vcvtpd2ps xmm0, xmm15 68// CHECK: encoding: [0xc4,0xc1,0x79,0x5a,0xc7]69 vcvtpd2ps xmm0, xmm1570 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, ymm1578 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, xmm1586 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, ymm1594 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, xmm15102 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, ymm15110 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, xmm3116// CHECK: encoding: [0xc5,0xe9,0xf5,0xcb]117 vpmaddwd xmm1, xmm2, xmm3118 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, ymm3144// CHECK: encoding: [0xc5,0xed,0xf5,0xcb]145 vpmaddwd ymm1, ymm2, ymm3146 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 171// CHECK: vextractps ecx, xmm2, 1172// CHECK: encoding: [0xc4,0xe3,0x79,0x17,0xd1,0x01]173 vextractps ecx, xmm2, 1174