* doc/c-mips.tex (-mgp32, -mfp32): Added -mfp32, unified with -mgp32.
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 2 Aug 2001 10:15:24 +0000 (10:15 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Thu, 2 Aug 2001 10:15:24 +0000 (10:15 +0000)
commitca4e0257d13e433e5ab6f5eb7fa6f7ec71355300
treee3ee45c9130bf1e053e4e441ff887bb560271209
parentad4571f3f363b358d11ec13357f8bffdbdd4312b
* doc/c-mips.tex (-mgp32, -mfp32): Added -mfp32, unified with -mgp32.
* config/tc-mips.c (mips_fp32, mips_32bit_abi): New static variables.
(md_long_opts): Add -mfp32 option.
(md_parse_option): Handle it.  Set mips_32bit_abi given -mabi=32.
(md_show_usage): Show usage for -mfp32 and -mgp32.
(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): New macros.
(HAVE_64BIT_GPRS, HAVE_64BIT_FPRS): New macros, inverse of the above.
(HAVE_32BIT_ADDRESSES): New macro.
(load_register): Use HAVE_32BIT_GPRS to determine the register width.
(load_address): Use HAVE_32BIT_ADDRESSES to determine the address size.
(s_cprestore, s_cpadd): Likewise.
(macro): Use HAVE_32BIT_GPRS to determine the width of registers
used in branch and M_LI_D macros.  Use HAVE_64BIT_FPRS to determine
the width registers used in M_LI_DD macros.  Use HAVE_32BIT_ADDRESSES
to determine the width of addresses in load, store and jump macros.
(macro2): Use HAVE_32BIT_GPRS to determine the width of registers
used in set instructions; do not check the address size for them.
Use HAVE_32BIT_ADDRESSES to determine the width of addresses in
unaligned load and store macros.
(mips_ip): Use the new macros to check the width of a register when
processing float constants.  Force a constant into memory if it is
destined for an FPR and the FPRs are wider than the GPRs.  Warn about
odd FPR numbers if HAVE_32BIT_FPRS.  Use HAVE_32BIT_GPRS rather
than mips_gp32 to select synthetic instructions.
(macro_build): Use HAVE_32BIT_GPRS rather than mips_gp32 to select
synthetic instructions.
gas/ChangeLog
gas/config/tc-mips.c
gas/doc/c-mips.texi