llvm/test/CodeGen
Chandler Carruth dce98e6739 [x86] Teach the new vector shuffle lowering to aggressively form MOVSS
and MOVSD nodes for single element vector inserts.

This is particularly important because a number of patterns in the
backend detect these patterns and leverage them to simplify things. It
also fixes quite a few of the insertion bad code examples. However, it
regresses a specific area: when available, blendps and blendpd are
*dramatically* faster than movss and movsd respectively. But it doesn't
really work to form the blend logic first because the blends *aren't* as
crazy efficient when the data is coming from memory anyways, and thus
will have a movss or movsd regardless. Also, doing that would block
a bunch of the patterns that this is designed to hit.

So my plan is to go into the patterns for lowering MOVSS and MOVSD and
lower them via blends when available. However that's a pretty invasive
restructuring so it will need to be a follow-up patch.

I have already gone into the patterns to lower MOVSS and MOVSD from
memory using MOVLPD, etc. Without that, several of the test cases
I already have regress.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218985 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-03 13:11:13 +00:00
..
AArch64 Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
ARM Revert 202433 - Provide a target override for the latest regalloc heuristic 2014-10-03 12:20:53 +00:00
CPP
Generic Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
Hexagon Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
Inputs Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
Mips Add fptrunc to mips fast-sel 2014-10-01 18:47:02 +00:00
MSP430 Drop the W postfix on the 16-bit registers. 2014-09-10 06:58:14 +00:00
NVPTX Revert r216862 due to a performance regression 2014-10-01 15:22:13 +00:00
PowerPC [PowerPC] Modern Book-E cores support sync 2014-10-02 22:34:22 +00:00
R600 R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
SPARC Add back tests for empty function in SPARC and PowerPC. 2014-09-15 22:11:07 +00:00
SystemZ
Thumb Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00
Thumb2 [ARM] Allow selecting VRINT[APMXZR] and VCVT[BT] instructions for FPv5 2014-10-01 13:13:18 +00:00
X86 [x86] Teach the new vector shuffle lowering to aggressively form MOVSS 2014-10-03 13:11:13 +00:00
XCore Revert "DI: Fold constant arguments into a single MDString" 2014-10-02 22:15:31 +00:00