1// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq -mattr=+avx512vl --show-encoding %s | FileCheck %s 2 3// CHECK: vpmullq %xmm22, %xmm17, %xmm26 4// CHECK: encoding: [0x62,0x22,0xf5,0x00,0x40,0xd6] 5 vpmullq %xmm22, %xmm17, %xmm26 6 7// CHECK: vpmullq %xmm22, %xmm17, %xmm26 {%k6} 8// CHECK: encoding: [0x62,0x22,0xf5,0x06,0x40,0xd6] 9 vpmullq %xmm22, %xmm17, %xmm26 {%k6} 10 11// CHECK: vpmullq %xmm22, %xmm17, %xmm26 {%k6} {z} 12// CHECK: encoding: [0x62,0x22,0xf5,0x86,0x40,0xd6] 13 vpmullq %xmm22, %xmm17, %xmm26 {%k6} {z} 14 15// CHECK: vpmullq (%rcx), %xmm17, %xmm26 16// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x40,0x11] 17 vpmullq (%rcx), %xmm17, %xmm26 18 19// CHECK: vpmullq 291(%rax,%r14,8), %xmm17, %xmm26 20// CHECK: encoding: [0x62,0x22,0xf5,0x00,0x40,0x94,0xf0,0x23,0x01,0x00,0x00] 21 vpmullq 291(%rax,%r14,8), %xmm17, %xmm26 22 23// CHECK: vpmullq (%rcx){1to2}, %xmm17, %xmm26 24// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x40,0x11] 25 vpmullq (%rcx){1to2}, %xmm17, %xmm26 26 27// CHECK: vpmullq 2032(%rdx), %xmm17, %xmm26 28// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x40,0x52,0x7f] 29 vpmullq 2032(%rdx), %xmm17, %xmm26 30 31// CHECK: vpmullq 2048(%rdx), %xmm17, %xmm26 32// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x40,0x92,0x00,0x08,0x00,0x00] 33 vpmullq 2048(%rdx), %xmm17, %xmm26 34 35// CHECK: vpmullq -2048(%rdx), %xmm17, %xmm26 36// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x40,0x52,0x80] 37 vpmullq -2048(%rdx), %xmm17, %xmm26 38 39// CHECK: vpmullq -2064(%rdx), %xmm17, %xmm26 40// CHECK: encoding: [0x62,0x62,0xf5,0x00,0x40,0x92,0xf0,0xf7,0xff,0xff] 41 vpmullq -2064(%rdx), %xmm17, %xmm26 42 43// CHECK: vpmullq 1016(%rdx){1to2}, %xmm17, %xmm26 44// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x40,0x52,0x7f] 45 vpmullq 1016(%rdx){1to2}, %xmm17, %xmm26 46 47// CHECK: vpmullq 1024(%rdx){1to2}, %xmm17, %xmm26 48// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x40,0x92,0x00,0x04,0x00,0x00] 49 vpmullq 1024(%rdx){1to2}, %xmm17, %xmm26 50 51// CHECK: vpmullq -1024(%rdx){1to2}, %xmm17, %xmm26 52// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x40,0x52,0x80] 53 vpmullq -1024(%rdx){1to2}, %xmm17, %xmm26 54 55// CHECK: vpmullq -1032(%rdx){1to2}, %xmm17, %xmm26 56// CHECK: encoding: [0x62,0x62,0xf5,0x10,0x40,0x92,0xf8,0xfb,0xff,0xff] 57 vpmullq -1032(%rdx){1to2}, %xmm17, %xmm26 58 59// CHECK: vpmullq %ymm25, %ymm25, %ymm25 60// CHECK: encoding: [0x62,0x02,0xb5,0x20,0x40,0xc9] 61 vpmullq %ymm25, %ymm25, %ymm25 62 63// CHECK: vpmullq %ymm25, %ymm25, %ymm25 {%k3} 64// CHECK: encoding: [0x62,0x02,0xb5,0x23,0x40,0xc9] 65 vpmullq %ymm25, %ymm25, %ymm25 {%k3} 66 67// CHECK: vpmullq %ymm25, %ymm25, %ymm25 {%k3} {z} 68// CHECK: encoding: [0x62,0x02,0xb5,0xa3,0x40,0xc9] 69 vpmullq %ymm25, %ymm25, %ymm25 {%k3} {z} 70 71// CHECK: vpmullq (%rcx), %ymm25, %ymm25 72// CHECK: encoding: [0x62,0x62,0xb5,0x20,0x40,0x09] 73 vpmullq (%rcx), %ymm25, %ymm25 74 75// CHECK: vpmullq 291(%rax,%r14,8), %ymm25, %ymm25 76// CHECK: encoding: [0x62,0x22,0xb5,0x20,0x40,0x8c,0xf0,0x23,0x01,0x00,0x00] 77 vpmullq 291(%rax,%r14,8), %ymm25, %ymm25 78 79// CHECK: vpmullq (%rcx){1to4}, %ymm25, %ymm25 80// CHECK: encoding: [0x62,0x62,0xb5,0x30,0x40,0x09] 81 vpmullq (%rcx){1to4}, %ymm25, %ymm25 82 83// CHECK: vpmullq 4064(%rdx), %ymm25, %ymm25 84// CHECK: encoding: [0x62,0x62,0xb5,0x20,0x40,0x4a,0x7f] 85 vpmullq 4064(%rdx), %ymm25, %ymm25 86 87// CHECK: vpmullq 4096(%rdx), %ymm25, %ymm25 88// CHECK: encoding: [0x62,0x62,0xb5,0x20,0x40,0x8a,0x00,0x10,0x00,0x00] 89 vpmullq 4096(%rdx), %ymm25, %ymm25 90 91// CHECK: vpmullq -4096(%rdx), %ymm25, %ymm25 92// CHECK: encoding: [0x62,0x62,0xb5,0x20,0x40,0x4a,0x80] 93 vpmullq -4096(%rdx), %ymm25, %ymm25 94 95// CHECK: vpmullq -4128(%rdx), %ymm25, %ymm25 96// CHECK: encoding: [0x62,0x62,0xb5,0x20,0x40,0x8a,0xe0,0xef,0xff,0xff] 97 vpmullq -4128(%rdx), %ymm25, %ymm25 98 99// CHECK: vpmullq 1016(%rdx){1to4}, %ymm25, %ymm25 100// CHECK: encoding: [0x62,0x62,0xb5,0x30,0x40,0x4a,0x7f] 101 vpmullq 1016(%rdx){1to4}, %ymm25, %ymm25 102 103// CHECK: vpmullq 1024(%rdx){1to4}, %ymm25, %ymm25 104// CHECK: encoding: [0x62,0x62,0xb5,0x30,0x40,0x8a,0x00,0x04,0x00,0x00] 105 vpmullq 1024(%rdx){1to4}, %ymm25, %ymm25 106 107// CHECK: vpmullq -1024(%rdx){1to4}, %ymm25, %ymm25 108// CHECK: encoding: [0x62,0x62,0xb5,0x30,0x40,0x4a,0x80] 109 vpmullq -1024(%rdx){1to4}, %ymm25, %ymm25 110 111// CHECK: vpmullq -1032(%rdx){1to4}, %ymm25, %ymm25 112// CHECK: encoding: [0x62,0x62,0xb5,0x30,0x40,0x8a,0xf8,0xfb,0xff,0xff] 113 vpmullq -1032(%rdx){1to4}, %ymm25, %ymm25 114