[all-commits] [llvm/llvm-project] b7bf93: [PowerPC] Provide XL-compatible vec_round implemen...

Nemanja Ivanovic via All-commits all-commits at lists.llvm.org
Wed Nov 24 04:44:17 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b7bf937bbee38c2db0c0640176ef618d9c746538
      https://github.com/llvm/llvm-project/commit/b7bf937bbee38c2db0c0640176ef618d9c746538
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2021-11-24 (Wed, 24 Nov 2021)

  Changed paths:
    M clang/lib/Headers/altivec.h
    M clang/test/CodeGen/builtins-ppc-vsx.c
    M clang/test/CodeGen/builtins-ppc-xlcompat.c
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/read-set-flm.ll

  Log Message:
  -----------
  [PowerPC] Provide XL-compatible vec_round implementation

The XL implementation of vec_round for vector double uses
"round-to-nearest, ties to even" just as the vector float
`version does. However clang and gcc use "round-to-nearest-away"
for vector double and "round-to-nearest, ties to even"
for vector float.

The XL behaviour is implemented under the __XL_COMPAT_ALTIVEC__
macro similarly to other instances of incompatibility.

Differential revision: https://reviews.llvm.org/D113642




More information about the All-commits mailing list