[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / X86 / x86_64-bmi-encoding.s
blob3e69d4af0b79011880e5ae44474d89cce6123ed9
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: blsmskl %r11d, %r10d
4 // CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xd3]
5 blsmskl %r11d, %r10d
7 // CHECK: blsmskq %r11, %r10
8 // CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xd3]
9 blsmskq %r11, %r10
11 // CHECK: blsmskl (%rax), %r10d
12 // CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x10]
13 blsmskl (%rax), %r10d
15 // CHECK: blsmskq (%rax), %r10
16 // CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x10]
17 blsmskq (%rax), %r10
19 // CHECK: blsil %r11d, %r10d
20 // CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xdb]
21 blsil %r11d, %r10d
23 // CHECK: blsiq %r11, %r10
24 // CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xdb]
25 blsiq %r11, %r10
27 // CHECK: blsil (%rax), %r10d
28 // CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x18]
29 blsil (%rax), %r10d
31 // CHECK: blsiq (%rax), %r10
32 // CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x18]
33 blsiq (%rax), %r10
35 // CHECK: blsrl %r11d, %r10d
36 // CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xcb]
37 blsrl %r11d, %r10d
39 // CHECK: blsrq %r11, %r10
40 // CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xcb]
41 blsrq %r11, %r10
43 // CHECK: blsrl (%rax), %r10d
44 // CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x08]
45 blsrl (%rax), %r10d
47 // CHECK: blsrq (%rax), %r10
48 // CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x08]
49 blsrq (%rax), %r10
51 // CHECK: andnl (%rax), %r11d, %r10d
52 // CHECK: encoding: [0xc4,0x62,0x20,0xf2,0x10]
53 andnl (%rax), %r11d, %r10d
55 // CHECK: andnq (%rax), %r11, %r10
56 // CHECK: encoding: [0xc4,0x62,0xa0,0xf2,0x10]
57 andnq (%rax), %r11, %r10
59 // CHECK: bextrl %r12d, (%rax), %r10d
60 // CHECK: encoding: [0xc4,0x62,0x18,0xf7,0x10]
61 bextrl %r12d, (%rax), %r10d
63 // CHECK: bextrl %r12d, %r11d, %r10d
64 // CHECK: encoding: [0xc4,0x42,0x18,0xf7,0xd3]
65 bextrl %r12d, %r11d, %r10d
67 // CHECK: bextrq %r12, (%rax), %r10
68 // CHECK: encoding: [0xc4,0x62,0x98,0xf7,0x10]
69 bextrq %r12, (%rax), %r10
71 // CHECK: bextrq %r12, %r11, %r10
72 // CHECK: encoding: [0xc4,0x42,0x98,0xf7,0xd3]
73 bextrq %r12, %r11, %r10
75 // CHECK: bzhil %r12d, (%rax), %r10d
76 // CHECK: encoding: [0xc4,0x62,0x18,0xf5,0x10]
77 bzhil %r12d, (%rax), %r10d
79 // CHECK: bzhil %r12d, %r11d, %r10d
80 // CHECK: encoding: [0xc4,0x42,0x18,0xf5,0xd3]
81 bzhil %r12d, %r11d, %r10d
83 // CHECK: bzhiq %r12, (%rax), %r10
84 // CHECK: encoding: [0xc4,0x62,0x98,0xf5,0x10]
85 bzhiq %r12, (%rax), %r10
87 // CHECK: bzhiq %r12, %r11, %r10
88 // CHECK: encoding: [0xc4,0x42,0x98,0xf5,0xd3]
89 bzhiq %r12, %r11, %r10
91 // CHECK: pextl %r12d, %r11d, %r10d
92 // CHECK: encoding: [0xc4,0x42,0x22,0xf5,0xd4]
93 pextl %r12d, %r11d, %r10d
95 // CHECK: pextl (%rax), %r11d, %r10d
96 // CHECK: encoding: [0xc4,0x62,0x22,0xf5,0x10]
97 pextl (%rax), %r11d, %r10d
99 // CHECK: pextq %r12, %r11, %r10
100 // CHECK: encoding: [0xc4,0x42,0xa2,0xf5,0xd4]
101 pextq %r12, %r11, %r10
103 // CHECK: pextq (%rax), %r11, %r10
104 // CHECK: encoding: [0xc4,0x62,0xa2,0xf5,0x10]
105 pextq (%rax), %r11, %r10
107 // CHECK: pdepl %r12d, %r11d, %r10d
108 // CHECK: encoding: [0xc4,0x42,0x23,0xf5,0xd4]
109 pdepl %r12d, %r11d, %r10d
111 // CHECK: pdepl (%rax), %r11d, %r10d
112 // CHECK: encoding: [0xc4,0x62,0x23,0xf5,0x10]
113 pdepl (%rax), %r11d, %r10d
115 // CHECK: pdepq %r12, %r11, %r10
116 // CHECK: encoding: [0xc4,0x42,0xa3,0xf5,0xd4]
117 pdepq %r12, %r11, %r10
119 // CHECK: pdepq (%rax), %r11, %r10
120 // CHECK: encoding: [0xc4,0x62,0xa3,0xf5,0x10]
121 pdepq (%rax), %r11, %r10
123 // CHECK: mulxl %r12d, %r11d, %r10d
124 // CHECK: encoding: [0xc4,0x42,0x23,0xf6,0xd4]
125 mulxl %r12d, %r11d, %r10d
127 // CHECK: mulxl (%rax), %r11d, %r10d
128 // CHECK: encoding: [0xc4,0x62,0x23,0xf6,0x10]
129 mulxl (%rax), %r11d, %r10d
131 // CHECK: mulxq %r12, %r11, %r10
132 // CHECK: encoding: [0xc4,0x42,0xa3,0xf6,0xd4]
133 mulxq %r12, %r11, %r10
135 // CHECK: mulxq (%rax), %r11, %r10
136 // CHECK: encoding: [0xc4,0x62,0xa3,0xf6,0x10]
137 mulxq (%rax), %r11, %r10
139 // CHECK: rorxl $10, %r12d, %r10d
140 // CHECK: encoding: [0xc4,0x43,0x7b,0xf0,0xd4,0x0a]
141 rorxl $10, %r12d, %r10d
143 // CHECK: rorxl $31, (%rax), %r10d
144 // CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x10,0x1f]
145 rorxl $31, (%rax), %r10d
147 // CHECK: rorxq $1, %r12, %r10
148 // CHECK: encoding: [0xc4,0x43,0xfb,0xf0,0xd4,0x01]
149 rorxq $1, %r12, %r10
151 // CHECK: rorxq $63, (%rax), %r10
152 // CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x10,0x3f]
153 rorxq $63, (%rax), %r10
155 // CHECK: shlxl %r12d, (%rax), %r10d
156 // CHECK: encoding: [0xc4,0x62,0x19,0xf7,0x10]
157 shlxl %r12d, (%rax), %r10d
159 // CHECK: shlxl %r12d, %r11d, %r10d
160 // CHECK: encoding: [0xc4,0x42,0x19,0xf7,0xd3]
161 shlxl %r12d, %r11d, %r10d
163 // CHECK: shlxq %r12, (%rax), %r10
164 // CHECK: encoding: [0xc4,0x62,0x99,0xf7,0x10]
165 shlxq %r12, (%rax), %r10
167 // CHECK: shlxq %r12, %r11, %r10
168 // CHECK: encoding: [0xc4,0x42,0x99,0xf7,0xd3]
169 shlxq %r12, %r11, %r10
171 // CHECK: sarxl %r12d, (%rax), %r10d
172 // CHECK: encoding: [0xc4,0x62,0x1a,0xf7,0x10]
173 sarxl %r12d, (%rax), %r10d
175 // CHECK: sarxl %r12d, %r11d, %r10d
176 // CHECK: encoding: [0xc4,0x42,0x1a,0xf7,0xd3]
177 sarxl %r12d, %r11d, %r10d
179 // CHECK: sarxq %r12, (%rax), %r10
180 // CHECK: encoding: [0xc4,0x62,0x9a,0xf7,0x10]
181 sarxq %r12, (%rax), %r10
183 // CHECK: sarxq %r12, %r11, %r10
184 // CHECK: encoding: [0xc4,0x42,0x9a,0xf7,0xd3]
185 sarxq %r12, %r11, %r10
187 // CHECK: shrxl %r12d, (%rax), %r10d
188 // CHECK: encoding: [0xc4,0x62,0x1b,0xf7,0x10]
189 shrxl %r12d, (%rax), %r10d
191 // CHECK: shrxl %r12d, %r11d, %r10d
192 // CHECK: encoding: [0xc4,0x42,0x1b,0xf7,0xd3]
193 shrxl %r12d, %r11d, %r10d
195 // CHECK: shrxq %r12, (%rax), %r10
196 // CHECK: encoding: [0xc4,0x62,0x9b,0xf7,0x10]
197 shrxq %r12, (%rax), %r10
199 // CHECK: shrxq %r12, %r11, %r10
200 // CHECK: encoding: [0xc4,0x42,0x9b,0xf7,0xd3]
201 shrxq %r12, %r11, %r10