llvm-6502/test/CodeGen
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
..
AArch64 [AArch64] Disable complex GEP optimization by default. 2015-04-22 09:11:38 +00:00
ARM Fix flakiness in fp16-promote.ll 2015-04-20 23:54:41 +00:00
BPF [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
CPP [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Generic [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Hexagon [Hexagon] Patterns for frame index with offset for isel 2015-04-21 21:28:03 +00:00
Inputs
Mips Revert "[mips][FastISel] Implement shift ops for Mips fast-isel." 2015-04-22 10:08:46 +00:00
MSP430
NVPTX [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PowerPC [DAGCombine] Disable select(c, load,load) for indexed loads 2015-04-22 11:32:25 +00:00
R600 DAGCombine: Remove redundant NaN checks around ISD::FSQRT 2015-04-20 19:38:27 +00:00
SPARC [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SystemZ Allow memory intrinsics to be tail calls 2015-04-13 17:16:45 +00:00
Thumb [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Thumb2 [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
WinEH [WinEH] Correctly handle inlined __finally blocks with captures 2015-04-22 00:07:52 +00:00
X86 [X86][AVX] Fix failure due to a missing ISel pattern to select VBROADCAST nodes (PR23259). 2015-04-22 14:53:39 +00:00
XCore [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00