llvm-project/llvm
Craig Topper b2a626b52e [X86] Remove the max vector width restriction from combineLoopMAddPattern and rely splitOpsAndApply to handle splitting.
This seems to be a net improvement. There's still an issue under avx512f where we have a 512-bit vpaddd, but not vpmaddwd so we end up doing two 256-bit vpmaddwds and inserting the results before a 512-bit vpaddd. It might be better to do two 512-bits paddds with zeros in the upper half. Same number of instructions, but breaks a dependency.

llvm-svn: 337656
2018-07-22 19:44:35 +00:00
..
bindings
cmake [UBSan] Also use blacklist for 'Address; Undefined' setting 2018-07-20 10:12:31 +00:00
docs [llvm-mca][docs] Add documentation for the statistic outputs from mca. NFC 2018-07-21 18:32:47 +00:00
examples
include [ORE] Move loop invariant ORE checks outside the PM loop. 2018-07-22 05:27:41 +00:00
lib [X86] Remove the max vector width restriction from combineLoopMAddPattern and rely splitOpsAndApply to handle splitting. 2018-07-22 19:44:35 +00:00
projects
resources
runtimes Revert "[CMake] Pass Clang defaults to runtimes builds" 2018-07-13 20:01:55 +00:00
test [X86] Remove the max vector width restriction from combineLoopMAddPattern and rely splitOpsAndApply to handle splitting. 2018-07-22 19:44:35 +00:00
tools [llvm-undname] Flush output before demangling. 2018-07-21 15:39:05 +00:00
unittests [ORC] Re-apply r336760 with fixes. 2018-07-21 00:12:05 +00:00
utils Fix the MSVC Visualizers for SmallVector classes. 2018-07-21 15:38:47 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Rewrite the VS integration scripts. 2018-07-20 16:30:02 +00:00
CODE_OWNERS.TXT
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.