RISC-V: Build soft-float divide routines for -mno-fdiv.
authorJim Wilson <jimw@sifive.com>
Fri, 1 Nov 2019 20:35:12 +0000 (20:35 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 1 Nov 2019 20:35:12 +0000 (13:35 -0700)
Using -mno-fdiv gives linker errors unless we build the missing divide
routines in libgcc always.  There is at least one university project
designing RISC-V parts without FP divide that wants to use the option.

libgcc/
* config/riscv/t-softfp32 (softfp_extra): Add FP divide routines

From-SVN: r277723

libgcc/ChangeLog
libgcc/config/riscv/t-softfp32

index 99199944652b63dc1c003b040f43ef1d35a5bcc6..4a855cbeefd1373c9000f81a8707879c498ee06a 100644 (file)
@@ -1,3 +1,7 @@
+2019-11-01  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/t-softfp32 (softfp_extra): Add FP divide routines
+
 2019-10-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
 
        * config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction.
index 1bd51e803d1f9a865928d99a5b4863068fa9b094..59be1df827eadebb753c705c405091e28294ca21 100644 (file)
@@ -12,7 +12,11 @@ softfp_float_modes := tf
 softfp_extensions := sftf dftf
 softfp_truncations := tfsf tfdf
 
+# Enable divide routines to make -mno-fdiv work.
+softfp_extras := divsf3 divdf3
+
 else
+# !ABI_DOUBLE
 
 softfp_float_modes := df tf
 softfp_extensions := sfdf sftf dftf
@@ -20,7 +24,20 @@ softfp_truncations := dfsf tfsf tfdf
 
 ifndef ABI_SINGLE
 softfp_float_modes += sf
+else
+# ABI_SINGLE
+
+# Enable divide routines to make -mno-fdiv work.
+softfp_extras := divsf3
+
 endif
 
 endif
+
+else
+# ABI_QUAD
+
+# Enable divide routines to make -mno-fdiv work.
+softfp_extras := divsf3 divdf3 divtf3
+
 endif