xref: /llvm-project/llvm/test/MC/X86/avx-ifma-att-32.s (revision 0e720e6adad13d9a3d29dc41e5c62240047acf55)
1// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxifma --show-encoding %s | FileCheck %s
2
3// CHECK: {vex} vpmadd52huq %ymm4, %ymm3, %ymm2
4// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0xd4]
5     {vex} vpmadd52huq %ymm4, %ymm3, %ymm2
6
7// CHECK: {vex} vpmadd52huq %xmm4, %xmm3, %xmm2
8// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0xd4]
9     {vex} vpmadd52huq %xmm4, %xmm3, %xmm2
10
11// CHECK: {vex} vpmadd52huq  268435456(%esp,%esi,8), %ymm3, %ymm2
12// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x94,0xf4,0x00,0x00,0x00,0x10]
13     {vex} vpmadd52huq  268435456(%esp,%esi,8), %ymm3, %ymm2
14
15// CHECK: {vex} vpmadd52huq  291(%edi,%eax,4), %ymm3, %ymm2
16// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x94,0x87,0x23,0x01,0x00,0x00]
17     {vex} vpmadd52huq  291(%edi,%eax,4), %ymm3, %ymm2
18
19// CHECK: {vex} vpmadd52huq  (%eax), %ymm3, %ymm2
20// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x10]
21     {vex} vpmadd52huq  (%eax), %ymm3, %ymm2
22
23// CHECK: {vex} vpmadd52huq  -1024(,%ebp,2), %ymm3, %ymm2
24// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x14,0x6d,0x00,0xfc,0xff,0xff]
25     {vex} vpmadd52huq  -1024(,%ebp,2), %ymm3, %ymm2
26
27// CHECK: {vex} vpmadd52huq  4064(%ecx), %ymm3, %ymm2
28// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x91,0xe0,0x0f,0x00,0x00]
29     {vex} vpmadd52huq  4064(%ecx), %ymm3, %ymm2
30
31// CHECK: {vex} vpmadd52huq  -4096(%edx), %ymm3, %ymm2
32// CHECK: encoding: [0xc4,0xe2,0xe5,0xb5,0x92,0x00,0xf0,0xff,0xff]
33     {vex} vpmadd52huq  -4096(%edx), %ymm3, %ymm2
34
35// CHECK: {vex} vpmadd52huq  268435456(%esp,%esi,8), %xmm3, %xmm2
36// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x94,0xf4,0x00,0x00,0x00,0x10]
37     {vex} vpmadd52huq  268435456(%esp,%esi,8), %xmm3, %xmm2
38
39// CHECK: {vex} vpmadd52huq  291(%edi,%eax,4), %xmm3, %xmm2
40// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x94,0x87,0x23,0x01,0x00,0x00]
41     {vex} vpmadd52huq  291(%edi,%eax,4), %xmm3, %xmm2
42
43// CHECK: {vex} vpmadd52huq  (%eax), %xmm3, %xmm2
44// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x10]
45     {vex} vpmadd52huq  (%eax), %xmm3, %xmm2
46
47// CHECK: {vex} vpmadd52huq  -512(,%ebp,2), %xmm3, %xmm2
48// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x14,0x6d,0x00,0xfe,0xff,0xff]
49     {vex} vpmadd52huq  -512(,%ebp,2), %xmm3, %xmm2
50
51// CHECK: {vex} vpmadd52huq  2032(%ecx), %xmm3, %xmm2
52// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x91,0xf0,0x07,0x00,0x00]
53     {vex} vpmadd52huq  2032(%ecx), %xmm3, %xmm2
54
55// CHECK: {vex} vpmadd52huq  -2048(%edx), %xmm3, %xmm2
56// CHECK: encoding: [0xc4,0xe2,0xe1,0xb5,0x92,0x00,0xf8,0xff,0xff]
57     {vex} vpmadd52huq  -2048(%edx), %xmm3, %xmm2
58
59// CHECK: {vex} vpmadd52luq %ymm4, %ymm3, %ymm2
60// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0xd4]
61     {vex} vpmadd52luq %ymm4, %ymm3, %ymm2
62
63// CHECK: {vex} vpmadd52luq %xmm4, %xmm3, %xmm2
64// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0xd4]
65     {vex} vpmadd52luq %xmm4, %xmm3, %xmm2
66
67// CHECK: {vex} vpmadd52luq  268435456(%esp,%esi,8), %ymm3, %ymm2
68// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x94,0xf4,0x00,0x00,0x00,0x10]
69     {vex} vpmadd52luq  268435456(%esp,%esi,8), %ymm3, %ymm2
70
71// CHECK: {vex} vpmadd52luq  291(%edi,%eax,4), %ymm3, %ymm2
72// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x94,0x87,0x23,0x01,0x00,0x00]
73     {vex} vpmadd52luq  291(%edi,%eax,4), %ymm3, %ymm2
74
75// CHECK: {vex} vpmadd52luq  (%eax), %ymm3, %ymm2
76// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x10]
77     {vex} vpmadd52luq  (%eax), %ymm3, %ymm2
78
79// CHECK: {vex} vpmadd52luq  -1024(,%ebp,2), %ymm3, %ymm2
80// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x14,0x6d,0x00,0xfc,0xff,0xff]
81     {vex} vpmadd52luq  -1024(,%ebp,2), %ymm3, %ymm2
82
83// CHECK: {vex} vpmadd52luq  4064(%ecx), %ymm3, %ymm2
84// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x91,0xe0,0x0f,0x00,0x00]
85     {vex} vpmadd52luq  4064(%ecx), %ymm3, %ymm2
86
87// CHECK: {vex} vpmadd52luq  -4096(%edx), %ymm3, %ymm2
88// CHECK: encoding: [0xc4,0xe2,0xe5,0xb4,0x92,0x00,0xf0,0xff,0xff]
89     {vex} vpmadd52luq  -4096(%edx), %ymm3, %ymm2
90
91// CHECK: {vex} vpmadd52luq  268435456(%esp,%esi,8), %xmm3, %xmm2
92// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x94,0xf4,0x00,0x00,0x00,0x10]
93     {vex} vpmadd52luq  268435456(%esp,%esi,8), %xmm3, %xmm2
94
95// CHECK: {vex} vpmadd52luq  291(%edi,%eax,4), %xmm3, %xmm2
96// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x94,0x87,0x23,0x01,0x00,0x00]
97     {vex} vpmadd52luq  291(%edi,%eax,4), %xmm3, %xmm2
98
99// CHECK: {vex} vpmadd52luq  (%eax), %xmm3, %xmm2
100// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x10]
101     {vex} vpmadd52luq  (%eax), %xmm3, %xmm2
102
103// CHECK: {vex} vpmadd52luq  -512(,%ebp,2), %xmm3, %xmm2
104// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x14,0x6d,0x00,0xfe,0xff,0xff]
105     {vex} vpmadd52luq  -512(,%ebp,2), %xmm3, %xmm2
106
107// CHECK: {vex} vpmadd52luq  2032(%ecx), %xmm3, %xmm2
108// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x91,0xf0,0x07,0x00,0x00]
109     {vex} vpmadd52luq  2032(%ecx), %xmm3, %xmm2
110
111// CHECK: {vex} vpmadd52luq  -2048(%edx), %xmm3, %xmm2
112// CHECK: encoding: [0xc4,0xe2,0xe1,0xb4,0x92,0x00,0xf8,0xff,0xff]
113     {vex} vpmadd52luq  -2048(%edx), %xmm3, %xmm2
114
115