Merging r261365:
[oota-llvm.git] / test / MC / X86 / x86_64-tbm-encoding.s
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