Add support for OR/XOR/SUB immediates that are handled with the new immediate
[oota-llvm.git] / test / Feature / intrinsics.ll
index 16a23744cbb09c2d25c6198f0d3439c94b65c421..973e82f860d4f8f6a7e3861cdcb7417d0fc53d95 100644 (file)
@@ -1,7 +1,17 @@
+; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
 
 declare bool %llvm.isunordered(float, float)
 declare bool %llvm.isunordered(double, double)
 
+declare void %llvm.prefetch(sbyte*, uint, uint)
+
+declare uint %llvm.ctpop(uint)
+declare ushort %llvm.cttz(ushort)
+declare ulong %llvm.ctlz(ulong)
+
 implementation
 
 ; Test llvm intrinsics
@@ -9,5 +19,11 @@ implementation
 void %libm() {
         call bool %llvm.isunordered(float 0.0, float 1.0)
         call bool %llvm.isunordered(double 0.0, double 0x7FF8000000000000)
+       call void %llvm.prefetch(sbyte* null, uint 1, uint 3)
+        call uint %llvm.ctpop(uint 3)
+        call ushort %llvm.cttz(ushort 7)
+        call ulong %llvm.ctlz(ulong 65000)
        ret void
 }
+
+; FIXME: test ALL the intrinsics in this file.