brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 1f38486 Raw
76 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X863; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X644 5define void @t1(ptr %R, ptr %P1) nounwind {6; X86-LABEL: t1:7; X86:       # %bb.0:8; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax9; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx10; X86-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero11; X86-NEXT:    movss %xmm0, (%eax)12; X86-NEXT:    retl13;14; X64-LABEL: t1:15; X64:       # %bb.0:16; X64-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero17; X64-NEXT:    movss %xmm0, (%rdi)18; X64-NEXT:    retq19  %X = load <4 x float>, ptr %P120  %tmp = extractelement <4 x float> %X, i32 321  store float %tmp, ptr %R22  ret void23}24 25define float @t2(ptr %P1) nounwind {26; X86-LABEL: t2:27; X86:       # %bb.0:28; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax29; X86-NEXT:    flds 8(%eax)30; X86-NEXT:    retl31;32; X64-LABEL: t2:33; X64:       # %bb.0:34; X64-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero35; X64-NEXT:    retq36  %X = load <4 x float>, ptr %P137  %tmp = extractelement <4 x float> %X, i32 238  ret float %tmp39}40 41define void @t3(ptr %R, ptr %P1) nounwind {42; X86-LABEL: t3:43; X86:       # %bb.0:44; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax45; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx46; X86-NEXT:    movl 12(%ecx), %ecx47; X86-NEXT:    movl %ecx, (%eax)48; X86-NEXT:    retl49;50; X64-LABEL: t3:51; X64:       # %bb.0:52; X64-NEXT:    movl 12(%rsi), %eax53; X64-NEXT:    movl %eax, (%rdi)54; X64-NEXT:    retq55  %X = load <4 x i32>, ptr %P156  %tmp = extractelement <4 x i32> %X, i32 357  store i32 %tmp, ptr %R58  ret void59}60 61define i32 @t4(ptr %P1) nounwind {62; X86-LABEL: t4:63; X86:       # %bb.0:64; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax65; X86-NEXT:    movl 12(%eax), %eax66; X86-NEXT:    retl67;68; X64-LABEL: t4:69; X64:       # %bb.0:70; X64-NEXT:    movl 12(%rdi), %eax71; X64-NEXT:    retq72  %X = load <4 x i32>, ptr %P173  %tmp = extractelement <4 x i32> %X, i32 374  ret i32 %tmp75}76