diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2015-02-05 13:23:07 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2015-02-05 13:23:07 +0000 |
commit | ab9ae87623ac6bae1fe28a8c740063cfcd5fcdb9 (patch) | |
tree | 302157d151aa34244ce5a1755caedbc46de7d8b2 /llvm/test/CodeGen/X86/vec_extract-mmx.ll | |
parent | cc6089d2e04339b8db4784582295b283c6b46398 (diff) | |
download | bcm5719-llvm-ab9ae87623ac6bae1fe28a8c740063cfcd5fcdb9.tar.gz bcm5719-llvm-ab9ae87623ac6bae1fe28a8c740063cfcd5fcdb9.zip |
[X86][MMX] Handle i32->mmx conversion using movd
Implement a BITCAST dag combine to transform i32->mmx conversion patterns
into a X86 specific node (MMX_MOVW2D) and guarantee that moves between
i32 and x86mmx are better handled, i.e., don't use store-load to do the
conversion..
llvm-svn: 228293
Diffstat (limited to 'llvm/test/CodeGen/X86/vec_extract-mmx.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/vec_extract-mmx.ll | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/vec_extract-mmx.ll b/llvm/test/CodeGen/X86/vec_extract-mmx.ll index af65a965f70..c7780b02376 100644 --- a/llvm/test/CodeGen/X86/vec_extract-mmx.ll +++ b/llvm/test/CodeGen/X86/vec_extract-mmx.ll @@ -23,9 +23,8 @@ define i32 @test0(<1 x i64>* %v4) { define i32 @test1(i32* nocapture readonly %ptr) { ; CHECK-LABEL: test1: ; CHECK: ## BB#0: ## %entry -; CHECK-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero -; CHECK-NEXT: movaps %xmm0, -{{[0-9]+}}(%rsp) -; CHECK-NEXT: pshufw $232, -{{[0-9]+}}(%rsp), %mm0 +; CHECK-NEXT: movd (%rdi), %mm0 +; CHECK-NEXT: pshufw $232, %mm0, %mm0 ; CHECK-NEXT: movd %mm0, %eax ; CHECK-NEXT: emms ; CHECK-NEXT: retq |