[all-commits] [llvm/llvm-project] 1232cf: [ARM] Don't split trunc stores that can be better ...

David Green via All-commits all-commits at lists.llvm.org
Tue Mar 24 02:51:57 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1232cfa385c15ef768381483d9cbd575380bc054
      https://github.com/llvm/llvm-project/commit/1232cfa385c15ef768381483d9cbd575380bc054
  Author: David Green <david.green at arm.com>
  Date:   2020-03-24 (Tue, 24 Mar 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-vmovnstore.ll

  Log Message:
  -----------
  [ARM] Don't split trunc stores that can be better handled as VMOVN

We deliberately split stores of the form
store(truncate(larger-than-legal-type)) into two stores, allowing each
store to perform part of the truncate for free.

There are times however where it makes more sense to use VMOVN to
de-interlace the results back into a single vector, and store that in
one go. This adds a check for that situation, not splitting the store if
it looks like a VMOVN can be more useful.

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




More information about the All-commits mailing list