blob: e425397b79019b3f55d43046b477c07e900f0b54 [file] [log] [blame]
Owen Anderson95b97662010-11-01 18:33:37 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
Owen Anderson1cfb0432010-10-29 01:01:56 +00002
3
Owen Anderson95b97662010-11-01 18:33:37 +00004@ CHECK: vadd.i8 d16, d17, d16 @ encoding: [0xa0,0x08,0x41,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +00005 vadd.i8 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +00006@ CHECK: vadd.i16 d16, d17, d16 @ encoding: [0xa0,0x08,0x51,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +00007 vadd.i16 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +00008@ CHECK: vadd.i64 d16, d17, d16 @ encoding: [0xa0,0x08,0x71,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +00009 vadd.i64 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000010@ CHECK: vadd.i32 d16, d17, d16 @ encoding: [0xa0,0x08,0x61,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000011 vadd.i32 d16, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000012@ CHECK: vadd.f32 d16, d16, d17 @ encoding: [0xa1,0x0d,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000013 vadd.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000014@ CHECK: vadd.f32 q8, q8, q9 @ encoding: [0xe2,0x0d,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000015 vadd.f32 q8, q8, q9
16
Owen Anderson95b97662010-11-01 18:33:37 +000017@ CHECK: vaddl.s8 q8, d17, d16 @ encoding: [0xa0,0x00,0xc1,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000018 vaddl.s8 q8, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000019@ CHECK: vaddl.s16 q8, d17, d16 @ encoding: [0xa0,0x00,0xd1,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000020 vaddl.s16 q8, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000021@ CHECK: vaddl.s32 q8, d17, d16 @ encoding: [0xa0,0x00,0xe1,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000022 vaddl.s32 q8, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000023@ CHECK: vaddl.u8 q8, d17, d16 @ encoding: [0xa0,0x00,0xc1,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000024 vaddl.u8 q8, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000025@ CHECK: vaddl.u16 q8, d17, d16 @ encoding: [0xa0,0x00,0xd1,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000026 vaddl.u16 q8, d17, d16
Owen Anderson95b97662010-11-01 18:33:37 +000027@ CHECK: vaddl.u32 q8, d17, d16 @ encoding: [0xa0,0x00,0xe1,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000028 vaddl.u32 q8, d17, d16
29
Owen Anderson95b97662010-11-01 18:33:37 +000030@ CHECK: vaddw.s8 q8, q8, d18 @ encoding: [0xa2,0x01,0xc0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000031 vaddw.s8 q8, q8, d18
Owen Anderson95b97662010-11-01 18:33:37 +000032@ CHECK: vaddw.s16 q8, q8, d18 @ encoding: [0xa2,0x01,0xd0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000033 vaddw.s16 q8, q8, d18
Owen Anderson95b97662010-11-01 18:33:37 +000034@ CHECK: vaddw.s32 q8, q8, d18 @ encoding: [0xa2,0x01,0xe0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000035 vaddw.s32 q8, q8, d18
Owen Anderson95b97662010-11-01 18:33:37 +000036@ CHECK: vaddw.u8 q8, q8, d18 @ encoding: [0xa2,0x01,0xc0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000037 vaddw.u8 q8, q8, d18
Owen Anderson95b97662010-11-01 18:33:37 +000038@ CHECK: vaddw.u16 q8, q8, d18 @ encoding: [0xa2,0x01,0xd0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000039 vaddw.u16 q8, q8, d18
Owen Anderson95b97662010-11-01 18:33:37 +000040@ CHECK: vaddw.u32 q8, q8, d18 @ encoding: [0xa2,0x01,0xe0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000041 vaddw.u32 q8, q8, d18
42
Owen Anderson95b97662010-11-01 18:33:37 +000043@ CHECK: vhadd.s8 d16, d16, d17 @ encoding: [0xa1,0x00,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000044 vhadd.s8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000045@ CHECK: vhadd.s16 d16, d16, d17 @ encoding: [0xa1,0x00,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000046 vhadd.s16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000047@ CHECK: vhadd.s32 d16, d16, d17 @ encoding: [0xa1,0x00,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000048 vhadd.s32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000049@ CHECK: vhadd.u8 d16, d16, d17 @ encoding: [0xa1,0x00,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000050 vhadd.u8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000051@ CHECK: vhadd.u16 d16, d16, d17 @ encoding: [0xa1,0x00,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000052 vhadd.u16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000053@ CHECK: vhadd.u32 d16, d16, d17 @ encoding: [0xa1,0x00,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000054 vhadd.u32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000055@ CHECK: vhadd.s8 q8, q8, q9 @ encoding: [0xe2,0x00,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000056 vhadd.s8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000057@ CHECK: vhadd.s16 q8, q8, q9 @ encoding: [0xe2,0x00,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000058 vhadd.s16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000059@ CHECK: vhadd.s32 q8, q8, q9 @ encoding: [0xe2,0x00,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000060 vhadd.s32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000061 @ CHECK: vhadd.u8 q8, q8, q9 @ encoding: [0xe2,0x00,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000062 vhadd.u8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000063@ CHECK: vhadd.u16 q8, q8, q9 @ encoding: [0xe2,0x00,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000064 vhadd.u16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000065@ CHECK: vhadd.u32 q8, q8, q9 @ encoding: [0xe2,0x00,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000066 vhadd.u32 q8, q8, q9
67
Owen Anderson95b97662010-11-01 18:33:37 +000068@ CHECK: vrhadd.s8 d16, d16, d17 @ encoding: [0xa1,0x01,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000069 vrhadd.s8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000070@ CHECK: vrhadd.s16 d16, d16, d17 @ encoding: [0xa1,0x01,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000071 vrhadd.s16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000072@ CHECK: vrhadd.s32 d16, d16, d17 @ encoding: [0xa1,0x01,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000073 vrhadd.s32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000074@ CHECK: vrhadd.u8 d16, d16, d17 @ encoding: [0xa1,0x01,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000075 vrhadd.u8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000076@ CHECK: vrhadd.u16 d16, d16, d17 @ encoding: [0xa1,0x01,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000077 vrhadd.u16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000078@ CHECK: vrhadd.u32 d16, d16, d17 @ encoding: [0xa1,0x01,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000079 vrhadd.u32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000080@ CHECK: vrhadd.s8 q8, q8, q9 @ encoding: [0xe2,0x01,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000081 vrhadd.s8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000082@ CHECK: vrhadd.s16 q8, q8, q9 @ encoding: [0xe2,0x01,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000083 vrhadd.s16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000084@ CHECK: vrhadd.s32 q8, q8, q9 @ encoding: [0xe2,0x01,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000085 vrhadd.s32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000086@ CHECK: vrhadd.u8 q8, q8, q9 @ encoding: [0xe2,0x01,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000087 vrhadd.u8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000088@ CHECK: vrhadd.u16 q8, q8, q9 @ encoding: [0xe2,0x01,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000089 vrhadd.u16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000090@ CHECK: vrhadd.u32 q8, q8, q9 @ encoding: [0xe2,0x01,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +000091 vrhadd.u32 q8, q8, q9
92
Owen Anderson95b97662010-11-01 18:33:37 +000093@ CHECK: vqadd.s8 d16, d16, d17 @ encoding: [0xb1,0x00,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000094 vqadd.s8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000095@ CHECK: vqadd.s16 d16, d16, d17 @ encoding: [0xb1,0x00,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000096 vqadd.s16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000097@ CHECK: vqadd.s32 d16, d16, d17 @ encoding: [0xb1,0x00,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +000098 vqadd.s32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000099@ CHECK: vqadd.s64 d16, d16, d17 @ encoding: [0xb1,0x00,0x70,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000100 vqadd.s64 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +0000101@ CHECK: vqadd.u8 d16, d16, d17 @ encoding: [0xb1,0x00,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000102 vqadd.u8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +0000103@ CHECK: vqadd.u16 d16, d16, d17 @ encoding: [0xb1,0x00,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000104 vqadd.u16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +0000105@ CHECK: vqadd.u32 d16, d16, d17 @ encoding: [0xb1,0x00,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000106 vqadd.u32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +0000107@ CHECK: vqadd.u64 d16, d16, d17 @ encoding: [0xb1,0x00,0x70,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000108 vqadd.u64 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +0000109@ CHECK: vqadd.s8 q8, q8, q9 @ encoding: [0xf2,0x00,0x40,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000110 vqadd.s8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000111@ CHECK: vqadd.s16 q8, q8, q9 @ encoding: [0xf2,0x00,0x50,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000112 vqadd.s16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000113@ CHECK: vqadd.s32 q8, q8, q9 @ encoding: [0xf2,0x00,0x60,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000114 vqadd.s32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000115@ CHECK: vqadd.s64 q8, q8, q9 @ encoding: [0xf2,0x00,0x70,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000116 vqadd.s64 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000117@ CHECK: vqadd.u8 q8, q8, q9 @ encoding: [0xf2,0x00,0x40,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000118 vqadd.u8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000119@ CHECK: vqadd.u16 q8, q8, q9 @ encoding: [0xf2,0x00,0x50,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000120 vqadd.u16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000121@ CHECK: vqadd.u32 q8, q8, q9 @ encoding: [0xf2,0x00,0x60,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000122 vqadd.u32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000123@ CHECK: vqadd.u64 q8, q8, q9 @ encoding: [0xf2,0x00,0x70,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000124 vqadd.u64 q8, q8, q9
125
Owen Anderson95b97662010-11-01 18:33:37 +0000126@ CHECK: vaddhn.i16 d16, q8, q9 @ encoding: [0xa2,0x04,0xc0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000127 vaddhn.i16 d16, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000128@ CHECK: vaddhn.i32 d16, q8, q9 @ encoding: [0xa2,0x04,0xd0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000129 vaddhn.i32 d16, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000130@ CHECK: vaddhn.i64 d16, q8, q9 @ encoding: [0xa2,0x04,0xe0,0xf2]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000131 vaddhn.i64 d16, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000132@ CHECK: vraddhn.i16 d16, q8, q9 @ encoding: [0xa2,0x04,0xc0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000133 vraddhn.i16 d16, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000134@ CHECK: vraddhn.i32 d16, q8, q9 @ encoding: [0xa2,0x04,0xd0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000135 vraddhn.i32 d16, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000136@ CHECK: vraddhn.i64 d16, q8, q9 @ encoding: [0xa2,0x04,0xe0,0xf3]
Owen Anderson1cfb0432010-10-29 01:01:56 +0000137 vraddhn.i64 d16, q8, q9