[all-commits] [llvm/llvm-project] 60c9b5: [AArch64][SVE] Improve codegen for dupq SVE ACLE i...

Bradley Smith via All-commits all-commits at lists.llvm.org
Mon Jun 7 04:22:06 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 60c9b5f35caeb555f66d261bf5a657ab02a35fef
      https://github.com/llvm/llvm-project/commit/60c9b5f35caeb555f66d261bf5a657ab02a35fef
  Author: Bradley Smith <bradley.smith at arm.com>
  Date:   2021-06-07 (Mon, 07 Jun 2021)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq_const.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll

  Log Message:
  -----------
  [AArch64][SVE] Improve codegen for dupq SVE ACLE intrinsics

Use llvm.experimental.vector.insert instead of storing into an alloca
when generating code for these intrinsics. This defers the codegen of
the generated vector to instruction selection, allowing existing
shufflevector style optimizations to apply.

Additionally, introduce a new target transform that can recognise fixed
predicate patterns in the svbool variants of these intrinsics.

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




More information about the All-commits mailing list