[llvm] [SDAG] Teach FoldConstantArithmetic to match splats inserted into vectors (PR #163984)
    Benjamin Maxwell via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Oct 20 03:08:49 PDT 2025
    
    
  
================
@@ -8,7 +8,7 @@
 define void @pr35443() {
 ; CHECK-LABEL: pr35443:
 ; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    vpbroadcastb ac+4(%rip), %xmm0
+; CHECK-NEXT:    vpbroadcastb ac+4(%rip), %ymm0
----------------
MacDue wrote:
I've come up with an alternate approach that updates `FoldConstantArithmetic` to handle this case (does not appear to cause any regressions).
I looked into the various IsSplat/GetSplat functions, but I didn't see any uses that looked like they would result in these cases being constant-folded. Waiting till ISEL also looked like it may be too late, as some nodes, like UDIV, may expand to a more complex sequence by that point.
https://github.com/llvm/llvm-project/pull/163984
    
    
More information about the llvm-commits
mailing list