llvm-project/llvm/test/CodeGen
Craig Topper 081c0e2864 [X86] Remove some intrinsic instructions from hasPartialRegUpdate
Summary:
These intrinsic instructions are all selected from intrinsics that have well defined behavior for where the upper bits come from. It's not the same place as the lower bits.

As you can see we were suppressing load folding for these instructions in some cases. In none of the cases was the separate load helping avoid a partial dependency on the destination register. So we should just go ahead and allow the load to be folded.

Only foldMemoryOperand was suppressing folding for these. They all have patterns for folding sse_load_f32/f64 that aren't gated with OptForSize, but sse_load_f32/f64 doesn't allow 128-bit vector loads. It only allows scalar_to_vector and vzmovl of scalar loads to match. There's no reason we can't allow a 128-bit vector load to be narrowed so I would like to fix sse_load_f32/f64 to allow that. And if I do that it changes some of these same test cases to fold the load too.

Reviewers: spatel, zvi, RKSimon

Subscribers: llvm-commits

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

llvm-svn: 289419
2016-12-12 05:07:17 +00:00
..
AArch64 instr-combiner: sum up all latencies of the transformed instructions 2016-12-11 19:39:32 +00:00
AMDGPU [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
ARM [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
AVR [AVR] Add calling convention CodeGen tests 2016-12-11 07:09:45 +00:00
BPF Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00
Generic Add -O0 support for @llvm.invariant.group.barrier by discarding it if it gets to ISel. 2016-11-07 16:47:20 +00:00
Hexagon Move .mir tests to appropriate directories 2016-12-09 19:08:15 +00:00
Inputs
Lanai Move .mir tests to appropriate directories 2016-12-09 19:08:15 +00:00
MIR AMDGPU: Fix handling of 16-bit immediates 2016-12-10 00:39:12 +00:00
MSP430 Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00
Mips Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00
NVPTX [NVPTX] Remove NVPTXFavorNonGenericAddrSpaces pass. 2016-10-31 21:51:42 +00:00
PowerPC [PPC] Add intrinsics for vector extract word and vector insert word. 2016-12-09 17:21:42 +00:00
SPARC ScheduleDAGInstrs: Add condjump deps to addSchedBarrierDeps() 2016-11-11 01:34:21 +00:00
SystemZ Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00
Thumb Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00
Thumb2 Revert "[Thumb] Teach ISel how to lower compares of AND bitmasks efficiently" 2016-11-03 14:08:01 +00:00
WebAssembly [WebAssembly] Emit .import_global assembler directives 2016-12-01 00:11:15 +00:00
WinEH
X86 [X86] Remove some intrinsic instructions from hasPartialRegUpdate 2016-12-12 05:07:17 +00:00
XCore Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-09 17:18:24 +00:00