1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3 // CHECK: clts 4 // CHECK: encoding: [0x0f,0x06] 5 clts 6 7 // CHECK: larl 485498096, %r13d 8 // CHECK: encoding: [0x44,0x0f,0x02,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 9 larl 485498096, %r13d 10 11 // CHECK: larl 64(%rdx), %r13d 12 // CHECK: encoding: [0x44,0x0f,0x02,0x6a,0x40] 13 larl 64(%rdx), %r13d 14 15 // CHECK: larl 64(%rdx,%rax,4), %r13d 16 // CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x82,0x40] 17 larl 64(%rdx,%rax,4), %r13d 18 19 // CHECK: larl -64(%rdx,%rax,4), %r13d 20 // CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x82,0xc0] 21 larl -64(%rdx,%rax,4), %r13d 22 23 // CHECK: larl 64(%rdx,%rax), %r13d 24 // CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x02,0x40] 25 larl 64(%rdx,%rax), %r13d 26 27 // CHECK: larl %r13d, %r13d 28 // CHECK: encoding: [0x45,0x0f,0x02,0xed] 29 larl %r13d, %r13d 30 31 // CHECK: larl (%rdx), %r13d 32 // CHECK: encoding: [0x44,0x0f,0x02,0x2a] 33 larl (%rdx), %r13d 34 35 // CHECK: lgdtq 485498096 36 // CHECK: encoding: [0x0f,0x01,0x14,0x25,0xf0,0x1c,0xf0,0x1c] 37 lgdtq 485498096 38 39 // CHECK: lgdtq 64(%rdx) 40 // CHECK: encoding: [0x0f,0x01,0x52,0x40] 41 lgdtq 64(%rdx) 42 43 // CHECK: lgdtq 64(%rdx,%rax,4) 44 // CHECK: encoding: [0x0f,0x01,0x54,0x82,0x40] 45 lgdtq 64(%rdx,%rax,4) 46 47 // CHECK: lgdtq -64(%rdx,%rax,4) 48 // CHECK: encoding: [0x0f,0x01,0x54,0x82,0xc0] 49 lgdtq -64(%rdx,%rax,4) 50 51 // CHECK: lgdtq 64(%rdx,%rax) 52 // CHECK: encoding: [0x0f,0x01,0x54,0x02,0x40] 53 lgdtq 64(%rdx,%rax) 54 55 // CHECK: lgdtq (%rdx) 56 // CHECK: encoding: [0x0f,0x01,0x12] 57 lgdtq (%rdx) 58 59 // CHECK: lidtq 485498096 60 // CHECK: encoding: [0x0f,0x01,0x1c,0x25,0xf0,0x1c,0xf0,0x1c] 61 lidtq 485498096 62 63 // CHECK: lidtq 64(%rdx) 64 // CHECK: encoding: [0x0f,0x01,0x5a,0x40] 65 lidtq 64(%rdx) 66 67 // CHECK: lidtq 64(%rdx,%rax,4) 68 // CHECK: encoding: [0x0f,0x01,0x5c,0x82,0x40] 69 lidtq 64(%rdx,%rax,4) 70 71 // CHECK: lidtq -64(%rdx,%rax,4) 72 // CHECK: encoding: [0x0f,0x01,0x5c,0x82,0xc0] 73 lidtq -64(%rdx,%rax,4) 74 75 // CHECK: lidtq 64(%rdx,%rax) 76 // CHECK: encoding: [0x0f,0x01,0x5c,0x02,0x40] 77 lidtq 64(%rdx,%rax) 78 79 // CHECK: lidtq (%rdx) 80 // CHECK: encoding: [0x0f,0x01,0x1a] 81 lidtq (%rdx) 82 83 // CHECK: lldtw 485498096 84 // CHECK: encoding: [0x0f,0x00,0x14,0x25,0xf0,0x1c,0xf0,0x1c] 85 lldtw 485498096 86 87 // CHECK: lldtw 64(%rdx) 88 // CHECK: encoding: [0x0f,0x00,0x52,0x40] 89 lldtw 64(%rdx) 90 91 // CHECK: lldtw 64(%rdx,%rax,4) 92 // CHECK: encoding: [0x0f,0x00,0x54,0x82,0x40] 93 lldtw 64(%rdx,%rax,4) 94 95 // CHECK: lldtw -64(%rdx,%rax,4) 96 // CHECK: encoding: [0x0f,0x00,0x54,0x82,0xc0] 97 lldtw -64(%rdx,%rax,4) 98 99 // CHECK: lldtw 64(%rdx,%rax) 100 // CHECK: encoding: [0x0f,0x00,0x54,0x02,0x40] 101 lldtw 64(%rdx,%rax) 102 103 // CHECK: lldtw %r11w 104 // CHECK: encoding: [0x41,0x0f,0x00,0xd3] 105 lldtw %r11w 106 107 // CHECK: lldtw (%rdx) 108 // CHECK: encoding: [0x0f,0x00,0x12] 109 lldtw (%rdx) 110 111 // CHECK: lmsww 485498096 112 // CHECK: encoding: [0x0f,0x01,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 113 lmsww 485498096 114 115 // CHECK: lmsww 64(%rdx) 116 // CHECK: encoding: [0x0f,0x01,0x72,0x40] 117 lmsww 64(%rdx) 118 119 // CHECK: lmsww 64(%rdx,%rax,4) 120 // CHECK: encoding: [0x0f,0x01,0x74,0x82,0x40] 121 lmsww 64(%rdx,%rax,4) 122 123 // CHECK: lmsww -64(%rdx,%rax,4) 124 // CHECK: encoding: [0x0f,0x01,0x74,0x82,0xc0] 125 lmsww -64(%rdx,%rax,4) 126 127 // CHECK: lmsww 64(%rdx,%rax) 128 // CHECK: encoding: [0x0f,0x01,0x74,0x02,0x40] 129 lmsww 64(%rdx,%rax) 130 131 // CHECK: lmsww %r11w 132 // CHECK: encoding: [0x41,0x0f,0x01,0xf3] 133 lmsww %r11w 134 135 // CHECK: lmsww (%rdx) 136 // CHECK: encoding: [0x0f,0x01,0x32] 137 lmsww (%rdx) 138 139 // CHECK: lsll 485498096, %r13d 140 // CHECK: encoding: [0x44,0x0f,0x03,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 141 lsll 485498096, %r13d 142 143 // CHECK: lsll 64(%rdx), %r13d 144 // CHECK: encoding: [0x44,0x0f,0x03,0x6a,0x40] 145 lsll 64(%rdx), %r13d 146 147 // CHECK: lsll 64(%rdx,%rax,4), %r13d 148 // CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x82,0x40] 149 lsll 64(%rdx,%rax,4), %r13d 150 151 // CHECK: lsll -64(%rdx,%rax,4), %r13d 152 // CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x82,0xc0] 153 lsll -64(%rdx,%rax,4), %r13d 154 155 // CHECK: lsll 64(%rdx,%rax), %r13d 156 // CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x02,0x40] 157 lsll 64(%rdx,%rax), %r13d 158 159 // CHECK: lsll %r13d, %r13d 160 // CHECK: encoding: [0x45,0x0f,0x03,0xed] 161 lsll %r13d, %r13d 162 163 // CHECK: lsll (%rdx), %r13d 164 // CHECK: encoding: [0x44,0x0f,0x03,0x2a] 165 lsll (%rdx), %r13d 166 167 // CHECK: ltrw 485498096 168 // CHECK: encoding: [0x0f,0x00,0x1c,0x25,0xf0,0x1c,0xf0,0x1c] 169 ltrw 485498096 170 171 // CHECK: ltrw 64(%rdx) 172 // CHECK: encoding: [0x0f,0x00,0x5a,0x40] 173 ltrw 64(%rdx) 174 175 // CHECK: ltrw 64(%rdx,%rax,4) 176 // CHECK: encoding: [0x0f,0x00,0x5c,0x82,0x40] 177 ltrw 64(%rdx,%rax,4) 178 179 // CHECK: ltrw -64(%rdx,%rax,4) 180 // CHECK: encoding: [0x0f,0x00,0x5c,0x82,0xc0] 181 ltrw -64(%rdx,%rax,4) 182 183 // CHECK: ltrw 64(%rdx,%rax) 184 // CHECK: encoding: [0x0f,0x00,0x5c,0x02,0x40] 185 ltrw 64(%rdx,%rax) 186 187 // CHECK: ltrw %r11w 188 // CHECK: encoding: [0x41,0x0f,0x00,0xdb] 189 ltrw %r11w 190 191 // CHECK: ltrw (%rdx) 192 // CHECK: encoding: [0x0f,0x00,0x1a] 193 ltrw (%rdx) 194 195 // CHECK: sgdtq 485498096 196 // CHECK: encoding: [0x0f,0x01,0x04,0x25,0xf0,0x1c,0xf0,0x1c] 197 sgdtq 485498096 198 199 // CHECK: sgdtq 64(%rdx) 200 // CHECK: encoding: [0x0f,0x01,0x42,0x40] 201 sgdtq 64(%rdx) 202 203 // CHECK: sgdtq 64(%rdx,%rax,4) 204 // CHECK: encoding: [0x0f,0x01,0x44,0x82,0x40] 205 sgdtq 64(%rdx,%rax,4) 206 207 // CHECK: sgdtq -64(%rdx,%rax,4) 208 // CHECK: encoding: [0x0f,0x01,0x44,0x82,0xc0] 209 sgdtq -64(%rdx,%rax,4) 210 211 // CHECK: sgdtq 64(%rdx,%rax) 212 // CHECK: encoding: [0x0f,0x01,0x44,0x02,0x40] 213 sgdtq 64(%rdx,%rax) 214 215 // CHECK: sgdtq (%rdx) 216 // CHECK: encoding: [0x0f,0x01,0x02] 217 sgdtq (%rdx) 218 219 // CHECK: sidtq 485498096 220 // CHECK: encoding: [0x0f,0x01,0x0c,0x25,0xf0,0x1c,0xf0,0x1c] 221 sidtq 485498096 222 223 // CHECK: sidtq 64(%rdx) 224 // CHECK: encoding: [0x0f,0x01,0x4a,0x40] 225 sidtq 64(%rdx) 226 227 // CHECK: sidtq 64(%rdx,%rax,4) 228 // CHECK: encoding: [0x0f,0x01,0x4c,0x82,0x40] 229 sidtq 64(%rdx,%rax,4) 230 231 // CHECK: sidtq -64(%rdx,%rax,4) 232 // CHECK: encoding: [0x0f,0x01,0x4c,0x82,0xc0] 233 sidtq -64(%rdx,%rax,4) 234 235 // CHECK: sidtq 64(%rdx,%rax) 236 // CHECK: encoding: [0x0f,0x01,0x4c,0x02,0x40] 237 sidtq 64(%rdx,%rax) 238 239 // CHECK: sidtq (%rdx) 240 // CHECK: encoding: [0x0f,0x01,0x0a] 241 sidtq (%rdx) 242 243 // CHECK: sldtw %r13w 244 // CHECK: encoding: [0x66,0x41,0x0f,0x00,0xc5] 245 sldtw %r13w 246 247 // CHECK: sldtl %r13d 248 // CHECK: encoding: [0x41,0x0f,0x00,0xc5] 249 sldtl %r13d 250 251 // CHECK: sldtq %r13 252 // CHECK: encoding: [0x49,0x0f,0x00,0xc5] 253 sldtq %r13 254 255 // CHECK: sldtw 485498096 256 // CHECK: encoding: [0x0f,0x00,0x04,0x25,0xf0,0x1c,0xf0,0x1c] 257 sldtw 485498096 258 259 // CHECK: sldtw 64(%rdx) 260 // CHECK: encoding: [0x0f,0x00,0x42,0x40] 261 sldtw 64(%rdx) 262 263 // CHECK: sldtw 64(%rdx,%rax,4) 264 // CHECK: encoding: [0x0f,0x00,0x44,0x82,0x40] 265 sldtw 64(%rdx,%rax,4) 266 267 // CHECK: sldtw -64(%rdx,%rax,4) 268 // CHECK: encoding: [0x0f,0x00,0x44,0x82,0xc0] 269 sldtw -64(%rdx,%rax,4) 270 271 // CHECK: sldtw 64(%rdx,%rax) 272 // CHECK: encoding: [0x0f,0x00,0x44,0x02,0x40] 273 sldtw 64(%rdx,%rax) 274 275 // CHECK: sldtw (%rdx) 276 // CHECK: encoding: [0x0f,0x00,0x02] 277 sldtw (%rdx) 278 279 // CHECK: smswl %r13d 280 // CHECK: encoding: [0x41,0x0f,0x01,0xe5] 281 smswl %r13d 282 283 // CHECK: smsww 485498096 284 // CHECK: encoding: [0x0f,0x01,0x24,0x25,0xf0,0x1c,0xf0,0x1c] 285 smsww 485498096 286 287 // CHECK: smsww 64(%rdx) 288 // CHECK: encoding: [0x0f,0x01,0x62,0x40] 289 smsww 64(%rdx) 290 291 // CHECK: smsww 64(%rdx,%rax,4) 292 // CHECK: encoding: [0x0f,0x01,0x64,0x82,0x40] 293 smsww 64(%rdx,%rax,4) 294 295 // CHECK: smsww -64(%rdx,%rax,4) 296 // CHECK: encoding: [0x0f,0x01,0x64,0x82,0xc0] 297 smsww -64(%rdx,%rax,4) 298 299 // CHECK: smsww 64(%rdx,%rax) 300 // CHECK: encoding: [0x0f,0x01,0x64,0x02,0x40] 301 smsww 64(%rdx,%rax) 302 303 // CHECK: smsww (%rdx) 304 // CHECK: encoding: [0x0f,0x01,0x22] 305 smsww (%rdx) 306 307 // CHECK: strl %r13d 308 // CHECK: encoding: [0x41,0x0f,0x00,0xcd] 309 strl %r13d 310 311 // CHECK: strw 485498096 312 // CHECK: encoding: [0x0f,0x00,0x0c,0x25,0xf0,0x1c,0xf0,0x1c] 313 strw 485498096 314 315 // CHECK: strw 64(%rdx) 316 // CHECK: encoding: [0x0f,0x00,0x4a,0x40] 317 strw 64(%rdx) 318 319 // CHECK: strw 64(%rdx,%rax,4) 320 // CHECK: encoding: [0x0f,0x00,0x4c,0x82,0x40] 321 strw 64(%rdx,%rax,4) 322 323 // CHECK: strw -64(%rdx,%rax,4) 324 // CHECK: encoding: [0x0f,0x00,0x4c,0x82,0xc0] 325 strw -64(%rdx,%rax,4) 326 327 // CHECK: strw 64(%rdx,%rax) 328 // CHECK: encoding: [0x0f,0x00,0x4c,0x02,0x40] 329 strw 64(%rdx,%rax) 330 331 // CHECK: strw (%rdx) 332 // CHECK: encoding: [0x0f,0x00,0x0a] 333 strw (%rdx) 334 335 // CHECK: verr 485498096 336 // CHECK: encoding: [0x0f,0x00,0x24,0x25,0xf0,0x1c,0xf0,0x1c] 337 verr 485498096 338 339 // CHECK: verr 64(%rdx) 340 // CHECK: encoding: [0x0f,0x00,0x62,0x40] 341 verr 64(%rdx) 342 343 // CHECK: verr 64(%rdx,%rax,4) 344 // CHECK: encoding: [0x0f,0x00,0x64,0x82,0x40] 345 verr 64(%rdx,%rax,4) 346 347 // CHECK: verr -64(%rdx,%rax,4) 348 // CHECK: encoding: [0x0f,0x00,0x64,0x82,0xc0] 349 verr -64(%rdx,%rax,4) 350 351 // CHECK: verr 64(%rdx,%rax) 352 // CHECK: encoding: [0x0f,0x00,0x64,0x02,0x40] 353 verr 64(%rdx,%rax) 354 355 // CHECK: verr %r11w 356 // CHECK: encoding: [0x41,0x0f,0x00,0xe3] 357 verr %r11w 358 359 // CHECK: verr (%rdx) 360 // CHECK: encoding: [0x0f,0x00,0x22] 361 verr (%rdx) 362 363 // CHECK: verw 485498096 364 // CHECK: encoding: [0x0f,0x00,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] 365 verw 485498096 366 367 // CHECK: verw 64(%rdx) 368 // CHECK: encoding: [0x0f,0x00,0x6a,0x40] 369 verw 64(%rdx) 370 371 // CHECK: verw 64(%rdx,%rax,4) 372 // CHECK: encoding: [0x0f,0x00,0x6c,0x82,0x40] 373 verw 64(%rdx,%rax,4) 374 375 // CHECK: verw -64(%rdx,%rax,4) 376 // CHECK: encoding: [0x0f,0x00,0x6c,0x82,0xc0] 377 verw -64(%rdx,%rax,4) 378 379 // CHECK: verw 64(%rdx,%rax) 380 // CHECK: encoding: [0x0f,0x00,0x6c,0x02,0x40] 381 verw 64(%rdx,%rax) 382 383 // CHECK: verw %r11w 384 // CHECK: encoding: [0x41,0x0f,0x00,0xeb] 385 verw %r11w 386 387 // CHECK: verw (%rdx) 388 // CHECK: encoding: [0x0f,0x00,0x2a] 389 verw (%rdx) 390 391