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