43 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -mcpu=i386 | FileCheck %s --check-prefix=BASE3; RUN: llc < %s -mtriple=i686-- -mcpu=pentiumpro | FileCheck %s --check-prefix=CMOV4; PR66795 6define float @foo(ptr %col) {7; BASE-LABEL: foo:8; BASE: # %bb.0:9; BASE-NEXT: movl {{[0-9]+}}(%esp), %eax10; BASE-NEXT: flds (%eax)11; BASE-NEXT: fld %st(0)12; BASE-NEXT: fchs13; BASE-NEXT: fucom %st(1)14; BASE-NEXT: fnstsw %ax15; BASE-NEXT: # kill: def $ah killed $ah killed $ax16; BASE-NEXT: sahf17; BASE-NEXT: ja .LBB0_218; BASE-NEXT: # %bb.1:19; BASE-NEXT: fstp %st(0)20; BASE-NEXT: fldz21; BASE-NEXT: fxch %st(1)22; BASE-NEXT: .LBB0_2:23; BASE-NEXT: fstp %st(1)24; BASE-NEXT: retl25;26; CMOV-LABEL: foo:27; CMOV: # %bb.0:28; CMOV-NEXT: movl {{[0-9]+}}(%esp), %eax29; CMOV-NEXT: flds (%eax)30; CMOV-NEXT: fld %st(0)31; CMOV-NEXT: fchs32; CMOV-NEXT: fucomi %st(1), %st33; CMOV-NEXT: fxch %st(1)34; CMOV-NEXT: fcmovnbe %st(1), %st35; CMOV-NEXT: fstp %st(1)36; CMOV-NEXT: retl37 %t = load float, ptr %col38 %t16 = fcmp olt float %t, 0.039 %t20 = fsub float -0.000000e+00, %t40 %ift = select i1 %t16, float %t20, float %t41 ret float %ift42}43