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