* config/tc-arm.c (psrs): Accept combinations of flags.
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 4 Jul 2000 05:49:04 +0000 (05:49 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Tue, 4 Jul 2000 05:49:04 +0000 (05:49 +0000)
gas/ChangeLog
gas/config/tc-arm.c

index 2878773..0c7ee6f 100644 (file)
@@ -1,3 +1,7 @@
+2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/tc-arm.c (psrs): Accept combinations of flags.
+
 2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
 
        * config/tc-avr.c: Change _ () to _() around all strings marked
index 50e4bea..9d71270 100644 (file)
@@ -407,6 +407,127 @@ static CONST struct asm_psr psrs[] =
   {"CPSR_s",    true,  PSR_s},
   {"SPSR_x",    false, PSR_x},
   {"SPSR_s",    false, PSR_s},
+  /* Combinations of flags.  */
+  {"CPSR_fs",  true, PSR_f | PSR_s},
+  {"CPSR_fx",  true, PSR_f | PSR_x},
+  {"CPSR_fc",  true, PSR_f | PSR_c},
+  {"CPSR_sf",  true, PSR_s | PSR_f},
+  {"CPSR_sx",  true, PSR_s | PSR_x},
+  {"CPSR_sc",  true, PSR_s | PSR_c},
+  {"CPSR_xf",  true, PSR_x | PSR_f},
+  {"CPSR_xs",  true, PSR_x | PSR_s},
+  {"CPSR_xc",  true, PSR_x | PSR_c},
+  {"CPSR_cf",  true, PSR_c | PSR_f},
+  {"CPSR_cs",  true, PSR_c | PSR_s},
+  {"CPSR_cx",  true, PSR_c | PSR_x},
+  {"CPSR_fsx", true, PSR_f | PSR_s | PSR_x},
+  {"CPSR_fsc", true, PSR_f | PSR_s | PSR_c},
+  {"CPSR_fxs", true, PSR_f | PSR_x | PSR_s},
+  {"CPSR_fxc", true, PSR_f | PSR_x | PSR_c},
+  {"CPSR_fcs", true, PSR_f | PSR_c | PSR_s},
+  {"CPSR_fcx", true, PSR_f | PSR_c | PSR_x},
+  {"CPSR_sfx", true, PSR_s | PSR_f | PSR_x},
+  {"CPSR_sfc", true, PSR_s | PSR_f | PSR_c},
+  {"CPSR_sxf", true, PSR_s | PSR_x | PSR_f},
+  {"CPSR_sxc", true, PSR_s | PSR_x | PSR_c},
+  {"CPSR_scf", true, PSR_s | PSR_c | PSR_f},
+  {"CPSR_scx", true, PSR_s | PSR_c | PSR_x},
+  {"CPSR_xfs", true, PSR_x | PSR_f | PSR_s},
+  {"CPSR_xfc", true, PSR_x | PSR_f | PSR_c},
+  {"CPSR_xsf", true, PSR_x | PSR_s | PSR_f},
+  {"CPSR_xsc", true, PSR_x | PSR_s | PSR_c},
+  {"CPSR_xcf", true, PSR_x | PSR_c | PSR_f},
+  {"CPSR_xcs", true, PSR_x | PSR_c | PSR_s},
+  {"CPSR_cfs", true, PSR_c | PSR_f | PSR_s},
+  {"CPSR_cfx", true, PSR_c | PSR_f | PSR_x},
+  {"CPSR_csf", true, PSR_c | PSR_s | PSR_f},
+  {"CPSR_csx", true, PSR_c | PSR_s | PSR_x},
+  {"CPSR_cxf", true, PSR_c | PSR_x | PSR_f},
+  {"CPSR_cxs", true, PSR_c | PSR_x | PSR_s},
+  {"CPSR_fsxc",        true, PSR_f | PSR_s | PSR_x | PSR_c},
+  {"CPSR_fscx",        true, PSR_f | PSR_s | PSR_c | PSR_x},
+  {"CPSR_fxsc",        true, PSR_f | PSR_x | PSR_s | PSR_c},
+  {"CPSR_fxcs",        true, PSR_f | PSR_x | PSR_c | PSR_s},
+  {"CPSR_fcsx",        true, PSR_f | PSR_c | PSR_s | PSR_x},
+  {"CPSR_fcxs",        true, PSR_f | PSR_c | PSR_x | PSR_s},
+  {"CPSR_sfxc",        true, PSR_s | PSR_f | PSR_x | PSR_c},
+  {"CPSR_sfcx",        true, PSR_s | PSR_f | PSR_c | PSR_x},
+  {"CPSR_sxfc",        true, PSR_s | PSR_x | PSR_f | PSR_c},
+  {"CPSR_sxcf",        true, PSR_s | PSR_x | PSR_c | PSR_f},
+  {"CPSR_scfx",        true, PSR_s | PSR_c | PSR_f | PSR_x},
+  {"CPSR_scxf",        true, PSR_s | PSR_c | PSR_x | PSR_f},
+  {"CPSR_xfsc",        true, PSR_x | PSR_f | PSR_s | PSR_c},
+  {"CPSR_xfcs",        true, PSR_x | PSR_f | PSR_c | PSR_s},
+  {"CPSR_xsfc",        true, PSR_x | PSR_s | PSR_f | PSR_c},
+  {"CPSR_xscf",        true, PSR_x | PSR_s | PSR_c | PSR_f},
+  {"CPSR_xcfs",        true, PSR_x | PSR_c | PSR_f | PSR_s},
+  {"CPSR_xcsf",        true, PSR_x | PSR_c | PSR_s | PSR_f},
+  {"CPSR_cfsx",        true, PSR_c | PSR_f | PSR_s | PSR_x},
+  {"CPSR_cfxs",        true, PSR_c | PSR_f | PSR_x | PSR_s},
+  {"CPSR_csfx",        true, PSR_c | PSR_s | PSR_f | PSR_x},
+  {"CPSR_csxf",        true, PSR_c | PSR_s | PSR_x | PSR_f},
+  {"CPSR_cxfs",        true, PSR_c | PSR_x | PSR_f | PSR_s},
+  {"CPSR_cxsf",        true, PSR_c | PSR_x | PSR_s | PSR_f},
+  {"SPSR_fs",  false, PSR_f | PSR_s},
+  {"SPSR_fx",  false, PSR_f | PSR_x},
+  {"SPSR_fc",  false, PSR_f | PSR_c},
+  {"SPSR_sf",  false, PSR_s | PSR_f},
+  {"SPSR_sx",  false, PSR_s | PSR_x},
+  {"SPSR_sc",  false, PSR_s | PSR_c},
+  {"SPSR_xf",  false, PSR_x | PSR_f},
+  {"SPSR_xs",  false, PSR_x | PSR_s},
+  {"SPSR_xc",  false, PSR_x | PSR_c},
+  {"SPSR_cf",  false, PSR_c | PSR_f},
+  {"SPSR_cs",  false, PSR_c | PSR_s},
+  {"SPSR_cx",  false, PSR_c | PSR_x},
+  {"SPSR_fsx", false, PSR_f | PSR_s | PSR_x},
+  {"SPSR_fsc", false, PSR_f | PSR_s | PSR_c},
+  {"SPSR_fxs", false, PSR_f | PSR_x | PSR_s},
+  {"SPSR_fxc", false, PSR_f | PSR_x | PSR_c},
+  {"SPSR_fcs", false, PSR_f | PSR_c | PSR_s},
+  {"SPSR_fcx", false, PSR_f | PSR_c | PSR_x},
+  {"SPSR_sfx", false, PSR_s | PSR_f | PSR_x},
+  {"SPSR_sfc", false, PSR_s | PSR_f | PSR_c},
+  {"SPSR_sxf", false, PSR_s | PSR_x | PSR_f},
+  {"SPSR_sxc", false, PSR_s | PSR_x | PSR_c},
+  {"SPSR_scf", false, PSR_s | PSR_c | PSR_f},
+  {"SPSR_scx", false, PSR_s | PSR_c | PSR_x},
+  {"SPSR_xfs", false, PSR_x | PSR_f | PSR_s},
+  {"SPSR_xfc", false, PSR_x | PSR_f | PSR_c},
+  {"SPSR_xsf", false, PSR_x | PSR_s | PSR_f},
+  {"SPSR_xsc", false, PSR_x | PSR_s | PSR_c},
+  {"SPSR_xcf", false, PSR_x | PSR_c | PSR_f},
+  {"SPSR_xcs", false, PSR_x | PSR_c | PSR_s},
+  {"SPSR_cfs", false, PSR_c | PSR_f | PSR_s},
+  {"SPSR_cfx", false, PSR_c | PSR_f | PSR_x},
+  {"SPSR_csf", false, PSR_c | PSR_s | PSR_f},
+  {"SPSR_csx", false, PSR_c | PSR_s | PSR_x},
+  {"SPSR_cxf", false, PSR_c | PSR_x | PSR_f},
+  {"SPSR_cxs", false, PSR_c | PSR_x | PSR_s},
+  {"SPSR_fsxc",        false, PSR_f | PSR_s | PSR_x | PSR_c},
+  {"SPSR_fscx",        false, PSR_f | PSR_s | PSR_c | PSR_x},
+  {"SPSR_fxsc",        false, PSR_f | PSR_x | PSR_s | PSR_c},
+  {"SPSR_fxcs",        false, PSR_f | PSR_x | PSR_c | PSR_s},
+  {"SPSR_fcsx",        false, PSR_f | PSR_c | PSR_s | PSR_x},
+  {"SPSR_fcxs",        false, PSR_f | PSR_c | PSR_x | PSR_s},
+  {"SPSR_sfxc",        false, PSR_s | PSR_f | PSR_x | PSR_c},
+  {"SPSR_sfcx",        false, PSR_s | PSR_f | PSR_c | PSR_x},
+  {"SPSR_sxfc",        false, PSR_s | PSR_x | PSR_f | PSR_c},
+  {"SPSR_sxcf",        false, PSR_s | PSR_x | PSR_c | PSR_f},
+  {"SPSR_scfx",        false, PSR_s | PSR_c | PSR_f | PSR_x},
+  {"SPSR_scxf",        false, PSR_s | PSR_c | PSR_x | PSR_f},
+  {"SPSR_xfsc",        false, PSR_x | PSR_f | PSR_s | PSR_c},
+  {"SPSR_xfcs",        false, PSR_x | PSR_f | PSR_c | PSR_s},
+  {"SPSR_xsfc",        false, PSR_x | PSR_s | PSR_f | PSR_c},
+  {"SPSR_xscf",        false, PSR_x | PSR_s | PSR_c | PSR_f},
+  {"SPSR_xcfs",        false, PSR_x | PSR_c | PSR_f | PSR_s},
+  {"SPSR_xcsf",        false, PSR_x | PSR_c | PSR_s | PSR_f},
+  {"SPSR_cfsx",        false, PSR_c | PSR_f | PSR_s | PSR_x},
+  {"SPSR_cfxs",        false, PSR_c | PSR_f | PSR_x | PSR_s},
+  {"SPSR_csfx",        false, PSR_c | PSR_s | PSR_f | PSR_x},
+  {"SPSR_csxf",        false, PSR_c | PSR_s | PSR_x | PSR_f},
+  {"SPSR_cxfs",        false, PSR_c | PSR_x | PSR_f | PSR_s},
+  {"SPSR_cxsf",        false, PSR_c | PSR_x | PSR_s | PSR_f},
   /* For backwards compatability with older toolchain we also
      support lower case versions of some of these flags.  */
   {"cpsr",     true,  PSR_c | PSR_f},