llvm-project/llvm/test
Elad Cohen 22ba97a0a6 [SelectionDAG] When scalarizing vselect, don't assert on
a legal cond operand.

When scalarizing the result of a vselect, the legalizer currently expects
to already have scalarized the operands. While this is true for the true/false
operands (which have the same type as the result), it is not case for the
condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such
as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is
illegal to hit an assertion during the scalarization.

The handling is similar to r205625.
This also exposes the fact that (v1i1 extract_subvector) should be legal
and selectable on AVX512 - We do this by custom lowering to vector_extract_elt.
This still leaves us in some cases with redundant dag nodes which will be
combined in a separate soon to come patch.

This fixes pr33349.

Differential revision: https://reviews.llvm.org/D36511

llvm-svn: 310552
2017-08-10 07:44:23 +00:00
..
Analysis [SCEV] Preserve NSW information for sext(subtract). 2017-08-04 20:19:46 +00:00
Assembler test: add an additional cfi_return_column test 2017-07-30 21:30:54 +00:00
Bindings
Bitcode [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +00:00
BugPoint
CodeGen [SelectionDAG] When scalarizing vselect, don't assert on 2017-08-10 07:44:23 +00:00
DebugInfo [AsmParser] Hash is not a comment on some targets 2017-08-09 09:40:51 +00:00
DllTool [llvm-dlltool] Map the "arm64" machine type 2017-08-06 19:58:13 +00:00
Examples
ExecutionEngine [RuntimeDyld][ORC] Add support for Thumb mode to RuntimeDyldMachOARM. 2017-08-09 20:19:27 +00:00
Feature Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
FileCheck [llvm] Remove redundant check-prefix=CHECK from tests. NFC. 2017-07-17 17:32:45 +00:00
Instrumentation [asan] Fix instruction emission ordering with dynamic shadow. 2017-08-09 17:59:43 +00:00
Integer
JitListener
LTO Linker: Create a function declaration when moving a non-prevailing alias of function type. 2017-08-10 01:07:44 +00:00
LibDriver
Linker [Linker] PR33527 - Linker::LinkOnlyNeeded should import AppendingLinkage globals 2017-08-09 20:58:39 +00:00
MC [AMDGPU][MC][GFX9] Added 16-bit renamed and "_legacy" VALU opcodes 2017-08-09 17:10:47 +00:00
Object [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
ObjectYAML [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
Other Revert part of r310296 to make it really NFC for instrumentation PGO. 2017-08-10 05:10:32 +00:00
SafepointIRVerifier [SafepointIRVerifier] Avoid false positives in GC verifier for compare between pointers 2017-07-07 13:02:29 +00:00
SymbolRewriter
TableGen [globalisel][tablegen] Add support for importing 'imm' operands. 2017-08-08 10:44:31 +00:00
ThinLTO/X86 Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +00:00
Transforms [InstSimplify] Add test cases that show that simplifySelectWithICmpCond doesn't work with non-canonical comparisons. 2017-08-10 01:02:02 +00:00
Unit Change remaining references to lit.util.capture to use subprocess.check_output. 2017-07-06 21:46:47 +00:00
Verifier Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
YAMLParser
tools [llvm-cov] Rearrange entries in report index. 2017-08-09 20:43:31 +00:00
.clang-format
CMakeLists.txt Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
TestRunner.sh
lit.cfg Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
lit.site.cfg.in Correctly enable the llvm-mt tests, now that build flags changed. 2017-07-26 16:35:44 +00:00