1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s 2 3# CHECK: {evex} shrd dx, dx, 123 4# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x2c,0xd2,0x7b] 5 {evex} shrd dx, dx, 123 6# CHECK: {nf} shrd dx, dx, 123 7# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0x2c,0xd2,0x7b] 8 {nf} shrd dx, dx, 123 9# CHECK: shrd dx, dx, dx, 123 10# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0x2c,0xd2,0x7b] 11 shrd dx, dx, dx, 123 12# CHECK: {nf} shrd dx, dx, dx, 123 13# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0x2c,0xd2,0x7b] 14 {nf} shrd dx, dx, dx, 123 15# CHECK: {evex} shrd word ptr [r8 + 4*rax + 291], dx, 123 16# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 17 {evex} shrd word ptr [r8 + 4*rax + 291], dx, 123 18# CHECK: {nf} shrd word ptr [r8 + 4*rax + 291], dx, 123 19# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 20 {nf} shrd word ptr [r8 + 4*rax + 291], dx, 123 21# CHECK: shrd dx, word ptr [r8 + 4*rax + 291], dx, 123 22# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 23 shrd dx, word ptr [r8 + 4*rax + 291], dx, 123 24# CHECK: {nf} shrd dx, word ptr [r8 + 4*rax + 291], dx, 123 25# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 26 {nf} shrd dx, word ptr [r8 + 4*rax + 291], dx, 123 27# CHECK: {evex} shrd ecx, ecx, 123 28# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x2c,0xc9,0x7b] 29 {evex} shrd ecx, ecx, 123 30# CHECK: {nf} shrd ecx, ecx, 123 31# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0x2c,0xc9,0x7b] 32 {nf} shrd ecx, ecx, 123 33# CHECK: shrd ecx, ecx, ecx, 123 34# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x2c,0xc9,0x7b] 35 shrd ecx, ecx, ecx, 123 36# CHECK: {nf} shrd ecx, ecx, ecx, 123 37# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0x2c,0xc9,0x7b] 38 {nf} shrd ecx, ecx, ecx, 123 39# CHECK: {evex} shrd dword ptr [r8 + 4*rax + 291], ecx, 123 40# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 41 {evex} shrd dword ptr [r8 + 4*rax + 291], ecx, 123 42# CHECK: {nf} shrd dword ptr [r8 + 4*rax + 291], ecx, 123 43# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 44 {nf} shrd dword ptr [r8 + 4*rax + 291], ecx, 123 45# CHECK: shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, 123 46# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 47 shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, 123 48# CHECK: {nf} shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, 123 49# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 50 {nf} shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, 123 51# CHECK: {evex} shrd r9, r9, 123 52# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x2c,0xc9,0x7b] 53 {evex} shrd r9, r9, 123 54# CHECK: {nf} shrd r9, r9, 123 55# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x2c,0xc9,0x7b] 56 {nf} shrd r9, r9, 123 57# CHECK: shrd r9, r9, r9, 123 58# CHECK: encoding: [0x62,0x54,0xb4,0x18,0x2c,0xc9,0x7b] 59 shrd r9, r9, r9, 123 60# CHECK: {nf} shrd r9, r9, r9, 123 61# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0x2c,0xc9,0x7b] 62 {nf} shrd r9, r9, r9, 123 63# CHECK: {evex} shrd qword ptr [r8 + 4*rax + 291], r9, 123 64# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 65 {evex} shrd qword ptr [r8 + 4*rax + 291], r9, 123 66# CHECK: {nf} shrd qword ptr [r8 + 4*rax + 291], r9, 123 67# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 68 {nf} shrd qword ptr [r8 + 4*rax + 291], r9, 123 69# CHECK: shrd r9, qword ptr [r8 + 4*rax + 291], r9, 123 70# CHECK: encoding: [0x62,0x54,0xb4,0x18,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 71 shrd r9, qword ptr [r8 + 4*rax + 291], r9, 123 72# CHECK: {nf} shrd r9, qword ptr [r8 + 4*rax + 291], r9, 123 73# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b] 74 {nf} shrd r9, qword ptr [r8 + 4*rax + 291], r9, 123 75# CHECK: {evex} shrd dx, dx, cl 76# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xad,0xd2] 77 {evex} shrd dx, dx, cl 78# CHECK: {nf} shrd dx, dx, cl 79# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xad,0xd2] 80 {nf} shrd dx, dx, cl 81# CHECK: shrd dx, dx, dx, cl 82# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xad,0xd2] 83 shrd dx, dx, dx, cl 84# CHECK: {nf} shrd dx, dx, dx, cl 85# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xad,0xd2] 86 {nf} shrd dx, dx, dx, cl 87# CHECK: {evex} shrd word ptr [r8 + 4*rax + 291], dx, cl 88# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xad,0x94,0x80,0x23,0x01,0x00,0x00] 89 {evex} shrd word ptr [r8 + 4*rax + 291], dx, cl 90# CHECK: {nf} shrd word ptr [r8 + 4*rax + 291], dx, cl 91# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xad,0x94,0x80,0x23,0x01,0x00,0x00] 92 {nf} shrd word ptr [r8 + 4*rax + 291], dx, cl 93# CHECK: shrd dx, word ptr [r8 + 4*rax + 291], dx, cl 94# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xad,0x94,0x80,0x23,0x01,0x00,0x00] 95 shrd dx, word ptr [r8 + 4*rax + 291], dx, cl 96# CHECK: {nf} shrd dx, word ptr [r8 + 4*rax + 291], dx, cl 97# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xad,0x94,0x80,0x23,0x01,0x00,0x00] 98 {nf} shrd dx, word ptr [r8 + 4*rax + 291], dx, cl 99# CHECK: {evex} shrd ecx, ecx, cl 100# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xad,0xc9] 101 {evex} shrd ecx, ecx, cl 102# CHECK: {nf} shrd ecx, ecx, cl 103# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xad,0xc9] 104 {nf} shrd ecx, ecx, cl 105# CHECK: shrd ecx, ecx, ecx, cl 106# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xad,0xc9] 107 shrd ecx, ecx, ecx, cl 108# CHECK: {nf} shrd ecx, ecx, ecx, cl 109# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xad,0xc9] 110 {nf} shrd ecx, ecx, ecx, cl 111# CHECK: {evex} shrd dword ptr [r8 + 4*rax + 291], ecx, cl 112# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 113 {evex} shrd dword ptr [r8 + 4*rax + 291], ecx, cl 114# CHECK: {nf} shrd dword ptr [r8 + 4*rax + 291], ecx, cl 115# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 116 {nf} shrd dword ptr [r8 + 4*rax + 291], ecx, cl 117# CHECK: shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, cl 118# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 119 shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, cl 120# CHECK: {nf} shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, cl 121# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 122 {nf} shrd ecx, dword ptr [r8 + 4*rax + 291], ecx, cl 123# CHECK: {evex} shrd r9, r9, cl 124# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xad,0xc9] 125 {evex} shrd r9, r9, cl 126# CHECK: {nf} shrd r9, r9, cl 127# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xad,0xc9] 128 {nf} shrd r9, r9, cl 129# CHECK: shrd r9, r9, r9, cl 130# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xad,0xc9] 131 shrd r9, r9, r9, cl 132# CHECK: {nf} shrd r9, r9, r9, cl 133# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xad,0xc9] 134 {nf} shrd r9, r9, r9, cl 135# CHECK: {evex} shrd qword ptr [r8 + 4*rax + 291], r9, cl 136# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 137 {evex} shrd qword ptr [r8 + 4*rax + 291], r9, cl 138# CHECK: {nf} shrd qword ptr [r8 + 4*rax + 291], r9, cl 139# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 140 {nf} shrd qword ptr [r8 + 4*rax + 291], r9, cl 141# CHECK: shrd r9, qword ptr [r8 + 4*rax + 291], r9, cl 142# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 143 shrd r9, qword ptr [r8 + 4*rax + 291], r9, cl 144# CHECK: {nf} shrd r9, qword ptr [r8 + 4*rax + 291], r9, cl 145# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00] 146 {nf} shrd r9, qword ptr [r8 + 4*rax + 291], r9, cl 147