Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llvm-dis > %t1.ll |
Tanya Lattner | 3f7706b | 2004-11-07 06:08:43 +0000 | [diff] [blame] | 2 | ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll |
| 3 | ; RUN: diff %t1.ll %t2.ll |
| 4 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 5 | declare i1 @llvm.isunordered.f32(float, float) |
Chris Lattner | 86ee776 | 2004-06-11 02:29:57 +0000 | [diff] [blame] | 6 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 7 | declare i1 @llvm.isunordered.f64(double, double) |
Alkis Evlogimenos | 9685372 | 2004-06-12 19:19:14 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 9 | declare void @llvm.prefetch(i8*, i32, i32) |
Chris Lattner | 47adf21 | 2005-02-28 19:31:42 +0000 | [diff] [blame] | 10 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 11 | declare i8 @llvm.ctpop.i8(i8) |
Reid Spencer | fd57ad7 | 2006-01-19 01:17:06 +0000 | [diff] [blame] | 12 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 13 | declare i16 @llvm.ctpop.i16(i16) |
Reid Spencer | fd57ad7 | 2006-01-19 01:17:06 +0000 | [diff] [blame] | 14 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 15 | declare i32 @llvm.ctpop.i32(i32) |
Reid Spencer | fd57ad7 | 2006-01-19 01:17:06 +0000 | [diff] [blame] | 16 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 17 | declare i64 @llvm.ctpop.i64(i64) |
Andrew Lenharth | 279a7b2 | 2005-05-03 16:49:48 +0000 | [diff] [blame] | 18 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 19 | declare i8 @llvm.cttz.i8(i8) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 20 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 21 | declare i16 @llvm.cttz.i16(i16) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 22 | |
| 23 | declare i32 @llvm.cttz.i32(i32) |
| 24 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 25 | declare i64 @llvm.cttz.i64(i64) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 26 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 27 | declare i8 @llvm.ctlz.i8(i8) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 28 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 29 | declare i16 @llvm.ctlz.i16(i16) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 30 | |
| 31 | declare i32 @llvm.ctlz.i32(i32) |
| 32 | |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 33 | declare i64 @llvm.ctlz.i64(i64) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 34 | |
| 35 | declare float @llvm.sqrt.f32(float) |
| 36 | |
| 37 | declare double @llvm.sqrt.f64(double) |
Alkis Evlogimenos | fd39b30 | 2004-06-11 01:06:40 +0000 | [diff] [blame] | 38 | |
| 39 | ; Test llvm intrinsics |
| 40 | ; |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 41 | define void @libm() { |
| 42 | fcmp uno float 1.000000e+00, 2.000000e+00 ; <i1>:1 [#uses=0] |
| 43 | fcmp uno double 3.000000e+00, 4.000000e+00 ; <i1>:2 [#uses=0] |
| 44 | call void @llvm.prefetch( i8* null, i32 1, i32 3 ) |
| 45 | call float @llvm.sqrt.f32( float 5.000000e+00 ) ; <float>:3 [#uses=0] |
| 46 | call double @llvm.sqrt.f64( double 6.000000e+00 ) ; <double>:4 [#uses=0] |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 47 | call i8 @llvm.ctpop.i8( i8 10 ) ; <i32>:5 [#uses=0] |
| 48 | call i16 @llvm.ctpop.i16( i16 11 ) ; <i32>:6 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 49 | call i32 @llvm.ctpop.i32( i32 12 ) ; <i32>:7 [#uses=0] |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 50 | call i64 @llvm.ctpop.i64( i64 13 ) ; <i32>:8 [#uses=0] |
| 51 | call i8 @llvm.ctlz.i8( i8 14 ) ; <i32>:9 [#uses=0] |
| 52 | call i16 @llvm.ctlz.i16( i16 15 ) ; <i32>:10 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 53 | call i32 @llvm.ctlz.i32( i32 16 ) ; <i32>:11 [#uses=0] |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 54 | call i64 @llvm.ctlz.i64( i64 17 ) ; <i32>:12 [#uses=0] |
| 55 | call i8 @llvm.cttz.i8( i8 18 ) ; <i32>:13 [#uses=0] |
| 56 | call i16 @llvm.cttz.i16( i16 19 ) ; <i32>:14 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 57 | call i32 @llvm.cttz.i32( i32 20 ) ; <i32>:15 [#uses=0] |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 58 | call i64 @llvm.cttz.i64( i64 21 ) ; <i32>:16 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 59 | ret void |
Chris Lattner | 86ee776 | 2004-06-11 02:29:57 +0000 | [diff] [blame] | 60 | } |
Reid Spencer | 87bb7c6 | 2005-05-09 04:47:32 +0000 | [diff] [blame] | 61 | |
| 62 | ; FIXME: test ALL the intrinsics in this file. |