blob: 8b249ae99b664c126919199825dd157d3c420f88 [file] [log] [blame]
Bob Wilson8d1b7e52010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersonb8d14a62010-11-01 05:23:58 +00002
Bill Wendling7c6b6082011-03-08 23:48:09 +00003_foo:
4@ CHECK: vshl.u8 d16, d17, d16 @ encoding: [0xa1,0x04,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00005 vshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +00006@ CHECK: vshl.u16 d16, d17, d16 @ encoding: [0xa1,0x04,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00007 vshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +00008@ CHECK: vshl.u32 d16, d17, d16 @ encoding: [0xa1,0x04,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00009 vshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +000010@ CHECK: vshl.u64 d16, d17, d16 @ encoding: [0xa1,0x04,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000011 vshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +000012@ CHECK: vshl.i8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000013 vshl.i8 d16, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000014@ CHECK: vshl.i16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000015 vshl.i16 d16, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000016@ CHECK: vshl.i32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000017 vshl.i32 d16, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000018@ CHECK: vshl.i64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000019 vshl.i64 d16, d16, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +000020@ CHECK: vshl.u8 q8, q9, q8 @ encoding: [0xe2,0x04,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000021 vshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +000022@ CHECK: vshl.u16 q8, q9, q8 @ encoding: [0xe2,0x04,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000023 vshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +000024@ CHECK: vshl.u32 q8, q9, q8 @ encoding: [0xe2,0x04,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000025 vshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +000026@ CHECK: vshl.u64 q8, q9, q8 @ encoding: [0xe2,0x04,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000027 vshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +000028@ CHECK: vshl.i8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000029 vshl.i8 q8, q8, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000030@ CHECK: vshl.i16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000031 vshl.i16 q8, q8, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000032@ CHECK: vshl.i32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000033 vshl.i32 q8, q8, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000034@ CHECK: vshl.i64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000035 vshl.i64 q8, q8, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +000036@ 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: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000069 vshll.s8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000070@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000071 vshll.s16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000072@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000073 vshll.s32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000074@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000075 vshll.u8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000076@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000077 vshll.u16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000078@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000079 vshll.u32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000080@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000081 vshll.i8 q8, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +000082@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000083 vshll.i16 q8, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +000084@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000085 vshll.i32 q8, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +000086@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000087 vshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +000088@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000089 vshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +000090@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000091 vshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +000092@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000093 vrshl.s8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +000094@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000095 vrshl.s16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +000096@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000097 vrshl.s32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +000098@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000099 vrshl.s64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000100@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000101 vrshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000102@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000103 vrshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000104@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000105 vrshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000106@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000107 vrshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000108@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000109 vrshl.s8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000110@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000111 vrshl.s16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000112@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000113 vrshl.s32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000114@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000115 vrshl.s64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000116@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000117 vrshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000118@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000119 vrshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000120@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000121 vrshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000122@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000123 vrshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000124@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000125 vrshr.s8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000126@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000127 vrshr.s16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000128@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000129 vrshr.s32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000130@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000131 vrshr.s64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000132@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000133 vrshr.u8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000134@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000135 vrshr.u16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000136@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000137 vrshr.u32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000138@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000139 vrshr.u64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000140@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000141 vrshr.s8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000142@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000143 vrshr.s16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000144@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000145 vrshr.s32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000146@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000147 vrshr.s64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000148@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000149 vrshr.u8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000150@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000151 vrshr.u16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000152@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000153 vrshr.u32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000154@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000155 vrshr.u64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000156@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000157 vrshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000158@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000159 vrshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000160@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000161 vrshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000162@ CHECK: vqrshrn.s16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
163 vqrshrn.s16 d16, q8, #4
164@ CHECK: vqrshrn.s32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
165 vqrshrn.s32 d16, q8, #13
166@ CHECK: vqrshrn.s64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
167 vqrshrn.s64 d16, q8, #13
168@ CHECK: vqrshrn.u16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
169 vqrshrn.u16 d16, q8, #4
170@ CHECK: vqrshrn.u32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
171 vqrshrn.u32 d16, q8, #13
172@ CHECK: vqrshrn.u64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
173 vqrshrn.u64 d16, q8, #13