Recommit "[AArch64][SVE] Implement intrinsics for non-temporal loads & stores"
authorKerry McLaughlin <kerry.mclaughlin@arm.com>
Wed, 11 Dec 2019 14:46:40 +0000 (14:46 +0000)
committerKerry McLaughlin <kerry.mclaughlin@arm.com>
Fri, 13 Dec 2019 10:08:20 +0000 (10:08 +0000)
commit4194ca8e5abff825a3daaa01ea2a6f69d7a652da
treedeb36170b27d05bd891a9a811833a418345096a2
parent5c7cc6f83d1f3ea2016d94e1c9cc25f814d2671b
Recommit "[AArch64][SVE] Implement intrinsics for non-temporal loads & stores"

Updated pred_load patterns added to AArch64SVEInstrInfo.td by this patch
to use reg + imm non-temporal loads to fix previous test failures.

Original commit message:

Adds the following intrinsics:
  - llvm.aarch64.sve.ldnt1
  - llvm.aarch64.sve.stnt1

This patch creates masked loads and stores with the
MONonTemporal flag set when used with the intrinsics above.
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll [new file with mode: 0644]