This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: Add MIPS32 "SYNC stype" instruction
- From: "Fu, Chao-Ying" <fu at mips dot com>
- To: "Thiemo Seufer" <ths at networkno dot de>
- Cc: <binutils at sourceware dot org>, "Robinson, James" <jrob at mips dot com>, "Lau, David" <davidlau at mips dot com>
- Date: Fri, 25 Jul 2008 10:35:37 -0700
- Subject: RE: Add MIPS32 "SYNC stype" instruction
Thiemo Seufer wrote:
> >
> > Each of these characters corresponds to a mask field
> defined above.
> >
> > + "1" 5 bit sync type amount (OP_*_SHAMT)
>
> It think you meant "... sync type shift amount ..."
I forgot to remove "amount". It should be "5-bit sync type".
> > Index: gas/config/tc-mips.c
> > ===================================================================
> > RCS file: /cvs/src/src/gas/config/tc-mips.c,v
> > retrieving revision 1.391
> > diff -u -p -r1.391 tc-mips.c
> > --- gas/config/tc-mips.c 22 Jul 2008 10:44:50 -0000 1.391
> > +++ gas/config/tc-mips.c 24 Jul 2008 23:31:43 -0000
> > @@ -8412,6 +8412,7 @@ validate_mips_insn (const struct mips_op
> > case '%': USE_BITS (OP_MASK_VECALIGN,
> OP_SH_VECALIGN); break;
> > case '[': break;
> > case ']': break;
> > + case '1': USE_BITS (OP_MASK_SHAMT,
> OP_SH_SHAMT); break;
>
> Formatting.
Yes. Due to the "+" sign, this looks odd. But actually it is
is ok.
> Index: gas/testsuite/gas/mips/mips32-sync.s
> > ===================================================================
> > RCS file: gas/testsuite/gas/mips/mips32-sync.s
> > diff -N gas/testsuite/gas/mips/mips32-sync.s
> > --- /dev/null 1 Jan 1970 00:00:00 -0000
> > +++ gas/testsuite/gas/mips/mips32-sync.s 24 Jul 2008
> 23:31:43 -0000
> > @@ -0,0 +1,10 @@
> > + .text
> > +foo:
> > + .ent foo
> > + sync
> > + sync 0
> > + sync 1
> > + sync 2
> > + sync 30
> > + sync 31
>
> Is the semantic of those values documented anywhere?
>
Recently, James Robinson filed a document bug against the spec version 2.6
as follows.
Ex:
---------------------------------------------------------------------
Sync instruction "Format" section currently still says
SYNC (stype = 0 implied)
It should probably have two lines:
SYNC (stype = 0 implied)
SYNC stype
(Assuming that that will be the correct asm format for the instruction)
---------------------------------------------------------------------
Thanks a lot!
Regards,
Chao-ying