240 lines · plain
1# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s2 3## mulx4 5# CHECK: {evex} mulx r10d, edx, ecx6# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf6,0xd1]7 {evex} mulx r10d, edx, ecx8 9# CHECK: {evex} mulx r11, r15, r910# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf6,0xd9]11 {evex} mulx r11, r15, r912 13# CHECK: {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123]14# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf6,0x54,0x98,0x7b]15 {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123]16 17# CHECK: {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123]18# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf6,0x7c,0x98,0x7b]19 {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123]20 21# CHECK: mulx r26d, r22d, r18d22# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2]23 mulx r26d, r22d, r18d24 25# CHECK: mulx r27, r23, r1926# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb]27 mulx r27, r23, r1928 29# CHECK: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291]30# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00]31 mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291]32 33# CHECK: mulx r23, r19, qword ptr [r28 + 4*r29 + 291]34# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00]35 mulx r23, r19, qword ptr [r28 + 4*r29 + 291]36 37## pdep38 39# CHECK: {evex} pdep r10d, edx, ecx40# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf5,0xd1]41 {evex} pdep r10d, edx, ecx42 43# CHECK: {evex} pdep r11, r15, r944# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf5,0xd9]45 {evex} pdep r11, r15, r946 47# CHECK: {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123]48# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b]49 {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123]50 51# CHECK: {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123]52# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b]53 {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123]54 55# CHECK: pdep r26d, r22d, r18d56# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2]57 pdep r26d, r22d, r18d58 59# CHECK: pdep r27, r23, r1960# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb]61 pdep r27, r23, r1962 63# CHECK: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291]64# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00]65 pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291]66 67# CHECK: pdep r23, r19, qword ptr [r28 + 4*r29 + 291]68# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]69 pdep r23, r19, qword ptr [r28 + 4*r29 + 291]70 71## pext72 73# CHECK: {evex} pext r10d, edx, ecx74# CHECK: encoding: [0x62,0x72,0x6e,0x08,0xf5,0xd1]75 {evex} pext r10d, edx, ecx76 77# CHECK: {evex} pext r11, r15, r978# CHECK: encoding: [0x62,0x52,0x86,0x08,0xf5,0xd9]79 {evex} pext r11, r15, r980 81# CHECK: {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123]82# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b]83 {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123]84 85# CHECK: {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123]86# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b]87 {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123]88 89# CHECK: pext r26d, r22d, r18d90# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2]91 pext r26d, r22d, r18d92 93# CHECK: pext r27, r23, r1994# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb]95 pext r27, r23, r1996 97# CHECK: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291]98# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00]99 pext r22d, r18d, dword ptr [r28 + 4*r29 + 291]100 101# CHECK: pext r23, r19, qword ptr [r28 + 4*r29 + 291]102# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]103 pext r23, r19, qword ptr [r28 + 4*r29 + 291]104 105## rorx106 107# CHECK: {evex} rorx edx, ecx, 123108# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b]109 {evex} rorx edx, ecx, 123110 111# CHECK: {evex} rorx r15, r9, 123112# CHECK: encoding: [0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b]113 {evex} rorx r15, r9, 123114 115# CHECK: {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123116# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0x4c,0x98,0x7b,0x7b]117 {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123118 119# CHECK: {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123120# CHECK: encoding: [0x62,0x73,0xff,0x08,0xf0,0x4c,0x98,0x7b,0x7b]121 {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123122 123# CHECK: rorx r22d, r18d, 123124# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b]125 rorx r22d, r18d, 123126 127# CHECK: rorx r23, r19, 123128# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b]129 rorx r23, r19, 123130 131# CHECK: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123132# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b]133 rorx r18d, dword ptr [r28 + 4*r29 + 291], 123134 135# CHECK: rorx r19, qword ptr [r28 + 4*r29 + 291], 123136# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b]137 rorx r19, qword ptr [r28 + 4*r29 + 291], 123138 139## sarx140 141# CHECK: {evex} sarx r10d, edx, ecx142# CHECK: encoding: [0x62,0x72,0x76,0x08,0xf7,0xd2]143 {evex} sarx r10d, edx, ecx144 145# CHECK: {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx146# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf7,0x54,0x98,0x7b]147 {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx148 149# CHECK: {evex} sarx r11, r15, r9150# CHECK: encoding: [0x62,0x52,0xb6,0x08,0xf7,0xdf]151 {evex} sarx r11, r15, r9152 153# CHECK: {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9154# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf7,0x7c,0x98,0x7b]155 {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9156 157# CHECK: sarx r26d, r22d, r18d158# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6]159 sarx r26d, r22d, r18d160 161# CHECK: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d162# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]163 sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d164 165# CHECK: sarx r27, r23, r19166# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf]167 sarx r27, r23, r19168 169# CHECK: sarx r23, qword ptr [r28 + 4*r29 + 291], r19170# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]171 sarx r23, qword ptr [r28 + 4*r29 + 291], r19172 173## shlx174 175# CHECK: {evex} shlx r10d, edx, ecx176# CHECK: encoding: [0x62,0x72,0x75,0x08,0xf7,0xd2]177 {evex} shlx r10d, edx, ecx178 179# CHECK: {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx180# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xf7,0x54,0x98,0x7b]181 {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx182 183# CHECK: {evex} shlx r11, r15, r9184# CHECK: encoding: [0x62,0x52,0xb5,0x08,0xf7,0xdf]185 {evex} shlx r11, r15, r9186 187# CHECK: {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9188# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xf7,0x7c,0x98,0x7b]189 {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9190 191# CHECK: shlx r26d, r22d, r18d192# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6]193 shlx r26d, r22d, r18d194 195# CHECK: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d196# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]197 shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d198 199# CHECK: shlx r27, r23, r19200# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf]201 shlx r27, r23, r19202 203# CHECK: shlx r23, qword ptr [r28 + 4*r29 + 291], r19204# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]205 shlx r23, qword ptr [r28 + 4*r29 + 291], r19206 207## shrx208 209# CHECK: {evex} shrx r10d, edx, ecx210# CHECK: encoding: [0x62,0x72,0x77,0x08,0xf7,0xd2]211 {evex} shrx r10d, edx, ecx212 213# CHECK: {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx214# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf7,0x54,0x98,0x7b]215 {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx216 217# CHECK: {evex} shrx r11, r15, r9218# CHECK: encoding: [0x62,0x52,0xb7,0x08,0xf7,0xdf]219 {evex} shrx r11, r15, r9220 221# CHECK: {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9222# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf7,0x7c,0x98,0x7b]223 {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9224 225# CHECK: shrx r26d, r22d, r18d226# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6]227 shrx r26d, r22d, r18d228 229# CHECK: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d230# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00]231 shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d232 233# CHECK: shrx r27, r23, r19234# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf]235 shrx r27, r23, r19236 237# CHECK: shrx r23, qword ptr [r28 + 4*r29 + 291], r19238# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00]239 shrx r23, qword ptr [r28 + 4*r29 + 291], r19240