This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH gas/arm command line -> options settings



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:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]