hanchenye-llvm-project/llvm/test/CodeGen
Sanjay Patel effee52c59 [DAGCombiner] narrow vector binop with 2 insert subvector operands
vecbo (insertsubv undef, X, Z), (insertsubv undef, Y, Z) --> insertsubv VecC, (vecbo X, Y), Z

This is another step in generic vector narrowing. It's also a step towards more horizontal op 
formation specifically for x86 (although we still failed to match those in the affected tests).

The scalarization cases are also not optimal (we should be scalarizing those), but it's still 
an improvement to use a narrower vector op when we know part of the result must be constant 
because both inputs are undef in some vector lanes.

I think a similar match but checking for a constant operand might help some of the cases in 
D51553.

Differential Revision: https://reviews.llvm.org/D56875

llvm-svn: 351825
2019-01-22 14:24:13 +00:00
..
AArch64 [AArch64] Add patterns for zext/sext of shift amount. 2019-01-22 00:21:35 +00:00
AMDGPU AMDGPU/GlobalISel: Legalize more fp<->int conversions 2019-01-22 00:20:17 +00:00
ARC
ARM [ARM GlobalISel] Allow calls to varargs functions 2019-01-17 10:11:55 +00:00
AVR [AVR] Insert unconditional branch when inserting MBBs between blocks with fallthrough 2019-01-21 04:32:02 +00:00
BPF [BPF] Fix .BTF.ext reloc type assigment issue 2019-01-08 16:36:06 +00:00
Generic [AVR] Remove unneeded XFAILs from the Generic CodeGen tests 2019-01-20 11:16:58 +00:00
Hexagon Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
Inputs
Lanai
MIR Revert r351584: "GlobalISel: Verify g_zextload and g_sextload" 2019-01-19 00:36:11 +00:00
MSP430 [MSP430] Emit a separate section for every interrupt vector 2019-01-16 14:03:41 +00:00
Mips [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
NVPTX Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
PowerPC Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
RISCV [RISCV] Quick fix for PR40333 2019-01-22 12:11:53 +00:00
SPARC Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
SystemZ Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
Thumb [ARM] Combine ands+lsls to lsls+lsrs for Thumb1. 2019-01-22 01:51:37 +00:00
Thumb2 Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
WebAssembly [WebAssembly] Add languages from debug info to producers section 2019-01-18 02:47:48 +00:00
WinCFGuard
WinEH [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp 2019-01-16 00:37:13 +00:00
X86 [DAGCombiner] narrow vector binop with 2 insert subvector operands 2019-01-22 14:24:13 +00:00
XCore Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00