3b362bd43e57776de1d38e146dcbf7a7ba49b33b
[oota-llvm.git] / test / ExecutionEngine / test-cast.ll
1 ; XFAIL: darwin
2 ; RUN: llvm-as -f %s -o %t.bc
3 ; RUN: lli %t.bc > /dev/null
4
5
6
7 int %foo() {
8   ret int 0
9 }
10
11 int %main() {
12   ; cast bool to ...
13   cast bool true to bool
14   cast bool true to ubyte
15   cast bool true to sbyte
16   cast bool true to short
17   cast bool true to ushort
18   cast bool true to int
19   cast bool true to uint
20   cast bool true to long
21   cast bool true to ulong
22   cast bool true to float
23   cast bool true to double
24
25   ; cast sbyte to ...
26   cast sbyte 0 to bool
27   cast sbyte 1 to bool
28   cast sbyte 0 to sbyte
29   cast sbyte -1 to ubyte
30   cast sbyte 4 to short
31   cast sbyte 4 to ushort
32   cast sbyte 4 to long
33   cast sbyte 4 to ulong
34   cast sbyte 4 to float
35   cast sbyte 4 to double
36
37   ; cast ubyte to ...
38   cast ubyte 0 to bool
39   cast ubyte 1 to bool
40   cast ubyte 0 to sbyte
41   cast ubyte 1 to ubyte
42   cast ubyte 4 to short
43   cast ubyte 4 to ushort
44   cast ubyte 4 to long
45   cast ubyte 4 to ulong
46   cast ubyte 0 to float
47   cast ubyte 0 to double
48
49   ; cast short to ...
50   cast short 1 to bool
51   cast short -1 to sbyte
52   cast short 255 to ubyte
53   cast short 0 to short
54   cast short 0 to ushort
55   cast short 0 to long
56   cast short 0 to ulong
57   cast short 0 to float
58   cast short 0 to double
59
60   ; cast ushort to ...
61   cast ushort 1 to bool
62   cast ushort 1 to sbyte
63   cast ushort 255 to ubyte
64   cast ushort 0 to short
65   cast ushort 0 to ushort
66   cast ushort 0 to long
67   cast ushort 0 to ulong
68   cast ushort 0 to float
69   cast ushort 0 to double
70
71   ; cast int to ...
72   cast int 6 to bool
73   cast int -6 to sbyte
74   cast int 6 to ubyte
75   cast int 6 to short
76   cast int 0 to int
77   cast int 0 to long
78   cast int 0 to ulong
79   cast int 0 to float
80   cast int 0 to double
81
82   ; cast uint to ...
83   cast uint 6 to bool
84   cast uint 7 to sbyte
85   cast uint 8 to ubyte
86   cast uint 9 to short
87   cast uint 10 to int
88   cast uint 0 to long
89   cast uint 0 to ulong
90   cast uint 0 to float
91   cast uint 0 to double
92
93   ; cast long to ...
94   cast long 0 to bool
95   cast long 0 to sbyte
96   cast long 0 to ubyte
97   cast long 0 to short
98   cast long 0 to ushort
99   cast long 0 to int
100   cast long 0 to uint
101   cast long 0 to long
102   cast long 0 to ulong
103   cast long 0 to float
104   cast long 0 to double
105
106   ; cast ulong to ...
107   cast ulong 1 to bool
108   cast ulong 1 to sbyte
109   cast ulong 1 to ubyte
110   cast ulong 1 to short
111   cast ulong 1 to ushort
112   cast ulong 1 to int
113   cast ulong 1 to uint
114   cast ulong 1 to long
115   cast ulong 1 to ulong
116   cast ulong 1 to float
117   cast ulong 0 to double
118   
119   ; cast float to ...
120   ;cast float 0.0 to bool
121   cast float 0.0 to float
122   cast float 0.0 to double
123
124   ; cast double to ...
125   ;cast double 0.0 to bool
126   cast double 0.0 to sbyte
127   cast double 0.0 to ubyte
128   cast double 0.0 to short
129   cast double 0.0 to ushort
130   cast double 0.0 to int
131   cast double 0.0 to uint
132   cast double 0.0 to long
133   ;cast double 0.0 to ulong
134   cast double 0.0 to float
135   cast double 0.0 to double
136
137   ret int 0
138 }