1 // RUN
: llvm-mc
-triple i686-unknown-unknown
-mattr
=+avxifma
-x86-asm-syntax
=intel
-output-asm-variant
=1 --show-encoding
%s | FileCheck
%s
3 // CHECK
: {vex
} vpmadd52huq ymm2
, ymm3
, ymm4
4 // CHECK
: encoding
: [0xc4,0xe2,0xe5,0xb5,0xd4]
5 {vex
} vpmadd52huq ymm2
, ymm3
, ymm4
7 // CHECK
: {vex
} vpmadd52huq xmm2
, xmm3
, xmm4
8 // CHECK
: encoding
: [0xc4,0xe2,0xe1,0xb5,0xd4]
9 {vex
} vpmadd52huq xmm2
, xmm3
, xmm4
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]
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]
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
]
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]
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]
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]
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]
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]
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
]
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]
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]
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]
59 // CHECK
: {vex
} vpmadd52luq ymm2
, ymm3
, ymm4
60 // CHECK
: encoding
: [0xc4,0xe2,0xe5,0xb4,0xd4]
61 {vex
} vpmadd52luq ymm2
, ymm3
, ymm4
63 // CHECK
: {vex
} vpmadd52luq xmm2
, xmm3
, xmm4
64 // CHECK
: encoding
: [0xc4,0xe2,0xe1,0xb4,0xd4]
65 {vex
} vpmadd52luq xmm2
, xmm3
, xmm4
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]
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]
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
]
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]
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]
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]
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]
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]
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
]
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]
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]
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]