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
ExecutionEngine modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Fuzzer
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
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
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
LLVMBuild.txt
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00