simple-fp-encoding.s revision 52925b60f1cd4cf810524ca05b00a207a926ab9f
152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// RUN: llvm-mc -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vadd.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x71,0xee]
452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vadd.f64        d16, d17, d16
552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vadd.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x30,0xee]
752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vadd.f32        s0, s1, s0
852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vsub.f64 d16, d17, d16      @ encoding: [0xe0,0x0b,0x71,0xee]
1052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vsub.f64        d16, d17, d16
1152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
1252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vsub.f32 s0, s1, s0         @ encoding: [0xc0,0x0a,0x30,0xee]
1352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vsub.f32        s0, s1, s0
1452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
1552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vdiv.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0xc1,0xee]
1652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vdiv.f64        d16, d17, d16
1752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
1852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vdiv.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x80,0xee]
1952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vdiv.f32        s0, s1, s0
2052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
2152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmul.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x61,0xee]
2252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmul.f64        d16, d17, d16
2352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
2452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmul.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x20,0xee]
2552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmul.f32        s0, s1, s0
2652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
2752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmul.f64 d16, d17, d16     @ encoding: [0xe0,0x0b,0x61,0xee]
2852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmul.f64       d16, d17, d16
2952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
3052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmul.f32 s0, s1, s0        @ encoding: [0xc0,0x0a,0x20,0xee]
3152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmul.f32       s0, s1, s0
3252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
3352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcmpe.f64 d17, d16          @ encoding: [0xe0,0x1b,0xf4,0xee]
3452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcmpe.f64       d17, d16
3552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
3652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcmpe.f32 s1, s0            @ encoding: [0xc0,0x0a,0xf4,0xee]
3752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcmpe.f32       s1, s0
3852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
3952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// FIXME: vcmpe.f64 d16, #0           @ encoding: [0xc0,0x0b,0xf5,0xee]
4052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling//        vcmpe.f64       d16, #0
4152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
4252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// FIXME: vcmpe.f32 s0, #0            @ encoding: [0xc0,0x0a,0xb5,0xee]
4352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling//        vcmpe.f32       s0, #0
4452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
4552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vabs.f64 d16, d16           @ encoding: [0xe0,0x0b,0xf0,0xee]
4652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vabs.f64        d16, d16
4752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
4852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vabs.f32 s0, s0             @ encoding: [0xc0,0x0a,0xb0,0xee]
4952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vabs.f32        s0, s0
5052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
5152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xb7,0xee]
5252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.f64    s0, d16
5352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
5452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f64.f32 d16, s0        @ encoding: [0xc0,0x0a,0xf7,0xee]
5552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f64.f32    d16, s0
5652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
5752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vneg.f64 d16, d16           @ encoding: [0x60,0x0b,0xf1,0xee]
5852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vneg.f64        d16, d16
5952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
6052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vneg.f32 s0, s0             @ encoding: [0x40,0x0a,0xb1,0xee]
6152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vneg.f32        s0, s0
6252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
6352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vsqrt.f64 d16, d16          @ encoding: [0xe0,0x0b,0xf1,0xee]
6452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vsqrt.f64       d16, d16
6552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
6652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vsqrt.f32 s0, s0            @ encoding: [0xc0,0x0a,0xb1,0xee]
6752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vsqrt.f32       s0, s0
6852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
6952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f64.s32 d16, s0        @ encoding: [0xc0,0x0b,0xf8,0xee]
7052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f64.s32    d16, s0
7152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
7252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f32.s32 s0, s0         @ encoding: [0xc0,0x0a,0xb8,0xee]
7352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.s32    s0, s0
7452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
7552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f64.u32 d16, s0        @ encoding: [0x40,0x0b,0xf8,0xee]
7652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f64.u32    d16, s0
7752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
7852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.f32.u32 s0, s0         @ encoding: [0x40,0x0a,0xb8,0xee]
7952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.f32.u32    s0, s0
8052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
8152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.s32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbd,0xee]
8252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.s32.f64    s0, d16
8352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
8452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.s32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbd,0xee]
8552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.s32.f32    s0, s0
8652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
8752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.u32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbc,0xee]
8852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.u32.f64    s0, d16
8952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
9052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vcvt.u32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbc,0xee]
9152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vcvt.u32.f32    s0, s0
9252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
9352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmla.f64 d16, d18, d17      @ encoding: [0xa1,0x0b,0x42,0xee]
9452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmla.f64        d16, d18, d17
9552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
9652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmla.f32 s1, s2, s0         @ encoding: [0x00,0x0a,0x41,0xee]
9752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmla.f32        s1, s2, s0
9852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
9952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmls.f64 d16, d18, d17      @ encoding: [0xe1,0x0b,0x42,0xee]
10052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmls.f64        d16, d18, d17
10152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
10252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmls.f32 s1, s2, s0         @ encoding: [0x40,0x0a,0x41,0xee]
10352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmls.f32        s1, s2, s0
10452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
10552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmla.f64 d16, d18, d17     @ encoding: [0xe1,0x0b,0x52,0xee]
10652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmla.f64       d16, d18, d17
10752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
10852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmla.f32 s1, s2, s0        @ encoding: [0x40,0x0a,0x51,0xee]
10952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmla.f32       s1, s2, s0
11052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
11152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmls.f64 d16, d18, d17     @ encoding: [0xa1,0x0b,0x52,0xee]
11252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmls.f64       d16, d18, d17
11352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
11452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnmls.f32 s1, s2, s0        @ encoding: [0x00,0x0a,0x51,0xee]
11552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnmls.f32       s1, s2, s0
11652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
11752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// FIXME: vmrs apsr_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
11852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling//        vmrs    apsr_nzcv, fpscr
11952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
12052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vnegne.f64 d16, d16         @ encoding: [0x60,0x0b,0xf1,0x1e]
12152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vnegne.f64      d16, d16
12252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
12352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmovne s0, r0               @ encoding: [0x10,0x0a,0x00,0x1e]
12452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmoveq s0, r1               @ encoding: [0x10,0x1a,0x00,0x0e]
12552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmovne  s0, r0
12652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmoveq  s0, r1
12752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
12852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmrs r0, fpscr              @ encoding: [0x10,0x0a,0xf1,0xee]
12952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmrs    r0, fpscr
13052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
13152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmsr fpscr, r0              @ encoding: [0x10,0x0a,0xe1,0xee]
13252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmsr    fpscr, r0
13352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
13452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// FIXME: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
13552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling//        vmov.f64        d16, #3.000000e+00
13652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
13752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// FIXME: vmov.f32 s0, #3.000000e+00  @ encoding: [0x08,0x0a,0xb0,0xee]
13852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling//        vmov.f32        s0, #3.000000e+00
13952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
14052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov s0, r0                 @ encoding: [0x10,0x0a,0x00,0xee]
14152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov s1, r1                 @ encoding: [0x90,0x1a,0x00,0xee]
14252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov s2, r2                 @ encoding: [0x10,0x2a,0x01,0xee]
14352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov s3, r3                 @ encoding: [0x90,0x3a,0x01,0xee]
14452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s0, r0
14552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s1, r1
14652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s2, r2
14752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    s3, r3
14852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
14952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov r0, s0                 @ encoding: [0x10,0x0a,0x10,0xee]
15052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov r1, s1                 @ encoding: [0x90,0x1a,0x10,0xee]
15152925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov r2, s2                 @ encoding: [0x10,0x2a,0x11,0xee]
15252925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov r3, s3                 @ encoding: [0x90,0x3a,0x11,0xee]
15352925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r0, s0
15452925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r1, s1
15552925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r2, s2
15652925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r3, s3
15752925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
15852925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling// CHECK: vmov r0, r1, d16            @ encoding: [0x30,0x0b,0x51,0xec]
15952925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling        vmov    r0, r1, d16
16052925b60f1cd4cf810524ca05b00a207a926ab9fBill Wendling
161