1031 lines · plain
1; RUN: llc -mtriple=mipsel-linux-gnu -mattr=mips16 -relocation-model=static < %s | FileCheck %s -check-prefix=stel2 3@x = common global float 0.000000e+00, align 44@y = common global float 0.000000e+00, align 45@xd = common global double 0.000000e+00, align 86@yd = common global double 0.000000e+00, align 87@xy = common global { float, float } zeroinitializer, align 48@xyd = common global { double, double } zeroinitializer, align 89@ret_sf = common global float 0.000000e+00, align 410@ret_df = common global double 0.000000e+00, align 811@ret_sc = common global { float, float } zeroinitializer, align 412@ret_dc = common global { double, double } zeroinitializer, align 813@lx = common global float 0.000000e+00, align 414@ly = common global float 0.000000e+00, align 415@lxd = common global double 0.000000e+00, align 816@lyd = common global double 0.000000e+00, align 817@lxy = common global { float, float } zeroinitializer, align 418@lxyd = common global { double, double } zeroinitializer, align 819@lret_sf = common global float 0.000000e+00, align 420@lret_df = common global double 0.000000e+00, align 821@lret_sc = common global { float, float } zeroinitializer, align 422@lret_dc = common global { double, double } zeroinitializer, align 823@.str = private unnamed_addr constant [10 x i8] c"%f %f %i\0A\00", align 124@.str1 = private unnamed_addr constant [16 x i8] c"%f=%f %f=%f %i\0A\00", align 125@.str2 = private unnamed_addr constant [22 x i8] c"%f=%f %f=%f %f=%f %i\0A\00", align 126@.str3 = private unnamed_addr constant [18 x i8] c"%f+%fi=%f+%fi %i\0A\00", align 127@.str4 = private unnamed_addr constant [24 x i8] c"%f+%fi=%f+%fi %f=%f %i\0A\00", align 128 29; Function Attrs: nounwind30define void @clear() #0 {31entry:32 store float 1.000000e+00, ptr @x, align 433 store float 1.000000e+00, ptr @y, align 434 store double 1.000000e+00, ptr @xd, align 835 store double 1.000000e+00, ptr @yd, align 836 store float 1.000000e+00, ptr @xy37 store float 0.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @xy, i32 0, i32 1)38 store double 1.000000e+00, ptr @xyd39 store double 0.000000e+00, ptr getelementptr inbounds ({ double, double }, ptr @xyd, i32 0, i32 1)40 store float 1.000000e+00, ptr @ret_sf, align 441 store double 1.000000e+00, ptr @ret_df, align 842 store float 1.000000e+00, ptr @ret_sc43 store float 0.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)44 store double 1.000000e+00, ptr @ret_dc45 store double 0.000000e+00, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)46 store float 0.000000e+00, ptr @lx, align 447 store float 0.000000e+00, ptr @ly, align 448 store double 0.000000e+00, ptr @lxd, align 849 store double 0.000000e+00, ptr @lyd, align 850 store float 0.000000e+00, ptr @lxy51 store float 0.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @lxy, i32 0, i32 1)52 store double 0.000000e+00, ptr @lxyd53 store double 0.000000e+00, ptr getelementptr inbounds ({ double, double }, ptr @lxyd, i32 0, i32 1)54 store float 0.000000e+00, ptr @lret_sf, align 455 store double 0.000000e+00, ptr @lret_df, align 856 store float 0.000000e+00, ptr @lret_sc57 store float 0.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)58 store double 0.000000e+00, ptr @lret_dc59 store double 0.000000e+00, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)60 ret void61}62 63; Function Attrs: nounwind64define i32 @main() #0 {65entry:66 %retval = alloca i32, align 467 store i32 0, ptr %retval68 call void @clear()69 store float 1.500000e+00, ptr @lx, align 470 %0 = load float, ptr @lx, align 471 call void @v_sf(float %0)72 %1 = load float, ptr @x, align 473 %conv = fpext float %1 to double74 %2 = load float, ptr @lx, align 475 %conv1 = fpext float %2 to double76 %3 = load float, ptr @x, align 477 %4 = load float, ptr @lx, align 478 %cmp = fcmp oeq float %3, %479 %conv2 = zext i1 %cmp to i3280 %call = call i32 (ptr, ...) @printf(ptr @.str, double %conv, double %conv1, i32 %conv2)81 call void @clear()82 store double 0x41678C29C0000000, ptr @lxd, align 883 %5 = load double, ptr @lxd, align 884 call void @v_df(double %5)85 %6 = load double, ptr @xd, align 886 %7 = load double, ptr @lxd, align 887 %8 = load double, ptr @xd, align 888 %9 = load double, ptr @lxd, align 889 %cmp3 = fcmp oeq double %8, %990 %conv4 = zext i1 %cmp3 to i3291 %call5 = call i32 (ptr, ...) @printf(ptr @.str, double %6, double %7, i32 %conv4)92 call void @clear()93 store float 9.000000e+00, ptr @lx, align 494 store float 1.000000e+01, ptr @ly, align 495 %10 = load float, ptr @lx, align 496 %11 = load float, ptr @ly, align 497 call void @v_sf_sf(float %10, float %11)98 %12 = load float, ptr @x, align 499 %conv6 = fpext float %12 to double100 %13 = load float, ptr @lx, align 4101 %conv7 = fpext float %13 to double102 %14 = load float, ptr @y, align 4103 %conv8 = fpext float %14 to double104 %15 = load float, ptr @ly, align 4105 %conv9 = fpext float %15 to double106 %16 = load float, ptr @x, align 4107 %17 = load float, ptr @lx, align 4108 %cmp10 = fcmp oeq float %16, %17109 br i1 %cmp10, label %land.rhs, label %land.end110 111land.rhs: ; preds = %entry112 %18 = load float, ptr @y, align 4113 %19 = load float, ptr @ly, align 4114 %cmp12 = fcmp oeq float %18, %19115 br label %land.end116 117land.end: ; preds = %land.rhs, %entry118 %20 = phi i1 [ false, %entry ], [ %cmp12, %land.rhs ]119 %land.ext = zext i1 %20 to i32120 %call14 = call i32 (ptr, ...) @printf(ptr @.str1, double %conv6, double %conv7, double %conv8, double %conv9, i32 %land.ext)121 call void @clear()122 store float 0x3FFE666660000000, ptr @lx, align 4123 store double 0x4007E613249FF279, ptr @lyd, align 8124 %21 = load float, ptr @lx, align 4125 %22 = load double, ptr @lyd, align 8126 call void @v_sf_df(float %21, double %22)127 %23 = load float, ptr @x, align 4128 %conv15 = fpext float %23 to double129 %24 = load float, ptr @lx, align 4130 %conv16 = fpext float %24 to double131 %25 = load double, ptr @yd, align 8132 %26 = load double, ptr @lyd, align 8133 %27 = load float, ptr @x, align 4134 %28 = load float, ptr @lx, align 4135 %cmp17 = fcmp oeq float %27, %28136 %conv18 = zext i1 %cmp17 to i32137 %29 = load double, ptr @yd, align 8138 %30 = load double, ptr @lyd, align 8139 %cmp19 = fcmp oeq double %29, %30140 %conv20 = zext i1 %cmp19 to i32141 %and = and i32 %conv18, %conv20142 %call21 = call i32 (ptr, ...) @printf(ptr @.str1, double %conv15, double %conv16, double %25, double %26, i32 %and)143 call void @clear()144 store double 0x4194E54F94000000, ptr @lxd, align 8145 store float 7.600000e+01, ptr @ly, align 4146 %31 = load double, ptr @lxd, align 8147 %32 = load float, ptr @ly, align 4148 call void @v_df_sf(double %31, float %32)149 %33 = load double, ptr @xd, align 8150 %34 = load double, ptr @lxd, align 8151 %35 = load float, ptr @y, align 4152 %conv22 = fpext float %35 to double153 %36 = load float, ptr @ly, align 4154 %conv23 = fpext float %36 to double155 %37 = load double, ptr @xd, align 8156 %38 = load double, ptr @lxd, align 8157 %cmp24 = fcmp oeq double %37, %38158 %conv25 = zext i1 %cmp24 to i32159 %39 = load float, ptr @y, align 4160 %40 = load float, ptr @ly, align 4161 %cmp26 = fcmp oeq float %39, %40162 %conv27 = zext i1 %cmp26 to i32163 %and28 = and i32 %conv25, %conv27164 %call29 = call i32 (ptr, ...) @printf(ptr @.str1, double %33, double %34, double %conv22, double %conv23, i32 %and28)165 call void @clear()166 store double 7.365198e+07, ptr @lxd, align 8167 store double 0x416536CD80000000, ptr @lyd, align 8168 %41 = load double, ptr @lxd, align 8169 %42 = load double, ptr @lyd, align 8170 call void @v_df_df(double %41, double %42)171 %43 = load double, ptr @xd, align 8172 %44 = load double, ptr @lxd, align 8173 %45 = load double, ptr @yd, align 8174 %46 = load double, ptr @lyd, align 8175 %47 = load double, ptr @xd, align 8176 %48 = load double, ptr @lxd, align 8177 %cmp30 = fcmp oeq double %47, %48178 %conv31 = zext i1 %cmp30 to i32179 %49 = load double, ptr @yd, align 8180 %50 = load double, ptr @lyd, align 8181 %cmp32 = fcmp oeq double %49, %50182 %conv33 = zext i1 %cmp32 to i32183 %and34 = and i32 %conv31, %conv33184 %call35 = call i32 (ptr, ...) @printf(ptr @.str1, double %43, double %44, double %45, double %46, i32 %and34)185 call void @clear()186 store float 0x4016666660000000, ptr @ret_sf, align 4187 %call36 = call float @sf_v()188 store float %call36, ptr @lret_sf, align 4189 %51 = load float, ptr @ret_sf, align 4190 %conv37 = fpext float %51 to double191 %52 = load float, ptr @lret_sf, align 4192 %conv38 = fpext float %52 to double193 %53 = load float, ptr @ret_sf, align 4194 %54 = load float, ptr @lret_sf, align 4195 %cmp39 = fcmp oeq float %53, %54196 %conv40 = zext i1 %cmp39 to i32197 %call41 = call i32 (ptr, ...) @printf(ptr @.str, double %conv37, double %conv38, i32 %conv40)198 call void @clear()199 store float 4.587300e+06, ptr @ret_sf, align 4200 store float 3.420000e+02, ptr @lx, align 4201 %55 = load float, ptr @lx, align 4202 %call42 = call float @sf_sf(float %55)203 store float %call42, ptr @lret_sf, align 4204 %56 = load float, ptr @ret_sf, align 4205 %conv43 = fpext float %56 to double206 %57 = load float, ptr @lret_sf, align 4207 %conv44 = fpext float %57 to double208 %58 = load float, ptr @x, align 4209 %conv45 = fpext float %58 to double210 %59 = load float, ptr @lx, align 4211 %conv46 = fpext float %59 to double212 %60 = load float, ptr @ret_sf, align 4213 %61 = load float, ptr @lret_sf, align 4214 %cmp47 = fcmp oeq float %60, %61215 %conv48 = zext i1 %cmp47 to i32216 %62 = load float, ptr @x, align 4217 %63 = load float, ptr @lx, align 4218 %cmp49 = fcmp oeq float %62, %63219 %conv50 = zext i1 %cmp49 to i32220 %and51 = and i32 %conv48, %conv50221 %call52 = call i32 (ptr, ...) @printf(ptr @.str1, double %conv43, double %conv44, double %conv45, double %conv46, i32 %and51)222 call void @clear()223 store float 4.445910e+06, ptr @ret_sf, align 4224 store double 0x419A7DB294000000, ptr @lxd, align 8225 %64 = load double, ptr @lxd, align 8226 %call53 = call float @sf_df(double %64)227 store float %call53, ptr @lret_sf, align 4228 %65 = load float, ptr @ret_sf, align 4229 %conv54 = fpext float %65 to double230 %66 = load float, ptr @lret_sf, align 4231 %conv55 = fpext float %66 to double232 %67 = load double, ptr @xd, align 8233 %68 = load double, ptr @lxd, align 8234 %69 = load float, ptr @ret_sf, align 4235 %70 = load float, ptr @lret_sf, align 4236 %cmp56 = fcmp oeq float %69, %70237 %conv57 = zext i1 %cmp56 to i32238 %71 = load double, ptr @xd, align 8239 %72 = load double, ptr @lxd, align 8240 %cmp58 = fcmp oeq double %71, %72241 %conv59 = zext i1 %cmp58 to i32242 %and60 = and i32 %conv57, %conv59243 %call61 = call i32 (ptr, ...) @printf(ptr @.str1, double %conv54, double %conv55, double %67, double %68, i32 %and60)244 call void @clear()245 store float 0x3FFF4BC6A0000000, ptr @ret_sf, align 4246 store float 4.445500e+03, ptr @lx, align 4247 store float 0x4068ACCCC0000000, ptr @ly, align 4248 %73 = load float, ptr @lx, align 4249 %74 = load float, ptr @ly, align 4250 %call62 = call float @sf_sf_sf(float %73, float %74)251 store float %call62, ptr @lret_sf, align 4252 %75 = load float, ptr @ret_sf, align 4253 %conv63 = fpext float %75 to double254 %76 = load float, ptr @lret_sf, align 4255 %conv64 = fpext float %76 to double256 %77 = load float, ptr @x, align 4257 %conv65 = fpext float %77 to double258 %78 = load float, ptr @lx, align 4259 %conv66 = fpext float %78 to double260 %79 = load float, ptr @y, align 4261 %conv67 = fpext float %79 to double262 %80 = load float, ptr @ly, align 4263 %conv68 = fpext float %80 to double264 %81 = load float, ptr @ret_sf, align 4265 %82 = load float, ptr @lret_sf, align 4266 %cmp69 = fcmp oeq float %81, %82267 br i1 %cmp69, label %land.lhs.true, label %land.end76268 269land.lhs.true: ; preds = %land.end270 %83 = load float, ptr @x, align 4271 %84 = load float, ptr @lx, align 4272 %cmp71 = fcmp oeq float %83, %84273 br i1 %cmp71, label %land.rhs73, label %land.end76274 275land.rhs73: ; preds = %land.lhs.true276 %85 = load float, ptr @y, align 4277 %86 = load float, ptr @ly, align 4278 %cmp74 = fcmp oeq float %85, %86279 br label %land.end76280 281land.end76: ; preds = %land.rhs73, %land.lhs.true, %land.end282 %87 = phi i1 [ false, %land.lhs.true ], [ false, %land.end ], [ %cmp74, %land.rhs73 ]283 %land.ext77 = zext i1 %87 to i32284 %call78 = call i32 (ptr, ...) @printf(ptr @.str2, double %conv63, double %conv64, double %conv65, double %conv66, double %conv67, double %conv68, i32 %land.ext77)285 call void @clear()286 store float 9.991300e+04, ptr @ret_sf, align 4287 store float 1.114500e+04, ptr @lx, align 4288 store double 9.994445e+07, ptr @lyd, align 8289 %88 = load float, ptr @lx, align 4290 %89 = load double, ptr @lyd, align 8291 %call79 = call float @sf_sf_df(float %88, double %89)292 store float %call79, ptr @lret_sf, align 4293 %90 = load float, ptr @ret_sf, align 4294 %conv80 = fpext float %90 to double295 %91 = load float, ptr @lret_sf, align 4296 %conv81 = fpext float %91 to double297 %92 = load float, ptr @x, align 4298 %conv82 = fpext float %92 to double299 %93 = load float, ptr @lx, align 4300 %conv83 = fpext float %93 to double301 %94 = load double, ptr @yd, align 8302 %95 = load double, ptr @lyd, align 8303 %96 = load float, ptr @ret_sf, align 4304 %97 = load float, ptr @lret_sf, align 4305 %cmp84 = fcmp oeq float %96, %97306 br i1 %cmp84, label %land.lhs.true86, label %land.end92307 308land.lhs.true86: ; preds = %land.end76309 %98 = load float, ptr @x, align 4310 %99 = load float, ptr @lx, align 4311 %cmp87 = fcmp oeq float %98, %99312 br i1 %cmp87, label %land.rhs89, label %land.end92313 314land.rhs89: ; preds = %land.lhs.true86315 %100 = load double, ptr @yd, align 8316 %101 = load double, ptr @lyd, align 8317 %cmp90 = fcmp oeq double %100, %101318 br label %land.end92319 320land.end92: ; preds = %land.rhs89, %land.lhs.true86, %land.end76321 %102 = phi i1 [ false, %land.lhs.true86 ], [ false, %land.end76 ], [ %cmp90, %land.rhs89 ]322 %land.ext93 = zext i1 %102 to i32323 %call94 = call i32 (ptr, ...) @printf(ptr @.str2, double %conv80, double %conv81, double %conv82, double %conv83, double %94, double %95, i32 %land.ext93)324 call void @clear()325 store float 0x417CCC7A00000000, ptr @ret_sf, align 4326 store double 0x4172034530000000, ptr @lxd, align 8327 store float 4.456200e+04, ptr @ly, align 4328 %103 = load double, ptr @lxd, align 8329 %104 = load float, ptr @ly, align 4330 %call95 = call float @sf_df_sf(double %103, float %104)331 store float %call95, ptr @lret_sf, align 4332 %105 = load float, ptr @ret_sf, align 4333 %conv96 = fpext float %105 to double334 %106 = load float, ptr @lret_sf, align 4335 %conv97 = fpext float %106 to double336 %107 = load double, ptr @xd, align 8337 %108 = load double, ptr @lxd, align 8338 %109 = load float, ptr @y, align 4339 %conv98 = fpext float %109 to double340 %110 = load float, ptr @ly, align 4341 %conv99 = fpext float %110 to double342 %111 = load float, ptr @ret_sf, align 4343 %112 = load float, ptr @lret_sf, align 4344 %cmp100 = fcmp oeq float %111, %112345 br i1 %cmp100, label %land.lhs.true102, label %land.end108346 347land.lhs.true102: ; preds = %land.end92348 %113 = load double, ptr @xd, align 8349 %114 = load double, ptr @lxd, align 8350 %cmp103 = fcmp oeq double %113, %114351 br i1 %cmp103, label %land.rhs105, label %land.end108352 353land.rhs105: ; preds = %land.lhs.true102354 %115 = load float, ptr @y, align 4355 %116 = load float, ptr @ly, align 4356 %cmp106 = fcmp oeq float %115, %116357 br label %land.end108358 359land.end108: ; preds = %land.rhs105, %land.lhs.true102, %land.end92360 %117 = phi i1 [ false, %land.lhs.true102 ], [ false, %land.end92 ], [ %cmp106, %land.rhs105 ]361 %land.ext109 = zext i1 %117 to i32362 %call110 = call i32 (ptr, ...) @printf(ptr @.str2, double %conv96, double %conv97, double %107, double %108, double %conv98, double %conv99, i32 %land.ext109)363 call void @clear()364 store float 3.987721e+06, ptr @ret_sf, align 4365 store double 0x3FF1F49F6DDDC2D8, ptr @lxd, align 8366 store double 0x409129F306A2B170, ptr @lyd, align 8367 %118 = load double, ptr @lxd, align 8368 %119 = load double, ptr @lyd, align 8369 %call111 = call float @sf_df_df(double %118, double %119)370 store float %call111, ptr @lret_sf, align 4371 %120 = load float, ptr @ret_sf, align 4372 %conv112 = fpext float %120 to double373 %121 = load float, ptr @lret_sf, align 4374 %conv113 = fpext float %121 to double375 %122 = load double, ptr @xd, align 8376 %123 = load double, ptr @lxd, align 8377 %124 = load double, ptr @yd, align 8378 %125 = load double, ptr @lyd, align 8379 %126 = load float, ptr @ret_sf, align 4380 %127 = load float, ptr @lret_sf, align 4381 %cmp114 = fcmp oeq float %126, %127382 br i1 %cmp114, label %land.lhs.true116, label %land.end122383 384land.lhs.true116: ; preds = %land.end108385 %128 = load double, ptr @xd, align 8386 %129 = load double, ptr @lxd, align 8387 %cmp117 = fcmp oeq double %128, %129388 br i1 %cmp117, label %land.rhs119, label %land.end122389 390land.rhs119: ; preds = %land.lhs.true116391 %130 = load double, ptr @yd, align 8392 %131 = load double, ptr @lyd, align 8393 %cmp120 = fcmp oeq double %130, %131394 br label %land.end122395 396land.end122: ; preds = %land.rhs119, %land.lhs.true116, %land.end108397 %132 = phi i1 [ false, %land.lhs.true116 ], [ false, %land.end108 ], [ %cmp120, %land.rhs119 ]398 %land.ext123 = zext i1 %132 to i32399 %call124 = call i32 (ptr, ...) @printf(ptr @.str2, double %conv112, double %conv113, double %122, double %123, double %124, double %125, i32 %land.ext123)400 call void @clear()401 store double 1.561234e+01, ptr @ret_df, align 8402 %call125 = call double @df_v()403 store double %call125, ptr @lret_df, align 8404 %133 = load double, ptr @ret_df, align 8405 %134 = load double, ptr @lret_df, align 8406 %135 = load double, ptr @ret_df, align 8407 %136 = load double, ptr @lret_df, align 8408 %cmp126 = fcmp oeq double %135, %136409 %conv127 = zext i1 %cmp126 to i32410 %call128 = call i32 (ptr, ...) @printf(ptr @.str, double %133, double %134, i32 %conv127)411 call void @clear()412 store double 1.345873e+01, ptr @ret_df, align 8413 store float 3.434520e+05, ptr @lx, align 4414 %137 = load float, ptr @lx, align 4415 %call129 = call double @df_sf(float %137)416 store double %call129, ptr @lret_df, align 8417 %138 = load double, ptr @ret_df, align 8418 %139 = load double, ptr @lret_df, align 8419 %140 = load float, ptr @x, align 4420 %conv130 = fpext float %140 to double421 %141 = load float, ptr @lx, align 4422 %conv131 = fpext float %141 to double423 %142 = load double, ptr @ret_df, align 8424 %143 = load double, ptr @lret_df, align 8425 %cmp132 = fcmp oeq double %142, %143426 %conv133 = zext i1 %cmp132 to i32427 %144 = load float, ptr @x, align 4428 %145 = load float, ptr @lx, align 4429 %cmp134 = fcmp oeq float %144, %145430 %conv135 = zext i1 %cmp134 to i32431 %and136 = and i32 %conv133, %conv135432 %call137 = call i32 (ptr, ...) @printf(ptr @.str1, double %138, double %139, double %conv130, double %conv131, i32 %and136)433 call void @clear()434 store double 0x4084F3AB7AA25D8D, ptr @ret_df, align 8435 store double 0x4114F671D2F1A9FC, ptr @lxd, align 8436 %146 = load double, ptr @lxd, align 8437 %call138 = call double @df_df(double %146)438 store double %call138, ptr @lret_df, align 8439 %147 = load double, ptr @ret_df, align 8440 %148 = load double, ptr @lret_df, align 8441 %149 = load double, ptr @xd, align 8442 %150 = load double, ptr @lxd, align 8443 %151 = load double, ptr @ret_df, align 8444 %152 = load double, ptr @lret_df, align 8445 %cmp139 = fcmp oeq double %151, %152446 %conv140 = zext i1 %cmp139 to i32447 %153 = load double, ptr @xd, align 8448 %154 = load double, ptr @lxd, align 8449 %cmp141 = fcmp oeq double %153, %154450 %conv142 = zext i1 %cmp141 to i32451 %and143 = and i32 %conv140, %conv142452 %call144 = call i32 (ptr, ...) @printf(ptr @.str1, double %147, double %148, double %149, double %150, i32 %and143)453 call void @clear()454 store double 6.781956e+03, ptr @ret_df, align 8455 store float 4.445500e+03, ptr @lx, align 4456 store float 0x4068ACCCC0000000, ptr @ly, align 4457 %155 = load float, ptr @lx, align 4458 %156 = load float, ptr @ly, align 4459 %call145 = call double @df_sf_sf(float %155, float %156)460 store double %call145, ptr @lret_df, align 8461 %157 = load double, ptr @ret_df, align 8462 %158 = load double, ptr @lret_df, align 8463 %159 = load float, ptr @x, align 4464 %conv146 = fpext float %159 to double465 %160 = load float, ptr @lx, align 4466 %conv147 = fpext float %160 to double467 %161 = load float, ptr @y, align 4468 %conv148 = fpext float %161 to double469 %162 = load float, ptr @ly, align 4470 %conv149 = fpext float %162 to double471 %163 = load double, ptr @ret_df, align 8472 %164 = load double, ptr @lret_df, align 8473 %cmp150 = fcmp oeq double %163, %164474 br i1 %cmp150, label %land.lhs.true152, label %land.end158475 476land.lhs.true152: ; preds = %land.end122477 %165 = load float, ptr @x, align 4478 %166 = load float, ptr @lx, align 4479 %cmp153 = fcmp oeq float %165, %166480 br i1 %cmp153, label %land.rhs155, label %land.end158481 482land.rhs155: ; preds = %land.lhs.true152483 %167 = load float, ptr @y, align 4484 %168 = load float, ptr @ly, align 4485 %cmp156 = fcmp oeq float %167, %168486 br label %land.end158487 488land.end158: ; preds = %land.rhs155, %land.lhs.true152, %land.end122489 %169 = phi i1 [ false, %land.lhs.true152 ], [ false, %land.end122 ], [ %cmp156, %land.rhs155 ]490 %land.ext159 = zext i1 %169 to i32491 %call160 = call i32 (ptr, ...) @printf(ptr @.str2, double %157, double %158, double %conv146, double %conv147, double %conv148, double %conv149, i32 %land.ext159)492 call void @clear()493 store double 1.889130e+05, ptr @ret_df, align 8494 store float 9.111450e+05, ptr @lx, align 4495 store double 0x4185320A58000000, ptr @lyd, align 8496 %170 = load float, ptr @lx, align 4497 %171 = load double, ptr @lyd, align 8498 %call161 = call double @df_sf_df(float %170, double %171)499 store double %call161, ptr @lret_df, align 8500 %172 = load double, ptr @ret_df, align 8501 %173 = load double, ptr @lret_df, align 8502 %174 = load float, ptr @x, align 4503 %conv162 = fpext float %174 to double504 %175 = load float, ptr @lx, align 4505 %conv163 = fpext float %175 to double506 %176 = load double, ptr @yd, align 8507 %177 = load double, ptr @lyd, align 8508 %178 = load double, ptr @ret_df, align 8509 %179 = load double, ptr @lret_df, align 8510 %cmp164 = fcmp oeq double %178, %179511 br i1 %cmp164, label %land.lhs.true166, label %land.end172512 513land.lhs.true166: ; preds = %land.end158514 %180 = load float, ptr @x, align 4515 %181 = load float, ptr @lx, align 4516 %cmp167 = fcmp oeq float %180, %181517 br i1 %cmp167, label %land.rhs169, label %land.end172518 519land.rhs169: ; preds = %land.lhs.true166520 %182 = load double, ptr @yd, align 8521 %183 = load double, ptr @lyd, align 8522 %cmp170 = fcmp oeq double %182, %183523 br label %land.end172524 525land.end172: ; preds = %land.rhs169, %land.lhs.true166, %land.end158526 %184 = phi i1 [ false, %land.lhs.true166 ], [ false, %land.end158 ], [ %cmp170, %land.rhs169 ]527 %land.ext173 = zext i1 %184 to i32528 %call174 = call i32 (ptr, ...) @printf(ptr @.str2, double %172, double %173, double %conv162, double %conv163, double %176, double %177, i32 %land.ext173)529 call void @clear()530 store double 0x418B2DB900000000, ptr @ret_df, align 8531 store double 0x41B1EF2ED3000000, ptr @lxd, align 8532 store float 1.244562e+06, ptr @ly, align 4533 %185 = load double, ptr @lxd, align 8534 %186 = load float, ptr @ly, align 4535 %call175 = call double @df_df_sf(double %185, float %186)536 store double %call175, ptr @lret_df, align 8537 %187 = load double, ptr @ret_df, align 8538 %188 = load double, ptr @lret_df, align 8539 %189 = load double, ptr @xd, align 8540 %190 = load double, ptr @lxd, align 8541 %191 = load float, ptr @y, align 4542 %conv176 = fpext float %191 to double543 %192 = load float, ptr @ly, align 4544 %conv177 = fpext float %192 to double545 %193 = load double, ptr @ret_df, align 8546 %194 = load double, ptr @lret_df, align 8547 %cmp178 = fcmp oeq double %193, %194548 br i1 %cmp178, label %land.lhs.true180, label %land.end186549 550land.lhs.true180: ; preds = %land.end172551 %195 = load double, ptr @xd, align 8552 %196 = load double, ptr @lxd, align 8553 %cmp181 = fcmp oeq double %195, %196554 br i1 %cmp181, label %land.rhs183, label %land.end186555 556land.rhs183: ; preds = %land.lhs.true180557 %197 = load float, ptr @y, align 4558 %198 = load float, ptr @ly, align 4559 %cmp184 = fcmp oeq float %197, %198560 br label %land.end186561 562land.end186: ; preds = %land.rhs183, %land.lhs.true180, %land.end172563 %199 = phi i1 [ false, %land.lhs.true180 ], [ false, %land.end172 ], [ %cmp184, %land.rhs183 ]564 %land.ext187 = zext i1 %199 to i32565 %call188 = call i32 (ptr, ...) @printf(ptr @.str2, double %187, double %188, double %189, double %190, double %conv176, double %conv177, i32 %land.ext187)566 call void @clear()567 store double 3.987721e+06, ptr @ret_df, align 8568 store double 5.223560e+00, ptr @lxd, align 8569 store double 0x40B7D37CC1A8AC5C, ptr @lyd, align 8570 %200 = load double, ptr @lxd, align 8571 %201 = load double, ptr @lyd, align 8572 %call189 = call double @df_df_df(double %200, double %201)573 store double %call189, ptr @lret_df, align 8574 %202 = load double, ptr @ret_df, align 8575 %203 = load double, ptr @lret_df, align 8576 %204 = load double, ptr @xd, align 8577 %205 = load double, ptr @lxd, align 8578 %206 = load double, ptr @yd, align 8579 %207 = load double, ptr @lyd, align 8580 %208 = load double, ptr @ret_df, align 8581 %209 = load double, ptr @lret_df, align 8582 %cmp190 = fcmp oeq double %208, %209583 br i1 %cmp190, label %land.lhs.true192, label %land.end198584 585land.lhs.true192: ; preds = %land.end186586 %210 = load double, ptr @xd, align 8587 %211 = load double, ptr @lxd, align 8588 %cmp193 = fcmp oeq double %210, %211589 br i1 %cmp193, label %land.rhs195, label %land.end198590 591land.rhs195: ; preds = %land.lhs.true192592 %212 = load double, ptr @yd, align 8593 %213 = load double, ptr @lyd, align 8594 %cmp196 = fcmp oeq double %212, %213595 br label %land.end198596 597land.end198: ; preds = %land.rhs195, %land.lhs.true192, %land.end186598 %214 = phi i1 [ false, %land.lhs.true192 ], [ false, %land.end186 ], [ %cmp196, %land.rhs195 ]599 %land.ext199 = zext i1 %214 to i32600 %call200 = call i32 (ptr, ...) @printf(ptr @.str2, double %202, double %203, double %204, double %205, double %206, double %207, i32 %land.ext199)601 call void @clear()602 store float 4.500000e+00, ptr @ret_sc603 store float 7.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)604 %call201 = call { float, float } @sc_v()605 %215 = extractvalue { float, float } %call201, 0606 %216 = extractvalue { float, float } %call201, 1607 store float %215, ptr @lret_sc608 store float %216, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)609 %ret_sc.real = load float, ptr @ret_sc610 %ret_sc.imag = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)611 %conv202 = fpext float %ret_sc.real to double612 %conv203 = fpext float %ret_sc.imag to double613 %ret_sc.real204 = load float, ptr @ret_sc614 %ret_sc.imag205 = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)615 %conv206 = fpext float %ret_sc.real204 to double616 %conv207 = fpext float %ret_sc.imag205 to double617 %lret_sc.real = load float, ptr @lret_sc618 %lret_sc.imag = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)619 %conv208 = fpext float %lret_sc.real to double620 %conv209 = fpext float %lret_sc.imag to double621 %lret_sc.real210 = load float, ptr @lret_sc622 %lret_sc.imag211 = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)623 %conv212 = fpext float %lret_sc.real210 to double624 %conv213 = fpext float %lret_sc.imag211 to double625 %ret_sc.real214 = load float, ptr @ret_sc626 %ret_sc.imag215 = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)627 %lret_sc.real216 = load float, ptr @lret_sc628 %lret_sc.imag217 = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)629 %cmp.r = fcmp oeq float %ret_sc.real214, %lret_sc.real216630 %cmp.i = fcmp oeq float %ret_sc.imag215, %lret_sc.imag217631 %and.ri = and i1 %cmp.r, %cmp.i632 %conv218 = zext i1 %and.ri to i32633 %call219 = call i32 (ptr, ...) @printf(ptr @.str3, double %conv202, double %conv207, double %conv208, double %conv213, i32 %conv218)634 call void @clear()635 store float 0x3FF7A99300000000, ptr @lx, align 4636 store float 4.500000e+00, ptr @ret_sc637 store float 7.000000e+00, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)638 %217 = load float, ptr @lx, align 4639 %call220 = call { float, float } @sc_sf(float %217)640 %218 = extractvalue { float, float } %call220, 0641 %219 = extractvalue { float, float } %call220, 1642 store float %218, ptr @lret_sc643 store float %219, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)644 %ret_sc.real221 = load float, ptr @ret_sc645 %ret_sc.imag222 = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)646 %conv223 = fpext float %ret_sc.real221 to double647 %conv224 = fpext float %ret_sc.imag222 to double648 %ret_sc.real225 = load float, ptr @ret_sc649 %ret_sc.imag226 = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)650 %conv227 = fpext float %ret_sc.real225 to double651 %conv228 = fpext float %ret_sc.imag226 to double652 %lret_sc.real229 = load float, ptr @lret_sc653 %lret_sc.imag230 = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)654 %conv231 = fpext float %lret_sc.real229 to double655 %conv232 = fpext float %lret_sc.imag230 to double656 %lret_sc.real233 = load float, ptr @lret_sc657 %lret_sc.imag234 = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)658 %conv235 = fpext float %lret_sc.real233 to double659 %conv236 = fpext float %lret_sc.imag234 to double660 %220 = load float, ptr @x, align 4661 %conv237 = fpext float %220 to double662 %221 = load float, ptr @lx, align 4663 %conv238 = fpext float %221 to double664 %ret_sc.real239 = load float, ptr @ret_sc665 %ret_sc.imag240 = load float, ptr getelementptr inbounds ({ float, float }, ptr @ret_sc, i32 0, i32 1)666 %lret_sc.real241 = load float, ptr @lret_sc667 %lret_sc.imag242 = load float, ptr getelementptr inbounds ({ float, float }, ptr @lret_sc, i32 0, i32 1)668 %cmp.r243 = fcmp oeq float %ret_sc.real239, %lret_sc.real241669 %cmp.i244 = fcmp oeq float %ret_sc.imag240, %lret_sc.imag242670 %and.ri245 = and i1 %cmp.r243, %cmp.i244671 br i1 %and.ri245, label %land.rhs247, label %land.end250672 673land.rhs247: ; preds = %land.end198674 %222 = load float, ptr @x, align 4675 %223 = load float, ptr @lx, align 4676 %cmp248 = fcmp oeq float %222, %223677 br label %land.end250678 679land.end250: ; preds = %land.rhs247, %land.end198680 %224 = phi i1 [ false, %land.end198 ], [ %cmp248, %land.rhs247 ]681 %land.ext251 = zext i1 %224 to i32682 %call252 = call i32 (ptr, ...) @printf(ptr @.str4, double %conv223, double %conv228, double %conv231, double %conv236, double %conv237, double %conv238, i32 %land.ext251)683 call void @clear()684 store double 1.234500e+03, ptr @ret_dc685 store double 7.677000e+03, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)686 %call253 = call { double, double } @dc_v()687 %225 = extractvalue { double, double } %call253, 0688 %226 = extractvalue { double, double } %call253, 1689 store double %225, ptr @lret_dc690 store double %226, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)691 %ret_dc.real = load double, ptr @ret_dc692 %ret_dc.imag = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)693 %ret_dc.real254 = load double, ptr @ret_dc694 %ret_dc.imag255 = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)695 %lret_dc.real = load double, ptr @lret_dc696 %lret_dc.imag = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)697 %lret_dc.real256 = load double, ptr @lret_dc698 %lret_dc.imag257 = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)699 %ret_dc.real258 = load double, ptr @ret_dc700 %ret_dc.imag259 = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)701 %lret_dc.real260 = load double, ptr @lret_dc702 %lret_dc.imag261 = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)703 %cmp.r262 = fcmp oeq double %ret_dc.real258, %lret_dc.real260704 %cmp.i263 = fcmp oeq double %ret_dc.imag259, %lret_dc.imag261705 %and.ri264 = and i1 %cmp.r262, %cmp.i263706 %conv265 = zext i1 %and.ri264 to i32707 %call266 = call i32 (ptr, ...) @printf(ptr @.str3, double %ret_dc.real, double %ret_dc.imag255, double %lret_dc.real, double %lret_dc.imag257, i32 %conv265)708 call void @clear()709 store double 0x40AAF6F532617C1C, ptr @lxd, align 8710 store double 4.444500e+03, ptr @ret_dc711 store double 7.888000e+03, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)712 %227 = load float, ptr @lx, align 4713 %call267 = call { double, double } @dc_sf(float %227)714 %228 = extractvalue { double, double } %call267, 0715 %229 = extractvalue { double, double } %call267, 1716 store double %228, ptr @lret_dc717 store double %229, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)718 %ret_dc.real268 = load double, ptr @ret_dc719 %ret_dc.imag269 = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)720 %ret_dc.real270 = load double, ptr @ret_dc721 %ret_dc.imag271 = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)722 %lret_dc.real272 = load double, ptr @lret_dc723 %lret_dc.imag273 = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)724 %lret_dc.real274 = load double, ptr @lret_dc725 %lret_dc.imag275 = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)726 %230 = load float, ptr @x, align 4727 %conv276 = fpext float %230 to double728 %231 = load float, ptr @lx, align 4729 %conv277 = fpext float %231 to double730 %ret_dc.real278 = load double, ptr @ret_dc731 %ret_dc.imag279 = load double, ptr getelementptr inbounds ({ double, double }, ptr @ret_dc, i32 0, i32 1)732 %lret_dc.real280 = load double, ptr @lret_dc733 %lret_dc.imag281 = load double, ptr getelementptr inbounds ({ double, double }, ptr @lret_dc, i32 0, i32 1)734 %cmp.r282 = fcmp oeq double %ret_dc.real278, %lret_dc.real280735 %cmp.i283 = fcmp oeq double %ret_dc.imag279, %lret_dc.imag281736 %and.ri284 = and i1 %cmp.r282, %cmp.i283737 br i1 %and.ri284, label %land.rhs286, label %land.end289738 739land.rhs286: ; preds = %land.end250740 %232 = load float, ptr @x, align 4741 %233 = load float, ptr @lx, align 4742 %cmp287 = fcmp oeq float %232, %233743 br label %land.end289744 745land.end289: ; preds = %land.rhs286, %land.end250746 %234 = phi i1 [ false, %land.end250 ], [ %cmp287, %land.rhs286 ]747 %land.ext290 = zext i1 %234 to i32748 %call291 = call i32 (ptr, ...) @printf(ptr @.str4, double %ret_dc.real268, double %ret_dc.imag271, double %lret_dc.real272, double %lret_dc.imag275, double %conv276, double %conv277, i32 %land.ext290)749 %235 = load i32, ptr %retval750 ret i32 %235751}752 753declare void @v_sf(float) #1754; stel: .section .mips16.call.fp.v_sf,"ax",@progbits755; stel: .ent __call_stub_fp_v_sf756; stel: mtc1 $4, $f12757; stel: lui $25, %hi(v_sf)758; stel: addiu $25, $25, %lo(v_sf)759; stel: jr $25760; stel: .end __call_stub_fp_v_sf761 762declare i32 @printf(ptr, ...) #1763 764declare void @v_df(double) #1765; stel: .section .mips16.call.fp.v_df,"ax",@progbits766; stel: .ent __call_stub_fp_v_df767; stel: #APP768; stel: .set reorder769; stel: mtc1 $4, $f12770; stel: mtc1 $5, $f13771; stel: lui $25, %hi(v_df)772; stel: addiu $25, $25, %lo(v_df)773; stel: jr $25774; stel: .end __call_stub_fp_v_df775 776declare void @v_sf_sf(float, float) #1777; stel: .section .mips16.call.fp.v_sf_sf,"ax",@progbits778; stel: .ent __call_stub_fp_v_sf_sf779; stel: mtc1 $4, $f12780; stel: mtc1 $5, $f14781; stel: lui $25, %hi(v_sf_sf)782; stel: addiu $25, $25, %lo(v_sf_sf)783; stel: jr $25784; stel: .end __call_stub_fp_v_sf_sf785 786declare void @v_sf_df(float, double) #1787; stel: .section .mips16.call.fp.v_sf_df,"ax",@progbits788; stel: .ent __call_stub_fp_v_sf_df789; stel: mtc1 $4, $f12790; stel: mtc1 $6, $f14791; stel: mtc1 $7, $f15792; stel: lui $25, %hi(v_sf_df)793; stel: addiu $25, $25, %lo(v_sf_df)794; stel: jr $25795; stel: .end __call_stub_fp_v_sf_df796 797declare void @v_df_sf(double, float) #1798; stel: .section .mips16.call.fp.v_df_sf,"ax",@progbits799; stel: .ent __call_stub_fp_v_df_sf800; stel: mtc1 $4, $f12801; stel: mtc1 $5, $f13802; stel: mtc1 $6, $f14803; stel: lui $25, %hi(v_df_sf)804; stel: addiu $25, $25, %lo(v_df_sf)805; stel: jr $25806; stel: .end __call_stub_fp_v_df_sf807 808declare void @v_df_df(double, double) #1809; stel: .section .mips16.call.fp.v_df_df,"ax",@progbits810; stel: .ent __call_stub_fp_v_df_df811; stel: mtc1 $4, $f12812; stel: mtc1 $5, $f13813; stel: mtc1 $6, $f14814; stel: mtc1 $7, $f15815; stel: lui $25, %hi(v_df_df)816; stel: addiu $25, $25, %lo(v_df_df)817; stel: jr $25818; stel: .end __call_stub_fp_v_df_df819 820declare float @sf_v() #1821; stel: .section .mips16.call.fp.sf_v,"ax",@progbits822; stel: .ent __call_stub_fp_sf_v823; stel: move $18, $ra824; stel: jal sf_v825; stel: mfc1 $2, $f0826; stel: jr $18827; stel: .end __call_stub_fp_sf_v828 829declare float @sf_sf(float) #1830; stel: .section .mips16.call.fp.sf_sf,"ax",@progbits831; stel: .ent __call_stub_fp_sf_sf832; stel: mtc1 $4, $f12833; stel: move $18, ${{31|ra}}834; stel: jal sf_sf835; stel: mfc1 $2, $f0836; stel: jr $18837; stel: .end __call_stub_fp_sf_sf838 839declare float @sf_df(double) #1840; stel: .section .mips16.call.fp.sf_df,"ax",@progbits841; stel: .ent __call_stub_fp_sf_df842; stel: mtc1 $4, $f12843; stel: mtc1 $5, $f13844; stel: move $18, ${{31|ra}}845; stel: jal sf_df846; stel: mfc1 $2, $f0847; stel: jr $18848; stel: .end __call_stub_fp_sf_df849 850declare float @sf_sf_sf(float, float) #1851; stel: .section .mips16.call.fp.sf_sf_sf,"ax",@progbits852; stel: .ent __call_stub_fp_sf_sf_sf853; stel: mtc1 $4, $f12854; stel: mtc1 $5, $f14855; stel: move $18, ${{31|ra}}856; stel: jal sf_sf_sf857; stel: mfc1 $2, $f0858; stel: jr $18859; stel: .end __call_stub_fp_sf_sf_sf860 861declare float @sf_sf_df(float, double) #1862; stel: .section .mips16.call.fp.sf_sf_df,"ax",@progbits863; stel: .ent __call_stub_fp_sf_sf_df864; stel: mtc1 $4, $f12865; stel: mtc1 $6, $f14866; stel: mtc1 $7, $f15867; stel: move $18, ${{31|ra}}868; stel: jal sf_sf_df869; stel: mfc1 $2, $f0870; stel: jr $18871; stel: .end __call_stub_fp_sf_sf_df872 873declare float @sf_df_sf(double, float) #1874; stel: .section .mips16.call.fp.sf_df_sf,"ax",@progbits875; stel: .ent __call_stub_fp_sf_df_sf876; stel: mtc1 $4, $f12877; stel: mtc1 $5, $f13878; stel: mtc1 $6, $f14879; stel: move $18, ${{31|ra}}880; stel: jal sf_df_sf881; stel: mfc1 $2, $f0882; stel: jr $18883; stel: .end __call_stub_fp_sf_df_sf884 885declare float @sf_df_df(double, double) #1886; stel: .section .mips16.call.fp.sf_df_df,"ax",@progbits887; stel: .ent __call_stub_fp_sf_df_df888; stel: mtc1 $4, $f12889; stel: mtc1 $5, $f13890; stel: mtc1 $6, $f14891; stel: mtc1 $7, $f15892; stel: move $18, ${{31|ra}}893; stel: jal sf_df_df894; stel: mfc1 $2, $f0895; stel: jr $18896; stel: .end __call_stub_fp_sf_df_df897 898declare double @df_v() #1899; stel: .section .mips16.call.fp.df_v,"ax",@progbits900; stel: .ent __call_stub_fp_df_v901; stel: move $18, $ra902; stel: jal df_v903; stel: mfc1 $2, $f0904; stel: mfc1 $3, $f1905; stel: jr $18906; stel: .end __call_stub_fp_df_v907 908declare double @df_sf(float) #1909; stel: .section .mips16.call.fp.df_sf,"ax",@progbits910; stel: .ent __call_stub_fp_df_sf911; stel: mtc1 $4, $f12912; stel: move $18, ${{31|ra}}913; stel: jal df_sf914; stel: mfc1 $2, $f0915; stel: mfc1 $3, $f1916; stel: jr $18917; stel: .end __call_stub_fp_df_sf918 919declare double @df_df(double) #1920; stel: .section .mips16.call.fp.df_df,"ax",@progbits921; stel: .ent __call_stub_fp_df_df922; stel: mtc1 $4, $f12923; stel: mtc1 $5, $f13924; stel: move $18, ${{31|ra}}925; stel: jal df_df926; stel: mfc1 $2, $f0927; stel: mfc1 $3, $f1928; stel: jr $18929; stel: .end __call_stub_fp_df_df930 931declare double @df_sf_sf(float, float) #1932; stel: .section .mips16.call.fp.df_sf_sf,"ax",@progbits933; stel: .ent __call_stub_fp_df_sf_sf934; stel: mtc1 $4, $f12935; stel: mtc1 $5, $f14936; stel: move $18, ${{31|ra}}937; stel: jal df_sf_sf938; stel: mfc1 $2, $f0939; stel: mfc1 $3, $f1940; stel: jr $18941; stel: .end __call_stub_fp_df_sf_sf942 943declare double @df_sf_df(float, double) #1944; stel: .section .mips16.call.fp.df_sf_df,"ax",@progbits945; stel: .ent __call_stub_fp_df_sf_df946; stel: mtc1 $4, $f12947; stel: mtc1 $6, $f14948; stel: mtc1 $7, $f15949; stel: move $18, ${{31|ra}}950; stel: jal df_sf_df951; stel: mfc1 $2, $f0952; stel: mfc1 $3, $f1953; stel: jr $18954; stel: .end __call_stub_fp_df_sf_df955 956declare double @df_df_sf(double, float) #1957; stel: .section .mips16.call.fp.df_df_sf,"ax",@progbits958; stel: .ent __call_stub_fp_df_df_sf959; stel: mtc1 $4, $f12960; stel: mtc1 $5, $f13961; stel: mtc1 $6, $f14962; stel: move $18, ${{31|ra}}963; stel: jal df_df_sf964; stel: mfc1 $2, $f0965; stel: mfc1 $3, $f1966; stel: jr $18967; stel: .end __call_stub_fp_df_df_sf968 969declare double @df_df_df(double, double) #1970; stel: .section .mips16.call.fp.df_df_df,"ax",@progbits971; stel: .ent __call_stub_fp_df_df_df972; stel: mtc1 $4, $f12973; stel: mtc1 $5, $f13974; stel: mtc1 $6, $f14975; stel: mtc1 $7, $f15976; stel: move $18, ${{31|ra}}977; stel: jal df_df_df978; stel: mfc1 $2, $f0979; stel: mfc1 $3, $f1980; stel: jr $18981; stel: .end __call_stub_fp_df_df_df982 983declare { float, float } @sc_v() #1984; stel: .section .mips16.call.fp.sc_v,"ax",@progbits985; stel: .ent __call_stub_fp_sc_v986; stel: move $18, $ra987; stel: jal sc_v988; stel: mfc1 $2, $f0989; stel: mfc1 $3, $f2990; stel: jr $18991; stel: .end __call_stub_fp_sc_v992 993declare { float, float } @sc_sf(float) #1994; stel: .section .mips16.call.fp.sc_sf,"ax",@progbits995; stel: .ent __call_stub_fp_sc_sf996; stel: mtc1 $4, $f12997; stel: move $18, ${{31|ra}}998; stel: jal sc_sf999; stel: mfc1 $2, $f01000; stel: mfc1 $3, $f21001; stel: jr $181002; stel: .end __call_stub_fp_sc_sf1003 1004declare { double, double } @dc_v() #11005; stel: .section .mips16.call.fp.dc_v,"ax",@progbits1006; stel: .ent __call_stub_fp_dc_v1007; stel: move $18, $ra1008; stel: jal dc_v1009; stel: mfc1 $4, $f21010; stel: mfc1 $5, $f31011; stel: mfc1 $2, $f01012; stel: mfc1 $3, $f11013; stel: jr $181014; stel: .end __call_stub_fp_dc_v1015 1016declare { double, double } @dc_sf(float) #11017; stel: .section .mips16.call.fp.dc_sf,"ax",@progbits1018; stel: .ent __call_stub_fp_dc_sf1019; stel: mtc1 $4, $f121020; stel: move $18, ${{31|ra}}1021; stel: jal dc_sf1022; stel: mfc1 $4, $f21023; stel: mfc1 $5, $f31024; stel: mfc1 $2, $f01025; stel: mfc1 $3, $f11026; stel: jr $181027; stel: .end __call_stub_fp_dc_sf1028 1029attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "use-soft-float"="false" }1030attributes #1 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "use-soft-float"="false" }1031