1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker.code 16 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u8 d16, d17, d16 @ encoding: [0x40,0xff,0xa1,0x04] 6*9880d681SAndroid Build Coastguard Worker vshl.u8 d16, d17, d16 7*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u16 d16, d17, d16 @ encoding: [0x50,0xff,0xa1,0x04] 8*9880d681SAndroid Build Coastguard Worker vshl.u16 d16, d17, d16 9*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u32 d16, d17, d16 @ encoding: [0x60,0xff,0xa1,0x04] 10*9880d681SAndroid Build Coastguard Worker vshl.u32 d16, d17, d16 11*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u64 d16, d17, d16 @ encoding: [0x70,0xff,0xa1,0x04] 12*9880d681SAndroid Build Coastguard Worker vshl.u64 d16, d17, d16 13*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i8 d16, d16, #7 @ encoding: [0xcf,0xef,0x30,0x05] 14*9880d681SAndroid Build Coastguard Worker vshl.i8 d16, d16, #7 15*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i16 d16, d16, #15 @ encoding: [0xdf,0xef,0x30,0x05] 16*9880d681SAndroid Build Coastguard Worker vshl.i16 d16, d16, #15 17*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i32 d16, d16, #31 @ encoding: [0xff,0xef,0x30,0x05] 18*9880d681SAndroid Build Coastguard Worker vshl.i32 d16, d16, #31 19*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i64 d16, d16, #63 @ encoding: [0xff,0xef,0xb0,0x05] 20*9880d681SAndroid Build Coastguard Worker vshl.i64 d16, d16, #63 21*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u8 q8, q9, q8 @ encoding: [0x40,0xff,0xe2,0x04] 22*9880d681SAndroid Build Coastguard Worker vshl.u8 q8, q9, q8 23*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u16 q8, q9, q8 @ encoding: [0x50,0xff,0xe2,0x04] 24*9880d681SAndroid Build Coastguard Worker vshl.u16 q8, q9, q8 25*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u32 q8, q9, q8 @ encoding: [0x60,0xff,0xe2,0x04] 26*9880d681SAndroid Build Coastguard Worker vshl.u32 q8, q9, q8 27*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.u64 q8, q9, q8 @ encoding: [0x70,0xff,0xe2,0x04] 28*9880d681SAndroid Build Coastguard Worker vshl.u64 q8, q9, q8 29*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i8 q8, q8, #7 @ encoding: [0xcf,0xef,0x70,0x05] 30*9880d681SAndroid Build Coastguard Worker vshl.i8 q8, q8, #7 31*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i16 q8, q8, #15 @ encoding: [0xdf,0xef,0x70,0x05] 32*9880d681SAndroid Build Coastguard Worker vshl.i16 q8, q8, #15 33*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i32 q8, q8, #31 @ encoding: [0xff,0xef,0x70,0x05] 34*9880d681SAndroid Build Coastguard Worker vshl.i32 q8, q8, #31 35*9880d681SAndroid Build Coastguard Worker@ CHECK: vshl.i64 q8, q8, #63 @ encoding: [0xff,0xef,0xf0,0x05] 36*9880d681SAndroid Build Coastguard Worker vshl.i64 q8, q8, #63 37*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u8 d16, d16, #8 @ encoding: [0xc8,0xff,0x30,0x00] 38*9880d681SAndroid Build Coastguard Worker vshr.u8 d16, d16, #8 39*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u16 d16, d16, #16 @ encoding: [0xd0,0xff,0x30,0x00] 40*9880d681SAndroid Build Coastguard Worker vshr.u16 d16, d16, #16 41*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u32 d16, d16, #32 @ encoding: [0xe0,0xff,0x30,0x00] 42*9880d681SAndroid Build Coastguard Worker vshr.u32 d16, d16, #32 43*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u64 d16, d16, #64 @ encoding: [0xc0,0xff,0xb0,0x00] 44*9880d681SAndroid Build Coastguard Worker vshr.u64 d16, d16, #64 45*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u8 q8, q8, #8 @ encoding: [0xc8,0xff,0x70,0x00] 46*9880d681SAndroid Build Coastguard Worker vshr.u8 q8, q8, #8 47*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u16 q8, q8, #16 @ encoding: [0xd0,0xff,0x70,0x00] 48*9880d681SAndroid Build Coastguard Worker vshr.u16 q8, q8, #16 49*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u32 q8, q8, #32 @ encoding: [0xe0,0xff,0x70,0x00] 50*9880d681SAndroid Build Coastguard Worker vshr.u32 q8, q8, #32 51*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.u64 q8, q8, #64 @ encoding: [0xc0,0xff,0xf0,0x00] 52*9880d681SAndroid Build Coastguard Worker vshr.u64 q8, q8, #64 53*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s8 d16, d16, #8 @ encoding: [0xc8,0xef,0x30,0x00] 54*9880d681SAndroid Build Coastguard Worker vshr.s8 d16, d16, #8 55*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s16 d16, d16, #16 @ encoding: [0xd0,0xef,0x30,0x00] 56*9880d681SAndroid Build Coastguard Worker vshr.s16 d16, d16, #16 57*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s32 d16, d16, #32 @ encoding: [0xe0,0xef,0x30,0x00] 58*9880d681SAndroid Build Coastguard Worker vshr.s32 d16, d16, #32 59*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s64 d16, d16, #64 @ encoding: [0xc0,0xef,0xb0,0x00] 60*9880d681SAndroid Build Coastguard Worker vshr.s64 d16, d16, #64 61*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s8 q8, q8, #8 @ encoding: [0xc8,0xef,0x70,0x00] 62*9880d681SAndroid Build Coastguard Worker vshr.s8 q8, q8, #8 63*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s16 q8, q8, #16 @ encoding: [0xd0,0xef,0x70,0x00] 64*9880d681SAndroid Build Coastguard Worker vshr.s16 q8, q8, #16 65*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s32 q8, q8, #32 @ encoding: [0xe0,0xef,0x70,0x00] 66*9880d681SAndroid Build Coastguard Worker vshr.s32 q8, q8, #32 67*9880d681SAndroid Build Coastguard Worker@ CHECK: vshr.s64 q8, q8, #64 @ encoding: [0xc0,0xef,0xf0,0x00] 68*9880d681SAndroid Build Coastguard Worker vshr.s64 q8, q8, #64 69*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0xcf,0xef,0x30,0x0a] 70*9880d681SAndroid Build Coastguard Worker vshll.s8 q8, d16, #7 71*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0xdf,0xef,0x30,0x0a] 72*9880d681SAndroid Build Coastguard Worker vshll.s16 q8, d16, #15 73*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0xff,0xef,0x30,0x0a] 74*9880d681SAndroid Build Coastguard Worker vshll.s32 q8, d16, #31 75*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0xcf,0xff,0x30,0x0a] 76*9880d681SAndroid Build Coastguard Worker vshll.u8 q8, d16, #7 77*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0xdf,0xff,0x30,0x0a] 78*9880d681SAndroid Build Coastguard Worker vshll.u16 q8, d16, #15 79*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0xff,0xff,0x30,0x0a] 80*9880d681SAndroid Build Coastguard Worker vshll.u32 q8, d16, #31 81*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0xf2,0xff,0x20,0x03] 82*9880d681SAndroid Build Coastguard Worker vshll.i8 q8, d16, #8 83*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0xf6,0xff,0x20,0x03] 84*9880d681SAndroid Build Coastguard Worker vshll.i16 q8, d16, #16 85*9880d681SAndroid Build Coastguard Worker@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0xfa,0xff,0x20,0x03] 86*9880d681SAndroid Build Coastguard Worker vshll.i32 q8, d16, #32 87*9880d681SAndroid Build Coastguard Worker@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0xc8,0xef,0x30,0x08] 88*9880d681SAndroid Build Coastguard Worker vshrn.i16 d16, q8, #8 89*9880d681SAndroid Build Coastguard Worker@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0xd0,0xef,0x30,0x08] 90*9880d681SAndroid Build Coastguard Worker vshrn.i32 d16, q8, #16 91*9880d681SAndroid Build Coastguard Worker@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0xe0,0xef,0x30,0x08] 92*9880d681SAndroid Build Coastguard Worker vshrn.i64 d16, q8, #32 93*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0x40,0xef,0xa1,0x05] 94*9880d681SAndroid Build Coastguard Worker vrshl.s8 d16, d17, d16 95*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0x50,0xef,0xa1,0x05] 96*9880d681SAndroid Build Coastguard Worker vrshl.s16 d16, d17, d16 97*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0x60,0xef,0xa1,0x05] 98*9880d681SAndroid Build Coastguard Worker vrshl.s32 d16, d17, d16 99*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0x70,0xef,0xa1,0x05] 100*9880d681SAndroid Build Coastguard Worker vrshl.s64 d16, d17, d16 101*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0x40,0xff,0xa1,0x05] 102*9880d681SAndroid Build Coastguard Worker vrshl.u8 d16, d17, d16 103*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0x50,0xff,0xa1,0x05] 104*9880d681SAndroid Build Coastguard Worker vrshl.u16 d16, d17, d16 105*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0x60,0xff,0xa1,0x05] 106*9880d681SAndroid Build Coastguard Worker vrshl.u32 d16, d17, d16 107*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0x70,0xff,0xa1,0x05] 108*9880d681SAndroid Build Coastguard Worker vrshl.u64 d16, d17, d16 109*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0x40,0xef,0xe2,0x05] 110*9880d681SAndroid Build Coastguard Worker vrshl.s8 q8, q9, q8 111*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0x50,0xef,0xe2,0x05] 112*9880d681SAndroid Build Coastguard Worker vrshl.s16 q8, q9, q8 113*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0x60,0xef,0xe2,0x05] 114*9880d681SAndroid Build Coastguard Worker vrshl.s32 q8, q9, q8 115*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0x70,0xef,0xe2,0x05] 116*9880d681SAndroid Build Coastguard Worker vrshl.s64 q8, q9, q8 117*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0x40,0xff,0xe2,0x05] 118*9880d681SAndroid Build Coastguard Worker vrshl.u8 q8, q9, q8 119*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0x50,0xff,0xe2,0x05] 120*9880d681SAndroid Build Coastguard Worker vrshl.u16 q8, q9, q8 121*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0x60,0xff,0xe2,0x05] 122*9880d681SAndroid Build Coastguard Worker vrshl.u32 q8, q9, q8 123*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0x70,0xff,0xe2,0x05] 124*9880d681SAndroid Build Coastguard Worker vrshl.u64 q8, q9, q8 125*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0xc8,0xef,0x30,0x02] 126*9880d681SAndroid Build Coastguard Worker vrshr.s8 d16, d16, #8 127*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0xd0,0xef,0x30,0x02] 128*9880d681SAndroid Build Coastguard Worker vrshr.s16 d16, d16, #16 129*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0xe0,0xef,0x30,0x02] 130*9880d681SAndroid Build Coastguard Worker vrshr.s32 d16, d16, #32 131*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xc0,0xef,0xb0,0x02] 132*9880d681SAndroid Build Coastguard Worker vrshr.s64 d16, d16, #64 133*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0xc8,0xff,0x30,0x02] 134*9880d681SAndroid Build Coastguard Worker vrshr.u8 d16, d16, #8 135*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0xd0,0xff,0x30,0x02] 136*9880d681SAndroid Build Coastguard Worker vrshr.u16 d16, d16, #16 137*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0xe0,0xff,0x30,0x02] 138*9880d681SAndroid Build Coastguard Worker vrshr.u32 d16, d16, #32 139*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xc0,0xff,0xb0,0x02] 140*9880d681SAndroid Build Coastguard Worker vrshr.u64 d16, d16, #64 141*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0xc8,0xef,0x70,0x02] 142*9880d681SAndroid Build Coastguard Worker vrshr.s8 q8, q8, #8 143*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0xd0,0xef,0x70,0x02] 144*9880d681SAndroid Build Coastguard Worker vrshr.s16 q8, q8, #16 145*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0xe0,0xef,0x70,0x02] 146*9880d681SAndroid Build Coastguard Worker vrshr.s32 q8, q8, #32 147*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xc0,0xef,0xf0,0x02] 148*9880d681SAndroid Build Coastguard Worker vrshr.s64 q8, q8, #64 149*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0xc8,0xff,0x70,0x02] 150*9880d681SAndroid Build Coastguard Worker vrshr.u8 q8, q8, #8 151*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0xd0,0xff,0x70,0x02] 152*9880d681SAndroid Build Coastguard Worker vrshr.u16 q8, q8, #16 153*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0xe0,0xff,0x70,0x02] 154*9880d681SAndroid Build Coastguard Worker vrshr.u32 q8, q8, #32 155*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xc0,0xff,0xf0,0x02] 156*9880d681SAndroid Build Coastguard Worker vrshr.u64 q8, q8, #64 157*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0xc8,0xef,0x70,0x08] 158*9880d681SAndroid Build Coastguard Worker vrshrn.i16 d16, q8, #8 159*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0xd0,0xef,0x70,0x08] 160*9880d681SAndroid Build Coastguard Worker vrshrn.i32 d16, q8, #16 161*9880d681SAndroid Build Coastguard Worker@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0xe0,0xef,0x70,0x08] 162*9880d681SAndroid Build Coastguard Worker vrshrn.i64 d16, q8, #32 163