Subject: Re: asm2gas in m68k/fpsp
To: Paul Forgey <paulf@aphrodite.com>
From: Chas Williams <chas@cmf.nrl.navy.mil>
List: port-mac68k
Date: 10/19/1998 09:55:51
>res_func.s:1569: Error: parse error -- statement `fcmps #:0x46fffe00,fp0'
>ignored
>res_func.s:1572: Error: parse error -- statement `fcmps #:0xc7000000,fp0'
>ignored
>res_func.s:1590: Error: parse error -- statement `fcmps #:0x46ffff00,fp0'
>ignored
noticed this when i built gas.new for m68k.
the original 'motorola style' assembly says something like:
FMOVE.S #:3F800000,FP1
and asm2gas converts it to:
fmoves #:0x3f800000,fp1
according to gas (read.c), it specifies a bitfield (i think)
#ifdef WANT_BITFIELDS
/* Some other assemblers, (eg, asm960), allow
bitfields after ".byte" as w:x,y:z, where w and
y are bitwidths and x and y are values. They
then pack them all together. We do a little
better in that we allow them in words, longs,
etc. and we'll pack them in target byte order
for you.
The rules are: pack least significat bit first,
if a field doesn't entirely fit, put it in the
next unit. Overflowing the bitfield is
explicitly *not* even a warning. The bitwidth
should be considered a "mask".
FIXME-SOMEDAY: If this is considered generally
useful, this logic should probably be reworked.
xoxorich. */
apparently gas 2.x has some trouble seeing it this way. perhaps
it was not build with BITFIELD_CONS_EXPRESSIONS defined? (again
see read.c in gas 2.x) check tc-m68k.h to see if BITFIELD_CONS_EXPRESSIONS
has been set. i notice it seems only set for tc-i960.h