From: Ian Lance Taylor Date: Tue, 19 Sep 1995 19:33:48 +0000 (+0000) Subject: * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9adcd78108cf3fd738cf973ab5c27c4c16c4df7d;p=binutils-gdb.git * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. Replace 'P' with '0', '1', and '2'. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 426e5d56da7..d7f472ad324 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ Tue Sep 19 11:31:31 1995 Ian Lance Taylor + * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'. + Replace 'P' with '0', '1', and '2'. + * config/tc-m68k.c (parse_mri_control_operand): Change leftstop and rightstop to not be const. (parse_mri_control_expression): Likewise. diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c index 01200f0243c..4c0fd6d690d 100644 --- a/gas/config/tc-m68k.c +++ b/gas/config/tc-m68k.c @@ -1227,6 +1227,12 @@ m68k_ip (instring) || opP->mode == AREG || opP->mode == REGLST) losing++; + /* We should accept immediate operands, but they + supposedly have to be quad word, and we don't + handle that. I would like to see what a Motorola + assembler does before doing something here. */ + if (opP->mode == IMMED) + losing++; break; case 'f': @@ -1235,13 +1241,21 @@ m68k_ip (instring) losing++; break; - case 'P': + case '0': + if (opP->mode != CONTROL || opP->reg != TC) + losing++; + break; + + case '1': + if (opP->mode != CONTROL || opP->reg != AC) + losing++; + break; + + case '2': if (opP->mode != CONTROL - || (opP->reg != TC - && opP->reg != CAL + || (opP->reg != CAL && opP->reg != VAL - && opP->reg != SCC - && opP->reg != AC)) + && opP->reg != SCC)) losing++; break; @@ -2258,7 +2272,9 @@ m68k_ip (instring) install_operand (s[1], tmpreg); break; - case 'P': + case '0': + case '1': + case '2': switch (opP->reg) { case TC: