Home | History | Annotate | Download | only in ARM
      1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
      2 
      3 _foo:
      4 @ CHECK: vshl.u8	d16, d17, d16  @ encoding: [0xa1,0x04,0x40,0xf3]
      5 	vshl.u8	d16, d17, d16
      6 @ CHECK: vshl.u16	d16, d17, d16  @ encoding: [0xa1,0x04,0x50,0xf3]
      7 	vshl.u16	d16, d17, d16
      8 @ CHECK: vshl.u32	d16, d17, d16  @ encoding: [0xa1,0x04,0x60,0xf3]
      9 	vshl.u32	d16, d17, d16
     10 @ CHECK: vshl.u64	d16, d17, d16  @ encoding: [0xa1,0x04,0x70,0xf3]
     11 	vshl.u64	d16, d17, d16
     12 @ CHECK: vshl.i8	d16, d16, #7  @ encoding: [0x30,0x05,0xcf,0xf2]
     13 	vshl.i8	d16, d16, #7
     14 @ CHECK: vshl.i16	d16, d16, #15  @ encoding: [0x30,0x05,0xdf,0xf2]
     15 	vshl.i16	d16, d16, #15
     16 @ CHECK: vshl.i32	d16, d16, #31  @ encoding: [0x30,0x05,0xff,0xf2]
     17 	vshl.i32	d16, d16, #31
     18 @ CHECK: vshl.i64	d16, d16, #63  @ encoding: [0xb0,0x05,0xff,0xf2]
     19 	vshl.i64	d16, d16, #63
     20 @ CHECK: vshl.u8	q8, q9, q8  @ encoding: [0xe2,0x04,0x40,0xf3]
     21 	vshl.u8	q8, q9, q8
     22 @ CHECK: vshl.u16	q8, q9, q8  @ encoding: [0xe2,0x04,0x50,0xf3]
     23 	vshl.u16	q8, q9, q8
     24 @ CHECK: vshl.u32	q8, q9, q8  @ encoding: [0xe2,0x04,0x60,0xf3]
     25 	vshl.u32	q8, q9, q8
     26 @ CHECK: vshl.u64	q8, q9, q8  @ encoding: [0xe2,0x04,0x70,0xf3]
     27 	vshl.u64	q8, q9, q8
     28 @ CHECK: vshl.i8	q8, q8, #7  @ encoding: [0x70,0x05,0xcf,0xf2]
     29 	vshl.i8	q8, q8, #7
     30 @ CHECK: vshl.i16	q8, q8, #15  @ encoding: [0x70,0x05,0xdf,0xf2]
     31 	vshl.i16	q8, q8, #15
     32 @ CHECK: vshl.i32	q8, q8, #31  @ encoding: [0x70,0x05,0xff,0xf2]
     33 	vshl.i32	q8, q8, #31
     34 @ CHECK: vshl.i64	q8, q8, #63  @ encoding: [0xf0,0x05,0xff,0xf2]
     35 	vshl.i64	q8, q8, #63
     36 @ CHECK: vshr.u8	d16, d16, #7  @ encoding: [0x30,0x00,0xc9,0xf3]
     37 	vshr.u8	d16, d16, #7
     38 @ CHECK: vshr.u16	d16, d16, #15  @ encoding: [0x30,0x00,0xd1,0xf3]
     39 	vshr.u16	d16, d16, #15
     40 @ CHECK: vshr.u32	d16, d16, #31  @ encoding: [0x30,0x00,0xe1,0xf3]
     41 	vshr.u32	d16, d16, #31
     42 @ CHECK: vshr.u64	d16, d16, #63  @ encoding: [0xb0,0x00,0xc1,0xf3]
     43 	vshr.u64	d16, d16, #63
     44 @ CHECK: vshr.u8	q8, q8, #7  @ encoding: [0x70,0x00,0xc9,0xf3]
     45 	vshr.u8	q8, q8, #7
     46 @ CHECK: vshr.u16	q8, q8, #15  @ encoding: [0x70,0x00,0xd1,0xf3]
     47 	vshr.u16	q8, q8, #15
     48 @ CHECK: vshr.u32	q8, q8, #31  @ encoding: [0x70,0x00,0xe1,0xf3]
     49 	vshr.u32	q8, q8, #31
     50 @ CHECK: vshr.u64	q8, q8, #63  @ encoding: [0xf0,0x00,0xc1,0xf3]
     51 	vshr.u64	q8, q8, #63
     52 @ CHECK: vshr.s8	d16, d16, #7  @ encoding: [0x30,0x00,0xc9,0xf2]
     53 	vshr.s8	d16, d16, #7
     54 @ CHECK: vshr.s16	d16, d16, #15  @ encoding: [0x30,0x00,0xd1,0xf2]
     55 	vshr.s16	d16, d16, #15
     56 @ CHECK: vshr.s32	d16, d16, #31  @ encoding: [0x30,0x00,0xe1,0xf2]
     57 	vshr.s32	d16, d16, #31
     58 @ CHECK: vshr.s64	d16, d16, #63  @ encoding: [0xb0,0x00,0xc1,0xf2]
     59 	vshr.s64	d16, d16, #63
     60 @ CHECK: vshr.s8	q8, q8, #7  @ encoding: [0x70,0x00,0xc9,0xf2]
     61 	vshr.s8	q8, q8, #7
     62 @ CHECK: vshr.s16	q8, q8, #15  @ encoding: [0x70,0x00,0xd1,0xf2]
     63 	vshr.s16	q8, q8, #15
     64 @ CHECK: vshr.s32	q8, q8, #31  @ encoding: [0x70,0x00,0xe1,0xf2]
     65 	vshr.s32	q8, q8, #31
     66 @ CHECK: vshr.s64	q8, q8, #63  @ encoding: [0xf0,0x00,0xc1,0xf2]
     67 	vshr.s64	q8, q8, #63
     68 @ CHECK: vsra.u8  d16, d16, #7   @ encoding: [0x30,0x01,0xc9,0xf3]
     69 	vsra.u8   d16, d16, #7
     70 @ CHECK: vsra.u16 d16, d16, #15  @ encoding: [0x30,0x01,0xd1,0xf3]
     71 	vsra.u16  d16, d16, #15
     72 @ CHECK: vsra.u32 d16, d16, #31  @ encoding: [0x30,0x01,0xe1,0xf3]
     73 	vsra.u32  d16, d16, #31
     74 @ CHECK: vsra.u64 d16, d16, #63  @ encoding: [0xb0,0x01,0xc1,0xf3]
     75 	vsra.u64  d16, d16, #63
     76 @ CHECK: vsra.u8  q8, q8, #7     @ encoding: [0x70,0x01,0xc9,0xf3]
     77 	vsra.u8   q8, q8, #7
     78 @ CHECK: vsra.u16 q8, q8, #15    @ encoding: [0x70,0x01,0xd1,0xf3]
     79 	vsra.u16  q8, q8, #15
     80 @ CHECK: vsra.u32 q8, q8, #31    @ encoding: [0x70,0x01,0xe1,0xf3]
     81 	vsra.u32  q8, q8, #31
     82 @ CHECK: vsra.u64 q8, q8, #63    @ encoding: [0xf0,0x01,0xc1,0xf3]
     83 	vsra.u64  q8, q8, #63
     84 @ CHECK: vsra.s8  d16, d16, #7   @ encoding: [0x30,0x01,0xc9,0xf2]
     85 	vsra.s8   d16, d16, #7
     86 @ CHECK: vsra.s16 d16, d16, #15  @ encoding: [0x30,0x01,0xd1,0xf2]
     87 	vsra.s16  d16, d16, #15
     88 @ CHECK: vsra.s32 d16, d16, #31  @ encoding: [0x30,0x01,0xe1,0xf2]
     89 	vsra.s32  d16, d16, #31
     90 @ CHECK: vsra.s64 d16, d16, #63  @ encoding: [0xb0,0x01,0xc1,0xf2]
     91 	vsra.s64  d16, d16, #63
     92 @ CHECK: vsra.s8  q8, q8, #7     @ encoding: [0x70,0x01,0xc9,0xf2]
     93 	vsra.s8   q8, q8, #7
     94 @ CHECK: vsra.s16 q8, q8, #15    @ encoding: [0x70,0x01,0xd1,0xf2]
     95 	vsra.s16  q8, q8, #15
     96 @ CHECK: vsra.s32 q8, q8, #31    @ encoding: [0x70,0x01,0xe1,0xf2]
     97 	vsra.s32  q8, q8, #31
     98 @ CHECK: vsra.s64 q8, q8, #63    @ encoding: [0xf0,0x01,0xc1,0xf2]
     99 	vsra.s64  q8, q8, #63
    100 @ CHECK: vsri.8   d16, d16, #7  @ encoding: [0x30,0x04,0xc9,0xf3]
    101 	vsri.8   d16, d16, #7
    102 @ CHECK: vsri.16  d16, d16, #15 @ encoding: [0x30,0x04,0xd1,0xf3]
    103 	vsri.16  d16, d16, #15
    104 @ CHECK: vsri.32  d16, d16, #31 @ encoding: [0x30,0x04,0xe1,0xf3]
    105 	vsri.32  d16, d16, #31
    106 @ CHECK: vsri.64  d16, d16, #63 @ encoding: [0xb0,0x04,0xc1,0xf3]
    107 	vsri.64  d16, d16, #63
    108 @ CHECK: vsri.8   q8, q8, #7    @ encoding: [0x70,0x04,0xc9,0xf3]
    109 	vsri.8   q8, q8, #7
    110 @ CHECK: vsri.16  q8, q8, #15   @ encoding: [0x70,0x04,0xd1,0xf3]
    111 	vsri.16  q8, q8, #15
    112 @ CHECK: vsri.32  q8, q8, #31   @ encoding: [0x70,0x04,0xe1,0xf3]
    113 	vsri.32  q8, q8, #31
    114 @ CHECK: vsri.64  q8, q8, #63   @ encoding: [0xf0,0x04,0xc1,0xf3]
    115 	vsri.64  q8, q8, #63
    116 @ CHECK: vsli.8   d16, d16, #7  @ encoding: [0x30,0x05,0xcf,0xf3]
    117 	vsli.8   d16, d16, #7
    118 @ CHECK: vsli.16  d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf3]
    119 	vsli.16  d16, d16, #15
    120 @ CHECK: vsli.32  d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf3]
    121 	vsli.32  d16, d16, #31
    122 @ CHECK: vsli.64  d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf3]
    123 	vsli.64  d16, d16, #63
    124 @ CHECK: vsli.8   q8, q8, #7    @ encoding: [0x70,0x05,0xcf,0xf3]
    125 	vsli.8   q8, q8, #7
    126 @ CHECK: vsli.16  q8, q8, #15   @ encoding: [0x70,0x05,0xdf,0xf3]
    127 	vsli.16  q8, q8, #15
    128 @ CHECK: vsli.32  q8, q8, #31   @ encoding: [0x70,0x05,0xff,0xf3]
    129 	vsli.32  q8, q8, #31
    130 @ CHECK: vsli.64  q8, q8, #63   @ encoding: [0xf0,0x05,0xff,0xf3]
    131 	vsli.64  q8, q8, #63
    132 @ CHECK: vshll.s8	q8, d16, #7  @ encoding: [0x30,0x0a,0xcf,0xf2]
    133 	vshll.s8	q8, d16, #7
    134 @ CHECK: vshll.s16	q8, d16, #15  @ encoding: [0x30,0x0a,0xdf,0xf2]
    135 	vshll.s16	q8, d16, #15
    136 @ CHECK: vshll.s32	q8, d16, #31  @ encoding: [0x30,0x0a,0xff,0xf2]
    137 	vshll.s32	q8, d16, #31
    138 @ CHECK: vshll.u8	q8, d16, #7  @ encoding: [0x30,0x0a,0xcf,0xf3]
    139 	vshll.u8	q8, d16, #7
    140 @ CHECK: vshll.u16	q8, d16, #15  @ encoding: [0x30,0x0a,0xdf,0xf3]
    141 	vshll.u16	q8, d16, #15
    142 @ CHECK: vshll.u32	q8, d16, #31  @ encoding: [0x30,0x0a,0xff,0xf3]
    143 	vshll.u32	q8, d16, #31
    144 @ CHECK: vshll.i8	q8, d16, #8  @ encoding: [0x20,0x03,0xf2,0xf3]
    145 	vshll.i8	q8, d16, #8
    146 @ CHECK: vshll.i16	q8, d16, #16  @ encoding: [0x20,0x03,0xf6,0xf3]
    147 	vshll.i16	q8, d16, #16
    148 @ CHECK: vshll.i32	q8, d16, #32  @ encoding: [0x20,0x03,0xfa,0xf3]
    149 	vshll.i32	q8, d16, #32
    150 @ CHECK: vshrn.i16	d16, q8, #8  @ encoding: [0x30,0x08,0xc8,0xf2]
    151 	vshrn.i16	d16, q8, #8
    152 @ CHECK: vshrn.i32	d16, q8, #16  @ encoding: [0x30,0x08,0xd0,0xf2]
    153 	vshrn.i32	d16, q8, #16
    154 @ CHECK: vshrn.i64	d16, q8, #32  @ encoding: [0x30,0x08,0xe0,0xf2]
    155 	vshrn.i64	d16, q8, #32
    156 @ CHECK: vrshl.s8	d16, d17, d16  @ encoding: [0xa1,0x05,0x40,0xf2]
    157 	vrshl.s8	d16, d17, d16
    158 @ CHECK: vrshl.s16	d16, d17, d16  @ encoding: [0xa1,0x05,0x50,0xf2]
    159 	vrshl.s16	d16, d17, d16
    160 @ CHECK: vrshl.s32	d16, d17, d16  @ encoding: [0xa1,0x05,0x60,0xf2]
    161 	vrshl.s32	d16, d17, d16
    162 @ CHECK: vrshl.s64	d16, d17, d16  @ encoding: [0xa1,0x05,0x70,0xf2]
    163 	vrshl.s64	d16, d17, d16
    164 @ CHECK: vrshl.u8	d16, d17, d16  @ encoding: [0xa1,0x05,0x40,0xf3]
    165 	vrshl.u8	d16, d17, d16
    166 @ CHECK: vrshl.u16	d16, d17, d16  @ encoding: [0xa1,0x05,0x50,0xf3]
    167 	vrshl.u16	d16, d17, d16
    168 @ CHECK: vrshl.u32	d16, d17, d16  @ encoding: [0xa1,0x05,0x60,0xf3]
    169 	vrshl.u32	d16, d17, d16
    170 @ CHECK: vrshl.u64	d16, d17, d16  @ encoding: [0xa1,0x05,0x70,0xf3]
    171 	vrshl.u64	d16, d17, d16
    172 @ CHECK: vrshl.s8	q8, q9, q8  @ encoding: [0xe2,0x05,0x40,0xf2]
    173 	vrshl.s8	q8, q9, q8
    174 @ CHECK: vrshl.s16	q8, q9, q8  @ encoding: [0xe2,0x05,0x50,0xf2]
    175 	vrshl.s16	q8, q9, q8
    176 @ CHECK: vrshl.s32	q8, q9, q8  @ encoding: [0xe2,0x05,0x60,0xf2]
    177 	vrshl.s32	q8, q9, q8
    178 @ CHECK: vrshl.s64	q8, q9, q8  @ encoding: [0xe2,0x05,0x70,0xf2]
    179 	vrshl.s64	q8, q9, q8
    180 @ CHECK: vrshl.u8	q8, q9, q8  @ encoding: [0xe2,0x05,0x40,0xf3]
    181 	vrshl.u8	q8, q9, q8
    182 @ CHECK: vrshl.u16	q8, q9, q8  @ encoding: [0xe2,0x05,0x50,0xf3]
    183 	vrshl.u16	q8, q9, q8
    184 @ CHECK: vrshl.u32	q8, q9, q8  @ encoding: [0xe2,0x05,0x60,0xf3]
    185 	vrshl.u32	q8, q9, q8
    186 @ CHECK: vrshl.u64	q8, q9, q8  @ encoding: [0xe2,0x05,0x70,0xf3]
    187 	vrshl.u64	q8, q9, q8
    188 @ CHECK: vrshr.s8	d16, d16, #8  @ encoding: [0x30,0x02,0xc8,0xf2]
    189 	vrshr.s8	d16, d16, #8
    190 @ CHECK: vrshr.s16	d16, d16, #16  @ encoding: [0x30,0x02,0xd0,0xf2]
    191 	vrshr.s16	d16, d16, #16
    192 @ CHECK: vrshr.s32	d16, d16, #32  @ encoding: [0x30,0x02,0xe0,0xf2]
    193 	vrshr.s32	d16, d16, #32
    194 @ CHECK: vrshr.s64	d16, d16, #64  @ encoding: [0xb0,0x02,0xc0,0xf2]
    195 	vrshr.s64	d16, d16, #64
    196 @ CHECK: vrshr.u8	d16, d16, #8  @ encoding: [0x30,0x02,0xc8,0xf3]
    197 	vrshr.u8	d16, d16, #8
    198 @ CHECK: vrshr.u16	d16, d16, #16  @ encoding: [0x30,0x02,0xd0,0xf3]
    199 	vrshr.u16	d16, d16, #16
    200 @ CHECK: vrshr.u32	d16, d16, #32  @ encoding: [0x30,0x02,0xe0,0xf3]
    201 	vrshr.u32	d16, d16, #32
    202 @ CHECK: vrshr.u64	d16, d16, #64  @ encoding: [0xb0,0x02,0xc0,0xf3]
    203 	vrshr.u64	d16, d16, #64
    204 @ CHECK: vrshr.s8	q8, q8, #8  @ encoding: [0x70,0x02,0xc8,0xf2]
    205 	vrshr.s8	q8, q8, #8
    206 @ CHECK: vrshr.s16	q8, q8, #16  @ encoding: [0x70,0x02,0xd0,0xf2]
    207 	vrshr.s16	q8, q8, #16
    208 @ CHECK: vrshr.s32	q8, q8, #32  @ encoding: [0x70,0x02,0xe0,0xf2]
    209 	vrshr.s32	q8, q8, #32
    210 @ CHECK: vrshr.s64	q8, q8, #64  @ encoding: [0xf0,0x02,0xc0,0xf2]
    211 	vrshr.s64	q8, q8, #64
    212 @ CHECK: vrshr.u8	q8, q8, #8  @ encoding: [0x70,0x02,0xc8,0xf3]
    213 	vrshr.u8	q8, q8, #8
    214 @ CHECK: vrshr.u16	q8, q8, #16  @ encoding: [0x70,0x02,0xd0,0xf3]
    215 	vrshr.u16	q8, q8, #16
    216 @ CHECK: vrshr.u32	q8, q8, #32  @ encoding: [0x70,0x02,0xe0,0xf3]
    217 	vrshr.u32	q8, q8, #32
    218 @ CHECK: vrshr.u64	q8, q8, #64  @ encoding: [0xf0,0x02,0xc0,0xf3]
    219 	vrshr.u64	q8, q8, #64
    220 @ CHECK: vrshrn.i16	d16, q8, #8  @ encoding: [0x70,0x08,0xc8,0xf2]
    221 	vrshrn.i16	d16, q8, #8
    222 @ CHECK: vrshrn.i32	d16, q8, #16  @ encoding: [0x70,0x08,0xd0,0xf2]
    223 	vrshrn.i32	d16, q8, #16
    224 @ CHECK: vrshrn.i64	d16, q8, #32  @ encoding: [0x70,0x08,0xe0,0xf2]
    225 	vrshrn.i64	d16, q8, #32
    226 @ CHECK: vqrshrn.s16	d16, q8, #4  @ encoding: [0x70,0x09,0xcc,0xf2]
    227 	vqrshrn.s16	d16, q8, #4
    228 @ CHECK: vqrshrn.s32	d16, q8, #13  @ encoding: [0x70,0x09,0xd3,0xf2]
    229 	vqrshrn.s32	d16, q8, #13
    230 @ CHECK: vqrshrn.s64	d16, q8, #13  @ encoding: [0x70,0x09,0xf3,0xf2]
    231 	vqrshrn.s64	d16, q8, #13
    232 @ CHECK: vqrshrn.u16	d16, q8, #4  @ encoding: [0x70,0x09,0xcc,0xf3]
    233 	vqrshrn.u16	d16, q8, #4
    234 @ CHECK: vqrshrn.u32	d16, q8, #13  @ encoding: [0x70,0x09,0xd3,0xf3]
    235 	vqrshrn.u32	d16, q8, #13
    236 @ CHECK: vqrshrn.u64	d16, q8, #13  @ encoding: [0x70,0x09,0xf3,0xf3]
    237 	vqrshrn.u64	d16, q8, #13
    238