blob: c384d76dbea26299fb3dfc8b2756d27571002ec6 [file] [log] [blame]
Owen Andersonc7139a62010-11-11 19:07:48 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2
3.code 16
4
Jim Grosbachd91f4e42010-12-03 22:31:40 +00005@ CHECK: vadd.i8 d16, d17, d16 @ encoding: [0x41,0xef,0xa0,0x08]
Owen Andersonc7139a62010-11-11 19:07:48 +00006 vadd.i8 d16, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +00007@ CHECK: vadd.i16 d16, d17, d16 @ encoding: [0x51,0xef,0xa0,0x08]
Owen Andersonc7139a62010-11-11 19:07:48 +00008 vadd.i16 d16, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +00009@ CHECK: vadd.i64 d16, d17, d16 @ encoding: [0x71,0xef,0xa0,0x08]
Owen Andersonc7139a62010-11-11 19:07:48 +000010 vadd.i64 d16, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000011@ CHECK: vadd.i32 d16, d17, d16 @ encoding: [0x61,0xef,0xa0,0x08]
Owen Andersonc7139a62010-11-11 19:07:48 +000012 vadd.i32 d16, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000013@ CHECK: vadd.f32 d16, d16, d17 @ encoding: [0x40,0xef,0xa1,0x0d]
Owen Andersonc7139a62010-11-11 19:07:48 +000014 vadd.f32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000015@ CHECK: vadd.f32 q8, q8, q9 @ encoding: [0x40,0xef,0xe2,0x0d]
Owen Andersonc7139a62010-11-11 19:07:48 +000016 vadd.f32 q8, q8, q9
17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000018@ CHECK: vaddl.s8 q8, d17, d16 @ encoding: [0xc1,0xef,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000019 vaddl.s8 q8, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000020@ CHECK: vaddl.s16 q8, d17, d16 @ encoding: [0xd1,0xef,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000021 vaddl.s16 q8, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000022@ CHECK: vaddl.s32 q8, d17, d16 @ encoding: [0xe1,0xef,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000023 vaddl.s32 q8, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000024@ CHECK: vaddl.u8 q8, d17, d16 @ encoding: [0xc1,0xff,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000025 vaddl.u8 q8, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000026@ CHECK: vaddl.u16 q8, d17, d16 @ encoding: [0xd1,0xff,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000027 vaddl.u16 q8, d17, d16
Jim Grosbachd91f4e42010-12-03 22:31:40 +000028@ CHECK: vaddl.u32 q8, d17, d16 @ encoding: [0xe1,0xff,0xa0,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000029 vaddl.u32 q8, d17, d16
30
Jim Grosbachd91f4e42010-12-03 22:31:40 +000031@ CHECK: vaddw.s8 q8, q8, d18 @ encoding: [0xc0,0xef,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000032 vaddw.s8 q8, q8, d18
Jim Grosbachd91f4e42010-12-03 22:31:40 +000033@ CHECK: vaddw.s16 q8, q8, d18 @ encoding: [0xd0,0xef,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000034 vaddw.s16 q8, q8, d18
Jim Grosbachd91f4e42010-12-03 22:31:40 +000035@ CHECK: vaddw.s32 q8, q8, d18 @ encoding: [0xe0,0xef,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000036 vaddw.s32 q8, q8, d18
Jim Grosbachd91f4e42010-12-03 22:31:40 +000037@ CHECK: vaddw.u8 q8, q8, d18 @ encoding: [0xc0,0xff,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000038 vaddw.u8 q8, q8, d18
Jim Grosbachd91f4e42010-12-03 22:31:40 +000039@ CHECK: vaddw.u16 q8, q8, d18 @ encoding: [0xd0,0xff,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000040 vaddw.u16 q8, q8, d18
Jim Grosbachd91f4e42010-12-03 22:31:40 +000041@ CHECK: vaddw.u32 q8, q8, d18 @ encoding: [0xe0,0xff,0xa2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000042 vaddw.u32 q8, q8, d18
43
Jim Grosbachd91f4e42010-12-03 22:31:40 +000044@ CHECK: vhadd.s8 d16, d16, d17 @ encoding: [0x40,0xef,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000045 vhadd.s8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000046@ CHECK: vhadd.s16 d16, d16, d17 @ encoding: [0x50,0xef,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000047 vhadd.s16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000048@ CHECK: vhadd.s32 d16, d16, d17 @ encoding: [0x60,0xef,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000049 vhadd.s32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000050@ CHECK: vhadd.u8 d16, d16, d17 @ encoding: [0x40,0xff,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000051 vhadd.u8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000052@ CHECK: vhadd.u16 d16, d16, d17 @ encoding: [0x50,0xff,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000053 vhadd.u16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000054@ CHECK: vhadd.u32 d16, d16, d17 @ encoding: [0x60,0xff,0xa1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000055 vhadd.u32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000056@ CHECK: vhadd.s8 q8, q8, q9 @ encoding: [0x40,0xef,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000057 vhadd.s8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000058@ CHECK: vhadd.s16 q8, q8, q9 @ encoding: [0x50,0xef,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000059 vhadd.s16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000060@ CHECK: vhadd.s32 q8, q8, q9 @ encoding: [0x60,0xef,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000061 vhadd.s32 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000062 @ CHECK: vhadd.u8 q8, q8, q9 @ encoding: [0x40,0xff,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000063 vhadd.u8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000064@ CHECK: vhadd.u16 q8, q8, q9 @ encoding: [0x50,0xff,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000065 vhadd.u16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000066@ CHECK: vhadd.u32 q8, q8, q9 @ encoding: [0x60,0xff,0xe2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000067 vhadd.u32 q8, q8, q9
68
Jim Grosbachd91f4e42010-12-03 22:31:40 +000069@ CHECK: vrhadd.s8 d16, d16, d17 @ encoding: [0x40,0xef,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000070 vrhadd.s8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000071@ CHECK: vrhadd.s16 d16, d16, d17 @ encoding: [0x50,0xef,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000072 vrhadd.s16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000073@ CHECK: vrhadd.s32 d16, d16, d17 @ encoding: [0x60,0xef,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000074 vrhadd.s32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000075@ CHECK: vrhadd.u8 d16, d16, d17 @ encoding: [0x40,0xff,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000076 vrhadd.u8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000077@ CHECK: vrhadd.u16 d16, d16, d17 @ encoding: [0x50,0xff,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000078 vrhadd.u16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000079@ CHECK: vrhadd.u32 d16, d16, d17 @ encoding: [0x60,0xff,0xa1,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000080 vrhadd.u32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000081@ CHECK: vrhadd.s8 q8, q8, q9 @ encoding: [0x40,0xef,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000082 vrhadd.s8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000083@ CHECK: vrhadd.s16 q8, q8, q9 @ encoding: [0x50,0xef,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000084 vrhadd.s16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000085@ CHECK: vrhadd.s32 q8, q8, q9 @ encoding: [0x60,0xef,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000086 vrhadd.s32 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000087@ CHECK: vrhadd.u8 q8, q8, q9 @ encoding: [0x40,0xff,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000088 vrhadd.u8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000089@ CHECK: vrhadd.u16 q8, q8, q9 @ encoding: [0x50,0xff,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000090 vrhadd.u16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +000091@ CHECK: vrhadd.u32 q8, q8, q9 @ encoding: [0x60,0xff,0xe2,0x01]
Owen Andersonc7139a62010-11-11 19:07:48 +000092 vrhadd.u32 q8, q8, q9
93
Jim Grosbachd91f4e42010-12-03 22:31:40 +000094@ CHECK: vqadd.s8 d16, d16, d17 @ encoding: [0x40,0xef,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000095 vqadd.s8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000096@ CHECK: vqadd.s16 d16, d16, d17 @ encoding: [0x50,0xef,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000097 vqadd.s16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +000098@ CHECK: vqadd.s32 d16, d16, d17 @ encoding: [0x60,0xef,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +000099 vqadd.s32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000100@ CHECK: vqadd.s64 d16, d16, d17 @ encoding: [0x70,0xef,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000101 vqadd.s64 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000102@ CHECK: vqadd.u8 d16, d16, d17 @ encoding: [0x40,0xff,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000103 vqadd.u8 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000104@ CHECK: vqadd.u16 d16, d16, d17 @ encoding: [0x50,0xff,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000105 vqadd.u16 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000106@ CHECK: vqadd.u32 d16, d16, d17 @ encoding: [0x60,0xff,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000107 vqadd.u32 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000108@ CHECK: vqadd.u64 d16, d16, d17 @ encoding: [0x70,0xff,0xb1,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000109 vqadd.u64 d16, d16, d17
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000110@ CHECK: vqadd.s8 q8, q8, q9 @ encoding: [0x40,0xef,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000111 vqadd.s8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000112@ CHECK: vqadd.s16 q8, q8, q9 @ encoding: [0x50,0xef,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000113 vqadd.s16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000114@ CHECK: vqadd.s32 q8, q8, q9 @ encoding: [0x60,0xef,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000115 vqadd.s32 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000116@ CHECK: vqadd.s64 q8, q8, q9 @ encoding: [0x70,0xef,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000117 vqadd.s64 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000118@ CHECK: vqadd.u8 q8, q8, q9 @ encoding: [0x40,0xff,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000119 vqadd.u8 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000120@ CHECK: vqadd.u16 q8, q8, q9 @ encoding: [0x50,0xff,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000121 vqadd.u16 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000122@ CHECK: vqadd.u32 q8, q8, q9 @ encoding: [0x60,0xff,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000123 vqadd.u32 q8, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000124@ CHECK: vqadd.u64 q8, q8, q9 @ encoding: [0x70,0xff,0xf2,0x00]
Owen Andersonc7139a62010-11-11 19:07:48 +0000125 vqadd.u64 q8, q8, q9
126
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000127@ CHECK: vaddhn.i16 d16, q8, q9 @ encoding: [0xc0,0xef,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000128 vaddhn.i16 d16, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000129@ CHECK: vaddhn.i32 d16, q8, q9 @ encoding: [0xd0,0xef,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000130 vaddhn.i32 d16, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000131@ CHECK: vaddhn.i64 d16, q8, q9 @ encoding: [0xe0,0xef,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000132 vaddhn.i64 d16, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000133@ CHECK: vraddhn.i16 d16, q8, q9 @ encoding: [0xc0,0xff,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000134 vraddhn.i16 d16, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000135@ CHECK: vraddhn.i32 d16, q8, q9 @ encoding: [0xd0,0xff,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000136 vraddhn.i32 d16, q8, q9
Jim Grosbachd91f4e42010-12-03 22:31:40 +0000137@ CHECK: vraddhn.i64 d16, q8, q9 @ encoding: [0xe0,0xff,0xa2,0x04]
Owen Andersonc7139a62010-11-11 19:07:48 +0000138 vraddhn.i64 d16, q8, q9