From af21a82ccc8687aa16e85def7db95efeae4cf72e Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 20 Jan 2016 02:07:59 +0000 Subject: [PATCH] switch arm, sh, and mips fenv asm from .sub system to .S files --- src/fenv/{armhf/fenv.s => arm/fenv-hf.S} | 4 ++++ src/fenv/arm/fenv.c | 3 +++ src/fenv/armebhf/fenv.sub | 1 - src/fenv/armhf/fenv.sub | 1 - src/fenv/mips-sf/fenv.sub | 1 - src/fenv/mips/fenv-sf.c | 3 +++ src/fenv/mips/{fenv.s => fenv.S} | 4 ++++ src/fenv/mipsel-sf/fenv.sub | 1 - src/fenv/sh-nofpu/fenv.sub | 1 - src/fenv/sh/fenv-nofpu.c | 3 +++ src/fenv/sh/{fenv.s => fenv.S} | 4 ++++ src/fenv/sheb-nofpu/fenv.sub | 1 - 12 files changed, 21 insertions(+), 6 deletions(-) rename src/fenv/{armhf/fenv.s => arm/fenv-hf.S} (97%) create mode 100644 src/fenv/arm/fenv.c delete mode 100644 src/fenv/armebhf/fenv.sub delete mode 100644 src/fenv/armhf/fenv.sub delete mode 100644 src/fenv/mips-sf/fenv.sub create mode 100644 src/fenv/mips/fenv-sf.c rename src/fenv/mips/{fenv.s => fenv.S} (96%) delete mode 100644 src/fenv/mipsel-sf/fenv.sub delete mode 100644 src/fenv/sh-nofpu/fenv.sub create mode 100644 src/fenv/sh/fenv-nofpu.c rename src/fenv/sh/{fenv.s => fenv.S} (96%) delete mode 100644 src/fenv/sheb-nofpu/fenv.sub diff --git a/src/fenv/armhf/fenv.s b/src/fenv/arm/fenv-hf.S similarity index 97% rename from src/fenv/armhf/fenv.s rename to src/fenv/arm/fenv-hf.S index 53307e68..f55d798a 100644 --- a/src/fenv/armhf/fenv.s +++ b/src/fenv/arm/fenv-hf.S @@ -1,3 +1,5 @@ +#if __ARM_PCS_VFP + .syntax unified .fpu vfp @@ -63,3 +65,5 @@ fesetenv: fmxr fpscr, r3 mov r0, #0 bx lr + +#endif diff --git a/src/fenv/arm/fenv.c b/src/fenv/arm/fenv.c new file mode 100644 index 00000000..ad295f58 --- /dev/null +++ b/src/fenv/arm/fenv.c @@ -0,0 +1,3 @@ +#if !__ARM_PCS_VFP +#include "../fenv.c" +#endif diff --git a/src/fenv/armebhf/fenv.sub b/src/fenv/armebhf/fenv.sub deleted file mode 100644 index 5281e40b..00000000 --- a/src/fenv/armebhf/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -../armhf/fenv.s diff --git a/src/fenv/armhf/fenv.sub b/src/fenv/armhf/fenv.sub deleted file mode 100644 index ec559cd4..00000000 --- a/src/fenv/armhf/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -fenv.s diff --git a/src/fenv/mips-sf/fenv.sub b/src/fenv/mips-sf/fenv.sub deleted file mode 100644 index 9cafca5e..00000000 --- a/src/fenv/mips-sf/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -../fenv.c diff --git a/src/fenv/mips/fenv-sf.c b/src/fenv/mips/fenv-sf.c new file mode 100644 index 00000000..4aa3dbf1 --- /dev/null +++ b/src/fenv/mips/fenv-sf.c @@ -0,0 +1,3 @@ +#ifdef __mips_soft_float +#include "../fenv.c" +#endif diff --git a/src/fenv/mips/fenv.s b/src/fenv/mips/fenv.S similarity index 96% rename from src/fenv/mips/fenv.s rename to src/fenv/mips/fenv.S index 62828212..a5cb1f58 100644 --- a/src/fenv/mips/fenv.s +++ b/src/fenv/mips/fenv.S @@ -1,3 +1,5 @@ +#ifndef __mips_soft_float + .set noreorder .global feclearexcept @@ -65,3 +67,5 @@ fesetenv: 1: ctc1 $5, $31 jr $ra li $2, 0 + +#endif diff --git a/src/fenv/mipsel-sf/fenv.sub b/src/fenv/mipsel-sf/fenv.sub deleted file mode 100644 index 9cafca5e..00000000 --- a/src/fenv/mipsel-sf/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -../fenv.c diff --git a/src/fenv/sh-nofpu/fenv.sub b/src/fenv/sh-nofpu/fenv.sub deleted file mode 100644 index 9cafca5e..00000000 --- a/src/fenv/sh-nofpu/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -../fenv.c diff --git a/src/fenv/sh/fenv-nofpu.c b/src/fenv/sh/fenv-nofpu.c new file mode 100644 index 00000000..b2495a65 --- /dev/null +++ b/src/fenv/sh/fenv-nofpu.c @@ -0,0 +1,3 @@ +#if !__SH_FPU_ANY__ && !__SH4__ +#include "../fenv.c" +#endif diff --git a/src/fenv/sh/fenv.s b/src/fenv/sh/fenv.S similarity index 96% rename from src/fenv/sh/fenv.s rename to src/fenv/sh/fenv.S index 7f5c6277..cd47b5bc 100644 --- a/src/fenv/sh/fenv.s +++ b/src/fenv/sh/fenv.S @@ -1,3 +1,5 @@ +#if __SH_FPU_ANY__ || __SH4__ + .global fegetround .type fegetround, @function fegetround: @@ -72,3 +74,5 @@ fesetenv: 2: lds r0, fpscr rts mov #0, r0 + +#endif diff --git a/src/fenv/sheb-nofpu/fenv.sub b/src/fenv/sheb-nofpu/fenv.sub deleted file mode 100644 index 9cafca5e..00000000 --- a/src/fenv/sheb-nofpu/fenv.sub +++ /dev/null @@ -1 +0,0 @@ -../fenv.c -- 2.20.1