[llvm] [SelectionDAG] Fix crash scalarizing `FLDEXP` with a legal `<1 x i1>` exponent (PR #224809)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 06:14:28 PDT 2026


================
@@ -547,6 +550,23 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_UnaryOpWithExtraInput(SDNode *N) {
                      N->getOperand(1));
 }
 
+SDValue DAGTypeLegalizer::ScalarizeVecRes_FPOp_MultiType(SDNode *N) {
+  SDLoc DL(N);
+  SDValue LHS = GetScalarizedVector(N->getOperand(0));
+  SDValue RHS = N->getOperand(1);
+  EVT RHSVT = RHS.getValueType();
+  // The second operand has its own type and may not need scalarizing itself,
+  // e.g. v1i1 is legal under AVX-512. See ScalarizeVecRes_UnaryOp.
----------------
arsenm wrote:

Do you need a test for a not-illegal abnormal integer element type?

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


More information about the llvm-commits mailing list