llvm/llvm/test/MC/Disassembler/X86/avx-vnni-int16-32.txt

# RUN: llvm-mc --disassemble %s -triple=i386-unknown-unknown | FileCheck %s --check-prefixes=ATT
# RUN: llvm-mc --disassemble %s -triple=i386-unknown-unknown --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL

# ATT:        vpdpwsud %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymm4
0xc4,0xe2,0x66,0xd2,0xd4

# ATT:        vpdpwsud %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmm4
0xc4,0xe2,0x62,0xd2,0xd4

# ATT:        vpdpwsud  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x66,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwsud  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x66,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwsud  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x66,0xd2,0x10

# ATT:        vpdpwsud  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x66,0xd2,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwsud  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x66,0xd2,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwsud  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwsud ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x66,0xd2,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwsud  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x62,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwsud  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x62,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwsud  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x62,0xd2,0x10

# ATT:        vpdpwsud  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x62,0xd2,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwsud  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x62,0xd2,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwsud  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwsud xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x62,0xd2,0x92,0x00,0xf8,0xff,0xff

# ATT:        vpdpwsuds %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymm4
0xc4,0xe2,0x66,0xd3,0xd4

# ATT:        vpdpwsuds %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmm4
0xc4,0xe2,0x62,0xd3,0xd4

# ATT:        vpdpwsuds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x66,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwsuds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x66,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwsuds  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x66,0xd3,0x10

# ATT:        vpdpwsuds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x66,0xd3,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwsuds  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x66,0xd3,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwsuds  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwsuds ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x66,0xd3,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwsuds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x62,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwsuds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x62,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwsuds  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x62,0xd3,0x10

# ATT:        vpdpwsuds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x62,0xd3,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwsuds  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x62,0xd3,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwsuds  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwsuds xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x62,0xd3,0x92,0x00,0xf8,0xff,0xff

# ATT:        vpdpwusd %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymm4
0xc4,0xe2,0x65,0xd2,0xd4

# ATT:        vpdpwusd %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmm4
0xc4,0xe2,0x61,0xd2,0xd4

# ATT:        vpdpwusd  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x65,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwusd  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x65,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwusd  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x65,0xd2,0x10

# ATT:        vpdpwusd  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x65,0xd2,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwusd  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x65,0xd2,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwusd  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwusd ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x65,0xd2,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwusd  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x61,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwusd  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x61,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwusd  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x61,0xd2,0x10

# ATT:        vpdpwusd  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x61,0xd2,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwusd  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x61,0xd2,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwusd  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwusd xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x61,0xd2,0x92,0x00,0xf8,0xff,0xff

# ATT:        vpdpwusds %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymm4
0xc4,0xe2,0x65,0xd3,0xd4

# ATT:        vpdpwusds %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmm4
0xc4,0xe2,0x61,0xd3,0xd4

# ATT:        vpdpwusds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x65,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwusds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x65,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwusds  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x65,0xd3,0x10

# ATT:        vpdpwusds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x65,0xd3,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwusds  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x65,0xd3,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwusds  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwusds ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x65,0xd3,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwusds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x61,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwusds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x61,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwusds  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x61,0xd3,0x10

# ATT:        vpdpwusds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x61,0xd3,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwusds  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x61,0xd3,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwusds  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwusds xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x61,0xd3,0x92,0x00,0xf8,0xff,0xff

# ATT:        vpdpwuud %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymm4
0xc4,0xe2,0x64,0xd2,0xd4

# ATT:        vpdpwuud %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmm4
0xc4,0xe2,0x60,0xd2,0xd4

# ATT:        vpdpwuud  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x64,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwuud  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x64,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwuud  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x64,0xd2,0x10

# ATT:        vpdpwuud  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x64,0xd2,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwuud  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x64,0xd2,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwuud  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwuud ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x64,0xd2,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwuud  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x60,0xd2,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwuud  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x60,0xd2,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwuud  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x60,0xd2,0x10

# ATT:        vpdpwuud  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x60,0xd2,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwuud  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x60,0xd2,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwuud  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwuud xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x60,0xd2,0x92,0x00,0xf8,0xff,0xff

# ATT:        vpdpwuuds %ymm4, %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymm4
0xc4,0xe2,0x64,0xd3,0xd4

# ATT:        vpdpwuuds %xmm4, %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmm4
0xc4,0xe2,0x60,0xd3,0xd4

# ATT:        vpdpwuuds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x64,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwuuds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x64,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwuuds  (%eax), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x64,0xd3,0x10

# ATT:        vpdpwuuds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x64,0xd3,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:        vpdpwuuds  4064(%ecx), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [ecx + 4064]
0xc4,0xe2,0x64,0xd3,0x91,0xe0,0x0f,0x00,0x00

# ATT:        vpdpwuuds  -4096(%edx), %ymm3, %ymm2
# INTEL:      vpdpwuuds ymm2, ymm3, ymmword ptr [edx - 4096]
0xc4,0xe2,0x64,0xd3,0x92,0x00,0xf0,0xff,0xff

# ATT:        vpdpwuuds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x60,0xd3,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:        vpdpwuuds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x60,0xd3,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:        vpdpwuuds  (%eax), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x60,0xd3,0x10

# ATT:        vpdpwuuds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x60,0xd3,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:        vpdpwuuds  2032(%ecx), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [ecx + 2032]
0xc4,0xe2,0x60,0xd3,0x91,0xf0,0x07,0x00,0x00

# ATT:        vpdpwuuds  -2048(%edx), %xmm3, %xmm2
# INTEL:      vpdpwuuds xmm2, xmm3, xmmword ptr [edx - 2048]
0xc4,0xe2,0x60,0xd3,0x92,0x00,0xf8,0xff,0xff