brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · 2eea4c3 Raw
307 lines · plain
1; RUN: llc -mtriple=mipsel-linux-gnu -mattr=mips16 -relocation-model=static < %s | FileCheck %s -check-prefix=stel2 3@x = external global float4@xd = external global double5@y = external global float6@yd = external global double7@ret_sf = external global float8@ret_df = external global double9@ret_sc = external global { float, float }10@ret_dc = external global { double, double }11 12; Function Attrs: nounwind13define void @v_sf(float %p) #0 {14entry:15  %p.addr = alloca float, align 416  store float %p, ptr %p.addr, align 417  %0 = load float, ptr %p.addr, align 418  store float %0, ptr @x, align 419  ret void20}21; stel: .section .mips16.fn.v_sf,"ax",@progbits22; stel: .ent __fn_stub_v_sf23; stel: lui $25, %hi(v_sf)24; stel: addiu $25, $25, %lo(v_sf)25; stel: mfc1 $4, $f1226; stel: jr $2527; stel: $__fn_local_v_sf = v_sf28; stel: .end __fn_stub_v_sf29 30declare i32 @printf(ptr, ...) #131 32; Function Attrs: nounwind33define void @v_df(double %p) #0 {34entry:35  %p.addr = alloca double, align 836  store double %p, ptr %p.addr, align 837  %0 = load double, ptr %p.addr, align 838  store double %0, ptr @xd, align 839  ret void40}41 42; stel: .section .mips16.fn.v_df,"ax",@progbits43; stel: .ent __fn_stub_v_df44; stel: lui $25, %hi(v_df)45; stel: addiu $25, $25, %lo(v_df)46; stel: mfc1 $4, $f1247; stel: mfc1 $5, $f1348; stel: jr $2549; stel: $__fn_local_v_df = v_df50; stel: .end __fn_stub_v_df51 52; Function Attrs: nounwind53define void @v_sf_sf(float %p1, float %p2) #0 {54entry:55  %p1.addr = alloca float, align 456  %p2.addr = alloca float, align 457  store float %p1, ptr %p1.addr, align 458  store float %p2, ptr %p2.addr, align 459  %0 = load float, ptr %p1.addr, align 460  store float %0, ptr @x, align 461  %1 = load float, ptr %p2.addr, align 462  store float %1, ptr @y, align 463  ret void64}65 66; stel: .section .mips16.fn.v_sf_sf,"ax",@progbits67; stel: .ent __fn_stub_v_sf_sf68; stel: lui $25, %hi(v_sf_sf)69; stel: addiu $25, $25, %lo(v_sf_sf)70; stel: mfc1 $4, $f1271; stel: mfc1 $5, $f1472; stel: jr $2573; stel: $__fn_local_v_sf_sf = v_sf_sf74; stel: .end __fn_stub_v_sf_sf75 76; Function Attrs: nounwind77define void @v_sf_df(float %p1, double %p2) #0 {78entry:79  %p1.addr = alloca float, align 480  %p2.addr = alloca double, align 881  store float %p1, ptr %p1.addr, align 482  store double %p2, ptr %p2.addr, align 883  %0 = load float, ptr %p1.addr, align 484  store float %0, ptr @x, align 485  %1 = load double, ptr %p2.addr, align 886  store double %1, ptr @yd, align 887  ret void88}89 90; stel: .section .mips16.fn.v_sf_df,"ax",@progbits91; stel: .ent __fn_stub_v_sf_df92; stel: lui $25, %hi(v_sf_df)93; stel: addiu $25, $25, %lo(v_sf_df)94; stel: mfc1 $4, $f1295; stel: mfc1 $6, $f1496; stel: mfc1 $7, $f1597; stel: jr $2598; stel: $__fn_local_v_sf_df = v_sf_df99; stel: .end __fn_stub_v_sf_df100 101; Function Attrs: nounwind102define void @v_df_sf(double %p1, float %p2) #0 {103entry:104  %p1.addr = alloca double, align 8105  %p2.addr = alloca float, align 4106  store double %p1, ptr %p1.addr, align 8107  store float %p2, ptr %p2.addr, align 4108  %0 = load double, ptr %p1.addr, align 8109  store double %0, ptr @xd, align 8110  %1 = load float, ptr %p2.addr, align 4111  store float %1, ptr @y, align 4112  ret void113}114 115; stel: .section .mips16.fn.v_df_sf,"ax",@progbits116; stel: .ent __fn_stub_v_df_sf117; stel: lui $25, %hi(v_df_sf)118; stel: addiu $25, $25, %lo(v_df_sf)119; stel: mfc1 $4, $f12120; stel: mfc1 $5, $f13121; stel: mfc1 $6, $f14122; stel: jr $25123; stel: $__fn_local_v_df_sf = v_df_sf124; stel: .end __fn_stub_v_df_sf125 126; Function Attrs: nounwind127define void @v_df_df(double %p1, double %p2) #0 {128entry:129  %p1.addr = alloca double, align 8130  %p2.addr = alloca double, align 8131  store double %p1, ptr %p1.addr, align 8132  store double %p2, ptr %p2.addr, align 8133  %0 = load double, ptr %p1.addr, align 8134  store double %0, ptr @xd, align 8135  %1 = load double, ptr %p2.addr, align 8136  store double %1, ptr @yd, align 8137  ret void138}139 140; stel: .section .mips16.fn.v_df_df,"ax",@progbits141; stel: .ent __fn_stub_v_df_df142; stel: lui $25, %hi(v_df_df)143; stel: addiu $25, $25, %lo(v_df_df)144; stel: mfc1 $4, $f12145; stel: mfc1 $5, $f13146; stel: mfc1 $6, $f14147; stel: mfc1 $7, $f15148; stel: jr $25149; stel: $__fn_local_v_df_df = v_df_df150; stel: .end __fn_stub_v_df_df151 152; Function Attrs: nounwind153define float @sf_v() #0 {154entry:155  %0 = load float, ptr @ret_sf, align 4156  ret float %0157}158 159; Function Attrs: nounwind160define float @sf_sf(float %p) #0 {161entry:162  %p.addr = alloca float, align 4163  store float %p, ptr %p.addr, align 4164  %0 = load float, ptr %p.addr, align 4165  store float %0, ptr @x, align 4166  %1 = load float, ptr @ret_sf, align 4167  ret float %1168}169 170 171; stel: .section .mips16.fn.sf_sf,"ax",@progbits172; stel: .ent __fn_stub_sf_sf173; stel: lui $25, %hi(sf_sf)174; stel: addiu $25, $25, %lo(sf_sf)175; stel: mfc1 $4, $f12176; stel: jr $25177; stel: $__fn_local_sf_sf = sf_sf178; stel: .end __fn_stub_sf_sf179 180 181; Function Attrs: nounwind182define float @sf_df(double %p) #0 {183entry:184  %p.addr = alloca double, align 8185  store double %p, ptr %p.addr, align 8186  %0 = load double, ptr %p.addr, align 8187  store double %0, ptr @xd, align 8188  %1 = load float, ptr @ret_sf, align 4189  ret float %1190}191 192; stel: .section .mips16.fn.sf_df,"ax",@progbits193; stel: .ent __fn_stub_sf_df194; stel: lui $25, %hi(sf_df)195; stel: addiu $25, $25, %lo(sf_df)196; stel: mfc1 $4, $f12197; stel: mfc1 $5, $f13198; stel: jr $25199; stel: $__fn_local_sf_df = sf_df200; stel: .end __fn_stub_sf_df201 202; Function Attrs: nounwind203define float @sf_sf_sf(float %p1, float %p2) #0 {204entry:205  %p1.addr = alloca float, align 4206  %p2.addr = alloca float, align 4207  store float %p1, ptr %p1.addr, align 4208  store float %p2, ptr %p2.addr, align 4209  %0 = load float, ptr %p1.addr, align 4210  store float %0, ptr @x, align 4211  %1 = load float, ptr %p2.addr, align 4212  store float %1, ptr @y, align 4213  %2 = load float, ptr @ret_sf, align 4214  ret float %2215}216 217; stel: .section .mips16.fn.sf_sf_sf,"ax",@progbits218; stel: .ent __fn_stub_sf_sf_sf219; stel: lui $25, %hi(sf_sf_sf)220; stel: addiu $25, $25, %lo(sf_sf_sf)221; stel: mfc1 $4, $f12222; stel: mfc1 $5, $f14223; stel: jr $25224; stel: $__fn_local_sf_sf_sf = sf_sf_sf225; stel: .end __fn_stub_sf_sf_sf226 227; Function Attrs: nounwind228define float @sf_sf_df(float %p1, double %p2) #0 {229entry:230  %p1.addr = alloca float, align 4231  %p2.addr = alloca double, align 8232  store float %p1, ptr %p1.addr, align 4233  store double %p2, ptr %p2.addr, align 8234  %0 = load float, ptr %p1.addr, align 4235  store float %0, ptr @x, align 4236  %1 = load double, ptr %p2.addr, align 8237  store double %1, ptr @yd, align 8238  %2 = load float, ptr @ret_sf, align 4239  ret float %2240}241 242; stel: .section .mips16.fn.sf_sf_df,"ax",@progbits243; stel: .ent __fn_stub_sf_sf_df244; stel: lui $25, %hi(sf_sf_df)245; stel: addiu $25, $25, %lo(sf_sf_df)246; stel: mfc1 $4, $f12247; stel: mfc1 $6, $f14248; stel: mfc1 $7, $f15249; stel: jr $25250; stel: $__fn_local_sf_sf_df = sf_sf_df251; stel: .end __fn_stub_sf_sf_df252 253; Function Attrs: nounwind254define float @sf_df_sf(double %p1, float %p2) #0 {255entry:256  %p1.addr = alloca double, align 8257  %p2.addr = alloca float, align 4258  store double %p1, ptr %p1.addr, align 8259  store float %p2, ptr %p2.addr, align 4260  %0 = load double, ptr %p1.addr, align 8261  store double %0, ptr @xd, align 8262  %1 = load float, ptr %p2.addr, align 4263  store float %1, ptr @y, align 4264  %2 = load float, ptr @ret_sf, align 4265  ret float %2266}267 268; stel: .section .mips16.fn.sf_df_sf,"ax",@progbits269; stel: .ent __fn_stub_sf_df_sf270; stel: lui $25, %hi(sf_df_sf)271; stel: addiu $25, $25, %lo(sf_df_sf)272; stel: mfc1 $4, $f12273; stel: mfc1 $5, $f13274; stel: mfc1 $6, $f14275; stel: jr $25276; stel: $__fn_local_sf_df_sf = sf_df_sf277; stel: .end __fn_stub_sf_df_sf278 279; Function Attrs: nounwind280define float @sf_df_df(double %p1, double %p2) #0 {281entry:282  %p1.addr = alloca double, align 8283  %p2.addr = alloca double, align 8284  store double %p1, ptr %p1.addr, align 8285  store double %p2, ptr %p2.addr, align 8286  %0 = load double, ptr %p1.addr, align 8287  store double %0, ptr @xd, align 8288  %1 = load double, ptr %p2.addr, align 8289  store double %1, ptr @yd, align 8290  %2 = load float, ptr @ret_sf, align 4291  ret float %2292}293 294; stel: .section .mips16.fn.sf_df_df,"ax",@progbits295; stel: .ent __fn_stub_sf_df_df296; stel: lui $25, %hi(sf_df_df)297; stel: addiu $25, $25, %lo(sf_df_df)298; stel: mfc1 $4, $f12299; stel: mfc1 $5, $f13300; stel: mfc1 $6, $f14301; stel: mfc1 $7, $f15302; stel: jr $25303; stel: $__fn_local_sf_df_df = sf_df_df304; stel: .end __fn_stub_sf_df_df305 306attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "use-soft-float"="false" }307