[all-commits] [llvm/llvm-project] 947a52: [AArch64] Prefer using DUP instead of INS where po...

Csanád Hajdú via All-commits all-commits at lists.llvm.org
Thu May 15 01:31:32 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 947a52db7c88a6946e0d888851cc93faca6d726f
      https://github.com/llvm/llvm-project/commit/947a52db7c88a6946e0d888851cc93faca6d726f
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
    M llvm/test/CodeGen/AArch64/bitcast-extend.ll
    M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
    M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    M llvm/test/CodeGen/AArch64/shuffle-extend.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll

  Log Message:
  -----------
  [AArch64] Prefer using DUP instead of INS where possible (#138549)

Replace all instances of `INS(IMPLICIT_DEF, 0, v, idx)` with
`DUP(v, idx)` in instruction selection.

`INS` (e.g. `mov v0.s[0], v1.s[1]`) has a value dependency on its output
register, which becomes a false dependency when we're inserting into an
`IMPLICIT_DEF` register. We can break this false dependency by using
`DUP` (e.g. `mov s0, v1.s[1]`) instead.



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