diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 11e30c7968b73efdf0247a8bf687240db96a11b1..1b520f8bed67d25e0ae087ebdd2e7ad5f6043296 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 14 16:58:45 2000 Jim Wilson <wilson@cygnus.com> + + * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3): + Use .s1 not .s0 for all FP instructions. + 2000-04-14 Zack Weinberg <zack@wolery.cumb.org> * 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 a34632629384e90a982f3bb3e9f60789b2c6417b..ea17112bba4d719ee43e0329eb53251f9c2fb9fd 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