Skip to content

Commit 7547ff5

Browse files
authored
[X86] Consistently use f128 libcalls (#142386)
On x86, the `*l` libcalls are for 80-bit extended precision. `fp128` needs to use the `*f128` libcalls instead. Add a few missing ones, esp. for FP min/max. Also use the `f128` libcalls on x86-32. I believe the situation there is the same as on x86-64.
1 parent 16c13e5 commit 7547ff5

File tree

5 files changed

+67
-60
lines changed

5 files changed

+67
-60
lines changed

llvm/docs/ReleaseNotes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ Changes to the Windows Target
221221
Changes to the X86 Backend
222222
--------------------------
223223

224+
* `fp128` will now use `*f128` libcalls on 32-bit GNU targets as well.
225+
224226
Changes to the OCaml bindings
225227
-----------------------------
226228

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
2525
for (int LC = 0; LC < RTLIB::UNKNOWN_LIBCALL; ++LC)
2626
setLibcallCallingConv((RTLIB::Libcall)LC, CallingConv::C);
2727

28-
// Use the f128 variants of math functions on x86_64
29-
if (TT.getArch() == Triple::ArchType::x86_64 && TT.isGNUEnvironment()) {
28+
// Use the f128 variants of math functions on x86
29+
if (TT.isX86() && TT.isGNUEnvironment()) {
3030
setLibcallName(RTLIB::REM_F128, "fmodf128");
3131
setLibcallName(RTLIB::FMA_F128, "fmaf128");
3232
setLibcallName(RTLIB::SQRT_F128, "sqrtf128");
@@ -65,12 +65,17 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
6565
setLibcallName(RTLIB::COPYSIGN_F128, "copysignf128");
6666
setLibcallName(RTLIB::FMIN_F128, "fminf128");
6767
setLibcallName(RTLIB::FMAX_F128, "fmaxf128");
68+
setLibcallName(RTLIB::FMINIMUM_F128, "fminimumf128");
69+
setLibcallName(RTLIB::FMAXIMUM_F128, "fmaximumf128");
70+
setLibcallName(RTLIB::FMINIMUMNUM_F128, "fminimum_numf128");
71+
setLibcallName(RTLIB::FMAXIMUMNUM_F128, "fmaximum_numf128");
6872
setLibcallName(RTLIB::LROUND_F128, "lroundf128");
6973
setLibcallName(RTLIB::LLROUND_F128, "llroundf128");
7074
setLibcallName(RTLIB::LRINT_F128, "lrintf128");
7175
setLibcallName(RTLIB::LLRINT_F128, "llrintf128");
7276
setLibcallName(RTLIB::LDEXP_F128, "ldexpf128");
7377
setLibcallName(RTLIB::FREXP_F128, "frexpf128");
78+
setLibcallName(RTLIB::MODF_F128, "modff128");
7479
}
7580

7681
// For IEEE quad-precision libcall names, PPC uses "kf" instead of "tf".

llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ define fp128 @maximum_fp128(fp128 %x, fp128 %y) nounwind {
239239
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
240240
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
241241
; CHECK-NEXT: pushl %eax
242-
; CHECK-NEXT: calll fmaximuml
242+
; CHECK-NEXT: calll fmaximumf128
243243
; CHECK-NEXT: addl $44, %esp
244244
; CHECK-NEXT: movl (%esp), %eax
245245
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
@@ -496,7 +496,7 @@ define fp128 @minimum_fp128(fp128 %x, fp128 %y) nounwind {
496496
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
497497
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
498498
; CHECK-NEXT: pushl %eax
499-
; CHECK-NEXT: calll fminimuml
499+
; CHECK-NEXT: calll fminimumf128
500500
; CHECK-NEXT: addl $44, %esp
501501
; CHECK-NEXT: movl (%esp), %eax
502502
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
@@ -533,7 +533,7 @@ define fp128 @maximumnum_fp128(fp128 %x, fp128 %y) nounwind {
533533
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
534534
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
535535
; CHECK-NEXT: pushl %eax
536-
; CHECK-NEXT: calll fmaximum_numl
536+
; CHECK-NEXT: calll fmaximum_numf128
537537
; CHECK-NEXT: addl $44, %esp
538538
; CHECK-NEXT: movl (%esp), %eax
539539
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
@@ -570,7 +570,7 @@ define fp128 @minimumnum_fp128(fp128 %x, fp128 %y) nounwind {
570570
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
571571
; CHECK-NEXT: pushl {{[0-9]+}}(%esp)
572572
; CHECK-NEXT: pushl %eax
573-
; CHECK-NEXT: calll fminimum_numl
573+
; CHECK-NEXT: calll fminimum_numf128
574574
; CHECK-NEXT: addl $44, %esp
575575
; CHECK-NEXT: movl (%esp), %eax
576576
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx

llvm/test/CodeGen/X86/fp128-libcalls-strict.ll

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ define fp128 @fma(fp128 %x, fp128 %y, fp128 %z) nounwind strictfp {
452452
; X86-NEXT: pushl {{[0-9]+}}(%esp)
453453
; X86-NEXT: pushl {{[0-9]+}}(%esp)
454454
; X86-NEXT: pushl %eax
455-
; X86-NEXT: calll fmal
455+
; X86-NEXT: calll fmaf128
456456
; X86-NEXT: addl $60, %esp
457457
; X86-NEXT: movaps (%esp), %xmm0
458458
; X86-NEXT: movaps %xmm0, (%esi)
@@ -552,7 +552,7 @@ define fp128 @frem(fp128 %x, fp128 %y) nounwind strictfp {
552552
; X86-NEXT: pushl {{[0-9]+}}(%esp)
553553
; X86-NEXT: pushl {{[0-9]+}}(%esp)
554554
; X86-NEXT: pushl %eax
555-
; X86-NEXT: calll fmodl
555+
; X86-NEXT: calll fmodf128
556556
; X86-NEXT: addl $44, %esp
557557
; X86-NEXT: movaps (%esp), %xmm0
558558
; X86-NEXT: movaps %xmm0, (%esi)
@@ -641,7 +641,7 @@ define fp128 @ceil(fp128 %x) nounwind strictfp {
641641
; X86-NEXT: pushl {{[0-9]+}}(%esp)
642642
; X86-NEXT: pushl {{[0-9]+}}(%esp)
643643
; X86-NEXT: pushl %eax
644-
; X86-NEXT: calll ceill
644+
; X86-NEXT: calll ceilf128
645645
; X86-NEXT: addl $28, %esp
646646
; X86-NEXT: movaps (%esp), %xmm0
647647
; X86-NEXT: movaps %xmm0, (%esi)
@@ -723,7 +723,7 @@ define fp128 @acos(fp128 %x) nounwind strictfp {
723723
; X86-NEXT: pushl {{[0-9]+}}(%esp)
724724
; X86-NEXT: pushl {{[0-9]+}}(%esp)
725725
; X86-NEXT: pushl %eax
726-
; X86-NEXT: calll acosl
726+
; X86-NEXT: calll acosf128
727727
; X86-NEXT: addl $28, %esp
728728
; X86-NEXT: movaps (%esp), %xmm0
729729
; X86-NEXT: movaps %xmm0, (%esi)
@@ -805,7 +805,7 @@ define fp128 @cos(fp128 %x) nounwind strictfp {
805805
; X86-NEXT: pushl {{[0-9]+}}(%esp)
806806
; X86-NEXT: pushl {{[0-9]+}}(%esp)
807807
; X86-NEXT: pushl %eax
808-
; X86-NEXT: calll cosl
808+
; X86-NEXT: calll cosf128
809809
; X86-NEXT: addl $28, %esp
810810
; X86-NEXT: movaps (%esp), %xmm0
811811
; X86-NEXT: movaps %xmm0, (%esi)
@@ -887,7 +887,7 @@ define fp128 @cosh(fp128 %x) nounwind strictfp {
887887
; X86-NEXT: pushl {{[0-9]+}}(%esp)
888888
; X86-NEXT: pushl {{[0-9]+}}(%esp)
889889
; X86-NEXT: pushl %eax
890-
; X86-NEXT: calll coshl
890+
; X86-NEXT: calll coshf128
891891
; X86-NEXT: addl $28, %esp
892892
; X86-NEXT: movaps (%esp), %xmm0
893893
; X86-NEXT: movaps %xmm0, (%esi)
@@ -969,7 +969,7 @@ define fp128 @exp(fp128 %x) nounwind strictfp {
969969
; X86-NEXT: pushl {{[0-9]+}}(%esp)
970970
; X86-NEXT: pushl {{[0-9]+}}(%esp)
971971
; X86-NEXT: pushl %eax
972-
; X86-NEXT: calll expl
972+
; X86-NEXT: calll expf128
973973
; X86-NEXT: addl $28, %esp
974974
; X86-NEXT: movaps (%esp), %xmm0
975975
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1051,7 +1051,7 @@ define fp128 @exp2(fp128 %x) nounwind strictfp {
10511051
; X86-NEXT: pushl {{[0-9]+}}(%esp)
10521052
; X86-NEXT: pushl {{[0-9]+}}(%esp)
10531053
; X86-NEXT: pushl %eax
1054-
; X86-NEXT: calll exp2l
1054+
; X86-NEXT: calll exp2f128
10551055
; X86-NEXT: addl $28, %esp
10561056
; X86-NEXT: movaps (%esp), %xmm0
10571057
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1133,7 +1133,7 @@ define fp128 @floor(fp128 %x) nounwind strictfp {
11331133
; X86-NEXT: pushl {{[0-9]+}}(%esp)
11341134
; X86-NEXT: pushl {{[0-9]+}}(%esp)
11351135
; X86-NEXT: pushl %eax
1136-
; X86-NEXT: calll floorl
1136+
; X86-NEXT: calll floorf128
11371137
; X86-NEXT: addl $28, %esp
11381138
; X86-NEXT: movaps (%esp), %xmm0
11391139
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1215,7 +1215,7 @@ define fp128 @log(fp128 %x) nounwind strictfp {
12151215
; X86-NEXT: pushl {{[0-9]+}}(%esp)
12161216
; X86-NEXT: pushl {{[0-9]+}}(%esp)
12171217
; X86-NEXT: pushl %eax
1218-
; X86-NEXT: calll logl
1218+
; X86-NEXT: calll logf128
12191219
; X86-NEXT: addl $28, %esp
12201220
; X86-NEXT: movaps (%esp), %xmm0
12211221
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1297,7 +1297,7 @@ define fp128 @log10(fp128 %x) nounwind strictfp {
12971297
; X86-NEXT: pushl {{[0-9]+}}(%esp)
12981298
; X86-NEXT: pushl {{[0-9]+}}(%esp)
12991299
; X86-NEXT: pushl %eax
1300-
; X86-NEXT: calll log10l
1300+
; X86-NEXT: calll log10f128
13011301
; X86-NEXT: addl $28, %esp
13021302
; X86-NEXT: movaps (%esp), %xmm0
13031303
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1379,7 +1379,7 @@ define fp128 @log2(fp128 %x) nounwind strictfp {
13791379
; X86-NEXT: pushl {{[0-9]+}}(%esp)
13801380
; X86-NEXT: pushl {{[0-9]+}}(%esp)
13811381
; X86-NEXT: pushl %eax
1382-
; X86-NEXT: calll log2l
1382+
; X86-NEXT: calll log2f128
13831383
; X86-NEXT: addl $28, %esp
13841384
; X86-NEXT: movaps (%esp), %xmm0
13851385
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1465,7 +1465,7 @@ define fp128 @maxnum(fp128 %x, fp128 %y) nounwind strictfp {
14651465
; X86-NEXT: pushl {{[0-9]+}}(%esp)
14661466
; X86-NEXT: pushl {{[0-9]+}}(%esp)
14671467
; X86-NEXT: pushl %eax
1468-
; X86-NEXT: calll fmaxl
1468+
; X86-NEXT: calll fmaxf128
14691469
; X86-NEXT: addl $44, %esp
14701470
; X86-NEXT: movaps (%esp), %xmm0
14711471
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1558,7 +1558,7 @@ define fp128 @minnum(fp128 %x, fp128 %y) nounwind strictfp {
15581558
; X86-NEXT: pushl {{[0-9]+}}(%esp)
15591559
; X86-NEXT: pushl {{[0-9]+}}(%esp)
15601560
; X86-NEXT: pushl %eax
1561-
; X86-NEXT: calll fminl
1561+
; X86-NEXT: calll fminf128
15621562
; X86-NEXT: addl $44, %esp
15631563
; X86-NEXT: movaps (%esp), %xmm0
15641564
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1647,7 +1647,7 @@ define fp128 @nearbyint(fp128 %x) nounwind strictfp {
16471647
; X86-NEXT: pushl {{[0-9]+}}(%esp)
16481648
; X86-NEXT: pushl {{[0-9]+}}(%esp)
16491649
; X86-NEXT: pushl %eax
1650-
; X86-NEXT: calll nearbyintl
1650+
; X86-NEXT: calll nearbyintf128
16511651
; X86-NEXT: addl $28, %esp
16521652
; X86-NEXT: movaps (%esp), %xmm0
16531653
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1733,7 +1733,7 @@ define fp128 @pow(fp128 %x, fp128 %y) nounwind strictfp {
17331733
; X86-NEXT: pushl {{[0-9]+}}(%esp)
17341734
; X86-NEXT: pushl {{[0-9]+}}(%esp)
17351735
; X86-NEXT: pushl %eax
1736-
; X86-NEXT: calll powl
1736+
; X86-NEXT: calll powf128
17371737
; X86-NEXT: addl $44, %esp
17381738
; X86-NEXT: movaps (%esp), %xmm0
17391739
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1913,7 +1913,7 @@ define fp128 @rint(fp128 %x) nounwind strictfp {
19131913
; X86-NEXT: pushl {{[0-9]+}}(%esp)
19141914
; X86-NEXT: pushl {{[0-9]+}}(%esp)
19151915
; X86-NEXT: pushl %eax
1916-
; X86-NEXT: calll rintl
1916+
; X86-NEXT: calll rintf128
19171917
; X86-NEXT: addl $28, %esp
19181918
; X86-NEXT: movaps (%esp), %xmm0
19191919
; X86-NEXT: movaps %xmm0, (%esi)
@@ -1995,7 +1995,7 @@ define fp128 @round(fp128 %x) nounwind strictfp {
19951995
; X86-NEXT: pushl {{[0-9]+}}(%esp)
19961996
; X86-NEXT: pushl {{[0-9]+}}(%esp)
19971997
; X86-NEXT: pushl %eax
1998-
; X86-NEXT: calll roundl
1998+
; X86-NEXT: calll roundf128
19991999
; X86-NEXT: addl $28, %esp
20002000
; X86-NEXT: movaps (%esp), %xmm0
20012001
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2077,7 +2077,7 @@ define fp128 @roundeven(fp128 %x) nounwind strictfp {
20772077
; X86-NEXT: pushl {{[0-9]+}}(%esp)
20782078
; X86-NEXT: pushl {{[0-9]+}}(%esp)
20792079
; X86-NEXT: pushl %eax
2080-
; X86-NEXT: calll roundevenl
2080+
; X86-NEXT: calll roundevenf128
20812081
; X86-NEXT: addl $28, %esp
20822082
; X86-NEXT: movaps (%esp), %xmm0
20832083
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2159,7 +2159,7 @@ define fp128 @asin(fp128 %x) nounwind strictfp {
21592159
; X86-NEXT: pushl {{[0-9]+}}(%esp)
21602160
; X86-NEXT: pushl {{[0-9]+}}(%esp)
21612161
; X86-NEXT: pushl %eax
2162-
; X86-NEXT: calll asinl
2162+
; X86-NEXT: calll asinf128
21632163
; X86-NEXT: addl $28, %esp
21642164
; X86-NEXT: movaps (%esp), %xmm0
21652165
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2241,7 +2241,7 @@ define fp128 @sin(fp128 %x) nounwind strictfp {
22412241
; X86-NEXT: pushl {{[0-9]+}}(%esp)
22422242
; X86-NEXT: pushl {{[0-9]+}}(%esp)
22432243
; X86-NEXT: pushl %eax
2244-
; X86-NEXT: calll sinl
2244+
; X86-NEXT: calll sinf128
22452245
; X86-NEXT: addl $28, %esp
22462246
; X86-NEXT: movaps (%esp), %xmm0
22472247
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2323,7 +2323,7 @@ define fp128 @sinh(fp128 %x) nounwind strictfp {
23232323
; X86-NEXT: pushl {{[0-9]+}}(%esp)
23242324
; X86-NEXT: pushl {{[0-9]+}}(%esp)
23252325
; X86-NEXT: pushl %eax
2326-
; X86-NEXT: calll sinhl
2326+
; X86-NEXT: calll sinhf128
23272327
; X86-NEXT: addl $28, %esp
23282328
; X86-NEXT: movaps (%esp), %xmm0
23292329
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2405,7 +2405,7 @@ define fp128 @sqrt(fp128 %x) nounwind strictfp {
24052405
; X86-NEXT: pushl {{[0-9]+}}(%esp)
24062406
; X86-NEXT: pushl {{[0-9]+}}(%esp)
24072407
; X86-NEXT: pushl %eax
2408-
; X86-NEXT: calll sqrtl
2408+
; X86-NEXT: calll sqrtf128
24092409
; X86-NEXT: addl $28, %esp
24102410
; X86-NEXT: movaps (%esp), %xmm0
24112411
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2487,7 +2487,7 @@ define fp128 @atan(fp128 %x) nounwind strictfp {
24872487
; X86-NEXT: pushl {{[0-9]+}}(%esp)
24882488
; X86-NEXT: pushl {{[0-9]+}}(%esp)
24892489
; X86-NEXT: pushl %eax
2490-
; X86-NEXT: calll atanl
2490+
; X86-NEXT: calll atanf128
24912491
; X86-NEXT: addl $28, %esp
24922492
; X86-NEXT: movaps (%esp), %xmm0
24932493
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2573,7 +2573,7 @@ define fp128 @atan2(fp128 %x, fp128 %y) nounwind strictfp {
25732573
; X86-NEXT: pushl {{[0-9]+}}(%esp)
25742574
; X86-NEXT: pushl {{[0-9]+}}(%esp)
25752575
; X86-NEXT: pushl %eax
2576-
; X86-NEXT: calll atan2l
2576+
; X86-NEXT: calll atan2f128
25772577
; X86-NEXT: addl $44, %esp
25782578
; X86-NEXT: movaps (%esp), %xmm0
25792579
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2662,7 +2662,7 @@ define fp128 @tan(fp128 %x) nounwind strictfp {
26622662
; X86-NEXT: pushl {{[0-9]+}}(%esp)
26632663
; X86-NEXT: pushl {{[0-9]+}}(%esp)
26642664
; X86-NEXT: pushl %eax
2665-
; X86-NEXT: calll tanl
2665+
; X86-NEXT: calll tanf128
26662666
; X86-NEXT: addl $28, %esp
26672667
; X86-NEXT: movaps (%esp), %xmm0
26682668
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2744,7 +2744,7 @@ define fp128 @tanh(fp128 %x) nounwind strictfp {
27442744
; X86-NEXT: pushl {{[0-9]+}}(%esp)
27452745
; X86-NEXT: pushl {{[0-9]+}}(%esp)
27462746
; X86-NEXT: pushl %eax
2747-
; X86-NEXT: calll tanhl
2747+
; X86-NEXT: calll tanhf128
27482748
; X86-NEXT: addl $28, %esp
27492749
; X86-NEXT: movaps (%esp), %xmm0
27502750
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2826,7 +2826,7 @@ define fp128 @trunc(fp128 %x) nounwind strictfp {
28262826
; X86-NEXT: pushl {{[0-9]+}}(%esp)
28272827
; X86-NEXT: pushl {{[0-9]+}}(%esp)
28282828
; X86-NEXT: pushl %eax
2829-
; X86-NEXT: calll truncl
2829+
; X86-NEXT: calll truncf128
28302830
; X86-NEXT: addl $28, %esp
28312831
; X86-NEXT: movaps (%esp), %xmm0
28322832
; X86-NEXT: movaps %xmm0, (%esi)
@@ -2903,7 +2903,7 @@ define i32 @lrint(fp128 %x) nounwind strictfp {
29032903
; X86-NEXT: pushl {{[0-9]+}}(%esp)
29042904
; X86-NEXT: pushl {{[0-9]+}}(%esp)
29052905
; X86-NEXT: pushl {{[0-9]+}}(%esp)
2906-
; X86-NEXT: calll lrintl
2906+
; X86-NEXT: calll lrintf128
29072907
; X86-NEXT: addl $28, %esp
29082908
; X86-NEXT: retl
29092909
;
@@ -2953,7 +2953,7 @@ define i64 @llrint(fp128 %x) nounwind strictfp {
29532953
; X86-NEXT: pushl {{[0-9]+}}(%esp)
29542954
; X86-NEXT: pushl {{[0-9]+}}(%esp)
29552955
; X86-NEXT: pushl {{[0-9]+}}(%esp)
2956-
; X86-NEXT: calll llrintl
2956+
; X86-NEXT: calll llrintf128
29572957
; X86-NEXT: addl $28, %esp
29582958
; X86-NEXT: retl
29592959
;
@@ -3003,7 +3003,7 @@ define i32 @lround(fp128 %x) nounwind strictfp {
30033003
; X86-NEXT: pushl {{[0-9]+}}(%esp)
30043004
; X86-NEXT: pushl {{[0-9]+}}(%esp)
30053005
; X86-NEXT: pushl {{[0-9]+}}(%esp)
3006-
; X86-NEXT: calll lroundl
3006+
; X86-NEXT: calll lroundf128
30073007
; X86-NEXT: addl $28, %esp
30083008
; X86-NEXT: retl
30093009
;
@@ -3053,7 +3053,7 @@ define i64 @llround(fp128 %x) nounwind strictfp {
30533053
; X86-NEXT: pushl {{[0-9]+}}(%esp)
30543054
; X86-NEXT: pushl {{[0-9]+}}(%esp)
30553055
; X86-NEXT: pushl {{[0-9]+}}(%esp)
3056-
; X86-NEXT: calll llroundl
3056+
; X86-NEXT: calll llroundf128
30573057
; X86-NEXT: addl $28, %esp
30583058
; X86-NEXT: retl
30593059
;

0 commit comments

Comments
 (0)