xref: /aosp_15_r20/external/llvm/test/Bitcode/conversionInstructions.3.2.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN:  llvm-dis < %s.bc| FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; conversionInstructions.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
4*9880d681SAndroid Build Coastguard Worker; The test checks that LLVM does not misread conversion instructions from
5*9880d681SAndroid Build Coastguard Worker; older bitcode files.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine void @trunc(i32 %src){
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = trunc i32 %src to i8
10*9880d681SAndroid Build Coastguard Worker  %res1 = trunc i32 %src to i8
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker  ret void
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdefine void @zext(i32 %src){
16*9880d681SAndroid Build Coastguard Workerentry:
17*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = zext i32 %src to i64
18*9880d681SAndroid Build Coastguard Worker  %res1 = zext i32 %src to i64
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker  ret void
21*9880d681SAndroid Build Coastguard Worker}
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Workerdefine void @sext(i32 %src){
24*9880d681SAndroid Build Coastguard Workerentry:
25*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = sext i32 %src to i64
26*9880d681SAndroid Build Coastguard Worker  %res1 = sext i32 %src to i64
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker  ret void
29*9880d681SAndroid Build Coastguard Worker}
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerdefine void @fptrunc(double %src){
32*9880d681SAndroid Build Coastguard Workerentry:
33*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptrunc double %src to float
34*9880d681SAndroid Build Coastguard Worker  %res1 = fptrunc double %src to float
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker  ret void
37*9880d681SAndroid Build Coastguard Worker}
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerdefine void @fpext(float %src){
40*9880d681SAndroid Build Coastguard Workerentry:
41*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fpext float %src to double
42*9880d681SAndroid Build Coastguard Worker  %res1 = fpext float %src to double
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker  ret void
45*9880d681SAndroid Build Coastguard Worker}
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerdefine void @fptoui(float %src){
48*9880d681SAndroid Build Coastguard Workerentry:
49*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptoui float %src to i32
50*9880d681SAndroid Build Coastguard Worker  %res1 = fptoui float %src to i32
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker  ret void
53*9880d681SAndroid Build Coastguard Worker}
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Workerdefine void @fptosi(float %src){
56*9880d681SAndroid Build Coastguard Workerentry:
57*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptosi float %src to i32
58*9880d681SAndroid Build Coastguard Worker  %res1 = fptosi float %src to i32
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker  ret void
61*9880d681SAndroid Build Coastguard Worker}
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Workerdefine void @uitofp(i32 %src){
64*9880d681SAndroid Build Coastguard Workerentry:
65*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = uitofp i32 %src to float
66*9880d681SAndroid Build Coastguard Worker  %res1 = uitofp i32 %src to float
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker  ret void
69*9880d681SAndroid Build Coastguard Worker}
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Workerdefine void @sitofp(i32 %src){
72*9880d681SAndroid Build Coastguard Workerentry:
73*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = sitofp i32 %src to float
74*9880d681SAndroid Build Coastguard Worker  %res1 = sitofp i32 %src to float
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Worker  ret void
77*9880d681SAndroid Build Coastguard Worker}
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Workerdefine void @ptrtoint(i32* %src){
80*9880d681SAndroid Build Coastguard Workerentry:
81*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = ptrtoint i32* %src to i8
82*9880d681SAndroid Build Coastguard Worker  %res1 = ptrtoint i32* %src to i8
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Worker  ret void
85*9880d681SAndroid Build Coastguard Worker}
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerdefine void @inttoptr(i32 %src){
88*9880d681SAndroid Build Coastguard Workerentry:
89*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = inttoptr i32 %src to i32*
90*9880d681SAndroid Build Coastguard Worker  %res1 = inttoptr i32 %src to i32*
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Worker  ret void
93*9880d681SAndroid Build Coastguard Worker}
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Workerdefine void @bitcast(i32 %src1, i32* %src2){
96*9880d681SAndroid Build Coastguard Workerentry:
97*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = bitcast i32 %src1 to i32
98*9880d681SAndroid Build Coastguard Worker  %res1 = bitcast i32 %src1 to i32
99*9880d681SAndroid Build Coastguard Worker
100*9880d681SAndroid Build Coastguard Worker; CHECK: %res2 = bitcast i32* %src2 to i64*
101*9880d681SAndroid Build Coastguard Worker  %res2 = bitcast i32* %src2 to i64*
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker  ret void
104*9880d681SAndroid Build Coastguard Worker}
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Workerdefine void @ptrtointInstr(i32* %ptr, <4 x i32*> %vecPtr){
107*9880d681SAndroid Build Coastguard Workerentry:
108*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = ptrtoint i32* %ptr to i8
109*9880d681SAndroid Build Coastguard Worker  %res1 = ptrtoint i32* %ptr to i8
110*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %res2 = ptrtoint <4 x i32*> %vecPtr to <4 x i64>
111*9880d681SAndroid Build Coastguard Worker  %res2 = ptrtoint <4 x i32*> %vecPtr to <4 x i64>
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker  ret void
114*9880d681SAndroid Build Coastguard Worker}
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Workerdefine void @inttoptrInstr(i32 %x, <4 x i32> %vec){
117*9880d681SAndroid Build Coastguard Workerentry:
118*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = inttoptr i32 %x to i64*
119*9880d681SAndroid Build Coastguard Worker  %res1 = inttoptr i32 %x to i64*
120*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: inttoptr <4 x i32> %vec to <4 x i8*>
121*9880d681SAndroid Build Coastguard Worker  %res2 = inttoptr <4 x i32> %vec to <4 x i8*>
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker  ret void
124*9880d681SAndroid Build Coastguard Worker}
125