llvm-project/llvm
Florian Hahn 535ed62c5f [AArch64] Add custom store lowering for 256 bit non-temporal stores.
Currently we fail to lower non-termporal stores for 256+ bit vectors
to STNPQ, because type legalization will split them up to 128 bit stores
and because there are no single non-temporal stores, creating STPNQ
in the Load/Store optimizer would be quite tricky.

This patch adds custom lowering for 256 bit non-temporal vector stores
to improve the generated code.

Reviewers: dmgreen, samparker, t.p.northover, ab

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D72919
2020-01-21 14:53:40 -08:00
..
benchmarks
bindings Pass length of string in Go binding of CreateCompileUnit 2020-01-17 13:35:30 -08:00
cmake Remove AllTargetsAsmPrinters 2020-01-17 19:04:06 -05:00
docs Update spelling of {analyze,insert,remove}Branch in strings and comments 2020-01-21 10:15:38 -06:00
examples [ORC] Simplify use of lazyReexports with LLJIT. 2020-01-15 08:02:53 -08:00
include [GISelKnownBits] Make the max depth a parameter of the analysis 2020-01-21 11:35:31 -08:00
lib [AArch64] Add custom store lowering for 256 bit non-temporal stores. 2020-01-21 14:53:40 -08:00
projects
resources
runtimes [CMake] Prefer multi-target variables over generic target variables in runtimes build 2020-01-17 15:18:18 -08:00
test [AArch64] Add custom store lowering for 256 bit non-temporal stores. 2020-01-21 14:53:40 -08:00
tools [llvm-exegesis] Fix support for LEA64_32r. 2020-01-21 13:58:23 +01:00
unittests [APInt] Fix tests that had wrong assumption about sdivs with negative quotient. 2020-01-21 13:53:01 -08:00
utils [gn build] Port fccd0da5ee 2020-01-21 13:36:16 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
CODE_OWNERS.TXT [VE] Target stub for NEC SX-Aurora 2020-01-09 11:17:35 +01:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.