[all-commits] [llvm/llvm-project] f63409: [ARM] Perform lane interleaving from reductions.

David Green via All-commits all-commits at lists.llvm.org
Tue Feb 7 06:13:04 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f634096f6b7b5d0a795d5eb148e9f633ad980a72
      https://github.com/llvm/llvm-project/commit/f634096f6b7b5d0a795d5eb148e9f633ad980a72
  Author: David Green <david.green at arm.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M llvm/lib/Target/ARM/MVELaneInterleavingPass.cpp
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll

  Log Message:
  -----------
  [ARM] Perform lane interleaving from reductions.

We have a pass for MVE to perform lane interleaving to make use of top/bottom
instructions, that adds shuffles before extends and after truncates. This
extends it to also start from add reductions, where the order of lanes does not
matter so the shuffle is not needed. We need to be careful about not breaking
the form of existing reductions, but otherwise can save some instructions and
awkward extends.

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




More information about the All-commits mailing list