Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s | FileCheck %s |
Dale Johannesen | 317096a | 2007-09-28 01:08:20 +0000 | [diff] [blame] | 2 | target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" |
| 3 | target triple = "i686-apple-darwin8" |
| 4 | |
Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 5 | define x86_fp80 @foo(x86_fp80 %x) nounwind{ |
Dale Johannesen | 317096a | 2007-09-28 01:08:20 +0000 | [diff] [blame] | 6 | entry: |
Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 7 | %tmp2 = call x86_fp80 @llvm.sqrt.f80( x86_fp80 %x ) |
| 8 | ret x86_fp80 %tmp2 |
| 9 | |
| 10 | ; CHECK: foo: |
| 11 | ; CHECK: fldt 4(%esp) |
| 12 | ; CHECK-NEXT: fsqrt |
| 13 | ; CHECK-NEXT: ret |
Dale Johannesen | 317096a | 2007-09-28 01:08:20 +0000 | [diff] [blame] | 14 | } |
| 15 | |
| 16 | declare x86_fp80 @llvm.sqrt.f80(x86_fp80) |
| 17 | |
Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 18 | define x86_fp80 @bar(x86_fp80 %x) nounwind { |
Dale Johannesen | 317096a | 2007-09-28 01:08:20 +0000 | [diff] [blame] | 19 | entry: |
Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 20 | %tmp2 = call x86_fp80 @llvm.powi.f80( x86_fp80 %x, i32 3 ) |
| 21 | ret x86_fp80 %tmp2 |
| 22 | ; CHECK: bar: |
| 23 | ; CHECK: fldt 4(%esp) |
| 24 | ; CHECK-NEXT: fld %st(0) |
Bill Wendling | 740e5b3 | 2011-06-14 03:17:20 +0000 | [diff] [blame^] | 25 | ; CHECK-NEXT: fmul %st(1) |
Bill Wendling | c6df988 | 2011-04-14 01:11:51 +0000 | [diff] [blame] | 26 | ; CHECK-NEXT: fmulp |
Chris Lattner | f031e8a | 2010-01-01 03:32:16 +0000 | [diff] [blame] | 27 | ; CHECK-NEXT: ret |
Dale Johannesen | 317096a | 2007-09-28 01:08:20 +0000 | [diff] [blame] | 28 | } |
| 29 | |
| 30 | declare x86_fp80 @llvm.powi.f80(x86_fp80, i32) |