diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2019-04-23 22:53:12 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-04-23 22:53:12 +0000 |
commit | d9392bfa032b448839abadb523aff65b8ccb3dba (patch) | |
tree | 1eaa98a40c61f1dcde726eeb560ca71882af7b82 /libphobos/src | |
parent | 1bacd25b0c2c6ce3f1f737a4a84dc9c806e9af4b (diff) | |
download | gcc-d9392bfa032b448839abadb523aff65b8ccb3dba.zip gcc-d9392bfa032b448839abadb523aff65b8ccb3dba.tar.gz gcc-d9392bfa032b448839abadb523aff65b8ccb3dba.tar.bz2 |
libphobos: Add D support for RISC-V Linux
2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
* configure.tgt: Add riscv*-*-linux* as supported target.
* libdruntime/gcc/sections/elf_shared.d (getDependencies): Adjust
dlpi_addr on RISCV32 and RISCV64.
* src/std/math.d: Add IEEE FPU control support for RISCV.
From-SVN: r270522
Diffstat (limited to 'libphobos/src')
-rw-r--r-- | libphobos/src/std/math.d | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libphobos/src/std/math.d b/libphobos/src/std/math.d index daee6ec..6dec9ce 100644 --- a/libphobos/src/std/math.d +++ b/libphobos/src/std/math.d @@ -4757,6 +4757,15 @@ private: return result; } } + else version (RISCV_Any) + { + uint result = void; + asm pure nothrow @nogc + { + "frflags %0" : "=r" result; + } + return result; + } else assert(0, "Not yet supported"); } @@ -4831,6 +4840,14 @@ private: } } } + else version (RISCV_Any) + { + uint newValues = 0x0; + asm pure nothrow @nogc + { + "fsflags %0" : : "r" newValues; + } + } else assert(0, "Not yet supported"); } @@ -5423,6 +5440,15 @@ private: } return cont; } + else version (RISCV_Any) + { + ControlState cont; + asm pure nothrow @nogc + { + "frcsr %0" : "=r" cont; + } + return cont; + } else assert(0, "Not yet supported"); } @@ -5508,6 +5534,13 @@ private: } } } + else version (RISCV_Any) + { + asm pure nothrow @nogc + { + "fscsr %0" : : "r" (newState); + } + } else assert(0, "Not yet supported"); } |