Browse Source

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.
pull/6/head
Andrew Waterman 12 years ago
parent
commit
c2086ad170
  1. 5
      gcc/gcc/config/riscv/t-elf
  2. 5
      gcc/gcc/config/riscv/t-linux64

5
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

5
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

Loading…
Cancel
Save