Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / MC / X86 / x86_64-bmi-encoding.s
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