llvm-6502/test
Simon Pilgrim 0ee70a1554 [X86][SSE] Avoid scalarization of v2i64 vector shifts
Currently v2i64 vectors shifts (non-equal shift amounts) are scalarized, costing 4 x extract, 2 x x86-shifts and 2 x insert instructions - and it gets even more awkward on 32-bit targets.

This patch separately shifts the vector by both shift amounts and then shuffles the partial results back together, costing 2 x shuffles and 2 x sse-shifts instructions (+ 2 movs on pre-AVX hardware).

Note - this patch only improves the SHL / LSHR logical shifts as only these are supported in SSE hardware.

Differential Revision: http://reviews.llvm.org/D8416

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232660 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-18 19:35:31 +00:00
..
Analysis [SCEV] Make isImpliedCond smarter. 2015-03-18 00:41:29 +00:00
Assembler AsmParser: Stop requiring 'name:' when it's not printed 2015-03-16 19:01:54 +00:00
Bindings DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Bitcode Add testing for mismatched explicit type on a gep operator when loading from bitcode 2015-03-16 22:03:50 +00:00
BugPoint DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
CodeGen [X86][SSE] Avoid scalarization of v2i64 vector shifts 2015-03-18 19:35:31 +00:00
DebugInfo Emit the offset directly instead of creating a dummy expression. 2015-03-17 21:30:21 +00:00
ExecutionEngine [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Feature [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
FileCheck FileCheck: Add CHECK-SAME 2015-02-26 04:53:00 +00:00
Instrumentation asan: optimization experiments 2015-03-17 16:59:19 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
JitListener DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Linker [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LTO [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
MC Handle X86::reloc_riprel_4byte in 32 bits mode. 2015-03-18 17:33:40 +00:00
Object [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Other [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
SymbolRewriter
TableGen
tools Add the option -no-symbolic-operands to llvm-objdump used with -macho and 2015-03-17 22:26:11 +00:00
Transforms TLI: Add addVectorizableFunctionsFromVecLib. 2015-03-17 19:50:55 +00:00
Unit
Verifier Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
YAMLParser
.clang-format
CMakeLists.txt llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump 2015-03-15 01:30:58 +00:00
lit.cfg llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump 2015-03-15 01:30:58 +00:00
lit.site.cfg.in Remove log statements from config scripts. 2015-02-22 07:31:42 +00:00
Makefile Attempt to fix the builders. 2015-02-22 07:01:41 +00:00
Makefile.tests
TestRunner.sh