// RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s
// CHECK: vpdpwsud %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd2,0xe4]
vpdpwsud %ymm4, %ymm13, %ymm12
// CHECK: vpdpwsud %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd2,0xe4]
vpdpwsud %xmm4, %xmm13, %xmm12
// CHECK: vpdpwsud 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x16,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwsud 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwsud 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x16,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwsud 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwsud (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwsud (%rip), %ymm13, %ymm12
// CHECK: vpdpwsud -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd2,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwsud -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwsud 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd2,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwsud 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwsud -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd2,0xa2,0x00,0xf0,0xff,0xff]
vpdpwsud -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwsud 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x12,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwsud 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwsud 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x12,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwsud 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwsud (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwsud (%rip), %xmm13, %xmm12
// CHECK: vpdpwsud -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd2,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwsud -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwsud 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd2,0xa1,0xf0,0x07,0x00,0x00]
vpdpwsud 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwsud -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd2,0xa2,0x00,0xf8,0xff,0xff]
vpdpwsud -2048(%rdx), %xmm13, %xmm12
// CHECK: vpdpwsuds %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd3,0xe4]
vpdpwsuds %ymm4, %ymm13, %ymm12
// CHECK: vpdpwsuds %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd3,0xe4]
vpdpwsuds %xmm4, %xmm13, %xmm12
// CHECK: vpdpwsuds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x16,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwsuds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwsuds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x16,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwsuds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwsuds (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwsuds (%rip), %ymm13, %ymm12
// CHECK: vpdpwsuds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd3,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwsuds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwsuds 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd3,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwsuds 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwsuds -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x16,0xd3,0xa2,0x00,0xf0,0xff,0xff]
vpdpwsuds -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwsuds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x12,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwsuds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwsuds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x12,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwsuds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwsuds (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwsuds (%rip), %xmm13, %xmm12
// CHECK: vpdpwsuds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd3,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwsuds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwsuds 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd3,0xa1,0xf0,0x07,0x00,0x00]
vpdpwsuds 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwsuds -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x12,0xd3,0xa2,0x00,0xf8,0xff,0xff]
vpdpwsuds -2048(%rdx), %xmm13, %xmm12
// CHECK: vpdpwusd %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd2,0xe4]
vpdpwusd %ymm4, %ymm13, %ymm12
// CHECK: vpdpwusd %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd2,0xe4]
vpdpwusd %xmm4, %xmm13, %xmm12
// CHECK: vpdpwusd 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x15,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwusd 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwusd 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x15,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwusd 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwusd (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwusd (%rip), %ymm13, %ymm12
// CHECK: vpdpwusd -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd2,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwusd -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwusd 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd2,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwusd 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwusd -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd2,0xa2,0x00,0xf0,0xff,0xff]
vpdpwusd -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwusd 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x11,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwusd 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwusd 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x11,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwusd 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwusd (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwusd (%rip), %xmm13, %xmm12
// CHECK: vpdpwusd -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd2,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwusd -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwusd 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd2,0xa1,0xf0,0x07,0x00,0x00]
vpdpwusd 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwusd -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd2,0xa2,0x00,0xf8,0xff,0xff]
vpdpwusd -2048(%rdx), %xmm13, %xmm12
// CHECK: vpdpwusds %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd3,0xe4]
vpdpwusds %ymm4, %ymm13, %ymm12
// CHECK: vpdpwusds %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd3,0xe4]
vpdpwusds %xmm4, %xmm13, %xmm12
// CHECK: vpdpwusds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x15,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwusds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwusds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x15,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwusds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwusds (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwusds (%rip), %ymm13, %ymm12
// CHECK: vpdpwusds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd3,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwusds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwusds 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd3,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwusds 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwusds -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x15,0xd3,0xa2,0x00,0xf0,0xff,0xff]
vpdpwusds -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwusds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x11,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwusds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwusds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x11,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwusds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwusds (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwusds (%rip), %xmm13, %xmm12
// CHECK: vpdpwusds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd3,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwusds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwusds 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd3,0xa1,0xf0,0x07,0x00,0x00]
vpdpwusds 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwusds -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x11,0xd3,0xa2,0x00,0xf8,0xff,0xff]
vpdpwusds -2048(%rdx), %xmm13, %xmm12
// CHECK: vpdpwuud %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd2,0xe4]
vpdpwuud %ymm4, %ymm13, %ymm12
// CHECK: vpdpwuud %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd2,0xe4]
vpdpwuud %xmm4, %xmm13, %xmm12
// CHECK: vpdpwuud 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x14,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwuud 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwuud 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x14,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwuud 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwuud (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwuud (%rip), %ymm13, %ymm12
// CHECK: vpdpwuud -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd2,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwuud -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwuud 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd2,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwuud 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwuud -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd2,0xa2,0x00,0xf0,0xff,0xff]
vpdpwuud -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwuud 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x10,0xd2,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwuud 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwuud 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x10,0xd2,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwuud 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwuud (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd2,0x25,0x00,0x00,0x00,0x00]
vpdpwuud (%rip), %xmm13, %xmm12
// CHECK: vpdpwuud -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd2,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwuud -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwuud 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd2,0xa1,0xf0,0x07,0x00,0x00]
vpdpwuud 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwuud -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd2,0xa2,0x00,0xf8,0xff,0xff]
vpdpwuud -2048(%rdx), %xmm13, %xmm12
// CHECK: vpdpwuuds %ymm4, %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd3,0xe4]
vpdpwuuds %ymm4, %ymm13, %ymm12
// CHECK: vpdpwuuds %xmm4, %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd3,0xe4]
vpdpwuuds %xmm4, %xmm13, %xmm12
// CHECK: vpdpwuuds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x22,0x14,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwuuds 268435456(%rbp,%r14,8), %ymm13, %ymm12
// CHECK: vpdpwuuds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x42,0x14,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwuuds 291(%r8,%rax,4), %ymm13, %ymm12
// CHECK: vpdpwuuds (%rip), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwuuds (%rip), %ymm13, %ymm12
// CHECK: vpdpwuuds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd3,0x24,0x6d,0x00,0xfc,0xff,0xff]
vpdpwuuds -1024(,%rbp,2), %ymm13, %ymm12
// CHECK: vpdpwuuds 4064(%rcx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd3,0xa1,0xe0,0x0f,0x00,0x00]
vpdpwuuds 4064(%rcx), %ymm13, %ymm12
// CHECK: vpdpwuuds -4096(%rdx), %ymm13, %ymm12
// CHECK: encoding: [0xc4,0x62,0x14,0xd3,0xa2,0x00,0xf0,0xff,0xff]
vpdpwuuds -4096(%rdx), %ymm13, %ymm12
// CHECK: vpdpwuuds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x22,0x10,0xd3,0xa4,0xf5,0x00,0x00,0x00,0x10]
vpdpwuuds 268435456(%rbp,%r14,8), %xmm13, %xmm12
// CHECK: vpdpwuuds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x42,0x10,0xd3,0xa4,0x80,0x23,0x01,0x00,0x00]
vpdpwuuds 291(%r8,%rax,4), %xmm13, %xmm12
// CHECK: vpdpwuuds (%rip), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd3,0x25,0x00,0x00,0x00,0x00]
vpdpwuuds (%rip), %xmm13, %xmm12
// CHECK: vpdpwuuds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd3,0x24,0x6d,0x00,0xfe,0xff,0xff]
vpdpwuuds -512(,%rbp,2), %xmm13, %xmm12
// CHECK: vpdpwuuds 2032(%rcx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd3,0xa1,0xf0,0x07,0x00,0x00]
vpdpwuuds 2032(%rcx), %xmm13, %xmm12
// CHECK: vpdpwuuds -2048(%rdx), %xmm13, %xmm12
// CHECK: encoding: [0xc4,0x62,0x10,0xd3,0xa2,0x00,0xf8,0xff,0xff]
vpdpwuuds -2048(%rdx), %xmm13, %xmm12