[all-commits] [llvm/llvm-project] 8178de: [AArch64] Change the type of i64 neon shifts to v1i64

David Green via All-commits all-commits at lists.llvm.org
Tue May 16 06:03:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8178de3273148bc0382c591c189f787e6025da61
      https://github.com/llvm/llvm-project/commit/8178de3273148bc0382c591c189f787e6025da61
  Author: David Green <david.green at arm.com>
  Date:   2023-05-16 (Tue, 16 May 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-vshift.ll

  Log Message:
  -----------
  [AArch64] Change the type of i64 neon shifts to v1i64

This alters the lowering of shifts by a constant, so that the type is lowered
to a v1i64 instead of a i64. This helps communicate that the type will live in
a neon register, and can help clean up surrounding code. Note this is only
currently for the scalar shifts of a constant that go through the nodes in
tryCombineShiftImm.

ssra instructions are no longer being recognized in places, but that can be
cleaned up in a followup patch that combines the i64 add into a v1i64 add.

Differential Revision: https://reviews.llvm.org/D148309




More information about the All-commits mailing list