llvm-project/llvm
Simon Pilgrim 2ec8373633 [X86][SSE] truncateVectorWithPACK - Use src type instead of dst to select between PACK*SDW/PACK*SWB
Try to keep PACK*SDW/PACK*SWB as wide as possible, this helps ComputeNumSignBits as it can only peek through bitcasts to wider types, pre-AVX2 codegen was already doing this as it could peek through bitcasts/subvectors more easily than AVX2 could through shuffles.

This shouldn't affect existing results as calls to truncateVectorWithPACK ensure we have enough sign bits to pack to the same value, but it should make it possible to use truncateVectorWithPACK chains to perform saturation in combineTruncateWithSat with a future patch.

llvm-svn: 325149
2018-02-14 18:23:58 +00:00
..
bindings [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:29 +00:00
cmake Generate PDB files for profiling even in Release build. 2018-02-07 19:37:52 +00:00
docs Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
examples [ORC] Remove Layer handles from the layer concept. 2018-02-09 02:30:40 +00:00
include Store defined macros in MCContext. 2018-02-14 16:34:27 +00:00
lib [X86][SSE] truncateVectorWithPACK - Use src type instead of dst to select between PACK*SDW/PACK*SWB 2018-02-14 18:23:58 +00:00
projects
resources
runtimes
test [X86][SSE] truncateVectorWithPACK - Use src type instead of dst to select between PACK*SDW/PACK*SWB 2018-02-14 18:23:58 +00:00
tools Use delete[] instead of free 2018-02-14 06:14:30 +00:00
unittests Use EXPECT_FALSE instead of EXPECT_EQ(false, ... 2018-02-14 13:11:56 +00:00
utils Revert r325107 (case folding DJB hash) and subsequent build fix 2018-02-14 11:06:39 +00:00
.arcconfig [llvm] Set up .arcconfig to point to Diffusion L repository 2018-01-12 15:37:41 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt CMake: Allow specifying arbitrary CCACHE parameters 2018-02-09 23:25:23 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Add myself to CREDITS.txt 2018-01-29 17:02:34 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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.