llvm-6502/test/CodeGen
Chandler Carruth 9e2fe46484 [x86] Teach the new vector shuffle lowering to be even more aggressive
in exposing the scalar value to the broadcast DAG fragment so that we
can catch even reloads and fold them into the broadcast.

This is somewhat magical I'm afraid but seems to work. It is also what
the old lowering did, and I've switched an old test to run both
lowerings demonstrating that we get the same result.

Unlike the old code, I'm not lowering f32 or f64 scalars through this
path when we only have AVX1. The target patterns include pretty heinous
code to re-cast those as shuffles when the scalar happens to not be
spilled because AVX1 provides no broadcast mechanism from registers
what-so-ever. This is terribly brittle. I'd much rather go through our
generic lowering code to get this. If needed, we can add a peephole to
get even more opportunities to broadcast-from-spill-slots that are
exposed post-RA, but my suspicion is this just doesn't matter that much.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218734 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-01 03:19:43 +00:00
..
AArch64 Recommit r218010 [FastISel][AArch64] Fold bit test and branch into TBZ and TBNZ. 2014-09-30 19:59:35 +00:00
ARM Fix swift-atomics testcase 2014-09-23 23:18:01 +00:00
CPP
Generic Fix crash with an insertvalue that produces an empty object. 2014-09-20 00:10:47 +00:00
Hexagon Add missing attributes !cmp.[eq,gt,gtu] instructions. 2014-09-25 13:09:54 +00:00
Inputs
Mips Add numeric extend, trunctate to mips fast-isel 2014-09-30 16:30:13 +00:00
MSP430 Drop the W postfix on the 16-bit registers. 2014-09-10 06:58:14 +00:00
NVPTX [MachineSink] Use the real post dominator tree 2014-09-01 03:47:25 +00:00
PowerPC Refactor reciprocal and reciprocal square root estimate into target-independent functions (part 2). 2014-09-26 23:01:47 +00:00
R600 R600/SI: Fix printing of clamp and omod 2014-09-30 19:49:48 +00:00
SPARC Add back tests for empty function in SPARC and PowerPC. 2014-09-15 22:11:07 +00:00
SystemZ
Thumb [Thumb] Make load/store optimizer less conservative. 2014-09-24 16:35:50 +00:00
Thumb2 ARM / x86_64 varargs: Don't save regparms in prologue without va_start 2014-08-22 21:59:26 +00:00
X86 [x86] Teach the new vector shuffle lowering to be even more aggressive 2014-10-01 03:19:43 +00:00
XCore