1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// bextri 32 reg 4*9880d681SAndroid Build Coastguard Worker// CHECK: bextr $2814, %edi, %eax 5*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0x78,0x10,0xc7,0xfe,0x0a,0x00,0x00] 6*9880d681SAndroid Build Coastguard Worker bextr $2814, %edi, %eax 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker// bextri 32 mem 9*9880d681SAndroid Build Coastguard Worker// CHECK: bextr $2814, (%rdi), %eax 10*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0x78,0x10,0x07,0xfe,0x0a,0x00,0x00] 11*9880d681SAndroid Build Coastguard Worker bextr $2814, (%rdi), %eax 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker// bextri 64 reg 14*9880d681SAndroid Build Coastguard Worker// CHECK: bextr $2814, %rdi, %rax 15*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0xf8,0x10,0xc7,0xfe,0x0a,0x00,0x00] 16*9880d681SAndroid Build Coastguard Worker bextr $2814, %rdi, %rax 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker// bextri 64 mem 19*9880d681SAndroid Build Coastguard Worker// CHECK: bextr $2814, (%rdi), %rax 20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xea,0xf8,0x10,0x07,0xfe,0x0a,0x00,0x00] 21*9880d681SAndroid Build Coastguard Worker bextr $2814, (%rdi), %rax 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker// blcfill 32 reg 24*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill %edi, %eax 25*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xcf] 26*9880d681SAndroid Build Coastguard Worker blcfill %edi, %eax 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker// blcfill 32 mem 29*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill (%rdi), %eax 30*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x0f] 31*9880d681SAndroid Build Coastguard Worker blcfill (%rdi), %eax 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker// blcfill 64 reg 34*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill %rdi, %rax 35*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xcf] 36*9880d681SAndroid Build Coastguard Worker blcfill %rdi, %rax 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker// blcfill 64 mem 39*9880d681SAndroid Build Coastguard Worker// CHECK: blcfill (%rdi), %rax 40*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x0f] 41*9880d681SAndroid Build Coastguard Worker blcfill (%rdi), %rax 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker// blci 32 reg 44*9880d681SAndroid Build Coastguard Worker// CHECK: blci %edi, %eax 45*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0xf7] 46*9880d681SAndroid Build Coastguard Worker blci %edi, %eax 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker// blci 32 mem 49*9880d681SAndroid Build Coastguard Worker// CHECK: blci (%rdi), %eax 50*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0x37] 51*9880d681SAndroid Build Coastguard Worker blci (%rdi), %eax 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker// blci 64 reg 54*9880d681SAndroid Build Coastguard Worker// CHECK: blci %rdi, %rax 55*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0xf7] 56*9880d681SAndroid Build Coastguard Worker blci %rdi, %rax 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker// blci 64 mem 59*9880d681SAndroid Build Coastguard Worker// CHECK: blci (%rdi), %rax 60*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0x37] 61*9880d681SAndroid Build Coastguard Worker blci (%rdi), %rax 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker// blcic 32 reg 64*9880d681SAndroid Build Coastguard Worker// CHECK: blcic %edi, %eax 65*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xef] 66*9880d681SAndroid Build Coastguard Worker blcic %edi, %eax 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Worker// blcic 32 mem 69*9880d681SAndroid Build Coastguard Worker// CHECK: blcic (%rdi), %eax 70*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x2f] 71*9880d681SAndroid Build Coastguard Worker blcic (%rdi), %eax 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Worker// blcic 64 reg 74*9880d681SAndroid Build Coastguard Worker// CHECK: blcic %rdi, %rax 75*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xef] 76*9880d681SAndroid Build Coastguard Worker blcic %rdi, %rax 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Worker// blcic 64 mem 79*9880d681SAndroid Build Coastguard Worker// CHECK: blcic (%rdi), %rax 80*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x2f] 81*9880d681SAndroid Build Coastguard Worker blcic (%rdi), %rax 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker// blcmsk 32 reg 84*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk %edi, %eax 85*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0xcf] 86*9880d681SAndroid Build Coastguard Worker blcmsk %edi, %eax 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Worker// blcmsk 32 mem 89*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk (%rdi), %eax 90*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x02,0x0f] 91*9880d681SAndroid Build Coastguard Worker blcmsk (%rdi), %eax 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Worker// blcmsk 64 reg 94*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk %rdi, %rax 95*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0xcf] 96*9880d681SAndroid Build Coastguard Worker blcmsk %rdi, %rax 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker// blcmsk 64 mem 99*9880d681SAndroid Build Coastguard Worker// CHECK: blcmsk (%rdi), %rax 100*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x02,0x0f] 101*9880d681SAndroid Build Coastguard Worker blcmsk (%rdi), %rax 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker// blcs 32 reg 104*9880d681SAndroid Build Coastguard Worker// CHECK: blcs %edi, %eax 105*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xdf] 106*9880d681SAndroid Build Coastguard Worker blcs %edi, %eax 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker// blcs 32 mem 109*9880d681SAndroid Build Coastguard Worker// CHECK: blcs (%rdi), %eax 110*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x1f] 111*9880d681SAndroid Build Coastguard Worker blcs (%rdi), %eax 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker// blcs 64 reg 114*9880d681SAndroid Build Coastguard Worker// CHECK: blcs %rdi, %rax 115*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xdf] 116*9880d681SAndroid Build Coastguard Worker blcs %rdi, %rax 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker// blcs 64 mem 119*9880d681SAndroid Build Coastguard Worker// CHECK: blcs (%rdi), %rax 120*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x1f] 121*9880d681SAndroid Build Coastguard Worker blcs (%rdi), %rax 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker// blsfill 32 reg 124*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill %edi, %eax 125*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xd7] 126*9880d681SAndroid Build Coastguard Worker blsfill %edi, %eax 127*9880d681SAndroid Build Coastguard Worker 128*9880d681SAndroid Build Coastguard Worker// blsfill 32 mem 129*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill (%rdi), %eax 130*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x17] 131*9880d681SAndroid Build Coastguard Worker blsfill (%rdi), %eax 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Worker// blsfill 64 reg 134*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill %rdi, %rax 135*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xd7] 136*9880d681SAndroid Build Coastguard Worker blsfill %rdi, %rax 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Worker// blsfill 64 mem 139*9880d681SAndroid Build Coastguard Worker// CHECK: blsfill (%rdi), %rax 140*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x17] 141*9880d681SAndroid Build Coastguard Worker blsfill (%rdi), %rax 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Worker// blsic 32 reg 144*9880d681SAndroid Build Coastguard Worker// CHECK: blsic %edi, %eax 145*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xf7] 146*9880d681SAndroid Build Coastguard Worker blsic %edi, %eax 147*9880d681SAndroid Build Coastguard Worker 148*9880d681SAndroid Build Coastguard Worker// blsic 32 mem 149*9880d681SAndroid Build Coastguard Worker// CHECK: blsic (%rdi), %eax 150*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x37] 151*9880d681SAndroid Build Coastguard Worker blsic (%rdi), %eax 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Worker// blsic 64 reg 154*9880d681SAndroid Build Coastguard Worker// CHECK: blsic %rdi, %rax 155*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xf7] 156*9880d681SAndroid Build Coastguard Worker blsic %rdi, %rax 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Worker// t1mskc 32 reg 159*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc %edi, %eax 160*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xff] 161*9880d681SAndroid Build Coastguard Worker t1mskc %edi, %eax 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker// t1mskc 32 mem 164*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc (%rdi), %eax 165*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x3f] 166*9880d681SAndroid Build Coastguard Worker t1mskc (%rdi), %eax 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker// t1mskc 64 reg 169*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc %rdi, %rax 170*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xff] 171*9880d681SAndroid Build Coastguard Worker t1mskc %rdi, %rax 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Worker// t1mskc 64 mem 174*9880d681SAndroid Build Coastguard Worker// CHECK: t1mskc (%rdi), %rax 175*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x3f] 176*9880d681SAndroid Build Coastguard Worker t1mskc (%rdi), %rax 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Worker// tzmsk 32 reg 179*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk %edi, %eax 180*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0xe7] 181*9880d681SAndroid Build Coastguard Worker tzmsk %edi, %eax 182*9880d681SAndroid Build Coastguard Worker 183*9880d681SAndroid Build Coastguard Worker// tzmsk 32 mem 184*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk (%rdi), %eax 185*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x01,0x27] 186*9880d681SAndroid Build Coastguard Worker tzmsk (%rdi), %eax 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Worker// tzmsk 64 reg 189*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk %rdi, %rax 190*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0xe7] 191*9880d681SAndroid Build Coastguard Worker tzmsk %rdi, %rax 192*9880d681SAndroid Build Coastguard Worker 193*9880d681SAndroid Build Coastguard Worker// tzmsk 64 mem 194*9880d681SAndroid Build Coastguard Worker// CHECK: tzmsk (%rdi), %rax 195*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x01,0x27] 196*9880d681SAndroid Build Coastguard Worker tzmsk (%rdi), %rax 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x67,0xc4,0xe2,0x60,0xf7,0x07] 199*9880d681SAndroid Build Coastguard Worker bextr %ebx, (%edi), %eax 200*9880d681SAndroid Build Coastguard Worker 201*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x67,0x8f,0xea,0x78,0x10,0x07,A,A,A,A] 202*9880d681SAndroid Build Coastguard Worker bextr $foo, (%edi), %eax 203