1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib
Elena Demikhovsky 7cf9dd07b7 X86: optimized i64 vector multiply with constant
When we multiply two 64-bit vectors, we extract lower and upper part and use the PMULUDQ instruction.
When one of the operands is a constant, the upper part may be zero, we know this at compile time.
Example: %a = mul <4 x i64> %b, <4 x i64> < i64 5, i64 5, i64 5, i64 5>.
I'm checking the value of the upper part and prevent redundant "multiply", "shift" and "add" operations.

llvm-svn: 239802
2015-06-16 06:07:24 +00:00
..
Analysis Move logic from JumpThreading into LazyValue info to simplify caller. 2015-06-16 00:49:59 +00:00
AsmParser modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Bitcode modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
CodeGen MIR Serialization: Print and parse simple machine function attributes. 2015-06-16 00:10:47 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Fuzzer [lib/Fuzzer] make assertions more informative and update comments for the user-supplied mutator 2015-05-30 17:33:13 +00:00
IR Debug Info IR: Switch DIObjCProperty to use DITypeRef. 2015-06-15 23:18:03 +00:00
IRReader modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
LibDriver Bring in a BumpPtrStringSaver from lld and simplify the interface. 2015-06-13 12:49:52 +00:00
LineEditor
Linker modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
LTO Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
MC [CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op. 2015-06-15 18:44:08 +00:00
Object modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Option Option parsing: properly handle flag aliases for joined options (PR23394) 2015-05-04 18:00:13 +00:00
Passes
ProfileData modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Support MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
TableGen [TableGen] Change OpInit::getNumOperands and getOperand to use unsigned integers. NFC 2015-06-06 01:34:04 +00:00
Target X86: optimized i64 vector multiply with constant 2015-06-16 06:07:24 +00:00
Transforms Revert 239795 2015-06-16 01:20:53 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00