1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/lib
Simon Pilgrim 8e8c2917c1 [X86][SSE] Improve lowering of vXi64 multiply with known zero 32-bit halves
vXi64 multiplication is lowered into 3 calls of vpmuludq with the upper/lower 32-bit halves.

If any of these halves are zero then we can remove individual calls. Although there was isBuildVectorAllZeros code to do this I don't think it ever worked (maybe just for constant folded cases that don't seem to be tested for any longer).

This requires additional X86ISD support for computeKnownBitsForTargetNode, so far I've just added support for X86ISD::VZEXT (VPMOVZX* - helping the AVX2+ cases).

Partial fix for PR30845

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

llvm-svn: 287223
2016-11-17 12:14:49 +00:00
..
Analysis [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
AsmParser [AsmParser] Avoid recursing when lexing ';'. NFC. 2016-11-16 22:25:05 +00:00
Bitcode [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
CodeGen Fix spelling in comment. NFC. 2016-11-17 12:03:05 +00:00
DebugInfo Align Modi and FileInfo substreams on 32-byte offsets. 2016-11-16 00:59:27 +00:00
Demangle Demangle: only demangle mangled symbols 2016-11-14 04:54:47 +00:00
ExecutionEngine [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Fuzzer [libFuzzer] replace 'auto' with 'auto *' to better follow the LLVM style 2016-11-14 19:21:38 +00:00
IR [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
IRReader Bitcode: Change module reader functions to return an llvm::Expected. 2016-11-13 07:00:17 +00:00
LibDriver
LineEditor
Linker Linker: Remove unnecessary call to copyMetadata in IRLinker::linkGlobalVariable. 2016-11-14 23:18:38 +00:00
LTO [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
MC Fix 24560: assembler does not share constant pool for same constants 2016-11-04 19:17:32 +00:00
Object Object: replace backslashes with slashes in embedded relative thin archive paths on Windows. 2016-11-15 21:36:35 +00:00
ObjectYAML Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
Option
Passes [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Add a little endian variant of TCE. 2016-11-16 15:22:23 +00:00
TableGen TableGen: Add operator !or 2016-11-15 06:49:28 +00:00
Target [X86][SSE] Improve lowering of vXi64 multiply with known zero 32-bit halves 2016-11-17 12:14:49 +00:00
Transforms [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
CMakeLists.txt
LLVMBuild.txt