This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH gas/arm command line -> options settings
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: binutils at sources dot redhat dot com
- Cc: Richard dot Earnshaw at arm dot com
- Date: Tue, 15 Jan 2002 14:44:57 +0000
- Subject: PATCH gas/arm command line -> options settings
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
Now that definitions such as ARM_8, ARM_9 etc fully define their supported
architecture information, we can simplify the bit-twiddling done by the
command line parser.
2002-01-15 Richard Earnshaw <rearnsha@arm.com>
* tc-arm.c (md_parse_option): Tidy up setting of cpu_variant for
various command line options.
Index: config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.110
diff -p -r1.110 tc-arm.c
*** tc-arm.c 2002/01/14 17:37:23 1.110
--- tc-arm.c 2002/01/15 14:31:16
*************** md_parse_option (c, arg)
*** 9538,9565 ****
case '8':
if (streq (str, "8") || streq (str, "810"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_8 | ARM_ARCH_V4;
else
goto bad;
break;
case '9':
if (streq (str, "9"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_V4T;
else if (streq (str, "920"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_V4;
else if (streq (str, "920t"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_V4T;
else if (streq (str, "9tdmi"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_V4T;
else if (streq (str, "9e"))
cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_V4T | ARM_EXT_MAVERICK;
else
goto bad;
break;
--- 9538,9561 ----
case '8':
if (streq (str, "8") || streq (str, "810"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_8;
else
goto bad;
break;
case '9':
if (streq (str, "9"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_9;
else if (streq (str, "920"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_9;
else if (streq (str, "920t"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_9;
else if (streq (str, "9tdmi"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_9;
else if (streq (str, "9e"))
+ /* XXX This is bogus: arm9e != maverick. */
cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_EXT_MAVERICK;
else
goto bad;
break;
*************** md_parse_option (c, arg)
*** 9568,9583 ****
if (streq (str, "strongarm")
|| streq (str, "strongarm110")
|| streq (str, "strongarm1100"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_8 | ARM_ARCH_V4;
else
goto bad;
break;
case 'x':
if (streq (str, "xscale"))
! cpu_variant = (cpu_variant & ~ARM_ANY)
! | ARM_9 | ARM_ARCH_XSCALE;
else
goto bad;
break;
--- 9564,9577 ----
if (streq (str, "strongarm")
|| streq (str, "strongarm110")
|| streq (str, "strongarm1100"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_STRONG;
else
goto bad;
break;
case 'x':
if (streq (str, "xscale"))
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_XSCALE;
else
goto bad;
break;
*************** md_parse_option (c, arg)
*** 9591,9600 ****
switch (*++str)
{
case 'a':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_3;
break;
case 0:
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_2;
break;
default:
as_bad (_("invalid architecture variant -m%s"), arg);
--- 9585,9594 ----
switch (*++str)
{
case 'a':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_V2S;
break;
case 0:
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_V2;
break;
default:
as_bad (_("invalid architecture variant -m%s"), arg);
*************** md_parse_option (c, arg)
*** 9603,9609 ****
break;
case '3':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_7;
switch (*++str)
{
--- 9597,9603 ----
break;
case '3':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_V3;
switch (*++str)
{
*************** md_parse_option (c, arg)
*** 9616,9622 ****
break;
case '4':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_7 | ARM_ARCH_V4;
switch (*++str)
{
--- 9610,9616 ----
break;
case '4':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_V4;
switch (*++str)
{
*************** md_parse_option (c, arg)
*** 9629,9638 ****
break;
case '5':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_9 | ARM_ARCH_V5;
switch (*++str)
{
! case 't': cpu_variant |= ARM_EXT_V4T; break;
case 'e': cpu_variant |= ARM_EXT_V5E; break;
case 0: break;
default:
--- 9623,9632 ----
break;
case '5':
! cpu_variant = (cpu_variant & ~ARM_ANY) | ARM_ARCH_V5;
switch (*++str)
{
! case 't': cpu_variant |= ARM_EXT_V4T | ARM_EXT_V5T; break;
case 'e': cpu_variant |= ARM_EXT_V5E; break;
case 0: break;
default: