[parisc-linux] fdisk problems 2.4 <-> 2.6

John David Anglin dave@hiauly1.hia.nrc.ca
Mon, 10 Nov 2003 00:25:42 -0500 (EST)


> %R2 is not *wrong* -- it points to the right side of argument register 
> 2 (jda explained this in an earlier thread), but I am not 100% sure 
> %R2 will do the right thing for a 32-bit build though -- if you are 
> running on a pa1.1 machine and the register is only 32-bit, does %R2 
> automatically do the right thing with 64-bit arguments?  I guess it's 
> easy enough to tell by looking at the code gcc generates...

'R' simply adds 1 to the register number specified for operand 2.
This is the right thing to do for a DImode value running 32-bit code.
In the code that gcc generates, we use a specific set of register
pairs for long doubles (see HARD_REGNO_MODE_OK).  The main question
that I would have is is the register created in the asm consistent
with the register allocation needed for a DImode value.  I think it
would be if the mode/type for the input/output was specified
correctly.  This can be done with a cast in the asm.

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