1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/MC/X86/x86-64-avx512pf.s
Craig Topper b7079c1bf8 [X86] Teach X86MCodeEmitter to properly encode zmm16-zmm31 as index register to vgatherpf/vscatterpf.
We need to encode bit 4 into the EVEX.V' bit. We do this right
for regular gather/scatter which use either MRMSrcMem or MRMDestMem
formats.  The prefetches use MRM*m formats.

Fixes an issue recently added to PR36202.

llvm-svn: 374849
2019-10-14 23:48:24 +00:00

66 lines
2.2 KiB
ArmAsm

// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
// CHECK: vgatherpf0dps (%r8,%zmm20) {%k1}
// CHECK: encoding: [0x62,0xd2,0x7d,0x41,0xc6,0x0c,0x20]
vgatherpf0dps (%r8,%zmm20){%k1}
// CHECK: vgatherpf1dps (%r9,%zmm19) {%k2}
// CHECK: encoding: [0x62,0xd2,0x7d,0x42,0xc6,0x14,0x19]
vgatherpf1dps (%r9,%zmm19){%k2}
// CHECK: vgatherpf0dpd (%r10,%ymm18) {%k3}
// CHECK: encoding: [0x62,0xd2,0xfd,0x43,0xc6,0x0c,0x12]
vgatherpf0dpd (%r10,%ymm18){%k3}
// CHECK: vgatherpf1dpd (%r11,%ymm17) {%k4}
// CHECK: encoding: [0x62,0xd2,0xfd,0x44,0xc6,0x14,0x0b]
vgatherpf1dpd (%r11,%ymm17){%k4}
// CHECK: vgatherpf0qps (%r12,%zmm16) {%k5}
// CHECK: encoding: [0x62,0xd2,0x7d,0x45,0xc7,0x0c,0x04]
vgatherpf0qps (%r12,%zmm16){%k5}
// CHECK: vgatherpf1qps (%r13,%zmm15) {%k6}
// CHECK: encoding: [0x62,0x92,0x7d,0x4e,0xc7,0x54,0x3d,0x00]
vgatherpf1qps (%r13,%zmm15){%k6}
// CHECK: vgatherpf0qpd (%r14,%zmm14) {%k7}
// CHECK: encoding: [0x62,0x92,0xfd,0x4f,0xc7,0x0c,0x36]
vgatherpf0qpd (%r14,%zmm14){%k7}
// CHECK: vgatherpf1qpd (%r15,%zmm13) {%k1}
// CHECK: encoding: [0x62,0x92,0xfd,0x49,0xc7,0x14,0x2f]
vgatherpf1qpd (%r15,%zmm13){%k1}
// CHECK: vscatterpf0dps (%r8,%zmm20) {%k1}
// CHECK: encoding: [0x62,0xd2,0x7d,0x41,0xc6,0x2c,0x20]
vscatterpf0dps (%r8,%zmm20){%k1}
// CHECK: vscatterpf1dps (%r9,%zmm19) {%k2}
// CHECK: encoding: [0x62,0xd2,0x7d,0x42,0xc6,0x34,0x19]
vscatterpf1dps (%r9,%zmm19){%k2}
// CHECK: vscatterpf0dpd (%r10,%ymm18) {%k3}
// CHECK: encoding: [0x62,0xd2,0xfd,0x43,0xc6,0x2c,0x12]
vscatterpf0dpd (%r10,%ymm18){%k3}
// CHECK: vscatterpf1dpd (%r11,%ymm17) {%k4}
// CHECK: encoding: [0x62,0xd2,0xfd,0x44,0xc6,0x34,0x0b]
vscatterpf1dpd (%r11,%ymm17){%k4}
// CHECK: vscatterpf0qps (%r12,%zmm16) {%k5}
// CHECK: encoding: [0x62,0xd2,0x7d,0x45,0xc7,0x2c,0x04]
vscatterpf0qps (%r12,%zmm16){%k5}
// CHECK: vscatterpf1qps (%r13,%zmm15) {%k6}
// CHECK: encoding: [0x62,0x92,0x7d,0x4e,0xc7,0x74,0x3d,0x00]
vscatterpf1qps (%r13,%zmm15){%k6}
// CHECK: vscatterpf0qpd (%r14,%zmm14) {%k7}
// CHECK: encoding: [0x62,0x92,0xfd,0x4f,0xc7,0x2c,0x36]
vscatterpf0qpd (%r14,%zmm14){%k7}
// CHECK: vscatterpf1qpd (%r15,%zmm13) {%k1}
// CHECK: encoding: [0x62,0x92,0xfd,0x49,0xc7,0x34,0x2f]
vscatterpf1qpd (%r15,%zmm13){%k1}