Ensure bitcode encoding of instructions and their operands stays stable.
[oota-llvm.git] / test / Bitcode / conversionInstructions.3.2.ll
1 ; RUN:  llvm-dis < %s.bc| FileCheck %s\r
2 \r
3 ; conversionOperations.3.2.ll.bc was generated by passing this file to llvm-as-3.2.\r
4 ; The test checks that LLVM does not misread conversion instructions from\r
5 ; older bitcode files.\r
6 \r
7 define void @trunc(i32 %src){\r
8 entry:\r
9 ; CHECK: %res1 = trunc i32 %src to i8\r
10   %res1 = trunc i32 %src to i8\r
11     \r
12   ret void\r
13 }\r
14 \r
15 define void @zext(i32 %src){\r
16 entry:\r
17 ; CHECK: %res1 = zext i32 %src to i64\r
18   %res1 = zext i32 %src to i64\r
19     \r
20   ret void\r
21 }\r
22 \r
23 define void @sext(i32 %src){\r
24 entry:\r
25 ; CHECK: %res1 = sext i32 %src to i64\r
26   %res1 = sext i32 %src to i64\r
27     \r
28   ret void\r
29 }\r
30 \r
31 define void @fptrunc(double %src){\r
32 entry:\r
33 ; CHECK: %res1 = fptrunc double %src to float\r
34   %res1 = fptrunc double %src to float\r
35   \r
36   ret void\r
37 }\r
38 \r
39 define void @fpext(float %src){\r
40 entry:\r
41 ; CHECK: %res1 = fpext float %src to double\r
42   %res1 = fpext float %src to double\r
43   \r
44   ret void\r
45 }\r
46 \r
47 define void @fptoui(float %src){\r
48 entry:\r
49 ; CHECK: %res1 = fptoui float %src to i32\r
50   %res1 = fptoui float %src to i32\r
51   \r
52   ret void\r
53 }\r
54 \r
55 define void @fptosi(float %src){\r
56 entry:\r
57 ; CHECK: %res1 = fptosi float %src to i32\r
58   %res1 = fptosi float %src to i32\r
59   \r
60   ret void\r
61 }\r
62 \r
63 define void @uitofp(i32 %src){\r
64 entry:\r
65 ; CHECK: %res1 = uitofp i32 %src to float\r
66   %res1 = uitofp i32 %src to float\r
67   \r
68   ret void\r
69 }\r
70 \r
71 define void @sitofp(i32 %src){\r
72 entry:\r
73 ; CHECK: %res1 = sitofp i32 %src to float\r
74   %res1 = sitofp i32 %src to float\r
75   \r
76   ret void\r
77 }\r
78 \r
79 define void @ptrtoint(i32* %src){\r
80 entry:\r
81 ; CHECK: %res1 = ptrtoint i32* %src to i8\r
82   %res1 = ptrtoint i32* %src to i8\r
83   \r
84   ret void\r
85 }\r
86 \r
87 define void @inttoptr(i32 %src){\r
88 entry:\r
89 ; CHECK: %res1 = inttoptr i32 %src to i32*\r
90   %res1 = inttoptr i32 %src to i32*\r
91   \r
92   ret void\r
93 }\r
94 \r
95 define void @bitcast(i32 %src1, i32* %src2){\r
96 entry:\r
97 ; CHECK: %res1 = bitcast i32 %src1 to i32\r
98   %res1 = bitcast i32 %src1 to i32\r
99   \r
100 ; CHECK: %res2 = bitcast i32* %src2 to i64*\r
101   %res2 = bitcast i32* %src2 to i64*\r
102   \r
103   ret void\r
104 }