blob: b3aedb8e52ecd866911d66eb4572dccec35dae76 [file] [log] [blame]
Bob Wilson8d1b7e52010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersonafe18c72010-10-29 18:58:30 +00002
Owen Andersonafe18c72010-10-29 18:58:30 +00003 vceq.i8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +00004 vceq.i16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +00005 vceq.i32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +00006 vceq.f32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +00007 vceq.i8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +00008 vceq.i16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +00009 vceq.i32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000010 vceq.f32 q8, q8, q9
11
Jim Grosbach29e7b7d2011-08-11 23:57:17 +000012@ 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
Owen Andersonafe18c72010-10-29 18:58:30 +000021 vcge.s8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000022 vcge.s16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000023 vcge.s32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000024 vcge.u8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000025 vcge.u16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000026 vcge.u32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000027 vcge.f32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000028 vcge.s8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000029 vcge.s16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000030 vcge.s32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000031 vcge.u8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000032 vcge.u16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000033 vcge.u32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000034 vcge.f32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000035 vacge.f32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000036 vacge.f32 q8, q8, q9
37
Jim Grosbach29e7b7d2011-08-11 23:57:17 +000038@ 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
Owen Andersonafe18c72010-10-29 18:58:30 +000055 vcgt.s8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000056 vcgt.s16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000057 vcgt.s32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000058 vcgt.u8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000059 vcgt.u16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000060 vcgt.u32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000061 vcgt.f32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000062 vcgt.s8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000063 vcgt.s16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000064 vcgt.s32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000065 vcgt.u8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000066 vcgt.u16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000067 vcgt.u32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000068 vcgt.f32 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000069 vacgt.f32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000070 vacgt.f32 q8, q8, q9
71
Jim Grosbach29e7b7d2011-08-11 23:57:17 +000072@ 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
Owen Andersonafe18c72010-10-29 18:58:30 +000089 vtst.8 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000090 vtst.16 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000091 vtst.32 d16, d16, d17
Owen Andersonafe18c72010-10-29 18:58:30 +000092 vtst.8 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000093 vtst.16 q8, q8, q9
Owen Andersonafe18c72010-10-29 18:58:30 +000094 vtst.32 q8, q8, q9
Owen Andersonc24cb352010-11-08 23:21:22 +000095
Jim Grosbach29e7b7d2011-08-11 23:57:17 +000096@ 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]
Jim Grosbach470855b2011-12-07 17:51:15 +0000114
115
116 vclt.s8 q12, q13, q3
117 vclt.s16 q12, q13, q3
118 vclt.s32 q12, q13, q3
119 vclt.u8 q12, q13, q3
120 vclt.u16 q12, q13, q3
121 vclt.u32 q12, q13, q3
122 vclt.f32 q12, q13, q3
123
124 vclt.s8 d12, d13, d3
125 vclt.s16 d12, d13, d3
126 vclt.s32 d12, d13, d3
127 vclt.u8 d12, d13, d3
128 vclt.u16 d12, d13, d3
129 vclt.u32 d12, d13, d3
130 vclt.f32 d12, d13, d3
131
132@ CHECK: vcgt.s8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf2]
133@ CHECK: vcgt.s16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf2]
134@ CHECK: vcgt.s32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf2]
135@ CHECK: vcgt.u8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf3]
136@ CHECK: vcgt.u16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf3]
137@ CHECK: vcgt.u32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf3]
138@ CHECK: vcgt.f32 q12, q3, q13 @ encoding: [0x6a,0x8e,0x66,0xf3]
139
140@ CHECK: vcgt.s8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf2]
141@ CHECK: vcgt.s16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf2]
142@ CHECK: vcgt.s32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf2]
143@ CHECK: vcgt.u8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf3]
144@ CHECK: vcgt.u16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf3]
145@ CHECK: vcgt.u32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf3]
146@ CHECK: vcgt.f32 d12, d3, d13 @ encoding: [0x0d,0xce,0x23,0xf3]
Jim Grosbacha738da72011-12-15 22:56:33 +0000147
148 vcle.s8 d16, d16, d17
149 vcle.s16 d16, d16, d17
150 vcle.s32 d16, d16, d17
151 vcle.u8 d16, d16, d17
152 vcle.u16 d16, d16, d17
153 vcle.u32 d16, d16, d17
154 vcle.f32 d16, d16, d17
155 vcle.s8 q8, q8, q9
156 vcle.s16 q8, q8, q9
157 vcle.s32 q8, q8, q9
158 vcle.u8 q8, q8, q9
159 vcle.u16 q8, q8, q9
160 vcle.u32 q8, q8, q9
161 vcle.f32 q8, q8, q9
162
163@ CHECK: vcge.s8 d16, d17, d16 @ encoding: [0xb0,0x03,0x41,0xf2]
164@ CHECK: vcge.s16 d16, d17, d16 @ encoding: [0xb0,0x03,0x51,0xf2]
165@ CHECK: vcge.s32 d16, d17, d16 @ encoding: [0xb0,0x03,0x61,0xf2]
166@ CHECK: vcge.u8 d16, d17, d16 @ encoding: [0xb0,0x03,0x41,0xf3]
167@ CHECK: vcge.u16 d16, d17, d16 @ encoding: [0xb0,0x03,0x51,0xf3]
168@ CHECK: vcge.u32 d16, d17, d16 @ encoding: [0xb0,0x03,0x61,0xf3]
169@ CHECK: vcge.f32 d16, d17, d16 @ encoding: [0xa0,0x0e,0x41,0xf3]
170@ CHECK: vcge.s8 q8, q9, q8 @ encoding: [0xf0,0x03,0x42,0xf2]
171@ CHECK: vcge.s16 q8, q9, q8 @ encoding: [0xf0,0x03,0x52,0xf2]
172@ CHECK: vcge.s32 q8, q9, q8 @ encoding: [0xf0,0x03,0x62,0xf2]
173@ CHECK: vcge.u8 q8, q9, q8 @ encoding: [0xf0,0x03,0x42,0xf3]
174@ CHECK: vcge.u16 q8, q9, q8 @ encoding: [0xf0,0x03,0x52,0xf3]
175@ CHECK: vcge.u32 q8, q9, q8 @ encoding: [0xf0,0x03,0x62,0xf3]
176@ CHECK: vcge.f32 q8, q9, q8 @ encoding: [0xe0,0x0e,0x42,0xf3]