[all-commits] [llvm/llvm-project] 075c44: [AArch64][SVE] Put zeroing pseudos and patterns un...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Thu Jul 2 06:25:40 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 075c440f7bc8f38b2e484a1f31c803f470dab7d4
      https://github.com/llvm/llvm-project/commit/075c440f7bc8f38b2e484a1f31c803f470dab7d4
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2020-07-02 (Thu, 02 Jul 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-zeroing.ll

  Log Message:
  -----------
  [AArch64][SVE] Put zeroing pseudos and patterns under flag.

This patch puts the _ZERO pseudos and corresponding patterns
under the predicate 'UseExperimentalZeroingPseudos', so that they
can be enabled/disabled through compile flags.

This is done because the zeroing pseudos use MOVPRFX to do merging of
the inactive lanes, but it depends on the uarch whether this operation
is actually merged with the destructive operation. If not, it may be
more profitable to use a SELECT and to give the compiler the freedom to
schedule these instructions as normal, rather than keeping them bundled
together. Additionally, this feature is not yet fully implemented and
there are still known bugs (see D80410) that need to be resolved before
the 'experimental' can be dropped from the name.

Reviewers: paulwalker-arm, cameron.mcinally, efriedma

Reviewed By: paulwalker-arm

Tags: #llvm

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




More information about the All-commits mailing list