2005-09-30 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Fri, 30 Sep 2005 13:34:17 +0000 (13:34 +0000)
committerPaul Brook <paul@codesourcery.com>
Fri, 30 Sep 2005 13:34:17 +0000 (13:34 +0000)
gas/
* config/tc-arm.c (opcode_tag): Add OT_cinfix3_legacy.
(opcode_lookup): Handle OT_cinfix3_legacy.  Revert earlier change for
normal infix conditions.
(C3E): Include Thumb-2 definition.
(CL, cCL): Define.
(insns): Use them for legacy mnemonics.
gas/testsuite/
* gas/arm/fpa-mem.s: Remove incorrect comments.
* gas/arm/fpa-mem.d: Update expected results.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/fpa-mem.d
gas/testsuite/gas/arm/fpa-mem.s

index 1617d2b..88b6511 100644 (file)
@@ -1,3 +1,12 @@
+2005-09-30  Paul Brook  <paul@codesourcery.com>
+
+       * config/tc-arm.c (opcode_tag): Add OT_cinfix3_legacy.
+       (opcode_lookup): Handle OT_cinfix3_legacy.  Revert earlier change for
+       normal infix conditions.
+       (C3E): Include Thumb-2 definition.
+       (CL, cCL): Define.
+       (insns): Use them for legacy mnemonics.
+
 2005-09-30  Matthias Kurz  <mk@baerlap.north.de>
 
        * asintl.h: Prevent the inclusion of <libintl.h> from the Solaris
index c3cc0b4..926f5d8 100644 (file)
@@ -7726,9 +7726,12 @@ enum opcode_tag
   OT_cinfix3,          /* Instruction takes a conditional infix,
                           beginning at character index 3.  (In
                           unified mode, it becomes a suffix.)  */
+  OT_cinfix3_legacy,   /* Legacy instruction takes a conditional infix at
+                          character index 3, even in unified mode.  Used for
+                          legacy instructions where suffix and infix forms
+                          may be ambiguous.  */
   OT_csuf_or_in3,      /* Instruction takes either a conditional
-                          suffix or an infix at character index 3.
-                          (In unified mode, a suffix only.  */
+                          suffix or an infix at character index 3.  */
   OT_odd_infix_unc,    /* This is the unconditional variant of an
                           instruction that takes a conditional infix
                           at an unusual position.  In unified mode,
@@ -7800,6 +7803,7 @@ opcode_lookup (char **str)
   char *affix;
   const struct asm_opcode *opcode;
   const struct asm_cond *cond;
+  char save[2];
 
   /* Scan up to the end of the mnemonic, which must end in white space,
      '.' (in unified mode only), or end of string.  */
@@ -7860,12 +7864,14 @@ opcode_lookup (char **str)
       /* step CE */
       switch (opcode->tag)
        {
+       case OT_cinfix3_legacy:
+         /* Ignore conditional suffixes matched on infix only mnemonics.  */
+         break;
+
        case OT_cinfix3:
        case OT_odd_infix_unc:
-         /* Some mnemonics are ambiguous between infix and suffix
-            conditions.  Disambiguate based on assembly syntax.  */
          if (!unified_syntax)
-           break;
+           return 0;
          /* else fall through */
 
        case OT_csuffix:
@@ -7893,19 +7899,20 @@ opcode_lookup (char **str)
   /* Look for infixed mnemonic in the usual position.  */
   affix = base + 3;
   cond = hash_find_n (arm_cond_hsh, affix, 2);
-  if (cond)
-    {
-      char save[2];
-      memcpy (save, affix, 2);
-      memmove (affix, affix + 2, (end - affix) - 2);
-      opcode = hash_find_n (arm_ops_hsh, base, (end - base) - 2);
-      memmove (affix + 2, affix, (end - affix) - 2);
-      memcpy (affix, save, 2);
-    }
-  if (opcode && (opcode->tag == OT_cinfix3 || opcode->tag == OT_csuf_or_in3))
+  if (!cond)
+    return 0;
+
+  memcpy (save, affix, 2);
+  memmove (affix, affix + 2, (end - affix) - 2);
+  opcode = hash_find_n (arm_ops_hsh, base, (end - base) - 2);
+  memmove (affix + 2, affix, (end - affix) - 2);
+  memcpy (affix, save, 2);
+
+  if (opcode && (opcode->tag == OT_cinfix3 || opcode->tag == OT_csuf_or_in3
+                || opcode->tag == OT_cinfix3_legacy))
     {
       /* step CM */
-      if (unified_syntax)
+      if (unified_syntax && opcode->tag == OT_cinfix3)
        as_warn (_("conditional infixes are deprecated in unified syntax"));
 
       inst.cond = cond->value;
@@ -8443,12 +8450,28 @@ static const struct asm_cond conds[] =
 #define C3(mnem, op, nops, ops, ae)    \
   { #mnem, OPS##nops ops, OT_cinfix3, 0x##op, 0x0, ARM_VARIANT, 0, do_##ae, NULL }
 
+/* Legacy mnemonics that always have conditional infix after the third
+   character.  */
+#define CL(mnem, op, nops, ops, ae)    \
+  { #mnem, OPS##nops ops, OT_cinfix3_legacy, \
+    0x##op, 0x0, ARM_VARIANT, 0, do_##ae, NULL }
+
 /* Coprocessor instructions.  Isomorphic between Arm and Thumb-2.  */
 #define cCE(mnem,  op, nops, ops, ae)  \
   { #mnem, OPS##nops ops, OT_csuffix, 0x##op, 0xe##op, ARM_VARIANT, ARM_VARIANT, do_##ae, do_##ae }
 
-#define cC3(mnem, op, nops, ops, ae)   \
-  { #mnem, OPS##nops ops, OT_cinfix3, 0x##op, 0xe##op, ARM_VARIANT, ARM_VARIANT, do_##ae, do_##ae }
+/* Legacy coprocessor instructions where conditional infix and conditional
+   suffix are ambiguous.  For consistency this includes all FPA instructions,
+   not just the potentially ambiguous ones.  */
+#define cCL(mnem, op, nops, ops, ae)   \
+  { #mnem, OPS##nops ops, OT_cinfix3_legacy, \
+    0x##op, 0xe##op, ARM_VARIANT, ARM_VARIANT, do_##ae, do_##ae }
+
+/* Coprocessor, takes either a suffix or a position-3 infix
+   (for an FPA corner case). */
+#define C3E(mnem, op, nops, ops, ae) \
+  { #mnem, OPS##nops ops, OT_csuf_or_in3, \
+    0x##op, 0xe##op, ARM_VARIANT, ARM_VARIANT, do_##ae, do_##ae }
 
 #define xCM_(m1, m2, m3, op, nops, ops, ae)    \
   { #m1 #m2 #m3, OPS##nops ops, \
@@ -8487,11 +8510,6 @@ static const struct asm_cond conds[] =
 /* Thumb-only, unconditional.  */
 #define UT(mnem,  op, nops, ops, te) TUE(mnem,  0, op, nops, ops, 0, te)
 
-/* ARM-only, takes either a suffix or a position-3 infix
-   (for an FPA corner case). */
-#define C3E(mnem, op, nops, ops, ae) \
-  { #mnem, OPS##nops ops, OT_csuf_or_in3, 0x##op, 0, ARM_VARIANT, 0, do_##ae, 0 }
-
 static const struct asm_opcode insns[] =
 {
 #define ARM_VARIANT ARM_EXT_V1 /* Core ARM Instructions.  */
@@ -8518,13 +8536,13 @@ static const struct asm_opcode insns[] =
     have Thumb equivalents. */
  tCE(tst,      1100000, tst,      2, (RR, SH),      cmp,  t_mvn_tst),
  tC3(tsts,     1100000, tst,      2, (RR, SH),      cmp,  t_mvn_tst),
-  C3(tstp,     110f000,           2, (RR, SH),      cmp),
+  CL(tstp,     110f000,           2, (RR, SH),      cmp),
  tCE(cmp,      1500000, cmp,      2, (RR, SH),      cmp,  t_mov_cmp),
  tC3(cmps,     1500000, cmp,      2, (RR, SH),      cmp,  t_mov_cmp),
-  C3(cmpp,     150f000,           2, (RR, SH),      cmp),
+  CL(cmpp,     150f000,           2, (RR, SH),      cmp),
  tCE(cmn,      1700000, cmn,      2, (RR, SH),      cmp,  t_mvn_tst),
  tC3(cmns,     1700000, cmn,      2, (RR, SH),      cmp,  t_mvn_tst),
-  C3(cmnp,     170f000,           2, (RR, SH),      cmp),
+  CL(cmnp,     170f000,           2, (RR, SH),      cmp),
 
  tCE(mov,      1a00000, mov,      2, (RR, SH),      mov,  t_mov_cmp),
  tC3(movs,     1b00000, movs,     2, (RR, SH),      mov,  t_mov_cmp),
@@ -8575,7 +8593,7 @@ static const struct asm_opcode insns[] =
  TC3(rsbs,     0700000, ebd00000, 3, (RR, oRR, SH), arit, t_rsb),
  TCE(teq,      1300000, ea900f00, 2, (RR, SH),      cmp,  t_mvn_tst),
  TC3(teqs,     1300000, ea900f00, 2, (RR, SH),      cmp,  t_mvn_tst),
-  C3(teqp,     130f000,           2, (RR, SH),      cmp),
+  CL(teqp,     130f000,           2, (RR, SH),      cmp),
 
  TC3(ldrt,     4300000, f8500e00, 2, (RR, ADDR),    ldstt, t_ldstt),
  TC3(ldrbt,    4700000, f8300e00, 2, (RR, ADDR),    ldstt, t_ldstt),
@@ -8904,410 +8922,410 @@ static const struct asm_opcode insns[] =
  cCE(wfc,      e400110, 1, (RR),            rd),
  cCE(rfc,      e500110, 1, (RR),            rd),
 
- cC3(ldfs,     c100100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(ldfd,     c108100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(ldfe,     c500100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(ldfp,     c508100, 2, (RF, ADDR),      rd_cpaddr),
-
- cC3(stfs,     c000100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(stfd,     c008100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(stfe,     c400100, 2, (RF, ADDR),      rd_cpaddr),
- cC3(stfp,     c408100, 2, (RF, ADDR),      rd_cpaddr),
-
- cC3(mvfs,     e008100, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfsp,    e008120, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfsm,    e008140, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfsz,    e008160, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfd,     e008180, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfdp,    e0081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfdm,    e0081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfdz,    e0081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfe,     e088100, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfep,    e088120, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfem,    e088140, 2, (RF, RF_IF),     rd_rm),
- cC3(mvfez,    e088160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(mnfs,     e108100, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfsp,    e108120, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfsm,    e108140, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfsz,    e108160, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfd,     e108180, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfdp,    e1081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfdm,    e1081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfdz,    e1081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfe,     e188100, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfep,    e188120, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfem,    e188140, 2, (RF, RF_IF),     rd_rm),
- cC3(mnfez,    e188160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(abss,     e208100, 2, (RF, RF_IF),     rd_rm),
- cC3(abssp,    e208120, 2, (RF, RF_IF),     rd_rm),
- cC3(abssm,    e208140, 2, (RF, RF_IF),     rd_rm),
- cC3(abssz,    e208160, 2, (RF, RF_IF),     rd_rm),
- cC3(absd,     e208180, 2, (RF, RF_IF),     rd_rm),
- cC3(absdp,    e2081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(absdm,    e2081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(absdz,    e2081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(abse,     e288100, 2, (RF, RF_IF),     rd_rm),
- cC3(absep,    e288120, 2, (RF, RF_IF),     rd_rm),
- cC3(absem,    e288140, 2, (RF, RF_IF),     rd_rm),
- cC3(absez,    e288160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(rnds,     e308100, 2, (RF, RF_IF),     rd_rm),
- cC3(rndsp,    e308120, 2, (RF, RF_IF),     rd_rm),
- cC3(rndsm,    e308140, 2, (RF, RF_IF),     rd_rm),
- cC3(rndsz,    e308160, 2, (RF, RF_IF),     rd_rm),
- cC3(rndd,     e308180, 2, (RF, RF_IF),     rd_rm),
- cC3(rnddp,    e3081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(rnddm,    e3081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(rnddz,    e3081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(rnde,     e388100, 2, (RF, RF_IF),     rd_rm),
- cC3(rndep,    e388120, 2, (RF, RF_IF),     rd_rm),
- cC3(rndem,    e388140, 2, (RF, RF_IF),     rd_rm),
- cC3(rndez,    e388160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(sqts,     e408100, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtsp,    e408120, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtsm,    e408140, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtsz,    e408160, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtd,     e408180, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtdp,    e4081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtdm,    e4081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtdz,    e4081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(sqte,     e488100, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtep,    e488120, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtem,    e488140, 2, (RF, RF_IF),     rd_rm),
- cC3(sqtez,    e488160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(logs,     e508100, 2, (RF, RF_IF),     rd_rm),
- cC3(logsp,    e508120, 2, (RF, RF_IF),     rd_rm),
- cC3(logsm,    e508140, 2, (RF, RF_IF),     rd_rm),
- cC3(logsz,    e508160, 2, (RF, RF_IF),     rd_rm),
- cC3(logd,     e508180, 2, (RF, RF_IF),     rd_rm),
- cC3(logdp,    e5081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(logdm,    e5081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(logdz,    e5081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(loge,     e588100, 2, (RF, RF_IF),     rd_rm),
- cC3(logep,    e588120, 2, (RF, RF_IF),     rd_rm),
- cC3(logem,    e588140, 2, (RF, RF_IF),     rd_rm),
- cC3(logez,    e588160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(lgns,     e608100, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnsp,    e608120, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnsm,    e608140, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnsz,    e608160, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnd,     e608180, 2, (RF, RF_IF),     rd_rm),
- cC3(lgndp,    e6081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(lgndm,    e6081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(lgndz,    e6081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(lgne,     e688100, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnep,    e688120, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnem,    e688140, 2, (RF, RF_IF),     rd_rm),
- cC3(lgnez,    e688160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(exps,     e708100, 2, (RF, RF_IF),     rd_rm),
- cC3(expsp,    e708120, 2, (RF, RF_IF),     rd_rm),
- cC3(expsm,    e708140, 2, (RF, RF_IF),     rd_rm),
- cC3(expsz,    e708160, 2, (RF, RF_IF),     rd_rm),
- cC3(expd,     e708180, 2, (RF, RF_IF),     rd_rm),
- cC3(expdp,    e7081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(expdm,    e7081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(expdz,    e7081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(expe,     e788100, 2, (RF, RF_IF),     rd_rm),
- cC3(expep,    e788120, 2, (RF, RF_IF),     rd_rm),
- cC3(expem,    e788140, 2, (RF, RF_IF),     rd_rm),
- cC3(expdz,    e788160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(sins,     e808100, 2, (RF, RF_IF),     rd_rm),
- cC3(sinsp,    e808120, 2, (RF, RF_IF),     rd_rm),
- cC3(sinsm,    e808140, 2, (RF, RF_IF),     rd_rm),
- cC3(sinsz,    e808160, 2, (RF, RF_IF),     rd_rm),
- cC3(sind,     e808180, 2, (RF, RF_IF),     rd_rm),
- cC3(sindp,    e8081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(sindm,    e8081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(sindz,    e8081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(sine,     e888100, 2, (RF, RF_IF),     rd_rm),
- cC3(sinep,    e888120, 2, (RF, RF_IF),     rd_rm),
- cC3(sinem,    e888140, 2, (RF, RF_IF),     rd_rm),
- cC3(sinez,    e888160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(coss,     e908100, 2, (RF, RF_IF),     rd_rm),
- cC3(cossp,    e908120, 2, (RF, RF_IF),     rd_rm),
- cC3(cossm,    e908140, 2, (RF, RF_IF),     rd_rm),
- cC3(cossz,    e908160, 2, (RF, RF_IF),     rd_rm),
- cC3(cosd,     e908180, 2, (RF, RF_IF),     rd_rm),
- cC3(cosdp,    e9081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(cosdm,    e9081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(cosdz,    e9081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(cose,     e988100, 2, (RF, RF_IF),     rd_rm),
- cC3(cosep,    e988120, 2, (RF, RF_IF),     rd_rm),
- cC3(cosem,    e988140, 2, (RF, RF_IF),     rd_rm),
- cC3(cosez,    e988160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(tans,     ea08100, 2, (RF, RF_IF),     rd_rm),
- cC3(tansp,    ea08120, 2, (RF, RF_IF),     rd_rm),
- cC3(tansm,    ea08140, 2, (RF, RF_IF),     rd_rm),
- cC3(tansz,    ea08160, 2, (RF, RF_IF),     rd_rm),
- cC3(tand,     ea08180, 2, (RF, RF_IF),     rd_rm),
- cC3(tandp,    ea081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(tandm,    ea081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(tandz,    ea081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(tane,     ea88100, 2, (RF, RF_IF),     rd_rm),
- cC3(tanep,    ea88120, 2, (RF, RF_IF),     rd_rm),
- cC3(tanem,    ea88140, 2, (RF, RF_IF),     rd_rm),
- cC3(tanez,    ea88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(asns,     eb08100, 2, (RF, RF_IF),     rd_rm),
- cC3(asnsp,    eb08120, 2, (RF, RF_IF),     rd_rm),
- cC3(asnsm,    eb08140, 2, (RF, RF_IF),     rd_rm),
- cC3(asnsz,    eb08160, 2, (RF, RF_IF),     rd_rm),
- cC3(asnd,     eb08180, 2, (RF, RF_IF),     rd_rm),
- cC3(asndp,    eb081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(asndm,    eb081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(asndz,    eb081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(asne,     eb88100, 2, (RF, RF_IF),     rd_rm),
- cC3(asnep,    eb88120, 2, (RF, RF_IF),     rd_rm),
- cC3(asnem,    eb88140, 2, (RF, RF_IF),     rd_rm),
- cC3(asnez,    eb88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(acss,     ec08100, 2, (RF, RF_IF),     rd_rm),
- cC3(acssp,    ec08120, 2, (RF, RF_IF),     rd_rm),
- cC3(acssm,    ec08140, 2, (RF, RF_IF),     rd_rm),
- cC3(acssz,    ec08160, 2, (RF, RF_IF),     rd_rm),
- cC3(acsd,     ec08180, 2, (RF, RF_IF),     rd_rm),
- cC3(acsdp,    ec081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(acsdm,    ec081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(acsdz,    ec081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(acse,     ec88100, 2, (RF, RF_IF),     rd_rm),
- cC3(acsep,    ec88120, 2, (RF, RF_IF),     rd_rm),
- cC3(acsem,    ec88140, 2, (RF, RF_IF),     rd_rm),
- cC3(acsez,    ec88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(atns,     ed08100, 2, (RF, RF_IF),     rd_rm),
- cC3(atnsp,    ed08120, 2, (RF, RF_IF),     rd_rm),
- cC3(atnsm,    ed08140, 2, (RF, RF_IF),     rd_rm),
- cC3(atnsz,    ed08160, 2, (RF, RF_IF),     rd_rm),
- cC3(atnd,     ed08180, 2, (RF, RF_IF),     rd_rm),
- cC3(atndp,    ed081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(atndm,    ed081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(atndz,    ed081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(atne,     ed88100, 2, (RF, RF_IF),     rd_rm),
- cC3(atnep,    ed88120, 2, (RF, RF_IF),     rd_rm),
- cC3(atnem,    ed88140, 2, (RF, RF_IF),     rd_rm),
- cC3(atnez,    ed88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(urds,     ee08100, 2, (RF, RF_IF),     rd_rm),
- cC3(urdsp,    ee08120, 2, (RF, RF_IF),     rd_rm),
- cC3(urdsm,    ee08140, 2, (RF, RF_IF),     rd_rm),
- cC3(urdsz,    ee08160, 2, (RF, RF_IF),     rd_rm),
- cC3(urdd,     ee08180, 2, (RF, RF_IF),     rd_rm),
- cC3(urddp,    ee081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(urddm,    ee081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(urddz,    ee081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(urde,     ee88100, 2, (RF, RF_IF),     rd_rm),
- cC3(urdep,    ee88120, 2, (RF, RF_IF),     rd_rm),
- cC3(urdem,    ee88140, 2, (RF, RF_IF),     rd_rm),
- cC3(urdez,    ee88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(nrms,     ef08100, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmsp,    ef08120, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmsm,    ef08140, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmsz,    ef08160, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmd,     ef08180, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmdp,    ef081a0, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmdm,    ef081c0, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmdz,    ef081e0, 2, (RF, RF_IF),     rd_rm),
- cC3(nrme,     ef88100, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmep,    ef88120, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmem,    ef88140, 2, (RF, RF_IF),     rd_rm),
- cC3(nrmez,    ef88160, 2, (RF, RF_IF),     rd_rm),
-
- cC3(adfs,     e000100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfsp,    e000120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfsm,    e000140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfsz,    e000160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfd,     e000180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfdp,    e0001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfdm,    e0001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfdz,    e0001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfe,     e080100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfep,    e080120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfem,    e080140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(adfez,    e080160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(sufs,     e200100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufsp,    e200120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufsm,    e200140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufsz,    e200160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufd,     e200180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufdp,    e2001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufdm,    e2001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufdz,    e2001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufe,     e280100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufep,    e280120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufem,    e280140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(sufez,    e280160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(rsfs,     e300100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfsp,    e300120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfsm,    e300140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfsz,    e300160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfd,     e300180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfdp,    e3001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfdm,    e3001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfdz,    e3001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfe,     e380100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfep,    e380120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfem,    e380140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rsfez,    e380160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(mufs,     e100100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufsp,    e100120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufsm,    e100140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufsz,    e100160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufd,     e100180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufdp,    e1001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufdm,    e1001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufdz,    e1001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufe,     e180100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufep,    e180120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufem,    e180140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(mufez,    e180160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(dvfs,     e400100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfsp,    e400120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfsm,    e400140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfsz,    e400160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfd,     e400180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfdp,    e4001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfdm,    e4001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfdz,    e4001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfe,     e480100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfep,    e480120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfem,    e480140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(dvfez,    e480160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(rdfs,     e500100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfsp,    e500120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfsm,    e500140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfsz,    e500160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfd,     e500180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfdp,    e5001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfdm,    e5001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfdz,    e5001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfe,     e580100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfep,    e580120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfem,    e580140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rdfez,    e580160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(pows,     e600100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powsp,    e600120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powsm,    e600140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powsz,    e600160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powd,     e600180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powdp,    e6001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powdm,    e6001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powdz,    e6001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powe,     e680100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powep,    e680120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powem,    e680140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(powez,    e680160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(rpws,     e700100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwsp,    e700120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwsm,    e700140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwsz,    e700160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwd,     e700180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwdp,    e7001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwdm,    e7001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwdz,    e7001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwe,     e780100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwep,    e780120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwem,    e780140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rpwez,    e780160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(rmfs,     e800100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfsp,    e800120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfsm,    e800140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfsz,    e800160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfd,     e800180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfdp,    e8001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfdm,    e8001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfdz,    e8001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfe,     e880100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfep,    e880120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfem,    e880140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(rmfez,    e880160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(fmls,     e900100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlsp,    e900120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlsm,    e900140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlsz,    e900160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmld,     e900180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmldp,    e9001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmldm,    e9001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmldz,    e9001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmle,     e980100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlep,    e980120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlem,    e980140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fmlez,    e980160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(fdvs,     ea00100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvsp,    ea00120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvsm,    ea00140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvsz,    ea00160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvd,     ea00180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvdp,    ea001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvdm,    ea001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvdz,    ea001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdve,     ea80100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvep,    ea80120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvem,    ea80140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(fdvez,    ea80160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(frds,     eb00100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdsp,    eb00120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdsm,    eb00140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdsz,    eb00160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdd,     eb00180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frddp,    eb001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frddm,    eb001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frddz,    eb001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frde,     eb80100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdep,    eb80120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdem,    eb80140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(frdez,    eb80160, 3, (RF, RF, RF_IF), rd_rn_rm),
-
- cC3(pols,     ec00100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polsp,    ec00120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polsm,    ec00140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polsz,    ec00160, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(pold,     ec00180, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(poldp,    ec001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(poldm,    ec001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(poldz,    ec001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(pole,     ec80100, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polep,    ec80120, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polem,    ec80140, 3, (RF, RF, RF_IF), rd_rn_rm),
- cC3(polez,    ec80160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(ldfs,     c100100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(ldfd,     c108100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(ldfe,     c500100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(ldfp,     c508100, 2, (RF, ADDR),      rd_cpaddr),
+
+ cCL(stfs,     c000100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(stfd,     c008100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(stfe,     c400100, 2, (RF, ADDR),      rd_cpaddr),
+ cCL(stfp,     c408100, 2, (RF, ADDR),      rd_cpaddr),
+
+ cCL(mvfs,     e008100, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfsp,    e008120, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfsm,    e008140, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfsz,    e008160, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfd,     e008180, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfdp,    e0081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfdm,    e0081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfdz,    e0081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfe,     e088100, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfep,    e088120, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfem,    e088140, 2, (RF, RF_IF),     rd_rm),
+ cCL(mvfez,    e088160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(mnfs,     e108100, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfsp,    e108120, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfsm,    e108140, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfsz,    e108160, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfd,     e108180, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfdp,    e1081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfdm,    e1081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfdz,    e1081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfe,     e188100, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfep,    e188120, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfem,    e188140, 2, (RF, RF_IF),     rd_rm),
+ cCL(mnfez,    e188160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(abss,     e208100, 2, (RF, RF_IF),     rd_rm),
+ cCL(abssp,    e208120, 2, (RF, RF_IF),     rd_rm),
+ cCL(abssm,    e208140, 2, (RF, RF_IF),     rd_rm),
+ cCL(abssz,    e208160, 2, (RF, RF_IF),     rd_rm),
+ cCL(absd,     e208180, 2, (RF, RF_IF),     rd_rm),
+ cCL(absdp,    e2081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(absdm,    e2081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(absdz,    e2081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(abse,     e288100, 2, (RF, RF_IF),     rd_rm),
+ cCL(absep,    e288120, 2, (RF, RF_IF),     rd_rm),
+ cCL(absem,    e288140, 2, (RF, RF_IF),     rd_rm),
+ cCL(absez,    e288160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(rnds,     e308100, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndsp,    e308120, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndsm,    e308140, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndsz,    e308160, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndd,     e308180, 2, (RF, RF_IF),     rd_rm),
+ cCL(rnddp,    e3081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(rnddm,    e3081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(rnddz,    e3081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(rnde,     e388100, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndep,    e388120, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndem,    e388140, 2, (RF, RF_IF),     rd_rm),
+ cCL(rndez,    e388160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(sqts,     e408100, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtsp,    e408120, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtsm,    e408140, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtsz,    e408160, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtd,     e408180, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtdp,    e4081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtdm,    e4081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtdz,    e4081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqte,     e488100, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtep,    e488120, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtem,    e488140, 2, (RF, RF_IF),     rd_rm),
+ cCL(sqtez,    e488160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(logs,     e508100, 2, (RF, RF_IF),     rd_rm),
+ cCL(logsp,    e508120, 2, (RF, RF_IF),     rd_rm),
+ cCL(logsm,    e508140, 2, (RF, RF_IF),     rd_rm),
+ cCL(logsz,    e508160, 2, (RF, RF_IF),     rd_rm),
+ cCL(logd,     e508180, 2, (RF, RF_IF),     rd_rm),
+ cCL(logdp,    e5081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(logdm,    e5081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(logdz,    e5081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(loge,     e588100, 2, (RF, RF_IF),     rd_rm),
+ cCL(logep,    e588120, 2, (RF, RF_IF),     rd_rm),
+ cCL(logem,    e588140, 2, (RF, RF_IF),     rd_rm),
+ cCL(logez,    e588160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(lgns,     e608100, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnsp,    e608120, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnsm,    e608140, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnsz,    e608160, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnd,     e608180, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgndp,    e6081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgndm,    e6081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgndz,    e6081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgne,     e688100, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnep,    e688120, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnem,    e688140, 2, (RF, RF_IF),     rd_rm),
+ cCL(lgnez,    e688160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(exps,     e708100, 2, (RF, RF_IF),     rd_rm),
+ cCL(expsp,    e708120, 2, (RF, RF_IF),     rd_rm),
+ cCL(expsm,    e708140, 2, (RF, RF_IF),     rd_rm),
+ cCL(expsz,    e708160, 2, (RF, RF_IF),     rd_rm),
+ cCL(expd,     e708180, 2, (RF, RF_IF),     rd_rm),
+ cCL(expdp,    e7081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(expdm,    e7081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(expdz,    e7081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(expe,     e788100, 2, (RF, RF_IF),     rd_rm),
+ cCL(expep,    e788120, 2, (RF, RF_IF),     rd_rm),
+ cCL(expem,    e788140, 2, (RF, RF_IF),     rd_rm),
+ cCL(expdz,    e788160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(sins,     e808100, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinsp,    e808120, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinsm,    e808140, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinsz,    e808160, 2, (RF, RF_IF),     rd_rm),
+ cCL(sind,     e808180, 2, (RF, RF_IF),     rd_rm),
+ cCL(sindp,    e8081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sindm,    e8081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sindz,    e8081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(sine,     e888100, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinep,    e888120, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinem,    e888140, 2, (RF, RF_IF),     rd_rm),
+ cCL(sinez,    e888160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(coss,     e908100, 2, (RF, RF_IF),     rd_rm),
+ cCL(cossp,    e908120, 2, (RF, RF_IF),     rd_rm),
+ cCL(cossm,    e908140, 2, (RF, RF_IF),     rd_rm),
+ cCL(cossz,    e908160, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosd,     e908180, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosdp,    e9081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosdm,    e9081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosdz,    e9081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(cose,     e988100, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosep,    e988120, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosem,    e988140, 2, (RF, RF_IF),     rd_rm),
+ cCL(cosez,    e988160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(tans,     ea08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(tansp,    ea08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(tansm,    ea08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(tansz,    ea08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(tand,     ea08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(tandp,    ea081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(tandm,    ea081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(tandz,    ea081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(tane,     ea88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(tanep,    ea88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(tanem,    ea88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(tanez,    ea88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(asns,     eb08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnsp,    eb08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnsm,    eb08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnsz,    eb08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnd,     eb08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(asndp,    eb081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(asndm,    eb081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(asndz,    eb081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(asne,     eb88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnep,    eb88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnem,    eb88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(asnez,    eb88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(acss,     ec08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(acssp,    ec08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(acssm,    ec08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(acssz,    ec08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsd,     ec08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsdp,    ec081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsdm,    ec081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsdz,    ec081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(acse,     ec88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsep,    ec88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsem,    ec88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(acsez,    ec88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(atns,     ed08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnsp,    ed08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnsm,    ed08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnsz,    ed08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnd,     ed08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(atndp,    ed081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(atndm,    ed081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(atndz,    ed081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(atne,     ed88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnep,    ed88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnem,    ed88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(atnez,    ed88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(urds,     ee08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdsp,    ee08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdsm,    ee08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdsz,    ee08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdd,     ee08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(urddp,    ee081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(urddm,    ee081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(urddz,    ee081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(urde,     ee88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdep,    ee88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdem,    ee88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(urdez,    ee88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(nrms,     ef08100, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmsp,    ef08120, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmsm,    ef08140, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmsz,    ef08160, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmd,     ef08180, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmdp,    ef081a0, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmdm,    ef081c0, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmdz,    ef081e0, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrme,     ef88100, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmep,    ef88120, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmem,    ef88140, 2, (RF, RF_IF),     rd_rm),
+ cCL(nrmez,    ef88160, 2, (RF, RF_IF),     rd_rm),
+
+ cCL(adfs,     e000100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfsp,    e000120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfsm,    e000140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfsz,    e000160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfd,     e000180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfdp,    e0001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfdm,    e0001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfdz,    e0001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfe,     e080100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfep,    e080120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfem,    e080140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(adfez,    e080160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(sufs,     e200100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufsp,    e200120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufsm,    e200140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufsz,    e200160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufd,     e200180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufdp,    e2001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufdm,    e2001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufdz,    e2001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufe,     e280100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufep,    e280120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufem,    e280140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(sufez,    e280160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(rsfs,     e300100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfsp,    e300120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfsm,    e300140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfsz,    e300160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfd,     e300180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfdp,    e3001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfdm,    e3001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfdz,    e3001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfe,     e380100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfep,    e380120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfem,    e380140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rsfez,    e380160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(mufs,     e100100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufsp,    e100120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufsm,    e100140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufsz,    e100160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufd,     e100180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufdp,    e1001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufdm,    e1001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufdz,    e1001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufe,     e180100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufep,    e180120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufem,    e180140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(mufez,    e180160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(dvfs,     e400100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfsp,    e400120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfsm,    e400140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfsz,    e400160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfd,     e400180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfdp,    e4001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfdm,    e4001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfdz,    e4001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfe,     e480100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfep,    e480120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfem,    e480140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(dvfez,    e480160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(rdfs,     e500100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfsp,    e500120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfsm,    e500140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfsz,    e500160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfd,     e500180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfdp,    e5001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfdm,    e5001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfdz,    e5001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfe,     e580100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfep,    e580120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfem,    e580140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rdfez,    e580160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(pows,     e600100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powsp,    e600120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powsm,    e600140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powsz,    e600160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powd,     e600180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powdp,    e6001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powdm,    e6001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powdz,    e6001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powe,     e680100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powep,    e680120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powem,    e680140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(powez,    e680160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(rpws,     e700100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwsp,    e700120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwsm,    e700140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwsz,    e700160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwd,     e700180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwdp,    e7001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwdm,    e7001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwdz,    e7001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwe,     e780100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwep,    e780120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwem,    e780140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rpwez,    e780160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(rmfs,     e800100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfsp,    e800120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfsm,    e800140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfsz,    e800160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfd,     e800180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfdp,    e8001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfdm,    e8001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfdz,    e8001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfe,     e880100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfep,    e880120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfem,    e880140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(rmfez,    e880160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(fmls,     e900100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlsp,    e900120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlsm,    e900140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlsz,    e900160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmld,     e900180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmldp,    e9001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmldm,    e9001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmldz,    e9001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmle,     e980100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlep,    e980120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlem,    e980140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fmlez,    e980160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(fdvs,     ea00100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvsp,    ea00120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvsm,    ea00140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvsz,    ea00160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvd,     ea00180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvdp,    ea001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvdm,    ea001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvdz,    ea001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdve,     ea80100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvep,    ea80120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvem,    ea80140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(fdvez,    ea80160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(frds,     eb00100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdsp,    eb00120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdsm,    eb00140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdsz,    eb00160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdd,     eb00180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frddp,    eb001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frddm,    eb001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frddz,    eb001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frde,     eb80100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdep,    eb80120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdem,    eb80140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(frdez,    eb80160, 3, (RF, RF, RF_IF), rd_rn_rm),
+
+ cCL(pols,     ec00100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polsp,    ec00120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polsm,    ec00140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polsz,    ec00160, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(pold,     ec00180, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(poldp,    ec001a0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(poldm,    ec001c0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(poldz,    ec001e0, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(pole,     ec80100, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polep,    ec80120, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polem,    ec80140, 3, (RF, RF, RF_IF), rd_rn_rm),
+ cCL(polez,    ec80160, 3, (RF, RF, RF_IF), rd_rn_rm),
 
  cCE(cmf,      e90f110, 2, (RF, RF_IF),     fpa_cmp),
  C3E(cmfe,     ed0f110, 2, (RF, RF_IF),     fpa_cmp),
  cCE(cnf,      eb0f110, 2, (RF, RF_IF),     fpa_cmp),
  C3E(cnfe,     ef0f110, 2, (RF, RF_IF),     fpa_cmp),
 
- cC3(flts,     e000110, 2, (RF, RR),        rn_rd),
- cC3(fltsp,    e000130, 2, (RF, RR),        rn_rd),
- cC3(fltsm,    e000150, 2, (RF, RR),        rn_rd),
- cC3(fltsz,    e000170, 2, (RF, RR),        rn_rd),
- cC3(fltd,     e000190, 2, (RF, RR),        rn_rd),
- cC3(fltdp,    e0001b0, 2, (RF, RR),        rn_rd),
- cC3(fltdm,    e0001d0, 2, (RF, RR),        rn_rd),
- cC3(fltdz,    e0001f0, 2, (RF, RR),        rn_rd),
- cC3(flte,     e080110, 2, (RF, RR),        rn_rd),
- cC3(fltep,    e080130, 2, (RF, RR),        rn_rd),
- cC3(fltem,    e080150, 2, (RF, RR),        rn_rd),
- cC3(fltez,    e080170, 2, (RF, RR),        rn_rd),
+ cCL(flts,     e000110, 2, (RF, RR),        rn_rd),
+ cCL(fltsp,    e000130, 2, (RF, RR),        rn_rd),
+ cCL(fltsm,    e000150, 2, (RF, RR),        rn_rd),
+ cCL(fltsz,    e000170, 2, (RF, RR),        rn_rd),
+ cCL(fltd,     e000190, 2, (RF, RR),        rn_rd),
+ cCL(fltdp,    e0001b0, 2, (RF, RR),        rn_rd),
+ cCL(fltdm,    e0001d0, 2, (RF, RR),        rn_rd),
+ cCL(fltdz,    e0001f0, 2, (RF, RR),        rn_rd),
+ cCL(flte,     e080110, 2, (RF, RR),        rn_rd),
+ cCL(fltep,    e080130, 2, (RF, RR),        rn_rd),
+ cCL(fltem,    e080150, 2, (RF, RR),        rn_rd),
+ cCL(fltez,    e080170, 2, (RF, RR),        rn_rd),
 
   /* The implementation of the FIX instruction is broken on some
      assemblers, in that it accepts a precision specifier as well as a
@@ -9315,28 +9333,28 @@ static const struct asm_opcode insns[] =
      To be more compatible, we accept it as well, though of course it
      does not set any bits.  */
  cCE(fix,      e100110, 2, (RR, RF),        rd_rm),
- cC3(fixp,     e100130, 2, (RR, RF),        rd_rm),
- cC3(fixm,     e100150, 2, (RR, RF),        rd_rm),
- cC3(fixz,     e100170, 2, (RR, RF),        rd_rm),
- cC3(fixsp,    e100130, 2, (RR, RF),        rd_rm),
- cC3(fixsm,    e100150, 2, (RR, RF),        rd_rm),
- cC3(fixsz,    e100170, 2, (RR, RF),        rd_rm),
- cC3(fixdp,    e100130, 2, (RR, RF),        rd_rm),
- cC3(fixdm,    e100150, 2, (RR, RF),        rd_rm),
- cC3(fixdz,    e100170, 2, (RR, RF),        rd_rm),
- cC3(fixep,    e100130, 2, (RR, RF),        rd_rm),
- cC3(fixem,    e100150, 2, (RR, RF),        rd_rm),
- cC3(fixez,    e100170, 2, (RR, RF),        rd_rm),
+ cCL(fixp,     e100130, 2, (RR, RF),        rd_rm),
+ cCL(fixm,     e100150, 2, (RR, RF),        rd_rm),
+ cCL(fixz,     e100170, 2, (RR, RF),        rd_rm),
+ cCL(fixsp,    e100130, 2, (RR, RF),        rd_rm),
+ cCL(fixsm,    e100150, 2, (RR, RF),        rd_rm),
+ cCL(fixsz,    e100170, 2, (RR, RF),        rd_rm),
+ cCL(fixdp,    e100130, 2, (RR, RF),        rd_rm),
+ cCL(fixdm,    e100150, 2, (RR, RF),        rd_rm),
+ cCL(fixdz,    e100170, 2, (RR, RF),        rd_rm),
+ cCL(fixep,    e100130, 2, (RR, RF),        rd_rm),
+ cCL(fixem,    e100150, 2, (RR, RF),        rd_rm),
+ cCL(fixez,    e100170, 2, (RR, RF),        rd_rm),
 
   /* Instructions that were new with the real FPA, call them V2.  */
 #undef ARM_VARIANT
 #define ARM_VARIANT FPU_FPA_EXT_V2
  cCE(lfm,      c100200, 3, (RF, I4b, ADDR), fpa_ldmstm),
- cC3(lfmfd,    c900200, 3, (RF, I4b, ADDR), fpa_ldmstm),
- cC3(lfmea,    d100200, 3, (RF, I4b, ADDR), fpa_ldmstm),
+ cCL(lfmfd,    c900200, 3, (RF, I4b, ADDR), fpa_ldmstm),
+ cCL(lfmea,    d100200, 3, (RF, I4b, ADDR), fpa_ldmstm),
  cCE(sfm,      c000200, 3, (RF, I4b, ADDR), fpa_ldmstm),
- cC3(sfmfd,    d000200, 3, (RF, I4b, ADDR), fpa_ldmstm),
- cC3(sfmea,    c800200, 3, (RF, I4b, ADDR), fpa_ldmstm),
+ cCL(sfmfd,    d000200, 3, (RF, I4b, ADDR), fpa_ldmstm),
+ cCL(sfmea,    c800200, 3, (RF, I4b, ADDR), fpa_ldmstm),
 
 #undef ARM_VARIANT
 #define ARM_VARIANT FPU_VFP_EXT_V1xD  /* VFP V1xD (single precision).  */
@@ -9717,7 +9735,8 @@ static const struct asm_opcode insns[] =
 #undef TUF
 #undef TCC
 #undef cCE
-#undef cC3
+#undef cCL
+#undef C3E
 #undef CE
 #undef CM
 #undef UE
index 9e69088..381148c 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-30  Paul Brook  <paul@codesourcery.com>
+
+       * gas/arm/fpa-mem.s: Remove incorrect comments.
+       * gas/arm/fpa-mem.d: Update expected results.
+
 2005-09-29  Jan Beulich  <jbeulich@novell.com>
 
        * gas/ia64/alloc.[sl]: New.
index a94c742..9b3a656 100644 (file)
@@ -31,4 +31,4 @@ Disassembly of section .text:
 0+50 <[^>]*> ed00020c ?        sfm     f0, 4, \[r0, #-48\]
 0+54 <[^>]*> ed800200 ?        sfm     f0, 4, \[r0\]
 0+58 <[^>]*> 5d800100 ?        stfpls  f0, \[r0\]
-0+5c <[^>]*> 9dc08100 ?        stflsp  f0, \[r0\]
+0+5c <[^>]*> 5d800100 ?        stfpls  f0, \[r0\]
index efbbbd8..bcb4ae3 100644 (file)
@@ -27,8 +27,6 @@ F:
        
        # Test mnemonic that is ambiguous between infix and suffic
        # condition codes
-       # sfts condition code pl
        stfpls  f0, [r0]
        .syntax unified
-       # stfp condition code ls
        stfpls  f0, [r0]