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