diff options
Diffstat (limited to 'libphobos/src')
-rw-r--r-- | libphobos/src/std/math.d | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/libphobos/src/std/math.d b/libphobos/src/std/math.d index 7e6a97f..ff1633a 100644 --- a/libphobos/src/std/math.d +++ b/libphobos/src/std/math.d @@ -4767,12 +4767,17 @@ private: } else version (RISCV_Any) { - uint result = void; - asm pure nothrow @nogc + version (D_SoftFloat) + return 0; + else { - "frflags %0" : "=r" result; + uint result = void; + asm pure nothrow @nogc + { + "frflags %0" : "=r" result; + } + return result; } - return result; } else assert(0, "Not yet supported"); @@ -4850,10 +4855,15 @@ private: } else version (RISCV_Any) { - uint newValues = 0x0; - asm pure nothrow @nogc + version (D_SoftFloat) + return; + else { - "fsflags %0" : : "r" newValues; + uint newValues = 0x0; + asm pure nothrow @nogc + { + "fsflags %0" : : "r" newValues; + } } } else @@ -5450,12 +5460,17 @@ private: } else version (RISCV_Any) { - ControlState cont; - asm pure nothrow @nogc + version (D_SoftFloat) + return 0; + else { - "frcsr %0" : "=r" cont; + ControlState cont; + asm pure nothrow @nogc + { + "frcsr %0" : "=r" cont; + } + return cont; } - return cont; } else assert(0, "Not yet supported"); @@ -5544,9 +5559,14 @@ private: } else version (RISCV_Any) { - asm pure nothrow @nogc + version (D_SoftFloat) + return; + else { - "fscsr %0" : : "r" (newState); + asm pure nothrow @nogc + { + "fscsr %0" : : "r" (newState); + } } } else |