public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* PATCH gas/arm command line -> options settings
@ 2002-01-15  7:44 Richard Earnshaw
  0 siblings, 0 replies; only message in thread
From: Richard Earnshaw @ 2002-01-15  7:44 UTC (permalink / raw)
  To: binutils; +Cc: Richard.Earnshaw

[-- Attachment #1: Type: text/plain, Size: 322 bytes --]


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.



[-- Attachment #2: gas-cpuopt.patch --]
[-- Type: text/x-patch , Size: 4794 bytes --]

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:

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-01-15 14:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-15  7:44 PATCH gas/arm command line -> options settings Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).