aboutsummaryrefslogtreecommitdiff
path: root/test/MC/X86/x86_64-bmi-encoding.s
blob: 3e69d4af0b79011880e5ae44474d89cce6123ed9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: blsmskl  %r11d, %r10d
// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xd3]
          blsmskl  %r11d, %r10d

// CHECK: blsmskq  %r11, %r10
// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xd3]
          blsmskq  %r11, %r10

// CHECK: blsmskl  (%rax), %r10d
// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x10]
          blsmskl  (%rax), %r10d

// CHECK: blsmskq  (%rax), %r10
// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x10]
          blsmskq  (%rax), %r10

// CHECK: blsil  %r11d, %r10d
// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xdb]
          blsil  %r11d, %r10d

// CHECK: blsiq  %r11, %r10
// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xdb]
          blsiq  %r11, %r10

// CHECK: blsil  (%rax), %r10d
// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x18]
          blsil  (%rax), %r10d

// CHECK: blsiq  (%rax), %r10
// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x18]
          blsiq  (%rax), %r10

// CHECK: blsrl  %r11d, %r10d
// CHECK: encoding: [0xc4,0xc2,0x28,0xf3,0xcb]
          blsrl  %r11d, %r10d

// CHECK: blsrq  %r11, %r10
// CHECK: encoding: [0xc4,0xc2,0xa8,0xf3,0xcb]
          blsrq  %r11, %r10

// CHECK: blsrl  (%rax), %r10d
// CHECK: encoding: [0xc4,0xe2,0x28,0xf3,0x08]
          blsrl  (%rax), %r10d

// CHECK: blsrq  (%rax), %r10
// CHECK: encoding: [0xc4,0xe2,0xa8,0xf3,0x08]
          blsrq  (%rax), %r10

// CHECK: andnl  (%rax), %r11d, %r10d
// CHECK: encoding: [0xc4,0x62,0x20,0xf2,0x10]
          andnl  (%rax), %r11d, %r10d

// CHECK: andnq  (%rax), %r11, %r10
// CHECK: encoding: [0xc4,0x62,0xa0,0xf2,0x10]
          andnq  (%rax), %r11, %r10

// CHECK: bextrl %r12d, (%rax), %r10d
// CHECK: encoding: [0xc4,0x62,0x18,0xf7,0x10]
          bextrl %r12d, (%rax), %r10d

// CHECK: bextrl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x18,0xf7,0xd3]
          bextrl %r12d, %r11d, %r10d

// CHECK: bextrq %r12, (%rax), %r10
// CHECK: encoding: [0xc4,0x62,0x98,0xf7,0x10]
          bextrq %r12, (%rax), %r10

// CHECK: bextrq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0x98,0xf7,0xd3]
          bextrq %r12, %r11, %r10

// CHECK: bzhil %r12d, (%rax), %r10d
// CHECK: encoding: [0xc4,0x62,0x18,0xf5,0x10]
          bzhil %r12d, (%rax), %r10d

// CHECK: bzhil %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x18,0xf5,0xd3]
          bzhil %r12d, %r11d, %r10d

// CHECK: bzhiq %r12, (%rax), %r10
// CHECK: encoding: [0xc4,0x62,0x98,0xf5,0x10]
          bzhiq %r12, (%rax), %r10

// CHECK: bzhiq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0x98,0xf5,0xd3]
          bzhiq %r12, %r11, %r10

// CHECK: pextl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x22,0xf5,0xd4]
          pextl %r12d, %r11d, %r10d

// CHECK: pextl (%rax), %r11d, %r10d
// CHECK: encoding: [0xc4,0x62,0x22,0xf5,0x10]
          pextl (%rax), %r11d, %r10d

// CHECK: pextq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0xa2,0xf5,0xd4]
          pextq %r12, %r11, %r10

// CHECK: pextq (%rax), %r11, %r10
// CHECK: encoding: [0xc4,0x62,0xa2,0xf5,0x10]
          pextq (%rax), %r11, %r10

// CHECK: pdepl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x23,0xf5,0xd4]
          pdepl %r12d, %r11d, %r10d

// CHECK: pdepl (%rax), %r11d, %r10d
// CHECK: encoding: [0xc4,0x62,0x23,0xf5,0x10]
          pdepl (%rax), %r11d, %r10d

// CHECK: pdepq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0xa3,0xf5,0xd4]
          pdepq %r12, %r11, %r10

// CHECK: pdepq (%rax), %r11, %r10
// CHECK: encoding: [0xc4,0x62,0xa3,0xf5,0x10]
          pdepq (%rax), %r11, %r10

// CHECK: mulxl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x23,0xf6,0xd4]
          mulxl %r12d, %r11d, %r10d

// CHECK: mulxl (%rax), %r11d, %r10d
// CHECK: encoding: [0xc4,0x62,0x23,0xf6,0x10]
          mulxl (%rax), %r11d, %r10d

// CHECK: mulxq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0xa3,0xf6,0xd4]
          mulxq %r12, %r11, %r10

// CHECK: mulxq (%rax), %r11, %r10
// CHECK: encoding: [0xc4,0x62,0xa3,0xf6,0x10]
          mulxq (%rax), %r11, %r10

// CHECK: rorxl $10, %r12d, %r10d
// CHECK: encoding: [0xc4,0x43,0x7b,0xf0,0xd4,0x0a]
          rorxl $10, %r12d, %r10d

// CHECK: rorxl $31, (%rax), %r10d
// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x10,0x1f]
          rorxl $31, (%rax), %r10d

// CHECK: rorxq $1, %r12, %r10
// CHECK: encoding: [0xc4,0x43,0xfb,0xf0,0xd4,0x01]
          rorxq $1, %r12, %r10

// CHECK: rorxq $63, (%rax), %r10
// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x10,0x3f]
          rorxq $63, (%rax), %r10

// CHECK: shlxl %r12d, (%rax), %r10d
// CHECK: encoding: [0xc4,0x62,0x19,0xf7,0x10]
          shlxl %r12d, (%rax), %r10d

// CHECK: shlxl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x19,0xf7,0xd3]
          shlxl %r12d, %r11d, %r10d

// CHECK: shlxq %r12, (%rax), %r10
// CHECK: encoding: [0xc4,0x62,0x99,0xf7,0x10]
          shlxq %r12, (%rax), %r10

// CHECK: shlxq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0x99,0xf7,0xd3]
          shlxq %r12, %r11, %r10

// CHECK: sarxl %r12d, (%rax), %r10d
// CHECK: encoding: [0xc4,0x62,0x1a,0xf7,0x10]
          sarxl %r12d, (%rax), %r10d

// CHECK: sarxl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x1a,0xf7,0xd3]
          sarxl %r12d, %r11d, %r10d

// CHECK: sarxq %r12, (%rax), %r10
// CHECK: encoding: [0xc4,0x62,0x9a,0xf7,0x10]
          sarxq %r12, (%rax), %r10

// CHECK: sarxq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0x9a,0xf7,0xd3]
          sarxq %r12, %r11, %r10

// CHECK: shrxl %r12d, (%rax), %r10d
// CHECK: encoding: [0xc4,0x62,0x1b,0xf7,0x10]
          shrxl %r12d, (%rax), %r10d

// CHECK: shrxl %r12d, %r11d, %r10d
// CHECK: encoding: [0xc4,0x42,0x1b,0xf7,0xd3]
          shrxl %r12d, %r11d, %r10d

// CHECK: shrxq %r12, (%rax), %r10
// CHECK: encoding: [0xc4,0x62,0x9b,0xf7,0x10]
          shrxq %r12, (%rax), %r10

// CHECK: shrxq %r12, %r11, %r10
// CHECK: encoding: [0xc4,0x42,0x9b,0xf7,0xd3]
          shrxq %r12, %r11, %r10