XFAIL for now.
[oota-llvm.git] / test / ExecutionEngine / test-cast.ll
index 21270a361dc7e9d167427f3fcb8e7b27aeac8278..97e71570f7ff5e44720ebacdc4a63035ba073de4 100644 (file)
@@ -1,3 +1,6 @@
+; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
 
 int %foo() {
   ret int 0
@@ -6,38 +9,87 @@ int %foo() {
 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
@@ -48,6 +100,19 @@ int %main() {
   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