[llvm-bugs] [Bug 36038] New: long double is suboptimal on WebAssembly

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jan 22 09:42:48 PST 2018


https://bugs.llvm.org/show_bug.cgi?id=36038

            Bug ID: 36038
           Summary: long double is suboptimal on WebAssembly
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: WebAssembly
          Assignee: unassignedbugs at nondot.org
          Reporter: ncw at realvnc.com
                CC: llvm-bugs at lists.llvm.org

Wasm provides "long double" as an emulated 128-bit double, using the
compiler-rt library.

This is excessive precision for most applications, and a previous discussion
(which I can't find now...) in a GitHub thread indicated that several Wasm
contributors thought it would be better to simply provide 64-bit floats on
Wasm.

The argument was, "anyone who really needs 128-bit floats is writing rather
unusual software, and can use a library".

Using 128-bit long doubles is a long-term ABI commitment, which incurs overhead
in any application that uses snprintf or other such functions.


I don't believe this change is recorded elsewhere in Bugzilla.

(See PR35582 for another similar ABI change, int_fast16_t, and PR33337 for
changing size_t to long.)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180122/a725e5c6/attachment.html>


More information about the llvm-bugs mailing list