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