[all-commits] [llvm/llvm-project] 019f02: [AArch64][SVE] Fold gather/scatter with 32bits whe...
CarolineConcatto via All-commits
all-commits at lists.llvm.org
Thu Feb 3 11:00:25 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 019f0221d52dc14829b6011b5bccd9ba4c3849d8
https://github.com/llvm/llvm-project/commit/019f0221d52dc14829b6011b5bccd9ba4c3849d8
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2022-02-03 (Thu, 03 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
Log Message:
-----------
[AArch64][SVE] Fold gather/scatter with 32bits when possible
In AArch64ISelLowering.cpp this patch implements this fold:
GEP (%ptr, (splat(%offset) + stepvector(A)))
into GEP ((%ptr + %offset), stepvector(A))
The above transform simplifies the index operand so that it can be expressed
as i32 elements.
This allows using only one gather/scatter assembly instruction instead of two.
Patch by Paul Walker (@paulwalker-arm).
Depends on D118459
Differential Revision: https://reviews.llvm.org/D117900
More information about the All-commits
mailing list