new testcase which crashes the inliner, thanks Bugpoint!
[oota-llvm.git] / test / ExecutionEngine / test-cast.ll
index 4ae8a4df16db32953c7c7905ba2b56e96fe2e7c0..753c9fa708447c89a12b62746b726f5cf523b537 100644 (file)
@@ -1,7 +1,86 @@
 
+
+int %foo() {
+  ret int 0
+}
+
 int %main() {
+  ; cast bool to ...
+  cast bool true to bool
   cast bool true to int
+  cast bool true to long
+  cast bool true to ulong
+  cast bool true to float
+  cast bool true to double
+
+  ; cast sbyte to ...
+  cast sbyte 0 to sbyte
+  cast sbyte 4 to short
+  cast sbyte 4 to long
+  cast sbyte 4 to ulong
+  cast sbyte 4 to double
+
+  ; cast ubyte to ...
+  cast ubyte 0 to float
+  cast ubyte 0 to double
+
+  ; cast short to ...
+  cast short 0 to short
+  cast short 0 to long
+  cast short 0 to ulong
+  cast short 0 to double
+
+  ; cast ushort to ...
+  cast ushort 0 to float
+  cast ushort 0 to double
+
+  ; cast int to ...
   cast int 6 to bool
+  cast int 6 to short
+  cast int 0 to int
+  cast int 0 to long
+  cast int 0 to ulong
+  cast int 0 to float
+  cast int 0 to double
+
+  ; cast uint to ...
+  cast uint 0 to long
+  cast uint 0 to ulong
+  cast uint 0 to float
+  cast uint 0 to double
+
+  ; cast long to ...
+  cast long 0 to bool
+  cast long 0 to sbyte
+  cast long 0 to ubyte
+  cast long 0 to short
+  cast long 0 to ushort
+  cast long 0 to int
+  cast long 0 to uint
+  cast long 0 to long
+  cast long 0 to ulong
+  cast long 0 to float
+  cast long 0 to double
+
+  cast ulong 0 to bool
+  
+  ; cast float to ...
+  ;cast float 0.0 to bool
+  cast float 0.0 to float
+  cast float 0.0 to double
+
+  ; cast double to ...
+  ;cast double 0.0 to bool
+  cast double 0.0 to sbyte
+  cast double 0.0 to ubyte
+  cast double 0.0 to short
+  cast double 0.0 to ushort
+  cast double 0.0 to int
+  cast double 0.0 to uint
+  cast double 0.0 to long
+  ;cast double 0.0 to ulong
+  cast double 0.0 to float
+  cast double 0.0 to double
 
   ret int 0
 }