2006-12-03 16:17:19 +00:00
|
|
|
; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
|
2004-11-06 23:32:43 +00:00
|
|
|
; RUN: lli %t.bc > /dev/null
|
|
|
|
|
2002-12-25 05:14:29 +00:00
|
|
|
|
2002-12-28 20:00:47 +00:00
|
|
|
double %test(double* %DP, double %Arg) {
|
2002-12-25 05:14:29 +00:00
|
|
|
%D = load double* %DP
|
|
|
|
%V = add double %D, 1.0
|
|
|
|
%W = sub double %V, %V
|
|
|
|
%X = mul double %W, %W
|
|
|
|
%Y = div double %X, %X
|
|
|
|
%Z = rem double %Y, %Y
|
2003-11-26 14:45:37 +00:00
|
|
|
%Z1 = div double %Z, %W
|
2002-12-28 20:00:47 +00:00
|
|
|
%Q = add double %Z, %Arg
|
2003-01-13 00:56:54 +00:00
|
|
|
%R = cast double %Q to double
|
|
|
|
store double %R, double* %DP
|
2002-12-25 05:14:29 +00:00
|
|
|
ret double %Z
|
|
|
|
}
|
|
|
|
|
|
|
|
int %main() {
|
|
|
|
%X = alloca double
|
2007-02-01 21:58:46 +00:00
|
|
|
store double 0.0, double* %X
|
2003-01-13 00:56:54 +00:00
|
|
|
call double %test(double* %X, double 2.0)
|
2002-12-25 05:14:29 +00:00
|
|
|
ret int 0
|
|
|
|
}
|