[all-commits] [llvm/llvm-project] 267d6d: [AArch64] Use NEON's tbl1 for 16xi8 and 8xi8 build...

Lawrence Benson via All-commits all-commits at lists.llvm.org
Wed Mar 29 07:26:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 267d6d665cf2379ebfcc65fa385a35529c83a7d0
      https://github.com/llvm/llvm-project/commit/267d6d665cf2379ebfcc65fa385a35529c83a7d0
  Author: Lawrence Benson <github at lawben.com>
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll

  Log Message:
  -----------
  [AArch64] Use NEON's tbl1 for 16xi8 and 8xi8 build vector with mask.

When using Clang's __builtin_shufflevector with a 16xi8 or 8xi8 source and
runtime mask on an AArch64 target, LLVM currently generates 16 or 8
extract+and+insert operations. This patch replaces these inserts with (a vector
AND +) NEON's tbl1 intruction.

Issue: https://github.com/llvm/llvm-project/issues/60515

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




More information about the All-commits mailing list