xref: /aosp_15_r20/external/llvm/test/MC/X86/avx512ifma-encoding.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512ifma  --show-encoding %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm4, %zmm5, %zmm6
4*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6
5*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb4,0xf4]
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
8*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
9*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb4,0xf4]
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
12*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
13*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb4,0xf4]
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm28, %zmm29, %zmm30
16*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30
17*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb4,0xf4]
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
20*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
21*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb4,0xf4]
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker  vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
24*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
25*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb4,0xf4]
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker  vpmadd52luq (%rcx), %zmm29, %zmm30
28*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq (%rcx), %zmm29, %zmm30
29*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x31]
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x123(%rax,%r14,8), %zmm29, %zmm30
32*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 291(%rax,%r14,8), %zmm29, %zmm30
33*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker  vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
36*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
37*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x31]
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x1fc0(%rdx), %zmm29, %zmm30
40*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 8128(%rdx), %zmm29, %zmm30
41*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x7f]
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x2000(%rdx), %zmm29, %zmm30
44*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 8192(%rdx), %zmm29, %zmm30
45*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0x00,0x20,0x00,0x00]
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker  vpmadd52luq -0x2000(%rdx), %zmm29, %zmm30
48*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -8192(%rdx), %zmm29, %zmm30
49*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x80]
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker  vpmadd52luq -0x2040(%rdx), %zmm29, %zmm30
52*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -8256(%rdx), %zmm29, %zmm30
53*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0xc0,0xdf,0xff,0xff]
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
56*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 1016(%rdx){1to8}, %zmm29, %zmm30
57*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x7f]
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x400(%rdx){1to8}, %zmm29, %zmm30
60*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 1024(%rdx){1to8}, %zmm29, %zmm30
61*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0x00,0x04,0x00,0x00]
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker  vpmadd52luq -0x400(%rdx){1to8}, %zmm29, %zmm30
64*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -1024(%rdx){1to8}, %zmm29, %zmm30
65*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x80]
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker  vpmadd52luq -0x408(%rdx){1to8}, %zmm29, %zmm30
68*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq -1032(%rdx){1to8}, %zmm29, %zmm30
69*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0xf8,0xfb,0xff,0xff]
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker  vpmadd52luq 0x1234(%rax,%r14,8), %zmm29, %zmm30
72*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52luq 4660(%rax,%r14,8), %zmm29, %zmm30
73*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm4, %zmm5, %zmm6
76*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6
77*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb5,0xf4]
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
80*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
81*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb5,0xf4]
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
84*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
85*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb5,0xf4]
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm28, %zmm29, %zmm30
88*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30
89*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb5,0xf4]
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
92*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
93*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb5,0xf4]
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker  vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
96*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
97*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb5,0xf4]
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker  vpmadd52huq (%rcx), %zmm29, %zmm30
100*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq (%rcx), %zmm29, %zmm30
101*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x31]
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x123(%rax,%r14,8), %zmm29, %zmm30
104*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 291(%rax,%r14,8), %zmm29, %zmm30
105*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker  vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
108*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
109*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x31]
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x1fc0(%rdx), %zmm29, %zmm30
112*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 8128(%rdx), %zmm29, %zmm30
113*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x7f]
114*9880d681SAndroid Build Coastguard Worker
115*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x2000(%rdx), %zmm29, %zmm30
116*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 8192(%rdx), %zmm29, %zmm30
117*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0x00,0x20,0x00,0x00]
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker  vpmadd52huq -0x2000(%rdx), %zmm29, %zmm30
120*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -8192(%rdx), %zmm29, %zmm30
121*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x80]
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker  vpmadd52huq -0x2040(%rdx), %zmm29, %zmm30
124*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -8256(%rdx), %zmm29, %zmm30
125*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0xc0,0xdf,0xff,0xff]
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
128*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 1016(%rdx){1to8}, %zmm29, %zmm30
129*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x7f]
130*9880d681SAndroid Build Coastguard Worker
131*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x400(%rdx){1to8}, %zmm29, %zmm30
132*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 1024(%rdx){1to8}, %zmm29, %zmm30
133*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0x00,0x04,0x00,0x00]
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker  vpmadd52huq -0x400(%rdx){1to8}, %zmm29, %zmm30
136*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -1024(%rdx){1to8}, %zmm29, %zmm30
137*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x80]
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker  vpmadd52huq -0x408(%rdx){1to8}, %zmm29, %zmm30
140*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq -1032(%rdx){1to8}, %zmm29, %zmm30
141*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0xf8,0xfb,0xff,0xff]
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker  vpmadd52huq 0x1234(%rax,%r14,8), %zmm29, %zmm30
144*9880d681SAndroid Build Coastguard Worker//CHECK: vpmadd52huq 4660(%rax,%r14,8), %zmm29, %zmm30
145*9880d681SAndroid Build Coastguard Worker//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]
146