aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-d10v.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-11-29 18:04:12 +0000
committerAlexandre Oliva <aoliva@redhat.com>2001-11-29 18:04:12 +0000
commit55aa1bc40b10bf80322a02f313371e1b80cb6b86 (patch)
tree63995ebf5ac4aecb4f83f2d98963951ad16499bb /gas/config/tc-d10v.c
parente21c4a1c1b529bbce6c63e95ddb90b8d63ad0cde (diff)
downloadgdb-55aa1bc40b10bf80322a02f313371e1b80cb6b86.zip
gdb-55aa1bc40b10bf80322a02f313371e1b80cb6b86.tar.gz
gdb-55aa1bc40b10bf80322a02f313371e1b80cb6b86.tar.bz2
* config/tc-d10v.c (find_opcode): Reject non-SP operand if
flags requires SP.
Diffstat (limited to 'gas/config/tc-d10v.c')
-rw-r--r--gas/config/tc-d10v.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 43fd89c..284b2af 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1276,7 +1276,8 @@ find_opcode (opcode, myops)
if (X_op != O_register
|| (num & ~flags
& (OPERAND_GPR | OPERAND_ACC0 | OPERAND_ACC1
- | OPERAND_FFLAG | OPERAND_CFLAG | OPERAND_CONTROL)))
+ | OPERAND_FFLAG | OPERAND_CFLAG | OPERAND_CONTROL))
+ || ((flags & OPERAND_SP) && ! (num & OPERAND_SP)))
{
as_bad (_("bad opcode or operands"));
return 0;
@@ -1385,7 +1386,8 @@ find_opcode (opcode, myops)
|| (num & ~flags
& (OPERAND_GPR | OPERAND_ACC0 | OPERAND_ACC1
| OPERAND_FFLAG | OPERAND_CFLAG
- | OPERAND_CONTROL)))
+ | OPERAND_CONTROL))
+ || ((flags & OPERAND_SP) && ! (num & OPERAND_SP)))
{
match = 0;
break;