diff options
author | Chao-ying Fu <fu@mips.com> | 2013-09-12 21:41:08 +0000 |
---|---|---|
committer | Chao-ying Fu <fu@mips.com> | 2013-09-12 21:41:08 +0000 |
commit | 655f6413b72679d09f04e7ee3a7811403746fed7 (patch) | |
tree | 4493253c13ec7779a030f9b31f6cac20580c1fe6 /gas/config/tc-mips.c | |
parent | a5156841242b87e0763191cfd68c60522de4862a (diff) | |
download | binutils-redhat-655f6413b72679d09f04e7ee3a7811403746fed7.tar.gz |
2013-09-12 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
* config/tc-mips.c (match_insn): Set error when $31 is used for
bltzal* and bgezal*.
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index ca95922ef3..ff1c610d60 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7091,6 +7091,10 @@ match_insn (struct mips_cl_insn *insn, const struct mips_opcode *opcode, set_insn_error (0, _("a destination register must be supplied")); } + else if (arg.last_regno == 31 + && (strncmp (insn->insn_mo->name, "bltzal", 6) == 0 + || strncmp (insn->insn_mo->name, "bgezal", 6) == 0)) + set_insn_error (0, _("the source register must not be $31")); check_completed_insn (&arg); return TRUE; } |