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 vsub.i8 d16, d17, d16 4*9880d681SAndroid Build Coastguard Worker vsub.i16 d16, d17, d16 5*9880d681SAndroid Build Coastguard Worker vsub.i32 d16, d17, d16 6*9880d681SAndroid Build Coastguard Worker vsub.i64 d16, d17, d16 7*9880d681SAndroid Build Coastguard Worker vsub.f32 d16, d16, d17 8*9880d681SAndroid Build Coastguard Worker vsub.i8 q8, q8, q9 9*9880d681SAndroid Build Coastguard Worker vsub.i16 q8, q8, q9 10*9880d681SAndroid Build Coastguard Worker vsub.i32 q8, q8, q9 11*9880d681SAndroid Build Coastguard Worker vsub.i64 q8, q8, q9 12*9880d681SAndroid Build Coastguard Worker vsub.f32 q8, q8, q9 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker vsub.i8 d13, d21 15*9880d681SAndroid Build Coastguard Worker vsub.i16 d14, d22 16*9880d681SAndroid Build Coastguard Worker vsub.i32 d15, d23 17*9880d681SAndroid Build Coastguard Worker vsub.i64 d16, d24 18*9880d681SAndroid Build Coastguard Worker vsub.f32 d17, d25 19*9880d681SAndroid Build Coastguard Worker vsub.i8 q1, q10 20*9880d681SAndroid Build Coastguard Worker vsub.i16 q2, q9 21*9880d681SAndroid Build Coastguard Worker vsub.i32 q3, q8 22*9880d681SAndroid Build Coastguard Worker vsub.i64 q4, q7 23*9880d681SAndroid Build Coastguard Worker vsub.f32 q5, q6 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8 d16, d17, d16 @ encoding: [0xa0,0x08,0x41,0xf3] 26*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16 d16, d17, d16 @ encoding: [0xa0,0x08,0x51,0xf3] 27*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32 d16, d17, d16 @ encoding: [0xa0,0x08,0x61,0xf3] 28*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64 d16, d17, d16 @ encoding: [0xa0,0x08,0x71,0xf3] 29*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32 d16, d16, d17 @ encoding: [0xa1,0x0d,0x60,0xf2] 30*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8 q8, q8, q9 @ encoding: [0xe2,0x08,0x40,0xf3] 31*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16 q8, q8, q9 @ encoding: [0xe2,0x08,0x50,0xf3] 32*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32 q8, q8, q9 @ encoding: [0xe2,0x08,0x60,0xf3] 33*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64 q8, q8, q9 @ encoding: [0xe2,0x08,0x70,0xf3] 34*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32 q8, q8, q9 @ encoding: [0xe2,0x0d,0x60,0xf2] 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8 d13, d13, d21 @ encoding: [0x25,0xd8,0x0d,0xf3] 37*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16 d14, d14, d22 @ encoding: [0x26,0xe8,0x1e,0xf3] 38*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32 d15, d15, d23 @ encoding: [0x27,0xf8,0x2f,0xf3] 39*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64 d16, d16, d24 @ encoding: [0xa8,0x08,0x70,0xf3] 40*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32 d17, d17, d25 @ encoding: [0xa9,0x1d,0x61,0xf2] 41*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8 q1, q1, q10 @ encoding: [0x64,0x28,0x02,0xf3] 42*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16 q2, q2, q9 @ encoding: [0x62,0x48,0x14,0xf3] 43*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32 q3, q3, q8 @ encoding: [0x60,0x68,0x26,0xf3] 44*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64 q4, q4, q7 @ encoding: [0x4e,0x88,0x38,0xf3] 45*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32 q5, q5, q6 @ encoding: [0x4c,0xad,0x2a,0xf2] 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s8 q8, d17, d16 @ encoding: [0xa0,0x02,0xc1,0xf2] 50*9880d681SAndroid Build Coastguard Worker vsubl.s8 q8, d17, d16 51*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s16 q8, d17, d16 @ encoding: [0xa0,0x02,0xd1,0xf2] 52*9880d681SAndroid Build Coastguard Worker vsubl.s16 q8, d17, d16 53*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s32 q8, d17, d16 @ encoding: [0xa0,0x02,0xe1,0xf2] 54*9880d681SAndroid Build Coastguard Worker vsubl.s32 q8, d17, d16 55*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u8 q8, d17, d16 @ encoding: [0xa0,0x02,0xc1,0xf3] 56*9880d681SAndroid Build Coastguard Worker vsubl.u8 q8, d17, d16 57*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u16 q8, d17, d16 @ encoding: [0xa0,0x02,0xd1,0xf3] 58*9880d681SAndroid Build Coastguard Worker vsubl.u16 q8, d17, d16 59*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u32 q8, d17, d16 @ encoding: [0xa0,0x02,0xe1,0xf3] 60*9880d681SAndroid Build Coastguard Worker vsubl.u32 q8, d17, d16 61*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s8 q8, q8, d18 @ encoding: [0xa2,0x03,0xc0,0xf2] 62*9880d681SAndroid Build Coastguard Worker vsubw.s8 q8, q8, d18 63*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s16 q8, q8, d18 @ encoding: [0xa2,0x03,0xd0,0xf2] 64*9880d681SAndroid Build Coastguard Worker vsubw.s16 q8, q8, d18 65*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s32 q8, q8, d18 @ encoding: [0xa2,0x03,0xe0,0xf2] 66*9880d681SAndroid Build Coastguard Worker vsubw.s32 q8, q8, d18 67*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u8 q8, q8, d18 @ encoding: [0xa2,0x03,0xc0,0xf3] 68*9880d681SAndroid Build Coastguard Worker vsubw.u8 q8, q8, d18 69*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u16 q8, q8, d18 @ encoding: [0xa2,0x03,0xd0,0xf3] 70*9880d681SAndroid Build Coastguard Worker vsubw.u16 q8, q8, d18 71*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u32 q8, q8, d18 @ encoding: [0xa2,0x03,0xe0,0xf3] 72*9880d681SAndroid Build Coastguard Worker vsubw.u32 q8, q8, d18 73*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8 d16, d16, d17 @ encoding: [0xa1,0x02,0x40,0xf2] 74*9880d681SAndroid Build Coastguard Worker vhsub.s8 d16, d16, d17 75*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16 d16, d16, d17 @ encoding: [0xa1,0x02,0x50,0xf2] 76*9880d681SAndroid Build Coastguard Worker vhsub.s16 d16, d16, d17 77*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32 d16, d16, d17 @ encoding: [0xa1,0x02,0x60,0xf2] 78*9880d681SAndroid Build Coastguard Worker vhsub.s32 d16, d16, d17 79*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8 d16, d16, d17 @ encoding: [0xa1,0x02,0x40,0xf3] 80*9880d681SAndroid Build Coastguard Worker vhsub.u8 d16, d16, d17 81*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16 d16, d16, d17 @ encoding: [0xa1,0x02,0x50,0xf3] 82*9880d681SAndroid Build Coastguard Worker vhsub.u16 d16, d16, d17 83*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32 d16, d16, d17 @ encoding: [0xa1,0x02,0x60,0xf3] 84*9880d681SAndroid Build Coastguard Worker vhsub.u32 d16, d16, d17 85*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8 q8, q8, q9 @ encoding: [0xe2,0x02,0x40,0xf2] 86*9880d681SAndroid Build Coastguard Worker vhsub.s8 q8, q8, q9 87*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16 q8, q8, q9 @ encoding: [0xe2,0x02,0x50,0xf2] 88*9880d681SAndroid Build Coastguard Worker vhsub.s16 q8, q8, q9 89*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32 q8, q8, q9 @ encoding: [0xe2,0x02,0x60,0xf2] 90*9880d681SAndroid Build Coastguard Worker vhsub.s32 q8, q8, q9 91*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s8 d16, d16, d17 @ encoding: [0xb1,0x02,0x40,0xf2] 92*9880d681SAndroid Build Coastguard Worker vqsub.s8 d16, d16, d17 93*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s16 d16, d16, d17 @ encoding: [0xb1,0x02,0x50,0xf2] 94*9880d681SAndroid Build Coastguard Worker vqsub.s16 d16, d16, d17 95*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s32 d16, d16, d17 @ encoding: [0xb1,0x02,0x60,0xf2] 96*9880d681SAndroid Build Coastguard Worker vqsub.s32 d16, d16, d17 97*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s64 d16, d16, d17 @ encoding: [0xb1,0x02,0x70,0xf2] 98*9880d681SAndroid Build Coastguard Worker vqsub.s64 d16, d16, d17 99*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u8 d16, d16, d17 @ encoding: [0xb1,0x02,0x40,0xf3] 100*9880d681SAndroid Build Coastguard Worker vqsub.u8 d16, d16, d17 101*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u16 d16, d16, d17 @ encoding: [0xb1,0x02,0x50,0xf3] 102*9880d681SAndroid Build Coastguard Worker vqsub.u16 d16, d16, d17 103*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u32 d16, d16, d17 @ encoding: [0xb1,0x02,0x60,0xf3] 104*9880d681SAndroid Build Coastguard Worker vqsub.u32 d16, d16, d17 105*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u64 d16, d16, d17 @ encoding: [0xb1,0x02,0x70,0xf3] 106*9880d681SAndroid Build Coastguard Worker vqsub.u64 d16, d16, d17 107*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s8 q8, q8, q9 @ encoding: [0xf2,0x02,0x40,0xf2] 108*9880d681SAndroid Build Coastguard Worker vqsub.s8 q8, q8, q9 109*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s16 q8, q8, q9 @ encoding: [0xf2,0x02,0x50,0xf2] 110*9880d681SAndroid Build Coastguard Worker vqsub.s16 q8, q8, q9 111*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s32 q8, q8, q9 @ encoding: [0xf2,0x02,0x60,0xf2] 112*9880d681SAndroid Build Coastguard Worker vqsub.s32 q8, q8, q9 113*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s64 q8, q8, q9 @ encoding: [0xf2,0x02,0x70,0xf2] 114*9880d681SAndroid Build Coastguard Worker vqsub.s64 q8, q8, q9 115*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u8 q8, q8, q9 @ encoding: [0xf2,0x02,0x40,0xf3] 116*9880d681SAndroid Build Coastguard Worker vqsub.u8 q8, q8, q9 117*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u16 q8, q8, q9 @ encoding: [0xf2,0x02,0x50,0xf3] 118*9880d681SAndroid Build Coastguard Worker vqsub.u16 q8, q8, q9 119*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u32 q8, q8, q9 @ encoding: [0xf2,0x02,0x60,0xf3] 120*9880d681SAndroid Build Coastguard Worker vqsub.u32 q8, q8, q9 121*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u64 q8, q8, q9 @ encoding: [0xf2,0x02,0x70,0xf3] 122*9880d681SAndroid Build Coastguard Worker vqsub.u64 q8, q8, q9 123*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i16 d16, q8, q9 @ encoding: [0xa2,0x06,0xc0,0xf2] 124*9880d681SAndroid Build Coastguard Worker vsubhn.i16 d16, q8, q9 125*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i32 d16, q8, q9 @ encoding: [0xa2,0x06,0xd0,0xf2] 126*9880d681SAndroid Build Coastguard Worker vsubhn.i32 d16, q8, q9 127*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i64 d16, q8, q9 @ encoding: [0xa2,0x06,0xe0,0xf2] 128*9880d681SAndroid Build Coastguard Worker vsubhn.i64 d16, q8, q9 129*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i16 d16, q8, q9 @ encoding: [0xa2,0x06,0xc0,0xf3] 130*9880d681SAndroid Build Coastguard Worker vrsubhn.i16 d16, q8, q9 131*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i32 d16, q8, q9 @ encoding: [0xa2,0x06,0xd0,0xf3] 132*9880d681SAndroid Build Coastguard Worker vrsubhn.i32 d16, q8, q9 133*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i64 d16, q8, q9 @ encoding: [0xa2,0x06,0xe0,0xf3] 134*9880d681SAndroid Build Coastguard Worker vrsubhn.i64 d16, q8, q9 135*9880d681SAndroid Build Coastguard Worker 136*9880d681SAndroid Build Coastguard Worker vhsub.s8 d11, d24 137*9880d681SAndroid Build Coastguard Worker vhsub.s16 d12, d23 138*9880d681SAndroid Build Coastguard Worker vhsub.s32 d13, d22 139*9880d681SAndroid Build Coastguard Worker vhsub.u8 d14, d21 140*9880d681SAndroid Build Coastguard Worker vhsub.u16 d15, d20 141*9880d681SAndroid Build Coastguard Worker vhsub.u32 d16, d19 142*9880d681SAndroid Build Coastguard Worker vhsub.s8 q1, q12 143*9880d681SAndroid Build Coastguard Worker vhsub.s16 q2, q11 144*9880d681SAndroid Build Coastguard Worker vhsub.s32 q3, q10 145*9880d681SAndroid Build Coastguard Worker vhsub.u8 q4, q9 146*9880d681SAndroid Build Coastguard Worker vhsub.u16 q5, q8 147*9880d681SAndroid Build Coastguard Worker vhsub.u32 q6, q7 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8 d11, d11, d24 @ encoding: [0x28,0xb2,0x0b,0xf2] 150*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16 d12, d12, d23 @ encoding: [0x27,0xc2,0x1c,0xf2] 151*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32 d13, d13, d22 @ encoding: [0x26,0xd2,0x2d,0xf2] 152*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8 d14, d14, d21 @ encoding: [0x25,0xe2,0x0e,0xf3] 153*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16 d15, d15, d20 @ encoding: [0x24,0xf2,0x1f,0xf3] 154*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32 d16, d16, d19 @ encoding: [0xa3,0x02,0x60,0xf3] 155*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8 q1, q1, q12 @ encoding: [0x68,0x22,0x02,0xf2] 156*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16 q2, q2, q11 @ encoding: [0x66,0x42,0x14,0xf2] 157*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32 q3, q3, q10 @ encoding: [0x64,0x62,0x26,0xf2] 158*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8 q4, q4, q9 @ encoding: [0x62,0x82,0x08,0xf3] 159*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16 q5, q5, q8 @ encoding: [0x60,0xa2,0x1a,0xf3] 160*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32 q6, q6, q7 @ encoding: [0x4e,0xc2,0x2c,0xf3] 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker vsubw.s8 q6, d5 164*9880d681SAndroid Build Coastguard Worker vsubw.s16 q7, d1 165*9880d681SAndroid Build Coastguard Worker vsubw.s32 q8, d2 166*9880d681SAndroid Build Coastguard Worker vsubw.u8 q6, d5 167*9880d681SAndroid Build Coastguard Worker vsubw.u16 q7, d1 168*9880d681SAndroid Build Coastguard Worker vsubw.u32 q8, d2 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s8 q6, q6, d5 @ encoding: [0x05,0xc3,0x8c,0xf2] 171*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s16 q7, q7, d1 @ encoding: [0x01,0xe3,0x9e,0xf2] 172*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s32 q8, q8, d2 @ encoding: [0x82,0x03,0xe0,0xf2] 173*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u8 q6, q6, d5 @ encoding: [0x05,0xc3,0x8c,0xf3] 174*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u16 q7, q7, d1 @ encoding: [0x01,0xe3,0x9e,0xf3] 175*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u32 q8, q8, d2 @ encoding: [0x82,0x03,0xe0,0xf3] 176