[all-commits] [llvm/llvm-project] c35ca3: [PowerPC] Implement XL compat __fnabs and __fnabss...

Amy Kwan via All-commits all-commits at lists.llvm.org
Thu May 19 09:29:40 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c35ca3a1c78f693b749ad11742350b7fc6c5cd89
      https://github.com/llvm/llvm-project/commit/c35ca3a1c78f693b749ad11742350b7fc6c5cd89
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2022-05-19 (Thu, 19 May 2022)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/lib/Basic/Targets/PPC.cpp
    A clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fnabs.c
    M llvm/include/llvm/IR/IntrinsicsPowerPC.td
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/P9InstrResources.td
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td
    A llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fnabs.ll

  Log Message:
  -----------
  [PowerPC] Implement XL compat __fnabs and __fnabss builtins.

This patch implements the following floating point negative absolute value
builtins that required for compatibility with the XL compiler:
```
double __fnabs(double);
float __fnabss(float);
```

These builtins will emit :
- fnabs on PWR6 and below, or if VSX is disabled.
- xsnabsdp on PWR7 and above, if VSX is enabled.

Differential Revision: https://reviews.llvm.org/D125506




More information about the All-commits mailing list