1# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT 2# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL 3 4## mulx 5 6# ATT: mulxl %ecx, %edx, %r10d 7# INTEL: mulx r10d, edx, ecx 80x62,0x72,0x6f,0x08,0xf6,0xd1 9 10# ATT: mulxq %r9, %r15, %r11 11# INTEL: mulx r11, r15, r9 120x62,0x52,0x87,0x08,0xf6,0xd9 13 14# ATT: mulxl 123(%rax,%rbx,4), %ecx, %edx 15# INTEL: mulx edx, ecx, dword ptr [rax + 4*rbx + 123] 160x62,0xf2,0x77,0x08,0xf6,0x54,0x98,0x7b 17 18# ATT: mulxq 123(%rax,%rbx,4), %r9, %r15 19# INTEL: mulx r15, r9, qword ptr [rax + 4*rbx + 123] 200x62,0x72,0xb7,0x08,0xf6,0x7c,0x98,0x7b 21 22# ATT: mulxl %r18d, %r22d, %r26d 23# INTEL: mulx r26d, r22d, r18d 240x62,0x6a,0x4f,0x00,0xf6,0xd2 25 26# ATT: mulxq %r19, %r23, %r27 27# INTEL: mulx r27, r23, r19 280x62,0x6a,0xc7,0x00,0xf6,0xdb 29 30# ATT: mulxl 291(%r28,%r29,4), %r18d, %r22d 31# INTEL: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] 320x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00 33 34# ATT: mulxq 291(%r28,%r29,4), %r19, %r23 35# INTEL: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] 360x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00 37 38## pdep 39 40# ATT: pdepl %ecx, %edx, %r10d 41# INTEL: pdep r10d, edx, ecx 420x62,0x72,0x6f,0x08,0xf5,0xd1 43 44# ATT: pdepq %r9, %r15, %r11 45# INTEL: pdep r11, r15, r9 460x62,0x52,0x87,0x08,0xf5,0xd9 47 48# ATT: pdepl 123(%rax,%rbx,4), %ecx, %edx 49# INTEL: pdep edx, ecx, dword ptr [rax + 4*rbx + 123] 500x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b 51 52# ATT: pdepq 123(%rax,%rbx,4), %r9, %r15 53# INTEL: pdep r15, r9, qword ptr [rax + 4*rbx + 123] 540x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b 55 56# ATT: pdepl %r18d, %r22d, %r26d 57# INTEL: pdep r26d, r22d, r18d 580x62,0x6a,0x4f,0x00,0xf5,0xd2 59 60# ATT: pdepq %r19, %r23, %r27 61# INTEL: pdep r27, r23, r19 620x62,0x6a,0xc7,0x00,0xf5,0xdb 63 64# ATT: pdepl 291(%r28,%r29,4), %r18d, %r22d 65# INTEL: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] 660x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00 67 68# ATT: pdepq 291(%r28,%r29,4), %r19, %r23 69# INTEL: pdep r23, r19, qword ptr [r28 + 4*r29 + 291] 700x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00 71 72## pext 73 74# ATT: pextl %ecx, %edx, %r10d 75# INTEL: pext r10d, edx, ecx 760x62,0x72,0x6e,0x08,0xf5,0xd1 77 78# ATT: pextq %r9, %r15, %r11 79# INTEL: pext r11, r15, r9 800x62,0x52,0x86,0x08,0xf5,0xd9 81 82# ATT: pextl 123(%rax,%rbx,4), %ecx, %edx 83# INTEL: pext edx, ecx, dword ptr [rax + 4*rbx + 123] 840x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b 85 86# ATT: pextq 123(%rax,%rbx,4), %r9, %r15 87# INTEL: pext r15, r9, qword ptr [rax + 4*rbx + 123] 880x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b 89 90# ATT: pextl %r18d, %r22d, %r26d 91# INTEL: pext r26d, r22d, r18d 920x62,0x6a,0x4e,0x00,0xf5,0xd2 93 94# ATT: pextq %r19, %r23, %r27 95# INTEL: pext r27, r23, r19 960x62,0x6a,0xc6,0x00,0xf5,0xdb 97 98# ATT: pextl 291(%r28,%r29,4), %r18d, %r22d 99# INTEL: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] 1000x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00 101 102# ATT: pextq 291(%r28,%r29,4), %r19, %r23 103# INTEL: pext r23, r19, qword ptr [r28 + 4*r29 + 291] 1040x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00 105 106## rorx 107 108# ATT: rorxl $123, %ecx, %edx 109# INTEL: rorx edx, ecx, 123 1100x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b 111 112# ATT: rorxq $123, %r9, %r15 113# INTEL: rorx r15, r9, 123 1140x62,0x53,0xff,0x08,0xf0,0xf9,0x7b 115 116# ATT: rorxl $123, 123(%rax,%rbx,4), %ecx 117# INTEL: rorx ecx, dword ptr [rax + 4*rbx + 123], 123 1180x62,0xf3,0x7f,0x08,0xf0,0x4c,0x98,0x7b,0x7b 119 120# ATT: rorxq $123, 123(%rax,%rbx,4), %r9 121# INTEL: rorx r9, qword ptr [rax + 4*rbx + 123], 123 1220x62,0x73,0xff,0x08,0xf0,0x4c,0x98,0x7b,0x7b 123 124# ATT: rorxl $123, %r18d, %r22d 125# INTEL: rorx r22d, r18d, 123 1260x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b 127 128# ATT: rorxq $123, %r19, %r23 129# INTEL: rorx r23, r19, 123 1300x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b 131 132# ATT: rorxl $123, 291(%r28,%r29,4), %r18d 133# INTEL: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 1340x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b 135 136# ATT: rorxq $123, 291(%r28,%r29,4), %r19 137# INTEL: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 1380x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b 139 140## sarx 141 142# ATT: sarxl %ecx, %edx, %r10d 143# INTEL: sarx r10d, edx, ecx 1440x62,0x72,0x76,0x08,0xf7,0xd2 145 146# ATT: sarxl %ecx, 123(%rax,%rbx,4), %edx 147# INTEL: sarx edx, dword ptr [rax + 4*rbx + 123], ecx 1480x62,0xf2,0x76,0x08,0xf7,0x54,0x98,0x7b 149 150# ATT: sarxq %r9, %r15, %r11 151# INTEL: sarx r11, r15, r9 1520x62,0x52,0xb6,0x08,0xf7,0xdf 153 154# ATT: sarxq %r9, 123(%rax,%rbx,4), %r15 155# INTEL: sarx r15, qword ptr [rax + 4*rbx + 123], r9 1560x62,0x72,0xb6,0x08,0xf7,0x7c,0x98,0x7b 157 158# ATT: sarxl %r18d, %r22d, %r26d 159# INTEL: sarx r26d, r22d, r18d 1600x62,0x6a,0x6e,0x00,0xf7,0xd6 161 162# ATT: sarxl %r18d, 291(%r28,%r29,4), %r22d 163# INTEL: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d 1640x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 165 166# ATT: sarxq %r19, %r23, %r27 167# INTEL: sarx r27, r23, r19 1680x62,0x6a,0xe6,0x00,0xf7,0xdf 169 170# ATT: sarxq %r19, 291(%r28,%r29,4), %r23 171# INTEL: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 1720x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 173 174## shlx 175 176# ATT: shlxl %ecx, %edx, %r10d 177# INTEL: shlx r10d, edx, ecx 1780x62,0x72,0x75,0x08,0xf7,0xd2 179 180# ATT: shlxl %ecx, 123(%rax,%rbx,4), %edx 181# INTEL: shlx edx, dword ptr [rax + 4*rbx + 123], ecx 1820x62,0xf2,0x75,0x08,0xf7,0x54,0x98,0x7b 183 184# ATT: shlxq %r9, %r15, %r11 185# INTEL: shlx r11, r15, r9 1860x62,0x52,0xb5,0x08,0xf7,0xdf 187 188# ATT: shlxq %r9, 123(%rax,%rbx,4), %r15 189# INTEL: shlx r15, qword ptr [rax + 4*rbx + 123], r9 1900x62,0x72,0xb5,0x08,0xf7,0x7c,0x98,0x7b 191 192# ATT: shlxl %r18d, %r22d, %r26d 193# INTEL: shlx r26d, r22d, r18d 1940x62,0x6a,0x6d,0x00,0xf7,0xd6 195 196# ATT: shlxl %r18d, 291(%r28,%r29,4), %r22d 197# INTEL: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d 1980x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 199 200# ATT: shlxq %r19, %r23, %r27 201# INTEL: shlx r27, r23, r19 2020x62,0x6a,0xe5,0x00,0xf7,0xdf 203 204# ATT: shlxq %r19, 291(%r28,%r29,4), %r23 205# INTEL: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 2060x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 207 208## shrx 209 210# ATT: shrxl %ecx, %edx, %r10d 211# INTEL: shrx r10d, edx, ecx 2120x62,0x72,0x77,0x08,0xf7,0xd2 213 214# ATT: shrxl %ecx, 123(%rax,%rbx,4), %edx 215# INTEL: shrx edx, dword ptr [rax + 4*rbx + 123], ecx 2160x62,0xf2,0x77,0x08,0xf7,0x54,0x98,0x7b 217 218# ATT: shrxq %r9, %r15, %r11 219# INTEL: shrx r11, r15, r9 2200x62,0x52,0xb7,0x08,0xf7,0xdf 221 222# ATT: shrxq %r9, 123(%rax,%rbx,4), %r15 223# INTEL: shrx r15, qword ptr [rax + 4*rbx + 123], r9 2240x62,0x72,0xb7,0x08,0xf7,0x7c,0x98,0x7b 225 226# ATT: shrxl %r18d, %r22d, %r26d 227# INTEL: shrx r26d, r22d, r18d 2280x62,0x6a,0x6f,0x00,0xf7,0xd6 229 230# ATT: shrxl %r18d, 291(%r28,%r29,4), %r22d 231# INTEL: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d 2320x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 233 234# ATT: shrxq %r19, %r23, %r27 235# INTEL: shrx r27, r23, r19 2360x62,0x6a,0xe7,0x00,0xf7,0xdf 237 238# ATT: shrxq %r19, 291(%r28,%r29,4), %r23 239# INTEL: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 2400x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 241