1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/CodeGen
Simon Pilgrim e24daf0c1e [X86][SSE] Added support for combining target shuffles to (V)PSHUFD/VPERMILPD/VPERMILPS immediate permutes
This patch allows target shuffles to be combined to single input immediate permute instructions - (V)PSHUFD/VPERMILPD/VPERMILPS - allowing more general pattern matching than what we current do and improves the likelihood of memory folding compared to existing patterns which tend to reuse the input in multiple arguments.

Further permute instructions (V)PSHUFLW/(V)PSHUFHW/(V)PERMQ/(V)PERMPD may be added in the future but its proven tricky to create tests cases for them so far. (V)PSHUFLW/(V)PSHUFHW is already handled quite well in combineTargetShuffle so it may be that removing some of that code may allow us to perform more of the combining in one place without duplication.

Differential Revision: http://reviews.llvm.org/D21148

llvm-svn: 273999
2016-06-28 08:08:15 +00:00
..
AArch64 MachineScheduler: Fully compare top/bottom candidates 2016-06-25 00:23:00 +00:00
AMDGPU AMDGPU: Fix out of bounds indirect indexing errors 2016-06-28 01:09:00 +00:00
ARM NFC. Fix popular typo in comment 'deferencing' --> 'dereferencing'. 2016-06-28 01:45:05 +00:00
BPF
Generic
Hexagon [Hexagon] Equally-sized vectors are equivalent in ISel (except vNi1) 2016-06-27 15:08:22 +00:00
Inputs
Lanai
Mips [mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV instructions 2016-06-27 08:23:28 +00:00
MIR
MSP430
NVPTX Only emit extension for zeroext/signext arguments if type is < 32 bits 2016-06-27 20:22:22 +00:00
PowerPC MachineScheduler: Fully compare top/bottom candidates 2016-06-25 00:23:00 +00:00
SPARC Codegen: Fix broken assumption in Tail Merge. 2016-06-24 18:16:36 +00:00
SystemZ [SystemZ] Avoid generating 2 XOR instructions for (and (xor x, -1), y) 2016-06-27 15:55:30 +00:00
Thumb
Thumb2 Codegen: Fix broken assumption in Tail Merge. 2016-06-24 18:16:36 +00:00
WebAssembly
WinEH
X86 [X86][SSE] Added support for combining target shuffles to (V)PSHUFD/VPERMILPD/VPERMILPS immediate permutes 2016-06-28 08:08:15 +00:00
XCore IR: Introduce Module::global_objects(). 2016-06-22 20:29:42 +00:00