llvm-6502/test
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 [ValueTracking] do not overwrite analysis results already computed 2015-06-15 05:46:29 +00:00
Assembler Add safestack attribute to LLVMAttribute enum and Go bindings. Correct 2015-06-15 22:16:51 +00:00
Bindings
Bitcode
BugPoint
CodeGen X86: optimized i64 vector multiply with constant 2015-06-16 06:07:24 +00:00
DebugInfo
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO
MC Add support for parsing the XOR operator in Intel syntax inline assembly. 2015-06-14 12:59:45 +00:00
Object Object: Prepend __imp_ when mangling a dllimport symbol in IRObjectFile. 2015-06-11 21:42:18 +00:00
Other
SymbolRewriter
TableGen
tools gold-plugin: save the .o when given -save-temps. 2015-06-15 13:36:27 +00:00
Transforms Revert 239795 2015-06-16 01:20:53 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh