llvm-6502/lib
Chandler Carruth 72c3b07dfd [x86] Fix terrible bugs everywhere in the new vector shuffle lowering
and in the target shuffle combining when trying to widen vector
elements.

Previously only one of these was correct, and we didn't correctly
propagate zeroing target shuffle masks (which have a different sentinel
value from undef in non- target shuffle masks now). This isn't just
a missed optimization, this caused us to drop zeroing shuffles on the
floor and miscompile code. The added test case is one example of that.

There are other fixes to the test suite as a consequence of this as well
as restoring the undef elements in some of the masks that were lost when
I brought sanity to the actual *value* of the undef and zero sentinels.

I've also just cleaned up some of the PSHUFD and PSHUFLW and PSHUFHW
combining code, but that code really needs to go. It was a nice initial
attempt, but it isn't very principled and the recursive shuffle combiner
is much more powerful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218562 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-27 04:42:44 +00:00
..
Analysis Ignore annotation function calls in cost computation 2014-09-26 17:48:40 +00:00
AsmParser
Bitcode
CodeGen Refactor reciprocal and reciprocal square root estimate into target-independent functions (part 2). 2014-09-26 23:01:47 +00:00
DebugInfo Object: BSS/virtual sections don't have contents 2014-09-26 22:32:16 +00:00
ExecutionEngine
IR
IRReader
LineEditor
Linker
LTO LTO: introduce object file-based on-disk module format. 2014-09-18 21:28:49 +00:00
MC MC: Use @IMGREL instead of @IMGREL32, which we can't parse 2014-09-25 02:09:18 +00:00
Object Object: BSS/virtual sections don't have contents 2014-09-26 22:32:16 +00:00
Option
ProfileData
Support clang-format of ChangeStdinToBinary & ChangeStdoutToBinary. 2014-09-26 22:27:11 +00:00
TableGen Refactoring: raw pointer -> unique_ptr 2014-09-25 19:55:58 +00:00
Target [x86] Fix terrible bugs everywhere in the new vector shuffle lowering 2014-09-27 04:42:44 +00:00
Transforms [IndVar] Don't widen loop compare unless IV user is sign extended. 2014-09-26 20:05:35 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile