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 |
Chris Lattner | 8620890 | 2012-05-27 23:20:41 +0000 | [diff] [blame] | 4 | ; RUN: FileCheck %s < %t1.ll |
Tanya Lattner | 3f7706b | 2004-11-07 06:08:43 +0000 | [diff] [blame] | 5 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 6 | declare i1 @llvm.isunordered.f32(float, float) |
Chris Lattner | 86ee776 | 2004-06-11 02:29:57 +0000 | [diff] [blame] | 7 | |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 8 | declare i1 @llvm.isunordered.f64(double, double) |
Alkis Evlogimenos | 9685372 | 2004-06-12 19:19:14 +0000 | [diff] [blame] | 9 | |
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 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 19 | declare i8 @llvm.cttz.i8(i8, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 20 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 21 | declare i16 @llvm.cttz.i16(i16, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 22 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 23 | declare i32 @llvm.cttz.i32(i32, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 24 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 25 | declare i64 @llvm.cttz.i64(i64, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 26 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 27 | declare i8 @llvm.ctlz.i8(i8, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 28 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 29 | declare i16 @llvm.ctlz.i16(i16, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 30 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 31 | declare i32 @llvm.ctlz.i32(i32, i1) |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 32 | |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 33 | declare i64 @llvm.ctlz.i64(i64, i1) |
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] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 44 | call float @llvm.sqrt.f32( float 5.000000e+00 ) ; <float>:3 [#uses=0] |
| 45 | 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] | 46 | call i8 @llvm.ctpop.i8( i8 10 ) ; <i32>:5 [#uses=0] |
| 47 | call i16 @llvm.ctpop.i16( i16 11 ) ; <i32>:6 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 48 | call i32 @llvm.ctpop.i32( i32 12 ) ; <i32>:7 [#uses=0] |
Dan Gohman | 63f7ba0 | 2008-04-14 18:19:18 +0000 | [diff] [blame] | 49 | call i64 @llvm.ctpop.i64( i64 13 ) ; <i32>:8 [#uses=0] |
Chandler Carruth | ddbc274 | 2011-12-12 11:59:10 +0000 | [diff] [blame] | 50 | call i8 @llvm.ctlz.i8( i8 14, i1 true ) ; <i32>:9 [#uses=0] |
| 51 | call i16 @llvm.ctlz.i16( i16 15, i1 true ) ; <i32>:10 [#uses=0] |
| 52 | call i32 @llvm.ctlz.i32( i32 16, i1 true ) ; <i32>:11 [#uses=0] |
| 53 | call i64 @llvm.ctlz.i64( i64 17, i1 true ) ; <i32>:12 [#uses=0] |
| 54 | call i8 @llvm.cttz.i8( i8 18, i1 true ) ; <i32>:13 [#uses=0] |
| 55 | call i16 @llvm.cttz.i16( i16 19, i1 true ) ; <i32>:14 [#uses=0] |
| 56 | call i32 @llvm.cttz.i32( i32 20, i1 true ) ; <i32>:15 [#uses=0] |
| 57 | call i64 @llvm.cttz.i64( i64 21, i1 true ) ; <i32>:16 [#uses=0] |
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 58 | ret void |
Chris Lattner | 86ee776 | 2004-06-11 02:29:57 +0000 | [diff] [blame] | 59 | } |
Reid Spencer | 87bb7c6 | 2005-05-09 04:47:32 +0000 | [diff] [blame] | 60 | |
| 61 | ; FIXME: test ALL the intrinsics in this file. |
Chris Lattner | 8620890 | 2012-05-27 23:20:41 +0000 | [diff] [blame] | 62 | |
| 63 | ; rdar://11542750 |
| 64 | ; CHECK: declare void @llvm.trap() noreturn nounwind |
| 65 | declare void @llvm.trap() |
| 66 | |
| 67 | define void @trap() { |
| 68 | call void @llvm.trap() |
| 69 | ret void |
| 70 | } |