[parisc-linux] glibc 2.3.1 - It's alive! - patches

John David Anglin dave@hiauly1.hia.nrc.ca
Mon, 11 Nov 2002 19:22:13 -0500 (EST)


> And from the comment it seems that DHD wasn't sure either :)
> I don't quite understand what is meant by specifying register 0L?

You just have to do a floating-point load/store to/from register
0/0L using a doubleword/word instruction.  See the arch manual and
the comments about specify register 0 near the bottom of each
instruction description.  0L is the left part of floating 
register 0.  Doing this as a volatile asm should force completion
of all previous floating-point instructions.

A store from register 0 (the floating point status register) is a
safe barrier but you need to provide a location to store to.

I don't believe "fcpy,dbl %%fr0,%%fr0" provides the barrier
that you want.  The floating-point coprocessor is not required to
execute instructions sequentially although they must appear
sequential to software.  The above insn is a nop and the coprocessor
could throw it away early in the pipeline.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)