llvm-6502/lib
Elena Demikhovsky 05e61f7113 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239802 91177308-0d34-0410-b5e6-96231b3b80d8
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 Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
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 [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
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