brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · b657ed2 Raw
85 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- | FileCheck %s3 4; Don't duplicate the load.5 6define fastcc i32 @foo(ptr %p) nounwind {7; CHECK-LABEL: foo:8; CHECK:       # %bb.0:9; CHECK-NEXT:    movl (%ecx), %eax10; CHECK-NEXT:    andl $10, %eax11; CHECK-NEXT:    je .LBB0_212; CHECK-NEXT:  # %bb.1: # %bb6313; CHECK-NEXT:    retl14; CHECK-NEXT:  .LBB0_2: # %bb7615; CHECK-NEXT:    xorl %eax, %eax16; CHECK-NEXT:    retl17	%t0 = load i32, ptr %p18	%t2 = and i32 %t0, 1019	%t3 = icmp ne i32 %t2, 020	br i1 %t3, label %bb63, label %bb7621bb63:22	ret i32 %t223bb76:24	ret i32 025}26 27define fastcc double @bar(i32 %hash, double %x, double %y) nounwind {28; CHECK-LABEL: bar:29; CHECK:       # %bb.0: # %entry30; CHECK-NEXT:    pushl %ebp31; CHECK-NEXT:    movl %esp, %ebp32; CHECK-NEXT:    andl $-8, %esp33; CHECK-NEXT:    fldl 16(%ebp)34; CHECK-NEXT:    fldl 8(%ebp)35; CHECK-NEXT:    movl %ecx, %eax36; CHECK-NEXT:    andl $15, %eax37; CHECK-NEXT:    cmpl $8, %eax38; CHECK-NEXT:    jb .LBB1_239; CHECK-NEXT:  # %bb.1: # %bb1040; CHECK-NEXT:    testb $1, %cl41; CHECK-NEXT:    je .LBB1_342; CHECK-NEXT:  .LBB1_2: # %bb1143; CHECK-NEXT:    fchs44; CHECK-NEXT:  .LBB1_3: # %bb1345; CHECK-NEXT:    testb $2, %cl46; CHECK-NEXT:    je .LBB1_547; CHECK-NEXT:  # %bb.4: # %bb1448; CHECK-NEXT:    fxch %st(1)49; CHECK-NEXT:    fchs50; CHECK-NEXT:    fxch %st(1)51; CHECK-NEXT:  .LBB1_5: # %bb1652; CHECK-NEXT:    faddp %st, %st(1)53; CHECK-NEXT:    movl %ebp, %esp54; CHECK-NEXT:    popl %ebp55; CHECK-NEXT:    retl56entry:57  %0 = and i32 %hash, 1558  %1 = icmp ult i32 %0, 859  br i1 %1, label %bb11, label %bb1060 61bb10:62  %2 = and i32 %hash, 163  %3 = icmp eq i32 %2, 064  br i1 %3, label %bb13, label %bb1165 66bb11:67  %4 = fsub double -0.000000e+00, %x68  br label %bb1369 70bb13:71  %iftmp.9.0 = phi double [ %4, %bb11 ], [ %x, %bb10 ]72  %5 = and i32 %hash, 273  %6 = icmp eq i32 %5, 074  br i1 %6, label %bb16, label %bb1475 76bb14:77  %7 = fsub double -0.000000e+00, %y78  br label %bb1679 80bb16:81  %iftmp.10.0 = phi double [ %7, %bb14 ], [ %y, %bb13 ]82  %8 = fadd double %iftmp.9.0, %iftmp.10.083  ret double %884}85