XFAIL for now.
[oota-llvm.git] / test / ExecutionEngine / test-cast.ll
index 4ae8a4df16db32953c7c7905ba2b56e96fe2e7c0..97e71570f7ff5e44720ebacdc4a63035ba073de4 100644 (file)
@@ -1,7 +1,136 @@
+; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
+
+int %foo() {
+  ret int 0
+}
 
 int %main() {
+  ; cast bool to ...
+  cast bool true to bool
+  cast bool true to ubyte
+  cast bool true to sbyte
+  cast bool true to short
+  cast bool true to ushort
   cast bool true to int
+  cast bool true to uint
+  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 bool
+  cast sbyte 1 to bool
+  cast sbyte 0 to sbyte
+  cast sbyte -1 to ubyte
+  cast sbyte 4 to short
+  cast sbyte 4 to ushort
+  cast sbyte 4 to long
+  cast sbyte 4 to ulong
+  cast sbyte 4 to float
+  cast sbyte 4 to double
+
+  ; cast ubyte to ...
+  cast ubyte 0 to bool
+  cast ubyte 1 to bool
+  cast ubyte 0 to sbyte
+  cast ubyte 1 to ubyte
+  cast ubyte 4 to short
+  cast ubyte 4 to ushort
+  cast ubyte 4 to long
+  cast ubyte 4 to ulong
+  cast ubyte 0 to float
+  cast ubyte 0 to double
+
+  ; cast short to ...
+  cast short 1 to bool
+  cast short -1 to sbyte
+  cast short 255 to ubyte
+  cast short 0 to short
+  cast short 0 to ushort
+  cast short 0 to long
+  cast short 0 to ulong
+  cast short 0 to float
+  cast short 0 to double
+
+  ; cast ushort to ...
+  cast ushort 1 to bool
+  cast ushort 1 to sbyte
+  cast ushort 255 to ubyte
+  cast ushort 0 to short
+  cast ushort 0 to ushort
+  cast ushort 0 to long
+  cast ushort 0 to ulong
+  cast ushort 0 to float
+  cast ushort 0 to double
+
+  ; cast int to ...
   cast int 6 to bool
+  cast int -6 to sbyte
+  cast int 6 to ubyte
+  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 6 to bool
+  cast uint 7 to sbyte
+  cast uint 8 to ubyte
+  cast uint 9 to short
+  cast uint 10 to int
+  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 to ...
+  cast ulong 1 to bool
+  cast ulong 1 to sbyte
+  cast ulong 1 to ubyte
+  cast ulong 1 to short
+  cast ulong 1 to ushort
+  cast ulong 1 to int
+  cast ulong 1 to uint
+  cast ulong 1 to long
+  cast ulong 1 to ulong
+  cast ulong 1 to float
+  cast ulong 0 to double
+  
+  ; 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
 }