This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: binutils patches for Cirrus/arm9e/maverick support
- To: Aldy Hernandez <aldyh at redhat dot com>
- Subject: Re: binutils patches for Cirrus/arm9e/maverick support
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 10 Oct 2001 18:12:47 +0100
- cc: binutils at sources dot redhat dot com, Nick Clifton <nickc at cygnus dot com>, Richard dot Earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: Richard dot Earnshaw at arm dot com
+ static void
+ do_c_quad (str, flags, mode)
+ char * str;
+ unsigned long flags;
+ int mode;
+ {
+ int shift1, shift2, shift3, shift4;
+ enum cirrus_regtype rt;
+
+ rt = (inst.instruction << 4 == 0xe2006000
+ || inst.instruction << 4 == 0xe3006000) ? CIRRUS_REGTYPE_MVAX
+ : CIRRUS_REGTYPE_MVFX;
This (assuming '<< 4' will shift bits out of the top and drop them) is
non-portable. Much better to use a mask and let the compiler pick the
best way to optimize it.
Also, is there somewhere I can find the documentation for the new
instructions? I can't see anything obvious on the Cirrus web pages and
I'm trying to integrate your changes into my new parsing code.
R.