1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
-mattr
=+avxifma
-x86-asm-syntax
=intel
-output-asm-variant
=1 --show-encoding
%s | FileCheck
%s
3 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymm14
4 // CHECK
: encoding
: [0xc4,0x42,0x95,0xb5,0xe6]
5 {vex
} vpmadd52huq ymm12
, ymm13
, ymm14
7 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmm14
8 // CHECK
: encoding
: [0xc4,0x42,0x91,0xb5,0xe6]
9 {vex
} vpmadd52huq xmm12
, xmm13
, xmm14
11 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
12 // CHECK
: encoding
: [0xc4,0x22,0x95,0xb5,0xa4,0xf5,0x00,0x00,0x00,0x10]
13 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
15 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[r8 + 4*rax
+ 291]
16 // CHECK
: encoding
: [0xc4,0x42,0x95,0xb5,0xa4,0x80,0x23,0x01,0x00,0x00]
17 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[r8 + 4*rax
+ 291]
19 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rip
]
20 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb5,0x25,0x00,0x00,0x00,0x00]
21 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rip
]
23 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[2*rbp
- 1024]
24 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb5,0x24,0x6d,0x00,0xfc,0xff,0xff]
25 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[2*rbp
- 1024]
27 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rcx
+ 4064]
28 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb5,0xa1,0xe0,0x0f,0x00,0x00]
29 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rcx
+ 4064]
31 // CHECK
: {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rdx
- 4096]
32 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb5,0xa2,0x00,0xf0,0xff,0xff]
33 {vex
} vpmadd52huq ymm12
, ymm13
, ymmword ptr
[rdx
- 4096]
35 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
36 // CHECK
: encoding
: [0xc4,0x22,0x91,0xb5,0xa4,0xf5,0x00,0x00,0x00,0x10]
37 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
39 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[r8 + 4*rax
+ 291]
40 // CHECK
: encoding
: [0xc4,0x42,0x91,0xb5,0xa4,0x80,0x23,0x01,0x00,0x00]
41 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[r8 + 4*rax
+ 291]
43 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rip
]
44 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb5,0x25,0x00,0x00,0x00,0x00]
45 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rip
]
47 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[2*rbp
- 512]
48 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb5,0x24,0x6d,0x00,0xfe,0xff,0xff]
49 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[2*rbp
- 512]
51 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rcx
+ 2032]
52 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb5,0xa1,0xf0,0x07,0x00,0x00]
53 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rcx
+ 2032]
55 // CHECK
: {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rdx
- 2048]
56 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb5,0xa2,0x00,0xf8,0xff,0xff]
57 {vex
} vpmadd52huq xmm12
, xmm13
, xmmword ptr
[rdx
- 2048]
59 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymm14
60 // CHECK
: encoding
: [0xc4,0x42,0x95,0xb4,0xe6]
61 {vex
} vpmadd52luq ymm12
, ymm13
, ymm14
63 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmm14
64 // CHECK
: encoding
: [0xc4,0x42,0x91,0xb4,0xe6]
65 {vex
} vpmadd52luq xmm12
, xmm13
, xmm14
67 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
68 // CHECK
: encoding
: [0xc4,0x22,0x95,0xb4,0xa4,0xf5,0x00,0x00,0x00,0x10]
69 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
71 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[r8 + 4*rax
+ 291]
72 // CHECK
: encoding
: [0xc4,0x42,0x95,0xb4,0xa4,0x80,0x23,0x01,0x00,0x00]
73 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[r8 + 4*rax
+ 291]
75 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rip
]
76 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb4,0x25,0x00,0x00,0x00,0x00]
77 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rip
]
79 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[2*rbp
- 1024]
80 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb4,0x24,0x6d,0x00,0xfc,0xff,0xff]
81 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[2*rbp
- 1024]
83 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rcx
+ 4064]
84 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb4,0xa1,0xe0,0x0f,0x00,0x00]
85 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rcx
+ 4064]
87 // CHECK
: {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rdx
- 4096]
88 // CHECK
: encoding
: [0xc4,0x62,0x95,0xb4,0xa2,0x00,0xf0,0xff,0xff]
89 {vex
} vpmadd52luq ymm12
, ymm13
, ymmword ptr
[rdx
- 4096]
91 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
92 // CHECK
: encoding
: [0xc4,0x22,0x91,0xb4,0xa4,0xf5,0x00,0x00,0x00,0x10]
93 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
95 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[r8 + 4*rax
+ 291]
96 // CHECK
: encoding
: [0xc4,0x42,0x91,0xb4,0xa4,0x80,0x23,0x01,0x00,0x00]
97 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[r8 + 4*rax
+ 291]
99 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rip
]
100 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb4,0x25,0x00,0x00,0x00,0x00]
101 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rip
]
103 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[2*rbp
- 512]
104 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb4,0x24,0x6d,0x00,0xfe,0xff,0xff]
105 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[2*rbp
- 512]
107 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rcx
+ 2032]
108 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb4,0xa1,0xf0,0x07,0x00,0x00]
109 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rcx
+ 2032]
111 // CHECK
: {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rdx
- 2048]
112 // CHECK
: encoding
: [0xc4,0x62,0x91,0xb4,0xa2,0x00,0xf8,0xff,0xff]
113 {vex
} vpmadd52luq xmm12
, xmm13
, xmmword ptr
[rdx
- 2048]