Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple x86_64-apple-darwin | FileCheck %s
      2 
      3 define void @bar(i32 %argc) #0 {
      4 ; CHECK-LABEL: bar:
      5 ; CHECK: pushq %rbp
      6 entry:
      7   %conv = sitofp i32 %argc to double
      8   %mul = fmul double %conv, 3.792700e+01
      9   %conv1 = fptrunc double %mul to float
     10   %div = fdiv double 9.273700e+02, %conv
     11   %conv3 = fptrunc double %div to float
     12   tail call void @foo(float %conv1, float %conv3)
     13   ret void
     14 }
     15 
     16 define void @qux(i32 %argc) #1 {
     17 ; CHECK-LABEL: qux:
     18 ; CHECK-NOT: pushq %rbp
     19 entry:
     20   %conv = sitofp i32 %argc to double
     21   %mul = fmul double %conv, 3.792700e+01
     22   %conv1 = fptrunc double %mul to float
     23   %div = fdiv double 9.273700e+02, %conv
     24   %conv3 = fptrunc double %div to float
     25   tail call void @foo(float %conv1, float %conv3)
     26   ret void
     27 }
     28 
     29 declare void @foo(float, float)
     30 
     31 attributes #0 = { "no-frame-pointer-elim"="true" }
     32 attributes #1 = { "no-frame-pointer-elim"="false" }
     33