Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/CodeGen/X86/vec_extract-mmx.ll
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ||||
; RUN: llc < %s -mtriple=i686-unknown -mattr=+mmx,+sse2 | FileCheck %s --check-prefix=X32 | ; RUN: llc < %s -mtriple=i686-unknown -mattr=+mmx,+sse2 | FileCheck %s --check-prefix=X32 | ||||
; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+mmx,+sse2 | FileCheck %s --check-prefix=X64 | ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+mmx,+sse2 | FileCheck %s --check-prefix=X64 | ||||
define i32 @test0(<1 x i64>* %v4) nounwind { | define i32 @test0(<1 x i64>* %v4) nounwind { | ||||
; X32-LABEL: test0: | ; X32-LABEL: test0: | ||||
; X32: # %bb.0: # %entry | ; X32: # %bb.0: # %entry | ||||
; X32-NEXT: pushl %ebp | ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax | ||||
; X32-NEXT: movl %esp, %ebp | ; X32-NEXT: pshufw $238, (%eax), %mm0 # mm0 = mem[2,3,2,3] | ||||
; X32-NEXT: andl $-8, %esp | |||||
; X32-NEXT: subl $8, %esp | |||||
; X32-NEXT: movl 8(%ebp), %eax | |||||
; X32-NEXT: movl (%eax), %ecx | |||||
; X32-NEXT: movl 4(%eax), %eax | |||||
; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) | |||||
; X32-NEXT: movl %ecx, (%esp) | |||||
; X32-NEXT: pshufw $238, (%esp), %mm0 # mm0 = mem[2,3,2,3] | |||||
; X32-NEXT: movd %mm0, %eax | ; X32-NEXT: movd %mm0, %eax | ||||
; X32-NEXT: addl $32, %eax | ; X32-NEXT: addl $32, %eax | ||||
; X32-NEXT: movl %ebp, %esp | |||||
; X32-NEXT: popl %ebp | |||||
; X32-NEXT: retl | ; X32-NEXT: retl | ||||
; | ; | ||||
; X64-LABEL: test0: | ; X64-LABEL: test0: | ||||
; X64: # %bb.0: # %entry | ; X64: # %bb.0: # %entry | ||||
; X64-NEXT: pshufw $238, (%rdi), %mm0 # mm0 = mem[2,3,2,3] | ; X64-NEXT: pshufw $238, (%rdi), %mm0 # mm0 = mem[2,3,2,3] | ||||
; X64-NEXT: movd %mm0, %eax | ; X64-NEXT: movd %mm0, %eax | ||||
; X64-NEXT: addl $32, %eax | ; X64-NEXT: addl $32, %eax | ||||
; X64-NEXT: retq | ; X64-NEXT: retq | ||||
▲ Show 20 Lines • Show All 122 Lines • Show Last 20 Lines |