Not really. The register allocator is shooting itself in the foot. 4.5/4.6 may be better but I think the work around should be applied to resolve the problem. Dave > Any update on this ? > > I'm still running into the issue with gcc 4.4.4 and linux 2.6.37-rc1. > > Regards, > Guy > > On Sun, 7 Feb 2010 22:20:34 -0500 (EST) > "John David Anglin" <dave@xxxxxxxxxxxxxxxxxx> wrote: > > > > On Mon, Dec 07, 2009 at 10:01:14PM -0500, John David Anglin wrote: > > > > - volatile unsigned int *a; > > > > + volatile register unsigned int *a asm ("r20") = > > > > __ldcw_align(x); > > > > > > I'm reticent about moving the assignment around the mb(), should I > > > edit this to return the assignment and apply, or apply as is? > > > > I don't believe the __ldcw_align operation involves a memory read or > > write. It's just adjusting a pointer. Thus moving it past the mb() > > shouldn't matter. That said, I been wrong before... > > > > Dave > -- J. David Anglin dave.anglin@xxxxxxxxxxxxxx National Research Council of Canada (613) 990-0752 (FAX: 952-6602) -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html