1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s 2 3 .code 16 4 5 @ CHECK: vqshl.s8 d16, d16, d17 @ encoding: [0x41,0xef,0xb0,0x04] 6 vqshl.s8 d16, d16, d17 7 @ CHECK: vqshl.s16 d16, d16, d17 @ encoding: [0x51,0xef,0xb0,0x04] 8 vqshl.s16 d16, d16, d17 9 @ CHECK: vqshl.s32 d16, d16, d17 @ encoding: [0x61,0xef,0xb0,0x04] 10 vqshl.s32 d16, d16, d17 11 @ CHECK: vqshl.s64 d16, d16, d17 @ encoding: [0x71,0xef,0xb0,0x04] 12 vqshl.s64 d16, d16, d17 13 @ CHECK: vqshl.u8 d16, d16, d17 @ encoding: [0x41,0xff,0xb0,0x04] 14 vqshl.u8 d16, d16, d17 15 @ CHECK: vqshl.u16 d16, d16, d17 @ encoding: [0x51,0xff,0xb0,0x04] 16 vqshl.u16 d16, d16, d17 17 @ CHECK: vqshl.u32 d16, d16, d17 @ encoding: [0x61,0xff,0xb0,0x04] 18 vqshl.u32 d16, d16, d17 19 @ CHECK: vqshl.u64 d16, d16, d17 @ encoding: [0x71,0xff,0xb0,0x04] 20 vqshl.u64 d16, d16, d17 21 @ CHECK: vqshl.s8 q8, q8, q9 @ encoding: [0x42,0xef,0xf0,0x04] 22 vqshl.s8 q8, q8, q9 23 @ CHECK: vqshl.s16 q8, q8, q9 @ encoding: [0x52,0xef,0xf0,0x04] 24 vqshl.s16 q8, q8, q9 25 @ CHECK: vqshl.s32 q8, q8, q9 @ encoding: [0x62,0xef,0xf0,0x04] 26 vqshl.s32 q8, q8, q9 27 @ CHECK: vqshl.s64 q8, q8, q9 @ encoding: [0x72,0xef,0xf0,0x04] 28 vqshl.s64 q8, q8, q9 29 @ CHECK: vqshl.u8 q8, q8, q9 @ encoding: [0x42,0xff,0xf0,0x04] 30 vqshl.u8 q8, q8, q9 31 @ CHECK: vqshl.u16 q8, q8, q9 @ encoding: [0x52,0xff,0xf0,0x04] 32 vqshl.u16 q8, q8, q9 33 @ CHECK: vqshl.u32 q8, q8, q9 @ encoding: [0x62,0xff,0xf0,0x04] 34 vqshl.u32 q8, q8, q9 35 @ CHECK: vqshl.u64 q8, q8, q9 @ encoding: [0x72,0xff,0xf0,0x04] 36 vqshl.u64 q8, q8, q9 37 @ CHECK: vqshl.s8 d16, d16, #7 @ encoding: [0xcf,0xef,0x30,0x07] 38 vqshl.s8 d16, d16, #7 39 @ CHECK: vqshl.s16 d16, d16, #15 @ encoding: [0xdf,0xef,0x30,0x07] 40 vqshl.s16 d16, d16, #15 41 @ CHECK: vqshl.s32 d16, d16, #31 @ encoding: [0xff,0xef,0x30,0x07] 42 vqshl.s32 d16, d16, #31 43 @ CHECK: vqshl.s64 d16, d16, #63 @ encoding: [0xff,0xef,0xb0,0x07] 44 vqshl.s64 d16, d16, #63 45 @ CHECK: vqshl.u8 d16, d16, #7 @ encoding: [0xcf,0xff,0x30,0x07] 46 vqshl.u8 d16, d16, #7 47 @ CHECK: vqshl.u16 d16, d16, #15 @ encoding: [0xdf,0xff,0x30,0x07] 48 vqshl.u16 d16, d16, #15 49 @ CHECK: vqshl.u32 d16, d16, #31 @ encoding: [0xff,0xff,0x30,0x07] 50 vqshl.u32 d16, d16, #31 51 @ CHECK: vqshl.u64 d16, d16, #63 @ encoding: [0xff,0xff,0xb0,0x07] 52 vqshl.u64 d16, d16, #63 53 @ CHECK: vqshlu.s8 d16, d16, #7 @ encoding: [0xcf,0xff,0x30,0x06] 54 vqshlu.s8 d16, d16, #7 55 @ CHECK: vqshlu.s16 d16, d16, #15 @ encoding: [0xdf,0xff,0x30,0x06] 56 vqshlu.s16 d16, d16, #15 57 @ CHECK: vqshlu.s32 d16, d16, #31 @ encoding: [0xff,0xff,0x30,0x06] 58 vqshlu.s32 d16, d16, #31 59 @ CHECK: vqshlu.s64 d16, d16, #63 @ encoding: [0xff,0xff,0xb0,0x06] 60 vqshlu.s64 d16, d16, #63 61 @ CHECK: vqshl.s8 q8, q8, #7 @ encoding: [0xcf,0xef,0x70,0x07] 62 vqshl.s8 q8, q8, #7 63 @ CHECK: vqshl.s16 q8, q8, #15 @ encoding: [0xdf,0xef,0x70,0x07] 64 vqshl.s16 q8, q8, #15 65 @ CHECK: vqshl.s32 q8, q8, #31 @ encoding: [0xff,0xef,0x70,0x07] 66 vqshl.s32 q8, q8, #31 67 @ CHECK: vqshl.s64 q8, q8, #63 @ encoding: [0xff,0xef,0xf0,0x07] 68 vqshl.s64 q8, q8, #63 69 @ CHECK: vqshl.u8 q8, q8, #7 @ encoding: [0xcf,0xff,0x70,0x07] 70 vqshl.u8 q8, q8, #7 71 @ CHECK: vqshl.u16 q8, q8, #15 @ encoding: [0xdf,0xff,0x70,0x07] 72 vqshl.u16 q8, q8, #15 73 @ CHECK: vqshl.u32 q8, q8, #31 @ encoding: [0xff,0xff,0x70,0x07] 74 vqshl.u32 q8, q8, #31 75 @ CHECK: vqshl.u64 q8, q8, #63 @ encoding: [0xff,0xff,0xf0,0x07] 76 vqshl.u64 q8, q8, #63 77 @ CHECK: vqshlu.s8 q8, q8, #7 @ encoding: [0xcf,0xff,0x70,0x06] 78 vqshlu.s8 q8, q8, #7 79 @ CHECK: vqshlu.s16 q8, q8, #15 @ encoding: [0xdf,0xff,0x70,0x06] 80 vqshlu.s16 q8, q8, #15 81 @ CHECK: vqshlu.s32 q8, q8, #31 @ encoding: [0xff,0xff,0x70,0x06] 82 vqshlu.s32 q8, q8, #31 83 @ CHECK: vqshlu.s64 q8, q8, #63 @ encoding: [0xff,0xff,0xf0,0x06] 84 vqshlu.s64 q8, q8, #63 85 @ CHECK: vqrshl.s8 d16, d16, d17 @ encoding: [0x41,0xef,0xb0,0x05] 86 vqrshl.s8 d16, d16, d17 87 @ CHECK: vqrshl.s16 d16, d16, d17 @ encoding: [0x51,0xef,0xb0,0x05] 88 vqrshl.s16 d16, d16, d17 89 @ CHECK: vqrshl.s32 d16, d16, d17 @ encoding: [0x61,0xef,0xb0,0x05] 90 vqrshl.s32 d16, d16, d17 91 @ CHECK: vqrshl.s64 d16, d16, d17 @ encoding: [0x71,0xef,0xb0,0x05] 92 vqrshl.s64 d16, d16, d17 93 @ CHECK: vqrshl.u8 d16, d16, d17 @ encoding: [0x41,0xff,0xb0,0x05] 94 vqrshl.u8 d16, d16, d17 95 @ CHECK: vqrshl.u16 d16, d16, d17 @ encoding: [0x51,0xff,0xb0,0x05] 96 vqrshl.u16 d16, d16, d17 97 @ CHECK: vqrshl.u32 d16, d16, d17 @ encoding: [0x61,0xff,0xb0,0x05] 98 vqrshl.u32 d16, d16, d17 99 @ CHECK: vqrshl.u64 d16, d16, d17 @ encoding: [0x71,0xff,0xb0,0x05] 100 vqrshl.u64 d16, d16, d17 101 @ CHECK: vqrshl.s8 q8, q8, q9 @ encoding: [0x42,0xef,0xf0,0x05] 102 vqrshl.s8 q8, q8, q9 103 @ CHECK: vqrshl.s16 q8, q8, q9 @ encoding: [0x52,0xef,0xf0,0x05] 104 vqrshl.s16 q8, q8, q9 105 @ CHECK: vqrshl.s32 q8, q8, q9 @ encoding: [0x62,0xef,0xf0,0x05] 106 vqrshl.s32 q8, q8, q9 107 @ CHECK: vqrshl.s64 q8, q8, q9 @ encoding: [0x72,0xef,0xf0,0x05] 108 vqrshl.s64 q8, q8, q9 109 @ CHECK: vqrshl.u8 q8, q8, q9 @ encoding: [0x42,0xff,0xf0,0x05] 110 vqrshl.u8 q8, q8, q9 111 @ CHECK: vqrshl.u16 q8, q8, q9 @ encoding: [0x52,0xff,0xf0,0x05] 112 vqrshl.u16 q8, q8, q9 113 @ CHECK: vqrshl.u32 q8, q8, q9 @ encoding: [0x62,0xff,0xf0,0x05] 114 vqrshl.u32 q8, q8, q9 115 @ CHECK: vqrshl.u64 q8, q8, q9 @ encoding: [0x72,0xff,0xf0,0x05] 116 vqrshl.u64 q8, q8, q9 117 @ CHECK: vqshrn.s16 d16, q8, #8 @ encoding: [0xc8,0xef,0x30,0x09] 118 vqshrn.s16 d16, q8, #8 119 @ CHECK: vqshrn.s32 d16, q8, #16 @ encoding: [0xd0,0xef,0x30,0x09] 120 vqshrn.s32 d16, q8, #16 121 @ CHECK: vqshrn.s64 d16, q8, #32 @ encoding: [0xe0,0xef,0x30,0x09] 122 vqshrn.s64 d16, q8, #32 123 @ CHECK: vqshrn.u16 d16, q8, #8 @ encoding: [0xc8,0xff,0x30,0x09] 124 vqshrn.u16 d16, q8, #8 125 @ CHECK: vqshrn.u32 d16, q8, #16 @ encoding: [0xd0,0xff,0x30,0x09] 126 vqshrn.u32 d16, q8, #16 127 @ CHECK: vqshrn.u64 d16, q8, #32 @ encoding: [0xe0,0xff,0x30,0x09] 128 vqshrn.u64 d16, q8, #32 129 @ CHECK: vqshrun.s16 d16, q8, #8 @ encoding: [0xc8,0xff,0x30,0x08] 130 vqshrun.s16 d16, q8, #8 131 @ CHECK: vqshrun.s32 d16, q8, #16 @ encoding: [0xd0,0xff,0x30,0x08] 132 vqshrun.s32 d16, q8, #16 133 @ CHECK: vqshrun.s64 d16, q8, #32 @ encoding: [0xe0,0xff,0x30,0x08] 134 vqshrun.s64 d16, q8, #32 135 @ CHECK: vqrshrn.s16 d16, q8, #8 @ encoding: [0xc8,0xef,0x70,0x09] 136 vqrshrn.s16 d16, q8, #8 137 @ CHECK: vqrshrn.s32 d16, q8, #16 @ encoding: [0xd0,0xef,0x70,0x09] 138 vqrshrn.s32 d16, q8, #16 139 @ CHECK: vqrshrn.s64 d16, q8, #32 @ encoding: [0xe0,0xef,0x70,0x09] 140 vqrshrn.s64 d16, q8, #32 141 @ CHECK: vqrshrn.u16 d16, q8, #8 @ encoding: [0xc8,0xff,0x70,0x09] 142 vqrshrn.u16 d16, q8, #8 143 @ CHECK: vqrshrn.u32 d16, q8, #16 @ encoding: [0xd0,0xff,0x70,0x09] 144 vqrshrn.u32 d16, q8, #16 145 @ CHECK: vqrshrn.u64 d16, q8, #32 @ encoding: [0xe0,0xff,0x70,0x09] 146 vqrshrn.u64 d16, q8, #32 147 @ CHECK: vqrshrun.s16 d16, q8, #8 @ encoding: [0xc8,0xff,0x70,0x08] 148 vqrshrun.s16 d16, q8, #8 149 @ CHECK: vqrshrun.s32 d16, q8, #16 @ encoding: [0xd0,0xff,0x70,0x08] 150 vqrshrun.s32 d16, q8, #16 151 @ CHECK: vqrshrun.s64 d16, q8, #32 @ encoding: [0xe0,0xff,0x70,0x08] 152 vqrshrun.s64 d16, q8, #32 153