blob: 1ee29b5421ec9d19780c6fc4d639c02938e8ede0 [file] [log] [blame]
Reid Spencer4dc9e5a2006-12-03 16:17:19 +00001; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
Tanya Lattnere9789ef2004-11-06 23:32:43 +00002; RUN: lli %t.bc > /dev/null
3
Chris Lattner3b245592002-12-25 05:14:29 +00004
Chris Lattner48664e72002-12-28 20:00:47 +00005double %test(double* %DP, double %Arg) {
Chris Lattner3b245592002-12-25 05:14:29 +00006 %D = load double* %DP
7 %V = add double %D, 1.0
8 %W = sub double %V, %V
9 %X = mul double %W, %W
10 %Y = div double %X, %X
11 %Z = rem double %Y, %Y
John Criswell1b4fb5a2003-11-26 14:45:37 +000012 %Z1 = div double %Z, %W
Chris Lattner48664e72002-12-28 20:00:47 +000013 %Q = add double %Z, %Arg
Chris Lattner6442a3e2003-01-13 00:56:54 +000014 %R = cast double %Q to double
15 store double %R, double* %DP
Chris Lattner3b245592002-12-25 05:14:29 +000016 ret double %Z
17}
18
19int %main() {
20 %X = alloca double
Reid Spencer3ca56162007-02-01 21:58:46 +000021 store double 0.0, double* %X
Chris Lattner6442a3e2003-01-13 00:56:54 +000022 call double %test(double* %X, double 2.0)
Chris Lattner3b245592002-12-25 05:14:29 +000023 ret int 0
24}