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