[all-commits] [llvm/llvm-project] 443110: DAG: Fix vector bin op scalarize defining a partia...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Jan 16 17:34:25 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 44311066303726dab2597b5860f8173b6c54b37a
      https://github.com/llvm/llvm-project/commit/44311066303726dab2597b5860f8173b6c54b37a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll

  Log Message:
  -----------
  DAG: Fix vector bin op scalarize defining a partially undef vector (#122459)

This avoids some of the pending regressions after AMDGPU implements
isExtractVecEltCheap.

In a case like shl <value, undef>, splat k, because the second operand
was fully defined, we would fall through and use the splat value for the
first operand, losing the undef high bits. This would result in an additional
instruction to handle the high bits. Add some reduced testcases for different
opcodes for one of the regressions.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list