[all-commits] [llvm/llvm-project] 88ff4d: [PowerPC] Fix STRICT_FRINT/STRICT_FNEARBYINT lowering
Qiu Chaofan via All-commits
all-commits at lists.llvm.org
Wed Sep 9 07:43:11 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 88ff4d2ca1a0aaed6888152042256a0ef3fe863d
https://github.com/llvm/llvm-project/commit/88ff4d2ca1a0aaed6888152042256a0ef3fe863d
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2020-09-09 (Wed, 09 Sep 2020)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/builtins-ppc-vsx.c
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
Log Message:
-----------
[PowerPC] Fix STRICT_FRINT/STRICT_FNEARBYINT lowering
In standard C library, both rint and nearbyint returns rounding result
in current rounding mode. But nearbyint never raises inexact exception.
On PowerPC, x(v|s)r(d|s)pic may modify FPSCR XX, raising inexact
exception. So we can't select constrained fnearbyint into xvrdpic.
One exception here is xsrqpi, which will not raise inexact exception, so
fnearbyint f128 is okay here.
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D87220
More information about the All-commits
mailing list