[llvm] [GlobalISel] Support fixed vectors in constant-fold combines. (PR #220876)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 13 09:01:22 PDT 2026


================
@@ -828,6 +832,32 @@ llvm::ConstantFoldVectorBinop(unsigned Opcode, const Register Op1,
   return FoldedElements;
 }
 
+SmallVector<APFloat>
+llvm::ConstantFoldVectorFPBinop(unsigned Opcode, const Register Op1,
+                                const Register Op2,
+                                const MachineRegisterInfo &MRI) {
+  auto *SrcVec2 = getBuildVectorLikeDef(Op2, MRI);
+  if (!SrcVec2)
+    return SmallVector<APFloat>();
+
+  auto *SrcVec1 = getBuildVectorLikeDef(Op1, MRI);
+  if (!SrcVec1)
+    return SmallVector<APFloat>();
+
+  if (SrcVec1->getNumSources() != SrcVec2->getNumSources())
----------------
arsenm wrote:

This is impossible?

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


More information about the llvm-commits mailing list