From 660a0ebdf668ed52fe75cd55380e37526ba8543b Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Sat, 15 Apr 2000 00:00:02 +0000 Subject: [PATCH] Fix glibc math testsuite failures. * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3): Use .s1 not .s0 for all FP instructions. From-SVN: r33160 --- gcc/ChangeLog | 5 +++++ gcc/config/ia64/lib1funcs.asm | 42 +++++++++++++++++------------------ 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 11e30c7968b..1b520f8bed6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 14 16:58:45 2000 Jim Wilson + + * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3): + Use .s1 not .s0 for all FP instructions. + 2000-04-14 Zack Weinberg * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public diff --git a/gcc/config/ia64/lib1funcs.asm b/gcc/config/ia64/lib1funcs.asm index a3463262938..ea17112bba4 100644 --- a/gcc/config/ia64/lib1funcs.asm +++ b/gcc/config/ia64/lib1funcs.asm @@ -100,7 +100,7 @@ __divdi3: fcvt.xf f9 = f9 ;; // Compute the reciprocal approximation. - frcpa f10, p6 = f8, f9 + frcpa.s1 f10, p6 = f8, f9 ;; // 3 Newton-Raphson iterations. (p6) fma.s1 f11 = farg0, f10, f0 @@ -119,10 +119,10 @@ __divdi3: ;; (p6) fnma.s1 f8 = f9, f11, f8 ;; -(p6) fma f10 = f8, f10, f11 +(p6) fma.s1 f10 = f8, f10, f11 ;; // Round quotient to an integer. - fcvt.fx.trunc f8 = f10 + fcvt.fx.trunc.s1 f8 = f10 ;; // Transfer result to GP registers. getf.sig ret0 = f8 @@ -160,7 +160,7 @@ __moddi3: fcvt.xf f9 = f9 ;; // Compute the reciprocal approximation. - frcpa f10, p6 = f8, f9 + frcpa.s1 f10, p6 = f8, f9 ;; // 3 Newton-Raphson iterations. (p6) fma.s1 f11 = farg0, f10, f0 @@ -179,19 +179,19 @@ __moddi3: ;; (p6) fnma.s1 f12 = f9, f11, f8 ;; -(p6) fma f10 = f12, f10, f11 +(p6) fma.s1 f10 = f12, f10, f11 ;; // Round quotient to an integer. - fcvt.fx.trunc f10 = f10 + fcvt.fx.trunc.s1 f10 = f10 ;; // Renormalize. fcvt.xf f10 = f10 ;; // Compute remainder. - fnma f8 = f10, f9, f8 + fnma.s1 f8 = f10, f9, f8 ;; // Round remainder to an integer. - fcvt.fx.trunc f8 = f8 + fcvt.fx.trunc.s1 f8 = f8 ;; // Transfer result to GP registers. getf.sig ret0 = f8 @@ -225,11 +225,11 @@ __udivdi3: setf.sig f9 = in1 ;; // Convert the inputs to FP, to avoid FP software-assist faults. - fcvt.xuf f8 = f8 - fcvt.xuf f9 = f9 + fcvt.xuf.s1 f8 = f8 + fcvt.xuf.s1 f9 = f9 ;; // Compute the reciprocal approximation. - frcpa f10, p6 = f8, f9 + frcpa.s1 f10, p6 = f8, f9 ;; // 3 Newton-Raphson iterations. (p6) fma.s1 f11 = farg0, f10, f0 @@ -248,10 +248,10 @@ __udivdi3: ;; (p6) fnma.s1 f8 = f9, f11, f8 ;; -(p6) fma f10 = f8, f10, f11 +(p6) fma.s1 f10 = f8, f10, f11 ;; // Round quotient to an unsigned integer. - fcvt.fxu.trunc f8 = f10 + fcvt.fxu.trunc.s1 f8 = f10 ;; // Transfer result to GP registers. getf.sig ret0 = f8 @@ -285,11 +285,11 @@ __umoddi3: setf.sig f9 = in1 ;; // Convert the inputs to FP, to avoid FP software assist faults. - fcvt.xuf f8 = f8 - fcvt.xuf f9 = f9 + fcvt.xuf.s1 f8 = f8 + fcvt.xuf.s1 f9 = f9 ;; // Compute the reciprocal approximation. - frcpa f10, p6 = f8, f9 + frcpa.s1 f10, p6 = f8, f9 ;; // 3 Newton-Raphson iterations. (p6) fma.s1 f11 = farg0, f10, f0 @@ -308,19 +308,19 @@ __umoddi3: ;; (p6) fnma.s1 f12 = f9, f11, f8 ;; -(p6) fma f10 = f12, f10, f11 +(p6) fma.s1 f10 = f12, f10, f11 ;; // Round quotient to an unsigned integer. - fcvt.fxu.trunc f10 = f10 + fcvt.fxu.trunc.s1 f10 = f10 ;; // Renormalize. - fcvt.xuf f10 = f10 + fcvt.xuf.s1 f10 = f10 ;; // Compute remainder. - fnma f8 = f10, f9, f8 + fnma.s1 f8 = f10, f9, f8 ;; // Round remainder to an integer. - fcvt.fxu.trunc f8 = f8 + fcvt.fxu.trunc.s1 f8 = f8 ;; // Transfer result to GP registers. getf.sig ret0 = f8