[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Jul 6 17:46:47 PDT 2019


MaskRay added a comment.

Drive-by comment :)

In gcc, (1) -mlong-double-128 uses IEEE 754 quad as the representation of long double on x86_64 (2) -mlong-double-128 -mabi=ieeelongdouble uses IEEE 754 quad as the representation of long double on powerpc{32,64}.   (On Linux powerpc{32,64}, `-mlong-double-128 -mabi=ibmlongdouble` is the default, it uses a IBM 128-bit extended precision for long double).

`-mlong-double-128` is currently not supported by clang, but I intend to support it in D64277 <https://reviews.llvm.org/D64277>. After that, the representation of `long double` will be the same as `__float128` (unfortunately they will use the same mangling scheme)

As I noticed, the mangling scheme of `__float128` also needs a fix. After applying D64277 <https://reviews.llvm.org/D64277> and its dependent revisions, the last two CHECK lines of test/OpenMP/nvptx_unsupported_type_codegen.cpp will fail...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64289/new/

https://reviews.llvm.org/D64289





More information about the cfe-commits mailing list