1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=x86_64-unknown-unknown | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerpalignr $8, %xmm0, %xmm1 4*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7] 5*9880d681SAndroid Build Coastguard Workerpalignr $8, (%rax), %xmm1 6*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7] 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerpalignr $16, %xmm0, %xmm1 9*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 10*9880d681SAndroid Build Coastguard Workerpalignr $16, (%rax), %xmm1 11*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerpalignr $0, %xmm0, %xmm1 14*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 15*9880d681SAndroid Build Coastguard Workerpalignr $0, (%rax), %xmm1 16*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workervpalignr $8, %xmm0, %xmm1, %xmm2 19*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7] 20*9880d681SAndroid Build Coastguard Workervpalignr $8, (%rax), %xmm1, %xmm2 21*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7] 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workervpalignr $16, %xmm0, %xmm1, %xmm2 24*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 25*9880d681SAndroid Build Coastguard Workervpalignr $16, (%rax), %xmm1, %xmm2 26*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workervpalignr $0, %xmm0, %xmm1, %xmm2 29*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 30*9880d681SAndroid Build Coastguard Workervpalignr $0, (%rax), %xmm1, %xmm2 31*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workervpalignr $8, %ymm0, %ymm1, %ymm2 34*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm0[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm0[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23] 35*9880d681SAndroid Build Coastguard Workervpalignr $8, (%rax), %ymm1, %ymm2 36*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23] 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workervpalignr $16, %ymm0, %ymm1, %ymm2 39*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] 40*9880d681SAndroid Build Coastguard Workervpalignr $16, (%rax), %ymm1, %ymm2 41*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Workervpalignr $0, %ymm0, %ymm1, %ymm2 44*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] 45*9880d681SAndroid Build Coastguard Workervpalignr $0, (%rax), %ymm1, %ymm2 46*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Workerpshufd $27, %xmm0, %xmm1 49*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm0[3,2,1,0] 50*9880d681SAndroid Build Coastguard Workerpshufd $27, (%rax), %xmm1 51*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = mem[3,2,1,0] 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Workervpshufd $27, %xmm0, %xmm1 54*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm0[3,2,1,0] 55*9880d681SAndroid Build Coastguard Workervpshufd $27, (%rax), %xmm1 56*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = mem[3,2,1,0] 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Workervpshufd $27, %ymm0, %ymm1 59*9880d681SAndroid Build Coastguard Worker# CHECK: ymm1 = ymm0[3,2,1,0,7,6,5,4] 60*9880d681SAndroid Build Coastguard Workervpshufd $27, (%rax), %ymm1 61*9880d681SAndroid Build Coastguard Worker# CHECK: ymm1 = mem[3,2,1,0,7,6,5,4] 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Workerpunpcklbw %xmm0, %xmm1 64*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] 65*9880d681SAndroid Build Coastguard Workerpunpcklbw (%rax), %xmm1 66*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3],xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7] 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Workervpunpcklbw %xmm0, %xmm1, %xmm2 69*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] 70*9880d681SAndroid Build Coastguard Workervpunpcklbw (%rax), %xmm1, %xmm2 71*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3],xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7] 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Workervpunpcklbw %ymm0, %ymm1, %ymm2 74*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[4],ymm0[4],ymm1[5],ymm0[5],ymm1[6],ymm0[6],ymm1[7],ymm0[7],ymm1[16],ymm0[16],ymm1[17],ymm0[17],ymm1[18],ymm0[18],ymm1[19],ymm0[19],ymm1[20],ymm0[20],ymm1[21],ymm0[21],ymm1[22],ymm0[22],ymm1[23],ymm0[23] 75*9880d681SAndroid Build Coastguard Workervpunpcklbw (%rax), %ymm1, %ymm2 76*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[2],mem[2],ymm1[3],mem[3],ymm1[4],mem[4],ymm1[5],mem[5],ymm1[6],mem[6],ymm1[7],mem[7],ymm1[16],mem[16],ymm1[17],mem[17],ymm1[18],mem[18],ymm1[19],mem[19],ymm1[20],mem[20],ymm1[21],mem[21],ymm1[22],mem[22],ymm1[23],mem[23] 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerpunpckhbw %xmm0, %xmm1 79*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15] 80*9880d681SAndroid Build Coastguard Workerpunpckhbw (%rax), %xmm1 81*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[8],mem[8],xmm1[9],mem[9],xmm1[10],mem[10],xmm1[11],mem[11],xmm1[12],mem[12],xmm1[13],mem[13],xmm1[14],mem[14],xmm1[15],mem[15] 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Workervpunpckhbw %xmm0, %xmm1, %xmm2 84*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15] 85*9880d681SAndroid Build Coastguard Workervpunpckhbw (%rax), %xmm1, %xmm2 86*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[8],mem[8],xmm1[9],mem[9],xmm1[10],mem[10],xmm1[11],mem[11],xmm1[12],mem[12],xmm1[13],mem[13],xmm1[14],mem[14],xmm1[15],mem[15] 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Workervpunpckhbw %ymm0, %ymm1, %ymm2 89*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[8],ymm0[8],ymm1[9],ymm0[9],ymm1[10],ymm0[10],ymm1[11],ymm0[11],ymm1[12],ymm0[12],ymm1[13],ymm0[13],ymm1[14],ymm0[14],ymm1[15],ymm0[15],ymm1[24],ymm0[24],ymm1[25],ymm0[25],ymm1[26],ymm0[26],ymm1[27],ymm0[27],ymm1[28],ymm0[28],ymm1[29],ymm0[29],ymm1[30],ymm0[30],ymm1[31],ymm0[31] 90*9880d681SAndroid Build Coastguard Workervpunpckhbw (%rax), %ymm1, %ymm2 91*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[8],mem[8],ymm1[9],mem[9],ymm1[10],mem[10],ymm1[11],mem[11],ymm1[12],mem[12],ymm1[13],mem[13],ymm1[14],mem[14],ymm1[15],mem[15],ymm1[24],mem[24],ymm1[25],mem[25],ymm1[26],mem[26],ymm1[27],mem[27],ymm1[28],mem[28],ymm1[29],mem[29],ymm1[30],mem[30],ymm1[31],mem[31] 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Workerpunpcklwd %xmm0, %xmm1 94*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 95*9880d681SAndroid Build Coastguard Workerpunpcklwd (%rax), %xmm1 96*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3] 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Workervpunpcklwd %xmm0, %xmm1, %xmm2 99*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 100*9880d681SAndroid Build Coastguard Workervpunpcklwd (%rax), %xmm1, %xmm2 101*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3] 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Workervpunpcklwd %ymm0, %ymm1, %ymm2 104*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[8],ymm0[8],ymm1[9],ymm0[9],ymm1[10],ymm0[10],ymm1[11],ymm0[11] 105*9880d681SAndroid Build Coastguard Workervpunpcklwd (%rax), %ymm1, %ymm2 106*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[2],mem[2],ymm1[3],mem[3],ymm1[8],mem[8],ymm1[9],mem[9],ymm1[10],mem[10],ymm1[11],mem[11] 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Workerpunpckhwd %xmm0, %xmm1 109*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] 110*9880d681SAndroid Build Coastguard Workerpunpckhwd (%rax), %xmm1 111*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7] 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Workervpunpckhwd %xmm0, %xmm1, %xmm2 114*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] 115*9880d681SAndroid Build Coastguard Workervpunpckhwd (%rax), %xmm1, %xmm2 116*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7] 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Workervpunpckhwd %ymm0, %ymm1, %ymm2 119*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[4],ymm0[4],ymm1[5],ymm0[5],ymm1[6],ymm0[6],ymm1[7],ymm0[7],ymm1[12],ymm0[12],ymm1[13],ymm0[13],ymm1[14],ymm0[14],ymm1[15],ymm0[15] 120*9880d681SAndroid Build Coastguard Workervpunpckhwd (%rax), %ymm1, %ymm2 121*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[4],mem[4],ymm1[5],mem[5],ymm1[6],mem[6],ymm1[7],mem[7],ymm1[12],mem[12],ymm1[13],mem[13],ymm1[14],mem[14],ymm1[15],mem[15] 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Workerpunpckldq %xmm0, %xmm1 124*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1] 125*9880d681SAndroid Build Coastguard Workerpunpckldq (%rax), %xmm1 126*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1] 127*9880d681SAndroid Build Coastguard Worker 128*9880d681SAndroid Build Coastguard Workervpunpckldq %xmm0, %xmm1, %xmm2 129*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1] 130*9880d681SAndroid Build Coastguard Workervpunpckldq (%rax), %xmm1, %xmm2 131*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1] 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Workervpunpckldq %ymm0, %ymm1, %ymm2 134*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[4],ymm0[4],ymm1[5],ymm0[5] 135*9880d681SAndroid Build Coastguard Workervpunpckldq (%rax), %ymm1, %ymm2 136*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5] 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Workerpunpckhdq %xmm0, %xmm1 139*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3] 140*9880d681SAndroid Build Coastguard Workerpunpckhdq (%rax), %xmm1 141*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[2],mem[2],xmm1[3],mem[3] 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Workervpunpckhdq %xmm0, %xmm1, %xmm2 144*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3] 145*9880d681SAndroid Build Coastguard Workervpunpckhdq (%rax), %xmm1, %xmm2 146*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[2],mem[2],xmm1[3],mem[3] 147*9880d681SAndroid Build Coastguard Worker 148*9880d681SAndroid Build Coastguard Workervpunpckhdq %ymm0, %ymm1, %ymm2 149*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[6],ymm0[6],ymm1[7],ymm0[7] 150*9880d681SAndroid Build Coastguard Workervpunpckhdq (%rax), %ymm1, %ymm2 151*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[2],mem[2],ymm1[3],mem[3],ymm1[6],mem[6],ymm1[7],mem[7] 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Workerpunpcklqdq %xmm0, %xmm1 154*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0] 155*9880d681SAndroid Build Coastguard Workerpunpcklqdq (%rax), %xmm1 156*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0] 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Workervpunpcklqdq %xmm0, %xmm1, %xmm2 159*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0] 160*9880d681SAndroid Build Coastguard Workervpunpcklqdq (%rax), %xmm1, %xmm2 161*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0] 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Workervpunpcklqdq %ymm0, %ymm1, %ymm2 164*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2] 165*9880d681SAndroid Build Coastguard Workervpunpcklqdq (%rax), %ymm1, %ymm2 166*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[2],mem[2] 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Workerpunpckhqdq %xmm0, %xmm1 169*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],xmm0[1] 170*9880d681SAndroid Build Coastguard Workerpunpckhqdq (%rax), %xmm1 171*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],mem[1] 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Workervpunpckhqdq %xmm0, %xmm1, %xmm2 174*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],xmm0[1] 175*9880d681SAndroid Build Coastguard Workervpunpckhqdq (%rax), %xmm1, %xmm2 176*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],mem[1] 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Workervpunpckhqdq %ymm0, %ymm1, %ymm2 179*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3] 180*9880d681SAndroid Build Coastguard Workervpunpckhqdq (%rax), %ymm1, %ymm2 181*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],mem[1],ymm1[3],mem[3] 182*9880d681SAndroid Build Coastguard Worker 183*9880d681SAndroid Build Coastguard Workerunpcklps %xmm0, %xmm1 184*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1] 185*9880d681SAndroid Build Coastguard Workerunpcklps (%rax), %xmm1 186*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1] 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Workervunpcklps %xmm0, %xmm1, %xmm2 189*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1] 190*9880d681SAndroid Build Coastguard Workervunpcklps (%rax), %xmm1, %xmm2 191*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1] 192*9880d681SAndroid Build Coastguard Worker 193*9880d681SAndroid Build Coastguard Workervunpcklps %ymm0, %ymm1, %ymm2 194*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[4],ymm0[4],ymm1[5],ymm0[5] 195*9880d681SAndroid Build Coastguard Workervunpcklps (%rax), %ymm1, %ymm2 196*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5] 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Workerunpckhps %xmm0, %xmm1 199*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3] 200*9880d681SAndroid Build Coastguard Workerunpckhps (%rax), %xmm1 201*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[2],mem[2],xmm1[3],mem[3] 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Workervunpckhps %xmm0, %xmm1, %xmm2 204*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3] 205*9880d681SAndroid Build Coastguard Workervunpckhps (%rax), %xmm1, %xmm2 206*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[2],mem[2],xmm1[3],mem[3] 207*9880d681SAndroid Build Coastguard Worker 208*9880d681SAndroid Build Coastguard Workervunpckhps %ymm0, %ymm1, %ymm2 209*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[6],ymm0[6],ymm1[7],ymm0[7] 210*9880d681SAndroid Build Coastguard Workervunpckhps (%rax), %ymm1, %ymm2 211*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[2],mem[2],ymm1[3],mem[3],ymm1[6],mem[6],ymm1[7],mem[7] 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Workerunpcklpd %xmm0, %xmm1 214*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],xmm0[0] 215*9880d681SAndroid Build Coastguard Workerunpcklpd (%rax), %xmm1 216*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[0],mem[0] 217*9880d681SAndroid Build Coastguard Worker 218*9880d681SAndroid Build Coastguard Workervunpcklpd %xmm0, %xmm1, %xmm2 219*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0] 220*9880d681SAndroid Build Coastguard Workervunpcklpd (%rax), %xmm1, %xmm2 221*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0] 222*9880d681SAndroid Build Coastguard Worker 223*9880d681SAndroid Build Coastguard Workervunpcklpd %ymm0, %ymm1, %ymm2 224*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2] 225*9880d681SAndroid Build Coastguard Workervunpcklpd (%rax), %ymm1, %ymm2 226*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[0],mem[0],ymm1[2],mem[2] 227*9880d681SAndroid Build Coastguard Worker 228*9880d681SAndroid Build Coastguard Workerunpckhpd %xmm0, %xmm1 229*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],xmm0[1] 230*9880d681SAndroid Build Coastguard Workerunpckhpd (%rax), %xmm1 231*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],mem[1] 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Workervunpckhpd %xmm0, %xmm1, %xmm2 234*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],xmm0[1] 235*9880d681SAndroid Build Coastguard Workervunpckhpd (%rax), %xmm1, %xmm2 236*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],mem[1] 237*9880d681SAndroid Build Coastguard Worker 238*9880d681SAndroid Build Coastguard Workervunpckhpd %ymm0, %ymm1, %ymm2 239*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3] 240*9880d681SAndroid Build Coastguard Workervunpckhpd (%rax), %ymm1, %ymm2 241*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],mem[1],ymm1[3],mem[3] 242*9880d681SAndroid Build Coastguard Worker 243*9880d681SAndroid Build Coastguard Workershufps $27, %xmm0, %xmm1 244*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[3,2],xmm0[1,0] 245*9880d681SAndroid Build Coastguard Workershufps $27, (%rax), %xmm1 246*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[3,2],mem[1,0] 247*9880d681SAndroid Build Coastguard Worker 248*9880d681SAndroid Build Coastguard Workervshufps $27, %xmm0, %xmm1, %xmm2 249*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[3,2],xmm0[1,0] 250*9880d681SAndroid Build Coastguard Workervshufps $27, (%rax), %xmm1, %xmm2 251*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[3,2],mem[1,0] 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Workervshufps $27, %ymm0, %ymm1, %ymm2 254*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[3,2],ymm0[1,0],ymm1[7,6],ymm0[5,4] 255*9880d681SAndroid Build Coastguard Workervshufps $27, (%rax), %ymm1, %ymm2 256*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[3,2],mem[1,0],ymm1[7,6],mem[5,4] 257*9880d681SAndroid Build Coastguard Worker 258*9880d681SAndroid Build Coastguard Workershufpd $3, %xmm0, %xmm1 259*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],xmm0[1] 260*9880d681SAndroid Build Coastguard Workershufpd $3, (%rax), %xmm1 261*9880d681SAndroid Build Coastguard Worker# CHECK: xmm1 = xmm1[1],mem[1] 262*9880d681SAndroid Build Coastguard Worker 263*9880d681SAndroid Build Coastguard Workervshufpd $3, %xmm0, %xmm1, %xmm2 264*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],xmm0[1] 265*9880d681SAndroid Build Coastguard Workervshufpd $3, (%rax), %xmm1, %xmm2 266*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[1],mem[1] 267*9880d681SAndroid Build Coastguard Worker 268*9880d681SAndroid Build Coastguard Workervshufpd $11, %ymm0, %ymm1, %ymm2 269*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[2],ymm0[3] 270*9880d681SAndroid Build Coastguard Workervshufpd $11, (%rax), %ymm1, %ymm2 271*9880d681SAndroid Build Coastguard Worker# CHECK: ymm2 = ymm1[1],mem[1],ymm1[2],mem[3] 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Workervinsertps $16, %xmm0, %xmm1, %xmm2 274*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[2,3] 275*9880d681SAndroid Build Coastguard Workervinsertps $16, (%rax), %xmm1, %xmm2 276*9880d681SAndroid Build Coastguard Worker# CHECK: xmm2 = xmm1[0],mem[0],xmm1[2,3] 277