llvm-project
2e5620eb - [SelectionDAG] powi and ldexp libcalls deal with signed int arguments (#213673)

Commit
9 hours ago
[SelectionDAG] powi and ldexp libcalls deal with signed int arguments (#213673) While investigating a sign extension problem on an off-tree target that needs extension of 32-bit integer argument to 64-bit register when passed as an argument, I found that `__powisf2` was being passed zero-extended despite the argument being a signed `int`. I narrowed this down to the fact that `shouldSignExtendTypeInLibCall` was being passed `false` for `IsSigned` for the `int` argument in these libcalls. Other libcalls (not an exhaustive review) such as the `XINT_TO_FP` family do set the `IsSigned` value here. I utilized the s390x target to write a test for this.
Author
Parents
Loading