Skip to content

Commit 3db1742

Browse files
committed
[Mips] Add frexpl and sincosl to f128 libcall list
1 parent dab971e commit 3db1742

File tree

3 files changed

+33
-33
lines changed

3 files changed

+33
-33
lines changed

llvm/lib/Target/Mips/MipsCCState.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ bool MipsCCState::isF128SoftLibCall(const char *CallSym) {
2323
"__subtf3", "__trunctfdf2", "__trunctfsf2", "__unordtf2",
2424
"ceill", "copysignl", "cosl", "exp2l",
2525
"expl", "floorl", "fmal", "fmaxl",
26-
"fmodl", "log10l", "log2l", "logl",
27-
"nearbyintl", "powl", "rintl", "roundl",
28-
"sinl", "sqrtl", "truncl"};
26+
"fmodl", "frexpl", "log10l", "log2l",
27+
"logl", "nearbyintl", "powl", "rintl",
28+
"roundl", "sincosl", "sinl", "sqrtl",
29+
"truncl"};
2930

3031
// Check that LibCalls is sorted alphabetically.
3132
auto Comp = [](const char *S1, const char *S2) { return strcmp(S1, S2) < 0; };

llvm/test/CodeGen/Mips/llvm.frexp.ll

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -493,10 +493,10 @@ define { fp128, i32 } @test_frexp_fp128_i32(fp128 %a) nounwind {
493493
; SOFT-FLOAT-64: # %bb.0:
494494
; SOFT-FLOAT-64-NEXT: daddiu $sp, $sp, -16
495495
; SOFT-FLOAT-64-NEXT: sd $ra, 8($sp) # 8-byte Folded Spill
496-
; SOFT-FLOAT-64-NEXT: dmfc1 $4, $f12
497-
; SOFT-FLOAT-64-NEXT: dmfc1 $5, $f13
498496
; SOFT-FLOAT-64-NEXT: jal frexpl
499497
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 4
498+
; SOFT-FLOAT-64-NEXT: dmfc1 $2, $f0
499+
; SOFT-FLOAT-64-NEXT: dmfc1 $3, $f2
500500
; SOFT-FLOAT-64-NEXT: lw $4, 4($sp)
501501
; SOFT-FLOAT-64-NEXT: ld $ra, 8($sp) # 8-byte Folded Reload
502502
; SOFT-FLOAT-64-NEXT: jr $ra
@@ -597,39 +597,39 @@ define { <2 x fp128>, <2 x i32> } @test_frexp_v2fp128_v2i32(<2 x fp128> %a) noun
597597
; SOFT-FLOAT-64-LABEL: test_frexp_v2fp128_v2i32:
598598
; SOFT-FLOAT-64: # %bb.0:
599599
; SOFT-FLOAT-64-NEXT: daddiu $sp, $sp, -64
600-
; SOFT-FLOAT-64-NEXT: sd $ra, 56($sp) # 8-byte Folded Spill
601-
; SOFT-FLOAT-64-NEXT: sd $20, 48($sp) # 8-byte Folded Spill
602-
; SOFT-FLOAT-64-NEXT: sd $19, 40($sp) # 8-byte Folded Spill
600+
; SOFT-FLOAT-64-NEXT: sdc1 $f25, 56($sp) # 8-byte Folded Spill
601+
; SOFT-FLOAT-64-NEXT: sdc1 $f24, 48($sp) # 8-byte Folded Spill
602+
; SOFT-FLOAT-64-NEXT: sd $ra, 40($sp) # 8-byte Folded Spill
603603
; SOFT-FLOAT-64-NEXT: sd $18, 32($sp) # 8-byte Folded Spill
604604
; SOFT-FLOAT-64-NEXT: sd $17, 24($sp) # 8-byte Folded Spill
605605
; SOFT-FLOAT-64-NEXT: sd $16, 16($sp) # 8-byte Folded Spill
606606
; SOFT-FLOAT-64-NEXT: move $16, $6
607607
; SOFT-FLOAT-64-NEXT: move $17, $5
608608
; SOFT-FLOAT-64-NEXT: move $18, $4
609-
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 12
610-
; SOFT-FLOAT-64-NEXT: move $4, $7
609+
; SOFT-FLOAT-64-NEXT: dmtc1 $7, $f12
610+
; SOFT-FLOAT-64-NEXT: dmtc1 $8, $f13
611611
; SOFT-FLOAT-64-NEXT: jal frexpl
612-
; SOFT-FLOAT-64-NEXT: move $5, $8
613-
; SOFT-FLOAT-64-NEXT: move $19, $2
614-
; SOFT-FLOAT-64-NEXT: move $20, $3
612+
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 12
613+
; SOFT-FLOAT-64-NEXT: mov.d $f24, $f0
614+
; SOFT-FLOAT-64-NEXT: mov.d $f25, $f2
615+
; SOFT-FLOAT-64-NEXT: dmtc1 $17, $f12
616+
; SOFT-FLOAT-64-NEXT: dmtc1 $16, $f13
615617
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 8
616618
; SOFT-FLOAT-64-NEXT: lw $1, 12($sp)
617-
; SOFT-FLOAT-64-NEXT: sw $1, 36($18)
618-
; SOFT-FLOAT-64-NEXT: move $4, $17
619619
; SOFT-FLOAT-64-NEXT: jal frexpl
620-
; SOFT-FLOAT-64-NEXT: move $5, $16
620+
; SOFT-FLOAT-64-NEXT: sw $1, 36($18)
621621
; SOFT-FLOAT-64-NEXT: lw $1, 8($sp)
622622
; SOFT-FLOAT-64-NEXT: sw $1, 32($18)
623-
; SOFT-FLOAT-64-NEXT: sd $20, 24($18)
624-
; SOFT-FLOAT-64-NEXT: sd $19, 16($18)
625-
; SOFT-FLOAT-64-NEXT: sd $3, 8($18)
626-
; SOFT-FLOAT-64-NEXT: sd $2, 0($18)
623+
; SOFT-FLOAT-64-NEXT: sdc1 $f25, 24($18)
624+
; SOFT-FLOAT-64-NEXT: sdc1 $f24, 16($18)
625+
; SOFT-FLOAT-64-NEXT: sdc1 $f2, 8($18)
626+
; SOFT-FLOAT-64-NEXT: sdc1 $f0, 0($18)
627627
; SOFT-FLOAT-64-NEXT: ld $16, 16($sp) # 8-byte Folded Reload
628628
; SOFT-FLOAT-64-NEXT: ld $17, 24($sp) # 8-byte Folded Reload
629629
; SOFT-FLOAT-64-NEXT: ld $18, 32($sp) # 8-byte Folded Reload
630-
; SOFT-FLOAT-64-NEXT: ld $19, 40($sp) # 8-byte Folded Reload
631-
; SOFT-FLOAT-64-NEXT: ld $20, 48($sp) # 8-byte Folded Reload
632-
; SOFT-FLOAT-64-NEXT: ld $ra, 56($sp) # 8-byte Folded Reload
630+
; SOFT-FLOAT-64-NEXT: ld $ra, 40($sp) # 8-byte Folded Reload
631+
; SOFT-FLOAT-64-NEXT: ldc1 $f24, 48($sp) # 8-byte Folded Reload
632+
; SOFT-FLOAT-64-NEXT: ldc1 $f25, 56($sp) # 8-byte Folded Reload
633633
; SOFT-FLOAT-64-NEXT: jr $ra
634634
; SOFT-FLOAT-64-NEXT: daddiu $sp, $sp, 64
635635
%result = call { <2 x fp128>, <2 x i32> } @llvm.frexp.v2fp128.v2i32(<2 x fp128> %a)

llvm/test/CodeGen/Mips/llvm.sincos.ll

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -845,12 +845,12 @@ define { fp128, fp128 } @test_sincos_f128(fp128 %a) #0 {
845845
; SOFT-FLOAT-64-NEXT: daddiu $sp, $sp, -48
846846
; SOFT-FLOAT-64-NEXT: sd $ra, 40($sp) # 8-byte Folded Spill
847847
; SOFT-FLOAT-64-NEXT: sd $16, 32($sp) # 8-byte Folded Spill
848+
; SOFT-FLOAT-64-NEXT: mov.d $f12, $f13
848849
; SOFT-FLOAT-64-NEXT: move $16, $4
849-
; SOFT-FLOAT-64-NEXT: dmfc1 $4, $f13
850-
; SOFT-FLOAT-64-NEXT: dmfc1 $5, $f14
851850
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 16
852-
; SOFT-FLOAT-64-NEXT: jal sincosl
853851
; SOFT-FLOAT-64-NEXT: daddiu $7, $sp, 0
852+
; SOFT-FLOAT-64-NEXT: jal sincosl
853+
; SOFT-FLOAT-64-NEXT: mov.d $f13, $f14
854854
; SOFT-FLOAT-64-NEXT: ld $1, 8($sp)
855855
; SOFT-FLOAT-64-NEXT: sd $1, 24($16)
856856
; SOFT-FLOAT-64-NEXT: ld $1, 0($sp)
@@ -1001,20 +1001,19 @@ define { <2 x fp128>, <2 x fp128> } @test_sincos_v2f128(<2 x fp128> %a) #0 {
10011001
; SOFT-FLOAT-64-NEXT: sd $18, 80($sp) # 8-byte Folded Spill
10021002
; SOFT-FLOAT-64-NEXT: sd $17, 72($sp) # 8-byte Folded Spill
10031003
; SOFT-FLOAT-64-NEXT: sd $16, 64($sp) # 8-byte Folded Spill
1004-
; SOFT-FLOAT-64-NEXT: move $1, $7
10051004
; SOFT-FLOAT-64-NEXT: move $16, $6
10061005
; SOFT-FLOAT-64-NEXT: move $17, $5
10071006
; SOFT-FLOAT-64-NEXT: move $18, $4
1007+
; SOFT-FLOAT-64-NEXT: dmtc1 $7, $f12
1008+
; SOFT-FLOAT-64-NEXT: dmtc1 $8, $f13
10081009
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 48
1009-
; SOFT-FLOAT-64-NEXT: daddiu $7, $sp, 32
1010-
; SOFT-FLOAT-64-NEXT: move $4, $1
10111010
; SOFT-FLOAT-64-NEXT: jal sincosl
1012-
; SOFT-FLOAT-64-NEXT: move $5, $8
1011+
; SOFT-FLOAT-64-NEXT: daddiu $7, $sp, 32
1012+
; SOFT-FLOAT-64-NEXT: dmtc1 $17, $f12
1013+
; SOFT-FLOAT-64-NEXT: dmtc1 $16, $f13
10131014
; SOFT-FLOAT-64-NEXT: daddiu $6, $sp, 16
1014-
; SOFT-FLOAT-64-NEXT: daddiu $7, $sp, 0
1015-
; SOFT-FLOAT-64-NEXT: move $4, $17
10161015
; SOFT-FLOAT-64-NEXT: jal sincosl
1017-
; SOFT-FLOAT-64-NEXT: move $5, $16
1016+
; SOFT-FLOAT-64-NEXT: daddiu $7, $sp, 0
10181017
; SOFT-FLOAT-64-NEXT: ld $1, 56($sp)
10191018
; SOFT-FLOAT-64-NEXT: ld $2, 0($sp)
10201019
; SOFT-FLOAT-64-NEXT: ld $3, 8($sp)

0 commit comments

Comments
 (0)