This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: x86 fp fix


On Sat, Mar 25, 2000 at 02:57:29PM +1100, Alan Modra wrote:
> +#ifdef FP_PARANOIA
> +  /* Even if we do not want to check the inputs, this documents input
> +     constraints.  Which helps in understanding the following code.  */

Feel free to use ENABLE_CHECKING here.

> +      /* know operands[0] == operands[1] */

And a real if/abort here.

>  	  if (STACK_TOP_P (operands[0]))
> -	    p = "p\t{%0,%2|%2, %0}";
> +	    /* How is it that we are storing to a dead operand[2]?

Certainly this shouldn't happen when optimizing.  When
not optimizing, I'm not so sure it can't happen.  Things
are certainly ok if %2 is st(1).

> -	    p = "p\t{%2,%0|%0, %2}";
> +	    p = "p\t{%2,%0|%0, %2}";	/* st(r1) = st(r1) op st(0); pop */

As a nit, could you fix up the whitespace on both sides
while you're at it?  I.e. {%2, %0|%0, %2}.


r~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]