[all-commits] [llvm/llvm-project] 693d3b: [AArch64] Lower 3 and 4 sources buildvectors to TBL

David Green via All-commits all-commits at lists.llvm.org
Sat Mar 26 14:10:56 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 693d3b7e76367a1dd31b594ba72bdda5391dfef3
      https://github.com/llvm/llvm-project/commit/693d3b7e76367a1dd31b594ba72bdda5391dfef3
  Author: David Green <david.green at arm.com>
  Date:   2022-03-26 (Sat, 26 Mar 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll

  Log Message:
  -----------
  [AArch64] Lower 3 and 4 sources buildvectors to TBL

The default expansion for buildvectors is to extract each element and
insert them into a new vector. That involves a lot of copying to/from
the GPR registers. TLB3 and TLB4 can be relatively slow instructions
with the mask needing to be loaded from a constant pool, but they should
always be better than all the moves to/from GPRs.

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




More information about the All-commits mailing list