[all-commits] [llvm/llvm-project] 1b435e: [ARM] i16 insert-of-extract to VINS pattern

David Green via All-commits all-commits at lists.llvm.org
Mon Feb 8 00:42:19 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b435eb8f3b71d11976c04bb6b99d6502aed2aab
      https://github.com/llvm/llvm-project/commit/1b435eb8f3b71d11976c04bb6b99d6502aed2aab
  Author: David Green <david.green at arm.com>
  Date:   2021-02-08 (Mon, 08 Feb 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
    M llvm/test/CodeGen/Thumb2/mve-vld3.ll
    M llvm/test/CodeGen/Thumb2/mve-vst3.ll

  Log Message:
  -----------
  [ARM] i16 insert-of-extract to VINS pattern

This adds another tablegen fold that converts an i16 odd-lane-insert of
an even-lane-extract into a VINS. We extract the existing f32 value from
the destination register and VINS the new value into it. The rest of the
backend then is able to optimize the INSERT_SUBREG / COPY_TO_REGCLASS /
EXTRACT_SUBREG.

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




More information about the All-commits mailing list