Fix and clean up tests. Un-XFAIL.
[oota-llvm.git] / test / MC / ARM / neon-cmp-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
2
3         vceq.i8 d16, d16, d17
4         vceq.i16        d16, d16, d17
5         vceq.i32        d16, d16, d17
6         vceq.f32        d16, d16, d17
7         vceq.i8 q8, q8, q9
8         vceq.i16        q8, q8, q9
9         vceq.i32        q8, q8, q9
10         vceq.f32        q8, q8, q9
11
12 @ CHECK: vceq.i8        d16, d16, d17   @ encoding: [0xb1,0x08,0x40,0xf3]
13 @ CHECK: vceq.i16       d16, d16, d17   @ encoding: [0xb1,0x08,0x50,0xf3]
14 @ CHECK: vceq.i32       d16, d16, d17   @ encoding: [0xb1,0x08,0x60,0xf3]
15 @ CHECK: vceq.f32       d16, d16, d17   @ encoding: [0xa1,0x0e,0x40,0xf2]
16 @ CHECK: vceq.i8        q8, q8, q9      @ encoding: [0xf2,0x08,0x40,0xf3]
17 @ CHECK: vceq.i16       q8, q8, q9      @ encoding: [0xf2,0x08,0x50,0xf3]
18 @ CHECK: vceq.i32       q8, q8, q9      @ encoding: [0xf2,0x08,0x60,0xf3]
19 @ CHECK: vceq.f32       q8, q8, q9      @ encoding: [0xe2,0x0e,0x40,0xf2]
20
21         vcge.s8 d16, d16, d17
22         vcge.s16        d16, d16, d17
23         vcge.s32        d16, d16, d17
24         vcge.u8 d16, d16, d17
25         vcge.u16        d16, d16, d17
26         vcge.u32        d16, d16, d17
27         vcge.f32        d16, d16, d17
28         vcge.s8 q8, q8, q9
29         vcge.s16        q8, q8, q9
30         vcge.s32        q8, q8, q9
31         vcge.u8 q8, q8, q9
32         vcge.u16        q8, q8, q9
33         vcge.u32        q8, q8, q9
34         vcge.f32        q8, q8, q9
35         vacge.f32       d16, d16, d17
36         vacge.f32       q8, q8, q9
37
38 @ CHECK: vcge.s8        d16, d16, d17   @ encoding: [0xb1,0x03,0x40,0xf2]
39 @ CHECK: vcge.s16       d16, d16, d17   @ encoding: [0xb1,0x03,0x50,0xf2]
40 @ CHECK: vcge.s32       d16, d16, d17   @ encoding: [0xb1,0x03,0x60,0xf2]
41 @ CHECK: vcge.u8        d16, d16, d17   @ encoding: [0xb1,0x03,0x40,0xf3]
42 @ CHECK: vcge.u16       d16, d16, d17   @ encoding: [0xb1,0x03,0x50,0xf3]
43 @ CHECK: vcge.u32       d16, d16, d17   @ encoding: [0xb1,0x03,0x60,0xf3]
44 @ CHECK: vcge.f32       d16, d16, d17   @ encoding: [0xa1,0x0e,0x40,0xf3]
45 @ CHECK: vcge.s8        q8, q8, q9      @ encoding: [0xf2,0x03,0x40,0xf2]
46 @ CHECK: vcge.s16       q8, q8, q9      @ encoding: [0xf2,0x03,0x50,0xf2]
47 @ CHECK: vcge.s32       q8, q8, q9      @ encoding: [0xf2,0x03,0x60,0xf2]
48 @ CHECK: vcge.u8        q8, q8, q9      @ encoding: [0xf2,0x03,0x40,0xf3]
49 @ CHECK: vcge.u16       q8, q8, q9      @ encoding: [0xf2,0x03,0x50,0xf3]
50 @ CHECK: vcge.u32       q8, q8, q9      @ encoding: [0xf2,0x03,0x60,0xf3]
51 @ CHECK: vcge.f32       q8, q8, q9      @ encoding: [0xe2,0x0e,0x40,0xf3]
52 @ CHECK: vacge.f32      d16, d16, d17   @ encoding: [0xb1,0x0e,0x40,0xf3]
53 @ CHECK: vacge.f32      q8, q8, q9      @ encoding: [0xf2,0x0e,0x40,0xf3]
54
55         vcgt.s8 d16, d16, d17
56         vcgt.s16        d16, d16, d17
57         vcgt.s32        d16, d16, d17
58         vcgt.u8 d16, d16, d17
59         vcgt.u16        d16, d16, d17
60         vcgt.u32        d16, d16, d17
61         vcgt.f32        d16, d16, d17
62         vcgt.s8 q8, q8, q9
63         vcgt.s16        q8, q8, q9
64         vcgt.s32        q8, q8, q9
65         vcgt.u8 q8, q8, q9
66         vcgt.u16        q8, q8, q9
67         vcgt.u32        q8, q8, q9
68         vcgt.f32        q8, q8, q9
69         vacgt.f32       d16, d16, d17
70         vacgt.f32       q8, q8, q9
71
72 @ CHECK: vcgt.s8        d16, d16, d17   @ encoding: [0xa1,0x03,0x40,0xf2]
73 @ CHECK: vcgt.s16       d16, d16, d17   @ encoding: [0xa1,0x03,0x50,0xf2]
74 @ CHECK: vcgt.s32       d16, d16, d17   @ encoding: [0xa1,0x03,0x60,0xf2]
75 @ CHECK: vcgt.u8        d16, d16, d17   @ encoding: [0xa1,0x03,0x40,0xf3]
76 @ CHECK: vcgt.u16       d16, d16, d17   @ encoding: [0xa1,0x03,0x50,0xf3]
77 @ CHECK: vcgt.u32       d16, d16, d17   @ encoding: [0xa1,0x03,0x60,0xf3]
78 @ CHECK: vcgt.f32       d16, d16, d17   @ encoding: [0xa1,0x0e,0x60,0xf3]
79 @ CHECK: vcgt.s8        q8, q8, q9      @ encoding: [0xe2,0x03,0x40,0xf2]
80 @ CHECK: vcgt.s16       q8, q8, q9      @ encoding: [0xe2,0x03,0x50,0xf2]
81 @ CHECK: vcgt.s32       q8, q8, q9      @ encoding: [0xe2,0x03,0x60,0xf2]
82 @ CHECK: vcgt.u8        q8, q8, q9      @ encoding: [0xe2,0x03,0x40,0xf3]
83 @ CHECK: vcgt.u16       q8, q8, q9      @ encoding: [0xe2,0x03,0x50,0xf3]
84 @ CHECK: vcgt.u32       q8, q8, q9      @ encoding: [0xe2,0x03,0x60,0xf3]
85 @ CHECK: vcgt.f32       q8, q8, q9      @ encoding: [0xe2,0x0e,0x60,0xf3]
86 @ CHECK: vacgt.f32      d16, d16, d17   @ encoding: [0xb1,0x0e,0x60,0xf3]
87 @ CHECK: vacgt.f32      q8, q8, q9      @ encoding: [0xf2,0x0e,0x60,0xf3]
88
89         vtst.8  d16, d16, d17
90         vtst.16 d16, d16, d17
91         vtst.32 d16, d16, d17
92         vtst.8  q8, q8, q9
93         vtst.16 q8, q8, q9
94         vtst.32 q8, q8, q9
95
96 @ CHECK: vtst.8 d16, d16, d17           @ encoding: [0xb1,0x08,0x40,0xf2]
97 @ CHECK: vtst.16        d16, d16, d17   @ encoding: [0xb1,0x08,0x50,0xf2]
98 @ CHECK: vtst.32        d16, d16, d17   @ encoding: [0xb1,0x08,0x60,0xf2]
99 @ CHECK: vtst.8 q8, q8, q9              @ encoding: [0xf2,0x08,0x40,0xf2]
100 @ CHECK: vtst.16        q8, q8, q9      @ encoding: [0xf2,0x08,0x50,0xf2]
101 @ CHECK: vtst.32        q8, q8, q9      @ encoding: [0xf2,0x08,0x60,0xf2]
102
103         vceq.i8 d16, d16, #0
104         vcge.s8 d16, d16, #0
105         vcle.s8 d16, d16, #0
106         vcgt.s8 d16, d16, #0
107         vclt.s8 d16, d16, #0
108
109 @ CHECK: vceq.i8        d16, d16, #0    @ encoding: [0x20,0x01,0xf1,0xf3]
110 @ CHECK: vcge.s8        d16, d16, #0    @ encoding: [0xa0,0x00,0xf1,0xf3]
111 @ CHECK: vcle.s8        d16, d16, #0    @ encoding: [0xa0,0x01,0xf1,0xf3]
112 @ CHECK: vcgt.s8        d16, d16, #0    @ encoding: [0x20,0x00,0xf1,0xf3]
113 @ CHECK: vclt.s8        d16, d16, #0    @ encoding: [0x20,0x02,0xf1,0xf3]