1// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxvnni -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s 2 3// CHECK: {vex} vpdpbusd ymm6, ymm5, ymm4 4// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xf4] 5 {vex} vpdpbusd ymm6, ymm5, ymm4 6 7// CHECK: {vex} vpdpbusd xmm6, xmm5, xmm4 8// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xf4] 9 {vex} vpdpbusd xmm6, xmm5, xmm4 10 11// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 12// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb4,0xf4,0x00,0x00,0x00,0x10] 13 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 14 15// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 16// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb4,0x87,0x23,0x01,0x00,0x00] 17 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 18 19// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [eax] 20// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0x30] 21 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [eax] 22 23// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [2*ebp - 1024] 24// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0x34,0x6d,0x00,0xfc,0xff,0xff] 25 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [2*ebp - 1024] 26 27// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [ecx + 4064] 28// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb1,0xe0,0x0f,0x00,0x00] 29 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [ecx + 4064] 30 31// CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [edx - 4096] 32// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb2,0x00,0xf0,0xff,0xff] 33 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [edx - 4096] 34 35// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 36// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb4,0xf4,0x00,0x00,0x00,0x10] 37 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 38 39// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 40// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb4,0x87,0x23,0x01,0x00,0x00] 41 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 42 43// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [eax] 44// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0x30] 45 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [eax] 46 47// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [2*ebp - 512] 48// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0x34,0x6d,0x00,0xfe,0xff,0xff] 49 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [2*ebp - 512] 50 51// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [ecx + 2032] 52// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb1,0xf0,0x07,0x00,0x00] 53 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [ecx + 2032] 54 55// CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [edx - 2048] 56// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb2,0x00,0xf8,0xff,0xff] 57 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [edx - 2048] 58 59// CHECK: {vex} vpdpbusds ymm6, ymm5, ymm4 60// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xf4] 61 {vex} vpdpbusds ymm6, ymm5, ymm4 62 63// CHECK: {vex} vpdpbusds xmm6, xmm5, xmm4 64// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xf4] 65 {vex} vpdpbusds xmm6, xmm5, xmm4 66 67// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 68// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb4,0xf4,0x00,0x00,0x00,0x10] 69 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 70 71// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 72// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb4,0x87,0x23,0x01,0x00,0x00] 73 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 74 75// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [eax] 76// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0x30] 77 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [eax] 78 79// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [2*ebp - 1024] 80// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0x34,0x6d,0x00,0xfc,0xff,0xff] 81 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [2*ebp - 1024] 82 83// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [ecx + 4064] 84// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb1,0xe0,0x0f,0x00,0x00] 85 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [ecx + 4064] 86 87// CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [edx - 4096] 88// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb2,0x00,0xf0,0xff,0xff] 89 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [edx - 4096] 90 91// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 92// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb4,0xf4,0x00,0x00,0x00,0x10] 93 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 94 95// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 96// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb4,0x87,0x23,0x01,0x00,0x00] 97 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 98 99// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [eax] 100// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0x30] 101 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [eax] 102 103// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [2*ebp - 512] 104// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0x34,0x6d,0x00,0xfe,0xff,0xff] 105 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [2*ebp - 512] 106 107// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [ecx + 2032] 108// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb1,0xf0,0x07,0x00,0x00] 109 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [ecx + 2032] 110 111// CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [edx - 2048] 112// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb2,0x00,0xf8,0xff,0xff] 113 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [edx - 2048] 114 115// CHECK: {vex} vpdpwssd ymm6, ymm5, ymm4 116// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xf4] 117 {vex} vpdpwssd ymm6, ymm5, ymm4 118 119// CHECK: {vex} vpdpwssd xmm6, xmm5, xmm4 120// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xf4] 121 {vex} vpdpwssd xmm6, xmm5, xmm4 122 123// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 124// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb4,0xf4,0x00,0x00,0x00,0x10] 125 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 126 127// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 128// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb4,0x87,0x23,0x01,0x00,0x00] 129 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 130 131// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [eax] 132// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0x30] 133 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [eax] 134 135// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [2*ebp - 1024] 136// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0x34,0x6d,0x00,0xfc,0xff,0xff] 137 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [2*ebp - 1024] 138 139// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [ecx + 4064] 140// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb1,0xe0,0x0f,0x00,0x00] 141 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [ecx + 4064] 142 143// CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [edx - 4096] 144// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb2,0x00,0xf0,0xff,0xff] 145 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [edx - 4096] 146 147// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 148// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb4,0xf4,0x00,0x00,0x00,0x10] 149 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 150 151// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 152// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb4,0x87,0x23,0x01,0x00,0x00] 153 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 154 155// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [eax] 156// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0x30] 157 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [eax] 158 159// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [2*ebp - 512] 160// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0x34,0x6d,0x00,0xfe,0xff,0xff] 161 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [2*ebp - 512] 162 163// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [ecx + 2032] 164// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb1,0xf0,0x07,0x00,0x00] 165 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [ecx + 2032] 166 167// CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [edx - 2048] 168// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb2,0x00,0xf8,0xff,0xff] 169 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [edx - 2048] 170 171// CHECK: {vex} vpdpwssds ymm6, ymm5, ymm4 172// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xf4] 173 {vex} vpdpwssds ymm6, ymm5, ymm4 174 175// CHECK: {vex} vpdpwssds xmm6, xmm5, xmm4 176// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xf4] 177 {vex} vpdpwssds xmm6, xmm5, xmm4 178 179// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 180// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb4,0xf4,0x00,0x00,0x00,0x10] 181 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [esp + 8*esi + 268435456] 182 183// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 184// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb4,0x87,0x23,0x01,0x00,0x00] 185 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [edi + 4*eax + 291] 186 187// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [eax] 188// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0x30] 189 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [eax] 190 191// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [2*ebp - 1024] 192// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0x34,0x6d,0x00,0xfc,0xff,0xff] 193 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [2*ebp - 1024] 194 195// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [ecx + 4064] 196// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb1,0xe0,0x0f,0x00,0x00] 197 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [ecx + 4064] 198 199// CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [edx - 4096] 200// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb2,0x00,0xf0,0xff,0xff] 201 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [edx - 4096] 202 203// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 204// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb4,0xf4,0x00,0x00,0x00,0x10] 205 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [esp + 8*esi + 268435456] 206 207// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 208// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb4,0x87,0x23,0x01,0x00,0x00] 209 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [edi + 4*eax + 291] 210 211// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [eax] 212// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0x30] 213 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [eax] 214 215// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [2*ebp - 512] 216// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0x34,0x6d,0x00,0xfe,0xff,0xff] 217 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [2*ebp - 512] 218 219// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [ecx + 2032] 220// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb1,0xf0,0x07,0x00,0x00] 221 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [ecx + 2032] 222 223// CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [edx - 2048] 224// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb2,0x00,0xf8,0xff,0xff] 225 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [edx - 2048] 226 227