llvm-project/llvm/test
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
..
Analysis [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
Assembler [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
Bindings [C API] Prevent nullptr dereferences in C API for counting attributes. 2016-11-15 22:19:59 +00:00
Bitcode [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
BugPoint Add -strip-nonlinetable-debuginfo capability 2016-10-25 18:44:13 +00:00
CodeGen [X86] Remove some intrinsic instructions from hasPartialRegUpdate 2016-12-12 05:07:17 +00:00
DebugInfo Bigger-hammer REQUIRES to fix Windows bot. 2016-12-09 23:08:17 +00:00
Examples
ExecutionEngine Make this test Windows-only (try to placate buildbots). 2016-11-03 16:43:10 +00:00
Feature
FileCheck
Instrumentation [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
Integer
JitListener
LTO [LTOs] Allow generation of hotness information 2016-12-02 17:53:56 +00:00
LibDriver
Linker [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +00:00
MC AMDGPU: Fix handling of 16-bit immediates 2016-12-10 00:39:12 +00:00
Object llvm/test/Object/archive-thin-create.test: Make sure that %t is empty to stabilize the test. 2016-12-09 11:44:57 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_aranges 2016-12-09 00:26:44 +00:00
Other [PM] Further broaden this test's regex as both the CGSCC and Function 2016-12-10 07:59:59 +00:00
SymbolRewriter
TableGen [tablegen] Delete duplicates from a vector without skipping elements 2016-12-01 19:38:50 +00:00
ThinLTO/X86 LTO: Hash the parts of the LTO configuration that affect code generation. 2016-12-08 05:28:30 +00:00
Transforms [SCEVExpand] do not hoist divisions by zero (PR30935) 2016-12-12 02:52:51 +00:00
Unit
Verifier [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
YAMLParser
tools [llvm-readobj] - Teach readobj to print PT_OPENBSD_BOOTDATA header 2016-12-06 17:55:52 +00:00
.clang-format
CMakeLists.txt Add llvm-modextract tool. 2016-11-29 21:54:33 +00:00
TestRunner.sh
lit.cfg Add llvm-modextract tool. 2016-11-29 21:54:33 +00:00
lit.site.cfg.in