diff options
author | Chris Demetriou <cgd@google.com> | 2003-09-30 21:02:08 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2003-09-30 21:02:08 +0000 |
commit | 30c378fd6068045a2857a3cc78baad58aa787892 (patch) | |
tree | de96e03def471d3a629b7f967287a6687835e038 /gas/config | |
parent | 5cd8624d608aabf3b2b7f9d866c4a23f2e371a54 (diff) | |
download | gdb-30c378fd6068045a2857a3cc78baad58aa787892.zip gdb-30c378fd6068045a2857a3cc78baad58aa787892.tar.gz gdb-30c378fd6068045a2857a3cc78baad58aa787892.tar.bz2 |
[ gas/ChangeLog ]
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_ip): Capitalize first word of
existing condition code warning, and add condition code
warnings for .ps instructions, and for bc1any[24][tf].
[ gas/testsuite/ChangeLog ]
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* lib/gas-defs.exp (run_dump_test): If stderr file is specified
and there was no stderr output, compare anyway (i.e., cause a
test failure).
* gas/mips/mips64-mips3d.s: Add some new instructions to test warnings.
* gas/mips/mips64-mips3d.l: New file.
* gas/mips/mips64-mips3d.d: Use mips64-mips3d.l, and update for
changes to mips64-mips3d.s.
* gas/mips/mips64-mips3d-incl.d: Likewise.
* gas/mips/set-arch.l: New file.
* gas/mips/set-arch.d: Specify set-arch.l as stderr output to check.
* gas/mips/mips5.l: Make error messages match source.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 25e5a3d..a1f2d38 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -9369,7 +9369,18 @@ do_msbd: } while (ISDIGIT (*s)); if (regno > 7) - as_bad (_("invalid condition code register $fcc%d"), regno); + as_bad (_("Invalid condition code register $fcc%d"), regno); + if ((strcmp(str + strlen(str) - 3, ".ps") == 0 + || strcmp(str + strlen(str) - 5, "any2f") == 0 + || strcmp(str + strlen(str) - 5, "any2t") == 0) + && (regno & 1) != 0) + as_warn(_("Condition code register should be even for %s, was %d"), + str, regno); + if ((strcmp(str + strlen(str) - 5, "any4f") == 0 + || strcmp(str + strlen(str) - 5, "any4t") == 0) + && (regno & 3) != 0) + as_warn(_("Condition code register should be 0 or 4 for %s, was %d"), + str, regno); if (*args == 'N') ip->insn_opcode |= regno << OP_SH_BCC; else |