| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This is another potential regression exposed by D63815.
Here we peek through a bitcast to find an extract subvector and
scale the splat offset based on that:
splat (bitcast (extract X, C)), LaneC --> duplane (bitcast X), LaneC'
Differential Revision: https://reviews.llvm.org/D71672
|
|
|
|
|
| |
Goes with D71672 - we should be able to handle casting to
a wider type as well as casting to a narrower type.
|
|
|
|
| |
See D63815 for context/motivation.
|
|
|
|
|
| |
The common prefix reduces a bunch of replication; not sure why it
didn't happen before.
|
| |
|
|
|
|
|
|
| |
Prep work for an upcoming patch
llvm-svn: 364204
|
|
|
|
| |
llvm-svn: 355264
|
|
|
|
|
|
| |
Update any test case relevant for Exynos M3.
llvm-svn: 323775
|
|
|
|
|
|
| |
Make sure that all test cases are run for Exynos as well. Otherwise, NFC.
llvm-svn: 321032
|
|
|
|
|
|
|
| |
Replace interleaved store instructions by equivalent and more efficient instructions based on latency cost model.
Https://reviews.llvm.org/D38196
llvm-svn: 320123
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid generating indexed vector instructions for Exynos. This is needed for
fmla/fmls/fmul/fmulx. For example, the instruction
fmla v0.4s, v1.4s, v2.s[1]
is less efficient than the instructions
dup v2.4s, v2.s[1]
fmla v0.4s, v1.4s, v2.4s
Patch written by Abderrazek Zaafrani.
Differential Revision: https://reviews.llvm.org/D21571
llvm-svn: 283663
|
|
|
|
|
|
|
|
|
| |
We canonicalize V64 vectors to V128 through insert_subvector: the other
FMLA/FMLS/FMUL/FMULX patterns match that already, but this one doesn't,
so we'd fail to match fmls and generate fneg+fmla instead.
The vector equivalents are already tested and functional.
llvm-svn: 245107
|
|
This commit starts with a "git mv ARM64 AArch64" and continues out
from there, renaming the C++ classes, intrinsics, and other
target-local objects for consistency.
"ARM64" test directories are also moved, and tests that began their
life in ARM64 use an arm64 triple, those from AArch64 use an aarch64
triple. Both should be equivalent though.
This finishes the AArch64 merge, and everyone should feel free to
continue committing as normal now.
llvm-svn: 209577
|