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