239 lines
8.4 KiB
ArmAsm
239 lines
8.4 KiB
ArmAsm
# 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
|