|  | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | 
|  | ; RUN: llc < %s -mtriple=i686-- -mcpu=i386 | FileCheck %s --check-prefix=BASE | 
|  | ; RUN: llc < %s -mtriple=i686-- -mcpu=pentiumpro | FileCheck %s --check-prefix=CMOV | 
|  | ; PR6679 | 
|  |  | 
|  | define float @foo(ptr %col) { | 
|  | ; BASE-LABEL: foo: | 
|  | ; BASE:       # %bb.0: | 
|  | ; BASE-NEXT:    movl {{[0-9]+}}(%esp), %eax | 
|  | ; BASE-NEXT:    flds (%eax) | 
|  | ; BASE-NEXT:    fld %st(0) | 
|  | ; BASE-NEXT:    fchs | 
|  | ; BASE-NEXT:    fucom %st(1) | 
|  | ; BASE-NEXT:    fnstsw %ax | 
|  | ; BASE-NEXT:    # kill: def $ah killed $ah killed $ax | 
|  | ; BASE-NEXT:    sahf | 
|  | ; BASE-NEXT:    ja .LBB0_2 | 
|  | ; BASE-NEXT:  # %bb.1: | 
|  | ; BASE-NEXT:    fstp %st(0) | 
|  | ; BASE-NEXT:    fldz | 
|  | ; BASE-NEXT:    fxch %st(1) | 
|  | ; BASE-NEXT:  .LBB0_2: | 
|  | ; BASE-NEXT:    fstp %st(1) | 
|  | ; BASE-NEXT:    retl | 
|  | ; | 
|  | ; CMOV-LABEL: foo: | 
|  | ; CMOV:       # %bb.0: | 
|  | ; CMOV-NEXT:    movl {{[0-9]+}}(%esp), %eax | 
|  | ; CMOV-NEXT:    flds (%eax) | 
|  | ; CMOV-NEXT:    fld %st(0) | 
|  | ; CMOV-NEXT:    fchs | 
|  | ; CMOV-NEXT:    fucomi %st(1), %st | 
|  | ; CMOV-NEXT:    fxch %st(1) | 
|  | ; CMOV-NEXT:    fcmovnbe %st(1), %st | 
|  | ; CMOV-NEXT:    fstp %st(1) | 
|  | ; CMOV-NEXT:    retl | 
|  | %t = load float, ptr %col | 
|  | %t16 = fcmp olt float %t, 0.0 | 
|  | %t20 = fsub float -0.000000e+00, %t | 
|  | %ift = select i1 %t16, float %t20, float %t | 
|  | ret float %ift | 
|  | } |