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////////////////////////// 4*9880d681SAndroid Build Coastguard Worker// 2 operand instructions 5*9880d681SAndroid Build Coastguard Worker///////////////////////// 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker// vphsubwd 8*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubwd (%rcx,%rax), %xmm1 9*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0x0c,0x01] 10*9880d681SAndroid Build Coastguard Worker vphsubwd (%rcx,%rax), %xmm1 11*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubwd %xmm0, %xmm1 12*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0xc8] 13*9880d681SAndroid Build Coastguard Worker vphsubwd %xmm0, %xmm1 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker// vphsubdq 16*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubdq (%rcx,%rax), %xmm1 17*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0x0c,0x01] 18*9880d681SAndroid Build Coastguard Worker vphsubdq (%rcx,%rax), %xmm1 19*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubdq %xmm0, %xmm1 20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0xc8] 21*9880d681SAndroid Build Coastguard Worker vphsubdq %xmm0, %xmm1 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker// vphsubbw 24*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubbw (%rax), %xmm1 25*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0x08] 26*9880d681SAndroid Build Coastguard Worker vphsubbw (%rax), %xmm1 27*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubbw %xmm2, %xmm1 28*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0xca] 29*9880d681SAndroid Build Coastguard Worker vphsubbw %xmm2, %xmm1 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker// vphaddwq 32*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwq (%rcx), %xmm4 33*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0x21] 34*9880d681SAndroid Build Coastguard Worker vphaddwq (%rcx), %xmm4 35*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwq %xmm6, %xmm2 36*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0xd6] 37*9880d681SAndroid Build Coastguard Worker vphaddwq %xmm6, %xmm2 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker// vphaddwd 40*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwd (%rdx,%rax), %xmm7 41*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0x3c,0x02] 42*9880d681SAndroid Build Coastguard Worker vphaddwd (%rdx,%rax), %xmm7 43*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwd %xmm3, %xmm4 44*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0xe3] 45*9880d681SAndroid Build Coastguard Worker vphaddwd %xmm3, %xmm4 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker// vphadduwq 48*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwq (%rcx,%rax), %xmm6 49*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0x34,0x01] 50*9880d681SAndroid Build Coastguard Worker vphadduwq (%rcx,%rax), %xmm6 51*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwq %xmm7, %xmm0 52*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0xc7] 53*9880d681SAndroid Build Coastguard Worker vphadduwq %xmm7, %xmm0 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker// vphadduwd 56*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwd (%rax), %xmm5 57*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0x28] 58*9880d681SAndroid Build Coastguard Worker vphadduwd (%rax), %xmm5 59*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwd %xmm2, %xmm1 60*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0xca] 61*9880d681SAndroid Build Coastguard Worker vphadduwd %xmm2, %xmm1 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker// vphaddudq 64*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddudq 8(%rcx,%rax), %xmm4 65*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0x64,0x01,0x08] 66*9880d681SAndroid Build Coastguard Worker vphaddudq 8(%rcx,%rax), %xmm4 67*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddudq %xmm6, %xmm2 68*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0xd6] 69*9880d681SAndroid Build Coastguard Worker vphaddudq %xmm6, %xmm2 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker// vphaddubw 72*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubw (%rcx), %xmm3 73*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0x19] 74*9880d681SAndroid Build Coastguard Worker vphaddubw (%rcx), %xmm3 75*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubw %xmm5, %xmm0 76*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0xc5] 77*9880d681SAndroid Build Coastguard Worker vphaddubw %xmm5, %xmm0 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker// vphaddubq 80*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubq (%rcx), %xmm4 81*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0x21] 82*9880d681SAndroid Build Coastguard Worker vphaddubq (%rcx), %xmm4 83*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubq %xmm2, %xmm2 84*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0xd2] 85*9880d681SAndroid Build Coastguard Worker vphaddubq %xmm2, %xmm2 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker// vphaddubd 88*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubd (%rax), %xmm5 89*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0x28] 90*9880d681SAndroid Build Coastguard Worker vphaddubd (%rax), %xmm5 91*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubd %xmm5, %xmm7 92*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0xfd] 93*9880d681SAndroid Build Coastguard Worker vphaddubd %xmm5, %xmm7 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker// vphadddq 96*9880d681SAndroid Build Coastguard Worker// CHECK: vphadddq (%rdx), %xmm4 97*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0x22] 98*9880d681SAndroid Build Coastguard Worker vphadddq (%rdx), %xmm4 99*9880d681SAndroid Build Coastguard Worker// CHECK: vphadddq %xmm4, %xmm5 100*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0xec] 101*9880d681SAndroid Build Coastguard Worker vphadddq %xmm4, %xmm5 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker// vphaddbw 104*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbw (%rcx,%rax), %xmm1 105*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0x0c,0x01] 106*9880d681SAndroid Build Coastguard Worker vphaddbw (%rcx,%rax), %xmm1 107*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbw %xmm5, %xmm6 108*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0xf5] 109*9880d681SAndroid Build Coastguard Worker vphaddbw %xmm5, %xmm6 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Worker// vphaddbq 112*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbq (%rcx,%rax), %xmm1 113*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0x0c,0x01] 114*9880d681SAndroid Build Coastguard Worker vphaddbq (%rcx,%rax), %xmm1 115*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbq %xmm2, %xmm0 116*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0xc2] 117*9880d681SAndroid Build Coastguard Worker vphaddbq %xmm2, %xmm0 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker// vphaddbd 120*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbd (%rcx,%rax), %xmm1 121*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0x0c,0x01] 122*9880d681SAndroid Build Coastguard Worker vphaddbd (%rcx,%rax), %xmm1 123*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbd %xmm1, %xmm3 124*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0xd9] 125*9880d681SAndroid Build Coastguard Worker vphaddbd %xmm1, %xmm3 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker// vfrczss 128*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczss (%rcx,%rax), %xmm1 129*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0x0c,0x01] 130*9880d681SAndroid Build Coastguard Worker vfrczss (%rcx,%rax), %xmm1 131*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczss %xmm5, %xmm7 132*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0xfd] 133*9880d681SAndroid Build Coastguard Worker vfrczss %xmm5, %xmm7 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker// vfrczsd 136*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczsd (%rcx,%rax), %xmm1 137*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0x0c,0x01] 138*9880d681SAndroid Build Coastguard Worker vfrczsd (%rcx,%rax), %xmm1 139*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczsd %xmm7, %xmm0 140*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0xc7] 141*9880d681SAndroid Build Coastguard Worker vfrczsd %xmm7, %xmm0 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Worker// vfrczps 144*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps 4(%rax), %xmm3 145*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x58,0x04] 146*9880d681SAndroid Build Coastguard Worker vfrczps 4(%rax), %xmm3 147*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps %xmm6, %xmm5 148*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0xee] 149*9880d681SAndroid Build Coastguard Worker vfrczps %xmm6, %xmm5 150*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps (%rcx), %xmm1 151*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x09] 152*9880d681SAndroid Build Coastguard Worker vfrczps (%rcx), %xmm1 153*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps %ymm2, %ymm4 154*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x80,0xe2] 155*9880d681SAndroid Build Coastguard Worker vfrczps %ymm2, %ymm4 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Worker// vfrczpd 158*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd (%rcx,%rax), %xmm1 159*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0x0c,0x01] 160*9880d681SAndroid Build Coastguard Worker vfrczpd (%rcx,%rax), %xmm1 161*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd %xmm7, %xmm0 162*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0xc7] 163*9880d681SAndroid Build Coastguard Worker vfrczpd %xmm7, %xmm0 164*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd (%rcx,%rax), %ymm2 165*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0x14,0x01] 166*9880d681SAndroid Build Coastguard Worker vfrczpd (%rcx,%rax), %ymm2 167*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd %ymm5, %ymm3 168*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0xdd] 169*9880d681SAndroid Build Coastguard Worker vfrczpd %ymm5, %ymm3 170*9880d681SAndroid Build Coastguard Worker 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Worker////////////////////////// 174*9880d681SAndroid Build Coastguard Worker// 3 operand instructions 175*9880d681SAndroid Build Coastguard Worker///////////////////////// 176*9880d681SAndroid Build Coastguard Worker 177*9880d681SAndroid Build Coastguard Worker// vpshlw 178*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw %xmm0, %xmm1, %xmm2 179*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0xd1] 180*9880d681SAndroid Build Coastguard Worker vpshlw %xmm0, %xmm1, %xmm2 181*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw (%rax), %xmm1, %xmm2 182*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x95,0x10] 183*9880d681SAndroid Build Coastguard Worker vpshlw (%rax), %xmm1, %xmm2 184*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw %xmm0, (%rax,%rcx), %xmm2 185*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0x14,0x08] 186*9880d681SAndroid Build Coastguard Worker vpshlw %xmm0, (%rax,%rcx), %xmm2 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Worker// vpshlq 189*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq %xmm2, %xmm4, %xmm6 190*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x97,0xf4] 191*9880d681SAndroid Build Coastguard Worker vpshlq %xmm2, %xmm4, %xmm6 192*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq (%rcx), %xmm2, %xmm1 193*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x97,0x09] 194*9880d681SAndroid Build Coastguard Worker vpshlq (%rcx), %xmm2, %xmm1 195*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq %xmm5, (%rdx,%rcx), %xmm6 196*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x97,0x34,0x0a] 197*9880d681SAndroid Build Coastguard Worker vpshlq %xmm5, (%rdx,%rcx), %xmm6 198*9880d681SAndroid Build Coastguard Worker 199*9880d681SAndroid Build Coastguard Worker// vpshld 200*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld %xmm7, %xmm5, %xmm3 201*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x40,0x96,0xdd] 202*9880d681SAndroid Build Coastguard Worker vpshld %xmm7, %xmm5, %xmm3 203*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld 4(%rax), %xmm3, %xmm3 204*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe0,0x96,0x58,0x04] 205*9880d681SAndroid Build Coastguard Worker vpshld 4(%rax), %xmm3, %xmm3 206*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld %xmm1, (%rax,%rcx), %xmm5 207*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x96,0x2c,0x08] 208*9880d681SAndroid Build Coastguard Worker vpshld %xmm1, (%rax,%rcx), %xmm5 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Worker// vpshlb 211*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb %xmm1, %xmm2, %xmm3 212*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x94,0xda] 213*9880d681SAndroid Build Coastguard Worker vpshlb %xmm1, %xmm2, %xmm3 214*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb (%rcx), %xmm0, %xmm7 215*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x94,0x39] 216*9880d681SAndroid Build Coastguard Worker vpshlb (%rcx), %xmm0, %xmm7 217*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb %xmm2, (%rax,%rdx), %xmm3 218*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x94,0x1c,0x10] 219*9880d681SAndroid Build Coastguard Worker vpshlb %xmm2, (%rax,%rdx), %xmm3 220*9880d681SAndroid Build Coastguard Worker 221*9880d681SAndroid Build Coastguard Worker// vpshaw 222*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw %xmm7, %xmm5, %xmm3 223*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x40,0x99,0xdd] 224*9880d681SAndroid Build Coastguard Worker vpshaw %xmm7, %xmm5, %xmm3 225*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw (%rax), %xmm2, %xmm1 226*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x99,0x08] 227*9880d681SAndroid Build Coastguard Worker vpshaw (%rax), %xmm2, %xmm1 228*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw %xmm0, 8(%rax,%rcx), %xmm3 229*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x99,0x5c,0x08,0x08] 230*9880d681SAndroid Build Coastguard Worker vpshaw %xmm0, 8(%rax,%rcx), %xmm3 231*9880d681SAndroid Build Coastguard Worker 232*9880d681SAndroid Build Coastguard Worker// vpshaq 233*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq %xmm4, %xmm4, %xmm4 234*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x58,0x9b,0xe4] 235*9880d681SAndroid Build Coastguard Worker vpshaq %xmm4, %xmm4, %xmm4 236*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq (%rcx), %xmm2, %xmm0 237*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x9b,0x01] 238*9880d681SAndroid Build Coastguard Worker vpshaq (%rcx), %xmm2, %xmm0 239*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq %xmm6, (%rax,%rcx), %xmm5 240*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x48,0x9b,0x2c,0x08] 241*9880d681SAndroid Build Coastguard Worker vpshaq %xmm6, (%rax,%rcx), %xmm5 242*9880d681SAndroid Build Coastguard Worker 243*9880d681SAndroid Build Coastguard Worker// vpshad 244*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad %xmm5, %xmm4, %xmm0 245*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x9a,0xc4] 246*9880d681SAndroid Build Coastguard Worker vpshad %xmm5, %xmm4, %xmm0 247*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad (%rax), %xmm2, %xmm5 248*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x9a,0x28] 249*9880d681SAndroid Build Coastguard Worker vpshad (%rax), %xmm2, %xmm5 250*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad %xmm2, (%rax), %xmm5 251*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x9a,0x28] 252*9880d681SAndroid Build Coastguard Worker vpshad %xmm2, (%rax), %xmm5 253*9880d681SAndroid Build Coastguard Worker 254*9880d681SAndroid Build Coastguard Worker// vpshab 255*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab %xmm1, %xmm1, %xmm0 256*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x98,0xc1] 257*9880d681SAndroid Build Coastguard Worker vpshab %xmm1, %xmm1, %xmm0 258*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab (%rcx), %xmm4, %xmm0 259*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xd8,0x98,0x01] 260*9880d681SAndroid Build Coastguard Worker vpshab (%rcx), %xmm4, %xmm0 261*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab %xmm5, (%rcx), %xmm3 262*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x98,0x19] 263*9880d681SAndroid Build Coastguard Worker vpshab %xmm5, (%rcx), %xmm3 264*9880d681SAndroid Build Coastguard Worker 265*9880d681SAndroid Build Coastguard Worker// vprotw 266*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw (%rax), %xmm3, %xmm6 267*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe0,0x91,0x30] 268*9880d681SAndroid Build Coastguard Worker vprotw (%rax), %xmm3, %xmm6 269*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw %xmm5, (%rax,%rcx), %xmm1 270*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x91,0x0c,0x08] 271*9880d681SAndroid Build Coastguard Worker vprotw %xmm5, (%rax,%rcx), %xmm1 272*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw %xmm0, %xmm1, %xmm2 273*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x91,0xd1] 274*9880d681SAndroid Build Coastguard Worker vprotw %xmm0, %xmm1, %xmm2 275*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $42, (%rcx), %xmm1 276*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x09,0x2a] 277*9880d681SAndroid Build Coastguard Worker vprotw $42, (%rcx), %xmm1 278*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $41, (%rax), %xmm4 279*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x20,0x29] 280*9880d681SAndroid Build Coastguard Worker vprotw $41, (%rax), %xmm4 281*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $40, %xmm1, %xmm3 282*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0xd9,0x28] 283*9880d681SAndroid Build Coastguard Worker vprotw $40, %xmm1, %xmm3 284*9880d681SAndroid Build Coastguard Worker 285*9880d681SAndroid Build Coastguard Worker// vprotq 286*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq (%rax), %xmm1, %xmm2 287*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x10] 288*9880d681SAndroid Build Coastguard Worker vprotq (%rax), %xmm1, %xmm2 289*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq (%rax,%rcx), %xmm1, %xmm2 290*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x14,0x08] 291*9880d681SAndroid Build Coastguard Worker vprotq (%rax,%rcx), %xmm1, %xmm2 292*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq %xmm0, %xmm1, %xmm2 293*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x93,0xd1] 294*9880d681SAndroid Build Coastguard Worker vprotq %xmm0, %xmm1, %xmm2 295*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, (%rax), %xmm2 296*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x10,0x2a] 297*9880d681SAndroid Build Coastguard Worker vprotq $42, (%rax), %xmm2 298*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, (%rax,%rcx), %xmm2 299*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x14,0x08,0x2a] 300*9880d681SAndroid Build Coastguard Worker vprotq $42, (%rax,%rcx), %xmm2 301*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, %xmm1, %xmm2 302*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0xd1,0x2a] 303*9880d681SAndroid Build Coastguard Worker vprotq $42, %xmm1, %xmm2 304*9880d681SAndroid Build Coastguard Worker 305*9880d681SAndroid Build Coastguard Worker// vprotd 306*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd (%rax), %xmm0, %xmm3 307*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x92,0x18] 308*9880d681SAndroid Build Coastguard Worker vprotd (%rax), %xmm0, %xmm3 309*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd %xmm2, (%rax,%rcx), %xmm4 310*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x92,0x24,0x08] 311*9880d681SAndroid Build Coastguard Worker vprotd %xmm2, (%rax,%rcx), %xmm4 312*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd %xmm5, %xmm3, %xmm2 313*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x92,0xd3] 314*9880d681SAndroid Build Coastguard Worker vprotd %xmm5, %xmm3, %xmm2 315*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $43, (%rcx), %xmm6 316*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x31,0x2b] 317*9880d681SAndroid Build Coastguard Worker vprotd $43, (%rcx), %xmm6 318*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $44, (%rax,%rcx), %xmm7 319*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x3c,0x08,0x2c] 320*9880d681SAndroid Build Coastguard Worker vprotd $44, (%rax,%rcx), %xmm7 321*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $45, %xmm4, %xmm4 322*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0xe4,0x2d] 323*9880d681SAndroid Build Coastguard Worker vprotd $45, %xmm4, %xmm4 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Worker// vprotb 326*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb (%rcx), %xmm2, %xmm5 327*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x90,0x29] 328*9880d681SAndroid Build Coastguard Worker vprotb (%rcx), %xmm2, %xmm5 329*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb %xmm5, (%rax,%rcx), %xmm4 330*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x90,0x24,0x08] 331*9880d681SAndroid Build Coastguard Worker vprotb %xmm5, (%rax,%rcx), %xmm4 332*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb %xmm4, %xmm3, %xmm2 333*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x58,0x90,0xd3] 334*9880d681SAndroid Build Coastguard Worker vprotb %xmm4, %xmm3, %xmm2 335*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $46, (%rax), %xmm3 336*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x18,0x2e] 337*9880d681SAndroid Build Coastguard Worker vprotb $46, (%rax), %xmm3 338*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $47, (%rax,%rcx), %xmm7 339*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x3c,0x08,0x2f] 340*9880d681SAndroid Build Coastguard Worker vprotb $47, (%rax,%rcx), %xmm7 341*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $48, %xmm5, %xmm5 342*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0xed,0x30] 343*9880d681SAndroid Build Coastguard Worker vprotb $48, %xmm5, %xmm5 344*9880d681SAndroid Build Coastguard Worker 345*9880d681SAndroid Build Coastguard Worker////////////////////////// 346*9880d681SAndroid Build Coastguard Worker// 4 operand instructions 347*9880d681SAndroid Build Coastguard Worker///////////////////////// 348*9880d681SAndroid Build Coastguard Worker 349*9880d681SAndroid Build Coastguard Worker// vpmadcswd 350*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4 351*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0xe2,0x10] 352*9880d681SAndroid Build Coastguard Worker vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4 353*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcswd %xmm1, (%rax), %xmm3, %xmm4 354*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0x20,0x10] 355*9880d681SAndroid Build Coastguard Worker vpmadcswd %xmm1, (%rax), %xmm3, %xmm4 356*9880d681SAndroid Build Coastguard Worker 357*9880d681SAndroid Build Coastguard Worker// vpmadcsswd 358*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4 359*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xa6,0xe4,0x10] 360*9880d681SAndroid Build Coastguard Worker vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4 361*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4 362*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa6,0x24,0x08,0x10] 363*9880d681SAndroid Build Coastguard Worker vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4 364*9880d681SAndroid Build Coastguard Worker 365*9880d681SAndroid Build Coastguard Worker// vpmacsww 366*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsww %xmm0, %xmm2, %xmm5, %xmm4 367*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x50,0x95,0xe2,0x00] 368*9880d681SAndroid Build Coastguard Worker vpmacsww %xmm0, %xmm2, %xmm5, %xmm4 369*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsww %xmm1, (%rax), %xmm6, %xmm4 370*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x95,0x20,0x10] 371*9880d681SAndroid Build Coastguard Worker vpmacsww %xmm1, (%rax), %xmm6, %xmm4 372*9880d681SAndroid Build Coastguard Worker 373*9880d681SAndroid Build Coastguard Worker// vpmacswd 374*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacswd %xmm4, %xmm5, %xmm6, %xmm7 375*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x96,0xfd,0x40] 376*9880d681SAndroid Build Coastguard Worker vpmacswd %xmm4, %xmm5, %xmm6, %xmm7 377*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacswd %xmm0, (%rax), %xmm1, %xmm2 378*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x96,0x10,0x00] 379*9880d681SAndroid Build Coastguard Worker vpmacswd %xmm0, (%rax), %xmm1, %xmm2 380*9880d681SAndroid Build Coastguard Worker 381*9880d681SAndroid Build Coastguard Worker// vpmacssww 382*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssww %xmm4, %xmm3, %xmm2, %xmm1 383*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x85,0xcb,0x40] 384*9880d681SAndroid Build Coastguard Worker vpmacssww %xmm4, %xmm3, %xmm2, %xmm1 385*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssww %xmm6, (%rcx), %xmm7, %xmm7 386*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x40,0x85,0x39,0x60] 387*9880d681SAndroid Build Coastguard Worker vpmacssww %xmm6, (%rcx), %xmm7, %xmm7 388*9880d681SAndroid Build Coastguard Worker 389*9880d681SAndroid Build Coastguard Worker// vpmacsswd 390*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2 391*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x86,0xd2,0x40] 392*9880d681SAndroid Build Coastguard Worker vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2 393*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0 394*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x86,0x44,0x08,0x08,0x00] 395*9880d681SAndroid Build Coastguard Worker vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0 396*9880d681SAndroid Build Coastguard Worker 397*9880d681SAndroid Build Coastguard Worker// vpmacssdql 398*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4 399*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x87,0xe1,0x10] 400*9880d681SAndroid Build Coastguard Worker vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4 401*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5 402*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x87,0x29,0x70] 403*9880d681SAndroid Build Coastguard Worker vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5 404*9880d681SAndroid Build Coastguard Worker 405*9880d681SAndroid Build Coastguard Worker// vpmacssdqh 406*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1 407*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0x8f,0xca,0x30] 408*9880d681SAndroid Build Coastguard Worker vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1 409*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3 410*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x8f,0x1c,0x08,0x70] 411*9880d681SAndroid Build Coastguard Worker vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3 412*9880d681SAndroid Build Coastguard Worker 413*9880d681SAndroid Build Coastguard Worker// vpmacssdd 414*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5 415*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x8e,0xea,0x20] 416*9880d681SAndroid Build Coastguard Worker vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5 417*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdd %xmm4, (%rax), %xmm1, %xmm2 418*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x8e,0x10,0x40] 419*9880d681SAndroid Build Coastguard Worker vpmacssdd %xmm4, (%rax), %xmm1, %xmm2 420*9880d681SAndroid Build Coastguard Worker 421*9880d681SAndroid Build Coastguard Worker// vpmacsdql 422*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7 423*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x97,0xf8,0x30] 424*9880d681SAndroid Build Coastguard Worker vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7 425*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5 426*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x97,0x69,0x08,0x50] 427*9880d681SAndroid Build Coastguard Worker vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5 428*9880d681SAndroid Build Coastguard Worker 429*9880d681SAndroid Build Coastguard Worker// vpmacsdqh 430*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2 431*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x9f,0xd5,0x70] 432*9880d681SAndroid Build Coastguard Worker vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2 433*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0 434*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x9f,0x40,0x04,0x50] 435*9880d681SAndroid Build Coastguard Worker vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0 436*9880d681SAndroid Build Coastguard Worker 437*9880d681SAndroid Build Coastguard Worker// vpmacsdd 438*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2 439*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0xd6,0x40] 440*9880d681SAndroid Build Coastguard Worker vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2 441*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3 442*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0x1c,0x08,0x40] 443*9880d681SAndroid Build Coastguard Worker vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3 444*9880d681SAndroid Build Coastguard Worker 445*9880d681SAndroid Build Coastguard Worker// vpcomw 446*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomw $42, %xmm2, %xmm3, %xmm4 447*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x2a] 448*9880d681SAndroid Build Coastguard Worker vpcomw $42, %xmm2, %xmm3, %xmm4 449*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomw $42, (%rax), %xmm3, %xmm4 450*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0x20,0x2a] 451*9880d681SAndroid Build Coastguard Worker vpcomw $42, (%rax), %xmm3, %xmm4 452*9880d681SAndroid Build Coastguard Worker 453*9880d681SAndroid Build Coastguard Worker// vpcomuw 454*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuw $43, %xmm1, %xmm3, %xmm5 455*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe9,0x2b] 456*9880d681SAndroid Build Coastguard Worker vpcomuw $43, %xmm1, %xmm3, %xmm5 457*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6 458*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xed,0x34,0x08,0x2c] 459*9880d681SAndroid Build Coastguard Worker vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6 460*9880d681SAndroid Build Coastguard Worker 461*9880d681SAndroid Build Coastguard Worker// vpcomuq 462*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuq $45, %xmm3, %xmm3, %xmm7 463*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0xfb,0x2d] 464*9880d681SAndroid Build Coastguard Worker vpcomuq $45, %xmm3, %xmm3, %xmm7 465*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuq $46, (%rax), %xmm3, %xmm1 466*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0x08,0x2e] 467*9880d681SAndroid Build Coastguard Worker vpcomuq $46, (%rax), %xmm3, %xmm1 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Worker// vpcomud 470*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomud $47, %xmm0, %xmm1, %xmm2 471*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0xee,0xd0,0x2f] 472*9880d681SAndroid Build Coastguard Worker vpcomud $47, %xmm0, %xmm1, %xmm2 473*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomud $48, 4(%rax), %xmm6, %xmm3 474*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xee,0x58,0x04,0x30] 475*9880d681SAndroid Build Coastguard Worker vpcomud $48, 4(%rax), %xmm6, %xmm3 476*9880d681SAndroid Build Coastguard Worker 477*9880d681SAndroid Build Coastguard Worker// vpcomub 478*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomub $49, %xmm3, %xmm4, %xmm5 479*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0xec,0xeb,0x31] 480*9880d681SAndroid Build Coastguard Worker vpcomub $49, %xmm3, %xmm4, %xmm5 481*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomub $50, (%rcx), %xmm6, %xmm2 482*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xec,0x11,0x32] 483*9880d681SAndroid Build Coastguard Worker vpcomub $50, (%rcx), %xmm6, %xmm2 484*9880d681SAndroid Build Coastguard Worker 485*9880d681SAndroid Build Coastguard Worker// vpcomq 486*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomq $51, %xmm3, %xmm0, %xmm5 487*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xcf,0xeb,0x33] 488*9880d681SAndroid Build Coastguard Worker vpcomq $51, %xmm3, %xmm0, %xmm5 489*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomq $52, (%rax), %xmm1, %xmm7 490*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0xcf,0x38,0x34] 491*9880d681SAndroid Build Coastguard Worker vpcomq $52, (%rax), %xmm1, %xmm7 492*9880d681SAndroid Build Coastguard Worker 493*9880d681SAndroid Build Coastguard Worker// vpcomd 494*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomd $53, %xmm3, %xmm3, %xmm0 495*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xce,0xc3,0x35] 496*9880d681SAndroid Build Coastguard Worker vpcomd $53, %xmm3, %xmm3, %xmm0 497*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomd $54, (%rcx), %xmm2, %xmm2 498*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0xce,0x11,0x36] 499*9880d681SAndroid Build Coastguard Worker vpcomd $54, (%rcx), %xmm2, %xmm2 500*9880d681SAndroid Build Coastguard Worker 501*9880d681SAndroid Build Coastguard Worker// vpcomb 502*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomb $55, %xmm6, %xmm4, %xmm2 503*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0xcc,0xd6,0x37] 504*9880d681SAndroid Build Coastguard Worker vpcomb $55, %xmm6, %xmm4, %xmm2 505*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomb $56, 8(%rax), %xmm3, %xmm2 506*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcc,0x50,0x08,0x38] 507*9880d681SAndroid Build Coastguard Worker vpcomb $56, 8(%rax), %xmm3, %xmm2 508*9880d681SAndroid Build Coastguard Worker 509*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomltw %xmm2, %xmm3, %xmm4 510*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x00] 511*9880d681SAndroid Build Coastguard Worker vpcomltw %xmm2, %xmm3, %xmm4 512*9880d681SAndroid Build Coastguard Worker 513*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomlew %xmm2, %xmm3, %xmm4 514*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x01] 515*9880d681SAndroid Build Coastguard Worker vpcomlew %xmm2, %xmm3, %xmm4 516*9880d681SAndroid Build Coastguard Worker 517*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgtw %xmm2, %xmm3, %xmm4 518*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x02] 519*9880d681SAndroid Build Coastguard Worker vpcomgtw %xmm2, %xmm3, %xmm4 520*9880d681SAndroid Build Coastguard Worker 521*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgew %xmm2, %xmm3, %xmm4 522*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x03] 523*9880d681SAndroid Build Coastguard Worker vpcomgew %xmm2, %xmm3, %xmm4 524*9880d681SAndroid Build Coastguard Worker 525*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomeqw %xmm2, %xmm3, %xmm4 526*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x04] 527*9880d681SAndroid Build Coastguard Worker vpcomeqw %xmm2, %xmm3, %xmm4 528*9880d681SAndroid Build Coastguard Worker 529*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomneqw %xmm2, %xmm3, %xmm4 530*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x05] 531*9880d681SAndroid Build Coastguard Worker vpcomneqw %xmm2, %xmm3, %xmm4 532*9880d681SAndroid Build Coastguard Worker 533*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomfalsew %xmm2, %xmm3, %xmm4 534*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x06] 535*9880d681SAndroid Build Coastguard Worker vpcomfalsew %xmm2, %xmm3, %xmm4 536*9880d681SAndroid Build Coastguard Worker 537*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomtruew %xmm2, %xmm3, %xmm4 538*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x07] 539*9880d681SAndroid Build Coastguard Worker vpcomtruew %xmm2, %xmm3, %xmm4 540*9880d681SAndroid Build Coastguard Worker 541*9880d681SAndroid Build Coastguard Worker 542*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomltuw %xmm2, %xmm3, %xmm4 543*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x00] 544*9880d681SAndroid Build Coastguard Worker vpcomltuw %xmm2, %xmm3, %xmm4 545*9880d681SAndroid Build Coastguard Worker 546*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomleuw %xmm2, %xmm3, %xmm4 547*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x01] 548*9880d681SAndroid Build Coastguard Worker vpcomleuw %xmm2, %xmm3, %xmm4 549*9880d681SAndroid Build Coastguard Worker 550*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgtuw %xmm2, %xmm3, %xmm4 551*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x02] 552*9880d681SAndroid Build Coastguard Worker vpcomgtuw %xmm2, %xmm3, %xmm4 553*9880d681SAndroid Build Coastguard Worker 554*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgeuw %xmm2, %xmm3, %xmm4 555*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x03] 556*9880d681SAndroid Build Coastguard Worker vpcomgeuw %xmm2, %xmm3, %xmm4 557*9880d681SAndroid Build Coastguard Worker 558*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomequw %xmm2, %xmm3, %xmm4 559*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x04] 560*9880d681SAndroid Build Coastguard Worker vpcomequw %xmm2, %xmm3, %xmm4 561*9880d681SAndroid Build Coastguard Worker 562*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomnequw %xmm2, %xmm3, %xmm4 563*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x05] 564*9880d681SAndroid Build Coastguard Worker vpcomnequw %xmm2, %xmm3, %xmm4 565*9880d681SAndroid Build Coastguard Worker 566*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomfalseuw %xmm2, %xmm3, %xmm4 567*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x06] 568*9880d681SAndroid Build Coastguard Worker vpcomfalseuw %xmm2, %xmm3, %xmm4 569*9880d681SAndroid Build Coastguard Worker 570*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomtrueuw %xmm2, %xmm3, %xmm4 571*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x07] 572*9880d681SAndroid Build Coastguard Worker vpcomtrueuw %xmm2, %xmm3, %xmm4 573*9880d681SAndroid Build Coastguard Worker 574*9880d681SAndroid Build Coastguard Worker// vpperm 575*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm %xmm1, %xmm2, %xmm3, %xmm4 576*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0xe2,0x10] 577*9880d681SAndroid Build Coastguard Worker vpperm %xmm1, %xmm2, %xmm3, %xmm4 578*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm (%rax), %xmm2, %xmm3, %xmm4 579*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe0,0xa3,0x20,0x20] 580*9880d681SAndroid Build Coastguard Worker vpperm (%rax), %xmm2, %xmm3, %xmm4 581*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm %xmm1, (%rax), %xmm3, %xmm4 582*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0x20,0x10] 583*9880d681SAndroid Build Coastguard Worker vpperm %xmm1, (%rax), %xmm3, %xmm4 584*9880d681SAndroid Build Coastguard Worker 585*9880d681SAndroid Build Coastguard Worker// vpcmov 586*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %xmm1, %xmm2, %xmm3, %xmm4 587*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0xe2,0x10] 588*9880d681SAndroid Build Coastguard Worker vpcmov %xmm1, %xmm2, %xmm3, %xmm4 589*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov (%rax), %xmm2, %xmm3, %xmm4 590*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe0,0xa2,0x20,0x20] 591*9880d681SAndroid Build Coastguard Worker vpcmov (%rax), %xmm2, %xmm3, %xmm4 592*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %xmm1, (%rax), %xmm3, %xmm4 593*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0x20,0x10] 594*9880d681SAndroid Build Coastguard Worker vpcmov %xmm1, (%rax), %xmm3, %xmm4 595*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %ymm1, %ymm2, %ymm3, %ymm4 596*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0xe2,0x10] 597*9880d681SAndroid Build Coastguard Worker vpcmov %ymm1, %ymm2, %ymm3, %ymm4 598*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov (%rax), %ymm2, %ymm3, %ymm4 599*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe4,0xa2,0x20,0x20] 600*9880d681SAndroid Build Coastguard Worker vpcmov (%rax), %ymm2, %ymm3, %ymm4 601*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %ymm1, (%rax), %ymm3, %ymm4 602*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0x20,0x10] 603*9880d681SAndroid Build Coastguard Worker vpcmov %ymm1, (%rax), %ymm3, %ymm4 604*9880d681SAndroid Build Coastguard Worker 605*9880d681SAndroid Build Coastguard Worker 606*9880d681SAndroid Build Coastguard Worker////////////////////////// 607*9880d681SAndroid Build Coastguard Worker// 5 operand instructions 608*9880d681SAndroid Build Coastguard Worker///////////////////////// 609*9880d681SAndroid Build Coastguard Worker// vpermil2pd 610*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7 611*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0xfa,0x51] 612*9880d681SAndroid Build Coastguard Worker vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7 613*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4 614*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xe1,0x49,0x20,0x32] 615*9880d681SAndroid Build Coastguard Worker vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4 616*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6 617*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xdd,0x49,0x70,0x08,0x03] 618*9880d681SAndroid Build Coastguard Worker vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6 619*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0 620*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0x04,0x08,0x30] 621*9880d681SAndroid Build Coastguard Worker vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0 622*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4 623*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0xe2,0x11] 624*9880d681SAndroid Build Coastguard Worker vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4 625*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4 626*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0x20,0x12] 627*9880d681SAndroid Build Coastguard Worker vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4 628*9880d681SAndroid Build Coastguard Worker 629*9880d681SAndroid Build Coastguard Worker// vpermil2ps 630*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1 631*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x69,0x48,0xcb,0x40] 632*9880d681SAndroid Build Coastguard Worker vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1 633*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0 634*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xe1,0x48,0x40,0x04,0x21] 635*9880d681SAndroid Build Coastguard Worker vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0 636*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6 637*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xd5,0x48,0x30,0x12] 638*9880d681SAndroid Build Coastguard Worker vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6 639*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4 640*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x61,0x48,0x20,0x13] 641*9880d681SAndroid Build Coastguard Worker vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4 642*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2 643*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x6d,0x48,0xd4,0x40] 644*9880d681SAndroid Build Coastguard Worker vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2 645*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0 646*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x75,0x49,0x40,0x04,0x11] 647*9880d681SAndroid Build Coastguard Worker vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0 648*9880d681SAndroid Build Coastguard Worker 649