[PATCH] D109950: [Clang] Enable IC/IF mode for __ibm128

Elizabeth Andrews via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 29 08:54:49 PDT 2021


eandrews added a comment.

This has changed the behavior for -

  // Define __complex128 type corresponding to __float128 (as in GCC headers).
  typedef _Complex float __attribute__((mode(TC))) __complex128;
  
  void check() {
  // CHECK: alloca { fp128, fp128 }   <----- Fails because alloca { x86_fp80, x86_fp80 } is generated instead
  __complex128 tmp;
  }

In TargetInfo.cpp, we used to check long double format to decide whether to return LongDouble or Float128. This patch doesn't, and so the return value has changed from FloatModeKind::Float128 to clang::FloatModeKind::LongDouble (ExplicitType).  Should we be checking the format?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109950



More information about the cfe-commits mailing list