helper for one-source-of-truth for insn argument list for ISACaller and parser
[openpower-isa.git] / openpower / isatables / fields.text
index f035b438baa8df9933f44cfcdbaf8fe93eab355d..ecf5ab680d9c2ff9bc10a7918d9d77d144df72a9 100644 (file)
     |0     |6    |11    |16    |21   |26 |27    31|
     | PO   |  RT |   RA |   RB |bm   |L  |   XO   |
 
-# 1.6.2.1 CRB-FORM
-    |0     |6    |9   |12  |15  |18  |21    |29    |31 |
-    | PO   |  BF | BFA| BFB| BFC| msk| TLI  |   XO |msk|
+# 1.6.2.2 CRB-FORM
+    |0     |6    |9   |11   |14   | 16  |19   |26   | 31|
+    | PO   | BF  | msk|BFA  | msk | BFB | //  | XO  | / |
+    | PO   | BF  | msk|BFA  | msk | BFB | TLI | XO  |TLI|
+
+# 1.6.2.3 CW-FORM
+    |0     |6   |9 |11|12   |16   |19  |22   |26   |31|
+    | PO   | RA    |M |fmsk |BF   |XO  |fmap | XO     |
+    | PO   | BT    |M |fmsk |BF   |XO  |fmap | XO     |
+    | PO   | BF |  |M |fmsk |BF   |XO  |fmap | XO     |
+
+# 1.6.2.3 CW2-FORM
+    |0     |6   |9 |11|12   |16   |19  |22   |26   |31|
+    | PO   | RT    |M |fmsk |BFA  |XO  |fmap | XO  |Rc|
 
 # 1.6.3 SC-FORM
     |0     |6    |11    |16    |20     |27  |30 |31  |
@@ -64,6 +75,7 @@
     | PO   |       RT      |     ///     |    RB       |   XO |  / |
     | PO   |       RT      |     ///     |    RB       |   XO | 1  |
     | PO   |       RT      |     ///     |     ///     |   XO |  / |
+    | PO   |       RT      |    BI       |     ///     |   XO |  / |
     | PO   |       RS      |    RA       |    RB       |   XO |Rc  |
     | PO   |       RT      |    RA       |    RB       |   XO |Rc  |
     | PO   |       RS      |    RA       |    RB       |   XO | 1  |
     | PO   |       RT      | /// |L3     |     ///     |   XO | /  |
     | PO   |   FRT         |   FRA       |   FRB       |   XO | Rc |
     | PO   |   FRT         |   FRA       |    RB       |   XO | Rc |
+    | PO   |   RT          |  ///        |   FRB       |   XO | Rc |
+    | PO   |   FRT         |  ///        |    RB       |   XO | Rc |
+    | PO   |   FRT         | IT  | ///   |    RB       |   XO | Rc |
+
+# 1.6.7.1 DCT-FORM
+
+    |0     |6     |11      |16     |21      |26    |31  |
+    | PO   |  FRT |   FRA  |   FRB |   //   |   XO | Rc |
 
 # 1.6.8 XL-FORM
     |0     |6    |9  |11  |14   |16    |19|20|21    |31 |
     |0     |6    |11    |16    |21    |30|31 |
     | PO   |  RS |   RA |   sh |   XO |sh|Rc |
 
-# 1.6.15 XB-FORM
-    |0     |6    |11    |16    |22    |31 |
-    | PO   |  RT |   RA |  XBI |   XO |Rc |
-
 # 1.6.16 XO-FORM
-    |0     |6   |11   |16     |21 |22    |31  |
-    | PO   |  RT|   RA|   RB  |OE |   XO |Rc  |
-    | PO   |  RT|   RA|   RB  |  /|   XO |Rc  |
-    | PO   |  RT|   RA|   RB  |  /|   XO |  / |
-    | PO   |  RT|   RA|   /// |OE |   XO |Rc  |
+    |0   |6   |11  |13   |16   |21  |22  |31  |
+    | PO | RT | RA       | RB  | OE | XO | Rc |
+    | PO | RT | RA       | RB  |  / | XO | Rc |
+    | PO | RT | RA       | RB  |  / | XO | /  |
+    | PO | RT | RA       | /// | OE | XO | Rc |
+    | PO | RT | IT | CVM | FRB | OE | XO | Rc |
 
 # 1.6.17 A-FORM
-    |0     |6     |11      |16     |21      |26    |31 |
-    | PO   |  FRT |   FRA  | FRB   |   FRC  |   XO |Rc |
-    | PO   |  FRT |   FRA  | FRB   |    /// |   XO |Rc |
-    | PO   |  FRT |   FRA  |   /// |   FRC  |   XO |Rc |
-    | PO   |  FRT |    /// | FRB   |    /// |   XO |Rc |
-    | PO   |   RT |   RA   |   RB  |    BC  |   XO |  /|
+    |0     |6     |11     |16      |21      |26    |31 |
+    | PO   |  FRT |  FRA  |  FRB   |   FRC  |   XO |Rc |
+    | PO   |  FRT |  FRA  |  FRB   |   ///  |   XO |Rc |
+    | PO   |  FRT |  FRA  |  ///   |   FRC  |   XO |Rc |
+    | PO   |  FRT |  ///  |  FRB   |   ///  |   XO |Rc |
+    | PO   |   RT |  RA   |  RB    |   BC   |   XO |  /|
+    | PO   |   RT |  RA   |  RB    |   SH   |   XO |Rc |
 
 # 1.6.18 M-FORM
     |0     |6    |11    |16    |21    |26    |31|
     | PO   |  FRT |    TE    |   FRB |RMC|   XO |Rc |
     | PO   |  FRTp|    TE    |  FRBp |RMC|   XO |Rc |
     | PO   |  FRT |   FRA    |   FRB |RMC|   XO |Rc |
-    | PO   |  RT  |   RA     |   RB  |sm |   XO |Rc |
+    | PO   |  RT  |   RA     |   RB  |SH |   XO |Rc |
     | PO   |  RT  |   RA     |   RB  |CY |   XO |Rc |
     | PO   |  FRTp|   FRA    |  FRBp |RMC|   XO |Rc |
     | PO   |  FRTp|  FRAp    |  FRBp |RMC|   XO |Rc |
     | PO | RT |  RA |  RB | TLI | XO |Rc |
     | PO | RT |  RA |  RB | TLI | XO |L  |
 
+# 1.6.38 MM-FORM
+    |0    |6    |11   |16   |21   |24 |25  |31  |
+    | PO  | FRT | FRA | FRB | FMM     | XO | Rc |
+    | PO  | RT  | RA  | RB  | MMM | / | XO | Rc |
+
+
 # 1.6.28 Instruction Fields
     A (6)
         Field used by the tbegin. instruction to specify an
     BI (11:15)
          Field used to specify a bit in the CR to be tested by
          a Branch Conditional instruction.
-         Formats: B, XL
+         Formats: B, X, XL
     bm (21:25)
          Field used to specify the Bit-mask Mode for bmask
          Formats: BM2
         Field used in X-form instructions to specify a cache
         target (see Section 4.3.2 of Book II).
         Formats: X
+    CVM (13:15)
+        Field used to specify conversion mode for
+        integer -> floating-point conversion.
+        Formats: XO
     CX,C (28,21:25)
         Fields that are concatenated to specify a VSR to
         be used as a source.
         Field mask used to identify the FPSCR fields that
         are to be updated by the mtfsf instruction.
         Formats: XFL
+    FMM (21:24)
+        Field used to specify minimum/maximum mode for fminmax.
+        Formats: MM
+    fmap (22:25)
+        Field used to specify the CR Field set/clear map for CR Weird
+        instructions.
+        Formats: CW, CW2
+    fmsk (12:15)
+        Field used to specify the CR Field mask for CR Weird instructions.
+        Formats: CW, CW2
     FRA (11:15)
         Field used to specify a FPR to be used as a
         source.
-        Formats: A, X, Z22, Z23
+        Formats: A, MM, X, Z22, Z23, DCT
     FRAp (11:15)
         Field used to specify an even/odd pair of FPRs to
         be concatenated and used as a source.
     FRB (16:20)
         Field used to specify an FPR to be used as a
         source.
-        Formats: A, X, XFL, Z23
+        Formats: A, MM, X, XFL, XO, Z23, DCT
     FRBp (16:20)
          Field used to specify an even/odd pair of FPRs to
          be concatenated and used as a source.
     FRT (6:10)
          Field used to specify an FPR to be used as a tar-
          get.
-         Formats: A, D, X, Z22, Z23
+         Formats: A, D, MM, X, Z22, Z23, DCT
     FRTp (6:10)
          Field used to specify an even/odd pair of FPRs to
          be concatenated and used as a target.
          Immediate field used to specify a 5-bit signed inte-
          ger.
          Formats: MDS
+    IT (11:12)
+        Field used to specify integer type for FPR <-> GPR conversions.
+        Formats: X, XO
     L (6)
          Field used to specify whether the mtfsf instruction
          updates the entire FPSCR.
     rmm (11:15)
         Field used to specify a REMAP shape for SVI-Form
         Formats: SVI
+    msk (9:10,14:15)
+        Field used by crternlogi and crbinlut to select which bits
+        of CR Field BF are to be modified. Requires BF to be Read-Modify-Write
+        Formats: CRB
     MB (21:25)
         Field used in M-form instructions to specify the first
         1-bit of a 64-bit mask, as described in
         Field used to specify the meaning of the rmm field for SVI-Form
         and SVM2-Form
         Formats: SVI, SVM2
+    MMM (21:23)
+        Field used to specify minimum/maximum mode for integer minmax.
+        Formats: MM
     mo0 (17:18)
         Field used in REMAP to select the SVSHAPE for 1st output register
         Formats: SVRM
     RA (11:15)
         Field used to specify a GPR to be used as a
         source or as a target.
-        Formats: A, BM2, D, DQ, DQE, DS, M, MD, MDS, TX, VA, VA2, VX, X, XO, XS, SVL, XB, TLI, Z23
+        Formats: A, BM2, D, DQ, DQE, DS, M, MD, MDS, MM, TX, VA, VA2, VX, X, XO, XS, SVL, TLI, Z23
     RB (16:20)
         Field used to specify a GPR to be used as a
         source.
-        Formats: A, BM2, M, MDS, VA, VA2, X, XO, TLI, Z23
+        Formats: A, BM2, M, MDS, MM, VA, VA2, X, XO, TLI, Z23
     Rc (21)
         RECORD bit.
         0    Do not alter the Condition Register.
         1    Set Condition Register Field 0 or Field 1 as
              described in Section 2.3.1, 'Condition Regis-
              ter' on page 30.
-        Formats: A, M, MD, MDS, VA2, X, XFL, XO, XS, Z22, Z23, SVL, XB, TLI
+        Formats: A, M, MD, MDS, MM, VA2, X, XFL, XO, XS, Z22, Z23, SVL, TLI, DCT
     RIC (12:13)
         Field used to specify what types of entries to inval-
         idate for tlbie[l].
         Formats: DS, X
     RT (6:10)
         Field used to specify a GPR to be used as a target.
-        Formats: A, BM2, D, DQE, DS, DX, VA, VA2, VX, X, XFX, XO, XX2, SVL, XB, TLI, Z23
+        Formats: A, BM2, D, DQE, DS, DX, MM, VA, VA2, VX, X, XFX, XO, XX2, SVL, TLI, Z23
     RTp (6:10)
         Field used to specify an even/odd pair of GPRs to
         be concatenated and used as a target.
     SCi (11:31)
         SV Context Propagation immediate bitfield
         Formats: SVC
-    sm (21:22)
-        Immediate field used for selecting operands (shift mode)
-        Formats: Z23
     SRb (11:14)
         SV REMAP byte-reversal field.
         Formats: SVC
     SH (16:21)
         Field used to specify a shift amount.
         Formats: Z22
+    SH (21:25)
+        Field used to specify a shift amount.
+        Formats: A
+    SH (21:22)
+        Immediate field used for selecting operands (shift mode)
+        Formats: Z23
     sh (30,16:20)
         Fields that are concatenated to specify a shift
         amount.
          Field used by the ternlogi instruction as the
          look-up table.
          Formats: TLI
+    TLI (21:25,19:20,31)
+        Field used by the crternlogi instruction as the
+        look-up table.
+        Formats: CRB
     TO (6:10)
          Field used to specify the conditions on which to
          trap.     The    encoding     is    described   in
     XBI (21:24)
         Field used to specify a bit in the XER.
         Formats: MDS, MDS, TX
-    XBI (16:21)
-        Field used to specify a 6-bit unsigned immediate for bit manipulation
-        instructions, such as grevi.
-        Formats: XB
     XO (21:23,26:31)
         Extended opcode field.
         Formats: SVM2
         Formats: VX
     XO (22:30)
         Extended opcode field.
-        Formats: XO, XX3, Z22, XB
+        Formats: XO, XX3, Z22
     XO (22:31)
         Extended opcode field.
         Formats: VC
         Formats: X, Z23
     XO (25:30)
         Extended opcode field.
-        Formats: TX
+        Formats: MM, TX
     XO (26:27)
         Extended opcode field.
         Formats: XX4
     XO (26:30)
         Extended opcode field.
-        Formats: A, DX, VA2, SVL
+        Formats: A, DX, VA2, SVL, CRB, DCT
     XO (26:31)
         Extended opcode field.
         Formats: VA, SVM, SVRM, SVI
         Formats: BM2
     XO (29:31)
         Extended opcode field.
-        Formats: DQ, TLI
+        Formats: DQ
+    XO (29:30)
+        Extended opcode field.
+        Formats: TLI
     XO (30)
         Extended opcode field.
         Formats: SC