[PATCH] D53608: [builtins] Build float128 soft float builtins for x86_64.

Manoj Gupta via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 23 14:53:48 PDT 2018


manojgupta added inline comments.


================
Comment at: lib/builtins/fp_lib.h:111
 typedef __int128_t srep_t;
-typedef long double fp_t;
+typedef __float128 fp_t;
 #define REP_C (__uint128_t)
----------------
efriedma wrote:
> manojgupta wrote:
> > Changed long double to  __float128 on Eli's advice in PR39376.
> You need to guard this with an ifdef; clang doesn't supports __float128 on every target, even if long double is an 128-bit IEEE float.
> 
> For reasons I don't really understand, there are apparently two different macros for this; `#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__)` should do the right thing.
Thanks Eli. I also found out that GCC 4.9 does not seem to have these defined even though it supports __float128.
https://godbolt.org/z/ReVm8j



Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D53608





More information about the llvm-commits mailing list