blob: a008d9b170dd66be85146e2fff1c653fe1bbfad1 [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 Grosbach5cd5ac62011-10-03 21:12:43 +0000123@ CHECK: vmrs apsr_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
124@ CHECK: vmrs apsr_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
125 vmrs apsr_nzcv, fpscr
126 fmstat
Owen Anderson0da10cf2011-08-29 19:36:44 +0000127
Bill Wendling933b3142010-11-01 21:16:39 +0000128@ CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e]
Bill Wendling52925b62010-10-29 23:50:21 +0000129 vnegne.f64 d16, d16
130
Bill Wendling933b3142010-11-01 21:16:39 +0000131@ CHECK: vmovne s0, r0 @ encoding: [0x10,0x0a,0x00,0x1e]
132@ CHECK: vmoveq s0, r1 @ encoding: [0x10,0x1a,0x00,0x0e]
Bill Wendling52925b62010-10-29 23:50:21 +0000133 vmovne s0, r0
134 vmoveq s0, r1
135
Jim Grosbacha68e90c2011-11-15 20:29:42 +0000136 vmov.f32 r1, s2
137 vmov.f32 s4, r3
138 vmov.f64 r1, r5, d2
139 vmov.f64 d4, r3, r9
140
141@ CHECK: vmov r1, s2 @ encoding: [0x10,0x1a,0x11,0xee]
142@ CHECK: vmov s4, r3 @ encoding: [0x10,0x3a,0x02,0xee]
143@ CHECK: vmov r1, r5, d2 @ encoding: [0x12,0x1b,0x55,0xec]
144@ CHECK: vmov d4, r3, r9 @ encoding: [0x14,0x3b,0x49,0xec]
145
Bill Wendling933b3142010-11-01 21:16:39 +0000146@ CHECK: vmrs r0, fpscr @ encoding: [0x10,0x0a,0xf1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000147 vmrs r0, fpscr
Bruno Cardoso Lopes61505902011-01-18 21:58:20 +0000148@ CHECK: vmrs r0, fpexc @ encoding: [0x10,0x0a,0xf8,0xee]
149 vmrs r0, fpexc
150@ CHECK: vmrs r0, fpsid @ encoding: [0x10,0x0a,0xf0,0xee]
151 vmrs r0, fpsid
Bill Wendling52925b62010-10-29 23:50:21 +0000152
Bill Wendling933b3142010-11-01 21:16:39 +0000153@ CHECK: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000154 vmsr fpscr, r0
Bruno Cardoso Lopes61505902011-01-18 21:58:20 +0000155@ CHECK: vmsr fpexc, r0 @ encoding: [0x10,0x0a,0xe8,0xee]
156 vmsr fpexc, r0
157@ CHECK: vmsr fpsid, r0 @ encoding: [0x10,0x0a,0xe0,0xee]
158 vmsr fpsid, r0
Bill Wendling52925b62010-10-29 23:50:21 +0000159
Jim Grosbach9d390362011-10-03 23:38:36 +0000160 vmov.f64 d16, #3.000000e+00
161 vmov.f32 s0, #3.000000e+00
162 vmov.f64 d16, #-3.000000e+00
163 vmov.f32 s0, #-3.000000e+00
Bill Wendling52925b62010-10-29 23:50:21 +0000164
Jim Grosbach9d390362011-10-03 23:38:36 +0000165@ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
166@ CHECK: vmov.f32 s0, #3.000000e+00 @ encoding: [0x08,0x0a,0xb0,0xee]
167@ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]
168@ CHECK: vmov.f32 s0, #-3.000000e+00 @ encoding: [0x08,0x0a,0xb8,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000169
Bill Wendling933b3142010-11-01 21:16:39 +0000170@ CHECK: vmov s0, r0 @ encoding: [0x10,0x0a,0x00,0xee]
171@ CHECK: vmov s1, r1 @ encoding: [0x90,0x1a,0x00,0xee]
172@ CHECK: vmov s2, r2 @ encoding: [0x10,0x2a,0x01,0xee]
173@ CHECK: vmov s3, r3 @ encoding: [0x90,0x3a,0x01,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000174 vmov s0, r0
175 vmov s1, r1
176 vmov s2, r2
177 vmov s3, r3
178
Bill Wendling933b3142010-11-01 21:16:39 +0000179@ CHECK: vmov r0, s0 @ encoding: [0x10,0x0a,0x10,0xee]
180@ CHECK: vmov r1, s1 @ encoding: [0x90,0x1a,0x10,0xee]
181@ CHECK: vmov r2, s2 @ encoding: [0x10,0x2a,0x11,0xee]
182@ CHECK: vmov r3, s3 @ encoding: [0x90,0x3a,0x11,0xee]
Bill Wendling52925b62010-10-29 23:50:21 +0000183 vmov r0, s0
184 vmov r1, s1
185 vmov r2, s2
186 vmov r3, s3
187
Bill Wendling933b3142010-11-01 21:16:39 +0000188@ CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec]
Bill Wendling52925b62010-10-29 23:50:21 +0000189 vmov r0, r1, d16
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000190
Jim Grosbachffc658b2011-11-14 23:03:21 +0000191@ CHECK: vldr d17, [r0] @ encoding: [0x00,0x1b,0xd0,0xed]
192@ CHECK: vldr s0, [lr] @ encoding: [0x00,0x0a,0x9e,0xed]
193@ CHECK: vldr d0, [lr] @ encoding: [0x00,0x0b,0x9e,0xed]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000194
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000195 vldr.64 d17, [r0]
Jim Grosbachffc658b2011-11-14 23:03:21 +0000196 vldr.i32 s0, [lr]
197 vldr.d d0, [lr]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000198
Jim Grosbachffc658b2011-11-14 23:03:21 +0000199@ CHECK: vldr d1, [r2, #32] @ encoding: [0x08,0x1b,0x92,0xed]
200@ CHECK: vldr d1, [r2, #-32] @ encoding: [0x08,0x1b,0x12,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000201 vldr.64 d1, [r2, #32]
Jim Grosbachffc658b2011-11-14 23:03:21 +0000202 vldr.f64 d1, [r2, #-32]
Owen Anderson0da10cf2011-08-29 19:36:44 +0000203
Jim Grosbachffc658b2011-11-14 23:03:21 +0000204@ CHECK: vldr d2, [r3] @ encoding: [0x00,0x2b,0x93,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000205 vldr.64 d2, [r3]
206
Jim Grosbachffc658b2011-11-14 23:03:21 +0000207@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
208@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
209@ CHECK: vldr d3, [pc, #-0] @ encoding: [0x00,0x3b,0x1f,0xed]
Bill Wendling5df0e0a2010-11-02 22:31:46 +0000210 vldr.64 d3, [pc]
211 vldr.64 d3, [pc,#0]
212 vldr.64 d3, [pc,#-0]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000213
Jim Grosbachffc658b2011-11-14 23:03:21 +0000214@ CHECK: vldr s13, [r0] @ encoding: [0x00,0x6a,0xd0,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000215 vldr.32 s13, [r0]
216
Jim Grosbachffc658b2011-11-14 23:03:21 +0000217@ CHECK: vldr s1, [r2, #32] @ encoding: [0x08,0x0a,0xd2,0xed]
218@ CHECK: vldr s1, [r2, #-32] @ encoding: [0x08,0x0a,0x52,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000219 vldr.32 s1, [r2, #32]
220 vldr.32 s1, [r2, #-32]
Owen Anderson0da10cf2011-08-29 19:36:44 +0000221
Jim Grosbachffc658b2011-11-14 23:03:21 +0000222@ CHECK: vldr s2, [r3] @ encoding: [0x00,0x1a,0x93,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000223 vldr.32 s2, [r3]
224
Jim Grosbachffc658b2011-11-14 23:03:21 +0000225@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
226@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
227@ CHECK: vldr s5, [pc, #-0] @ encoding: [0x00,0x2a,0x5f,0xed]
Bill Wendling92b5a2e2010-11-03 01:49:29 +0000228 vldr.32 s5, [pc]
229 vldr.32 s5, [pc,#0]
230 vldr.32 s5, [pc,#-0]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000231
Jim Grosbachffc658b2011-11-14 23:03:21 +0000232@ CHECK: vstr d4, [r1] @ encoding: [0x00,0x4b,0x81,0xed]
233@ CHECK: vstr d4, [r1, #24] @ encoding: [0x06,0x4b,0x81,0xed]
234@ CHECK: vstr d4, [r1, #-24] @ encoding: [0x06,0x4b,0x01,0xed]
235@ CHECK: vstr s0, [lr] @ encoding: [0x00,0x0a,0x8e,0xed]
236@ CHECK: vstr d0, [lr] @ encoding: [0x00,0x0b,0x8e,0xed]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000237
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000238 vstr.64 d4, [r1]
239 vstr.64 d4, [r1, #24]
240 vstr.64 d4, [r1, #-24]
Jim Grosbachc7352f82011-11-11 23:34:43 +0000241 vstr s0, [lr]
242 vstr d0, [lr]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000243
Jim Grosbachffc658b2011-11-14 23:03:21 +0000244@ CHECK: vstr s4, [r1] @ encoding: [0x00,0x2a,0x81,0xed]
245@ CHECK: vstr s4, [r1, #24] @ encoding: [0x06,0x2a,0x81,0xed]
246@ CHECK: vstr s4, [r1, #-24] @ encoding: [0x06,0x2a,0x01,0xed]
Bill Wendling2f46f1f2010-11-04 00:59:42 +0000247 vstr.32 s4, [r1]
248 vstr.32 s4, [r1, #24]
249 vstr.32 s4, [r1, #-24]
Bill Wendling0f630752010-11-17 04:32:08 +0000250
251@ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]
252@ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]
253 vldmia r1, {d2,d3-d6,d7}
254 vldmia r1, {s2,s3-s6,s7}
255
256@ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]
257@ CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]
Jim Grosbachce485e72011-11-11 21:27:40 +0000258@ CHECK: vpush {d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]
Bill Wendling0f630752010-11-17 04:32:08 +0000259 vstmia r1, {d2,d3-d6,d7}
260 vstmia r1, {s2,s3-s6,s7}
Jim Grosbachce485e72011-11-11 21:27:40 +0000261 vstmdb sp!, {q4-q7}
Bruno Cardoso Lopes106df6d2011-01-26 13:53:38 +0000262
263@ CHECK: vcvtr.s32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]
264@ CHECK: vcvtr.s32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]
265@ CHECK: vcvtr.u32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]
266@ CHECK: vcvtr.u32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]
267 vcvtr.s32.f64 s0, d0
268 vcvtr.s32.f32 s0, s1
269 vcvtr.u32.f64 s0, d0
270 vcvtr.u32.f32 s0, s1
Owen Anderson694e0ff2011-08-29 23:15:25 +0000271
272@ CHECK: vmovne s25, s26, r2, r5
273 vmovne s25, s26, r2, r5 @ encoding: [0x39,0x2a,0x45,0x1c]
Jim Grosbachaf33a0c2011-12-21 23:24:15 +0000274
275@ VMOV w/ optional data type suffix.
276 vmov.32 s1, r8
277 vmov.s16 s2, r4
278 vmov.16 s3, r6
279 vmov.u32 s4, r1
280 vmov.p8 s5, r2
281 vmov.8 s6, r3
282
283 vmov.32 r1, s8
284 vmov.s16 r2, s4
285 vmov.16 r3, s6
286 vmov.u32 r4, s1
287 vmov.p8 r5, s2
288 vmov.8 r6, s3
289
290@ CHECK: vmov s1, r8 @ encoding: [0x90,0x8a,0x00,0xee]
291@ CHECK: vmov s2, r4 @ encoding: [0x10,0x4a,0x01,0xee]
292@ CHECK: vmov s3, r6 @ encoding: [0x90,0x6a,0x01,0xee]
293@ CHECK: vmov s4, r1 @ encoding: [0x10,0x1a,0x02,0xee]
294@ CHECK: vmov s5, r2 @ encoding: [0x90,0x2a,0x02,0xee]
295@ CHECK: vmov s6, r3 @ encoding: [0x10,0x3a,0x03,0xee]
296@ CHECK: vmov r1, s8 @ encoding: [0x10,0x1a,0x14,0xee]
297@ CHECK: vmov r2, s4 @ encoding: [0x10,0x2a,0x12,0xee]
298@ CHECK: vmov r3, s6 @ encoding: [0x10,0x3a,0x13,0xee]
299@ CHECK: vmov r4, s1 @ encoding: [0x90,0x4a,0x10,0xee]
300@ CHECK: vmov r5, s2 @ encoding: [0x10,0x5a,0x11,0xee]
301@ CHECK: vmov r6, s3 @ encoding: [0x90,0x6a,0x11,0xee]
Jim Grosbach4050bc42011-12-22 22:19:05 +0000302
303
304@ VCVT (between floating-point and fixed-point)
305 vcvt.f32.u32 s0, s0, #20
306 vcvt.f64.s32 d0, d0, #32
307 vcvt.f32.u16 s0, s0, #1
308 vcvt.f64.s16 d0, d0, #16
309
310@ CHECK: vcvt.f32.u32 s0, s0, #20 @ encoding: [0xc6,0x0a,0xbb,0xee]
311@ CHECK: vcvt.f64.s32 d0, d0, #32 @ encoding: [0xc0,0x0b,0xba,0xee]
312@ CHECK: vcvt.f32.u16 s0, s0, #1 @ encoding: [0x67,0x0a,0xbb,0xee]
313@ CHECK: vcvt.f64.s16 d0, d0, #16 @ encoding: [0x40,0x0b,0xba,0xee]