This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: MIPS32R2 simulator fixes
Thiemo Seufer <ths@networkno.de> writes:
> Richard Sandiford wrote:
>> - The MIPS32R2 version of check_fmt_p checks UX and PX, but those
>> flags are always read as 0 on MIPS32R2 targets. There isn't
>> AFAIK any way of turning off paired-single instructions when
>> using a MIPS32R2 target that has a 64-bit FPU.
>
> It is correct that there's no separate switch to disable paired single
> when the MIPS-3D ASE is implemented. There is, however, the 3D bit in
> FCR0 which announces the availablity of paired single instructions,
> it should be set for the MIPS32R2/MIPS64* emulations.
OK.
>> sim/mips/
>> * mips.igen (check_fmt_p): Provide a separate mips32r2 definition
>> that unconditionally allows fmt_ps.
>> (ALNV.PS, CEIL.L.fmt, CVT.L.fmt, CVT.PS.S, CVT.S.PL, CVT.S.PU)
>> (FLOOR.L.fmt, LWXC1, MADD.fmt, MSUB.fmt, NMADD.fmt, NMSUB.fmt)
>> (PLL.PS, PLU.PS, PUL.PS, PUU.PS, ROUND.L.fmt, TRUNC.L.fmt): Change
>> filter from 64,f to 32,f.
>> (PREFX): Change filter from 64 to 32.
>> (LDXC1, LUXC1): Provide separate mips32r2 implementations
>> that use do_load_double instead of do_load. Make both LUXC1
>> versions unpredictable if SizeFGR () != 64.
>> (SDXC1, SUXC1): Extend to mips32r2, using do_store_double
>> instead of do_store. Remove unused variable. Make both SUXC1
>> versions unpredictable if SizeFGR () != 64.
>
> Looks good.
Applied, thanks.
Richard