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