227 lines · plain
1// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxvnni -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s2 3// CHECK: {vex} vpdpbusd ymm6, ymm5, ymm44// CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xf4]5 {vex} vpdpbusd ymm6, ymm5, ymm46 7// CHECK: {vex} vpdpbusd xmm6, xmm5, xmm48// CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xf4]9 {vex} vpdpbusd xmm6, xmm5, xmm410 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, ymm460// CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xf4]61 {vex} vpdpbusds ymm6, ymm5, ymm462 63// CHECK: {vex} vpdpbusds xmm6, xmm5, xmm464// CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xf4]65 {vex} vpdpbusds xmm6, xmm5, xmm466 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, ymm4116// CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xf4]117 {vex} vpdpwssd ymm6, ymm5, ymm4118 119// CHECK: {vex} vpdpwssd xmm6, xmm5, xmm4120// CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xf4]121 {vex} vpdpwssd xmm6, xmm5, xmm4122 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, ymm4172// CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xf4]173 {vex} vpdpwssds ymm6, ymm5, ymm4174 175// CHECK: {vex} vpdpwssds xmm6, xmm5, xmm4176// CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xf4]177 {vex} vpdpwssds xmm6, xmm5, xmm4178 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