From c2086ad170c50d3e96e51dd6caf75d5ac433b4f2 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sun, 26 Oct 2014 19:53:28 -0700 Subject: [PATCH] gcc: remove multilibs for -mfdiv/-mno-fdiv There are a few reasons for this. First, the ABI requires that these instructions be emulated if not implemented in HW. Second, the userspace emulation library wasn't markedly faster than the kernel's. Third, the multilib explosion was becoming intractible. Ultimately, the plan is to replace illegal instructions with jumps to userspace emulation routines, which will achieve reasonable performance portably (without multilibs). This support is forthcoming. --- gcc/gcc/config/riscv/t-elf | 5 ++--- gcc/gcc/config/riscv/t-linux64 | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/gcc/gcc/config/riscv/t-elf b/gcc/gcc/config/riscv/t-elf index 00e60cc0..83390269 100644 --- a/gcc/gcc/config/riscv/t-elf +++ b/gcc/gcc/config/riscv/t-elf @@ -1,5 +1,4 @@ # Build the libraries for both hard and soft floating point -MULTILIB_OPTIONS = msoft-float m64/m32 mfdiv mno-atomic -MULTILIB_DIRNAMES = soft-float 64 32 fdiv no-atomic -MULTILIB_EXCEPTIONS = *msoft-float*/*mfdiv* +MULTILIB_OPTIONS = msoft-float m64/m32 mno-atomic +MULTILIB_DIRNAMES = soft-float 64 32 no-atomic diff --git a/gcc/gcc/config/riscv/t-linux64 b/gcc/gcc/config/riscv/t-linux64 index 51c2b178..71eeeb2d 100644 --- a/gcc/gcc/config/riscv/t-linux64 +++ b/gcc/gcc/config/riscv/t-linux64 @@ -1,6 +1,5 @@ # Build the libraries for both hard and soft floating point -MULTILIB_OPTIONS = m64/m32 msoft-float mfdiv mno-atomic -MULTILIB_DIRNAMES = 64 32 soft-float fdiv no-atomic -MULTILIB_EXCEPTIONS = *msoft-float*/*mfdiv* +MULTILIB_OPTIONS = m64/m32 msoft-float mno-atomic +MULTILIB_DIRNAMES = 64 32 soft-float no-atomic MULTILIB_OSDIRNAMES = ../lib ../lib32