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