llvm-6502/test
Andrea Di Biagio 6c347524e2 [X86][AVX] Fix failure due to a missing ISel pattern to select VBROADCAST nodes (PR23259).
This fixes a regression introduced at revision 218263.

On AVX, if we optimize for size, a splat build_vector of a load
is lowered into a VBROADCAST node. This is done even if the value type of the
splat build_vector node is v2i64.

Since AVX doesn't support v2f64/v2i64 broadcasts, revision 218263 added two
extra tablegen patterns to allow selecting a VMOVDDUPrm from an X86VBroadcast
where the scalar element comes from a loadi64/loadf64.

However, revision 218263 forgot to add an extra fallback pattern for the case
where we have a X86VBroadcast of a loadi64 with multiple uses.

This patch adds the missing tablegen pattern in X86InstrSSE.td.
This patch also adds an extra test to 'splat-for-size.ll' to verify that ISel
doesn't crash with a 'fatal error in the backend' due to a missing AVX pattern
to select v2i64 X86ISD::BROADCAST nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235509 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-22 14:53:39 +00:00
..
Analysis Recognize n/1 in the SCEV divide function 2015-04-20 16:03:28 +00:00
Assembler [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Bindings
Bitcode Have more strict type checks when creating BinOp nodes in BitcodeReader 2015-04-22 09:06:21 +00:00
BugPoint bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
CodeGen [X86][AVX] Fix failure due to a missing ISel pattern to select VBROADCAST nodes (PR23259). 2015-04-22 14:53:39 +00:00
DebugInfo DebugInfo: Fixup r235149 after IR change in r235145 2015-04-17 00:37:53 +00:00
ExecutionEngine [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Feature [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
FileCheck
Instrumentation [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
JitListener
Linker Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
LTO [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
MC AVX-512: Added VPMOVx2M instructions for SKX, 2015-04-21 14:38:31 +00:00
Object
Other [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SymbolRewriter
TableGen Add support for v1i128 type. 2015-04-17 16:11:05 +00:00
tools [Mips] Support DT_MIPS_OPTIONS dynamic section tag in the llvm-readobj 2015-04-20 05:34:48 +00:00
Transforms Remove a zero-length file of llvm/test/Transforms/InstCombine/descale-zero.ll. 2015-04-21 23:14:33 +00:00
Unit
Verifier [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh