[all-commits] [llvm/llvm-project] c5dfee: [CodeGen][AArch64][SVE] Use ld1r[bhsd] for vector ...
Peter Waller via All-commits
all-commits at lists.llvm.org
Tue Jul 6 05:05:16 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c5dfee44b983d7a96f2c1a234f83abf41c7e2443
https://github.com/llvm/llvm-project/commit/c5dfee44b983d7a96f2c1a234f83abf41c7e2443
Author: Peter Waller <peter.waller at arm.com>
Date: 2021-07-06 (Tue, 06 Jul 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
A llvm/test/CodeGen/AArch64/sve-ld1r.ll
A llvm/test/CodeGen/AArch64/sve-ld1r.mir
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
Log Message:
-----------
[CodeGen][AArch64][SVE] Use ld1r[bhsd] for vector splat from memory
This avoids the use of the vector unit for copying from scalar to
vector. There is an extra ptrue instruction, but a predicate register
with the ptrue pattern populated is likely to be free in the context of
real code.
Tests were generated from a template to cover the axes mentioned at the
top of the test file.
Co-authored-by: Francesco Petrogalli <francesco.petrogalli at arm.com>
Differential Revision: https://reviews.llvm.org/D103170
More information about the All-commits
mailing list