1c3ff538dSBob Wilson@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2a7d98573SOwen Anderson 3a7d98573SOwen Anderson vsub.i8 d16, d17, d16 4a7d98573SOwen Anderson vsub.i16 d16, d17, d16 5a7d98573SOwen Anderson vsub.i32 d16, d17, d16 6a7d98573SOwen Anderson vsub.i64 d16, d17, d16 7a7d98573SOwen Anderson vsub.f32 d16, d16, d17 8a7d98573SOwen Anderson vsub.i8 q8, q8, q9 9a7d98573SOwen Anderson vsub.i16 q8, q8, q9 10a7d98573SOwen Anderson vsub.i32 q8, q8, q9 11a7d98573SOwen Anderson vsub.i64 q8, q8, q9 12a7d98573SOwen Anderson vsub.f32 q8, q8, q9 1327a33edfSJim Grosbach 14ab9c8bb4SJim Grosbach vsub.i8 d13, d21 15ab9c8bb4SJim Grosbach vsub.i16 d14, d22 16ab9c8bb4SJim Grosbach vsub.i32 d15, d23 17ab9c8bb4SJim Grosbach vsub.i64 d16, d24 18ab9c8bb4SJim Grosbach vsub.f32 d17, d25 19ab9c8bb4SJim Grosbach vsub.i8 q1, q10 20ab9c8bb4SJim Grosbach vsub.i16 q2, q9 21ab9c8bb4SJim Grosbach vsub.i32 q3, q8 22ab9c8bb4SJim Grosbach vsub.i64 q4, q7 23ab9c8bb4SJim Grosbach vsub.f32 q5, q6 24ab9c8bb4SJim Grosbach 2527a33edfSJim Grosbach@ CHECK: vsub.i8 d16, d17, d16 @ encoding: [0xa0,0x08,0x41,0xf3] 2627a33edfSJim Grosbach@ CHECK: vsub.i16 d16, d17, d16 @ encoding: [0xa0,0x08,0x51,0xf3] 2727a33edfSJim Grosbach@ CHECK: vsub.i32 d16, d17, d16 @ encoding: [0xa0,0x08,0x61,0xf3] 2827a33edfSJim Grosbach@ CHECK: vsub.i64 d16, d17, d16 @ encoding: [0xa0,0x08,0x71,0xf3] 2927a33edfSJim Grosbach@ CHECK: vsub.f32 d16, d16, d17 @ encoding: [0xa1,0x0d,0x60,0xf2] 3027a33edfSJim Grosbach@ CHECK: vsub.i8 q8, q8, q9 @ encoding: [0xe2,0x08,0x40,0xf3] 3127a33edfSJim Grosbach@ CHECK: vsub.i16 q8, q8, q9 @ encoding: [0xe2,0x08,0x50,0xf3] 3227a33edfSJim Grosbach@ CHECK: vsub.i32 q8, q8, q9 @ encoding: [0xe2,0x08,0x60,0xf3] 3327a33edfSJim Grosbach@ CHECK: vsub.i64 q8, q8, q9 @ encoding: [0xe2,0x08,0x70,0xf3] 3427a33edfSJim Grosbach@ CHECK: vsub.f32 q8, q8, q9 @ encoding: [0xe2,0x0d,0x60,0xf2] 35ab9c8bb4SJim Grosbach 36ab9c8bb4SJim Grosbach@ CHECK: vsub.i8 d13, d13, d21 @ encoding: [0x25,0xd8,0x0d,0xf3] 37ab9c8bb4SJim Grosbach@ CHECK: vsub.i16 d14, d14, d22 @ encoding: [0x26,0xe8,0x1e,0xf3] 38ab9c8bb4SJim Grosbach@ CHECK: vsub.i32 d15, d15, d23 @ encoding: [0x27,0xf8,0x2f,0xf3] 39ab9c8bb4SJim Grosbach@ CHECK: vsub.i64 d16, d16, d24 @ encoding: [0xa8,0x08,0x70,0xf3] 40ab9c8bb4SJim Grosbach@ CHECK: vsub.f32 d17, d17, d25 @ encoding: [0xa9,0x1d,0x61,0xf2] 41ab9c8bb4SJim Grosbach@ CHECK: vsub.i8 q1, q1, q10 @ encoding: [0x64,0x28,0x02,0xf3] 42ab9c8bb4SJim Grosbach@ CHECK: vsub.i16 q2, q2, q9 @ encoding: [0x62,0x48,0x14,0xf3] 43ab9c8bb4SJim Grosbach@ CHECK: vsub.i32 q3, q3, q8 @ encoding: [0x60,0x68,0x26,0xf3] 44ab9c8bb4SJim Grosbach@ CHECK: vsub.i64 q4, q4, q7 @ encoding: [0x4e,0x88,0x38,0xf3] 45ab9c8bb4SJim Grosbach@ CHECK: vsub.f32 q5, q5, q6 @ encoding: [0x4c,0xad,0x2a,0xf2] 46ab9c8bb4SJim Grosbach 47ab9c8bb4SJim Grosbach 48ab9c8bb4SJim Grosbach 49a7d98573SOwen Anderson@ CHECK: vsubl.s8 q8, d17, d16 @ encoding: [0xa0,0x02,0xc1,0xf2] 50a7d98573SOwen Anderson vsubl.s8 q8, d17, d16 51a7d98573SOwen Anderson@ CHECK: vsubl.s16 q8, d17, d16 @ encoding: [0xa0,0x02,0xd1,0xf2] 52a7d98573SOwen Anderson vsubl.s16 q8, d17, d16 53a7d98573SOwen Anderson@ CHECK: vsubl.s32 q8, d17, d16 @ encoding: [0xa0,0x02,0xe1,0xf2] 54a7d98573SOwen Anderson vsubl.s32 q8, d17, d16 55a7d98573SOwen Anderson@ CHECK: vsubl.u8 q8, d17, d16 @ encoding: [0xa0,0x02,0xc1,0xf3] 56a7d98573SOwen Anderson vsubl.u8 q8, d17, d16 57a7d98573SOwen Anderson@ CHECK: vsubl.u16 q8, d17, d16 @ encoding: [0xa0,0x02,0xd1,0xf3] 58a7d98573SOwen Anderson vsubl.u16 q8, d17, d16 59a7d98573SOwen Anderson@ CHECK: vsubl.u32 q8, d17, d16 @ encoding: [0xa0,0x02,0xe1,0xf3] 60a7d98573SOwen Anderson vsubl.u32 q8, d17, d16 61a7d98573SOwen Anderson@ CHECK: vsubw.s8 q8, q8, d18 @ encoding: [0xa2,0x03,0xc0,0xf2] 62a7d98573SOwen Anderson vsubw.s8 q8, q8, d18 63a7d98573SOwen Anderson@ CHECK: vsubw.s16 q8, q8, d18 @ encoding: [0xa2,0x03,0xd0,0xf2] 64a7d98573SOwen Anderson vsubw.s16 q8, q8, d18 65a7d98573SOwen Anderson@ CHECK: vsubw.s32 q8, q8, d18 @ encoding: [0xa2,0x03,0xe0,0xf2] 66a7d98573SOwen Anderson vsubw.s32 q8, q8, d18 67a7d98573SOwen Anderson@ CHECK: vsubw.u8 q8, q8, d18 @ encoding: [0xa2,0x03,0xc0,0xf3] 68a7d98573SOwen Anderson vsubw.u8 q8, q8, d18 69a7d98573SOwen Anderson@ CHECK: vsubw.u16 q8, q8, d18 @ encoding: [0xa2,0x03,0xd0,0xf3] 70a7d98573SOwen Anderson vsubw.u16 q8, q8, d18 71a7d98573SOwen Anderson@ CHECK: vsubw.u32 q8, q8, d18 @ encoding: [0xa2,0x03,0xe0,0xf3] 72a7d98573SOwen Anderson vsubw.u32 q8, q8, d18 73a7d98573SOwen Anderson@ CHECK: vhsub.s8 d16, d16, d17 @ encoding: [0xa1,0x02,0x40,0xf2] 74a7d98573SOwen Anderson vhsub.s8 d16, d16, d17 75a7d98573SOwen Anderson@ CHECK: vhsub.s16 d16, d16, d17 @ encoding: [0xa1,0x02,0x50,0xf2] 76a7d98573SOwen Anderson vhsub.s16 d16, d16, d17 77a7d98573SOwen Anderson@ CHECK: vhsub.s32 d16, d16, d17 @ encoding: [0xa1,0x02,0x60,0xf2] 78a7d98573SOwen Anderson vhsub.s32 d16, d16, d17 79a7d98573SOwen Anderson@ CHECK: vhsub.u8 d16, d16, d17 @ encoding: [0xa1,0x02,0x40,0xf3] 80a7d98573SOwen Anderson vhsub.u8 d16, d16, d17 81a7d98573SOwen Anderson@ CHECK: vhsub.u16 d16, d16, d17 @ encoding: [0xa1,0x02,0x50,0xf3] 82a7d98573SOwen Anderson vhsub.u16 d16, d16, d17 83a7d98573SOwen Anderson@ CHECK: vhsub.u32 d16, d16, d17 @ encoding: [0xa1,0x02,0x60,0xf3] 84a7d98573SOwen Anderson vhsub.u32 d16, d16, d17 85a7d98573SOwen Anderson@ CHECK: vhsub.s8 q8, q8, q9 @ encoding: [0xe2,0x02,0x40,0xf2] 86a7d98573SOwen Anderson vhsub.s8 q8, q8, q9 87a7d98573SOwen Anderson@ CHECK: vhsub.s16 q8, q8, q9 @ encoding: [0xe2,0x02,0x50,0xf2] 88a7d98573SOwen Anderson vhsub.s16 q8, q8, q9 89a7d98573SOwen Anderson@ CHECK: vhsub.s32 q8, q8, q9 @ encoding: [0xe2,0x02,0x60,0xf2] 90a7d98573SOwen Anderson vhsub.s32 q8, q8, q9 91a7d98573SOwen Anderson@ CHECK: vqsub.s8 d16, d16, d17 @ encoding: [0xb1,0x02,0x40,0xf2] 92a7d98573SOwen Anderson vqsub.s8 d16, d16, d17 93a7d98573SOwen Anderson@ CHECK: vqsub.s16 d16, d16, d17 @ encoding: [0xb1,0x02,0x50,0xf2] 94a7d98573SOwen Anderson vqsub.s16 d16, d16, d17 95a7d98573SOwen Anderson@ CHECK: vqsub.s32 d16, d16, d17 @ encoding: [0xb1,0x02,0x60,0xf2] 96a7d98573SOwen Anderson vqsub.s32 d16, d16, d17 97a7d98573SOwen Anderson@ CHECK: vqsub.s64 d16, d16, d17 @ encoding: [0xb1,0x02,0x70,0xf2] 98a7d98573SOwen Anderson vqsub.s64 d16, d16, d17 99a7d98573SOwen Anderson@ CHECK: vqsub.u8 d16, d16, d17 @ encoding: [0xb1,0x02,0x40,0xf3] 100a7d98573SOwen Anderson vqsub.u8 d16, d16, d17 101a7d98573SOwen Anderson@ CHECK: vqsub.u16 d16, d16, d17 @ encoding: [0xb1,0x02,0x50,0xf3] 102a7d98573SOwen Anderson vqsub.u16 d16, d16, d17 103a7d98573SOwen Anderson@ CHECK: vqsub.u32 d16, d16, d17 @ encoding: [0xb1,0x02,0x60,0xf3] 104a7d98573SOwen Anderson vqsub.u32 d16, d16, d17 105a7d98573SOwen Anderson@ CHECK: vqsub.u64 d16, d16, d17 @ encoding: [0xb1,0x02,0x70,0xf3] 106a7d98573SOwen Anderson vqsub.u64 d16, d16, d17 107a7d98573SOwen Anderson@ CHECK: vqsub.s8 q8, q8, q9 @ encoding: [0xf2,0x02,0x40,0xf2] 108a7d98573SOwen Anderson vqsub.s8 q8, q8, q9 109a7d98573SOwen Anderson@ CHECK: vqsub.s16 q8, q8, q9 @ encoding: [0xf2,0x02,0x50,0xf2] 110a7d98573SOwen Anderson vqsub.s16 q8, q8, q9 111a7d98573SOwen Anderson@ CHECK: vqsub.s32 q8, q8, q9 @ encoding: [0xf2,0x02,0x60,0xf2] 112a7d98573SOwen Anderson vqsub.s32 q8, q8, q9 113a7d98573SOwen Anderson@ CHECK: vqsub.s64 q8, q8, q9 @ encoding: [0xf2,0x02,0x70,0xf2] 114a7d98573SOwen Anderson vqsub.s64 q8, q8, q9 115a7d98573SOwen Anderson@ CHECK: vqsub.u8 q8, q8, q9 @ encoding: [0xf2,0x02,0x40,0xf3] 116a7d98573SOwen Anderson vqsub.u8 q8, q8, q9 117a7d98573SOwen Anderson@ CHECK: vqsub.u16 q8, q8, q9 @ encoding: [0xf2,0x02,0x50,0xf3] 118a7d98573SOwen Anderson vqsub.u16 q8, q8, q9 119a7d98573SOwen Anderson@ CHECK: vqsub.u32 q8, q8, q9 @ encoding: [0xf2,0x02,0x60,0xf3] 120a7d98573SOwen Anderson vqsub.u32 q8, q8, q9 121a7d98573SOwen Anderson@ CHECK: vqsub.u64 q8, q8, q9 @ encoding: [0xf2,0x02,0x70,0xf3] 122a7d98573SOwen Anderson vqsub.u64 q8, q8, q9 123a7d98573SOwen Anderson@ CHECK: vsubhn.i16 d16, q8, q9 @ encoding: [0xa2,0x06,0xc0,0xf2] 124a7d98573SOwen Anderson vsubhn.i16 d16, q8, q9 125a7d98573SOwen Anderson@ CHECK: vsubhn.i32 d16, q8, q9 @ encoding: [0xa2,0x06,0xd0,0xf2] 126a7d98573SOwen Anderson vsubhn.i32 d16, q8, q9 127a7d98573SOwen Anderson@ CHECK: vsubhn.i64 d16, q8, q9 @ encoding: [0xa2,0x06,0xe0,0xf2] 128a7d98573SOwen Anderson vsubhn.i64 d16, q8, q9 129a7d98573SOwen Anderson@ CHECK: vrsubhn.i16 d16, q8, q9 @ encoding: [0xa2,0x06,0xc0,0xf3] 130a7d98573SOwen Anderson vrsubhn.i16 d16, q8, q9 131a7d98573SOwen Anderson@ CHECK: vrsubhn.i32 d16, q8, q9 @ encoding: [0xa2,0x06,0xd0,0xf3] 132a7d98573SOwen Anderson vrsubhn.i32 d16, q8, q9 133a7d98573SOwen Anderson@ CHECK: vrsubhn.i64 d16, q8, q9 @ encoding: [0xa2,0x06,0xe0,0xf3] 134a7d98573SOwen Anderson vrsubhn.i64 d16, q8, q9 1352bf5f739SJim Grosbach 1362bf5f739SJim Grosbach vhsub.s8 d11, d24 1372bf5f739SJim Grosbach vhsub.s16 d12, d23 1382bf5f739SJim Grosbach vhsub.s32 d13, d22 1392bf5f739SJim Grosbach vhsub.u8 d14, d21 1402bf5f739SJim Grosbach vhsub.u16 d15, d20 1412bf5f739SJim Grosbach vhsub.u32 d16, d19 1422bf5f739SJim Grosbach vhsub.s8 q1, q12 1432bf5f739SJim Grosbach vhsub.s16 q2, q11 1442bf5f739SJim Grosbach vhsub.s32 q3, q10 1452bf5f739SJim Grosbach vhsub.u8 q4, q9 1462bf5f739SJim Grosbach vhsub.u16 q5, q8 1472bf5f739SJim Grosbach vhsub.u32 q6, q7 1482bf5f739SJim Grosbach 1492bf5f739SJim Grosbach@ CHECK: vhsub.s8 d11, d11, d24 @ encoding: [0x28,0xb2,0x0b,0xf2] 1502bf5f739SJim Grosbach@ CHECK: vhsub.s16 d12, d12, d23 @ encoding: [0x27,0xc2,0x1c,0xf2] 1512bf5f739SJim Grosbach@ CHECK: vhsub.s32 d13, d13, d22 @ encoding: [0x26,0xd2,0x2d,0xf2] 1522bf5f739SJim Grosbach@ CHECK: vhsub.u8 d14, d14, d21 @ encoding: [0x25,0xe2,0x0e,0xf3] 1532bf5f739SJim Grosbach@ CHECK: vhsub.u16 d15, d15, d20 @ encoding: [0x24,0xf2,0x1f,0xf3] 1542bf5f739SJim Grosbach@ CHECK: vhsub.u32 d16, d16, d19 @ encoding: [0xa3,0x02,0x60,0xf3] 1552bf5f739SJim Grosbach@ CHECK: vhsub.s8 q1, q1, q12 @ encoding: [0x68,0x22,0x02,0xf2] 1562bf5f739SJim Grosbach@ CHECK: vhsub.s16 q2, q2, q11 @ encoding: [0x66,0x42,0x14,0xf2] 1572bf5f739SJim Grosbach@ CHECK: vhsub.s32 q3, q3, q10 @ encoding: [0x64,0x62,0x26,0xf2] 1582bf5f739SJim Grosbach@ CHECK: vhsub.u8 q4, q4, q9 @ encoding: [0x62,0x82,0x08,0xf3] 1592bf5f739SJim Grosbach@ CHECK: vhsub.u16 q5, q5, q8 @ encoding: [0x60,0xa2,0x1a,0xf3] 1602bf5f739SJim Grosbach@ CHECK: vhsub.u32 q6, q6, q7 @ encoding: [0x4e,0xc2,0x2c,0xf3] 161*2937df45SJim Grosbach 162*2937df45SJim Grosbach 163*2937df45SJim Grosbach vsubw.s8 q6, d5 164*2937df45SJim Grosbach vsubw.s16 q7, d1 165*2937df45SJim Grosbach vsubw.s32 q8, d2 166*2937df45SJim Grosbach vsubw.u8 q6, d5 167*2937df45SJim Grosbach vsubw.u16 q7, d1 168*2937df45SJim Grosbach vsubw.u32 q8, d2 169*2937df45SJim Grosbach 170*2937df45SJim Grosbach@ CHECK: vsubw.s8 q6, q6, d5 @ encoding: [0x05,0xc3,0x8c,0xf2] 171*2937df45SJim Grosbach@ CHECK: vsubw.s16 q7, q7, d1 @ encoding: [0x01,0xe3,0x9e,0xf2] 172*2937df45SJim Grosbach@ CHECK: vsubw.s32 q8, q8, d2 @ encoding: [0x82,0x03,0xe0,0xf2] 173*2937df45SJim Grosbach@ CHECK: vsubw.u8 q6, q6, d5 @ encoding: [0x05,0xc3,0x8c,0xf3] 174*2937df45SJim Grosbach@ CHECK: vsubw.u16 q7, q7, d1 @ encoding: [0x01,0xe3,0x9e,0xf3] 175*2937df45SJim Grosbach@ CHECK: vsubw.u32 q8, q8, d2 @ encoding: [0x82,0x03,0xe0,0xf3] 176