xref: /aosp_15_r20/external/llvm/test/MC/X86/x86_64-bmi-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// CHECK: blsmskl  %r11d, %r10d
4*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xd3]
5*9880d681SAndroid Build Coastguard Worker          blsmskl  %r11d, %r10d
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker// CHECK: blsmskq  %r11, %r10
8*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xd3]
9*9880d681SAndroid Build Coastguard Worker          blsmskq  %r11, %r10
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker// CHECK: blsmskl  (%rax), %r10d
12*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x10]
13*9880d681SAndroid Build Coastguard Worker          blsmskl  (%rax), %r10d
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker// CHECK: blsmskq  (%rax), %r10
16*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x10]
17*9880d681SAndroid Build Coastguard Worker          blsmskq  (%rax), %r10
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker// CHECK: blsil  %r11d, %r10d
20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xdb]
21*9880d681SAndroid Build Coastguard Worker          blsil  %r11d, %r10d
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker// CHECK: blsiq  %r11, %r10
24*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xdb]
25*9880d681SAndroid Build Coastguard Worker          blsiq  %r11, %r10
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker// CHECK: blsil  (%rax), %r10d
28*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x18]
29*9880d681SAndroid Build Coastguard Worker          blsil  (%rax), %r10d
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker// CHECK: blsiq  (%rax), %r10
32*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x18]
33*9880d681SAndroid Build Coastguard Worker          blsiq  (%rax), %r10
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker// CHECK: blsrl  %r11d, %r10d
36*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xcb]
37*9880d681SAndroid Build Coastguard Worker          blsrl  %r11d, %r10d
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker// CHECK: blsrq  %r11, %r10
40*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xcb]
41*9880d681SAndroid Build Coastguard Worker          blsrq  %r11, %r10
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker// CHECK: blsrl  (%rax), %r10d
44*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x08]
45*9880d681SAndroid Build Coastguard Worker          blsrl  (%rax), %r10d
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker// CHECK: blsrq  (%rax), %r10
48*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x08]
49*9880d681SAndroid Build Coastguard Worker          blsrq  (%rax), %r10
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker// CHECK: andnl  (%rax), %r11d, %r10d
52*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x20,0xf2,0x10]
53*9880d681SAndroid Build Coastguard Worker          andnl  (%rax), %r11d, %r10d
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Worker// CHECK: andnq  (%rax), %r11, %r10
56*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0xa0,0xf2,0x10]
57*9880d681SAndroid Build Coastguard Worker          andnq  (%rax), %r11, %r10
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker// CHECK: bextrl %r12d, (%rax), %r10d
60*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x18,0xf7,0x10]
61*9880d681SAndroid Build Coastguard Worker          bextrl %r12d, (%rax), %r10d
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker// CHECK: bextrl %r12d, %r11d, %r10d
64*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x18,0xf7,0xd3]
65*9880d681SAndroid Build Coastguard Worker          bextrl %r12d, %r11d, %r10d
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker// CHECK: bextrq %r12, (%rax), %r10
68*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x98,0xf7,0x10]
69*9880d681SAndroid Build Coastguard Worker          bextrq %r12, (%rax), %r10
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker// CHECK: bextrq %r12, %r11, %r10
72*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x98,0xf7,0xd3]
73*9880d681SAndroid Build Coastguard Worker          bextrq %r12, %r11, %r10
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker// CHECK: bzhil %r12d, (%rax), %r10d
76*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x18,0xf5,0x10]
77*9880d681SAndroid Build Coastguard Worker          bzhil %r12d, (%rax), %r10d
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker// CHECK: bzhil %r12d, %r11d, %r10d
80*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x18,0xf5,0xd3]
81*9880d681SAndroid Build Coastguard Worker          bzhil %r12d, %r11d, %r10d
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker// CHECK: bzhiq %r12, (%rax), %r10
84*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x98,0xf5,0x10]
85*9880d681SAndroid Build Coastguard Worker          bzhiq %r12, (%rax), %r10
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker// CHECK: bzhiq %r12, %r11, %r10
88*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x98,0xf5,0xd3]
89*9880d681SAndroid Build Coastguard Worker          bzhiq %r12, %r11, %r10
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker// CHECK: pextl %r12d, %r11d, %r10d
92*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x22,0xf5,0xd4]
93*9880d681SAndroid Build Coastguard Worker          pextl %r12d, %r11d, %r10d
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker// CHECK: pextl (%rax), %r11d, %r10d
96*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x22,0xf5,0x10]
97*9880d681SAndroid Build Coastguard Worker          pextl (%rax), %r11d, %r10d
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker// CHECK: pextq %r12, %r11, %r10
100*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0xa2,0xf5,0xd4]
101*9880d681SAndroid Build Coastguard Worker          pextq %r12, %r11, %r10
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker// CHECK: pextq (%rax), %r11, %r10
104*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0xa2,0xf5,0x10]
105*9880d681SAndroid Build Coastguard Worker          pextq (%rax), %r11, %r10
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker// CHECK: pdepl %r12d, %r11d, %r10d
108*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x23,0xf5,0xd4]
109*9880d681SAndroid Build Coastguard Worker          pdepl %r12d, %r11d, %r10d
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Worker// CHECK: pdepl (%rax), %r11d, %r10d
112*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x23,0xf5,0x10]
113*9880d681SAndroid Build Coastguard Worker          pdepl (%rax), %r11d, %r10d
114*9880d681SAndroid Build Coastguard Worker
115*9880d681SAndroid Build Coastguard Worker// CHECK: pdepq %r12, %r11, %r10
116*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0xa3,0xf5,0xd4]
117*9880d681SAndroid Build Coastguard Worker          pdepq %r12, %r11, %r10
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker// CHECK: pdepq (%rax), %r11, %r10
120*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0xa3,0xf5,0x10]
121*9880d681SAndroid Build Coastguard Worker          pdepq (%rax), %r11, %r10
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker// CHECK: mulxl %r12d, %r11d, %r10d
124*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x23,0xf6,0xd4]
125*9880d681SAndroid Build Coastguard Worker          mulxl %r12d, %r11d, %r10d
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker// CHECK: mulxl (%rax), %r11d, %r10d
128*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x23,0xf6,0x10]
129*9880d681SAndroid Build Coastguard Worker          mulxl (%rax), %r11d, %r10d
130*9880d681SAndroid Build Coastguard Worker
131*9880d681SAndroid Build Coastguard Worker// CHECK: mulxq %r12, %r11, %r10
132*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0xa3,0xf6,0xd4]
133*9880d681SAndroid Build Coastguard Worker          mulxq %r12, %r11, %r10
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker// CHECK: mulxq (%rax), %r11, %r10
136*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0xa3,0xf6,0x10]
137*9880d681SAndroid Build Coastguard Worker          mulxq (%rax), %r11, %r10
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker// CHECK: rorxl $10, %r12d, %r10d
140*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x43,0x7b,0xf0,0xd4,0x0a]
141*9880d681SAndroid Build Coastguard Worker          rorxl $10, %r12d, %r10d
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker// CHECK: rorxl $31, (%rax), %r10d
144*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x10,0x1f]
145*9880d681SAndroid Build Coastguard Worker          rorxl $31, (%rax), %r10d
146*9880d681SAndroid Build Coastguard Worker
147*9880d681SAndroid Build Coastguard Worker// CHECK: rorxq $1, %r12, %r10
148*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x43,0xfb,0xf0,0xd4,0x01]
149*9880d681SAndroid Build Coastguard Worker          rorxq $1, %r12, %r10
150*9880d681SAndroid Build Coastguard Worker
151*9880d681SAndroid Build Coastguard Worker// CHECK: rorxq $63, (%rax), %r10
152*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x10,0x3f]
153*9880d681SAndroid Build Coastguard Worker          rorxq $63, (%rax), %r10
154*9880d681SAndroid Build Coastguard Worker
155*9880d681SAndroid Build Coastguard Worker// CHECK: shlxl %r12d, (%rax), %r10d
156*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x19,0xf7,0x10]
157*9880d681SAndroid Build Coastguard Worker          shlxl %r12d, (%rax), %r10d
158*9880d681SAndroid Build Coastguard Worker
159*9880d681SAndroid Build Coastguard Worker// CHECK: shlxl %r12d, %r11d, %r10d
160*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x19,0xf7,0xd3]
161*9880d681SAndroid Build Coastguard Worker          shlxl %r12d, %r11d, %r10d
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker// CHECK: shlxq %r12, (%rax), %r10
164*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x99,0xf7,0x10]
165*9880d681SAndroid Build Coastguard Worker          shlxq %r12, (%rax), %r10
166*9880d681SAndroid Build Coastguard Worker
167*9880d681SAndroid Build Coastguard Worker// CHECK: shlxq %r12, %r11, %r10
168*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x99,0xf7,0xd3]
169*9880d681SAndroid Build Coastguard Worker          shlxq %r12, %r11, %r10
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Worker// CHECK: sarxl %r12d, (%rax), %r10d
172*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x1a,0xf7,0x10]
173*9880d681SAndroid Build Coastguard Worker          sarxl %r12d, (%rax), %r10d
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Worker// CHECK: sarxl %r12d, %r11d, %r10d
176*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x1a,0xf7,0xd3]
177*9880d681SAndroid Build Coastguard Worker          sarxl %r12d, %r11d, %r10d
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Worker// CHECK: sarxq %r12, (%rax), %r10
180*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x9a,0xf7,0x10]
181*9880d681SAndroid Build Coastguard Worker          sarxq %r12, (%rax), %r10
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Worker// CHECK: sarxq %r12, %r11, %r10
184*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x9a,0xf7,0xd3]
185*9880d681SAndroid Build Coastguard Worker          sarxq %r12, %r11, %r10
186*9880d681SAndroid Build Coastguard Worker
187*9880d681SAndroid Build Coastguard Worker// CHECK: shrxl %r12d, (%rax), %r10d
188*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x1b,0xf7,0x10]
189*9880d681SAndroid Build Coastguard Worker          shrxl %r12d, (%rax), %r10d
190*9880d681SAndroid Build Coastguard Worker
191*9880d681SAndroid Build Coastguard Worker// CHECK: shrxl %r12d, %r11d, %r10d
192*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x1b,0xf7,0xd3]
193*9880d681SAndroid Build Coastguard Worker          shrxl %r12d, %r11d, %r10d
194*9880d681SAndroid Build Coastguard Worker
195*9880d681SAndroid Build Coastguard Worker// CHECK: shrxq %r12, (%rax), %r10
196*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x62,0x9b,0xf7,0x10]
197*9880d681SAndroid Build Coastguard Worker          shrxq %r12, (%rax), %r10
198*9880d681SAndroid Build Coastguard Worker
199*9880d681SAndroid Build Coastguard Worker// CHECK: shrxq %r12, %r11, %r10
200*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0x42,0x9b,0xf7,0xd3]
201*9880d681SAndroid Build Coastguard Worker          shrxq %r12, %r11, %r10
202*9880d681SAndroid Build Coastguard Worker
203