llvm-6502/test
Chandler Carruth 7fcb422bb2 [x86] Revert r212324 which was too aggressive w.r.t. allowing undef
lanes in vector splats.

The core problem here is that undef lanes can't *unilaterally* be
considered to contribute to splats. Their handling needs to be more
cautious. There is also a reported failure of the nightly testers
(thanks Tobias!) that may well stem from the same core issue. I'm going
to fix this theoretical issue, factor the APIs a bit better, and then
verify that I don't see anything bad with Tobias's reduction from the
test suite before recommitting.

Original commit message for r212324:
  [x86] Generalize BuildVectorSDNode::getConstantSplatValue to work for
  any constant, constant FP, or undef splat and to tolerate any undef
  lanes in a splat, then replace all uses of isSplatVector in X86's
  lowering with it.

  This fixes issues where undef lanes in an otherwise splat vector would
  prevent the splat logic from firing. It is a touch more awkward to use
  this interface, but it is much more accurate. Suggestions for better
  interface structuring welcome.

  With this fix, the code generated with the widening legalization
  strategy for widen_cast-4.ll is *dramatically* improved as the special
  lowering strategies for a v16i8 SRA kick in even though the high lanes
  are undef.

  We also get a slightly different choice for broadcasting an aligned
  memory location, and use vpshufd instead of vbroadcastss. This looks
  like a minor win for pipelining and domain crossing, but a minor loss
  for the number of micro-ops. I suspect its a wash, but folks can
  easily tweak the lowering if they want.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212475 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 19:03:32 +00:00
..
Analysis [CostModel][x86] Improved cost model for alternate shuffles. 2014-07-03 22:24:18 +00:00
Assembler IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
Bindings Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Bitcode Add some test files for r211710. 2014-06-25 15:41:39 +00:00
BugPoint
CodeGen [x86] Revert r212324 which was too aggressive w.r.t. allowing undef 2014-07-07 19:03:32 +00:00
DebugInfo Temporarily revert "Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information." as it appears to be breaking some LTO constructs. 2014-07-03 22:24:54 +00:00
ExecutionEngine Fix this test to not write to the source tree, and instead to write to 2014-06-28 05:18:49 +00:00
Feature IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
FileCheck
Instrumentation [asan] Generate asm instrumentation in MC. 2014-07-07 13:57:37 +00:00
Integer
JitListener
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
LTO Change the default input for llvm-nm to be a.out instead of standard input 2014-06-23 20:27:53 +00:00
MC Revert r212375 because of test failures 2014-07-05 19:46:10 +00:00
Object Ignore llvm.* globals. 2014-07-04 19:08:22 +00:00
Other IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
TableGen Fix error in tablegen when either operand of !if is an empty list. 2014-06-10 20:10:08 +00:00
tools [llvm-readobj] Fix output of MIPS GOT without local and global entries. 2014-07-05 19:28:49 +00:00
Transforms CodeGen: it turns out that NAND is not the same thing as BIC. At all. 2014-07-07 09:06:35 +00:00
Unit Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like cygming. 2014-07-04 05:11:55 +00:00
Verifier IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
YAMLParser
.clang-format
CMakeLists.txt OK, NAKAMURA Takumi beat me to this change. So backing out my addition of 2014-05-19 23:26:51 +00:00
lit.cfg Delete utils/FileUpdate. 2014-06-23 17:58:39 +00:00
lit.site.cfg.in
Makefile lld test for configure & make 2014-06-06 09:06:25 +00:00
Makefile.tests
TestRunner.sh