1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
Go to file
Philip Reames eaea7ba7a7 [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic
If the mask of a pdep or pext instruction is a shift masked (i.e. one contiguous block of ones) we need at most one and and one shift to represent the operation without the intrinsic. One all platforms I know of, this is faster than the pdep/pext.

The cost modelling for multiple contiguous blocks might be worth exploring in a follow up, but it's not relevant for my current use case. It would almost certainly be a win on AMDs where these are really really slow though.

Differential Revision: https://reviews.llvm.org/D87861
2020-09-18 14:54:24 -07:00
benchmarks
bindings [OCaml] Remove add_constant_propagation 2020-08-27 09:30:21 -07:00
cmake [AIX] Enable large code model when building with clang 2020-09-18 11:03:22 -04:00
docs [llvm-install-name-tool] Update the command-line guide 2020-09-17 13:44:26 -07:00
examples Re-apply "[ORC] Make MaterializationResponsibility immovable..." with fixes. 2020-09-11 14:09:05 -07:00
include [COFF] Move per-global .drective emission from AsmPrinter to TLOFCOFF 2020-09-18 14:31:01 -07:00
lib [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic 2020-09-18 14:54:24 -07:00
projects
resources
runtimes [runtimes] Remove TOOLCHAIN_TOOLS specialization 2020-08-24 13:48:29 -07:00
test [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic 2020-09-18 14:54:24 -07:00
tools [llvm-cov] Allow commas in filenames passed to -object flag 2020-09-18 13:46:29 -07:00
unittests DebugInfo: Simplify line table parsing to take all the units together, rather than CUs and TUs separately 2020-09-18 11:18:23 -07:00
utils clang: Make changes in 7c8bb409f31e py2.7-compatible 2020-09-18 16:15:37 -04:00
.clang-format
.clang-tidy
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [llvm][cmake] Change LLVM_INTEGRATED_CRT_ALLOC to a path instead of a boolean 2020-09-15 19:18:52 -04:00
CODE_OWNERS.TXT Update PowerPC backend ownership in CODE_OWNERS.TXT 2020-09-14 15:45:57 -05:00
configure
CREDITS.TXT Update my email address. 2020-08-21 10:15:26 -07:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.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.