1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s | FileCheck %s
2
3// CHECK: vgf2p8affineinvqb $7, %zmm2, %zmm20, %zmm1
4// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xcf,0xca,0x07]
5          vgf2p8affineinvqb $7, %zmm2, %zmm20, %zmm1
6
7// CHECK: vgf2p8affineqb $7, %zmm2, %zmm20, %zmm1
8// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xce,0xca,0x07]
9          vgf2p8affineqb $7, %zmm2, %zmm20, %zmm1
10
11// CHECK: vgf2p8affineinvqb $7, %zmm2, %zmm20, %zmm1 {%k2}
12// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xcf,0xca,0x07]
13          vgf2p8affineinvqb $7, %zmm2, %zmm20, %zmm1 {%k2}
14
15// CHECK: vgf2p8affineqb $7, %zmm2, %zmm20, %zmm1 {%k2}
16// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xce,0xca,0x07]
17          vgf2p8affineqb $7, %zmm2, %zmm20, %zmm1 {%k2}
18
19// CHECK: vgf2p8affineinvqb  $7, (%rcx), %zmm20, %zmm1
20// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xcf,0x09,0x07]
21          vgf2p8affineinvqb  $7, (%rcx), %zmm20, %zmm1
22
23// CHECK: vgf2p8affineinvqb  $7, -256(%rsp), %zmm20, %zmm1
24// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xcf,0x4c,0x24,0xfc,0x07]
25          vgf2p8affineinvqb  $7, -256(%rsp), %zmm20, %zmm1
26
27// CHECK: vgf2p8affineinvqb  $7, 256(%rsp), %zmm20, %zmm1
28// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xcf,0x4c,0x24,0x04,0x07]
29          vgf2p8affineinvqb  $7, 256(%rsp), %zmm20, %zmm1
30
31// CHECK: vgf2p8affineinvqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1
32// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
33          vgf2p8affineinvqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1
34
35// CHECK: vgf2p8affineinvqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1
36// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
37          vgf2p8affineinvqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1
38
39// CHECK: vgf2p8affineinvqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1
40// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
41          vgf2p8affineinvqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1
42
43// CHECK: vgf2p8affineqb  $7, (%rcx), %zmm20, %zmm1
44// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xce,0x09,0x07]
45          vgf2p8affineqb  $7, (%rcx), %zmm20, %zmm1
46
47// CHECK: vgf2p8affineqb  $7, -256(%rsp), %zmm20, %zmm1
48// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xce,0x4c,0x24,0xfc,0x07]
49          vgf2p8affineqb  $7, -256(%rsp), %zmm20, %zmm1
50
51// CHECK: vgf2p8affineqb  $7, 256(%rsp), %zmm20, %zmm1
52// CHECK: encoding: [0x62,0xf3,0xdd,0x40,0xce,0x4c,0x24,0x04,0x07]
53          vgf2p8affineqb  $7, 256(%rsp), %zmm20, %zmm1
54
55// CHECK: vgf2p8affineqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1
56// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xce,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
57          vgf2p8affineqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1
58
59// CHECK: vgf2p8affineqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1
60// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xce,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
61          vgf2p8affineqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1
62
63// CHECK: vgf2p8affineqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1
64// CHECK: encoding: [0x62,0xb3,0xdd,0x40,0xce,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
65          vgf2p8affineqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1
66
67// CHECK: vgf2p8affineinvqb  $7, (%rcx), %zmm20, %zmm1 {%k2}
68// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xcf,0x09,0x07]
69          vgf2p8affineinvqb  $7, (%rcx), %zmm20, %zmm1 {%k2}
70
71// CHECK: vgf2p8affineinvqb  $7, -256(%rsp), %zmm20, %zmm1 {%k2}
72// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xcf,0x4c,0x24,0xfc,0x07]
73          vgf2p8affineinvqb  $7, -256(%rsp), %zmm20, %zmm1 {%k2}
74
75// CHECK: vgf2p8affineinvqb  $7, 256(%rsp), %zmm20, %zmm1 {%k2}
76// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xcf,0x4c,0x24,0x04,0x07]
77          vgf2p8affineinvqb  $7, 256(%rsp), %zmm20, %zmm1 {%k2}
78
79// CHECK: vgf2p8affineinvqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
80// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
81          vgf2p8affineinvqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
82
83// CHECK: vgf2p8affineinvqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
84// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
85          vgf2p8affineinvqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
86
87// CHECK: vgf2p8affineinvqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
88// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
89          vgf2p8affineinvqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
90
91// CHECK: vgf2p8affineqb  $7, (%rcx), %zmm20, %zmm1 {%k2}
92// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xce,0x09,0x07]
93          vgf2p8affineqb  $7, (%rcx), %zmm20, %zmm1 {%k2}
94
95// CHECK: vgf2p8affineqb  $7, -256(%rsp), %zmm20, %zmm1 {%k2}
96// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xce,0x4c,0x24,0xfc,0x07]
97          vgf2p8affineqb  $7, -256(%rsp), %zmm20, %zmm1 {%k2}
98
99// CHECK: vgf2p8affineqb  $7, 256(%rsp), %zmm20, %zmm1 {%k2}
100// CHECK: encoding: [0x62,0xf3,0xdd,0x42,0xce,0x4c,0x24,0x04,0x07]
101          vgf2p8affineqb  $7, 256(%rsp), %zmm20, %zmm1 {%k2}
102
103// CHECK: vgf2p8affineqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
104// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xce,0x8c,0xf1,0x00,0x00,0x00,0x10,0x07]
105          vgf2p8affineqb  $7, 268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
106
107// CHECK: vgf2p8affineqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
108// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xce,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x07]
109          vgf2p8affineqb  $7, -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
110
111// CHECK: vgf2p8affineqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
112// CHECK: encoding: [0x62,0xb3,0xdd,0x42,0xce,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x07]
113          vgf2p8affineqb  $7, -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
114
115// CHECK: vgf2p8mulb %zmm2, %zmm20, %zmm1
116// CHECK: encoding: [0x62,0xf2,0x5d,0x40,0xcf,0xca]
117          vgf2p8mulb %zmm2, %zmm20, %zmm1
118
119// CHECK: vgf2p8mulb %zmm2, %zmm20, %zmm1 {%k2}
120// CHECK: encoding: [0x62,0xf2,0x5d,0x42,0xcf,0xca]
121          vgf2p8mulb %zmm2, %zmm20, %zmm1 {%k2}
122
123// CHECK: vgf2p8mulb  (%rcx), %zmm20, %zmm1
124// CHECK: encoding: [0x62,0xf2,0x5d,0x40,0xcf,0x09]
125          vgf2p8mulb  (%rcx), %zmm20, %zmm1
126
127// CHECK: vgf2p8mulb  -256(%rsp), %zmm20, %zmm1
128// CHECK: encoding: [0x62,0xf2,0x5d,0x40,0xcf,0x4c,0x24,0xfc]
129          vgf2p8mulb  -256(%rsp), %zmm20, %zmm1
130
131// CHECK: vgf2p8mulb  256(%rsp), %zmm20, %zmm1
132// CHECK: encoding: [0x62,0xf2,0x5d,0x40,0xcf,0x4c,0x24,0x04]
133          vgf2p8mulb  256(%rsp), %zmm20, %zmm1
134
135// CHECK: vgf2p8mulb  268435456(%rcx,%r14,8), %zmm20, %zmm1
136// CHECK: encoding: [0x62,0xb2,0x5d,0x40,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10]
137          vgf2p8mulb  268435456(%rcx,%r14,8), %zmm20, %zmm1
138
139// CHECK: vgf2p8mulb  -536870912(%rcx,%r14,8), %zmm20, %zmm1
140// CHECK: encoding: [0x62,0xb2,0x5d,0x40,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0]
141          vgf2p8mulb  -536870912(%rcx,%r14,8), %zmm20, %zmm1
142
143// CHECK: vgf2p8mulb  -536870910(%rcx,%r14,8), %zmm20, %zmm1
144// CHECK: encoding: [0x62,0xb2,0x5d,0x40,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0]
145          vgf2p8mulb  -536870910(%rcx,%r14,8), %zmm20, %zmm1
146
147// CHECK: vgf2p8mulb  (%rcx), %zmm20, %zmm1 {%k2}
148// CHECK: encoding: [0x62,0xf2,0x5d,0x42,0xcf,0x09]
149          vgf2p8mulb  (%rcx), %zmm20, %zmm1 {%k2}
150
151// CHECK: vgf2p8mulb  -256(%rsp), %zmm20, %zmm1 {%k2}
152// CHECK: encoding: [0x62,0xf2,0x5d,0x42,0xcf,0x4c,0x24,0xfc]
153          vgf2p8mulb  -256(%rsp), %zmm20, %zmm1 {%k2}
154
155// CHECK: vgf2p8mulb  256(%rsp), %zmm20, %zmm1 {%k2}
156// CHECK: encoding: [0x62,0xf2,0x5d,0x42,0xcf,0x4c,0x24,0x04]
157          vgf2p8mulb  256(%rsp), %zmm20, %zmm1 {%k2}
158
159// CHECK: vgf2p8mulb  268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
160// CHECK: encoding: [0x62,0xb2,0x5d,0x42,0xcf,0x8c,0xf1,0x00,0x00,0x00,0x10]
161          vgf2p8mulb  268435456(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
162
163// CHECK: vgf2p8mulb  -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
164// CHECK: encoding: [0x62,0xb2,0x5d,0x42,0xcf,0x8c,0xf1,0x00,0x00,0x00,0xe0]
165          vgf2p8mulb  -536870912(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
166
167// CHECK: vgf2p8mulb  -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
168// CHECK: encoding: [0x62,0xb2,0x5d,0x42,0xcf,0x8c,0xf1,0x02,0x00,0x00,0xe0]
169          vgf2p8mulb  -536870910(%rcx,%r14,8), %zmm20, %zmm1 {%k2}
170
171// CHECK: vgf2p8affineinvqb $7, (%rcx){1to8}, %zmm20, %zmm1
172// CHECK: encoding: [0x62,0xf3,0xdd,0x50,0xcf,0x09,0x07]
173          vgf2p8affineinvqb $7, (%rcx){1to8}, %zmm20, %zmm1
174
175// CHECK: vgf2p8affineqb  $7, (%rcx){1to8}, %zmm20, %zmm1
176// CHECK: encoding: [0x62,0xf3,0xdd,0x50,0xce,0x09,0x07]
177          vgf2p8affineqb  $7, (%rcx){1to8}, %zmm20, %zmm1
178
179