Skip to content

Instantly share code, notes, and snippets.

@alexcrichton
Created December 26, 2017 20:07
Show Gist options
  • Save alexcrichton/f73ce03b655179e4286d6e024558a292 to your computer and use it in GitHub Desktop.
Save alexcrichton/f73ce03b655179e4286d6e024558a292 to your computer and use it in GitHub Desktop.
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define i64 @foo() #0 {
start:
br label %bb4
bb3: ; preds = %bb4
%0 = fmul double %n.1.1, 2.843300e+04
%1 = fadd double %0, 1.000000e+00
%2 = frem double %1, 1.000000e+10
%3 = fptoui double %2 to i64
ret i64 %3
bb4: ; preds = %bb4, %start
%b.08 = phi i64 [ 8388608, %start ], [ %12, %bb4 ]
%n.07 = phi double [ 1.000000e+00, %start ], [ %n.1.1, %bb4 ]
%4 = and i64 %b.08, 7830457
%5 = icmp eq i64 %4, 0
%6 = fmul double %n.07, %n.07
%7 = fmul double %6, 2.000000e+00
%n.1.in = select i1 %5, double %6, double %7
%n.1 = frem double %n.1.in, 1.000000e+10
%8 = and i64 %b.08, 15660914
%9 = icmp eq i64 %8, 0
%10 = fmul double %n.1, %n.1
%11 = fmul double %10, 2.000000e+00
%n.1.in.1 = select i1 %9, double %10, double %11
%n.1.1 = frem double %n.1.in.1, 1.000000e+10
%12 = lshr i64 %b.08, 2
%13 = icmp eq i64 %12, 0
br i1 %13, label %bb3, label %bb4
}
attributes #0 = { nounwind }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment