[all-commits] [llvm/llvm-project] 05d424: [AArch64][SVE] Fold fadda(ptrue, x, select(mask, y...

RosieSumpter via All-commits all-commits at lists.llvm.org
Tue Jul 19 00:39:26 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 05d424d165631aee9c27a5ca18a534d0b7823fe7
      https://github.com/llvm/llvm-project/commit/05d424d165631aee9c27a5ca18a534d0b7823fe7
  Author: Rosie Sumpter <rosie.sumpter at arm.com>
  Date:   2022-07-19 (Tue, 19 Jul 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve-fadda-select.ll

  Log Message:
  -----------
  [AArch64][SVE] Fold fadda(ptrue, x, select(mask, y, -0.0)) into fadda(mask, x, y)

This patch adds an SVE pattern to recognize the use of a select with an
fadda in the form fadda(ptrue, x, select(mask, y, -0.0)). In this case
the select can be folded away, with the select mask used as the
predicate for fadda. This improves the codegen when vectorizing loops
with ordered fp reductions.

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




More information about the All-commits mailing list