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