MIPS o32 ABI spec, $fp1 valid?
Andrew Cagney
ac131313@redhat.com
Tue Jun 17 13:53:00 GMT 2003
Now we're getting somewhere :-) Next question.
Does the o32 ABI specify how to spill a loating point register (a spill
is different to a double store of a parameter as a spilt register is
recovered by the unwind code. mdebug might, for instance, specify
something.
Andrew
>> Co-processor 1 adds 32 32-bit floating-point general registers and a
>> 32-bit control/status register. Each even/odd pair of the 32
>> floating-point general registers can be used as either a 32-bit
>> single-precision floating-point register or as a 64-bit
>> double-precision floating-point register. For single-precision values,
>> the even-numbered floating-point register holds the value. For
>> double-precision values, the even-numbered floating-point register
>> holds the least significant 32 bits of the value and the odd-numbered
>> floating-point register holds the most significant 32 bits of the
>> value. This is always true, regardless of the byte ordering conventions
>> in use ( big endian or little endian).
>
>
> FYI, the above agrees with my reading of Kane (see
> http://sources.redhat.com/ml/gdb-patches/2003-06/msg00555.html ).
>
> The ISBN is 0135847494. it can be found used in lots of places for
> approx $10. I paid more for mine 10+ years ago. 8-)
>
>
>
>> Which is actually pretty ambiguous,
>
>
> not really at all: "Each even/odd pair... as either _a_ 32-bit ..."
> etc.
>
> Kane makes clear:
>
> In the following pages, the notation <i>FGR</i> refers to the
> FPA's general register 0 through 31, and <i>FPR</i> refers ot
> the FPA's floating-point registers (FPR 0 through 30) which
> are formed by concatenation of FGR's[sic] (as described in
> <b>Chapter 6</b>).
>
> Chapter 6 really makes quite clear that there are 16 FGRs.
>
>
>
> cgd
>
>
More information about the Gdb
mailing list