1933b314c761f3338ebc59aa089983681274054bdBill Wendling@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
3bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vadd.f64  d16, d17, d16
4bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vadd.f32  s0, s1, s0
5933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vadd.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x71,0xee]
6933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vadd.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x30,0xee]
752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
8bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vsub.f64  d16, d17, d16
9bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vsub.f32  s0, s1, s0
10933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vsub.f64 d16, d17, d16      @ encoding: [0xe0,0x0b,0x71,0xee]
11933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vsub.f32 s0, s1, s0         @ encoding: [0xc0,0x0a,0x30,0xee]
1252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
13bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vdiv.f64  d16, d17, d16
14bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vdiv.f32  s0, s1, s0
15181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach        vdiv.f32 s5, s7
16181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach        vdiv.f64 d5, d7
17181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach
18181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach@ CHECK: vdiv.f64 d16, d17, d16         @ encoding: [0xa0,0x0b,0xc1,0xee]
19181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach@ CHECK: vdiv.f32 s0, s1, s0            @ encoding: [0x80,0x0a,0x80,0xee]
20181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach@ CHECK: vdiv.f32	s5, s5, s7      @ encoding: [0xa3,0x2a,0xc2,0xee]
21181b14797518e714e1b6112db849ca53192b8f23Jim Grosbach@ CHECK: vdiv.f64	d5, d5, d7      @ encoding: [0x07,0x5b,0x85,0xee]
2252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
2352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
24bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vmul.f64  d16, d17, d16
25bfb0a1717bb140c418e070042e852f925e92de01Jim Grosbach	vmul.f64  d20, d17
26bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vmul.f32  s0, s1, s0
27bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach	vmul.f32  s11, s21
28bfb0a1717bb140c418e070042e852f925e92de01Jim Grosbach
2952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
30bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmul.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x61,0xee]
31bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmul.f64 d20, d20, d17      @ encoding: [0xa1,0x4b,0x64,0xee]
32bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmul.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x20,0xee]
33bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmul.f32 s11, s11, s21      @ encoding: [0xaa,0x5a,0x65,0xee]
34bfb0a1717bb140c418e070042e852f925e92de01Jim Grosbach
3552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmul.f64       d16, d17, d16
36bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vnmul.f32       s0, s1, s0
3752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
38bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vnmul.f64 d16, d17, d16     @ encoding: [0xe0,0x0b,0x61,0xee]
39933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vnmul.f32 s0, s1, s0        @ encoding: [0xc0,0x0a,0x20,0xee]
4052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
4152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcmpe.f64       d17, d16
42bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vcmpe.f32       s1, s0
4352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
44bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcmpe.f64 d17, d16          @ encoding: [0xe0,0x1b,0xf4,0xee]
45933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vcmpe.f32 s1, s0            @ encoding: [0xc0,0x0a,0xf4,0xee]
4652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
4768259145d9ac1f8d4e2cc9fc73626254fcc5cf08Jim Grosbach        vcmpe.f64       d16, #0
48bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vcmpe.f32       s0, #0
4952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
50bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcmpe.f64 d16, #0           @ encoding: [0xc0,0x0b,0xf5,0xee]
5168259145d9ac1f8d4e2cc9fc73626254fcc5cf08Jim Grosbach@ CHECK: vcmpe.f32 s0, #0            @ encoding: [0xc0,0x0a,0xb5,0xee]
5252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
5352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vabs.f64        d16, d16
54bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vabs.f32        s0, s0
5552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
56bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vabs.f64 d16, d16           @ encoding: [0xe0,0x0b,0xf0,0xee]
57933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vabs.f32 s0, s0             @ encoding: [0xc0,0x0a,0xb0,0xee]
580da10cf44d0f22111dae728bb535ade2283d976bOwen Anderson
5952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.f64    s0, d16
60bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vcvt.f64.f32    d16, s0
6152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
62bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.f32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xb7,0xee]
63933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vcvt.f64.f32 d16, s0        @ encoding: [0xc0,0x0a,0xf7,0xee]
6452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
6552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vneg.f64        d16, d16
66bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vneg.f32        s0, s0
6752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
68bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vneg.f64 d16, d16           @ encoding: [0x60,0x0b,0xf1,0xee]
69933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vneg.f32 s0, s0             @ encoding: [0x40,0x0a,0xb1,0xee]
7052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
7152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vsqrt.f64       d16, d16
72bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vsqrt.f32       s0, s0
7352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
74bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vsqrt.f64 d16, d16          @ encoding: [0xe0,0x0b,0xf1,0xee]
75933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vsqrt.f32 s0, s0            @ encoding: [0xc0,0x0a,0xb1,0xee]
7652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
7752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f64.s32    d16, s0
7852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.s32    s0, s0
7952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f64.u32    d16, s0
8052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.u32    s0, s0
8152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.s32.f64    s0, d16
8252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.s32.f32    s0, s0
8352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.u32.f64    s0, d16
84bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vcvt.u32.f32    s0, s0
8552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
86bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.f64.s32 d16, s0        @ encoding: [0xc0,0x0b,0xf8,0xee]
87bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.f32.s32 s0, s0         @ encoding: [0xc0,0x0a,0xb8,0xee]
88bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.f64.u32 d16, s0        @ encoding: [0x40,0x0b,0xf8,0xee]
89bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.f32.u32 s0, s0         @ encoding: [0x40,0x0a,0xb8,0xee]
90bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.s32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbd,0xee]
91bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.s32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbd,0xee]
92bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vcvt.u32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbc,0xee]
93933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vcvt.u32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbc,0xee]
9452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
95bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach
9652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmla.f64        d16, d18, d17
97bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vmla.f32        s1, s2, s0
9852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
99bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmla.f64 d16, d18, d17      @ encoding: [0xa1,0x0b,0x42,0xee]
100933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmla.f32 s1, s2, s0         @ encoding: [0x00,0x0a,0x41,0xee]
10152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
10252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmls.f64        d16, d18, d17
103bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vmls.f32        s1, s2, s0
10452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
105bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vmls.f64 d16, d18, d17      @ encoding: [0xe1,0x0b,0x42,0xee]
106933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmls.f32 s1, s2, s0         @ encoding: [0x40,0x0a,0x41,0xee]
10752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
10852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmla.f64       d16, d18, d17
109bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vnmla.f32       s1, s2, s0
11052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
111bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vnmla.f64 d16, d18, d17     @ encoding: [0xe1,0x0b,0x52,0xee]
112933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vnmla.f32 s1, s2, s0        @ encoding: [0x40,0x0a,0x51,0xee]
11352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
11452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmls.f64       d16, d18, d17
115bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach        vnmls.f32       s1, s2, s0
11652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
117bfb3c5a50c0c01073658ec9d3504532c6eeb2115Jim Grosbach@ CHECK: vnmls.f64 d16, d18, d17     @ encoding: [0xa1,0x0b,0x52,0xee]
118933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vnmls.f32 s1, s2, s0        @ encoding: [0x00,0x0a,0x51,0xee]
11952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
120b84ad4aa7dacfba5337520740d47770f2200201cJim Grosbach        vmrs    APSR_nzcv, fpscr
1215cd5ac6ad455880395e34ac647f1e962a83763a0Jim Grosbach        vmrs    apsr_nzcv, fpscr
1225cd5ac6ad455880395e34ac647f1e962a83763a0Jim Grosbach        fmstat
1239426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach        vmrs    r2, fpsid
1249426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach        vmrs    r3, FPSID
1259426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach        vmrs    r4, mvfr0
1269426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach        vmrs    r5, MVFR1
1279426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach
1289426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
1299426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
1309426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
1319426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs r2, fpsid              @ encoding: [0x10,0x2a,0xf0,0xee]
1329426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs r3, fpsid              @ encoding: [0x10,0x3a,0xf0,0xee]
1339426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs r4, mvfr0              @ encoding: [0x10,0x4a,0xf7,0xee]
1349426ac7b575de9e1297a01f27307d858343ac4edJim Grosbach@ CHECK: vmrs r5, mvfr1              @ encoding: [0x10,0x5a,0xf6,0xee]
1350da10cf44d0f22111dae728bb535ade2283d976bOwen Anderson
136933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vnegne.f64 d16, d16         @ encoding: [0x60,0x0b,0xf1,0x1e]
13752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnegne.f64      d16, d16
13852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
139933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmovne s0, r0               @ encoding: [0x10,0x0a,0x00,0x1e]
140933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmoveq s0, r1               @ encoding: [0x10,0x1a,0x00,0x0e]
14152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmovne  s0, r0
14252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmoveq  s0, r1
14352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
144a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach        vmov.f32 r1, s2
145a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach        vmov.f32 s4, r3
146a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach        vmov.f64 r1, r5, d2
147a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach        vmov.f64 d4, r3, r9
148a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach
149a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach@ CHECK: vmov	r1, s2                  @ encoding: [0x10,0x1a,0x11,0xee]
150a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach@ CHECK: vmov	s4, r3                  @ encoding: [0x10,0x3a,0x02,0xee]
151a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach@ CHECK: vmov	r1, r5, d2              @ encoding: [0x12,0x1b,0x55,0xec]
152a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach@ CHECK: vmov	d4, r3, r9              @ encoding: [0x14,0x3b,0x49,0xec]
153a68e90c36e6a53fb1889b608f44d6244a36b3e97Jim Grosbach
154933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmrs r0, fpscr              @ encoding: [0x10,0x0a,0xf1,0xee]
15552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmrs    r0, fpscr
15661505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes@ CHECK: vmrs  r0, fpexc             @ encoding: [0x10,0x0a,0xf8,0xee]
15761505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes        vmrs  r0, fpexc
15861505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes@ CHECK: vmrs  r0, fpsid             @ encoding: [0x10,0x0a,0xf0,0xee]
15961505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes        vmrs  r0, fpsid
16016ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa@ CHECK: vmrs	r1, fpinst           @ encoding: [0x10,0x1a,0xf9,0xee]
16116ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa        vmrs r1, fpinst
16216ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa@ CHECK: vmrs	r8, fpinst2          @ encoding: [0x10,0x8a,0xfa,0xee]
16316ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa        vmrs r8, fpinst2
16452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
165933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmsr fpscr, r0              @ encoding: [0x10,0x0a,0xe1,0xee]
16652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmsr    fpscr, r0
16761505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes@ CHECK: vmsr  fpexc, r0             @ encoding: [0x10,0x0a,0xe8,0xee]
16861505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes        vmsr  fpexc, r0
16961505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes@ CHECK: vmsr  fpsid, r0             @ encoding: [0x10,0x0a,0xe0,0xee]
17061505907f54d4e7df2f9d90b1ed3a4caa0469d26Bruno Cardoso Lopes        vmsr  fpsid, r0
17116ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa@ CHECK: vmsr	fpinst, r3           @ encoding: [0x10,0x3a,0xe9,0xee]
17216ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa        vmsr fpinst, r3
17316ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa@ CHECK: vmsr	fpinst2, r4          @ encoding: [0x10,0x4a,0xea,0xee]
17416ad92ad3cd0cbbaa4d0524d9f201dd5dbefa15aMihai Popa        vmsr fpinst2, r4
17552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
1769d39036f62674606565217a10db28171b9594bc7Jim Grosbach        vmov.f64        d16, #3.000000e+00
1779d39036f62674606565217a10db28171b9594bc7Jim Grosbach        vmov.f32        s0, #3.000000e+00
1789d39036f62674606565217a10db28171b9594bc7Jim Grosbach        vmov.f64        d16, #-3.000000e+00
1799d39036f62674606565217a10db28171b9594bc7Jim Grosbach        vmov.f32        s0, #-3.000000e+00
1809d39036f62674606565217a10db28171b9594bc7Jim Grosbach
1819d39036f62674606565217a10db28171b9594bc7Jim Grosbach@ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
1829d39036f62674606565217a10db28171b9594bc7Jim Grosbach@ CHECK: vmov.f32 s0, #3.000000e+00  @ encoding: [0x08,0x0a,0xb0,0xee]
1839d39036f62674606565217a10db28171b9594bc7Jim Grosbach@ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]
1849d39036f62674606565217a10db28171b9594bc7Jim Grosbach@ CHECK: vmov.f32 s0, #-3.000000e+00  @ encoding: [0x08,0x0a,0xb8,0xee]
18552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
186933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov s0, r0                 @ encoding: [0x10,0x0a,0x00,0xee]
187933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov s1, r1                 @ encoding: [0x90,0x1a,0x00,0xee]
188933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov s2, r2                 @ encoding: [0x10,0x2a,0x01,0xee]
189933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov s3, r3                 @ encoding: [0x90,0x3a,0x01,0xee]
19052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s0, r0
19152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s1, r1
19252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s2, r2
19352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s3, r3
19452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
195933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov r0, s0                 @ encoding: [0x10,0x0a,0x10,0xee]
196933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov r1, s1                 @ encoding: [0x90,0x1a,0x10,0xee]
197933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov r2, s2                 @ encoding: [0x10,0x2a,0x11,0xee]
198933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov r3, s3                 @ encoding: [0x90,0x3a,0x11,0xee]
19952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r0, s0
20052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r1, s1
20152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r2, s2
20252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r3, s3
20352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
204933b314c761f3338ebc59aa089983681274054bdBill Wendling@ CHECK: vmov r0, r1, d16            @ encoding: [0x30,0x0b,0x51,0xec]
20552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r0, r1, d16
2065df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling
207fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ Between two single precision registers and two core registers
208fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov s3, s4, r1, r2
209fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov s2, s3, r1, r2
210fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov r1, r2, s3, s4
211fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov r1, r2, s2, s3
212fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov s3, s4, r1, r2      @ encoding: [0x31,0x1a,0x42,0xec]
213fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov s2, s3, r1, r2      @ encoding: [0x11,0x1a,0x42,0xec]
214fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov r1, r2, s3, s4      @ encoding: [0x31,0x1a,0x52,0xec]
215fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov r1, r2, s2, s3      @ encoding: [0x11,0x1a,0x52,0xec]
216fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton
217fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ Between one double precision register and two core registers
218fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov d15, r1, r2
219fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov d16, r1, r2
220fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov r1, r2, d15
221fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton        vmov r1, r2, d16
222fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov d15, r1, r2         @ encoding: [0x1f,0x1b,0x42,0xec]
223fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov d16, r1, r2         @ encoding: [0x30,0x1b,0x42,0xec]
224fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov r1, r2, d15         @ encoding: [0x1f,0x1b,0x52,0xec]
225fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton@ CHECK: vmov r1, r2, d16         @ encoding: [0x30,0x1b,0x52,0xec]
226fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton
227fae96f17b4b022fccd94a143698112a17d8ddf05Richard Barton
228ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d17, [r0]           @ encoding: [0x00,0x1b,0xd0,0xed]
229ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s0, [lr]            @ encoding: [0x00,0x0a,0x9e,0xed]
230ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d0, [lr]            @ encoding: [0x00,0x0b,0x9e,0xed]
231c7352f8ca0fc716c38cb3d81e63e943d47d578b3Jim Grosbach
2325df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64	d17, [r0]
233ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach	vldr.i32 s0, [lr]
234ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach	vldr.d d0, [lr]
2355df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling
236ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d1, [r2, #32]       @ encoding: [0x08,0x1b,0x92,0xed]
237ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d1, [r2, #-32]      @ encoding: [0x08,0x1b,0x12,0xed]
2385df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64	d1, [r2, #32]
239ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach        vldr.f64	d1, [r2, #-32]
2400da10cf44d0f22111dae728bb535ade2283d976bOwen Anderson
241ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d2, [r3]            @ encoding: [0x00,0x2b,0x93,0xed]
2425df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64 d2, [r3]
2435df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling
244ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d3, [pc]            @ encoding: [0x00,0x3b,0x9f,0xed]
245ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d3, [pc]            @ encoding: [0x00,0x3b,0x9f,0xed]
246ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr d3, [pc, #-0]            @ encoding: [0x00,0x3b,0x1f,0xed]
2475df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64 d3, [pc]
2485df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64 d3, [pc,#0]
2495df0e0a61d6ac0e8dcf1a600bdc28d3e4a8db0adBill Wendling        vldr.64 d3, [pc,#-0]
25092b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling
251ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s13, [r0]           @ encoding: [0x00,0x6a,0xd0,0xed]
25292b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32	s13, [r0]
25392b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling
254ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s1, [r2, #32]       @ encoding: [0x08,0x0a,0xd2,0xed]
255ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s1, [r2, #-32]      @ encoding: [0x08,0x0a,0x52,0xed]
25692b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32	s1, [r2, #32]
25792b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32	s1, [r2, #-32]
2580da10cf44d0f22111dae728bb535ade2283d976bOwen Anderson
259ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s2, [r3]            @ encoding: [0x00,0x1a,0x93,0xed]
26092b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32 s2, [r3]
26192b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling
262ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s5, [pc]            @ encoding: [0x00,0x2a,0xdf,0xed]
263ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s5, [pc]            @ encoding: [0x00,0x2a,0xdf,0xed]
264ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vldr s5, [pc, #-0]            @ encoding: [0x00,0x2a,0x5f,0xed]
26592b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32 s5, [pc]
26692b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32 s5, [pc,#0]
26792b5a2eb1646b3c1173a5ff3c0073f24ed5ee6a4Bill Wendling        vldr.32 s5, [pc,#-0]
2682f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling
269ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr d4, [r1]            @ encoding: [0x00,0x4b,0x81,0xed]
270ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr d4, [r1, #24]       @ encoding: [0x06,0x4b,0x81,0xed]
271ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr d4, [r1, #-24]      @ encoding: [0x06,0x4b,0x01,0xed]
272ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr s0, [lr]            @ encoding: [0x00,0x0a,0x8e,0xed]
273ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr d0, [lr]            @ encoding: [0x00,0x0b,0x8e,0xed]
274c7352f8ca0fc716c38cb3d81e63e943d47d578b3Jim Grosbach
2752f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.64 d4, [r1]
2762f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.64 d4, [r1, #24]
2772f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.64 d4, [r1, #-24]
278c7352f8ca0fc716c38cb3d81e63e943d47d578b3Jim Grosbach	vstr s0, [lr]
279c7352f8ca0fc716c38cb3d81e63e943d47d578b3Jim Grosbach	vstr d0, [lr]
2802f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling
281ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr s4, [r1]            @ encoding: [0x00,0x2a,0x81,0xed]
282ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr s4, [r1, #24]       @ encoding: [0x06,0x2a,0x81,0xed]
283ffc658b056b7cc0b3f6a2626694b6a4216ed728dJim Grosbach@ CHECK: vstr s4, [r1, #-24]      @ encoding: [0x06,0x2a,0x01,0xed]
2842f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.32 s4, [r1]
2852f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.32 s4, [r1, #24]
2862f46f1f59c17040f7a2c970342f2f1dcc9b78319Bill Wendling        vstr.32 s4, [r1, #-24]
2870f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling
2880f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling@ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]
2890f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling@ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]
2900f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling        vldmia  r1, {d2,d3-d6,d7}
2910f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling        vldmia  r1, {s2,s3-s6,s7}
2920f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling
2930f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling@ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]
2940f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling@ CHECK: vstmia	r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]
295ce485e7f70faed6d19daafff91bb20509403d432Jim Grosbach@ CHECK: vpush	{d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]
2960f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling        vstmia  r1, {d2,d3-d6,d7}
2970f6307561359fac4425a0b9e512931cf96c1ec5bBill Wendling        vstmia  r1, {s2,s3-s6,s7}
298ce485e7f70faed6d19daafff91bb20509403d432Jim Grosbach        vstmdb sp!, {q4-q7}
299106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes
300242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fldmiax r5!, {d0-d2}
301242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fldmiaxeq r0, {d4,d5}
302242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fldmdbxne r5!, {d4,d5,d6}
303242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fldmiax r5!, {d0, d1, d2}      @ encoding: [0x07,0x0b,0xb5,0xec]
304242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fldmiaxeq r0, {d4, d5}         @ encoding: [0x05,0x4b,0x90,0x0c]
305242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fldmdbxne r5!, {d4, d5, d6}    @ encoding: [0x07,0x4b,0x35,0x1d]
306242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover
307242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fstmiax r5!, {d0-d7}
308242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fstmiaxeq r4, {d8,d9}
309242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover        fstmdbxne r7!, {d2-d4}
310242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fstmiax r5!, {d0, d1, d2, d3, d4, d5, d6, d7} @ encoding: [0x11,0x0b,0xa5,0xec]
311242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fstmiaxeq r4, {d8, d9}         @ encoding: [0x05,0x8b,0x84,0x0c]
312242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover@ CHECK: fstmdbxne r7!, {d2, d3, d4}    @ encoding: [0x07,0x2b,0x27,0x1d]
313242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075Tim Northover
314106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes@ CHECK: vcvtr.s32.f64  s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]
315106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes@ CHECK: vcvtr.s32.f32  s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]
316106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes@ CHECK: vcvtr.u32.f64  s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]
317106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes@ CHECK: vcvtr.u32.f32  s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]
318106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes        vcvtr.s32.f64  s0, d0
319106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes        vcvtr.s32.f32  s0, s1
320106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes        vcvtr.u32.f64  s0, d0
321106df6da366c0abc6a3937767fe008d02cacef4cBruno Cardoso Lopes        vcvtr.u32.f32  s0, s1
322694e0ffb8aa3a8651003e448135aba0e663782bdOwen Anderson
323694e0ffb8aa3a8651003e448135aba0e663782bdOwen Anderson@ CHECK: vmovne	s25, s26, r2, r5
324694e0ffb8aa3a8651003e448135aba0e663782bdOwen Anderson        vmovne	s25, s26, r2, r5        @ encoding: [0x39,0x2a,0x45,0x1c]
325af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach
326af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ VMOV w/ optional data type suffix.
327af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach	vmov.32 s1, r8
328af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.s16 s2, r4
329af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.16 s3, r6
330af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.u32 s4, r1
331af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.p8 s5, r2
332af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.8 s6, r3
333af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach
334af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.32 r1, s8
335af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.s16 r2, s4
336af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.16 r3, s6
337af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.u32 r4, s1
338af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.p8 r5, s2
339af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach        vmov.8 r6, s3
340af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach
341af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s1, r8                  @ encoding: [0x90,0x8a,0x00,0xee]
342af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s2, r4                  @ encoding: [0x10,0x4a,0x01,0xee]
343af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s3, r6                  @ encoding: [0x90,0x6a,0x01,0xee]
344af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s4, r1                  @ encoding: [0x10,0x1a,0x02,0xee]
345af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s5, r2                  @ encoding: [0x90,0x2a,0x02,0xee]
346af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	s6, r3                  @ encoding: [0x10,0x3a,0x03,0xee]
347af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r1, s8                  @ encoding: [0x10,0x1a,0x14,0xee]
348af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r2, s4                  @ encoding: [0x10,0x2a,0x12,0xee]
349af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r3, s6                  @ encoding: [0x10,0x3a,0x13,0xee]
350af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r4, s1                  @ encoding: [0x90,0x4a,0x10,0xee]
351af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r5, s2                  @ encoding: [0x10,0x5a,0x11,0xee]
352af33a0cfe092afd327e1b8b05c655d9eab689eedJim Grosbach@ CHECK: vmov	r6, s3                  @ encoding: [0x90,0x6a,0x11,0xee]
3534050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach
3544050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach
3554050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach@ VCVT (between floating-point and fixed-point)
3568a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.f32.u32 s0, s0, #20
3574050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach        vcvt.f64.s32 d0, d0, #32
3584050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach        vcvt.f32.u16 s0, s0, #1
3594050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach        vcvt.f64.s16 d0, d0, #16
3608a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.f32.s32 s1, s1, #20
3618a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.f64.u32 d20, d20, #32
3628a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.f32.s16 s17, s17, #1
3638a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.f64.u16 d23, d23, #16
3648a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.u32.f32 s12, s12, #20
3658a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.s32.f64 d2, d2, #32
3668a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.u16.f32 s28, s28, #1
3678a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.s16.f64 d15, d15, #16
3688a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.s32.f32 s1, s1, #20
3698a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.u32.f64 d20, d20, #32
3708a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.s16.f32 s17, s17, #1
3718a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls        vcvt.u16.f64 d23, d23, #16
3724050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach
3734050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach@ CHECK: vcvt.f32.u32	s0, s0, #20     @ encoding: [0xc6,0x0a,0xbb,0xee]
3744050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach@ CHECK: vcvt.f64.s32	d0, d0, #32     @ encoding: [0xc0,0x0b,0xba,0xee]
3754050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach@ CHECK: vcvt.f32.u16	s0, s0, #1      @ encoding: [0x67,0x0a,0xbb,0xee]
3764050bc4cab61f8d3c7583a9b60f17c7da47bbf69Jim Grosbach@ CHECK: vcvt.f64.s16	d0, d0, #16     @ encoding: [0x40,0x0b,0xba,0xee]
3778a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.f32.s32	s1, s1, #20     @ encoding: [0xc6,0x0a,0xfa,0xee]
3788a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.f64.u32	d20, d20, #32   @ encoding: [0xc0,0x4b,0xfb,0xee]
3798a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.f32.s16	s17, s17, #1    @ encoding: [0x67,0x8a,0xfa,0xee]
3808a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.f64.u16	d23, d23, #16   @ encoding: [0x40,0x7b,0xfb,0xee]
3818a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls
3828a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.u32.f32	s12, s12, #20   @ encoding: [0xc6,0x6a,0xbf,0xee]
3838a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.s32.f64	d2, d2, #32     @ encoding: [0xc0,0x2b,0xbe,0xee]
3848a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.u16.f32	s28, s28, #1    @ encoding: [0x67,0xea,0xbf,0xee]
3858a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.s16.f64	d15, d15, #16   @ encoding: [0x40,0xfb,0xbe,0xee]
3868a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.s32.f32	s1, s1, #20     @ encoding: [0xc6,0x0a,0xfe,0xee]
3878a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.u32.f64	d20, d20, #32   @ encoding: [0xc0,0x4b,0xff,0xee]
3888a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.s16.f32	s17, s17, #1    @ encoding: [0x67,0x8a,0xfe,0xee]
3898a6bcc3722729803a16b5885de1ff85a3752e6a0Kristof Beyls@ CHECK: vcvt.u16.f64	d23, d23, #16   @ encoding: [0x40,0x7b,0xff,0xee]
39051222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach
39151222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach
39251222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach@ Use NEON to load some f32 immediates that don't fit the f8 representation.
39351222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach        vmov.f32 d4, #0.0
39451222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach        vmov.f32 d4, #32.0
39551222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach
39651222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach@ CHECK: vmov.i32	d4, #0x0        @ encoding: [0x10,0x40,0x80,0xf2]
39751222d1551383dd7b95ba356b1a5ed89df69e789Jim Grosbach@ CHECK: vmov.i32	d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2]
398