blob: 015214a17d087e021c5095921de5b5e66a543f74 [file] [log] [blame]
Owen Anderson95b97662010-11-01 18:33:37 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unkown -show-encoding < %s | FileCheck %s
Owen Andersonb8d14a62010-11-01 05:23:58 +00002
Owen Anderson95b97662010-11-01 18:33:37 +00003@ CHECK: vshl.u8 d16, d17, d16 @ encoding: [0xa1,0x04,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00004 vshl.u8 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +00005@ CHECK: vshl.u16 d16, d17, d16 @ encoding: [0xa1,0x04,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00006 vshl.u16 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +00007@ CHECK: vshl.u32 d16, d17, d16 @ encoding: [0xa1,0x04,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +00008 vshl.u32 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +00009@ CHECK: vshl.u64 d16, d17, d16 @ encoding: [0xa1,0x04,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000010 vshl.u64 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000011@ CHECK: vshl.i8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000012 vshl.i8 d16, d16, #7
Owen Anderson95b97662010-11-01 18:33:37 +000013@ CHECK: vshl.i16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000014 vshl.i16 d16, d16, #15
Owen Anderson95b97662010-11-01 18:33:37 +000015@ CHECK: vshl.i32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000016 vshl.i32 d16, d16, #31
Owen Anderson95b97662010-11-01 18:33:37 +000017@ CHECK: vshl.i64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000018 vshl.i64 d16, d16, #63
Owen Anderson95b97662010-11-01 18:33:37 +000019@ CHECK: vshl.u8 q8, q9, q8 @ encoding: [0xe2,0x04,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000020 vshl.u8 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +000021@ CHECK: vshl.u16 q8, q9, q8 @ encoding: [0xe2,0x04,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000022 vshl.u16 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +000023@ CHECK: vshl.u32 q8, q9, q8 @ encoding: [0xe2,0x04,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000024 vshl.u32 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +000025@ CHECK: vshl.u64 q8, q9, q8 @ encoding: [0xe2,0x04,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000026 vshl.u64 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +000027@ CHECK: vshl.i8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000028 vshl.i8 q8, q8, #7
Owen Anderson95b97662010-11-01 18:33:37 +000029@ CHECK: vshl.i16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000030 vshl.i16 q8, q8, #15
Owen Anderson95b97662010-11-01 18:33:37 +000031@ CHECK: vshl.i32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000032 vshl.i32 q8, q8, #31
Owen Anderson95b97662010-11-01 18:33:37 +000033@ CHECK: vshl.i64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000034 vshl.i64 q8, q8, #63
Owen Anderson95b97662010-11-01 18:33:37 +000035@ CHECK: vshr.u8 d16, d16, #8 @ encoding: [0x30,0x00,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000036 vshr.u8 d16, d16, #8
Owen Anderson95b97662010-11-01 18:33:37 +000037@ CHECK: vshr.u16 d16, d16, #16 @ encoding: [0x30,0x00,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000038 vshr.u16 d16, d16, #16
Owen Anderson95b97662010-11-01 18:33:37 +000039@ CHECK: vshr.u32 d16, d16, #32 @ encoding: [0x30,0x00,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000040 vshr.u32 d16, d16, #32
Owen Anderson95b97662010-11-01 18:33:37 +000041@ CHECK: vshr.u64 d16, d16, #64 @ encoding: [0xb0,0x00,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000042 vshr.u64 d16, d16, #64
Owen Anderson95b97662010-11-01 18:33:37 +000043@ CHECK: vshr.u8 q8, q8, #8 @ encoding: [0x70,0x00,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000044 vshr.u8 q8, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +000045@ CHECK: vshr.u16 q8, q8, #16 @ encoding: [0x70,0x00,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000046 vshr.u16 q8, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +000047@ CHECK: vshr.u32 q8, q8, #32 @ encoding: [0x70,0x00,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000048 vshr.u32 q8, q8, #32
Owen Anderson95b97662010-11-01 18:33:37 +000049@ CHECK: vshr.u64 q8, q8, #64 @ encoding: [0xf0,0x00,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000050 vshr.u64 q8, q8, #64
Owen Anderson95b97662010-11-01 18:33:37 +000051@ CHECK: vshr.s8 d16, d16, #8 @ encoding: [0x30,0x00,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000052 vshr.s8 d16, d16, #8
Owen Anderson95b97662010-11-01 18:33:37 +000053@ CHECK: vshr.s16 d16, d16, #16 @ encoding: [0x30,0x00,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000054 vshr.s16 d16, d16, #16
Owen Anderson95b97662010-11-01 18:33:37 +000055@ CHECK: vshr.s32 d16, d16, #32 @ encoding: [0x30,0x00,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000056 vshr.s32 d16, d16, #32
Owen Anderson95b97662010-11-01 18:33:37 +000057@ CHECK: vshr.s64 d16, d16, #64 @ encoding: [0xb0,0x00,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000058 vshr.s64 d16, d16, #64
Owen Anderson95b97662010-11-01 18:33:37 +000059@ CHECK: vshr.s8 q8, q8, #8 @ encoding: [0x70,0x00,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000060 vshr.s8 q8, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +000061@ CHECK: vshr.s16 q8, q8, #16 @ encoding: [0x70,0x00,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000062 vshr.s16 q8, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +000063@ CHECK: vshr.s32 q8, q8, #32 @ encoding: [0x70,0x00,0xe0,0xf2
Owen Andersonb8d14a62010-11-01 05:23:58 +000064 vshr.s32 q8, q8, #32
Owen Anderson95b97662010-11-01 18:33:37 +000065@ CHECK: vshr.s64 q8, q8, #64 @ encoding: [0xf0,0x00,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000066 vshr.s64 q8, q8, #64
Owen Anderson95b97662010-11-01 18:33:37 +000067@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000068 vshll.s8 q8, d16, #7
Owen Anderson95b97662010-11-01 18:33:37 +000069@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000070 vshll.s16 q8, d16, #15
Owen Anderson95b97662010-11-01 18:33:37 +000071@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000072 vshll.s32 q8, d16, #31
Owen Anderson95b97662010-11-01 18:33:37 +000073@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000074 vshll.u8 q8, d16, #7
Owen Anderson95b97662010-11-01 18:33:37 +000075@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000076 vshll.u16 q8, d16, #15
Owen Anderson95b97662010-11-01 18:33:37 +000077@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000078 vshll.u32 q8, d16, #31
Owen Anderson95b97662010-11-01 18:33:37 +000079@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000080 vshll.i8 q8, d16, #8
Owen Anderson95b97662010-11-01 18:33:37 +000081@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000082 vshll.i16 q8, d16, #16
Owen Anderson95b97662010-11-01 18:33:37 +000083@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +000084 vshll.i32 q8, d16, #32
Owen Anderson95b97662010-11-01 18:33:37 +000085@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000086 vshrn.i16 d16, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +000087@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000088 vshrn.i32 d16, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +000089@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000090 vshrn.i64 d16, q8, #32
Owen Anderson95b97662010-11-01 18:33:37 +000091@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000092 vrshl.s8 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000093@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000094 vrshl.s16 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000095@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +000096 vrshl.s32 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000097@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0
Owen Andersonb8d14a62010-11-01 05:23:58 +000098 vrshl.s64 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000099@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000100 vrshl.u8 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +0000101@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000102 vrshl.u16 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +0000103@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000104 vrshl.u32 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +0000105@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000106 vrshl.u64 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +0000107@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000108 vrshl.s8 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000109@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000110 vrshl.s16 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000111@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000112 vrshl.s32 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000113@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000114 vrshl.s64 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000115@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000116 vrshl.u8 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000117@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000118 vrshl.u16 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000119@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000120 vrshl.u32 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000121@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000122 vrshl.u64 q8, q9, q8
Owen Anderson95b97662010-11-01 18:33:37 +0000123@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000124 vrshr.s8 d16, d16, #8
Owen Anderson95b97662010-11-01 18:33:37 +0000125@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000126 vrshr.s16 d16, d16, #16
Owen Anderson95b97662010-11-01 18:33:37 +0000127@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000128 vrshr.s32 d16, d16, #32
Owen Anderson95b97662010-11-01 18:33:37 +0000129@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000130 vrshr.s64 d16, d16, #64
Owen Anderson95b97662010-11-01 18:33:37 +0000131@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000132 vrshr.u8 d16, d16, #8
Owen Anderson95b97662010-11-01 18:33:37 +0000133@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000134 vrshr.u16 d16, d16, #16
Owen Anderson95b97662010-11-01 18:33:37 +0000135@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000136 vrshr.u32 d16, d16, #32
Owen Anderson95b97662010-11-01 18:33:37 +0000137@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000138 vrshr.u64 d16, d16, #64
Owen Anderson95b97662010-11-01 18:33:37 +0000139@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000140 vrshr.s8 q8, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +0000141@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000142 vrshr.s16 q8, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +0000143@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000144 vrshr.s32 q8, q8, #32
Owen Anderson95b97662010-11-01 18:33:37 +0000145@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000146 vrshr.s64 q8, q8, #64
Owen Anderson95b97662010-11-01 18:33:37 +0000147@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000148 vrshr.u8 q8, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +0000149@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000150 vrshr.u16 q8, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +0000151@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000152 vrshr.u32 q8, q8, #32
Owen Anderson95b97662010-11-01 18:33:37 +0000153@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000154 vrshr.u64 q8, q8, #64
Owen Anderson95b97662010-11-01 18:33:37 +0000155@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000156 vrshrn.i16 d16, q8, #8
Owen Anderson95b97662010-11-01 18:33:37 +0000157@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000158 vrshrn.i32 d16, q8, #16
Owen Anderson95b97662010-11-01 18:33:37 +0000159@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000160 vrshrn.i64 d16, q8, #32