244 lines · plain
1# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s2# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR3 4# ERROR-COUNT-56: error:5# ERROR-NOT: error:6 7## mulx8 9# CHECK: {evex} mulxl %ecx, %edx, %r10d10# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf6,0xd1]11 {evex} mulxl %ecx, %edx, %r10d12 13# CHECK: {evex} mulxq %r9, %r15, %r1114# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf6,0xd9]15 {evex} mulxq %r9, %r15, %r1116 17# CHECK: {evex} mulxl 123(%rax,%rbx,4), %ecx, %edx18# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf6,0x54,0x98,0x7b]19 {evex} mulxl 123(%rax,%rbx,4), %ecx, %edx20 21# CHECK: {evex} mulxq 123(%rax,%rbx,4), %r9, %r1522# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf6,0x7c,0x98,0x7b]23 {evex} mulxq 123(%rax,%rbx,4), %r9, %r1524 25# CHECK: mulxl %r18d, %r22d, %r26d26# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2]27 mulxl %r18d, %r22d, %r26d28 29# CHECK: mulxq %r19, %r23, %r2730# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb]31 mulxq %r19, %r23, %r2732 33# CHECK: mulxl 291(%r28,%r29,4), %r18d, %r22d34# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00]35 mulxl 291(%r28,%r29,4), %r18d, %r22d36 37# CHECK: mulxq 291(%r28,%r29,4), %r19, %r2338# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00]39 mulxq 291(%r28,%r29,4), %r19, %r2340 41## pdep42 43# CHECK: {evex} pdepl %ecx, %edx, %r10d44# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf5,0xd1]45 {evex} pdepl %ecx, %edx, %r10d46 47# CHECK: {evex} pdepq %r9, %r15, %r1148# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf5,0xd9]49 {evex} pdepq %r9, %r15, %r1150 51# CHECK: {evex} pdepl 123(%rax,%rbx,4), %ecx, %edx52# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b]53 {evex} pdepl 123(%rax,%rbx,4), %ecx, %edx54 55# CHECK: {evex} pdepq 123(%rax,%rbx,4), %r9, %r1556# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b]57 {evex} pdepq 123(%rax,%rbx,4), %r9, %r1558 59# CHECK: pdepl %r18d, %r22d, %r26d60# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2]61 pdepl %r18d, %r22d, %r26d62 63# CHECK: pdepq %r19, %r23, %r2764# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb]65 pdepq %r19, %r23, %r2766 67# CHECK: pdepl 291(%r28,%r29,4), %r18d, %r22d68# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00]69 pdepl 291(%r28,%r29,4), %r18d, %r22d70 71# CHECK: pdepq 291(%r28,%r29,4), %r19, %r2372# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]73 pdepq 291(%r28,%r29,4), %r19, %r2374 75## pext76 77# CHECK: {evex} pextl %ecx, %edx, %r10d78# CHECK: encoding: [0x62,0x72,0x6e,0x08,0xf5,0xd1]79 {evex} pextl %ecx, %edx, %r10d80 81# CHECK: {evex} pextq %r9, %r15, %r1182# CHECK: encoding: [0x62,0x52,0x86,0x08,0xf5,0xd9]83 {evex} pextq %r9, %r15, %r1184 85# CHECK: {evex} pextl 123(%rax,%rbx,4), %ecx, %edx86# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b]87 {evex} pextl 123(%rax,%rbx,4), %ecx, %edx88 89# CHECK: {evex} pextq 123(%rax,%rbx,4), %r9, %r1590# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b]91 {evex} pextq 123(%rax,%rbx,4), %r9, %r1592 93# CHECK: pextl %r18d, %r22d, %r26d94# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2]95 pextl %r18d, %r22d, %r26d96 97# CHECK: pextq %r19, %r23, %r2798# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb]99 pextq %r19, %r23, %r27100 101# CHECK: pextl 291(%r28,%r29,4), %r18d, %r22d102# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00]103 pextl 291(%r28,%r29,4), %r18d, %r22d104 105# CHECK: pextq 291(%r28,%r29,4), %r19, %r23106# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]107 pextq 291(%r28,%r29,4), %r19, %r23108 109## rorx110 111# CHECK: {evex} rorxl $123, %ecx, %edx112# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b]113 {evex} rorxl $123, %ecx, %edx114 115# CHECK: {evex} rorxq $123, %r9, %r15116# CHECK: encoding: [0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b]117 {evex} rorxq $123, %r9, %r15118 119# CHECK: {evex} rorxl $123, 123(%rax,%rbx,4), %ecx120# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0x4c,0x98,0x7b,0x7b]121 {evex} rorxl $123, 123(%rax,%rbx,4), %ecx122 123# CHECK: {evex} rorxq $123, 123(%rax,%rbx,4), %r9124# CHECK: encoding: [0x62,0x73,0xff,0x08,0xf0,0x4c,0x98,0x7b,0x7b]125 {evex} rorxq $123, 123(%rax,%rbx,4), %r9126 127# CHECK: rorxl $123, %r18d, %r22d128# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b]129 rorxl $123, %r18d, %r22d130 131# CHECK: rorxq $123, %r19, %r23132# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b]133 rorxq $123, %r19, %r23134 135# CHECK: rorxl $123, 291(%r28,%r29,4), %r18d136# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b]137 rorxl $123, 291(%r28,%r29,4), %r18d138 139# CHECK: rorxq $123, 291(%r28,%r29,4), %r19140# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b]141 rorxq $123, 291(%r28,%r29,4), %r19142 143## sarx144 145# CHECK: {evex} sarxl %ecx, %edx, %r10d146# CHECK: encoding: [0x62,0x72,0x76,0x08,0xf7,0xd2]147 {evex} sarxl %ecx, %edx, %r10d148 149# CHECK: {evex} sarxl %ecx, 123(%rax,%rbx,4), %edx150# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf7,0x54,0x98,0x7b]151 {evex} sarxl %ecx, 123(%rax,%rbx,4), %edx152 153# CHECK: {evex} sarxq %r9, %r15, %r11154# CHECK: encoding: [0x62,0x52,0xb6,0x08,0xf7,0xdf]155 {evex} sarxq %r9, %r15, %r11156 157# CHECK: {evex} sarxq %r9, 123(%rax,%rbx,4), %r15158# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf7,0x7c,0x98,0x7b]159 {evex} sarxq %r9, 123(%rax,%rbx,4), %r15160 161# CHECK: sarxl %r18d, %r22d, %r26d162# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6]163 sarxl %r18d, %r22d, %r26d164 165# CHECK: sarxl %r18d, 291(%r28,%r29,4), %r22d166# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]167 sarxl %r18d, 291(%r28,%r29,4), %r22d168 169# CHECK: sarxq %r19, %r23, %r27170# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf]171 sarxq %r19, %r23, %r27172 173# CHECK: sarxq %r19, 291(%r28,%r29,4), %r23174# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]175 sarxq %r19, 291(%r28,%r29,4), %r23176 177## shlx178 179# CHECK: {evex} shlxl %ecx, %edx, %r10d180# CHECK: encoding: [0x62,0x72,0x75,0x08,0xf7,0xd2]181 {evex} shlxl %ecx, %edx, %r10d182 183# CHECK: {evex} shlxl %ecx, 123(%rax,%rbx,4), %edx184# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xf7,0x54,0x98,0x7b]185 {evex} shlxl %ecx, 123(%rax,%rbx,4), %edx186 187# CHECK: {evex} shlxq %r9, %r15, %r11188# CHECK: encoding: [0x62,0x52,0xb5,0x08,0xf7,0xdf]189 {evex} shlxq %r9, %r15, %r11190 191# CHECK: {evex} shlxq %r9, 123(%rax,%rbx,4), %r15192# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xf7,0x7c,0x98,0x7b]193 {evex} shlxq %r9, 123(%rax,%rbx,4), %r15194 195# CHECK: shlxl %r18d, %r22d, %r26d196# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6]197 shlxl %r18d, %r22d, %r26d198 199# CHECK: shlxl %r18d, 291(%r28,%r29,4), %r22d200# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]201 shlxl %r18d, 291(%r28,%r29,4), %r22d202 203# CHECK: shlxq %r19, %r23, %r27204# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf]205 shlxq %r19, %r23, %r27206 207# CHECK: shlxq %r19, 291(%r28,%r29,4), %r23208# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]209 shlxq %r19, 291(%r28,%r29,4), %r23210 211## shrx212 213# CHECK: {evex} shrxl %ecx, %edx, %r10d214# CHECK: encoding: [0x62,0x72,0x77,0x08,0xf7,0xd2]215 {evex} shrxl %ecx, %edx, %r10d216 217# CHECK: {evex} shrxl %ecx, 123(%rax,%rbx,4), %edx218# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf7,0x54,0x98,0x7b]219 {evex} shrxl %ecx, 123(%rax,%rbx,4), %edx220 221# CHECK: {evex} shrxq %r9, %r15, %r11222# CHECK: encoding: [0x62,0x52,0xb7,0x08,0xf7,0xdf]223 {evex} shrxq %r9, %r15, %r11224 225# CHECK: {evex} shrxq %r9, 123(%rax,%rbx,4), %r15226# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf7,0x7c,0x98,0x7b]227 {evex} shrxq %r9, 123(%rax,%rbx,4), %r15228 229# CHECK: shrxl %r18d, %r22d, %r26d230# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6]231 shrxl %r18d, %r22d, %r26d232 233# CHECK: shrxl %r18d, 291(%r28,%r29,4), %r22d234# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]235 shrxl %r18d, 291(%r28,%r29,4), %r22d236 237# CHECK: shrxq %r19, %r23, %r27238# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf]239 shrxq %r19, %r23, %r27240 241# CHECK: shrxq %r19, 291(%r28,%r29,4), %r23242# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]243 shrxq %r19, 291(%r28,%r29,4), %r23244