xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/2008-09-12-CoalescerBug.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc-apple-darwin
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker	%struct.CGLDI = type { %struct.cgli*, i32, i32, i32, i32, i32, i8*, i32, void (%struct.CGLSI*, i32, %struct.CGLDI*)*, i8*, %struct.vv_t }
4*9880d681SAndroid Build Coastguard Worker	%struct.cgli = type { i32, %struct.cgli*, void (%struct.cgli*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, i8*, i32*, %struct._cgro*, %struct._cgro*, float, float, float, float, i32, i8*, float, i8*, [16 x i32] }
5*9880d681SAndroid Build Coastguard Worker	%struct.CGLSI = type { %struct.cgli*, i32, i8*, i8*, i32, i32, i8*, void (%struct.cgli*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, %struct.vv_t, %struct.vv_t, %struct.xx_t* }
6*9880d681SAndroid Build Coastguard Worker	%struct._cgro = type opaque
7*9880d681SAndroid Build Coastguard Worker	%struct.xx_t = type { [3 x %struct.vv_t], [2 x %struct.vv_t], [2 x [3 x i8*]] }
8*9880d681SAndroid Build Coastguard Worker	%struct.vv_t = type { <16 x i8> }
9*9880d681SAndroid Build Coastguard Worker@llvm.used = appending global [1 x i8*] [ i8* bitcast (void (%struct.CGLSI*, i32, %struct.CGLDI*)* @lb to i8*) ], section "llvm.metadata"		; <[1 x i8*]*> [#uses=0]
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine void @lb(%struct.CGLSI* %src, i32 %n, %struct.CGLDI* %dst) nounwind {
12*9880d681SAndroid Build Coastguard Workerentry:
13*9880d681SAndroid Build Coastguard Worker	%0 = load i32, i32* null, align 4		; <i32> [#uses=1]
14*9880d681SAndroid Build Coastguard Worker	%1 = icmp sgt i32 %0, 0		; <i1> [#uses=1]
15*9880d681SAndroid Build Coastguard Worker	br i1 %1, label %bb.nph4945, label %return
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerbb.nph4945:		; preds = %entry
18*9880d681SAndroid Build Coastguard Worker	%2 = bitcast [2 x %struct.vv_t]* null to i64*		; <i64*> [#uses=6]
19*9880d681SAndroid Build Coastguard Worker	%3 = getelementptr [2 x i64], [2 x i64]* null, i32 0, i32 1		; <i64*> [#uses=6]
20*9880d681SAndroid Build Coastguard Worker	%4 = bitcast %struct.vv_t* null to i64*		; <i64*> [#uses=5]
21*9880d681SAndroid Build Coastguard Worker	%5 = getelementptr [2 x i64], [2 x i64]* null, i32 0, i32 1		; <i64*> [#uses=3]
22*9880d681SAndroid Build Coastguard Worker	br label %bb2326
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workerbb2217:		; preds = %bb2326
25*9880d681SAndroid Build Coastguard Worker	%6 = or i64 0, 0		; <i64> [#uses=2]
26*9880d681SAndroid Build Coastguard Worker	%7 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
27*9880d681SAndroid Build Coastguard Worker	%8 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
28*9880d681SAndroid Build Coastguard Worker	%9 = getelementptr float, float* null, i32 2		; <float*> [#uses=1]
29*9880d681SAndroid Build Coastguard Worker	%10 = load float, float* %9, align 4		; <float> [#uses=1]
30*9880d681SAndroid Build Coastguard Worker	%11 = getelementptr float, float* null, i32 3		; <float*> [#uses=1]
31*9880d681SAndroid Build Coastguard Worker	%12 = load float, float* %11, align 4		; <float> [#uses=1]
32*9880d681SAndroid Build Coastguard Worker	%13 = fmul float %10, 6.553500e+04		; <float> [#uses=1]
33*9880d681SAndroid Build Coastguard Worker	%14 = fadd float %13, 5.000000e-01		; <float> [#uses=1]
34*9880d681SAndroid Build Coastguard Worker	%15 = fmul float %12, 6.553500e+04		; <float> [#uses=1]
35*9880d681SAndroid Build Coastguard Worker	%16 = fadd float %15, 5.000000e-01		; <float> [#uses=3]
36*9880d681SAndroid Build Coastguard Worker	%17 = fcmp olt float %14, 0.000000e+00		; <i1> [#uses=0]
37*9880d681SAndroid Build Coastguard Worker	%18 = fcmp olt float %16, 0.000000e+00		; <i1> [#uses=1]
38*9880d681SAndroid Build Coastguard Worker	br i1 %18, label %bb2265, label %bb2262
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workerbb2262:		; preds = %bb2217
41*9880d681SAndroid Build Coastguard Worker	%19 = fcmp ogt float %16, 6.553500e+04		; <i1> [#uses=1]
42*9880d681SAndroid Build Coastguard Worker	br i1 %19, label %bb2264, label %bb2265
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Workerbb2264:		; preds = %bb2262
45*9880d681SAndroid Build Coastguard Worker	br label %bb2265
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerbb2265:		; preds = %bb2264, %bb2262, %bb2217
48*9880d681SAndroid Build Coastguard Worker	%f3596.0 = phi float [ 6.553500e+04, %bb2264 ], [ 0.000000e+00, %bb2217 ], [ %16, %bb2262 ]		; <float> [#uses=1]
49*9880d681SAndroid Build Coastguard Worker	%20 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
50*9880d681SAndroid Build Coastguard Worker	%21 = fptosi float %f3596.0 to i32		; <i32> [#uses=1]
51*9880d681SAndroid Build Coastguard Worker	%22 = zext i32 %7 to i64		; <i64> [#uses=1]
52*9880d681SAndroid Build Coastguard Worker	%23 = shl i64 %22, 48		; <i64> [#uses=1]
53*9880d681SAndroid Build Coastguard Worker	%24 = zext i32 %8 to i64		; <i64> [#uses=1]
54*9880d681SAndroid Build Coastguard Worker	%25 = shl i64 %24, 32		; <i64> [#uses=1]
55*9880d681SAndroid Build Coastguard Worker	%26 = sext i32 %20 to i64		; <i64> [#uses=1]
56*9880d681SAndroid Build Coastguard Worker	%27 = shl i64 %26, 16		; <i64> [#uses=1]
57*9880d681SAndroid Build Coastguard Worker	%28 = sext i32 %21 to i64		; <i64> [#uses=1]
58*9880d681SAndroid Build Coastguard Worker	%29 = or i64 %25, %23		; <i64> [#uses=1]
59*9880d681SAndroid Build Coastguard Worker	%30 = or i64 %29, %27		; <i64> [#uses=1]
60*9880d681SAndroid Build Coastguard Worker	%31 = or i64 %30, %28		; <i64> [#uses=2]
61*9880d681SAndroid Build Coastguard Worker	%32 = shl i64 %6, 48		; <i64> [#uses=1]
62*9880d681SAndroid Build Coastguard Worker	%33 = shl i64 %31, 32		; <i64> [#uses=1]
63*9880d681SAndroid Build Coastguard Worker	%34 = and i64 %33, 281470681743360		; <i64> [#uses=1]
64*9880d681SAndroid Build Coastguard Worker	store i64 %6, i64* %2, align 16
65*9880d681SAndroid Build Coastguard Worker	store i64 %31, i64* %3, align 8
66*9880d681SAndroid Build Coastguard Worker	%35 = getelementptr i8, i8* null, i32 0		; <i8*> [#uses=1]
67*9880d681SAndroid Build Coastguard Worker	%36 = bitcast i8* %35 to float*		; <float*> [#uses=4]
68*9880d681SAndroid Build Coastguard Worker	%37 = load float, float* %36, align 4		; <float> [#uses=1]
69*9880d681SAndroid Build Coastguard Worker	%38 = getelementptr float, float* %36, i32 1		; <float*> [#uses=1]
70*9880d681SAndroid Build Coastguard Worker	%39 = load float, float* %38, align 4		; <float> [#uses=1]
71*9880d681SAndroid Build Coastguard Worker	%40 = fmul float %37, 6.553500e+04		; <float> [#uses=1]
72*9880d681SAndroid Build Coastguard Worker	%41 = fadd float %40, 5.000000e-01		; <float> [#uses=1]
73*9880d681SAndroid Build Coastguard Worker	%42 = fmul float %39, 6.553500e+04		; <float> [#uses=1]
74*9880d681SAndroid Build Coastguard Worker	%43 = fadd float %42, 5.000000e-01		; <float> [#uses=3]
75*9880d681SAndroid Build Coastguard Worker	%44 = fcmp olt float %41, 0.000000e+00		; <i1> [#uses=0]
76*9880d681SAndroid Build Coastguard Worker	%45 = fcmp olt float %43, 0.000000e+00		; <i1> [#uses=1]
77*9880d681SAndroid Build Coastguard Worker	br i1 %45, label %bb2277, label %bb2274
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Workerbb2274:		; preds = %bb2265
80*9880d681SAndroid Build Coastguard Worker	%46 = fcmp ogt float %43, 6.553500e+04		; <i1> [#uses=0]
81*9880d681SAndroid Build Coastguard Worker	br label %bb2277
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Workerbb2277:		; preds = %bb2274, %bb2265
84*9880d681SAndroid Build Coastguard Worker	%f1582.0 = phi float [ 0.000000e+00, %bb2265 ], [ %43, %bb2274 ]		; <float> [#uses=1]
85*9880d681SAndroid Build Coastguard Worker	%47 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
86*9880d681SAndroid Build Coastguard Worker	%48 = fptosi float %f1582.0 to i32		; <i32> [#uses=1]
87*9880d681SAndroid Build Coastguard Worker	%49 = getelementptr float, float* %36, i32 2		; <float*> [#uses=1]
88*9880d681SAndroid Build Coastguard Worker	%50 = load float, float* %49, align 4		; <float> [#uses=1]
89*9880d681SAndroid Build Coastguard Worker	%51 = getelementptr float, float* %36, i32 3		; <float*> [#uses=1]
90*9880d681SAndroid Build Coastguard Worker	%52 = load float, float* %51, align 4		; <float> [#uses=1]
91*9880d681SAndroid Build Coastguard Worker	%53 = fmul float %50, 6.553500e+04		; <float> [#uses=1]
92*9880d681SAndroid Build Coastguard Worker	%54 = fadd float %53, 5.000000e-01		; <float> [#uses=1]
93*9880d681SAndroid Build Coastguard Worker	%55 = fmul float %52, 6.553500e+04		; <float> [#uses=1]
94*9880d681SAndroid Build Coastguard Worker	%56 = fadd float %55, 5.000000e-01		; <float> [#uses=1]
95*9880d681SAndroid Build Coastguard Worker	%57 = fcmp olt float %54, 0.000000e+00		; <i1> [#uses=0]
96*9880d681SAndroid Build Coastguard Worker	%58 = fcmp olt float %56, 0.000000e+00		; <i1> [#uses=0]
97*9880d681SAndroid Build Coastguard Worker	%59 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
98*9880d681SAndroid Build Coastguard Worker	%60 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
99*9880d681SAndroid Build Coastguard Worker	%61 = zext i32 %47 to i64		; <i64> [#uses=1]
100*9880d681SAndroid Build Coastguard Worker	%62 = shl i64 %61, 48		; <i64> [#uses=1]
101*9880d681SAndroid Build Coastguard Worker	%63 = zext i32 %48 to i64		; <i64> [#uses=1]
102*9880d681SAndroid Build Coastguard Worker	%64 = shl i64 %63, 32		; <i64> [#uses=1]
103*9880d681SAndroid Build Coastguard Worker	%65 = sext i32 %59 to i64		; <i64> [#uses=1]
104*9880d681SAndroid Build Coastguard Worker	%66 = shl i64 %65, 16		; <i64> [#uses=1]
105*9880d681SAndroid Build Coastguard Worker	%67 = sext i32 %60 to i64		; <i64> [#uses=1]
106*9880d681SAndroid Build Coastguard Worker	%68 = or i64 %64, %62		; <i64> [#uses=1]
107*9880d681SAndroid Build Coastguard Worker	%69 = or i64 %68, %66		; <i64> [#uses=1]
108*9880d681SAndroid Build Coastguard Worker	%70 = or i64 %69, %67		; <i64> [#uses=2]
109*9880d681SAndroid Build Coastguard Worker	%71 = getelementptr i8, i8* null, i32 0		; <i8*> [#uses=1]
110*9880d681SAndroid Build Coastguard Worker	%72 = bitcast i8* %71 to float*		; <float*> [#uses=4]
111*9880d681SAndroid Build Coastguard Worker	%73 = load float, float* %72, align 4		; <float> [#uses=1]
112*9880d681SAndroid Build Coastguard Worker	%74 = getelementptr float, float* %72, i32 1		; <float*> [#uses=1]
113*9880d681SAndroid Build Coastguard Worker	%75 = load float, float* %74, align 4		; <float> [#uses=1]
114*9880d681SAndroid Build Coastguard Worker	%76 = fmul float %73, 6.553500e+04		; <float> [#uses=1]
115*9880d681SAndroid Build Coastguard Worker	%77 = fadd float %76, 5.000000e-01		; <float> [#uses=3]
116*9880d681SAndroid Build Coastguard Worker	%78 = fmul float %75, 6.553500e+04		; <float> [#uses=1]
117*9880d681SAndroid Build Coastguard Worker	%79 = fadd float %78, 5.000000e-01		; <float> [#uses=1]
118*9880d681SAndroid Build Coastguard Worker	%80 = fcmp olt float %77, 0.000000e+00		; <i1> [#uses=1]
119*9880d681SAndroid Build Coastguard Worker	br i1 %80, label %bb2295, label %bb2292
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Workerbb2292:		; preds = %bb2277
122*9880d681SAndroid Build Coastguard Worker	%81 = fcmp ogt float %77, 6.553500e+04		; <i1> [#uses=1]
123*9880d681SAndroid Build Coastguard Worker	br i1 %81, label %bb2294, label %bb2295
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Workerbb2294:		; preds = %bb2292
126*9880d681SAndroid Build Coastguard Worker	br label %bb2295
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Workerbb2295:		; preds = %bb2294, %bb2292, %bb2277
129*9880d681SAndroid Build Coastguard Worker	%f0569.0 = phi float [ 6.553500e+04, %bb2294 ], [ 0.000000e+00, %bb2277 ], [ %77, %bb2292 ]		; <float> [#uses=1]
130*9880d681SAndroid Build Coastguard Worker	%82 = fcmp olt float %79, 0.000000e+00		; <i1> [#uses=0]
131*9880d681SAndroid Build Coastguard Worker	%83 = fptosi float %f0569.0 to i32		; <i32> [#uses=1]
132*9880d681SAndroid Build Coastguard Worker	%84 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
133*9880d681SAndroid Build Coastguard Worker	%85 = getelementptr float, float* %72, i32 2		; <float*> [#uses=1]
134*9880d681SAndroid Build Coastguard Worker	%86 = load float, float* %85, align 4		; <float> [#uses=1]
135*9880d681SAndroid Build Coastguard Worker	%87 = getelementptr float, float* %72, i32 3		; <float*> [#uses=1]
136*9880d681SAndroid Build Coastguard Worker	%88 = load float, float* %87, align 4		; <float> [#uses=1]
137*9880d681SAndroid Build Coastguard Worker	%89 = fmul float %86, 6.553500e+04		; <float> [#uses=1]
138*9880d681SAndroid Build Coastguard Worker	%90 = fadd float %89, 5.000000e-01		; <float> [#uses=1]
139*9880d681SAndroid Build Coastguard Worker	%91 = fmul float %88, 6.553500e+04		; <float> [#uses=1]
140*9880d681SAndroid Build Coastguard Worker	%92 = fadd float %91, 5.000000e-01		; <float> [#uses=1]
141*9880d681SAndroid Build Coastguard Worker	%93 = fcmp olt float %90, 0.000000e+00		; <i1> [#uses=0]
142*9880d681SAndroid Build Coastguard Worker	%94 = fcmp olt float %92, 0.000000e+00		; <i1> [#uses=0]
143*9880d681SAndroid Build Coastguard Worker	%95 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
144*9880d681SAndroid Build Coastguard Worker	%96 = fptosi float 0.000000e+00 to i32		; <i32> [#uses=1]
145*9880d681SAndroid Build Coastguard Worker	%97 = zext i32 %83 to i64		; <i64> [#uses=1]
146*9880d681SAndroid Build Coastguard Worker	%98 = shl i64 %97, 48		; <i64> [#uses=1]
147*9880d681SAndroid Build Coastguard Worker	%99 = zext i32 %84 to i64		; <i64> [#uses=1]
148*9880d681SAndroid Build Coastguard Worker	%100 = shl i64 %99, 32		; <i64> [#uses=1]
149*9880d681SAndroid Build Coastguard Worker	%101 = sext i32 %95 to i64		; <i64> [#uses=1]
150*9880d681SAndroid Build Coastguard Worker	%102 = shl i64 %101, 16		; <i64> [#uses=1]
151*9880d681SAndroid Build Coastguard Worker	%103 = sext i32 %96 to i64		; <i64> [#uses=1]
152*9880d681SAndroid Build Coastguard Worker	%104 = or i64 %100, %98		; <i64> [#uses=1]
153*9880d681SAndroid Build Coastguard Worker	%105 = or i64 %104, %102		; <i64> [#uses=1]
154*9880d681SAndroid Build Coastguard Worker	%106 = or i64 %105, %103		; <i64> [#uses=2]
155*9880d681SAndroid Build Coastguard Worker	%107 = shl i64 %70, 16		; <i64> [#uses=1]
156*9880d681SAndroid Build Coastguard Worker	%108 = and i64 %107, 4294901760		; <i64> [#uses=1]
157*9880d681SAndroid Build Coastguard Worker	%109 = and i64 %106, 65535		; <i64> [#uses=1]
158*9880d681SAndroid Build Coastguard Worker	%110 = or i64 %34, %32		; <i64> [#uses=1]
159*9880d681SAndroid Build Coastguard Worker	%111 = or i64 %110, %108		; <i64> [#uses=1]
160*9880d681SAndroid Build Coastguard Worker	%112 = or i64 %111, %109		; <i64> [#uses=1]
161*9880d681SAndroid Build Coastguard Worker	store i64 %70, i64* %4, align 16
162*9880d681SAndroid Build Coastguard Worker	store i64 %106, i64* %5, align 8
163*9880d681SAndroid Build Coastguard Worker	%113 = icmp eq i64 %112, 0		; <i1> [#uses=1]
164*9880d681SAndroid Build Coastguard Worker	br i1 %113, label %bb2325, label %bb2315
165*9880d681SAndroid Build Coastguard Worker
166*9880d681SAndroid Build Coastguard Workerbb2315:		; preds = %bb2295
167*9880d681SAndroid Build Coastguard Worker	%114 = icmp eq %struct.xx_t* %159, null		; <i1> [#uses=1]
168*9880d681SAndroid Build Coastguard Worker	br i1 %114, label %bb2318, label %bb2317
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Workerbb2317:		; preds = %bb2315
171*9880d681SAndroid Build Coastguard Worker	%115 = load i64, i64* %2, align 16		; <i64> [#uses=1]
172*9880d681SAndroid Build Coastguard Worker	%116 = call i32 (...) @_u16a_cm( i64 %115, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind		; <i32> [#uses=1]
173*9880d681SAndroid Build Coastguard Worker	%117 = sext i32 %116 to i64		; <i64> [#uses=1]
174*9880d681SAndroid Build Coastguard Worker	store i64 %117, i64* %2, align 16
175*9880d681SAndroid Build Coastguard Worker	%118 = load i64, i64* %3, align 8		; <i64> [#uses=1]
176*9880d681SAndroid Build Coastguard Worker	%119 = call i32 (...) @_u16a_cm( i64 %118, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind		; <i32> [#uses=1]
177*9880d681SAndroid Build Coastguard Worker	%120 = sext i32 %119 to i64		; <i64> [#uses=1]
178*9880d681SAndroid Build Coastguard Worker	store i64 %120, i64* %3, align 8
179*9880d681SAndroid Build Coastguard Worker	%121 = load i64, i64* %4, align 16		; <i64> [#uses=1]
180*9880d681SAndroid Build Coastguard Worker	%122 = call i32 (...) @_u16a_cm( i64 %121, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind		; <i32> [#uses=1]
181*9880d681SAndroid Build Coastguard Worker	%123 = sext i32 %122 to i64		; <i64> [#uses=1]
182*9880d681SAndroid Build Coastguard Worker	store i64 %123, i64* %4, align 16
183*9880d681SAndroid Build Coastguard Worker	%124 = load i64, i64* %5, align 8		; <i64> [#uses=1]
184*9880d681SAndroid Build Coastguard Worker	%125 = call i32 (...) @_u16a_cm( i64 %124, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind		; <i32> [#uses=0]
185*9880d681SAndroid Build Coastguard Worker	unreachable
186*9880d681SAndroid Build Coastguard Worker
187*9880d681SAndroid Build Coastguard Workerbb2318:		; preds = %bb2315
188*9880d681SAndroid Build Coastguard Worker	%126 = getelementptr %struct.CGLSI, %struct.CGLSI* %src, i32 %indvar5021, i32 8		; <%struct.vv_t*> [#uses=1]
189*9880d681SAndroid Build Coastguard Worker	%127 = bitcast %struct.vv_t* %126 to i64*		; <i64*> [#uses=1]
190*9880d681SAndroid Build Coastguard Worker	%128 = load i64, i64* %127, align 8		; <i64> [#uses=1]
191*9880d681SAndroid Build Coastguard Worker	%129 = trunc i64 %128 to i32		; <i32> [#uses=4]
192*9880d681SAndroid Build Coastguard Worker	%130 = load i64, i64* %2, align 16		; <i64> [#uses=1]
193*9880d681SAndroid Build Coastguard Worker	%131 = call i32 (...) @_u16_ff( i64 %130, i32 %129 ) nounwind		; <i32> [#uses=1]
194*9880d681SAndroid Build Coastguard Worker	%132 = sext i32 %131 to i64		; <i64> [#uses=1]
195*9880d681SAndroid Build Coastguard Worker	store i64 %132, i64* %2, align 16
196*9880d681SAndroid Build Coastguard Worker	%133 = load i64, i64* %3, align 8		; <i64> [#uses=1]
197*9880d681SAndroid Build Coastguard Worker	%134 = call i32 (...) @_u16_ff( i64 %133, i32 %129 ) nounwind		; <i32> [#uses=1]
198*9880d681SAndroid Build Coastguard Worker	%135 = sext i32 %134 to i64		; <i64> [#uses=1]
199*9880d681SAndroid Build Coastguard Worker	store i64 %135, i64* %3, align 8
200*9880d681SAndroid Build Coastguard Worker	%136 = load i64, i64* %4, align 16		; <i64> [#uses=1]
201*9880d681SAndroid Build Coastguard Worker	%137 = call i32 (...) @_u16_ff( i64 %136, i32 %129 ) nounwind		; <i32> [#uses=1]
202*9880d681SAndroid Build Coastguard Worker	%138 = sext i32 %137 to i64		; <i64> [#uses=1]
203*9880d681SAndroid Build Coastguard Worker	store i64 %138, i64* %4, align 16
204*9880d681SAndroid Build Coastguard Worker	%139 = load i64, i64* %5, align 8		; <i64> [#uses=1]
205*9880d681SAndroid Build Coastguard Worker	%140 = call i32 (...) @_u16_ff( i64 %139, i32 %129 ) nounwind		; <i32> [#uses=0]
206*9880d681SAndroid Build Coastguard Worker	unreachable
207*9880d681SAndroid Build Coastguard Worker
208*9880d681SAndroid Build Coastguard Workerbb2319:		; preds = %bb2326
209*9880d681SAndroid Build Coastguard Worker	%141 = getelementptr %struct.CGLSI, %struct.CGLSI* %src, i32 %indvar5021, i32 2		; <i8**> [#uses=1]
210*9880d681SAndroid Build Coastguard Worker	%142 = load i8*, i8** %141, align 4		; <i8*> [#uses=4]
211*9880d681SAndroid Build Coastguard Worker	%143 = getelementptr i8, i8* %142, i32 0		; <i8*> [#uses=1]
212*9880d681SAndroid Build Coastguard Worker	%144 = call i32 (...) @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %143 ) nounwind		; <i32> [#uses=1]
213*9880d681SAndroid Build Coastguard Worker	%145 = sext i32 %144 to i64		; <i64> [#uses=2]
214*9880d681SAndroid Build Coastguard Worker	%146 = getelementptr i8, i8* %142, i32 0		; <i8*> [#uses=1]
215*9880d681SAndroid Build Coastguard Worker	%147 = call i32 (...) @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %146 ) nounwind		; <i32> [#uses=1]
216*9880d681SAndroid Build Coastguard Worker	%148 = sext i32 %147 to i64		; <i64> [#uses=2]
217*9880d681SAndroid Build Coastguard Worker	%149 = shl i64 %145, 48		; <i64> [#uses=0]
218*9880d681SAndroid Build Coastguard Worker	%150 = shl i64 %148, 32		; <i64> [#uses=1]
219*9880d681SAndroid Build Coastguard Worker	%151 = and i64 %150, 281470681743360		; <i64> [#uses=0]
220*9880d681SAndroid Build Coastguard Worker	store i64 %145, i64* %2, align 16
221*9880d681SAndroid Build Coastguard Worker	store i64 %148, i64* %3, align 8
222*9880d681SAndroid Build Coastguard Worker	%152 = getelementptr i8, i8* %142, i32 0		; <i8*> [#uses=1]
223*9880d681SAndroid Build Coastguard Worker	%153 = call i32 (...) @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %152 ) nounwind		; <i32> [#uses=1]
224*9880d681SAndroid Build Coastguard Worker	%154 = sext i32 %153 to i64		; <i64> [#uses=0]
225*9880d681SAndroid Build Coastguard Worker	%155 = getelementptr i8, i8* %142, i32 0		; <i8*> [#uses=1]
226*9880d681SAndroid Build Coastguard Worker	%156 = call i32 (...) @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %155 ) nounwind		; <i32> [#uses=0]
227*9880d681SAndroid Build Coastguard Worker	unreachable
228*9880d681SAndroid Build Coastguard Worker
229*9880d681SAndroid Build Coastguard Workerbb2325:		; preds = %bb2326, %bb2295
230*9880d681SAndroid Build Coastguard Worker	%indvar.next5145 = add i32 %indvar5021, 1		; <i32> [#uses=1]
231*9880d681SAndroid Build Coastguard Worker	br label %bb2326
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Workerbb2326:		; preds = %bb2325, %bb.nph4945
234*9880d681SAndroid Build Coastguard Worker	%indvar5021 = phi i32 [ 0, %bb.nph4945 ], [ %indvar.next5145, %bb2325 ]		; <i32> [#uses=6]
235*9880d681SAndroid Build Coastguard Worker	%157 = icmp slt i32 %indvar5021, %n		; <i1> [#uses=0]
236*9880d681SAndroid Build Coastguard Worker	%158 = getelementptr %struct.CGLSI, %struct.CGLSI* %src, i32 %indvar5021, i32 10		; <%struct.xx_t**> [#uses=1]
237*9880d681SAndroid Build Coastguard Worker	%159 = load %struct.xx_t*, %struct.xx_t** %158, align 4		; <%struct.xx_t*> [#uses=5]
238*9880d681SAndroid Build Coastguard Worker	%160 = getelementptr %struct.CGLSI, %struct.CGLSI* %src, i32 %indvar5021, i32 1		; <i32*> [#uses=1]
239*9880d681SAndroid Build Coastguard Worker	%161 = load i32, i32* %160, align 4		; <i32> [#uses=1]
240*9880d681SAndroid Build Coastguard Worker	%162 = and i32 %161, 255		; <i32> [#uses=1]
241*9880d681SAndroid Build Coastguard Worker	switch i32 %162, label %bb2325 [
242*9880d681SAndroid Build Coastguard Worker		 i32 59, label %bb2217
243*9880d681SAndroid Build Coastguard Worker		 i32 60, label %bb2319
244*9880d681SAndroid Build Coastguard Worker	]
245*9880d681SAndroid Build Coastguard Worker
246*9880d681SAndroid Build Coastguard Workerreturn:		; preds = %entry
247*9880d681SAndroid Build Coastguard Worker	ret void
248*9880d681SAndroid Build Coastguard Worker}
249*9880d681SAndroid Build Coastguard Worker
250*9880d681SAndroid Build Coastguard Workerdeclare i32 @_u16_ff(...)
251*9880d681SAndroid Build Coastguard Worker
252*9880d681SAndroid Build Coastguard Workerdeclare i32 @_u16a_cm(...)
253*9880d681SAndroid Build Coastguard Worker
254*9880d681SAndroid Build Coastguard Workerdeclare i32 @_u16_sf32(...)
255