1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=i686-- -mcpu=yonah | FileCheck %s 3 4define double @test1(double* %P) { 5; CHECK-LABEL: test1: 6; CHECK: # %bb.0: 7; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax 8; CHECK-NEXT: fldl (%eax) 9; CHECK-NEXT: retl 10 %X = load double, double* %P ; <double> [#uses=1] 11 ret double %X 12} 13 14define double @test2() { 15; CHECK-LABEL: test2: 16; CHECK: # %bb.0: 17; CHECK-NEXT: fldl {{\.LCPI.*}} 18; CHECK-NEXT: retl 19 ret double 1.234560e+03 20} 21 22 23define double @test3(i1 %B) { 24; CHECK-LABEL: test3: 25; CHECK: # %bb.0: 26; CHECK-NEXT: pushl %ebp 27; CHECK-NEXT: .cfi_def_cfa_offset 8 28; CHECK-NEXT: .cfi_offset %ebp, -8 29; CHECK-NEXT: movl %esp, %ebp 30; CHECK-NEXT: .cfi_def_cfa_register %ebp 31; CHECK-NEXT: andl $-8, %esp 32; CHECK-NEXT: subl $8, %esp 33; CHECK-NEXT: testb $1, 8(%ebp) 34; CHECK-NEXT: jne .LBB2_1 35; CHECK-NEXT: # %bb.2: 36; CHECK-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero 37; CHECK-NEXT: jmp .LBB2_3 38; CHECK-NEXT: .LBB2_1: 39; CHECK-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero 40; CHECK-NEXT: .LBB2_3: 41; CHECK-NEXT: movsd %xmm0, (%esp) 42; CHECK-NEXT: fldl (%esp) 43; CHECK-NEXT: movl %ebp, %esp 44; CHECK-NEXT: popl %ebp 45; CHECK-NEXT: .cfi_def_cfa %esp, 4 46; CHECK-NEXT: retl 47 %C = select i1 %B, double 123.412, double 523.01123123 48 ret double %C 49} 50 51