llvm-project/llvm
Craig Topper 6504a8f888 [X86] When inserting into the upper bits of a vXi1 vector, make sure we shift enough bits if we widened the vector.
We may need to widen the vector to make the shifts legal, but if we do that we need to make sure we shift left/right after accounting for the new size. If not we can't guarantee we are shifting in zeros.

The test cases affected actually show cases where we should move the shifts all together, but that's another problem.

llvm-svn: 320248
2017-12-09 08:19:07 +00:00
..
bindings Update go bindings to use new functions from rL317135. 2017-11-02 10:22:26 +00:00
cmake [cmake] Only pass CMAKE_SYSROOT if non-empty 2017-12-08 19:42:47 +00:00
docs Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
examples [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
include Revert and accidentally committed revert commit 2017-12-09 08:01:28 +00:00
lib [X86] When inserting into the upper bits of a vXi1 vector, make sure we shift enough bits if we widened the vector. 2017-12-09 08:19:07 +00:00
projects Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
resources
runtimes [runtimes] Add install-*-stripped targets 2017-12-08 19:42:46 +00:00
test [X86] When inserting into the upper bits of a vXi1 vector, make sure we shift enough bits if we widened the vector. 2017-12-09 08:19:07 +00:00
tools dwarfdump: Add support for the --diff option. 2017-12-08 23:32:47 +00:00
unittests [CodeGen] Move printing MO_Immediate operands to MachineOperand::print 2017-12-08 22:53:21 +00:00
utils Avoid constructing an out-of-range value for an enumeration (which results in UB). 2017-12-08 22:32:35 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes [MC] Fix regression tests on Windows when git “core.autocrlf” is set to true. 2017-11-17 21:59:43 +00:00
.gitignore
CMakeLists.txt [llvm] Add install-distribution-stripped 2017-12-08 19:44:45 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
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.