[all-commits] [llvm/llvm-project] 53ed68: SLP cannot vectorize frem calls in AArch64.
Paschalis Mpeis via All-commits
all-commits at lists.llvm.org
Fri Feb 23 06:44:12 PST 2024
Branch: refs/heads/users/paschalis-mpeis/frem-slp-vectorization
Home: https://github.com/llvm/llvm-project
Commit: 53ed688d0ac0933161c625b7470b912cb0770ae3
https://github.com/llvm/llvm-project/commit/53ed688d0ac0933161c625b7470b912cb0770ae3
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
Log Message:
-----------
SLP cannot vectorize frem calls in AArch64.
It needs updated costs when there are available vector library functions
given the VF and type.
Commit: d11c1c4ffb8d47f31c1c26796f116c386c7dcf1f
https://github.com/llvm/llvm-project/commit/d11c1c4ffb8d47f31c1c26796f116c386c7dcf1f
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
Log Message:
-----------
[AArch64] SLP can vectorize frem
When vector library calls are available for frem, given its type and
vector length, the SLP vectorizer uses updated costs that amount to a
call, matching LoopVectorizer's functionality.
This allows 'superword-level' vectorization, which can be converted to
a vector lib call by later passes.
Add tests that vectorize code that contains 2x double and 4x float frem
instructions.
Commit: ce534dcfed0fcbd2bdb8474b739e0d82b28058f9
https://github.com/llvm/llvm-project/commit/ce534dcfed0fcbd2bdb8474b739e0d82b28058f9
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Addressing reviewers
Commit: 71d6952bc4bdfc8ad679af0e876693557120ac5e
https://github.com/llvm/llvm-project/commit/71d6952bc4bdfc8ad679af0e876693557120ac5e
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[LV][SLP] Vectorizers now use getFRemInstrCost for frem costs
SLP vectorization for frem now happens when vector library calls are
available, given its type and vector length. This is due to using the
updated cost that amounts to a call.
Add tests that do SLP vectorization for code that contains 2x double and
4x float frem instructions.
LoopVectorizer now also uses getFRemInstrCost.
Compare: https://github.com/llvm/llvm-project/compare/0a77f3a0bfd0...71d6952bc4bd
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list