blob: b592f1ee499d4bfda30c4980bc2044d078539b27 [file] [log] [blame]
Bill Wendling933b3142010-11-01 21:16:39 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
Bill Wendling52925b62010-10-29 23:50:21 +00002
Bill Wendling933b3142010-11-01 21:16:39 +00003@ CHECK: vadd.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x71,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +00004 vadd.f64 d16, d17, d16
Owen Anderson0da10cf2011-08-29 19:36:44 +00005
Bill Wendling933b3142010-11-01 21:16:39 +00006@ CHECK: vadd.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x30,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +00007 vadd.f32 s0, s1, s0
8
Bill Wendling933b3142010-11-01 21:16:39 +00009@ CHECK: vsub.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x71,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000010 vsub.f64 d16, d17, d16
11
Bill Wendling933b3142010-11-01 21:16:39 +000012@ CHECK: vsub.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x30,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000013 vsub.f32 s0, s1, s0
14
Bill Wendling933b3142010-11-01 21:16:39 +000015@ CHECK: vdiv.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0xc1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000016 vdiv.f64 d16, d17, d16
17
Bill Wendling933b3142010-11-01 21:16:39 +000018@ CHECK: vdiv.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x80,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000019 vdiv.f32 s0, s1, s0
20
Bill Wendling933b3142010-11-01 21:16:39 +000021@ CHECK: vmul.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x61,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000022 vmul.f64 d16, d17, d16
23
Jim Grosbachbfb0a172011-11-15 20:14:51 +000024@ CHECK: vmul.f64 d20, d20, d17 @ encoding: [0xa1,0x4b,0x64,0xee]
25 vmul.f64 d20, d17
26
Bill Wendling933b3142010-11-01 21:16:39 +000027@ CHECK: vmul.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x20,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000028 vmul.f32 s0, s1, s0
29
Jim Grosbachbfb0a172011-11-15 20:14:51 +000030@ CHECK: vmul.f32 s11, s11, s21 @ encoding: [0xaa,0x5a,0x65,0xee]
31 vmul.f32 s11, s21
32
Bill Wendling933b3142010-11-01 21:16:39 +000033@ CHECK: vnmul.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x61,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000034 vnmul.f64 d16, d17, d16
35
Bill Wendling933b3142010-11-01 21:16:39 +000036@ CHECK: vnmul.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x20,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000037 vnmul.f32 s0, s1, s0
38
Bill Wendling933b3142010-11-01 21:16:39 +000039@ CHECK: vcmpe.f64 d17, d16 @ encoding: [0xe0,0x1b,0xf4,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000040 vcmpe.f64 d17, d16
41
Bill Wendling933b3142010-11-01 21:16:39 +000042@ CHECK: vcmpe.f32 s1, s0 @ encoding: [0xc0,0x0a,0xf4,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000043 vcmpe.f32 s1, s0
44
Jim Grosbach68259142011-10-03 22:30:24 +000045@ CHECK: vcmpe.f64 d16, #0 @ encoding: [0xc0,0x0b,0xf5,0xee]
46 vcmpe.f64 d16, #0
Bill Wendling52925b62010-10-29 23:50:21 +000047
Jim Grosbach68259142011-10-03 22:30:24 +000048@ CHECK: vcmpe.f32 s0, #0 @ encoding: [0xc0,0x0a,0xb5,0xee]
49 vcmpe.f32 s0, #0
Bill Wendling52925b62010-10-29 23:50:21 +000050
Bill Wendling933b3142010-11-01 21:16:39 +000051@ CHECK: vabs.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf0,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000052 vabs.f64 d16, d16
53
Bill Wendling933b3142010-11-01 21:16:39 +000054@ CHECK: vabs.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb0,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000055 vabs.f32 s0, s0
Owen Anderson0da10cf2011-08-29 19:36:44 +000056
Bill Wendling933b3142010-11-01 21:16:39 +000057@ CHECK: vcvt.f32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xb7,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000058 vcvt.f32.f64 s0, d16
59
Bill Wendling933b3142010-11-01 21:16:39 +000060@ CHECK: vcvt.f64.f32 d16, s0 @ encoding: [0xc0,0x0a,0xf7,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000061 vcvt.f64.f32 d16, s0
62
Bill Wendling933b3142010-11-01 21:16:39 +000063@ CHECK: vneg.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000064 vneg.f64 d16, d16
65
Bill Wendling933b3142010-11-01 21:16:39 +000066@ CHECK: vneg.f32 s0, s0 @ encoding: [0x40,0x0a,0xb1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000067 vneg.f32 s0, s0
68
Bill Wendling933b3142010-11-01 21:16:39 +000069@ CHECK: vsqrt.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000070 vsqrt.f64 d16, d16
71
Bill Wendling933b3142010-11-01 21:16:39 +000072@ CHECK: vsqrt.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000073 vsqrt.f32 s0, s0
74
Bill Wendling933b3142010-11-01 21:16:39 +000075@ CHECK: vcvt.f64.s32 d16, s0 @ encoding: [0xc0,0x0b,0xf8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000076 vcvt.f64.s32 d16, s0
77
Bill Wendling933b3142010-11-01 21:16:39 +000078@ CHECK: vcvt.f32.s32 s0, s0 @ encoding: [0xc0,0x0a,0xb8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000079 vcvt.f32.s32 s0, s0
80
Bill Wendling933b3142010-11-01 21:16:39 +000081@ CHECK: vcvt.f64.u32 d16, s0 @ encoding: [0x40,0x0b,0xf8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000082 vcvt.f64.u32 d16, s0
83
Bill Wendling933b3142010-11-01 21:16:39 +000084@ CHECK: vcvt.f32.u32 s0, s0 @ encoding: [0x40,0x0a,0xb8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000085 vcvt.f32.u32 s0, s0
86
Bill Wendling933b3142010-11-01 21:16:39 +000087@ CHECK: vcvt.s32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbd,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000088 vcvt.s32.f64 s0, d16
89
Bill Wendling933b3142010-11-01 21:16:39 +000090@ CHECK: vcvt.s32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbd,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000091 vcvt.s32.f32 s0, s0
92
Bill Wendling933b3142010-11-01 21:16:39 +000093@ CHECK: vcvt.u32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbc,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000094 vcvt.u32.f64 s0, d16
95
Bill Wendling933b3142010-11-01 21:16:39 +000096@ CHECK: vcvt.u32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbc,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +000097 vcvt.u32.f32 s0, s0
98
Bill Wendling933b3142010-11-01 21:16:39 +000099@ CHECK: vmla.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x42,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000100 vmla.f64 d16, d18, d17
101
Bill Wendling933b3142010-11-01 21:16:39 +0000102@ CHECK: vmla.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x41,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000103 vmla.f32 s1, s2, s0
104
Bill Wendling933b3142010-11-01 21:16:39 +0000105@ CHECK: vmls.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x42,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000106 vmls.f64 d16, d18, d17
107
Bill Wendling933b3142010-11-01 21:16:39 +0000108@ CHECK: vmls.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x41,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000109 vmls.f32 s1, s2, s0
110
Bill Wendling933b3142010-11-01 21:16:39 +0000111@ CHECK: vnmla.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x52,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000112 vnmla.f64 d16, d18, d17
113
Bill Wendling933b3142010-11-01 21:16:39 +0000114@ CHECK: vnmla.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x51,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000115 vnmla.f32 s1, s2, s0
116
Bill Wendling933b3142010-11-01 21:16:39 +0000117@ CHECK: vnmls.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x52,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000118 vnmls.f64 d16, d18, d17
119
Bill Wendling933b3142010-11-01 21:16:39 +0000120@ CHECK: vnmls.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x51,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000121 vnmls.f32 s1, s2, s0
122
Jim Grosbachb84ad4a2012-03-15 21:34:14 +0000123 vmrs APSR_nzcv, fpscr
Jim Grosbach5cd5ac62011-10-03 21:12:43 +0000124 vmrs apsr_nzcv, fpscr
125 fmstat
Jim Grosbach9426ac72012-03-16 00:27:18 +0000126 vmrs r2, fpsid
127 vmrs r3, FPSID
128 vmrs r4, mvfr0
129 vmrs r5, MVFR1
130
131@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
132@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
133@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
134@ CHECK: vmrs r2, fpsid @ encoding: [0x10,0x2a,0xf0,0xee]
135@ CHECK: vmrs r3, fpsid @ encoding: [0x10,0x3a,0xf0,0xee]
136@ CHECK: vmrs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0xee]
137@ CHECK: vmrs r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0xee]
Owen Anderson0da10cf2011-08-29 19:36:44 +0000138
Bill Wendling933b3142010-11-01 21:16:39 +0000139@ CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e]
Bill Wendling52925b62010-10-29 23:50:21 +0000140 vnegne.f64 d16, d16
141
Bill Wendling933b3142010-11-01 21:16:39 +0000142@ CHECK: vmovne s0, r0 @ encoding: [0x10,0x0a,0x00,0x1e]
143@ CHECK: vmoveq s0, r1 @ encoding: [0x10,0x1a,0x00,0x0e]
Bill Wendling52925b62010-10-29 23:50:21 +0000144 vmovne s0, r0
145 vmoveq s0, r1
146
Jim Grosbacha68e90c2011-11-15 20:29:42 +0000147 vmov.f32 r1, s2
148 vmov.f32 s4, r3
149 vmov.f64 r1, r5, d2
150 vmov.f64 d4, r3, r9
151
152@ CHECK: vmov r1, s2 @ encoding: [0x10,0x1a,0x11,0xee]
153@ CHECK: vmov s4, r3 @ encoding: [0x10,0x3a,0x02,0xee]
154@ CHECK: vmov r1, r5, d2 @ encoding: [0x12,0x1b,0x55,0xec]
155@ CHECK: vmov d4, r3, r9 @ encoding: [0x14,0x3b,0x49,0xec]
156
Bill Wendling933b3142010-11-01 21:16:39 +0000157@ CHECK: vmrs r0, fpscr @ encoding: [0x10,0x0a,0xf1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000158 vmrs r0, fpscr
Bruno Cardoso Lopes61505902011-01-18 21:58:20 +0000159@ CHECK: vmrs r0, fpexc @ encoding: [0x10,0x0a,0xf8,0xee]
160 vmrs r0, fpexc
161@ CHECK: vmrs r0, fpsid @ encoding: [0x10,0x0a,0xf0,0xee]
162 vmrs r0, fpsid
Bill Wendling52925b62010-10-29 23:50:21 +0000163
Bill Wendling933b3142010-11-01 21:16:39 +0000164@ CHECK: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000165 vmsr fpscr, r0
Bruno Cardoso Lopes61505902011-01-18 21:58:20 +0000166@ CHECK: vmsr fpexc, r0 @ encoding: [0x10,0x0a,0xe8,0xee]
167 vmsr fpexc, r0
168@ CHECK: vmsr fpsid, r0 @ encoding: [0x10,0x0a,0xe0,0xee]
169 vmsr fpsid, r0
Bill Wendling52925b62010-10-29 23:50:21 +0000170
Jim Grosbach9d390362011-10-03 23:38:36 +0000171 vmov.f64 d16, #3.000000e+00
172 vmov.f32 s0, #3.000000e+00
173 vmov.f64 d16, #-3.000000e+00
174 vmov.f32 s0, #-3.000000e+00
Bill Wendling52925b62010-10-29 23:50:21 +0000175
Jim Grosbach9d390362011-10-03 23:38:36 +0000176@ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
177@ CHECK: vmov.f32 s0, #3.000000e+00 @ encoding: [0x08,0x0a,0xb0,0xee]
178@ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]
179@ CHECK: vmov.f32 s0, #-3.000000e+00 @ encoding: [0x08,0x0a,0xb8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000180
Bill Wendling933b3142010-11-01 21:16:39 +0000181@ CHECK: vmov s0, r0 @ encoding: [0x10,0x0a,0x00,0xee]
182@ CHECK: vmov s1, r1 @ encoding: [0x90,0x1a,0x00,0xee]
183@ CHECK: vmov s2, r2 @ encoding: [0x10,0x2a,0x01,0xee]
184@ CHECK: vmov s3, r3 @ encoding: [0x90,0x3a,0x01,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000185 vmov s0, r0
186 vmov s1, r1
187 vmov s2, r2
188 vmov s3, r3
189
Bill Wendling933b3142010-11-01 21:16:39 +0000190@ CHECK: vmov r0, s0 @ encoding: [0x10,0x0a,0x10,0xee]
191@ CHECK: vmov r1, s1 @ encoding: [0x90,0x1a,0x10,0xee]
192@ CHECK: vmov r2, s2 @ encoding: [0x10,0x2a,0x11,0xee]
193@ CHECK: vmov r3, s3 @ encoding: [0x90,0x3a,0x11,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000194 vmov r0, s0
195 vmov r1, s1
196 vmov r2, s2
197 vmov r3, s3
198
Bill Wendling933b3142010-11-01 21:16:39 +0000199@ CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec]
Bill Wendling52925b62010-10-29 23:50:21 +0000200 vmov r0, r1, d16
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000201
Jim Grosbachffc658b2011-11-14 23:03:21 +0000202@ CHECK: vldr d17, [r0] @ encoding: [0x00,0x1b,0xd0,0xed]
203@ CHECK: vldr s0, [lr] @ encoding: [0x00,0x0a,0x9e,0xed]
204@ CHECK: vldr d0, [lr] @ encoding: [0x00,0x0b,0x9e,0xed]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000205
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000206 vldr.64 d17, [r0]
Jim Grosbachffc658b2011-11-14 23:03:21 +0000207 vldr.i32 s0, [lr]
208 vldr.d d0, [lr]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000209
Jim Grosbachffc658b2011-11-14 23:03:21 +0000210@ CHECK: vldr d1, [r2, #32] @ encoding: [0x08,0x1b,0x92,0xed]
211@ CHECK: vldr d1, [r2, #-32] @ encoding: [0x08,0x1b,0x12,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000212 vldr.64 d1, [r2, #32]
Jim Grosbachffc658b2011-11-14 23:03:21 +0000213 vldr.f64 d1, [r2, #-32]
Owen Anderson0da10cf2011-08-29 19:36:44 +0000214
Jim Grosbachffc658b2011-11-14 23:03:21 +0000215@ CHECK: vldr d2, [r3] @ encoding: [0x00,0x2b,0x93,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000216 vldr.64 d2, [r3]
217
Jim Grosbachffc658b2011-11-14 23:03:21 +0000218@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
219@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
220@ CHECK: vldr d3, [pc, #-0] @ encoding: [0x00,0x3b,0x1f,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000221 vldr.64 d3, [pc]
222 vldr.64 d3, [pc,#0]
223 vldr.64 d3, [pc,#-0]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000224
Jim Grosbachffc658b2011-11-14 23:03:21 +0000225@ CHECK: vldr s13, [r0] @ encoding: [0x00,0x6a,0xd0,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000226 vldr.32 s13, [r0]
227
Jim Grosbachffc658b2011-11-14 23:03:21 +0000228@ CHECK: vldr s1, [r2, #32] @ encoding: [0x08,0x0a,0xd2,0xed]
229@ CHECK: vldr s1, [r2, #-32] @ encoding: [0x08,0x0a,0x52,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000230 vldr.32 s1, [r2, #32]
231 vldr.32 s1, [r2, #-32]
Owen Anderson0da10cf2011-08-29 19:36:44 +0000232
Jim Grosbachffc658b2011-11-14 23:03:21 +0000233@ CHECK: vldr s2, [r3] @ encoding: [0x00,0x1a,0x93,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000234 vldr.32 s2, [r3]
235
Jim Grosbachffc658b2011-11-14 23:03:21 +0000236@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
237@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
238@ CHECK: vldr s5, [pc, #-0] @ encoding: [0x00,0x2a,0x5f,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000239 vldr.32 s5, [pc]
240 vldr.32 s5, [pc,#0]
241 vldr.32 s5, [pc,#-0]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000242
Jim Grosbachffc658b2011-11-14 23:03:21 +0000243@ CHECK: vstr d4, [r1] @ encoding: [0x00,0x4b,0x81,0xed]
244@ CHECK: vstr d4, [r1, #24] @ encoding: [0x06,0x4b,0x81,0xed]
245@ CHECK: vstr d4, [r1, #-24] @ encoding: [0x06,0x4b,0x01,0xed]
246@ CHECK: vstr s0, [lr] @ encoding: [0x00,0x0a,0x8e,0xed]
247@ CHECK: vstr d0, [lr] @ encoding: [0x00,0x0b,0x8e,0xed]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000248
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000249 vstr.64 d4, [r1]
250 vstr.64 d4, [r1, #24]
251 vstr.64 d4, [r1, #-24]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000252 vstr s0, [lr]
253 vstr d0, [lr]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000254
Jim Grosbachffc658b2011-11-14 23:03:21 +0000255@ CHECK: vstr s4, [r1] @ encoding: [0x00,0x2a,0x81,0xed]
256@ CHECK: vstr s4, [r1, #24] @ encoding: [0x06,0x2a,0x81,0xed]
257@ CHECK: vstr s4, [r1, #-24] @ encoding: [0x06,0x2a,0x01,0xed]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000258 vstr.32 s4, [r1]
259 vstr.32 s4, [r1, #24]
260 vstr.32 s4, [r1, #-24]
Bill Wendling0f630752010-11-17 04:32:08 +0000261
262@ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]
263@ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]
264 vldmia r1, {d2,d3-d6,d7}
265 vldmia r1, {s2,s3-s6,s7}
266
267@ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]
268@ CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]
Jim Grosbachce485e72011-11-11 21:27:40 +0000269@ CHECK: vpush {d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]
Bill Wendling0f630752010-11-17 04:32:08 +0000270 vstmia r1, {d2,d3-d6,d7}
271 vstmia r1, {s2,s3-s6,s7}
Jim Grosbachce485e72011-11-11 21:27:40 +0000272 vstmdb sp!, {q4-q7}
Bruno Cardoso Lopes106df6d2011-01-26 13:53:38 +0000273
274@ CHECK: vcvtr.s32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]
275@ CHECK: vcvtr.s32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]
276@ CHECK: vcvtr.u32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]
277@ CHECK: vcvtr.u32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]
278 vcvtr.s32.f64 s0, d0
279 vcvtr.s32.f32 s0, s1
280 vcvtr.u32.f64 s0, d0
281 vcvtr.u32.f32 s0, s1
Owen Anderson694e0ff2011-08-29 23:15:25 +0000282
283@ CHECK: vmovne s25, s26, r2, r5
284 vmovne s25, s26, r2, r5 @ encoding: [0x39,0x2a,0x45,0x1c]
Jim Grosbachaf33a0c2011-12-21 23:24:15 +0000285
286@ VMOV w/ optional data type suffix.
287 vmov.32 s1, r8
288 vmov.s16 s2, r4
289 vmov.16 s3, r6
290 vmov.u32 s4, r1
291 vmov.p8 s5, r2
292 vmov.8 s6, r3
293
294 vmov.32 r1, s8
295 vmov.s16 r2, s4
296 vmov.16 r3, s6
297 vmov.u32 r4, s1
298 vmov.p8 r5, s2
299 vmov.8 r6, s3
300
301@ CHECK: vmov s1, r8 @ encoding: [0x90,0x8a,0x00,0xee]
302@ CHECK: vmov s2, r4 @ encoding: [0x10,0x4a,0x01,0xee]
303@ CHECK: vmov s3, r6 @ encoding: [0x90,0x6a,0x01,0xee]
304@ CHECK: vmov s4, r1 @ encoding: [0x10,0x1a,0x02,0xee]
305@ CHECK: vmov s5, r2 @ encoding: [0x90,0x2a,0x02,0xee]
306@ CHECK: vmov s6, r3 @ encoding: [0x10,0x3a,0x03,0xee]
307@ CHECK: vmov r1, s8 @ encoding: [0x10,0x1a,0x14,0xee]
308@ CHECK: vmov r2, s4 @ encoding: [0x10,0x2a,0x12,0xee]
309@ CHECK: vmov r3, s6 @ encoding: [0x10,0x3a,0x13,0xee]
310@ CHECK: vmov r4, s1 @ encoding: [0x90,0x4a,0x10,0xee]
311@ CHECK: vmov r5, s2 @ encoding: [0x10,0x5a,0x11,0xee]
312@ CHECK: vmov r6, s3 @ encoding: [0x90,0x6a,0x11,0xee]
Jim Grosbach4050bc42011-12-22 22:19:05 +0000313
314
315@ VCVT (between floating-point and fixed-point)
Kristof Beyls8a6bcc32012-03-15 17:50:29 +0000316 vcvt.f32.u32 s0, s0, #20
Jim Grosbach4050bc42011-12-22 22:19:05 +0000317 vcvt.f64.s32 d0, d0, #32
318 vcvt.f32.u16 s0, s0, #1
319 vcvt.f64.s16 d0, d0, #16
Kristof Beyls8a6bcc32012-03-15 17:50:29 +0000320 vcvt.f32.s32 s1, s1, #20
321 vcvt.f64.u32 d20, d20, #32
322 vcvt.f32.s16 s17, s17, #1
323 vcvt.f64.u16 d23, d23, #16
324 vcvt.u32.f32 s12, s12, #20
325 vcvt.s32.f64 d2, d2, #32
326 vcvt.u16.f32 s28, s28, #1
327 vcvt.s16.f64 d15, d15, #16
328 vcvt.s32.f32 s1, s1, #20
329 vcvt.u32.f64 d20, d20, #32
330 vcvt.s16.f32 s17, s17, #1
331 vcvt.u16.f64 d23, d23, #16
Jim Grosbach4050bc42011-12-22 22:19:05 +0000332
333@ CHECK: vcvt.f32.u32 s0, s0, #20 @ encoding: [0xc6,0x0a,0xbb,0xee]
334@ CHECK: vcvt.f64.s32 d0, d0, #32 @ encoding: [0xc0,0x0b,0xba,0xee]
335@ CHECK: vcvt.f32.u16 s0, s0, #1 @ encoding: [0x67,0x0a,0xbb,0xee]
336@ CHECK: vcvt.f64.s16 d0, d0, #16 @ encoding: [0x40,0x0b,0xba,0xee]
Kristof Beyls8a6bcc32012-03-15 17:50:29 +0000337@ CHECK: vcvt.f32.s32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfa,0xee]
338@ CHECK: vcvt.f64.u32 d20, d20, #32 @ encoding: [0xc0,0x4b,0xfb,0xee]
339@ CHECK: vcvt.f32.s16 s17, s17, #1 @ encoding: [0x67,0x8a,0xfa,0xee]
340@ CHECK: vcvt.f64.u16 d23, d23, #16 @ encoding: [0x40,0x7b,0xfb,0xee]
341
342@ CHECK: vcvt.u32.f32 s12, s12, #20 @ encoding: [0xc6,0x6a,0xbf,0xee]
343@ CHECK: vcvt.s32.f64 d2, d2, #32 @ encoding: [0xc0,0x2b,0xbe,0xee]
344@ CHECK: vcvt.u16.f32 s28, s28, #1 @ encoding: [0x67,0xea,0xbf,0xee]
345@ CHECK: vcvt.s16.f64 d15, d15, #16 @ encoding: [0x40,0xfb,0xbe,0xee]
346@ CHECK: vcvt.s32.f32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfe,0xee]
347@ CHECK: vcvt.u32.f64 d20, d20, #32 @ encoding: [0xc0,0x4b,0xff,0xee]
348@ CHECK: vcvt.s16.f32 s17, s17, #1 @ encoding: [0x67,0x8a,0xfe,0xee]
349@ CHECK: vcvt.u16.f64 d23, d23, #16 @ encoding: [0x40,0x7b,0xff,0xee]
Jim Grosbach51222d12012-01-20 18:09:51 +0000350
351
352@ Use NEON to load some f32 immediates that don't fit the f8 representation.
353 vmov.f32 d4, #0.0
354 vmov.f32 d4, #32.0
355
356@ CHECK: vmov.i32 d4, #0x0 @ encoding: [0x10,0x40,0x80,0xf2]
357@ CHECK: vmov.i32 d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2]