|
| 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 |
| 8 | +0x62,0x72,0x6f,0x08,0xf6,0xd1 |
| 9 | + |
| 10 | +# ATT: mulxq %r9, %r15, %r11 |
| 11 | +# INTEL: mulx r11, r15, r9 |
| 12 | +0x62,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] |
| 16 | +0x62,0xf2,0x77,0x08,0xf6,0x94,0x98,0x7b,0x00,0x00,0x00 |
| 17 | + |
| 18 | +# ATT: mulxq 123(%rax,%rbx,4), %r9, %r15 |
| 19 | +# INTEL: mulx r15, r9, qword ptr [rax + 4*rbx + 123] |
| 20 | +0x62,0x72,0xb7,0x08,0xf6,0xbc,0x98,0x7b,0x00,0x00,0x00 |
| 21 | + |
| 22 | +# ATT: mulxl %r18d, %r22d, %r26d |
| 23 | +# INTEL: mulx r26d, r22d, r18d |
| 24 | +0x62,0x6a,0x4f,0x00,0xf6,0xd2 |
| 25 | + |
| 26 | +# ATT: mulxq %r19, %r23, %r27 |
| 27 | +# INTEL: mulx r27, r23, r19 |
| 28 | +0x62,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] |
| 32 | +0x62,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] |
| 36 | +0x62,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 |
| 42 | +0x62,0x72,0x6f,0x08,0xf5,0xd1 |
| 43 | + |
| 44 | +# ATT: pdepq %r9, %r15, %r11 |
| 45 | +# INTEL: pdep r11, r15, r9 |
| 46 | +0x62,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] |
| 50 | +0x62,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] |
| 54 | +0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b |
| 55 | + |
| 56 | +# ATT: pdepl %r18d, %r22d, %r26d |
| 57 | +# INTEL: pdep r26d, r22d, r18d |
| 58 | +0x62,0x6a,0x4f,0x00,0xf5,0xd2 |
| 59 | + |
| 60 | +# ATT: pdepq %r19, %r23, %r27 |
| 61 | +# INTEL: pdep r27, r23, r19 |
| 62 | +0x62,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] |
| 66 | +0x62,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] |
| 70 | +0x62,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 |
| 76 | +0x62,0x72,0x6e,0x08,0xf5,0xd1 |
| 77 | + |
| 78 | +# ATT: pextq %r9, %r15, %r11 |
| 79 | +# INTEL: pext r11, r15, r9 |
| 80 | +0x62,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] |
| 84 | +0x62,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] |
| 88 | +0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b |
| 89 | + |
| 90 | +# ATT: pextl %r18d, %r22d, %r26d |
| 91 | +# INTEL: pext r26d, r22d, r18d |
| 92 | +0x62,0x6a,0x4e,0x00,0xf5,0xd2 |
| 93 | + |
| 94 | +# ATT: pextq %r19, %r23, %r27 |
| 95 | +# INTEL: pext r27, r23, r19 |
| 96 | +0x62,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] |
| 100 | +0x62,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] |
| 104 | +0x62,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 |
| 110 | +0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b |
| 111 | + |
| 112 | +# ATT: rorxq $123, %r9, %r15 |
| 113 | +# INTEL: rorx r15, r9, 123 |
| 114 | +0x62,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 |
| 118 | +0x62,0xf3,0x7f,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b |
| 119 | + |
| 120 | +# ATT: rorxq $123, 123(%rax,%rbx,4), %r9 |
| 121 | +# INTEL: rorx r9, qword ptr [rax + 4*rbx + 123], 123 |
| 122 | +0x62,0x73,0xff,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b |
| 123 | + |
| 124 | +# ATT: rorxl $123, %r18d, %r22d |
| 125 | +# INTEL: rorx r22d, r18d, 123 |
| 126 | +0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b |
| 127 | + |
| 128 | +# ATT: rorxq $123, %r19, %r23 |
| 129 | +# INTEL: rorx r23, r19, 123 |
| 130 | +0x62,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 |
| 134 | +0x62,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 |
| 138 | +0x62,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 |
| 144 | +0x62,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 |
| 148 | +0x62,0xf2,0x76,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 |
| 149 | + |
| 150 | +# ATT: sarxq %r9, %r15, %r11 |
| 151 | +# INTEL: sarx r11, r15, r9 |
| 152 | +0x62,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 |
| 156 | +0x62,0x72,0xb6,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 |
| 157 | + |
| 158 | +# ATT: sarxl %r18d, %r22d, %r26d |
| 159 | +# INTEL: sarx r26d, r22d, r18d |
| 160 | +0x62,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 |
| 164 | +0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 |
| 165 | + |
| 166 | +# ATT: sarxq %r19, %r23, %r27 |
| 167 | +# INTEL: sarx r27, r23, r19 |
| 168 | +0x62,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 |
| 172 | +0x62,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 |
| 178 | +0x62,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 |
| 182 | +0x62,0xf2,0x75,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 |
| 183 | + |
| 184 | +# ATT: shlxq %r9, %r15, %r11 |
| 185 | +# INTEL: shlx r11, r15, r9 |
| 186 | +0x62,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 |
| 190 | +0x62,0x72,0xb5,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 |
| 191 | + |
| 192 | +# ATT: shlxl %r18d, %r22d, %r26d |
| 193 | +# INTEL: shlx r26d, r22d, r18d |
| 194 | +0x62,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 |
| 198 | +0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 |
| 199 | + |
| 200 | +# ATT: shlxq %r19, %r23, %r27 |
| 201 | +# INTEL: shlx r27, r23, r19 |
| 202 | +0x62,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 |
| 206 | +0x62,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 |
| 212 | +0x62,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 |
| 216 | +0x62,0xf2,0x77,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 |
| 217 | + |
| 218 | +# ATT: shrxq %r9, %r15, %r11 |
| 219 | +# INTEL: shrx r11, r15, r9 |
| 220 | +0x62,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 |
| 224 | +0x62,0x72,0xb7,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 |
| 225 | + |
| 226 | +# ATT: shrxl %r18d, %r22d, %r26d |
| 227 | +# INTEL: shrx r26d, r22d, r18d |
| 228 | +0x62,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 |
| 232 | +0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 |
| 233 | + |
| 234 | +# ATT: shrxq %r19, %r23, %r27 |
| 235 | +# INTEL: shrx r27, r23, r19 |
| 236 | +0x62,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 |
| 240 | +0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 |
0 commit comments