1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test
Bruno Cardoso Lopes cdd0e7bf5f [x86] Combine x86mmx/i64 to v2i64 conversion to use scalar_to_vector
Handle the poor codegen for i64/x86xmm->v2i64 (%mm -> %xmm) moves. Instead of
using stack store/load pair to do the job, use scalar_to_vector directly, which
in the MMX case can use movq2dq. This was the current behavior prior to
improvements for vector legalization of extloads in r213897.

This commit fixes the regression and as a side-effect also remove some
unnecessary shuffles.

In the new attached testcase, we go from:

pshufw  $-18, (%rdi), %mm0
movq    %mm0, -8(%rsp)
movq    -8(%rsp), %xmm0
pshufd  $-44, %xmm0, %xmm0
movd    %xmm0, %eax
...

To:

pshufw  $-18, (%rdi), %mm0
movq2dq %mm0, %xmm0
movd    %xmm0, %eax
...

Differential Revision: http://reviews.llvm.org/D7126
rdar://problem/19413324

llvm-svn: 226953
2015-01-23 22:44:16 +00:00
..
Analysis [PM] Actually add the new pass manager support for the assumption cache. 2015-01-22 21:53:09 +00:00
Assembler IR: Update references to temporaries before deleting 2015-01-22 21:36:45 +00:00
Bindings IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Bitcode Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
BugPoint IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
CodeGen [x86] Combine x86mmx/i64 to v2i64 conversion to use scalar_to_vector 2015-01-23 22:44:16 +00:00
DebugInfo Debug Info / PR22309: Allow union types to be emitted as unsigned constants. 2015-01-23 18:01:39 +00:00
ExecutionEngine lit: Make MCJIT's supported arch check case insensitive 2015-01-23 21:11:40 +00:00
Feature IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
FileCheck
Instrumentation [msan] Update origin for the entire destination range on memory store. 2015-01-21 13:21:31 +00:00
Integer
JitListener IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Linker IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
LTO
MC [mips] Add new error message and improve testing for parsing the .module directive. 2015-01-23 10:40:19 +00:00
Object [Object][ELF] Test unknown type. 2015-01-23 21:58:09 +00:00
Other [PM] Port TargetLibraryInfo to the new pass manager, provided by the 2015-01-15 11:39:46 +00:00
SymbolRewriter
TableGen
tools Fix the problem with llvm-objdump and -archive-headers in printing the archive header size field. 2015-01-23 21:02:44 +00:00
Transforms LowerSwitch: replace unreachable default with popular case destination 2015-01-23 20:43:51 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in lit: Make MCJIT's supported arch check case insensitive 2015-01-23 21:11:40 +00:00
Makefile
Makefile.tests
TestRunner.sh