[all-commits] [llvm/llvm-project] 2a0b53: [AArch64] Eliminate XTN/SSHLL for vector splats

Guy David via All-commits all-commits at lists.llvm.org
Wed Feb 11 02:43:44 PST 2026


  Branch: refs/heads/users/guy-david/aarch64-dup-trunc-combine
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a0b530660d9deff9e04cb4ddc31969f896fa174
      https://github.com/llvm/llvm-project/commit/2a0b530660d9deff9e04cb4ddc31969f896fa174
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-02-11 (Wed, 11 Feb 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/vec-combine-dup-trunc-sext.ll

  Log Message:
  -----------
  [AArch64] Eliminate XTN/SSHLL for vector splats

Combine:
  sext(duplane(insert_subvector(undef, trunc(X), 0), idx))
Into:
  duplane(X, idx)

This avoids XTN/SSHLL instruction sequences that occur when splatting
elements from boolean vectors after type legalization, which is common
when using shufflevector with comparison results.



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