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