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.htmlReceived on Tue Mar 9 15:58:17 2004
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:24 EST