xref: /aosp_15_r20/external/llvm/test/MC/X86/x86_64-tbm-encoding.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// bextri 32 reg
4*9880d681SAndroid Build Coastguard Worker// CHECK: bextr   $2814, %edi, %eax
5*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0x78,0x10,0xc7,0xfe,0x0a,0x00,0x00]
6*9880d681SAndroid Build Coastguard Worker          bextr   $2814, %edi, %eax
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker// bextri 32 mem
9*9880d681SAndroid Build Coastguard Worker// CHECK: bextr   $2814, (%rdi), %eax
10*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0x78,0x10,0x07,0xfe,0x0a,0x00,0x00]
11*9880d681SAndroid Build Coastguard Worker          bextr   $2814, (%rdi), %eax
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker// bextri 64 reg
14*9880d681SAndroid Build Coastguard Worker// CHECK: bextr   $2814, %rdi, %rax
15*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0xf8,0x10,0xc7,0xfe,0x0a,0x00,0x00]
16*9880d681SAndroid Build Coastguard Worker          bextr   $2814, %rdi, %rax
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker// bextri 64 mem
19*9880d681SAndroid Build Coastguard Worker// CHECK: bextr   $2814, (%rdi), %rax
20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0xf8,0x10,0x07,0xfe,0x0a,0x00,0x00]
21*9880d681SAndroid Build Coastguard Worker          bextr   $2814, (%rdi), %rax
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker// blcfill 32 reg
24*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill %edi, %eax
25*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xcf]
26*9880d681SAndroid Build Coastguard Worker          blcfill %edi, %eax
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker// blcfill 32 mem
29*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill (%rdi), %eax
30*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x0f]
31*9880d681SAndroid Build Coastguard Worker          blcfill (%rdi), %eax
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker// blcfill 64 reg
34*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill %rdi, %rax
35*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xcf]
36*9880d681SAndroid Build Coastguard Worker          blcfill %rdi, %rax
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker// blcfill 64 mem
39*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill (%rdi), %rax
40*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x0f]
41*9880d681SAndroid Build Coastguard Worker          blcfill (%rdi), %rax
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker// blci   32 reg
44*9880d681SAndroid Build Coastguard Worker// CHECK: blci    %edi, %eax
45*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0xf7]
46*9880d681SAndroid Build Coastguard Worker          blci    %edi, %eax
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker// blci   32 mem
49*9880d681SAndroid Build Coastguard Worker// CHECK: blci    (%rdi), %eax
50*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0x37]
51*9880d681SAndroid Build Coastguard Worker          blci    (%rdi), %eax
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker// blci   64 reg
54*9880d681SAndroid Build Coastguard Worker// CHECK: blci    %rdi, %rax
55*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0xf7]
56*9880d681SAndroid Build Coastguard Worker          blci    %rdi, %rax
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker// blci   64 mem
59*9880d681SAndroid Build Coastguard Worker// CHECK: blci    (%rdi), %rax
60*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0x37]
61*9880d681SAndroid Build Coastguard Worker          blci    (%rdi), %rax
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker// blcic  32 reg
64*9880d681SAndroid Build Coastguard Worker// CHECK: blcic   %edi, %eax
65*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xef]
66*9880d681SAndroid Build Coastguard Worker          blcic   %edi, %eax
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker// blcic  32 mem
69*9880d681SAndroid Build Coastguard Worker// CHECK: blcic   (%rdi), %eax
70*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x2f]
71*9880d681SAndroid Build Coastguard Worker          blcic   (%rdi), %eax
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard Worker// blcic  64 reg
74*9880d681SAndroid Build Coastguard Worker// CHECK: blcic   %rdi, %rax
75*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xef]
76*9880d681SAndroid Build Coastguard Worker          blcic   %rdi, %rax
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard Worker// blcic  64 mem
79*9880d681SAndroid Build Coastguard Worker// CHECK: blcic   (%rdi), %rax
80*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x2f]
81*9880d681SAndroid Build Coastguard Worker          blcic   (%rdi), %rax
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker// blcmsk 32 reg
84*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk  %edi, %eax
85*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0xcf]
86*9880d681SAndroid Build Coastguard Worker          blcmsk  %edi, %eax
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker// blcmsk 32 mem
89*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk  (%rdi), %eax
90*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0x0f]
91*9880d681SAndroid Build Coastguard Worker          blcmsk  (%rdi), %eax
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Worker// blcmsk 64 reg
94*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk  %rdi, %rax
95*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0xcf]
96*9880d681SAndroid Build Coastguard Worker          blcmsk  %rdi, %rax
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker// blcmsk 64 mem
99*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk  (%rdi), %rax
100*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0x0f]
101*9880d681SAndroid Build Coastguard Worker          blcmsk  (%rdi), %rax
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker// blcs   32 reg
104*9880d681SAndroid Build Coastguard Worker// CHECK: blcs    %edi, %eax
105*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xdf]
106*9880d681SAndroid Build Coastguard Worker          blcs    %edi, %eax
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker// blcs   32 mem
109*9880d681SAndroid Build Coastguard Worker// CHECK: blcs    (%rdi), %eax
110*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x1f]
111*9880d681SAndroid Build Coastguard Worker          blcs    (%rdi), %eax
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker// blcs   64 reg
114*9880d681SAndroid Build Coastguard Worker// CHECK: blcs    %rdi, %rax
115*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xdf]
116*9880d681SAndroid Build Coastguard Worker          blcs    %rdi, %rax
117*9880d681SAndroid Build Coastguard Worker
118*9880d681SAndroid Build Coastguard Worker// blcs   64 mem
119*9880d681SAndroid Build Coastguard Worker// CHECK: blcs    (%rdi), %rax
120*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x1f]
121*9880d681SAndroid Build Coastguard Worker          blcs    (%rdi), %rax
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker// blsfill 32 reg
124*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill %edi, %eax
125*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xd7]
126*9880d681SAndroid Build Coastguard Worker          blsfill %edi, %eax
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Worker// blsfill 32 mem
129*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill (%rdi), %eax
130*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x17]
131*9880d681SAndroid Build Coastguard Worker          blsfill (%rdi), %eax
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker// blsfill 64 reg
134*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill %rdi, %rax
135*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xd7]
136*9880d681SAndroid Build Coastguard Worker          blsfill %rdi, %rax
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Worker// blsfill 64 mem
139*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill (%rdi), %rax
140*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x17]
141*9880d681SAndroid Build Coastguard Worker          blsfill (%rdi), %rax
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker// blsic  32 reg
144*9880d681SAndroid Build Coastguard Worker// CHECK: blsic   %edi, %eax
145*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xf7]
146*9880d681SAndroid Build Coastguard Worker          blsic   %edi, %eax
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Worker// blsic  32 mem
149*9880d681SAndroid Build Coastguard Worker// CHECK: blsic   (%rdi), %eax
150*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x37]
151*9880d681SAndroid Build Coastguard Worker          blsic   (%rdi), %eax
152*9880d681SAndroid Build Coastguard Worker
153*9880d681SAndroid Build Coastguard Worker// blsic  64 reg
154*9880d681SAndroid Build Coastguard Worker// CHECK: blsic   %rdi, %rax
155*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xf7]
156*9880d681SAndroid Build Coastguard Worker          blsic   %rdi, %rax
157*9880d681SAndroid Build Coastguard Worker
158*9880d681SAndroid Build Coastguard Worker// t1mskc 32 reg
159*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc  %edi, %eax
160*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xff]
161*9880d681SAndroid Build Coastguard Worker          t1mskc  %edi, %eax
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker// t1mskc 32 mem
164*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc  (%rdi), %eax
165*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x3f]
166*9880d681SAndroid Build Coastguard Worker          t1mskc  (%rdi), %eax
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker// t1mskc 64 reg
169*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc  %rdi, %rax
170*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xff]
171*9880d681SAndroid Build Coastguard Worker          t1mskc  %rdi, %rax
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Worker// t1mskc 64 mem
174*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc  (%rdi), %rax
175*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x3f]
176*9880d681SAndroid Build Coastguard Worker          t1mskc  (%rdi), %rax
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker// tzmsk  32 reg
179*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk   %edi, %eax
180*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xe7]
181*9880d681SAndroid Build Coastguard Worker          tzmsk   %edi, %eax
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Worker// tzmsk  32 mem
184*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk   (%rdi), %eax
185*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x27]
186*9880d681SAndroid Build Coastguard Worker          tzmsk   (%rdi), %eax
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker// tzmsk  64 reg
189*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk   %rdi, %rax
190*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xe7]
191*9880d681SAndroid Build Coastguard Worker          tzmsk   %rdi, %rax
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Worker// tzmsk  64 mem
194*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk   (%rdi), %rax
195*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x27]
196*9880d681SAndroid Build Coastguard Worker          tzmsk   (%rdi), %rax
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x67,0xc4,0xe2,0x60,0xf7,0x07]
199*9880d681SAndroid Build Coastguard Worker          bextr   %ebx, (%edi), %eax
200*9880d681SAndroid Build Coastguard Worker
201*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x67,0x8f,0xea,0x78,0x10,0x07,A,A,A,A]
202*9880d681SAndroid Build Coastguard Worker          bextr   $foo, (%edi), %eax
203