[llvm] [llvm][CodeGen] Intrinsic `llvm.powi.*` code gen for vector arguments (PR #118242)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 8 22:37:29 PST 2024


================
@@ -2585,6 +2585,8 @@ SDValue DAGTypeLegalizer::PromoteIntOp_ExpOp(SDNode *N) {
                              : RTLIB::getLDEXP(N->getValueType(0));
 
   if (LC == RTLIB::UNKNOWN_LIBCALL || !TLI.getLibcallName(LC)) {
+    if (IsPowI && N->getValueType(0).isVector())
----------------
topperc wrote:

Add a comment something like this

```
// Scalarize vector FPOWI instead of promoting the type. This allows the scalar FPOWIs to be visited and converted to libcalls before promoting the type.
FIXME: This should be done in LegalizeVectorOps/LegalizeDAG, but call lowering needs the unpromoted EVT.
```

https://github.com/llvm/llvm-project/pull/118242


More information about the llvm-commits mailing list