1*c3ff538dSBob Wilson@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s 2a56a2e1fSOwen Anderson 3a56a2e1fSOwen Anderson.code 16 4a56a2e1fSOwen Anderson 5567ebd0cSJim Grosbach@ CHECK: vshl.u8 d16, d17, d16 @ encoding: [0x40,0xff,0xa1,0x04] 6a56a2e1fSOwen Anderson vshl.u8 d16, d17, d16 7567ebd0cSJim Grosbach@ CHECK: vshl.u16 d16, d17, d16 @ encoding: [0x50,0xff,0xa1,0x04] 8a56a2e1fSOwen Anderson vshl.u16 d16, d17, d16 9567ebd0cSJim Grosbach@ CHECK: vshl.u32 d16, d17, d16 @ encoding: [0x60,0xff,0xa1,0x04] 10a56a2e1fSOwen Anderson vshl.u32 d16, d17, d16 11567ebd0cSJim Grosbach@ CHECK: vshl.u64 d16, d17, d16 @ encoding: [0x70,0xff,0xa1,0x04] 12a56a2e1fSOwen Anderson vshl.u64 d16, d17, d16 13567ebd0cSJim Grosbach@ CHECK: vshl.i8 d16, d16, #7 @ encoding: [0xcf,0xef,0x30,0x05] 14a56a2e1fSOwen Anderson vshl.i8 d16, d16, #7 15567ebd0cSJim Grosbach@ CHECK: vshl.i16 d16, d16, #15 @ encoding: [0xdf,0xef,0x30,0x05] 16a56a2e1fSOwen Anderson vshl.i16 d16, d16, #15 17567ebd0cSJim Grosbach@ CHECK: vshl.i32 d16, d16, #31 @ encoding: [0xff,0xef,0x30,0x05] 18a56a2e1fSOwen Anderson vshl.i32 d16, d16, #31 19567ebd0cSJim Grosbach@ CHECK: vshl.i64 d16, d16, #63 @ encoding: [0xff,0xef,0xb0,0x05] 20a56a2e1fSOwen Anderson vshl.i64 d16, d16, #63 21567ebd0cSJim Grosbach@ CHECK: vshl.u8 q8, q9, q8 @ encoding: [0x40,0xff,0xe2,0x04] 22a56a2e1fSOwen Anderson vshl.u8 q8, q9, q8 23567ebd0cSJim Grosbach@ CHECK: vshl.u16 q8, q9, q8 @ encoding: [0x50,0xff,0xe2,0x04] 24a56a2e1fSOwen Anderson vshl.u16 q8, q9, q8 25567ebd0cSJim Grosbach@ CHECK: vshl.u32 q8, q9, q8 @ encoding: [0x60,0xff,0xe2,0x04] 26a56a2e1fSOwen Anderson vshl.u32 q8, q9, q8 27567ebd0cSJim Grosbach@ CHECK: vshl.u64 q8, q9, q8 @ encoding: [0x70,0xff,0xe2,0x04] 28a56a2e1fSOwen Anderson vshl.u64 q8, q9, q8 29567ebd0cSJim Grosbach@ CHECK: vshl.i8 q8, q8, #7 @ encoding: [0xcf,0xef,0x70,0x05] 30a56a2e1fSOwen Anderson vshl.i8 q8, q8, #7 31567ebd0cSJim Grosbach@ CHECK: vshl.i16 q8, q8, #15 @ encoding: [0xdf,0xef,0x70,0x05] 32a56a2e1fSOwen Anderson vshl.i16 q8, q8, #15 33567ebd0cSJim Grosbach@ CHECK: vshl.i32 q8, q8, #31 @ encoding: [0xff,0xef,0x70,0x05] 34a56a2e1fSOwen Anderson vshl.i32 q8, q8, #31 35567ebd0cSJim Grosbach@ CHECK: vshl.i64 q8, q8, #63 @ encoding: [0xff,0xef,0xf0,0x05] 36a56a2e1fSOwen Anderson vshl.i64 q8, q8, #63 37567ebd0cSJim Grosbach@ CHECK: vshr.u8 d16, d16, #8 @ encoding: [0xc8,0xff,0x30,0x00] 38a56a2e1fSOwen Anderson vshr.u8 d16, d16, #8 39567ebd0cSJim Grosbach@ CHECK: vshr.u16 d16, d16, #16 @ encoding: [0xd0,0xff,0x30,0x00] 40a56a2e1fSOwen Anderson vshr.u16 d16, d16, #16 41567ebd0cSJim Grosbach@ CHECK: vshr.u32 d16, d16, #32 @ encoding: [0xe0,0xff,0x30,0x00] 42a56a2e1fSOwen Anderson vshr.u32 d16, d16, #32 43567ebd0cSJim Grosbach@ CHECK: vshr.u64 d16, d16, #64 @ encoding: [0xc0,0xff,0xb0,0x00] 44a56a2e1fSOwen Anderson vshr.u64 d16, d16, #64 45567ebd0cSJim Grosbach@ CHECK: vshr.u8 q8, q8, #8 @ encoding: [0xc8,0xff,0x70,0x00] 46a56a2e1fSOwen Anderson vshr.u8 q8, q8, #8 47567ebd0cSJim Grosbach@ CHECK: vshr.u16 q8, q8, #16 @ encoding: [0xd0,0xff,0x70,0x00] 48a56a2e1fSOwen Anderson vshr.u16 q8, q8, #16 49567ebd0cSJim Grosbach@ CHECK: vshr.u32 q8, q8, #32 @ encoding: [0xe0,0xff,0x70,0x00] 50a56a2e1fSOwen Anderson vshr.u32 q8, q8, #32 51567ebd0cSJim Grosbach@ CHECK: vshr.u64 q8, q8, #64 @ encoding: [0xc0,0xff,0xf0,0x00] 52a56a2e1fSOwen Anderson vshr.u64 q8, q8, #64 53567ebd0cSJim Grosbach@ CHECK: vshr.s8 d16, d16, #8 @ encoding: [0xc8,0xef,0x30,0x00] 54a56a2e1fSOwen Anderson vshr.s8 d16, d16, #8 55567ebd0cSJim Grosbach@ CHECK: vshr.s16 d16, d16, #16 @ encoding: [0xd0,0xef,0x30,0x00] 56a56a2e1fSOwen Anderson vshr.s16 d16, d16, #16 57567ebd0cSJim Grosbach@ CHECK: vshr.s32 d16, d16, #32 @ encoding: [0xe0,0xef,0x30,0x00] 58a56a2e1fSOwen Anderson vshr.s32 d16, d16, #32 59567ebd0cSJim Grosbach@ CHECK: vshr.s64 d16, d16, #64 @ encoding: [0xc0,0xef,0xb0,0x00] 60a56a2e1fSOwen Anderson vshr.s64 d16, d16, #64 61567ebd0cSJim Grosbach@ CHECK: vshr.s8 q8, q8, #8 @ encoding: [0xc8,0xef,0x70,0x00] 62a56a2e1fSOwen Anderson vshr.s8 q8, q8, #8 63567ebd0cSJim Grosbach@ CHECK: vshr.s16 q8, q8, #16 @ encoding: [0xd0,0xef,0x70,0x00] 64a56a2e1fSOwen Anderson vshr.s16 q8, q8, #16 65567ebd0cSJim Grosbach@ CHECK: vshr.s32 q8, q8, #32 @ encoding: [0xe0,0xef,0x70,0x00] 66a56a2e1fSOwen Anderson vshr.s32 q8, q8, #32 67567ebd0cSJim Grosbach@ CHECK: vshr.s64 q8, q8, #64 @ encoding: [0xc0,0xef,0xf0,0x00] 68a56a2e1fSOwen Anderson vshr.s64 q8, q8, #64 69567ebd0cSJim Grosbach@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0xcf,0xef,0x30,0x0a] 70a56a2e1fSOwen Anderson vshll.s8 q8, d16, #7 71567ebd0cSJim Grosbach@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0xdf,0xef,0x30,0x0a] 72a56a2e1fSOwen Anderson vshll.s16 q8, d16, #15 73567ebd0cSJim Grosbach@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0xff,0xef,0x30,0x0a] 74a56a2e1fSOwen Anderson vshll.s32 q8, d16, #31 75567ebd0cSJim Grosbach@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0xcf,0xff,0x30,0x0a] 76a56a2e1fSOwen Anderson vshll.u8 q8, d16, #7 77567ebd0cSJim Grosbach@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0xdf,0xff,0x30,0x0a] 78a56a2e1fSOwen Anderson vshll.u16 q8, d16, #15 79567ebd0cSJim Grosbach@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0xff,0xff,0x30,0x0a] 80a56a2e1fSOwen Anderson vshll.u32 q8, d16, #31 81567ebd0cSJim Grosbach@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0xf2,0xff,0x20,0x03] 82a56a2e1fSOwen Anderson vshll.i8 q8, d16, #8 83567ebd0cSJim Grosbach@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0xf6,0xff,0x20,0x03] 84a56a2e1fSOwen Anderson vshll.i16 q8, d16, #16 85567ebd0cSJim Grosbach@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0xfa,0xff,0x20,0x03] 86a56a2e1fSOwen Anderson vshll.i32 q8, d16, #32 87567ebd0cSJim Grosbach@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0xc8,0xef,0x30,0x08] 88a56a2e1fSOwen Anderson vshrn.i16 d16, q8, #8 89567ebd0cSJim Grosbach@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0xd0,0xef,0x30,0x08] 90a56a2e1fSOwen Anderson vshrn.i32 d16, q8, #16 91567ebd0cSJim Grosbach@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0xe0,0xef,0x30,0x08] 92a56a2e1fSOwen Anderson vshrn.i64 d16, q8, #32 93567ebd0cSJim Grosbach@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0x40,0xef,0xa1,0x05] 94a56a2e1fSOwen Anderson vrshl.s8 d16, d17, d16 95567ebd0cSJim Grosbach@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0x50,0xef,0xa1,0x05] 96a56a2e1fSOwen Anderson vrshl.s16 d16, d17, d16 97567ebd0cSJim Grosbach@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0x60,0xef,0xa1,0x05] 98a56a2e1fSOwen Anderson vrshl.s32 d16, d17, d16 99567ebd0cSJim Grosbach@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0x70,0xef,0xa1,0x05] 100a56a2e1fSOwen Anderson vrshl.s64 d16, d17, d16 101567ebd0cSJim Grosbach@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0x40,0xff,0xa1,0x05] 102a56a2e1fSOwen Anderson vrshl.u8 d16, d17, d16 103567ebd0cSJim Grosbach@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0x50,0xff,0xa1,0x05] 104a56a2e1fSOwen Anderson vrshl.u16 d16, d17, d16 105567ebd0cSJim Grosbach@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0x60,0xff,0xa1,0x05] 106a56a2e1fSOwen Anderson vrshl.u32 d16, d17, d16 107567ebd0cSJim Grosbach@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0x70,0xff,0xa1,0x05] 108a56a2e1fSOwen Anderson vrshl.u64 d16, d17, d16 109567ebd0cSJim Grosbach@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0x40,0xef,0xe2,0x05] 110a56a2e1fSOwen Anderson vrshl.s8 q8, q9, q8 111567ebd0cSJim Grosbach@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0x50,0xef,0xe2,0x05] 112a56a2e1fSOwen Anderson vrshl.s16 q8, q9, q8 113567ebd0cSJim Grosbach@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0x60,0xef,0xe2,0x05] 114a56a2e1fSOwen Anderson vrshl.s32 q8, q9, q8 115567ebd0cSJim Grosbach@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0x70,0xef,0xe2,0x05] 116a56a2e1fSOwen Anderson vrshl.s64 q8, q9, q8 117567ebd0cSJim Grosbach@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0x40,0xff,0xe2,0x05] 118a56a2e1fSOwen Anderson vrshl.u8 q8, q9, q8 119567ebd0cSJim Grosbach@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0x50,0xff,0xe2,0x05] 120a56a2e1fSOwen Anderson vrshl.u16 q8, q9, q8 121567ebd0cSJim Grosbach@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0x60,0xff,0xe2,0x05] 122a56a2e1fSOwen Anderson vrshl.u32 q8, q9, q8 123567ebd0cSJim Grosbach@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0x70,0xff,0xe2,0x05] 124a56a2e1fSOwen Anderson vrshl.u64 q8, q9, q8 125567ebd0cSJim Grosbach@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0xc8,0xef,0x30,0x02] 126a56a2e1fSOwen Anderson vrshr.s8 d16, d16, #8 127567ebd0cSJim Grosbach@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0xd0,0xef,0x30,0x02] 128a56a2e1fSOwen Anderson vrshr.s16 d16, d16, #16 129567ebd0cSJim Grosbach@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0xe0,0xef,0x30,0x02] 130a56a2e1fSOwen Anderson vrshr.s32 d16, d16, #32 131567ebd0cSJim Grosbach@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xc0,0xef,0xb0,0x02] 132a56a2e1fSOwen Anderson vrshr.s64 d16, d16, #64 133567ebd0cSJim Grosbach@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0xc8,0xff,0x30,0x02] 134a56a2e1fSOwen Anderson vrshr.u8 d16, d16, #8 135567ebd0cSJim Grosbach@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0xd0,0xff,0x30,0x02] 136a56a2e1fSOwen Anderson vrshr.u16 d16, d16, #16 137567ebd0cSJim Grosbach@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0xe0,0xff,0x30,0x02] 138a56a2e1fSOwen Anderson vrshr.u32 d16, d16, #32 139567ebd0cSJim Grosbach@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xc0,0xff,0xb0,0x02] 140a56a2e1fSOwen Anderson vrshr.u64 d16, d16, #64 141567ebd0cSJim Grosbach@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0xc8,0xef,0x70,0x02] 142a56a2e1fSOwen Anderson vrshr.s8 q8, q8, #8 143567ebd0cSJim Grosbach@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0xd0,0xef,0x70,0x02] 144a56a2e1fSOwen Anderson vrshr.s16 q8, q8, #16 145567ebd0cSJim Grosbach@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0xe0,0xef,0x70,0x02] 146a56a2e1fSOwen Anderson vrshr.s32 q8, q8, #32 147567ebd0cSJim Grosbach@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xc0,0xef,0xf0,0x02] 148a56a2e1fSOwen Anderson vrshr.s64 q8, q8, #64 149567ebd0cSJim Grosbach@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0xc8,0xff,0x70,0x02] 150a56a2e1fSOwen Anderson vrshr.u8 q8, q8, #8 151567ebd0cSJim Grosbach@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0xd0,0xff,0x70,0x02] 152a56a2e1fSOwen Anderson vrshr.u16 q8, q8, #16 153567ebd0cSJim Grosbach@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0xe0,0xff,0x70,0x02] 154a56a2e1fSOwen Anderson vrshr.u32 q8, q8, #32 155567ebd0cSJim Grosbach@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xc0,0xff,0xf0,0x02] 156a56a2e1fSOwen Anderson vrshr.u64 q8, q8, #64 157567ebd0cSJim Grosbach@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0xc8,0xef,0x70,0x08] 158a56a2e1fSOwen Anderson vrshrn.i16 d16, q8, #8 159567ebd0cSJim Grosbach@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0xd0,0xef,0x70,0x08] 160a56a2e1fSOwen Anderson vrshrn.i32 d16, q8, #16 161567ebd0cSJim Grosbach@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0xe0,0xef,0x70,0x08] 162a56a2e1fSOwen Anderson vrshrn.i64 d16, q8, #32 163