blob: da59ee7209c8ecf15a65c87ad37c5f8e5f503498 [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
2@ XFAIL: *
Owen Andersonafe18c72010-10-29 18:58:30 +00003
Owen Anderson95b97662010-11-01 18:33:37 +00004@ FIXME: We cannot currently test the following instructions, which are
5@ currently marked as for-disassembly only in the .td files:
6@ - VCEQz
7@ - VCGEz, VCLEz
8@ - VCGTz, VCLTz
Owen Andersonafe18c72010-10-29 18:58:30 +00009
Owen Anderson95b97662010-11-01 18:33:37 +000010@ CHECK: vceq.i8 d16, d16, d17 @ encoding: [0xb1,0x08,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000011 vceq.i8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000012@ CHECK: vceq.i16 d16, d16, d17 @ encoding: [0xb1,0x08,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000013 vceq.i16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000014@ CHECK: vceq.i32 d16, d16, d17 @ encoding: [0xb1,0x08,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000015 vceq.i32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000016@ CHECK: vceq.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000017 vceq.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000018@ CHECK: vceq.i8 q8, q8, q9 @ encoding: [0xf2,0x08,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000019 vceq.i8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000020@ CHECK: vceq.i16 q8, q8, q9 @ encoding: [0xf2,0x08,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000021 vceq.i16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000022@ CHECK: vceq.i32 q8, q8, q9 @ encoding: [0xf2,0x08,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000023 vceq.i32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000024@ CHECK: vceq.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000025 vceq.f32 q8, q8, q9
26
Owen Anderson95b97662010-11-01 18:33:37 +000027@ CHECK: vcge.s8 d16, d16, d17 @ encoding: [0xb1,0x03,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000028 vcge.s8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000029@ CHECK: vcge.s16 d16, d16, d17 @ encoding: [0xb1,0x03,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000030 vcge.s16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000031@ CHECK: vcge.s32 d16, d16, d17 @ encoding: [0xb1,0x03,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000032 vcge.s32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000033@ CHECK: vcge.u8 d16, d16, d17 @ encoding: [0xb1,0x03,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000034 vcge.u8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000035@ CHECK: vcge.u16 d16, d16, d17 @ encoding: [0xb1,0x03,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000036 vcge.u16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000037@ CHECK: vcge.u32 d16, d16, d17 @ encoding: [0xb1,0x03,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000038 vcge.u32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000039@ CHECK: vcge.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000040 vcge.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000041@ CHECK: vcge.s8 q8, q8, q9 @ encoding: [0xf2,0x03,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000042 vcge.s8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000043@ CHECK: vcge.s16 q8, q8, q9 @ encoding: [0xf2,0x03,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000044 vcge.s16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000045@ CHECK: vcge.s32 q8, q8, q9 @ encoding: [0xf2,0x03,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000046 vcge.s32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000047@ CHECK: vcge.u8 q8, q8, q9 @ encoding: [0xf2,0x03,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000048 vcge.u8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000049@ CHECK: vcge.u16 q8, q8, q9 @ encoding: [0xf2,0x03,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000050 vcge.u16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000051@ CHECK: vcge.u32 q8, q8, q9 @ encoding: [0xf2,0x03,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000052 vcge.u32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000053@ CHECK: vcge.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000054 vcge.f32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000055@ CHECK: vacge.f32 d16, d16, d17 @ encoding: [0xb1,0x0e,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000056 vacge.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000057@ CHECK: vacge.f32 q8, q8, q9 @ encoding: [0xf2,0x0e,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000058 vacge.f32 q8, q8, q9
59
Owen Anderson95b97662010-11-01 18:33:37 +000060@ CHECK: vcgt.s8 d16, d16, d17 @ encoding: [0xa1,0x03,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000061 vcgt.s8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000062@ CHECK: vcgt.s16 d16, d16, d17 @ encoding: [0xa1,0x03,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000063 vcgt.s16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000064@ CHECK: vcgt.s32 d16, d16, d17 @ encoding: [0xa1,0x03,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000065 vcgt.s32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000066@ CHECK: vcgt.u8 d16, d16, d17 @ encoding: [0xa1,0x03,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000067 vcgt.u8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000068@ CHECK: vcgt.u16 d16, d16, d17 @ encoding: [0xa1,0x03,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000069 vcgt.u16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000070@ CHECK: vcgt.u32 d16, d16, d17 @ encoding: [0xa1,0x03,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000071 vcgt.u32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000072@ CHECK: vcgt.f32 d16, d16, d17 @ encoding: [0xa1,0x0e,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000073 vcgt.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000074@ CHECK: vcgt.s8 q8, q8, q9 @ encoding: [0xe2,0x03,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000075 vcgt.s8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000076@ CHECK: vcgt.s16 q8, q8, q9 @ encoding: [0xe2,0x03,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000077 vcgt.s16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000078@ CHECK: vcgt.s32 q8, q8, q9 @ encoding: [0xe2,0x03,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000079 vcgt.s32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000080@ CHECK: vcgt.u8 q8, q8, q9 @ encoding: [0xe2,0x03,0x40,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000081 vcgt.u8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000082@ CHECK: vcgt.u16 q8, q8, q9 @ encoding: [0xe2,0x03,0x50,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000083 vcgt.u16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000084@ CHECK: vcgt.u32 q8, q8, q9 @ encoding: [0xe2,0x03,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000085 vcgt.u32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000086@ CHECK: vcgt.f32 q8, q8, q9 @ encoding: [0xe2,0x0e,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000087 vcgt.f32 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +000088@ CHECK: vacgt.f32 d16, d16, d17 @ encoding: [0xb1,0x0e,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000089 vacgt.f32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000090@ CHECK: vacgt.f32 q8, q8, q9 @ encoding: [0xf2,0x0e,0x60,0xf3]
Owen Andersonafe18c72010-10-29 18:58:30 +000091 vacgt.f32 q8, q8, q9
92
Owen Anderson95b97662010-11-01 18:33:37 +000093@ CHECK: vtst.8 d16, d16, d17 @ encoding: [0xb1,0x08,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000094 vtst.8 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000095@ CHECK: vtst.16 d16, d16, d17 @ encoding: [0xb1,0x08,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000096 vtst.16 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000097@ CHECK: vtst.32 d16, d16, d17 @ encoding: [0xb1,0x08,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +000098 vtst.32 d16, d16, d17
Owen Anderson95b97662010-11-01 18:33:37 +000099@ CHECK: vtst.8 q8, q8, q9 @ encoding: [0xf2,0x08,0x40,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +0000100 vtst.8 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000101@ CHECK: vtst.16 q8, q8, q9 @ encoding: [0xf2,0x08,0x50,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +0000102 vtst.16 q8, q8, q9
Owen Anderson95b97662010-11-01 18:33:37 +0000103@ CHECK: vtst.32 q8, q8, q9 @ encoding: [0xf2,0x08,0x60,0xf2]
Owen Andersonafe18c72010-10-29 18:58:30 +0000104 vtst.32 q8, q8, q9
Owen Andersonc24cb352010-11-08 23:21:22 +0000105
106@ CHECK: vceq.i8 d16, d16, #0 @ encoding: [0x20,0x01,0xf1,0xf3]
107 vceq.i8 d16, d16, #0
108@ CHECK: vcge.s8 d16, d16, #0 @ encoding: [0xa0,0x00,0xf1,0xf3]
109 vcge.s8 d16, d16, #0
110@ CHECK: vcle.s8 d16, d16, #0 @ encoding: [0xa0,0x01,0xf1,0xf3]
111 vcle.s8 d16, d16, #0
112@ CHECK: vcgt.s8 d16, d16, #0 @ encoding: [0x20,0x00,0xf1,0xf3]
113 vcgt.s8 d16, d16, #0
114@ CHECK: vclt.s8 d16, d16, #0 @ encoding: [0x20,0x02,0xf1,0xf3]
115 vclt.s8 d16, d16, #0