llvm.org GIT mirror llvm / fd57ad7
Expand test to cover the non-overloaded variants of the arithmetic and floating point intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25431 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Spencer 14 years ago
1 changed file(s) with 45 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
44
55 declare bool %llvm.isunordered(float, float)
66 declare bool %llvm.isunordered(double, double)
7 declare bool %llvm.isunordered.f32(float,float)
8 declare bool %llvm.isunordered.f64(double,double)
79
810 declare void %llvm.prefetch(sbyte*, uint, uint)
911
1012 declare uint %llvm.ctpop(uint)
13 declare ubyte %llvm.ctpop.i8(ubyte)
14 declare ushort %llvm.ctpop.i16(ushort)
15 declare uint %llvm.ctpop.i32(uint)
16 declare ulong %llvm.ctpop.i64(ulong)
17
1118 declare ushort %llvm.cttz(ushort)
19 declare ubyte %llvm.cttz.i8(ubyte)
20 declare ushort %llvm.cttz.i16(ushort)
21 declare uint %llvm.cttz.i32(uint)
22 declare ulong %llvm.cttz.i64(ulong)
23
1224 declare ulong %llvm.ctlz(ulong)
25 declare ubyte %llvm.ctlz.i8(ubyte)
26 declare ushort %llvm.ctlz.i16(ushort)
27 declare uint %llvm.ctlz.i32(uint)
28 declare ulong %llvm.ctlz.i64(ulong)
29
30 declare float %llvm.sqrt(float)
31 declare double %llvm.sqrt(double)
32 declare float %llvm.sqrt.f32(float)
33 declare double %llvm.sqrt.f64(double)
1334
1435 implementation
1536
1839 void %libm() {
1940 call bool %llvm.isunordered(float 0.0, float 1.0)
2041 call bool %llvm.isunordered(double 0.0, double 0x7FF8000000000000)
42 call bool %llvm.isunordered.f32(float 1.0, float 2.0)
43 call bool %llvm.isunordered.f64(double 3.0, double 4.0)
44
2145 call void %llvm.prefetch(sbyte* null, uint 1, uint 3)
46
47 call float %llvm.sqrt(float 4.0)
48 call double %llvm.sqrt(double 4.0)
49 call float %llvm.sqrt.f32(float 5.0)
50 call double %llvm.sqrt.f64(double 6.0)
51
2252 call uint %llvm.ctpop(uint 3)
53 call ubyte %llvm.ctpop.i8(ubyte 10)
54 call ushort %llvm.ctpop.i16(ushort 11)
55 call uint %llvm.ctpop.i32(uint 12)
56 call ulong %llvm.ctpop.i64(ulong 13)
57
58 call ulong %llvm.ctlz(ulong 65000)
59 call ubyte %llvm.ctlz.i8(ubyte 14)
60 call ushort %llvm.ctlz.i16(ushort 15)
61 call uint %llvm.ctlz.i32(uint 16)
62 call ulong %llvm.ctlz.i64(ulong 17)
63
2364 call ushort %llvm.cttz(ushort 7)
24 call ulong %llvm.ctlz(ulong 65000)
65 call ubyte %llvm.cttz.i8(ubyte 18)
66 call ushort %llvm.cttz.i16(ushort 19)
67 call uint %llvm.cttz.i32(uint 20)
68 call ulong %llvm.cttz.i64(ulong 21)
2569 ret void
2670 }
2771