1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker vext.8 d16, d17, d16, #3 4*9880d681SAndroid Build Coastguard Worker vext.8 d16, d17, d16, #5 5*9880d681SAndroid Build Coastguard Worker vext.8 q8, q9, q8, #3 6*9880d681SAndroid Build Coastguard Worker vext.8 q8, q9, q8, #7 7*9880d681SAndroid Build Coastguard Worker vext.16 d16, d17, d16, #3 8*9880d681SAndroid Build Coastguard Worker vext.32 q8, q9, q8, #3 9*9880d681SAndroid Build Coastguard Worker vext.64 q8, q9, q8, #1 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker vext.8 d17, d16, #3 12*9880d681SAndroid Build Coastguard Worker vext.8 d7, d11, #5 13*9880d681SAndroid Build Coastguard Worker vext.8 q3, q8, #3 14*9880d681SAndroid Build Coastguard Worker vext.8 q9, q4, #7 15*9880d681SAndroid Build Coastguard Worker vext.16 d1, d26, #3 16*9880d681SAndroid Build Coastguard Worker vext.32 q5, q8, #3 17*9880d681SAndroid Build Coastguard Worker vext.64 q5, q8, #1 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 d16, d17, d16, #3 @ encoding: [0xa0,0x03,0xf1,0xf2] 21*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 d16, d17, d16, #5 @ encoding: [0xa0,0x05,0xf1,0xf2] 22*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 q8, q9, q8, #3 @ encoding: [0xe0,0x03,0xf2,0xf2] 23*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 q8, q9, q8, #7 @ encoding: [0xe0,0x07,0xf2,0xf2] 24*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.16 d16, d17, d16, #3 @ encoding: [0xa0,0x06,0xf1,0xf2] 25*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.32 q8, q9, q8, #3 @ encoding: [0xe0,0x0c,0xf2,0xf2] 26*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.64 q8, q9, q8, #1 @ encoding: [0xe0,0x08,0xf2,0xf2] 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 d17, d17, d16, #3 @ encoding: [0xa0,0x13,0xf1,0xf2] 29*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 d7, d7, d11, #5 @ encoding: [0x0b,0x75,0xb7,0xf2] 30*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 q3, q3, q8, #3 @ encoding: [0x60,0x63,0xb6,0xf2] 31*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8 q9, q9, q4, #7 @ encoding: [0xc8,0x27,0xf2,0xf2] 32*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.16 d1, d1, d26, #3 @ encoding: [0x2a,0x16,0xb1,0xf2] 33*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.32 q5, q5, q8, #3 @ encoding: [0x60,0xac,0xba,0xf2] 34*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.64 q5, q5, q8, #1 @ encoding: [0x60,0xa8,0xba,0xf2] 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Worker vtrn.8 d17, d16 38*9880d681SAndroid Build Coastguard Worker vtrn.16 d17, d16 39*9880d681SAndroid Build Coastguard Worker vtrn.32 d17, d16 40*9880d681SAndroid Build Coastguard Worker vtrn.8 q9, q8 41*9880d681SAndroid Build Coastguard Worker vtrn.16 q9, q8 42*9880d681SAndroid Build Coastguard Worker vtrn.32 q9, q8 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 d17, d16 @ encoding: [0xa0,0x10,0xf2,0xf3] 45*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d17, d16 @ encoding: [0xa0,0x10,0xf6,0xf3] 46*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d17, d16 @ encoding: [0xa0,0x10,0xfa,0xf3] 47*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 q9, q8 @ encoding: [0xe0,0x20,0xf2,0xf3] 48*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q9, q8 @ encoding: [0xe0,0x20,0xf6,0xf3] 49*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q9, q8 @ encoding: [0xe0,0x20,0xfa,0xf3] 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker vuzp.8 d17, d16 53*9880d681SAndroid Build Coastguard Worker vuzp.16 d17, d16 54*9880d681SAndroid Build Coastguard Worker vuzp.8 q9, q8 55*9880d681SAndroid Build Coastguard Worker vuzp.16 q9, q8 56*9880d681SAndroid Build Coastguard Worker vuzp.32 q9, q8 57*9880d681SAndroid Build Coastguard Worker vzip.8 d17, d16 58*9880d681SAndroid Build Coastguard Worker vzip.16 d17, d16 59*9880d681SAndroid Build Coastguard Worker vzip.8 q9, q8 60*9880d681SAndroid Build Coastguard Worker vzip.16 q9, q8 61*9880d681SAndroid Build Coastguard Worker vzip.32 q9, q8 62*9880d681SAndroid Build Coastguard Worker vzip.32 d2, d3 63*9880d681SAndroid Build Coastguard Worker vuzp.32 d2, d3 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.8 d17, d16 @ encoding: [0x20,0x11,0xf2,0xf3] 66*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.16 d17, d16 @ encoding: [0x20,0x11,0xf6,0xf3] 67*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.8 q9, q8 @ encoding: [0x60,0x21,0xf2,0xf3] 68*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.16 q9, q8 @ encoding: [0x60,0x21,0xf6,0xf3] 69*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.32 q9, q8 @ encoding: [0x60,0x21,0xfa,0xf3] 70*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.8 d17, d16 @ encoding: [0xa0,0x11,0xf2,0xf3] 71*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.16 d17, d16 @ encoding: [0xa0,0x11,0xf6,0xf3] 72*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.8 q9, q8 @ encoding: [0xe0,0x21,0xf2,0xf3] 73*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.16 q9, q8 @ encoding: [0xe0,0x21,0xf6,0xf3] 74*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.32 q9, q8 @ encoding: [0xe0,0x21,0xfa,0xf3] 75*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d2, d3 @ encoding: [0x83,0x20,0xba,0xf3] 76*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d2, d3 @ encoding: [0x83,0x20,0xba,0xf3] 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker@ VTRN alternate size suffices 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Worker vtrn.8 d3, d9 82*9880d681SAndroid Build Coastguard Worker vtrn.i8 d3, d9 83*9880d681SAndroid Build Coastguard Worker vtrn.u8 d3, d9 84*9880d681SAndroid Build Coastguard Worker vtrn.p8 d3, d9 85*9880d681SAndroid Build Coastguard Worker vtrn.16 d3, d9 86*9880d681SAndroid Build Coastguard Worker vtrn.i16 d3, d9 87*9880d681SAndroid Build Coastguard Worker vtrn.u16 d3, d9 88*9880d681SAndroid Build Coastguard Worker vtrn.p16 d3, d9 89*9880d681SAndroid Build Coastguard Worker vtrn.32 d3, d9 90*9880d681SAndroid Build Coastguard Worker vtrn.i32 d3, d9 91*9880d681SAndroid Build Coastguard Worker vtrn.u32 d3, d9 92*9880d681SAndroid Build Coastguard Worker vtrn.f32 d3, d9 93*9880d681SAndroid Build Coastguard Worker vtrn.f d3, d9 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker vtrn.8 q14, q6 96*9880d681SAndroid Build Coastguard Worker vtrn.i8 q14, q6 97*9880d681SAndroid Build Coastguard Worker vtrn.u8 q14, q6 98*9880d681SAndroid Build Coastguard Worker vtrn.p8 q14, q6 99*9880d681SAndroid Build Coastguard Worker vtrn.16 q14, q6 100*9880d681SAndroid Build Coastguard Worker vtrn.i16 q14, q6 101*9880d681SAndroid Build Coastguard Worker vtrn.u16 q14, q6 102*9880d681SAndroid Build Coastguard Worker vtrn.p16 q14, q6 103*9880d681SAndroid Build Coastguard Worker vtrn.32 q14, q6 104*9880d681SAndroid Build Coastguard Worker vtrn.i32 q14, q6 105*9880d681SAndroid Build Coastguard Worker vtrn.u32 q14, q6 106*9880d681SAndroid Build Coastguard Worker vtrn.f32 q14, q6 107*9880d681SAndroid Build Coastguard Worker vtrn.f q14, q6 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 110*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 111*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 112*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 113*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 114*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 115*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 116*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 117*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 118*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 119*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 120*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 121*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 124*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 125*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 126*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 127*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 128*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 129*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 130*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 131*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 132*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 133*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 134*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 135*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 136*9880d681SAndroid Build Coastguard Worker 137