blob: 3ade562079eb3fcd886f89562f244a9cbf8b5147 [file] [log] [blame]
// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxvnniint8 --show-encoding %s | FileCheck %s
// CHECK: vpdpbssd %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0xd4]
vpdpbssd %ymm4, %ymm3, %ymm2
// CHECK: vpdpbssd %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0xd4]
vpdpbssd %xmm4, %xmm3, %xmm2
// CHECK: vpdpbssd 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbssd 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbssd 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbssd 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbssd (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x10]
vpdpbssd (%eax), %ymm3, %ymm2
// CHECK: vpdpbssd -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbssd -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbssd 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbssd 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbssd 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbssd 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbssd (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x10]
vpdpbssd (%eax), %xmm3, %xmm2
// CHECK: vpdpbssd -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbssd -512(,%ebp,2), %xmm3, %xmm2
// CHECK: vpdpbssds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0xd4]
vpdpbssds %ymm4, %ymm3, %ymm2
// CHECK: vpdpbssds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0xd4]
vpdpbssds %xmm4, %xmm3, %xmm2
// CHECK: vpdpbssds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbssds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbssds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbssds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbssds (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x10]
vpdpbssds (%eax), %ymm3, %ymm2
// CHECK: vpdpbssds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbssds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbssds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbssds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbssds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbssds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbssds (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x10]
vpdpbssds (%eax), %xmm3, %xmm2
// CHECK: vpdpbssds -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbssds -512(,%ebp,2), %xmm3, %xmm2
// CHECK: vpdpbsud %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0xd4]
vpdpbsud %ymm4, %ymm3, %ymm2
// CHECK: vpdpbsud %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0xd4]
vpdpbsud %xmm4, %xmm3, %xmm2
// CHECK: vpdpbsud 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbsud 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbsud 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbsud 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbsud (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x10]
vpdpbsud (%eax), %ymm3, %ymm2
// CHECK: vpdpbsud -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbsud -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbsud 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbsud 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbsud 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbsud 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbsud (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x10]
vpdpbsud (%eax), %xmm3, %xmm2
// CHECK: vpdpbsud -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbsud -512(,%ebp,2), %xmm3, %xmm2
// CHECK: vpdpbsuds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0xd4]
vpdpbsuds %ymm4, %ymm3, %ymm2
// CHECK: vpdpbsuds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0xd4]
vpdpbsuds %xmm4, %xmm3, %xmm2
// CHECK: vpdpbsuds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbsuds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbsuds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbsuds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbsuds (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x10]
vpdpbsuds (%eax), %ymm3, %ymm2
// CHECK: vpdpbsuds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbsuds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbsuds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbsuds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbsuds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbsuds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbsuds (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x10]
vpdpbsuds (%eax), %xmm3, %xmm2
// CHECK: vpdpbsuds -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbsuds -512(,%ebp,2), %xmm3, %xmm2
// CHECK: vpdpbuud %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0xd4]
vpdpbuud %ymm4, %ymm3, %ymm2
// CHECK: vpdpbuud %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0xd4]
vpdpbuud %xmm4, %xmm3, %xmm2
// CHECK: vpdpbuud 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbuud 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbuud 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbuud 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbuud (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x10]
vpdpbuud (%eax), %ymm3, %ymm2
// CHECK: vpdpbuud -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbuud -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbuud 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbuud 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbuud 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbuud 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbuud (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x10]
vpdpbuud (%eax), %xmm3, %xmm2
// CHECK: vpdpbuud -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbuud -512(,%ebp,2), %xmm3, %xmm2
// CHECK: vpdpbuuds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0xd4]
vpdpbuuds %ymm4, %ymm3, %ymm2
// CHECK: vpdpbuuds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0xd4]
vpdpbuuds %xmm4, %xmm3, %xmm2
// CHECK: vpdpbuuds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbuuds 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: vpdpbuuds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbuuds 291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: vpdpbuuds (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x10]
vpdpbuuds (%eax), %ymm3, %ymm2
// CHECK: vpdpbuuds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
vpdpbuuds -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: vpdpbuuds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
vpdpbuuds 268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: vpdpbuuds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
vpdpbuuds 291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: vpdpbuuds (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x10]
vpdpbuuds (%eax), %xmm3, %xmm2
// CHECK: vpdpbuuds -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
vpdpbuuds -512(,%ebp,2), %xmm3, %xmm2