# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s ## mulx # CHECK: {evex} mulx r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf6,0xd1] {evex} mulx r10d, edx, ecx # CHECK: {evex} mulx r11, r15, r9 # CHECK: encoding: [0x62,0x52,0x87,0x08,0xf6,0xd9] {evex} mulx r11, r15, r9 # CHECK: {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf6,0x54,0x98,0x7b] {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf6,0x7c,0x98,0x7b] {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: mulx r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2] mulx r26d, r22d, r18d # CHECK: mulx r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb] mulx r27, r23, r19 # CHECK: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00] mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00] mulx r23, r19, qword ptr [r28 + 4*r29 + 291] ## pdep # CHECK: {evex} pdep r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf5,0xd1] {evex} pdep r10d, edx, ecx # CHECK: {evex} pdep r11, r15, r9 # CHECK: encoding: [0x62,0x52,0x87,0x08,0xf5,0xd9] {evex} pdep r11, r15, r9 # CHECK: {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b] {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b] {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: pdep r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2] pdep r26d, r22d, r18d # CHECK: pdep r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb] pdep r27, r23, r19 # CHECK: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: pdep r23, r19, qword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] pdep r23, r19, qword ptr [r28 + 4*r29 + 291] ## pext # CHECK: {evex} pext r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x6e,0x08,0xf5,0xd1] {evex} pext r10d, edx, ecx # CHECK: {evex} pext r11, r15, r9 # CHECK: encoding: [0x62,0x52,0x86,0x08,0xf5,0xd9] {evex} pext r11, r15, r9 # CHECK: {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b] {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123] # CHECK: {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b] {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123] # CHECK: pext r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2] pext r26d, r22d, r18d # CHECK: pext r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb] pext r27, r23, r19 # CHECK: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] # CHECK: pext r23, r19, qword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] pext r23, r19, qword ptr [r28 + 4*r29 + 291] ## rorx # CHECK: {evex} rorx edx, ecx, 123 # CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b] {evex} rorx edx, ecx, 123 # CHECK: {evex} rorx r15, r9, 123 # CHECK: encoding: [0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b] {evex} rorx r15, r9, 123 # CHECK: {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123 # CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0x4c,0x98,0x7b,0x7b] {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123 # CHECK: {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123 # CHECK: encoding: [0x62,0x73,0xff,0x08,0xf0,0x4c,0x98,0x7b,0x7b] {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123 # CHECK: rorx r22d, r18d, 123 # CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b] rorx r22d, r18d, 123 # CHECK: rorx r23, r19, 123 # CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b] rorx r23, r19, 123 # CHECK: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 # CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b] rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 # CHECK: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 # CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b] rorx r19, qword ptr [r28 + 4*r29 + 291], 123 ## sarx # CHECK: {evex} sarx r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x76,0x08,0xf7,0xd2] {evex} sarx r10d, edx, ecx # CHECK: {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf7,0x54,0x98,0x7b] {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: {evex} sarx r11, r15, r9 # CHECK: encoding: [0x62,0x52,0xb6,0x08,0xf7,0xdf] {evex} sarx r11, r15, r9 # CHECK: {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf7,0x7c,0x98,0x7b] {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: sarx r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6] sarx r26d, r22d, r18d # CHECK: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: sarx r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf] sarx r27, r23, r19 # CHECK: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 # CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] sarx r23, qword ptr [r28 + 4*r29 + 291], r19 ## shlx # CHECK: {evex} shlx r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x75,0x08,0xf7,0xd2] {evex} shlx r10d, edx, ecx # CHECK: {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: encoding: [0x62,0xf2,0x75,0x08,0xf7,0x54,0x98,0x7b] {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: {evex} shlx r11, r15, r9 # CHECK: encoding: [0x62,0x52,0xb5,0x08,0xf7,0xdf] {evex} shlx r11, r15, r9 # CHECK: {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: encoding: [0x62,0x72,0xb5,0x08,0xf7,0x7c,0x98,0x7b] {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: shlx r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6] shlx r26d, r22d, r18d # CHECK: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: shlx r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf] shlx r27, r23, r19 # CHECK: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] shlx r23, qword ptr [r28 + 4*r29 + 291], r19 ## shrx # CHECK: {evex} shrx r10d, edx, ecx # CHECK: encoding: [0x62,0x72,0x77,0x08,0xf7,0xd2] {evex} shrx r10d, edx, ecx # CHECK: {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf7,0x54,0x98,0x7b] {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx # CHECK: {evex} shrx r11, r15, r9 # CHECK: encoding: [0x62,0x52,0xb7,0x08,0xf7,0xdf] {evex} shrx r11, r15, r9 # CHECK: {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf7,0x7c,0x98,0x7b] {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9 # CHECK: shrx r26d, r22d, r18d # CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6] shrx r26d, r22d, r18d # CHECK: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d # CHECK: shrx r27, r23, r19 # CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf] shrx r27, r23, r19 # CHECK: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 # CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] shrx r23, qword ptr [r28 + 4*r29 + 291], r19