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