This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: PATCH: add pa2.0 system instructions
- To: "Jerry Quinn" <jquinn@nortelnetworks.com>
- Subject: Re: PATCH: add pa2.0 system instructions
- From: Jeffrey A Law <law@cygnus.com>
- Date: Fri, 09 Jul 1999 10:28:27 -0600
- cc: binutils@sourceware.cygnus.com
- Reply-To: law@cygnus.com
In message <14213.64155.863403.101617@gargle.gargle.HOWL>you write:
> This looks similar to mine, except I used 'l' and 'L' for long offsets, and
> 'm' for the completer. Also I didn't have a strict syntax flag.
In mine, I'd used 'l' and 'L' for the FP loads/stores. Note the integer and
FP long displacement loads & stores have to use different letters.
> Perhaps I don't understand here, but this doesn't seem ambiguous to me.
> There isn't ambiguity in the 0, 4, or 9. In the old syntax, 5 can only be
> a displacement.
But the code which parses an 'x' operand (or any register operand) will accept
an immediate and treat it like a register number. So, if you are using
existing letters to stand for registers, then you've got no way to distinguish
between those cases. It's a serious issue.
Given the table fragment I posted, there's no way to get load-word with short
displacement without modifying how the 'x' and other register operands are
handled because 'x' will interpret the short displacement as a register #.
jeff