Re: Possible race condition with deferred binding on IPF

From: Zack Weinberg <zack_at_codesourcery.com>
Date: 2004-03-10 07:51:05
Jim Wilson <wilson@specifixinc.com> writes:

> On Mon, 2004-03-08 at 10:08, Zack Weinberg wrote:
>>         addl    r2 = @gprel(plt_reserve+8), r2 ;;
>>         ld8     r17 = [r2], 8
>>         mov     b6 = r17
>>         ld8     r1 = [r2], -16
>>         ld8     r16 = [r2]
>>         br      b6 ;;
>
> You are missing a stop bit between the load of r17 and its use.
>
> You have two post-increment addressing uses of r2.  A post-increment
> address is both a read and a write of the register.  Thus you need stop
> bits between the first and second loads to avoid a read-after write
> dependency violation.  Likewise, between the second and third loads.
>
> So your example needs 4 stop bits total (5 instruction groups).  The ABI
> recommended sequence only requires 2 (3 instruction groups).

Yeah, I was afraid of that.  I haven't had much luck making sense of
the stop-bit rules.

zw
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Mar 9 15:58:17 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:24 EST