39 lines · plain
1; RUN: llc -mtriple=mipsel-linux-gnu -mattr=mips16 -relocation-model=static < %s | FileCheck %s2 3@x = global float 0.000000e+00, align 44@.str = private unnamed_addr constant [20 x i8] c"in main: mips16 %f\0A\00", align 15 6; Function Attrs: nounwind7define void @foo() #0 {8entry:9 %0 = load float, ptr @x, align 410 %conv = fpext float %0 to double11 %add = fadd double %conv, 1.500000e+0012 %conv1 = fptrunc double %add to float13 store float %conv1, ptr @x, align 414 ret void15}16; CHECK: .ent foo17; CHECK: jal __mips16_extendsfdf218; CHECK: .end foo19 20; Function Attrs: nounwind21define void @nofoo() #1 {22entry:23 %0 = load float, ptr @x, align 424 %conv = fpext float %0 to double25 %add = fadd double %conv, 3.900000e+0026 %conv1 = fptrunc double %add to float27 store float %conv1, ptr @x, align 428 ret void29}30 31; CHECK: .ent nofoo32; CHECK: cvt.d.s $f{{.+}}, $f{{.+}}33; CHECK: .end nofoo34 35 36attributes #0 = { nounwind "less-precise-fpmad"="false" "mips16" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "use-soft-float"="false" }37attributes #1 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "nomips16" "stack-protector-buffer-size"="8" "use-soft-float"="false" }38 39