[all-commits] [llvm/llvm-project] 41d814: [ARM] Lower MVETRUNC to stack operations

David Green via All-commits all-commits at lists.llvm.org
Sat Jun 26 14:13:19 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 41d8149ee972b8498288b5051a6966cc9e89d57c
      https://github.com/llvm/llvm-project/commit/41d8149ee972b8498288b5051a6966cc9e89d57c
  Author: David Green <david.green at arm.com>
  Date:   2021-06-26 (Sat, 26 Jun 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-scatter-ind16-unscaled.ll
    M llvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
    M llvm/test/CodeGen/Thumb2/mve-sext.ll

  Log Message:
  -----------
  [ARM] Lower MVETRUNC to stack operations

The MVETRUNC node truncates two wide vectors to a single vector with
narrower elements. This is usually lowered to a series of extract/insert
elements, going via GPR registers. This patch changes that to instead
use a pair of truncating stores and a stack reload. This cuts down the
number of instructions at the expense of some stack space.

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




More information about the All-commits mailing list