llvm/lib
Craig Topper 8368f754a7 [X86] Remove another weird scalar sqrt/rcp/rsqrt pattern.
This pattern turned a vector sqrt/rcp/rsqrt operation of sse_load_f32/f64 into the the scalar instruction for the operation and put undef into the upper bits. For correctness, the resulting code should still perform the sqrt/rcp/rsqrt on the upper bits after the load is extended since that's what the operation asked for. Particularly in the case where the upper bits are 0, in that case we need calculate the sqrt/rcp/rsqrt of the zeroes and keep the result in the upper-bits. This implies we should be using the packed instruction still.

The only test case for this pattern is one I just added so there was no coverage of this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288784 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-06 08:08:12 +00:00
..
Analysis [LVI] Remove dead code in mergeIn 2016-12-06 03:34:33 +00:00
AsmParser [AsmParser] Avoid recursing when lexing ';'. NFC. 2016-11-16 22:25:05 +00:00
Bitcode [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
CodeGen GlobalISel: avoid looking too closely at PHIs when we bail. 2016-12-05 23:10:19 +00:00
DebugInfo [pdb] handle missing pdb streams more gracefully 2016-12-05 22:44:00 +00:00
Demangle Demangle: remove references to allocator for default allocator 2016-11-20 00:20:27 +00:00
ExecutionEngine IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
Fuzzer [libFuzzer] refactor the code to allow collecting features in different ways. Also initialize a couple of Fuzzer:: members that might have been used uninitialized :( 2016-12-05 23:35:22 +00:00
IR [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker IR: Move NumElements field from {Array,Vector}Type to SequentialType. 2016-12-02 03:20:58 +00:00
LTO [LTOs] Allow generation of hotness information 2016-12-02 17:53:56 +00:00
MC [llvm] Fix D26214: Move error handling out of MC and to the callers. 2016-12-06 02:49:17 +00:00
Object [Object][MachO] Reference-ify some helper function arguments. NFC. 2016-12-04 01:56:10 +00:00
ObjectYAML [ObjectYAML] First bit of support for encoding DWARF in MachO 2016-12-06 06:00:49 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Change the static object whose address is used to uniquely identify 2016-11-23 17:53:26 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
TableGen [TableGen] Centralize/Unify error handling. 2016-12-05 22:58:01 +00:00
Target [X86] Remove another weird scalar sqrt/rcp/rsqrt pattern. 2016-12-06 08:08:12 +00:00
Transforms Revert "[SCCP] Remove manual folding of terminator instructions." 2016-12-06 02:26:50 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00