[llvm] [X86] LowerFP_EXTEND - X86ISD::CVTPH2PS doesn't take a rounding mode (PR #185659)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 07:57:32 PDT 2026
https://github.com/RKSimon updated https://github.com/llvm/llvm-project/pull/185659
>From 11d1ee17447cd8f3978a5c46502ba10a4e2af3d4 Mon Sep 17 00:00:00 2001
From: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: Tue, 10 Mar 2026 14:28:26 +0000
Subject: [PATCH] [X86] LowerFP_EXTEND - X86ISD::CVTPH2PS doesn't take a
rounding mode
Fixes verificatoin failure in X86SelectionDAGInfo::verifyTargetNode (#185649)
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 3 +--
llvm/lib/Target/X86/X86SelectionDAGInfo.cpp | 1 -
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index fdf54790bed61..5cc2252fdc4f1 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -22928,8 +22928,7 @@ SDValue X86TargetLowering::LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const {
DAG.getUNDEF(MVT::v4i32), In,
DAG.getVectorIdxConstant(0, DL));
In = DAG.getBitcast(MVT::v8i16, In);
- Res = DAG.getNode(X86ISD::CVTPH2PS, DL, MVT::v4f32, In,
- DAG.getTargetConstant(4, DL, MVT::i32));
+ Res = DAG.getNode(X86ISD::CVTPH2PS, DL, MVT::v4f32, In);
}
Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Res,
DAG.getVectorIdxConstant(0, DL));
diff --git a/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp b/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
index 4444645375a51..f5e422cbd0f89 100644
--- a/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
+++ b/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
@@ -76,7 +76,6 @@ void X86SelectionDAGInfo::verifyTargetNode(const SelectionDAG &DAG,
case X86ISD::VTRUNCSTORES:
case X86ISD::FSETCCM_SAE:
// invalid number of operands; expected 3, got 4
- case X86ISD::CVTPH2PS:
case X86ISD::CVTTP2SI_SAE:
case X86ISD::CVTTP2UI_SAE:
case X86ISD::CVTTP2IBS_SAE:
More information about the llvm-commits
mailing list