; LLVM intermediate representation ; Run with: llc file.ll && gcc file.s && ./a.out @str = internal constant [4 x i8] c"%d\0A\00" declare i32 @printf(i8*, ...) define i32 @main() { ; Print a secret number on the screen %1 = select i1 true, float 0x402ABD70A0000000, float 0xC0FFEE0000000000 %2 = fpext float %1 to double %3 = fmul double %2, 1.000000e+02 %4 = fptoui double %3 to i32 %5 = add i32 %4, 1 ; Call printf call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @str, i32 0, i32 0), i32 %5) ret i32 0 }