1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=nvptx64 -mcpu=sm_35 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-i64:64-v16:16-v32:32-n16:32:64" 4*9880d681SAndroid Build Coastguard Workertarget triple = "nvptx64-unknown-unknown" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine void @PR24303(float* %f) { 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: .visible .entry PR24303( 8*9880d681SAndroid Build Coastguard Worker; Do not use mov.f or mov.u to convert between float and int. 9*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: mov.{{f|u}}{{32|64}} %f{{[0-9]+}}, %r{{[0-9]+}} 10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: mov.{{f|u}}{{32|64}} %r{{[0-9]+}}, %f{{[0-9]+}} 11*9880d681SAndroid Build Coastguard Workerentry: 12*9880d681SAndroid Build Coastguard Worker %arrayidx1 = getelementptr inbounds float, float* %f, i64 1 13*9880d681SAndroid Build Coastguard Worker %0 = load float, float* %f, align 4 14*9880d681SAndroid Build Coastguard Worker %1 = load float, float* %arrayidx1, align 4 15*9880d681SAndroid Build Coastguard Worker %arrayidx2 = getelementptr inbounds float, float* %f, i64 2 16*9880d681SAndroid Build Coastguard Worker %arrayidx3 = getelementptr inbounds float, float* %f, i64 3 17*9880d681SAndroid Build Coastguard Worker %2 = load float, float* %arrayidx2, align 4 18*9880d681SAndroid Build Coastguard Worker %3 = load float, float* %arrayidx3, align 4 19*9880d681SAndroid Build Coastguard Worker %mul.i = fmul float %0, %2 20*9880d681SAndroid Build Coastguard Worker %mul4.i = fmul float %1, %3 21*9880d681SAndroid Build Coastguard Worker %mul5.i = fmul float %0, %3 22*9880d681SAndroid Build Coastguard Worker %mul6.i = fmul float %1, %2 23*9880d681SAndroid Build Coastguard Worker %sub.i = fsub float %mul.i, %mul4.i 24*9880d681SAndroid Build Coastguard Worker %4 = bitcast float %sub.i to i32 25*9880d681SAndroid Build Coastguard Worker %add.i = fadd float %mul6.i, %mul5.i 26*9880d681SAndroid Build Coastguard Worker %5 = bitcast float %add.i to i32 27*9880d681SAndroid Build Coastguard Worker %6 = tail call float @llvm.nvvm.fabs.f(float %sub.i) #2 28*9880d681SAndroid Build Coastguard Worker %7 = fcmp ugt float %6, 0x7FF0000000000000 29*9880d681SAndroid Build Coastguard Worker br i1 %7, label %land.lhs.true.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerland.lhs.true.i: ; preds = %entry 32*9880d681SAndroid Build Coastguard Worker %8 = tail call float @llvm.nvvm.fabs.f(float %add.i) #2 33*9880d681SAndroid Build Coastguard Worker %9 = fcmp ugt float %8, 0x7FF0000000000000 34*9880d681SAndroid Build Coastguard Worker br i1 %9, label %if.then.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerif.then.i: ; preds = %land.lhs.true.i 37*9880d681SAndroid Build Coastguard Worker %10 = tail call float @llvm.nvvm.fabs.f(float %0) #2 38*9880d681SAndroid Build Coastguard Worker %11 = fcmp oeq float %10, 0x7FF0000000000000 39*9880d681SAndroid Build Coastguard Worker %.pre.i = tail call float @llvm.nvvm.fabs.f(float %1) #2 40*9880d681SAndroid Build Coastguard Worker %12 = fcmp oeq float %.pre.i, 0x7FF0000000000000 41*9880d681SAndroid Build Coastguard Worker %or.cond.i = or i1 %11, %12 42*9880d681SAndroid Build Coastguard Worker br i1 %or.cond.i, label %if.then.14.i, label %if.end.31.i 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Workerif.then.14.i: ; preds = %if.then.i 45*9880d681SAndroid Build Coastguard Worker %13 = bitcast float %0 to i32 46*9880d681SAndroid Build Coastguard Worker %14 = and i32 %13, -2147483648 47*9880d681SAndroid Build Coastguard Worker %15 = select i1 %11, i32 1065353216, i32 0 48*9880d681SAndroid Build Coastguard Worker %16 = or i32 %15, %14 49*9880d681SAndroid Build Coastguard Worker %17 = bitcast i32 %16 to float 50*9880d681SAndroid Build Coastguard Worker %18 = bitcast float %1 to i32 51*9880d681SAndroid Build Coastguard Worker %19 = and i32 %18, -2147483648 52*9880d681SAndroid Build Coastguard Worker %20 = select i1 %12, i32 1065353216, i32 0 53*9880d681SAndroid Build Coastguard Worker %21 = or i32 %20, %19 54*9880d681SAndroid Build Coastguard Worker %22 = bitcast i32 %21 to float 55*9880d681SAndroid Build Coastguard Worker %23 = tail call float @llvm.nvvm.fabs.f(float %2) #2 56*9880d681SAndroid Build Coastguard Worker %24 = fcmp ugt float %23, 0x7FF0000000000000 57*9880d681SAndroid Build Coastguard Worker br i1 %24, label %if.then.24.i, label %if.end.i 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Workerif.then.24.i: ; preds = %if.then.14.i 60*9880d681SAndroid Build Coastguard Worker %25 = bitcast float %2 to i32 61*9880d681SAndroid Build Coastguard Worker %26 = and i32 %25, -2147483648 62*9880d681SAndroid Build Coastguard Worker %27 = bitcast i32 %26 to float 63*9880d681SAndroid Build Coastguard Worker br label %if.end.i 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Workerif.end.i: ; preds = %if.then.24.i, %if.then.14.i 66*9880d681SAndroid Build Coastguard Worker %__c.0.i = phi float [ %27, %if.then.24.i ], [ %2, %if.then.14.i ] 67*9880d681SAndroid Build Coastguard Worker %28 = tail call float @llvm.nvvm.fabs.f(float %3) #2 68*9880d681SAndroid Build Coastguard Worker %29 = fcmp ugt float %28, 0x7FF0000000000000 69*9880d681SAndroid Build Coastguard Worker br i1 %29, label %if.then.28.i, label %if.end.31.i 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Workerif.then.28.i: ; preds = %if.end.i 72*9880d681SAndroid Build Coastguard Worker %30 = bitcast float %3 to i32 73*9880d681SAndroid Build Coastguard Worker %31 = and i32 %30, -2147483648 74*9880d681SAndroid Build Coastguard Worker %32 = bitcast i32 %31 to float 75*9880d681SAndroid Build Coastguard Worker br label %if.end.31.i 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Workerif.end.31.i: ; preds = %if.then.28.i, %if.end.i, %if.then.i 78*9880d681SAndroid Build Coastguard Worker %__d.1.i = phi float [ %32, %if.then.28.i ], [ %3, %if.end.i ], [ %3, %if.then.i ] 79*9880d681SAndroid Build Coastguard Worker %__c.1.i = phi float [ %__c.0.i, %if.then.28.i ], [ %__c.0.i, %if.end.i ], [ %2, %if.then.i ] 80*9880d681SAndroid Build Coastguard Worker %__b.0.i = phi float [ %22, %if.then.28.i ], [ %22, %if.end.i ], [ %1, %if.then.i ] 81*9880d681SAndroid Build Coastguard Worker %__a.0.i = phi float [ %17, %if.then.28.i ], [ %17, %if.end.i ], [ %0, %if.then.i ] 82*9880d681SAndroid Build Coastguard Worker %__recalc.0.off0.i = phi i1 [ true, %if.then.28.i ], [ true, %if.end.i ], [ false, %if.then.i ] 83*9880d681SAndroid Build Coastguard Worker %33 = tail call float @llvm.nvvm.fabs.f(float %__c.1.i) #2 84*9880d681SAndroid Build Coastguard Worker %34 = fcmp oeq float %33, 0x7FF0000000000000 85*9880d681SAndroid Build Coastguard Worker %.pre6.i = tail call float @llvm.nvvm.fabs.f(float %__d.1.i) #2 86*9880d681SAndroid Build Coastguard Worker %35 = fcmp oeq float %.pre6.i, 0x7FF0000000000000 87*9880d681SAndroid Build Coastguard Worker %or.cond8.i = or i1 %34, %35 88*9880d681SAndroid Build Coastguard Worker br i1 %or.cond8.i, label %if.then.37.i, label %if.end.56.i 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workerif.then.37.i: ; preds = %if.end.31.i 91*9880d681SAndroid Build Coastguard Worker %36 = bitcast float %__c.1.i to i32 92*9880d681SAndroid Build Coastguard Worker %37 = and i32 %36, -2147483648 93*9880d681SAndroid Build Coastguard Worker %38 = select i1 %34, i32 1065353216, i32 0 94*9880d681SAndroid Build Coastguard Worker %39 = or i32 %38, %37 95*9880d681SAndroid Build Coastguard Worker %40 = bitcast i32 %39 to float 96*9880d681SAndroid Build Coastguard Worker %41 = bitcast float %__d.1.i to i32 97*9880d681SAndroid Build Coastguard Worker %42 = and i32 %41, -2147483648 98*9880d681SAndroid Build Coastguard Worker %43 = select i1 %35, i32 1065353216, i32 0 99*9880d681SAndroid Build Coastguard Worker %44 = or i32 %43, %42 100*9880d681SAndroid Build Coastguard Worker %45 = bitcast i32 %44 to float 101*9880d681SAndroid Build Coastguard Worker %46 = tail call float @llvm.nvvm.fabs.f(float %__a.0.i) #2 102*9880d681SAndroid Build Coastguard Worker %47 = fcmp ugt float %46, 0x7FF0000000000000 103*9880d681SAndroid Build Coastguard Worker br i1 %47, label %if.then.48.i, label %if.end.50.i 104*9880d681SAndroid Build Coastguard Worker 105*9880d681SAndroid Build Coastguard Workerif.then.48.i: ; preds = %if.then.37.i 106*9880d681SAndroid Build Coastguard Worker %48 = bitcast float %__a.0.i to i32 107*9880d681SAndroid Build Coastguard Worker %49 = and i32 %48, -2147483648 108*9880d681SAndroid Build Coastguard Worker %50 = bitcast i32 %49 to float 109*9880d681SAndroid Build Coastguard Worker br label %if.end.50.i 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Workerif.end.50.i: ; preds = %if.then.48.i, %if.then.37.i 112*9880d681SAndroid Build Coastguard Worker %__a.1.i = phi float [ %50, %if.then.48.i ], [ %__a.0.i, %if.then.37.i ] 113*9880d681SAndroid Build Coastguard Worker %51 = tail call float @llvm.nvvm.fabs.f(float %__b.0.i) #2 114*9880d681SAndroid Build Coastguard Worker %52 = fcmp ugt float %51, 0x7FF0000000000000 115*9880d681SAndroid Build Coastguard Worker br i1 %52, label %if.then.53.i, label %if.then.93.i 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Workerif.then.53.i: ; preds = %if.end.50.i 118*9880d681SAndroid Build Coastguard Worker %53 = bitcast float %__b.0.i to i32 119*9880d681SAndroid Build Coastguard Worker %54 = and i32 %53, -2147483648 120*9880d681SAndroid Build Coastguard Worker %55 = bitcast i32 %54 to float 121*9880d681SAndroid Build Coastguard Worker br label %if.then.93.i 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Workerif.end.56.i: ; preds = %if.end.31.i 124*9880d681SAndroid Build Coastguard Worker br i1 %__recalc.0.off0.i, label %if.then.93.i, label %land.lhs.true.58.i 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Workerland.lhs.true.58.i: ; preds = %if.end.56.i 127*9880d681SAndroid Build Coastguard Worker %56 = tail call float @llvm.nvvm.fabs.f(float %mul.i) #2 128*9880d681SAndroid Build Coastguard Worker %57 = fcmp oeq float %56, 0x7FF0000000000000 129*9880d681SAndroid Build Coastguard Worker br i1 %57, label %if.then.70.i, label %lor.lhs.false.61.i 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Workerlor.lhs.false.61.i: ; preds = %land.lhs.true.58.i 132*9880d681SAndroid Build Coastguard Worker %58 = tail call float @llvm.nvvm.fabs.f(float %mul4.i) #2 133*9880d681SAndroid Build Coastguard Worker %59 = fcmp oeq float %58, 0x7FF0000000000000 134*9880d681SAndroid Build Coastguard Worker br i1 %59, label %if.then.70.i, label %lor.lhs.false.64.i 135*9880d681SAndroid Build Coastguard Worker 136*9880d681SAndroid Build Coastguard Workerlor.lhs.false.64.i: ; preds = %lor.lhs.false.61.i 137*9880d681SAndroid Build Coastguard Worker %60 = tail call float @llvm.nvvm.fabs.f(float %mul5.i) #2 138*9880d681SAndroid Build Coastguard Worker %61 = fcmp oeq float %60, 0x7FF0000000000000 139*9880d681SAndroid Build Coastguard Worker br i1 %61, label %if.then.70.i, label %lor.lhs.false.67.i 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Workerlor.lhs.false.67.i: ; preds = %lor.lhs.false.64.i 142*9880d681SAndroid Build Coastguard Worker %62 = tail call float @llvm.nvvm.fabs.f(float %mul6.i) #2 143*9880d681SAndroid Build Coastguard Worker %63 = fcmp oeq float %62, 0x7FF0000000000000 144*9880d681SAndroid Build Coastguard Worker br i1 %63, label %if.then.70.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Workerif.then.70.i: ; preds = %lor.lhs.false.67.i, %lor.lhs.false.64.i, %lor.lhs.false.61.i, %land.lhs.true.58.i 147*9880d681SAndroid Build Coastguard Worker %64 = tail call float @llvm.nvvm.fabs.f(float %__a.0.i) #2 148*9880d681SAndroid Build Coastguard Worker %65 = fcmp ugt float %64, 0x7FF0000000000000 149*9880d681SAndroid Build Coastguard Worker br i1 %65, label %if.then.73.i, label %if.end.75.i 150*9880d681SAndroid Build Coastguard Worker 151*9880d681SAndroid Build Coastguard Workerif.then.73.i: ; preds = %if.then.70.i 152*9880d681SAndroid Build Coastguard Worker %66 = bitcast float %__a.0.i to i32 153*9880d681SAndroid Build Coastguard Worker %67 = and i32 %66, -2147483648 154*9880d681SAndroid Build Coastguard Worker %68 = bitcast i32 %67 to float 155*9880d681SAndroid Build Coastguard Worker br label %if.end.75.i 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Workerif.end.75.i: ; preds = %if.then.73.i, %if.then.70.i 158*9880d681SAndroid Build Coastguard Worker %__a.3.i = phi float [ %68, %if.then.73.i ], [ %__a.0.i, %if.then.70.i ] 159*9880d681SAndroid Build Coastguard Worker %69 = tail call float @llvm.nvvm.fabs.f(float %__b.0.i) #2 160*9880d681SAndroid Build Coastguard Worker %70 = fcmp ugt float %69, 0x7FF0000000000000 161*9880d681SAndroid Build Coastguard Worker br i1 %70, label %if.then.78.i, label %if.end.80.i 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Workerif.then.78.i: ; preds = %if.end.75.i 164*9880d681SAndroid Build Coastguard Worker %71 = bitcast float %__b.0.i to i32 165*9880d681SAndroid Build Coastguard Worker %72 = and i32 %71, -2147483648 166*9880d681SAndroid Build Coastguard Worker %73 = bitcast i32 %72 to float 167*9880d681SAndroid Build Coastguard Worker br label %if.end.80.i 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Workerif.end.80.i: ; preds = %if.then.78.i, %if.end.75.i 170*9880d681SAndroid Build Coastguard Worker %__b.3.i = phi float [ %73, %if.then.78.i ], [ %__b.0.i, %if.end.75.i ] 171*9880d681SAndroid Build Coastguard Worker %74 = fcmp ugt float %33, 0x7FF0000000000000 172*9880d681SAndroid Build Coastguard Worker br i1 %74, label %if.then.83.i, label %if.end.85.i 173*9880d681SAndroid Build Coastguard Worker 174*9880d681SAndroid Build Coastguard Workerif.then.83.i: ; preds = %if.end.80.i 175*9880d681SAndroid Build Coastguard Worker %75 = bitcast float %__c.1.i to i32 176*9880d681SAndroid Build Coastguard Worker %76 = and i32 %75, -2147483648 177*9880d681SAndroid Build Coastguard Worker %77 = bitcast i32 %76 to float 178*9880d681SAndroid Build Coastguard Worker br label %if.end.85.i 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Workerif.end.85.i: ; preds = %if.then.83.i, %if.end.80.i 181*9880d681SAndroid Build Coastguard Worker %__c.3.i = phi float [ %77, %if.then.83.i ], [ %__c.1.i, %if.end.80.i ] 182*9880d681SAndroid Build Coastguard Worker %78 = fcmp ugt float %.pre6.i, 0x7FF0000000000000 183*9880d681SAndroid Build Coastguard Worker br i1 %78, label %if.then.88.i, label %if.then.93.i 184*9880d681SAndroid Build Coastguard Worker 185*9880d681SAndroid Build Coastguard Workerif.then.88.i: ; preds = %if.end.85.i 186*9880d681SAndroid Build Coastguard Worker %79 = bitcast float %__d.1.i to i32 187*9880d681SAndroid Build Coastguard Worker %80 = and i32 %79, -2147483648 188*9880d681SAndroid Build Coastguard Worker %81 = bitcast i32 %80 to float 189*9880d681SAndroid Build Coastguard Worker br label %if.then.93.i 190*9880d681SAndroid Build Coastguard Worker 191*9880d681SAndroid Build Coastguard Workerif.then.93.i: ; preds = %if.then.88.i, %if.end.85.i, %if.end.56.i, %if.then.53.i, %if.end.50.i 192*9880d681SAndroid Build Coastguard Worker %__d.4.ph.i = phi float [ %__d.1.i, %if.end.85.i ], [ %81, %if.then.88.i ], [ %__d.1.i, %if.end.56.i ], [ %45, %if.end.50.i ], [ %45, %if.then.53.i ] 193*9880d681SAndroid Build Coastguard Worker %__c.4.ph.i = phi float [ %__c.3.i, %if.end.85.i ], [ %__c.3.i, %if.then.88.i ], [ %__c.1.i, %if.end.56.i ], [ %40, %if.end.50.i ], [ %40, %if.then.53.i ] 194*9880d681SAndroid Build Coastguard Worker %__b.4.ph.i = phi float [ %__b.3.i, %if.end.85.i ], [ %__b.3.i, %if.then.88.i ], [ %__b.0.i, %if.end.56.i ], [ %__b.0.i, %if.end.50.i ], [ %55, %if.then.53.i ] 195*9880d681SAndroid Build Coastguard Worker %__a.4.ph.i = phi float [ %__a.3.i, %if.end.85.i ], [ %__a.3.i, %if.then.88.i ], [ %__a.0.i, %if.end.56.i ], [ %__a.1.i, %if.end.50.i ], [ %__a.1.i, %if.then.53.i ] 196*9880d681SAndroid Build Coastguard Worker %mul95.i = fmul float %__c.4.ph.i, %__a.4.ph.i 197*9880d681SAndroid Build Coastguard Worker %mul96.i = fmul float %__d.4.ph.i, %__b.4.ph.i 198*9880d681SAndroid Build Coastguard Worker %sub97.i = fsub float %mul95.i, %mul96.i 199*9880d681SAndroid Build Coastguard Worker %mul98.i = fmul float %sub97.i, 0x7FF0000000000000 200*9880d681SAndroid Build Coastguard Worker %82 = bitcast float %mul98.i to i32 201*9880d681SAndroid Build Coastguard Worker %mul100.i = fmul float %__d.4.ph.i, %__a.4.ph.i 202*9880d681SAndroid Build Coastguard Worker %mul101.i = fmul float %__c.4.ph.i, %__b.4.ph.i 203*9880d681SAndroid Build Coastguard Worker %add102.i = fadd float %mul101.i, %mul100.i 204*9880d681SAndroid Build Coastguard Worker %mul103.i = fmul float %add102.i, 0x7FF0000000000000 205*9880d681SAndroid Build Coastguard Worker %83 = bitcast float %mul103.i to i32 206*9880d681SAndroid Build Coastguard Worker br label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit 207*9880d681SAndroid Build Coastguard Worker 208*9880d681SAndroid Build Coastguard Worker_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit: ; preds = %if.then.93.i, %lor.lhs.false.67.i, %land.lhs.true.i, %entry 209*9880d681SAndroid Build Coastguard Worker %84 = phi i32 [ %4, %land.lhs.true.i ], [ %4, %entry ], [ %82, %if.then.93.i ], [ %4, %lor.lhs.false.67.i ] 210*9880d681SAndroid Build Coastguard Worker %85 = phi i32 [ %5, %land.lhs.true.i ], [ %5, %entry ], [ %83, %if.then.93.i ], [ %5, %lor.lhs.false.67.i ] 211*9880d681SAndroid Build Coastguard Worker %arrayidx5 = getelementptr inbounds float, float* %f, i64 5 212*9880d681SAndroid Build Coastguard Worker %86 = bitcast float* %arrayidx5 to i32* 213*9880d681SAndroid Build Coastguard Worker store i32 %84, i32* %86, align 4 214*9880d681SAndroid Build Coastguard Worker %arrayidx7 = getelementptr inbounds float, float* %f, i64 6 215*9880d681SAndroid Build Coastguard Worker %87 = bitcast float* %arrayidx7 to i32* 216*9880d681SAndroid Build Coastguard Worker store i32 %85, i32* %87, align 4 217*9880d681SAndroid Build Coastguard Worker ret void 218*9880d681SAndroid Build Coastguard Worker} 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Workerdeclare float @llvm.nvvm.fabs.f(float) 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Worker!nvvm.annotations = !{!0} 223*9880d681SAndroid Build Coastguard Worker 224*9880d681SAndroid Build Coastguard Worker!0 = !{void (float*)* @PR24303, !"kernel", i32 1} 225