yea yea yea
[oota-llvm.git] / test / Feature / intrinsics.ll
1 ; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
4
5
6 declare bool %llvm.isunordered(float, float)
7 declare bool %llvm.isunordered(double, double)
8
9 declare void %llvm.prefetch(sbyte*, uint, uint)
10
11 declare uint %llvm.ctpop(uint)
12 declare ushort %llvm.cttz(ushort)
13 declare ulong %llvm.ctlz(ulong)
14
15 implementation
16
17 ; Test llvm intrinsics
18 ;
19 void %libm() {
20         call bool %llvm.isunordered(float 0.0, float 1.0)
21         call bool %llvm.isunordered(double 0.0, double 0x7FF8000000000000)
22         call void %llvm.prefetch(sbyte* null, uint 1, uint 3)
23         call uint %llvm.ctpop(uint 3)
24         call ushort %llvm.cttz(ushort 7)
25         call ulong %llvm.ctlz(ulong 65000)
26         ret void
27 }