[all-commits] [llvm/llvm-project] 535ed6: [AArch64] Add custom store lowering for 256 bit no...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Jan 21 14:54:08 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 535ed62c5fcb9b8cd1e7abdd342277761aed29b7
      https://github.com/llvm/llvm-project/commit/535ed62c5fcb9b8cd1e7abdd342277761aed29b7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/nontemporal.ll

  Log Message:
  -----------
  [AArch64] Add custom store lowering for 256 bit non-temporal stores.

Currently we fail to lower non-termporal stores for 256+ bit vectors
to STNPQ, because type legalization will split them up to 128 bit stores
and because there are no single non-temporal stores, creating STPNQ
in the Load/Store optimizer would be quite tricky.

This patch adds custom lowering for 256 bit non-temporal vector stores
to improve the generated code.

Reviewers: dmgreen, samparker, t.p.northover, ab

Reviewed By: dmgreen

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




More information about the All-commits mailing list