llvm-project/llvm/test
Chandler Carruth 2c0390ca4b [x86] Remove the final fallback in the v8i16 lowering that isn't really
needed, and significantly improve the SSSE3 path.

This makes the new strategy much more clear. If we can blend, we just go
with that. If we can't blend, we try to permute into an unpack so
that we handle cases where the unpack doing the blend also simplifies
the shuffle. If that fails and we've got SSSE3, we now call into
factored-out pshufb lowering code so that we leverage the fact that
pshufb can set up a blend for us while shuffling. This generates great
code, especially because we *know* we don't have a fast blend at this
point. Finally, we fall back on decomposing into permutes and blends
because we do at least have a bit-math-based blend if we need to use
that.

This pretty significantly improves some of the v8i16 code paths. We
never need to form pshufb for the single-input shuffles because we have
effective target-specific combines to form it there, but we were missing
its effectiveness in the blends.

llvm-svn: 229851
2015-02-19 13:56:49 +00:00
..
Analysis [x86,sdag] Two interrelated changes to the x86 and sdag code. 2015-02-19 10:36:19 +00:00
Assembler IR: Drop scope from MDTemplateParameter 2015-02-19 00:37:21 +00:00
Bindings [OCaml] Add Llvm.build_empty_phi. 2015-02-06 13:42:03 +00:00
Bitcode [Bitcode reader] Fix a few assertions when reading invalid files 2015-02-16 00:03:11 +00:00
BugPoint IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
CodeGen [x86] Remove the final fallback in the v8i16 lowering that isn't really 2015-02-19 13:56:49 +00:00
DebugInfo Modify llvm-readobj to dump symbol record bytes. 2015-02-18 19:32:05 +00:00
ExecutionEngine Make frem.ll flush after calling printf. 2015-02-18 19:32:28 +00:00
Feature Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
FileCheck
Instrumentation tsan: do not instrument not captured values 2015-02-12 09:55:28 +00:00
Integer
JitListener IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
LTO Introduce Target::createNullTargetStreamer and use it from IRObjectFile. 2015-02-19 00:45:02 +00:00
Linker Add run line that was missing in r228999. 2015-02-13 16:00:03 +00:00
MC [mips][microMIPS] Implement JALX instruction 2015-02-18 17:15:48 +00:00
Object [Object] Support reading 64-bit MIPS ELF archives 2015-02-17 18:54:22 +00:00
Other Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
SymbolRewriter SymbolRewriter: allow rewriting with comdats 2015-01-27 22:57:39 +00:00
TableGen
Transforms Add few simple tests to check statepoint placement for invoke instructions. 2015-02-19 11:39:04 +00:00
Unit
Verifier Implement invoke statepoint verification. 2015-02-19 11:28:47 +00:00
YAMLParser
tools [Objdump] Fixing crash when printing symbols in ELF sections with special types. 2015-02-18 23:00:22 +00:00
.clang-format
CMakeLists.txt Back out two accidental changes that snuck in with r229245. Sorry these 2015-02-14 09:05:58 +00:00
Makefile [gold] Consolidate the gold plugin options and actually search for 2015-02-14 09:43:57 +00:00
Makefile.tests
TestRunner.sh
lit.cfg [gold] Consolidate the gold plugin options and actually search for 2015-02-14 09:43:57 +00:00
lit.site.cfg.in [gold] Consolidate the gold plugin options and actually search for 2015-02-14 09:43:57 +00:00