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