/********************************************************************************
 * Marvell GPL License Option
 *
 * If you received this File from Marvell, you may opt to use, redistribute and/or
 * modify this File in accordance with the terms and conditions of the General
 * Public License Version 2, June 1991 (the "GPL License"), a copy of which is
 * available along with the File in the license.txt file or by writing to the Free
 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
 * on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
 *
 * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
 * DISCLAIMED.  The GPL License provides additional details about this warranty
 * disclaimer.
 ******************************************************************************/

//////
/// don't edit! auto-generated by docc: Figo.h
////////////////////////////////////////////////////////////
#ifndef Figo_h
#define Figo_h (){}


#include "ctypes.h"

#pragma pack(1)
#ifdef __cplusplus
  extern "C" {
#endif

#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}

    #define _bSETMASK_(b)                                      ((b)<32 ? (1<<((b)&31)) : 0)
    #define _NSETMASK_(msb,lsb)                                (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
    #define _bCLRMASK_(b)                                      (~_bSETMASK_(b))
    #define _NCLRMASK_(msb,lsb)                                (~_NSETMASK_(msb,lsb))
    #define _BFGET_(r,msb,lsb)                                 (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
    #define _BFSET_(r,msb,lsb,v)                               do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)

#endif



//////
/// 
/// $INTERFACE FigoFields                               (4,4)
///     # # ----------------------------------------------------------
///     @ 0x00000                      (P)
///               %unsigned 24 MASK                      
///                                    : D4                        0xF
///                                                 ###
///                                                 * [23:0] ---- ---- ---- ---- ---- DDDD
///                                                 ###
///                                    : T4                       0xF0
///                                                 ###
///                                                 * [23:0] ---- ---- ---- ---- TTTT ----
///                                                 ###
///                                    : C4                      0xF00
///                                                 ###
///                                                 * [23:0] ---- ---- ---- CCCC ---- ----
///                                                 ###
///                                    : S4                     0xF000
///                                                 ###
///                                                 * [23:0] ---- ---- SSSS ---- ---- ----
///                                                 ###
///                                    : S8                     0xFF00
///                                                 ###
///                                                 * [23:0] ---- ---- SSSS SSSS ---- ----
///                                                 ###
///                                    : Q6                       0x3F
///                                                 ###
///                                                 * [23:0] ---- ---- ---- ---- --QQ QQQQ
///                                                 ###
///                                    : X2                       0xC0
///                                                 ###
///                                                 * [23:0] ---- ---- ---- ---- XX-- ----
///                                                 ###
///                                    : I16                   0xFFFF0
///                                                 ###
///                                                 * [23:0] ---- IIII IIII IIII IIII ----
///                                                 ###
///                                    : I12                   0xFFF00
///                                                 ###
///                                                 * [23:0] ---- IIII IIII IIII ---- ----
///                                                 ###
///                                    : I8                      0xFF0
///                                                 ###
///                                                 * [23:0] ---- ---- ---- IIII IIII ----
///                                                 ###
///                                    : H8                    0xFF000
///                                                 ###
///                                                 * [23:0] ---- HHHH HHHH ---- ---- ----
///                                                 ###
///                                    : L8                       0xFF
///                                                 ###
///                                                 * [23:0] ---- ---- ---- ---- LLLL LLLL
///                                                 ###
///                                    : K16                   0xFFF0F
///                                                 ###
///                                                 * [23:0] ---- KKKK KKKK KKKK ---- KKKK
///                                                 ###
///                                    : K8                    0xF0F00
///                                                 ###
///                                                 * [23:0] ---- KKKK ---- KKKK ---- ----
///                                                 ###
///                                    : op4                   0xF00000
///                                                 ###
///                                                 * [23:0] %%%% ---- ---- ---- ---- ----
///                                                 ###
///                                    : op8                   0xFF0000
///                                                 ###
///                                                 * [23:0] %%%% %%%% ---- ---- ---- ----
///                                                 ###
///                                    : op41                  0xF00010
///                                                 ###
///                                                 * [23:0] %%%% ---- ---- ---- ---% ----
///                                                 ###
///                                    : op42                  0xF000C0
///                                                 ###
///                                                 * [23:0] %%%% ---- ---- ---- %%-- ----
///                                                 ###
///                                    : op44                  0xF0000F
///                                                 ###
///                                                 * [23:0] %%%% ---- ---- ---- ---- %%%%
///                                                 ###
///               %%        8          # Stuffing bits...
///     @ 0x00004                      (P)
///               %unsigned 4  D4                        
///               %unsigned 16 I16                       
///                                    ###
///                                    * [23:0] ---- IIII IIII IIII IIII DDDD
///                                    ###
///               %%        12         # Stuffing bits...
///     @ 0x00008                      (P)
///               %unsigned 4  K16L                      
///               %unsigned 4  T4                        
///               %unsigned 12 K16H                      
///                                    ###
///                                    * [23:0] ---- KKKK KKKK KKKK TTTT KKKK
///                                    ###
///               %%        12         # Stuffing bits...
///     @ 0x0000C                      (P)
///               %unsigned 8  L8                        
///               %unsigned 4  C4                        
///               %unsigned 8  H8                        
///                                    ###
///                                    * [23:0] ---- HHHH HHHH CCCC LLLL LLLL
///                                    ###
///               %%        12         # Stuffing bits...
///     @ 0x00010                      (P)
///               %unsigned 6  Q6                        
///               %unsigned 2  X2                        
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///                                    ###
///                                    * [23:0] ---- KKKK SSSS KKKK XXQQ QQQQ
///                                    ###
///               %%        12         # Stuffing bits...
///     @ 0x00014                      (P)
///               %unsigned 4  op4                       
///               %unsigned 1  op1                       
///               %%        1          # Stuffing bits...
///               %unsigned 2  op2                       
///               %unsigned 12 I12                       
///               %unsigned 4  FMT4                      
///                                    ###
///                                    * [23:0] %%%% IIII IIII IIII %%-% %%%%
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00018                      (P)
///               %%        4          # Stuffing bits...
///               %unsigned 8  I8                        
///               %%        4          # Stuffing bits...
///               %unsigned 8  FMT8                      
///                                    ###
///                                    * [23:0] %%%% %%%% ---- IIII IIII ----
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x0001C                      (P)
///               %%        8          # Stuffing bits...
///               %unsigned 8  S8                        
///                                    ###
///                                    * [23:0] ---- ---- SSSS SSSS ---- ----
///                                    ###
///               %%        16         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      32B, bits:     151b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_FigoFields
#define h_FigoFields (){}

    #define     BA_FigoFields_MASK                             0x0000
    #define     B16FigoFields_MASK                             0x0000
    #define   LSb32FigoFields_MASK                                0
    #define   LSb16FigoFields_MASK                                0
    #define       bFigoFields_MASK                             24
    #define   MSK32FigoFields_MASK                                0x00FFFFFF
    #define        FigoFields_MASK_D4                                       0xF
    #define        FigoFields_MASK_T4                                       0xF0
    #define        FigoFields_MASK_C4                                       0xF00
    #define        FigoFields_MASK_S4                                       0xF000
    #define        FigoFields_MASK_S8                                       0xFF00
    #define        FigoFields_MASK_Q6                                       0x3F
    #define        FigoFields_MASK_X2                                       0xC0
    #define        FigoFields_MASK_I16                                      0xFFFF0
    #define        FigoFields_MASK_I12                                      0xFFF00
    #define        FigoFields_MASK_I8                                       0xFF0
    #define        FigoFields_MASK_H8                                       0xFF000
    #define        FigoFields_MASK_L8                                       0xFF
    #define        FigoFields_MASK_K16                                      0xFFF0F
    #define        FigoFields_MASK_K8                                       0xF0F00
    #define        FigoFields_MASK_op4                                      0xF00000
    #define        FigoFields_MASK_op8                                      0xFF0000
    #define        FigoFields_MASK_op41                                     0xF00010
    #define        FigoFields_MASK_op42                                     0xF000C0
    #define        FigoFields_MASK_op44                                     0xF0000F
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_D4                               0x0004
    #define     B16FigoFields_D4                               0x0004
    #define   LSb32FigoFields_D4                                  0
    #define   LSb16FigoFields_D4                                  0
    #define       bFigoFields_D4                               4
    #define   MSK32FigoFields_D4                                  0x0000000F

    #define     BA_FigoFields_I16                              0x0004
    #define     B16FigoFields_I16                              0x0004
    #define   LSb32FigoFields_I16                                 4
    #define   LSb16FigoFields_I16                                 4
    #define       bFigoFields_I16                              16
    #define   MSK32FigoFields_I16                                 0x000FFFF0
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_K16L                             0x0008
    #define     B16FigoFields_K16L                             0x0008
    #define   LSb32FigoFields_K16L                                0
    #define   LSb16FigoFields_K16L                                0
    #define       bFigoFields_K16L                             4
    #define   MSK32FigoFields_K16L                                0x0000000F

    #define     BA_FigoFields_T4                               0x0008
    #define     B16FigoFields_T4                               0x0008
    #define   LSb32FigoFields_T4                                  4
    #define   LSb16FigoFields_T4                                  4
    #define       bFigoFields_T4                               4
    #define   MSK32FigoFields_T4                                  0x000000F0

    #define     BA_FigoFields_K16H                             0x0009
    #define     B16FigoFields_K16H                             0x0008
    #define   LSb32FigoFields_K16H                                8
    #define   LSb16FigoFields_K16H                                8
    #define       bFigoFields_K16H                             12
    #define   MSK32FigoFields_K16H                                0x000FFF00
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_L8                               0x000C
    #define     B16FigoFields_L8                               0x000C
    #define   LSb32FigoFields_L8                                  0
    #define   LSb16FigoFields_L8                                  0
    #define       bFigoFields_L8                               8
    #define   MSK32FigoFields_L8                                  0x000000FF

    #define     BA_FigoFields_C4                               0x000D
    #define     B16FigoFields_C4                               0x000C
    #define   LSb32FigoFields_C4                                  8
    #define   LSb16FigoFields_C4                                  8
    #define       bFigoFields_C4                               4
    #define   MSK32FigoFields_C4                                  0x00000F00

    #define     BA_FigoFields_H8                               0x000D
    #define     B16FigoFields_H8                               0x000C
    #define   LSb32FigoFields_H8                                  12
    #define   LSb16FigoFields_H8                                  12
    #define       bFigoFields_H8                               8
    #define   MSK32FigoFields_H8                                  0x000FF000
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_Q6                               0x0010
    #define     B16FigoFields_Q6                               0x0010
    #define   LSb32FigoFields_Q6                                  0
    #define   LSb16FigoFields_Q6                                  0
    #define       bFigoFields_Q6                               6
    #define   MSK32FigoFields_Q6                                  0x0000003F

    #define     BA_FigoFields_X2                               0x0010
    #define     B16FigoFields_X2                               0x0010
    #define   LSb32FigoFields_X2                                  6
    #define   LSb16FigoFields_X2                                  6
    #define       bFigoFields_X2                               2
    #define   MSK32FigoFields_X2                                  0x000000C0

    #define     BA_FigoFields_K8L                              0x0011
    #define     B16FigoFields_K8L                              0x0010
    #define   LSb32FigoFields_K8L                                 8
    #define   LSb16FigoFields_K8L                                 8
    #define       bFigoFields_K8L                              4
    #define   MSK32FigoFields_K8L                                 0x00000F00

    #define     BA_FigoFields_S4                               0x0011
    #define     B16FigoFields_S4                               0x0010
    #define   LSb32FigoFields_S4                                  12
    #define   LSb16FigoFields_S4                                  12
    #define       bFigoFields_S4                               4
    #define   MSK32FigoFields_S4                                  0x0000F000

    #define     BA_FigoFields_K8H                              0x0012
    #define     B16FigoFields_K8H                              0x0012
    #define   LSb32FigoFields_K8H                                 16
    #define   LSb16FigoFields_K8H                                 0
    #define       bFigoFields_K8H                              4
    #define   MSK32FigoFields_K8H                                 0x000F0000
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_op4                              0x0014
    #define     B16FigoFields_op4                              0x0014
    #define   LSb32FigoFields_op4                                 0
    #define   LSb16FigoFields_op4                                 0
    #define       bFigoFields_op4                              4
    #define   MSK32FigoFields_op4                                 0x0000000F

    #define     BA_FigoFields_op1                              0x0014
    #define     B16FigoFields_op1                              0x0014
    #define   LSb32FigoFields_op1                                 4
    #define   LSb16FigoFields_op1                                 4
    #define       bFigoFields_op1                              1
    #define   MSK32FigoFields_op1                                 0x00000010

    #define     BA_FigoFields_op2                              0x0014
    #define     B16FigoFields_op2                              0x0014
    #define   LSb32FigoFields_op2                                 6
    #define   LSb16FigoFields_op2                                 6
    #define       bFigoFields_op2                              2
    #define   MSK32FigoFields_op2                                 0x000000C0

    #define     BA_FigoFields_I12                              0x0015
    #define     B16FigoFields_I12                              0x0014
    #define   LSb32FigoFields_I12                                 8
    #define   LSb16FigoFields_I12                                 8
    #define       bFigoFields_I12                              12
    #define   MSK32FigoFields_I12                                 0x000FFF00

    #define     BA_FigoFields_FMT4                             0x0016
    #define     B16FigoFields_FMT4                             0x0016
    #define   LSb32FigoFields_FMT4                                20
    #define   LSb16FigoFields_FMT4                                4
    #define       bFigoFields_FMT4                             4
    #define   MSK32FigoFields_FMT4                                0x00F00000
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_I8                               0x0018
    #define     B16FigoFields_I8                               0x0018
    #define   LSb32FigoFields_I8                                  4
    #define   LSb16FigoFields_I8                                  4
    #define       bFigoFields_I8                               8
    #define   MSK32FigoFields_I8                                  0x00000FF0

    #define     BA_FigoFields_FMT8                             0x001A
    #define     B16FigoFields_FMT8                             0x001A
    #define   LSb32FigoFields_FMT8                                16
    #define   LSb16FigoFields_FMT8                                0
    #define       bFigoFields_FMT8                             8
    #define   MSK32FigoFields_FMT8                                0x00FF0000
    ///////////////////////////////////////////////////////////

    #define     BA_FigoFields_S8                               0x001D
    #define     B16FigoFields_S8                               0x001C
    #define   LSb32FigoFields_S8                                  8
    #define   LSb16FigoFields_S8                                  8
    #define       bFigoFields_S8                               8
    #define   MSK32FigoFields_S8                                  0x0000FF00
    ///////////////////////////////////////////////////////////

    typedef struct SIE_FigoFields {
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_MASK(r32)                        _BFGET_(r32,23, 0)
    #define   SET32FigoFields_MASK(r32,v)                      _BFSET_(r32,23, 0,v)

            UNSG32 u_MASK                                      : 24;
            UNSG32 RSVDx0_b24                                  :  8;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_D4(r32)                          _BFGET_(r32, 3, 0)
    #define   SET32FigoFields_D4(r32,v)                        _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFields_D4(r16)                          _BFGET_(r16, 3, 0)
    #define   SET16FigoFields_D4(r16,v)                        _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFields_I16(r32)                         _BFGET_(r32,19, 4)
    #define   SET32FigoFields_I16(r32,v)                       _BFSET_(r32,19, 4,v)

            UNSG32 u_D4                                        :  4;
            UNSG32 u_I16                                       : 16;
            UNSG32 RSVDx4_b20                                  : 12;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_K16L(r32)                        _BFGET_(r32, 3, 0)
    #define   SET32FigoFields_K16L(r32,v)                      _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFields_K16L(r16)                        _BFGET_(r16, 3, 0)
    #define   SET16FigoFields_K16L(r16,v)                      _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFields_T4(r32)                          _BFGET_(r32, 7, 4)
    #define   SET32FigoFields_T4(r32,v)                        _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFields_T4(r16)                          _BFGET_(r16, 7, 4)
    #define   SET16FigoFields_T4(r16,v)                        _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFields_K16H(r32)                        _BFGET_(r32,19, 8)
    #define   SET32FigoFields_K16H(r32,v)                      _BFSET_(r32,19, 8,v)

            UNSG32 u_K16L                                      :  4;
            UNSG32 u_T4                                        :  4;
            UNSG32 u_K16H                                      : 12;
            UNSG32 RSVDx8_b20                                  : 12;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_L8(r32)                          _BFGET_(r32, 7, 0)
    #define   SET32FigoFields_L8(r32,v)                        _BFSET_(r32, 7, 0,v)
    #define   GET16FigoFields_L8(r16)                          _BFGET_(r16, 7, 0)
    #define   SET16FigoFields_L8(r16,v)                        _BFSET_(r16, 7, 0,v)

    #define   GET32FigoFields_C4(r32)                          _BFGET_(r32,11, 8)
    #define   SET32FigoFields_C4(r32,v)                        _BFSET_(r32,11, 8,v)
    #define   GET16FigoFields_C4(r16)                          _BFGET_(r16,11, 8)
    #define   SET16FigoFields_C4(r16,v)                        _BFSET_(r16,11, 8,v)

    #define   GET32FigoFields_H8(r32)                          _BFGET_(r32,19,12)
    #define   SET32FigoFields_H8(r32,v)                        _BFSET_(r32,19,12,v)

            UNSG32 u_L8                                        :  8;
            UNSG32 u_C4                                        :  4;
            UNSG32 u_H8                                        :  8;
            UNSG32 RSVDxC_b20                                  : 12;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_Q6(r32)                          _BFGET_(r32, 5, 0)
    #define   SET32FigoFields_Q6(r32,v)                        _BFSET_(r32, 5, 0,v)
    #define   GET16FigoFields_Q6(r16)                          _BFGET_(r16, 5, 0)
    #define   SET16FigoFields_Q6(r16,v)                        _BFSET_(r16, 5, 0,v)

    #define   GET32FigoFields_X2(r32)                          _BFGET_(r32, 7, 6)
    #define   SET32FigoFields_X2(r32,v)                        _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFields_X2(r16)                          _BFGET_(r16, 7, 6)
    #define   SET16FigoFields_X2(r16,v)                        _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFields_K8L(r32)                         _BFGET_(r32,11, 8)
    #define   SET32FigoFields_K8L(r32,v)                       _BFSET_(r32,11, 8,v)
    #define   GET16FigoFields_K8L(r16)                         _BFGET_(r16,11, 8)
    #define   SET16FigoFields_K8L(r16,v)                       _BFSET_(r16,11, 8,v)

    #define   GET32FigoFields_S4(r32)                          _BFGET_(r32,15,12)
    #define   SET32FigoFields_S4(r32,v)                        _BFSET_(r32,15,12,v)
    #define   GET16FigoFields_S4(r16)                          _BFGET_(r16,15,12)
    #define   SET16FigoFields_S4(r16,v)                        _BFSET_(r16,15,12,v)

    #define   GET32FigoFields_K8H(r32)                         _BFGET_(r32,19,16)
    #define   SET32FigoFields_K8H(r32,v)                       _BFSET_(r32,19,16,v)
    #define   GET16FigoFields_K8H(r16)                         _BFGET_(r16, 3, 0)
    #define   SET16FigoFields_K8H(r16,v)                       _BFSET_(r16, 3, 0,v)

            UNSG32 u_Q6                                        :  6;
            UNSG32 u_X2                                        :  2;
            UNSG32 u_K8L                                       :  4;
            UNSG32 u_S4                                        :  4;
            UNSG32 u_K8H                                       :  4;
            UNSG32 RSVDx10_b20                                 : 12;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_op4(r32)                         _BFGET_(r32, 3, 0)
    #define   SET32FigoFields_op4(r32,v)                       _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFields_op4(r16)                         _BFGET_(r16, 3, 0)
    #define   SET16FigoFields_op4(r16,v)                       _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFields_op1(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32FigoFields_op1(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16FigoFields_op1(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16FigoFields_op1(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32FigoFields_op2(r32)                         _BFGET_(r32, 7, 6)
    #define   SET32FigoFields_op2(r32,v)                       _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFields_op2(r16)                         _BFGET_(r16, 7, 6)
    #define   SET16FigoFields_op2(r16,v)                       _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFields_I12(r32)                         _BFGET_(r32,19, 8)
    #define   SET32FigoFields_I12(r32,v)                       _BFSET_(r32,19, 8,v)

    #define   GET32FigoFields_FMT4(r32)                        _BFGET_(r32,23,20)
    #define   SET32FigoFields_FMT4(r32,v)                      _BFSET_(r32,23,20,v)
    #define   GET16FigoFields_FMT4(r16)                        _BFGET_(r16, 7, 4)
    #define   SET16FigoFields_FMT4(r16,v)                      _BFSET_(r16, 7, 4,v)

            UNSG32 u_op4                                       :  4;
            UNSG32 u_op1                                       :  1;
            UNSG32 RSVDx14_b5                                  :  1;
            UNSG32 u_op2                                       :  2;
            UNSG32 u_I12                                       : 12;
            UNSG32 u_FMT4                                      :  4;
            UNSG32 RSVDx14_b24                                 :  8;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_I8(r32)                          _BFGET_(r32,11, 4)
    #define   SET32FigoFields_I8(r32,v)                        _BFSET_(r32,11, 4,v)
    #define   GET16FigoFields_I8(r16)                          _BFGET_(r16,11, 4)
    #define   SET16FigoFields_I8(r16,v)                        _BFSET_(r16,11, 4,v)

    #define   GET32FigoFields_FMT8(r32)                        _BFGET_(r32,23,16)
    #define   SET32FigoFields_FMT8(r32,v)                      _BFSET_(r32,23,16,v)
    #define   GET16FigoFields_FMT8(r16)                        _BFGET_(r16, 7, 0)
    #define   SET16FigoFields_FMT8(r16,v)                      _BFSET_(r16, 7, 0,v)

            UNSG32 RSVDx18                                     :  4;
            UNSG32 u_I8                                        :  8;
            UNSG32 RSVDx18_b12                                 :  4;
            UNSG32 u_FMT8                                      :  8;
            UNSG32 RSVDx18_b24                                 :  8;
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFields_S8(r32)                          _BFGET_(r32,15, 8)
    #define   SET32FigoFields_S8(r32,v)                        _BFSET_(r32,15, 8,v)
    #define   GET16FigoFields_S8(r16)                          _BFGET_(r16,15, 8)
    #define   SET16FigoFields_S8(r16,v)                        _BFSET_(r16,15, 8,v)

            UNSG32 RSVDx1C                                     :  8;
            UNSG32 u_S8                                        :  8;
            UNSG32 RSVDx1C_b16                                 : 16;
    ///////////////////////////////////////////////////////////
    } SIE_FigoFields;

    ///////////////////////////////////////////////////////////
     SIGN32 FigoFields_drvrd(SIE_FigoFields *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 FigoFields_drvwr(SIE_FigoFields *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void FigoFields_reset(SIE_FigoFields *p);
     SIGN32 FigoFields_cmp  (SIE_FigoFields *p, SIE_FigoFields *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define FigoFields_check(p,pie,pfx,hLOG) FigoFields_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define FigoFields_print(p,    pfx,hLOG) FigoFields_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: FigoFields
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE FigoINS                                  (4,4)
///     ###
///     * Instruction properties
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       
///                                    ###
///                                    * To match instruction
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///                                    ###
///                                    * RB = RF16[ S4 ]
///                                    ###
///               %unsigned 1  RARF                      
///                                    ###
///                                    * RA = RF16[ S4 ]
///                                    ###
///               %unsigned 1  RAK8                      
///                                    ###
///                                    * RA = RB[15:0] + { 8{K8[7]}, K8[7:0] }
///                                    ###
///               %unsigned 1  RAI16                     
///                                    ###
///                                    * RA = I16 ( INS[19:4] )
///                                    ###
///               %unsigned 1  RAK16                     
///                                    ###
///                                    * RA = K16 ( { INS[19:8], INS[3:0] } )
///                                    ###
///               %unsigned 1  RFSP                      
///                                    ###
///                                    * RFSP = RF16[ S4 ]
///                                    ###
///               %unsigned 1  W4D4                      
///                                    ###
///                                    * W4 = D4[3:0]
///                                    ###
///               %unsigned 1  W4S4                      
///                                    ###
///                                    * W4 = S4[3:0]
///                                    ###
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///                                    ###
///                                    * SP = RFSP[15:0]
///                                    ###
///               %unsigned 1  SPK8                      
///                                    ###
///                                    * SP = RFSP[15:0] + { 8{K8[7]}, K8[7:0] }
///                                    ###
///               %unsigned 1  SPJ                       
///                                    ###
///                                    * SP = PC[15:0] + { 8{H8[7]}, H8[7:0] }
///                                    ###
///               %unsigned 1  SP4S                      
///                                    ###
///                                    * SP = { 12{S4[3]}, S4[3:0] }
///                                    ###
///               %unsigned 1  SP8S                      
///                                    ###
///                                    * SP = { 8{H8[7]}, H8[7:0] }
///                                    ###
///               %unsigned 1  SP8U                      
///                                    ###
///                                    * SP = { 8'h00, H8[7:0] }
///                                    ###
///               %unsigned 1  SP12S                     
///                                    ###
///                                    * SP = { 4{I12[11]}, I12[11:0] }
///                                    ###
///               %unsigned 1  SP16                      
///                                    ###
///                                    * SP = I16[15:0]
///                                    ###
///               %unsigned 1  TPRF                      
///                                    ###
///                                    * TP = RF16[ T4 ]
///                                    ###
///               %unsigned 1  TPJ                       
///                                    ###
///                                    * TP = PC[15:0] + { 8'h00, L8[7:0] }
///                                    ###
///               %unsigned 1  TP4S                      
///                                    ###
///                                    * TP = { 12{T4[3]}, T4[3:0] }
///                                    ###
///               %unsigned 1  TP8L                      
///                                    ###
///                                    * TP = { 8'h00, I8[7:0] }
///                                    ###
///               %unsigned 1  TP8H                      
///                                    ###
///                                    * TP = { I8[7:0], 8'h00 }
///                                    ###
///               %unsigned 1  TP8LF                     
///                                    ###
///                                    * TP = { 8'hFF, I8[7:0] }
///                                    ###
///               %unsigned 1  TP8HF                     
///                                    ###
///                                    * TP = { I8[7:0], 8'hFF }
///                                    ###
///               %unsigned 1  SQRF64                    
///                                    ###
///                                    * SQL = RF64.out[63:0]
///                                    * SQH = RF64.out[127:64]
///                                    * ( 128b RF64.out is loaded by address of Q6[5:1] at ID stage )
///                                    ###
///               %unsigned 1  TQRF16Q                   
///                                    ###
///                                    * TQ = RF16@64[ X2 ]
///                                    ###
///               %unsigned 1  TQRFx4                    
///                                    ###
///                                    * TQ = 4{ RF16[ T4 ] }
///                                    ###
///               %unsigned 1  RD                        
///                                    ###
///                                    * Enable memory read from address { RA[15:3], 3'h0 }
///                                    ###
///               %unsigned 1  WARF                      
///                                    ###
///                                    * WA = RFSP[15:0]
///                                    ###
///               %unsigned 1  WAK8                      
///                                    ###
///                                    * WA = RFSP[15:0] + { 8{K8[7]}, K8[7:0] }
///                                    ###
///               %unsigned 1  WAK16                     
///                                    ###
///                                    * WA = K16[15:0]
///                                    ###
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///                                    ###
///                                    * Update flag-Z
///                                    ###
///               %unsigned 1  ALU16FlagC                
///                                    ###
///                                    * Update flag-C
///                                    ###
///               %unsigned 1  ALU16FlagN                
///                                    ###
///                                    * Update flag-N
///                                    ###
///               %unsigned 1  ALU16FlagV                
///                                    ###
///                                    * Update flag-V
///                                    ###
///               %unsigned 1  ALU16FlagTP               
///                                    ###
///                                    * { V, N, C, Z } = TP[3:0]
///                                    ###
///               %unsigned 1  ALU16MUL                  
///                                    ###
///                                    * { MDH, MDL } = SP * TP
///                                    * ( multi-stage operation )
///                                    ###
///               %unsigned 1  ALU16DIV                  
///                                    ###
///                                    * MDH = SP / TP
///                                    * MDL = SP % TP
///                                    * ( multi-stage operation )
///                                    ###
///               %unsigned 1  ALU16FlagLD               
///                                    ###
///                                    * WB = Flag[15:0]
///                                    ###
///               %unsigned 1  ALU16MDL                  
///                                    ###
///                                    * WB = MDL[15:0]
///                                    ###
///               %unsigned 1  ALU16MDH                  
///                                    ###
///                                    * WB = MDH[15:0]
///                                    ###
///               %unsigned 1  ALU16ADD                  
///                                    ###
///                                    * WB = SP + TP
///                                    ###
///               %unsigned 1  ALU16SUB                  
///                                    ###
///                                    * WB = SP + ~TP + 1
///                                    ###
///               %unsigned 1  ALU16ADDC                 
///                                    ###
///                                    * WB = SP + TP + C
///                                    ###
///               %unsigned 1  ALU16SUBC                 
///                                    ###
///                                    * WB = SP + ~TP + (1 - C)
///                                    ###
///               %unsigned 1  ALU16ASR                  
///                                    ###
///                                    * WB = (signed) SP >> TP[3:0] or 16
///                                    ###
///               %unsigned 1  ALU16SL                   
///                                    ###
///                                    * WB = (unsigned) SP << TP[3:0] or 16
///                                    ###
///               %unsigned 1  ALU16SR                   
///                                    ###
///                                    * WB = (unsigned) SP >> TP[3:0] or 16
///                                    ###
///               %unsigned 1  ALU16GET                  
///                                    ###
///                                    * WB = GetBitField( SP, LSb = C4, Bits=T4 )
///                                    ###
///               %unsigned 1  ALU16SET                  
///                                    ###
///                                    * WB = SetBitField( SP, TP, LSb = C4, Bits=D4 )
///                                    ###
///               %unsigned 1  ALU16SEL                  
///                                    ###
///                                    * WB = Flag[ C4 ] ? SP : TP
///                                    ###
///               %unsigned 1  ALU16OR                   
///                                    ###
///                                    * WB = SP | TP
///                                    ###
///               %unsigned 1  ALU16AND                  
///                                    ###
///                                    * WB = SP & TP
///                                    ###
///               %unsigned 1  ALU16XOR                  
///                                    ###
///                                    * WB = SP ^ TP
///                                    ###
///               %unsigned 1  ALU16SP                   
///                                    ###
///                                    * WB = SP
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///                                    ###
///                                    * Enable memory write of SQ to address WA
///                                    * M64[ WA[15:3] ] = Q6[0] ? SQH[63:0] : SQL[63:0]
///                                    ###
///               %unsigned 1  WR16                      
///                                    ###
///                                    * Enable partial memory write (16b) of TQ to address WA
///                                    * M64[ WA[15:3] ][ WA[2:1] ] = TQ[ WA[2:1] ]
///                                    ###
///               %unsigned 1  WRTQ                      
///                                    ###
///                                    * Enable memory write of TQ to address WA
///                                    * M64[ WA[15:3] ] = TQ[63:0]
///                                    ###
///               %unsigned 1  ALU64PUSH                 
///                                    ###
///                                    * Push a operation request to ALU64 with parameters:
///                                    * ALU64.CMD( K8[7:0], SP[15:0], TQ[63:0], SQ[127:0] )
///                                    ###
///               %unsigned 1  ALU64POP                  
///                                    ###
///                                    * Pop a result from ALU64 (stall if not ready):
///                                    * WB64 = ALU64.LD( S4[3:0] )
///                                    ###
///               %unsigned 1  ALU64SQ                   
///                                    ###
///                                    * WB64 = Q6[0] ? SQH[63:0] : SQL[63:0]
///                                    ###
///               %unsigned 1  ALU64TQ                   
///                                    ###
///                                    * WB64 = TQ[63:0]
///                                    ###
///               %unsigned 1  ALU64MEM                  
///                                    ###
///                                    * WB64 = M64.out
///                                    ###
///               %unsigned 1  BRANCH                    
///                                    ###
///                                    * if( PrevFlag[ C4 ] )
///                                    * BranchStack.Push( TP[15:0], SP[15:0] );
///                                    ###
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///                                    ###
///                                    * RF16[ W4 ] = WB
///                                    ###
///               %unsigned 1  RF16W0                    
///                                    ###
///                                    * RF16[ W4 ] = WB64[15:0]
///                                    ###
///               %unsigned 1  RF16MEM                   
///                                    ###
///                                    * RF16[ D4 ] = WB64[ RA[2:1] ]
///                                    ###
///               %unsigned 1  RF16Q                     
///                                    ###
///                                    * RF16@64[ X2 ] = WB64[63:0]
///                                    ###
///               %unsigned 1  RF64                      
///                                    ###
///                                    * RF64[ Q6 ] = WB64[63:0]
///                                    ###
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_FigoINS
#define h_FigoINS (){}

    #define     RA_FigoINS_Mask                                0x0000

    #define     BA_FigoINS_Mask_INS                            0x0000
    #define     B16FigoINS_Mask_INS                            0x0000
    #define   LSb32FigoINS_Mask_INS                               0
    #define   LSb16FigoINS_Mask_INS                               0
    #define       bFigoINS_Mask_INS                            24
    #define   MSK32FigoINS_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_Opcode                              0x0004

    #define     BA_FigoINS_Opcode_INS                          0x0004
    #define     B16FigoINS_Opcode_INS                          0x0004
    #define   LSb32FigoINS_Opcode_INS                             0
    #define   LSb16FigoINS_Opcode_INS                             0
    #define       bFigoINS_Opcode_INS                          24
    #define   MSK32FigoINS_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_ID                                  0x0008

    #define     BA_FigoINS_ID_RBRF                             0x0008
    #define     B16FigoINS_ID_RBRF                             0x0008
    #define   LSb32FigoINS_ID_RBRF                                0
    #define   LSb16FigoINS_ID_RBRF                                0
    #define       bFigoINS_ID_RBRF                             1
    #define   MSK32FigoINS_ID_RBRF                                0x00000001

    #define     BA_FigoINS_ID_RARF                             0x0008
    #define     B16FigoINS_ID_RARF                             0x0008
    #define   LSb32FigoINS_ID_RARF                                1
    #define   LSb16FigoINS_ID_RARF                                1
    #define       bFigoINS_ID_RARF                             1
    #define   MSK32FigoINS_ID_RARF                                0x00000002

    #define     BA_FigoINS_ID_RAK8                             0x0008
    #define     B16FigoINS_ID_RAK8                             0x0008
    #define   LSb32FigoINS_ID_RAK8                                2
    #define   LSb16FigoINS_ID_RAK8                                2
    #define       bFigoINS_ID_RAK8                             1
    #define   MSK32FigoINS_ID_RAK8                                0x00000004

    #define     BA_FigoINS_ID_RAI16                            0x0008
    #define     B16FigoINS_ID_RAI16                            0x0008
    #define   LSb32FigoINS_ID_RAI16                               3
    #define   LSb16FigoINS_ID_RAI16                               3
    #define       bFigoINS_ID_RAI16                            1
    #define   MSK32FigoINS_ID_RAI16                               0x00000008

    #define     BA_FigoINS_ID_RAK16                            0x0008
    #define     B16FigoINS_ID_RAK16                            0x0008
    #define   LSb32FigoINS_ID_RAK16                               4
    #define   LSb16FigoINS_ID_RAK16                               4
    #define       bFigoINS_ID_RAK16                            1
    #define   MSK32FigoINS_ID_RAK16                               0x00000010

    #define     BA_FigoINS_ID_RFSP                             0x0008
    #define     B16FigoINS_ID_RFSP                             0x0008
    #define   LSb32FigoINS_ID_RFSP                                5
    #define   LSb16FigoINS_ID_RFSP                                5
    #define       bFigoINS_ID_RFSP                             1
    #define   MSK32FigoINS_ID_RFSP                                0x00000020

    #define     BA_FigoINS_ID_W4D4                             0x0008
    #define     B16FigoINS_ID_W4D4                             0x0008
    #define   LSb32FigoINS_ID_W4D4                                6
    #define   LSb16FigoINS_ID_W4D4                                6
    #define       bFigoINS_ID_W4D4                             1
    #define   MSK32FigoINS_ID_W4D4                                0x00000040

    #define     BA_FigoINS_ID_W4S4                             0x0008
    #define     B16FigoINS_ID_W4S4                             0x0008
    #define   LSb32FigoINS_ID_W4S4                                7
    #define   LSb16FigoINS_ID_W4S4                                7
    #define       bFigoINS_ID_W4S4                             1
    #define   MSK32FigoINS_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_LD                                  0x000C

    #define     BA_FigoINS_LD_SPRF                             0x000C
    #define     B16FigoINS_LD_SPRF                             0x000C
    #define   LSb32FigoINS_LD_SPRF                                0
    #define   LSb16FigoINS_LD_SPRF                                0
    #define       bFigoINS_LD_SPRF                             1
    #define   MSK32FigoINS_LD_SPRF                                0x00000001

    #define     BA_FigoINS_LD_SPK8                             0x000C
    #define     B16FigoINS_LD_SPK8                             0x000C
    #define   LSb32FigoINS_LD_SPK8                                1
    #define   LSb16FigoINS_LD_SPK8                                1
    #define       bFigoINS_LD_SPK8                             1
    #define   MSK32FigoINS_LD_SPK8                                0x00000002

    #define     BA_FigoINS_LD_SPJ                              0x000C
    #define     B16FigoINS_LD_SPJ                              0x000C
    #define   LSb32FigoINS_LD_SPJ                                 2
    #define   LSb16FigoINS_LD_SPJ                                 2
    #define       bFigoINS_LD_SPJ                              1
    #define   MSK32FigoINS_LD_SPJ                                 0x00000004

    #define     BA_FigoINS_LD_SP4S                             0x000C
    #define     B16FigoINS_LD_SP4S                             0x000C
    #define   LSb32FigoINS_LD_SP4S                                3
    #define   LSb16FigoINS_LD_SP4S                                3
    #define       bFigoINS_LD_SP4S                             1
    #define   MSK32FigoINS_LD_SP4S                                0x00000008

    #define     BA_FigoINS_LD_SP8S                             0x000C
    #define     B16FigoINS_LD_SP8S                             0x000C
    #define   LSb32FigoINS_LD_SP8S                                4
    #define   LSb16FigoINS_LD_SP8S                                4
    #define       bFigoINS_LD_SP8S                             1
    #define   MSK32FigoINS_LD_SP8S                                0x00000010

    #define     BA_FigoINS_LD_SP8U                             0x000C
    #define     B16FigoINS_LD_SP8U                             0x000C
    #define   LSb32FigoINS_LD_SP8U                                5
    #define   LSb16FigoINS_LD_SP8U                                5
    #define       bFigoINS_LD_SP8U                             1
    #define   MSK32FigoINS_LD_SP8U                                0x00000020

    #define     BA_FigoINS_LD_SP12S                            0x000C
    #define     B16FigoINS_LD_SP12S                            0x000C
    #define   LSb32FigoINS_LD_SP12S                               6
    #define   LSb16FigoINS_LD_SP12S                               6
    #define       bFigoINS_LD_SP12S                            1
    #define   MSK32FigoINS_LD_SP12S                               0x00000040

    #define     BA_FigoINS_LD_SP16                             0x000C
    #define     B16FigoINS_LD_SP16                             0x000C
    #define   LSb32FigoINS_LD_SP16                                7
    #define   LSb16FigoINS_LD_SP16                                7
    #define       bFigoINS_LD_SP16                             1
    #define   MSK32FigoINS_LD_SP16                                0x00000080

    #define     BA_FigoINS_LD_TPRF                             0x000D
    #define     B16FigoINS_LD_TPRF                             0x000C
    #define   LSb32FigoINS_LD_TPRF                                8
    #define   LSb16FigoINS_LD_TPRF                                8
    #define       bFigoINS_LD_TPRF                             1
    #define   MSK32FigoINS_LD_TPRF                                0x00000100

    #define     BA_FigoINS_LD_TPJ                              0x000D
    #define     B16FigoINS_LD_TPJ                              0x000C
    #define   LSb32FigoINS_LD_TPJ                                 9
    #define   LSb16FigoINS_LD_TPJ                                 9
    #define       bFigoINS_LD_TPJ                              1
    #define   MSK32FigoINS_LD_TPJ                                 0x00000200

    #define     BA_FigoINS_LD_TP4S                             0x000D
    #define     B16FigoINS_LD_TP4S                             0x000C
    #define   LSb32FigoINS_LD_TP4S                                10
    #define   LSb16FigoINS_LD_TP4S                                10
    #define       bFigoINS_LD_TP4S                             1
    #define   MSK32FigoINS_LD_TP4S                                0x00000400

    #define     BA_FigoINS_LD_TP8L                             0x000D
    #define     B16FigoINS_LD_TP8L                             0x000C
    #define   LSb32FigoINS_LD_TP8L                                11
    #define   LSb16FigoINS_LD_TP8L                                11
    #define       bFigoINS_LD_TP8L                             1
    #define   MSK32FigoINS_LD_TP8L                                0x00000800

    #define     BA_FigoINS_LD_TP8H                             0x000D
    #define     B16FigoINS_LD_TP8H                             0x000C
    #define   LSb32FigoINS_LD_TP8H                                12
    #define   LSb16FigoINS_LD_TP8H                                12
    #define       bFigoINS_LD_TP8H                             1
    #define   MSK32FigoINS_LD_TP8H                                0x00001000

    #define     BA_FigoINS_LD_TP8LF                            0x000D
    #define     B16FigoINS_LD_TP8LF                            0x000C
    #define   LSb32FigoINS_LD_TP8LF                               13
    #define   LSb16FigoINS_LD_TP8LF                               13
    #define       bFigoINS_LD_TP8LF                            1
    #define   MSK32FigoINS_LD_TP8LF                               0x00002000

    #define     BA_FigoINS_LD_TP8HF                            0x000D
    #define     B16FigoINS_LD_TP8HF                            0x000C
    #define   LSb32FigoINS_LD_TP8HF                               14
    #define   LSb16FigoINS_LD_TP8HF                               14
    #define       bFigoINS_LD_TP8HF                            1
    #define   MSK32FigoINS_LD_TP8HF                               0x00004000

    #define     BA_FigoINS_LD_SQRF64                           0x000D
    #define     B16FigoINS_LD_SQRF64                           0x000C
    #define   LSb32FigoINS_LD_SQRF64                              15
    #define   LSb16FigoINS_LD_SQRF64                              15
    #define       bFigoINS_LD_SQRF64                           1
    #define   MSK32FigoINS_LD_SQRF64                              0x00008000

    #define     BA_FigoINS_LD_TQRF16Q                          0x000E
    #define     B16FigoINS_LD_TQRF16Q                          0x000E
    #define   LSb32FigoINS_LD_TQRF16Q                             16
    #define   LSb16FigoINS_LD_TQRF16Q                             0
    #define       bFigoINS_LD_TQRF16Q                          1
    #define   MSK32FigoINS_LD_TQRF16Q                             0x00010000

    #define     BA_FigoINS_LD_TQRFx4                           0x000E
    #define     B16FigoINS_LD_TQRFx4                           0x000E
    #define   LSb32FigoINS_LD_TQRFx4                              17
    #define   LSb16FigoINS_LD_TQRFx4                              1
    #define       bFigoINS_LD_TQRFx4                           1
    #define   MSK32FigoINS_LD_TQRFx4                              0x00020000

    #define     BA_FigoINS_LD_RD                               0x000E
    #define     B16FigoINS_LD_RD                               0x000E
    #define   LSb32FigoINS_LD_RD                                  18
    #define   LSb16FigoINS_LD_RD                                  2
    #define       bFigoINS_LD_RD                               1
    #define   MSK32FigoINS_LD_RD                                  0x00040000

    #define     BA_FigoINS_LD_WARF                             0x000E
    #define     B16FigoINS_LD_WARF                             0x000E
    #define   LSb32FigoINS_LD_WARF                                19
    #define   LSb16FigoINS_LD_WARF                                3
    #define       bFigoINS_LD_WARF                             1
    #define   MSK32FigoINS_LD_WARF                                0x00080000

    #define     BA_FigoINS_LD_WAK8                             0x000E
    #define     B16FigoINS_LD_WAK8                             0x000E
    #define   LSb32FigoINS_LD_WAK8                                20
    #define   LSb16FigoINS_LD_WAK8                                4
    #define       bFigoINS_LD_WAK8                             1
    #define   MSK32FigoINS_LD_WAK8                                0x00100000

    #define     BA_FigoINS_LD_WAK16                            0x000E
    #define     B16FigoINS_LD_WAK16                            0x000E
    #define   LSb32FigoINS_LD_WAK16                               21
    #define   LSb16FigoINS_LD_WAK16                               5
    #define       bFigoINS_LD_WAK16                            1
    #define   MSK32FigoINS_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_EX                                  0x0010

    #define     BA_FigoINS_EX_ALU16FlagZ                       0x0010
    #define     B16FigoINS_EX_ALU16FlagZ                       0x0010
    #define   LSb32FigoINS_EX_ALU16FlagZ                          0
    #define   LSb16FigoINS_EX_ALU16FlagZ                          0
    #define       bFigoINS_EX_ALU16FlagZ                       1
    #define   MSK32FigoINS_EX_ALU16FlagZ                          0x00000001

    #define     BA_FigoINS_EX_ALU16FlagC                       0x0010
    #define     B16FigoINS_EX_ALU16FlagC                       0x0010
    #define   LSb32FigoINS_EX_ALU16FlagC                          1
    #define   LSb16FigoINS_EX_ALU16FlagC                          1
    #define       bFigoINS_EX_ALU16FlagC                       1
    #define   MSK32FigoINS_EX_ALU16FlagC                          0x00000002

    #define     BA_FigoINS_EX_ALU16FlagN                       0x0010
    #define     B16FigoINS_EX_ALU16FlagN                       0x0010
    #define   LSb32FigoINS_EX_ALU16FlagN                          2
    #define   LSb16FigoINS_EX_ALU16FlagN                          2
    #define       bFigoINS_EX_ALU16FlagN                       1
    #define   MSK32FigoINS_EX_ALU16FlagN                          0x00000004

    #define     BA_FigoINS_EX_ALU16FlagV                       0x0010
    #define     B16FigoINS_EX_ALU16FlagV                       0x0010
    #define   LSb32FigoINS_EX_ALU16FlagV                          3
    #define   LSb16FigoINS_EX_ALU16FlagV                          3
    #define       bFigoINS_EX_ALU16FlagV                       1
    #define   MSK32FigoINS_EX_ALU16FlagV                          0x00000008

    #define     BA_FigoINS_EX_ALU16FlagTP                      0x0010
    #define     B16FigoINS_EX_ALU16FlagTP                      0x0010
    #define   LSb32FigoINS_EX_ALU16FlagTP                         4
    #define   LSb16FigoINS_EX_ALU16FlagTP                         4
    #define       bFigoINS_EX_ALU16FlagTP                      1
    #define   MSK32FigoINS_EX_ALU16FlagTP                         0x00000010

    #define     BA_FigoINS_EX_ALU16MUL                         0x0010
    #define     B16FigoINS_EX_ALU16MUL                         0x0010
    #define   LSb32FigoINS_EX_ALU16MUL                            5
    #define   LSb16FigoINS_EX_ALU16MUL                            5
    #define       bFigoINS_EX_ALU16MUL                         1
    #define   MSK32FigoINS_EX_ALU16MUL                            0x00000020

    #define     BA_FigoINS_EX_ALU16DIV                         0x0010
    #define     B16FigoINS_EX_ALU16DIV                         0x0010
    #define   LSb32FigoINS_EX_ALU16DIV                            6
    #define   LSb16FigoINS_EX_ALU16DIV                            6
    #define       bFigoINS_EX_ALU16DIV                         1
    #define   MSK32FigoINS_EX_ALU16DIV                            0x00000040

    #define     BA_FigoINS_EX_ALU16FlagLD                      0x0010
    #define     B16FigoINS_EX_ALU16FlagLD                      0x0010
    #define   LSb32FigoINS_EX_ALU16FlagLD                         7
    #define   LSb16FigoINS_EX_ALU16FlagLD                         7
    #define       bFigoINS_EX_ALU16FlagLD                      1
    #define   MSK32FigoINS_EX_ALU16FlagLD                         0x00000080

    #define     BA_FigoINS_EX_ALU16MDL                         0x0011
    #define     B16FigoINS_EX_ALU16MDL                         0x0010
    #define   LSb32FigoINS_EX_ALU16MDL                            8
    #define   LSb16FigoINS_EX_ALU16MDL                            8
    #define       bFigoINS_EX_ALU16MDL                         1
    #define   MSK32FigoINS_EX_ALU16MDL                            0x00000100

    #define     BA_FigoINS_EX_ALU16MDH                         0x0011
    #define     B16FigoINS_EX_ALU16MDH                         0x0010
    #define   LSb32FigoINS_EX_ALU16MDH                            9
    #define   LSb16FigoINS_EX_ALU16MDH                            9
    #define       bFigoINS_EX_ALU16MDH                         1
    #define   MSK32FigoINS_EX_ALU16MDH                            0x00000200

    #define     BA_FigoINS_EX_ALU16ADD                         0x0011
    #define     B16FigoINS_EX_ALU16ADD                         0x0010
    #define   LSb32FigoINS_EX_ALU16ADD                            10
    #define   LSb16FigoINS_EX_ALU16ADD                            10
    #define       bFigoINS_EX_ALU16ADD                         1
    #define   MSK32FigoINS_EX_ALU16ADD                            0x00000400

    #define     BA_FigoINS_EX_ALU16SUB                         0x0011
    #define     B16FigoINS_EX_ALU16SUB                         0x0010
    #define   LSb32FigoINS_EX_ALU16SUB                            11
    #define   LSb16FigoINS_EX_ALU16SUB                            11
    #define       bFigoINS_EX_ALU16SUB                         1
    #define   MSK32FigoINS_EX_ALU16SUB                            0x00000800

    #define     BA_FigoINS_EX_ALU16ADDC                        0x0011
    #define     B16FigoINS_EX_ALU16ADDC                        0x0010
    #define   LSb32FigoINS_EX_ALU16ADDC                           12
    #define   LSb16FigoINS_EX_ALU16ADDC                           12
    #define       bFigoINS_EX_ALU16ADDC                        1
    #define   MSK32FigoINS_EX_ALU16ADDC                           0x00001000

    #define     BA_FigoINS_EX_ALU16SUBC                        0x0011
    #define     B16FigoINS_EX_ALU16SUBC                        0x0010
    #define   LSb32FigoINS_EX_ALU16SUBC                           13
    #define   LSb16FigoINS_EX_ALU16SUBC                           13
    #define       bFigoINS_EX_ALU16SUBC                        1
    #define   MSK32FigoINS_EX_ALU16SUBC                           0x00002000

    #define     BA_FigoINS_EX_ALU16ASR                         0x0011
    #define     B16FigoINS_EX_ALU16ASR                         0x0010
    #define   LSb32FigoINS_EX_ALU16ASR                            14
    #define   LSb16FigoINS_EX_ALU16ASR                            14
    #define       bFigoINS_EX_ALU16ASR                         1
    #define   MSK32FigoINS_EX_ALU16ASR                            0x00004000

    #define     BA_FigoINS_EX_ALU16SL                          0x0011
    #define     B16FigoINS_EX_ALU16SL                          0x0010
    #define   LSb32FigoINS_EX_ALU16SL                             15
    #define   LSb16FigoINS_EX_ALU16SL                             15
    #define       bFigoINS_EX_ALU16SL                          1
    #define   MSK32FigoINS_EX_ALU16SL                             0x00008000

    #define     BA_FigoINS_EX_ALU16SR                          0x0012
    #define     B16FigoINS_EX_ALU16SR                          0x0012
    #define   LSb32FigoINS_EX_ALU16SR                             16
    #define   LSb16FigoINS_EX_ALU16SR                             0
    #define       bFigoINS_EX_ALU16SR                          1
    #define   MSK32FigoINS_EX_ALU16SR                             0x00010000

    #define     BA_FigoINS_EX_ALU16GET                         0x0012
    #define     B16FigoINS_EX_ALU16GET                         0x0012
    #define   LSb32FigoINS_EX_ALU16GET                            17
    #define   LSb16FigoINS_EX_ALU16GET                            1
    #define       bFigoINS_EX_ALU16GET                         1
    #define   MSK32FigoINS_EX_ALU16GET                            0x00020000

    #define     BA_FigoINS_EX_ALU16SET                         0x0012
    #define     B16FigoINS_EX_ALU16SET                         0x0012
    #define   LSb32FigoINS_EX_ALU16SET                            18
    #define   LSb16FigoINS_EX_ALU16SET                            2
    #define       bFigoINS_EX_ALU16SET                         1
    #define   MSK32FigoINS_EX_ALU16SET                            0x00040000

    #define     BA_FigoINS_EX_ALU16SEL                         0x0012
    #define     B16FigoINS_EX_ALU16SEL                         0x0012
    #define   LSb32FigoINS_EX_ALU16SEL                            19
    #define   LSb16FigoINS_EX_ALU16SEL                            3
    #define       bFigoINS_EX_ALU16SEL                         1
    #define   MSK32FigoINS_EX_ALU16SEL                            0x00080000

    #define     BA_FigoINS_EX_ALU16OR                          0x0012
    #define     B16FigoINS_EX_ALU16OR                          0x0012
    #define   LSb32FigoINS_EX_ALU16OR                             20
    #define   LSb16FigoINS_EX_ALU16OR                             4
    #define       bFigoINS_EX_ALU16OR                          1
    #define   MSK32FigoINS_EX_ALU16OR                             0x00100000

    #define     BA_FigoINS_EX_ALU16AND                         0x0012
    #define     B16FigoINS_EX_ALU16AND                         0x0012
    #define   LSb32FigoINS_EX_ALU16AND                            21
    #define   LSb16FigoINS_EX_ALU16AND                            5
    #define       bFigoINS_EX_ALU16AND                         1
    #define   MSK32FigoINS_EX_ALU16AND                            0x00200000

    #define     BA_FigoINS_EX_ALU16XOR                         0x0012
    #define     B16FigoINS_EX_ALU16XOR                         0x0012
    #define   LSb32FigoINS_EX_ALU16XOR                            22
    #define   LSb16FigoINS_EX_ALU16XOR                            6
    #define       bFigoINS_EX_ALU16XOR                         1
    #define   MSK32FigoINS_EX_ALU16XOR                            0x00400000

    #define     BA_FigoINS_EX_ALU16SP                          0x0012
    #define     B16FigoINS_EX_ALU16SP                          0x0012
    #define   LSb32FigoINS_EX_ALU16SP                             23
    #define   LSb16FigoINS_EX_ALU16SP                             7
    #define       bFigoINS_EX_ALU16SP                          1
    #define   MSK32FigoINS_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_EXX                                 0x0014

    #define     BA_FigoINS_EXX_WRSQ                            0x0014
    #define     B16FigoINS_EXX_WRSQ                            0x0014
    #define   LSb32FigoINS_EXX_WRSQ                               0
    #define   LSb16FigoINS_EXX_WRSQ                               0
    #define       bFigoINS_EXX_WRSQ                            1
    #define   MSK32FigoINS_EXX_WRSQ                               0x00000001

    #define     BA_FigoINS_EXX_WR16                            0x0014
    #define     B16FigoINS_EXX_WR16                            0x0014
    #define   LSb32FigoINS_EXX_WR16                               1
    #define   LSb16FigoINS_EXX_WR16                               1
    #define       bFigoINS_EXX_WR16                            1
    #define   MSK32FigoINS_EXX_WR16                               0x00000002

    #define     BA_FigoINS_EXX_WRTQ                            0x0014
    #define     B16FigoINS_EXX_WRTQ                            0x0014
    #define   LSb32FigoINS_EXX_WRTQ                               2
    #define   LSb16FigoINS_EXX_WRTQ                               2
    #define       bFigoINS_EXX_WRTQ                            1
    #define   MSK32FigoINS_EXX_WRTQ                               0x00000004

    #define     BA_FigoINS_EXX_ALU64PUSH                       0x0014
    #define     B16FigoINS_EXX_ALU64PUSH                       0x0014
    #define   LSb32FigoINS_EXX_ALU64PUSH                          3
    #define   LSb16FigoINS_EXX_ALU64PUSH                          3
    #define       bFigoINS_EXX_ALU64PUSH                       1
    #define   MSK32FigoINS_EXX_ALU64PUSH                          0x00000008

    #define     BA_FigoINS_EXX_ALU64POP                        0x0014
    #define     B16FigoINS_EXX_ALU64POP                        0x0014
    #define   LSb32FigoINS_EXX_ALU64POP                           4
    #define   LSb16FigoINS_EXX_ALU64POP                           4
    #define       bFigoINS_EXX_ALU64POP                        1
    #define   MSK32FigoINS_EXX_ALU64POP                           0x00000010

    #define     BA_FigoINS_EXX_ALU64SQ                         0x0014
    #define     B16FigoINS_EXX_ALU64SQ                         0x0014
    #define   LSb32FigoINS_EXX_ALU64SQ                            5
    #define   LSb16FigoINS_EXX_ALU64SQ                            5
    #define       bFigoINS_EXX_ALU64SQ                         1
    #define   MSK32FigoINS_EXX_ALU64SQ                            0x00000020

    #define     BA_FigoINS_EXX_ALU64TQ                         0x0014
    #define     B16FigoINS_EXX_ALU64TQ                         0x0014
    #define   LSb32FigoINS_EXX_ALU64TQ                            6
    #define   LSb16FigoINS_EXX_ALU64TQ                            6
    #define       bFigoINS_EXX_ALU64TQ                         1
    #define   MSK32FigoINS_EXX_ALU64TQ                            0x00000040

    #define     BA_FigoINS_EXX_ALU64MEM                        0x0014
    #define     B16FigoINS_EXX_ALU64MEM                        0x0014
    #define   LSb32FigoINS_EXX_ALU64MEM                           7
    #define   LSb16FigoINS_EXX_ALU64MEM                           7
    #define       bFigoINS_EXX_ALU64MEM                        1
    #define   MSK32FigoINS_EXX_ALU64MEM                           0x00000080

    #define     BA_FigoINS_EXX_BRANCH                          0x0015
    #define     B16FigoINS_EXX_BRANCH                          0x0014
    #define   LSb32FigoINS_EXX_BRANCH                             8
    #define   LSb16FigoINS_EXX_BRANCH                             8
    #define       bFigoINS_EXX_BRANCH                          1
    #define   MSK32FigoINS_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_FigoINS_WB                                  0x0018

    #define     BA_FigoINS_WB_RF16                             0x0018
    #define     B16FigoINS_WB_RF16                             0x0018
    #define   LSb32FigoINS_WB_RF16                                0
    #define   LSb16FigoINS_WB_RF16                                0
    #define       bFigoINS_WB_RF16                             1
    #define   MSK32FigoINS_WB_RF16                                0x00000001

    #define     BA_FigoINS_WB_RF16W0                           0x0018
    #define     B16FigoINS_WB_RF16W0                           0x0018
    #define   LSb32FigoINS_WB_RF16W0                              1
    #define   LSb16FigoINS_WB_RF16W0                              1
    #define       bFigoINS_WB_RF16W0                           1
    #define   MSK32FigoINS_WB_RF16W0                              0x00000002

    #define     BA_FigoINS_WB_RF16MEM                          0x0018
    #define     B16FigoINS_WB_RF16MEM                          0x0018
    #define   LSb32FigoINS_WB_RF16MEM                             2
    #define   LSb16FigoINS_WB_RF16MEM                             2
    #define       bFigoINS_WB_RF16MEM                          1
    #define   MSK32FigoINS_WB_RF16MEM                             0x00000004

    #define     BA_FigoINS_WB_RF16Q                            0x0018
    #define     B16FigoINS_WB_RF16Q                            0x0018
    #define   LSb32FigoINS_WB_RF16Q                               3
    #define   LSb16FigoINS_WB_RF16Q                               3
    #define       bFigoINS_WB_RF16Q                            1
    #define   MSK32FigoINS_WB_RF16Q                               0x00000008

    #define     BA_FigoINS_WB_RF64                             0x0018
    #define     B16FigoINS_WB_RF64                             0x0018
    #define   LSb32FigoINS_WB_RF64                                4
    #define   LSb16FigoINS_WB_RF64                                4
    #define       bFigoINS_WB_RF64                             1
    #define   MSK32FigoINS_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_FigoINS {
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32FigoINS_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32FigoINS_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32FigoINS_Mask;
            struct w32FigoINS_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32FigoINS_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32FigoINS_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32FigoINS_Opcode;
            struct w32FigoINS_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32FigoINS_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16FigoINS_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32FigoINS_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16FigoINS_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32FigoINS_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16FigoINS_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32FigoINS_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16FigoINS_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32FigoINS_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16FigoINS_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32FigoINS_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16FigoINS_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32FigoINS_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32FigoINS_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16FigoINS_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16FigoINS_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32FigoINS_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32FigoINS_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16FigoINS_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16FigoINS_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32FigoINS_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32FigoINS_ID;
            struct w32FigoINS_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32FigoINS_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16FigoINS_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32FigoINS_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16FigoINS_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32FigoINS_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16FigoINS_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32FigoINS_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16FigoINS_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32FigoINS_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16FigoINS_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32FigoINS_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16FigoINS_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32FigoINS_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32FigoINS_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16FigoINS_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16FigoINS_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32FigoINS_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32FigoINS_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16FigoINS_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16FigoINS_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32FigoINS_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32FigoINS_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16FigoINS_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16FigoINS_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32FigoINS_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32FigoINS_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16FigoINS_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16FigoINS_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32FigoINS_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32FigoINS_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16FigoINS_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16FigoINS_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32FigoINS_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32FigoINS_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16FigoINS_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16FigoINS_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32FigoINS_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32FigoINS_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16FigoINS_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16FigoINS_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32FigoINS_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32FigoINS_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16FigoINS_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16FigoINS_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32FigoINS_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32FigoINS_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16FigoINS_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16FigoINS_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32FigoINS_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32FigoINS_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16FigoINS_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16FigoINS_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32FigoINS_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32FigoINS_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16FigoINS_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32FigoINS_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16FigoINS_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32FigoINS_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16FigoINS_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32FigoINS_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16FigoINS_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32FigoINS_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16FigoINS_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32FigoINS_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16FigoINS_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32FigoINS_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32FigoINS_LD;
            struct w32FigoINS_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32FigoINS_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16FigoINS_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32FigoINS_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16FigoINS_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32FigoINS_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16FigoINS_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32FigoINS_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16FigoINS_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32FigoINS_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16FigoINS_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32FigoINS_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16FigoINS_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32FigoINS_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32FigoINS_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16FigoINS_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16FigoINS_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32FigoINS_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32FigoINS_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16FigoINS_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16FigoINS_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32FigoINS_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32FigoINS_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16FigoINS_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16FigoINS_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32FigoINS_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32FigoINS_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16FigoINS_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16FigoINS_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32FigoINS_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32FigoINS_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16FigoINS_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16FigoINS_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32FigoINS_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32FigoINS_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16FigoINS_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16FigoINS_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32FigoINS_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32FigoINS_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16FigoINS_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16FigoINS_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32FigoINS_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32FigoINS_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16FigoINS_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16FigoINS_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32FigoINS_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32FigoINS_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16FigoINS_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16FigoINS_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32FigoINS_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32FigoINS_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16FigoINS_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16FigoINS_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32FigoINS_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32FigoINS_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16FigoINS_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32FigoINS_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16FigoINS_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32FigoINS_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16FigoINS_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32FigoINS_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16FigoINS_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32FigoINS_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16FigoINS_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32FigoINS_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16FigoINS_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32FigoINS_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32FigoINS_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16FigoINS_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16FigoINS_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32FigoINS_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32FigoINS_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16FigoINS_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16FigoINS_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32FigoINS_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32FigoINS_EX;
            struct w32FigoINS_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32FigoINS_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16FigoINS_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32FigoINS_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16FigoINS_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32FigoINS_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16FigoINS_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32FigoINS_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16FigoINS_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32FigoINS_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16FigoINS_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32FigoINS_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32FigoINS_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16FigoINS_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16FigoINS_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32FigoINS_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32FigoINS_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16FigoINS_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16FigoINS_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32FigoINS_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32FigoINS_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16FigoINS_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16FigoINS_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32FigoINS_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32FigoINS_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16FigoINS_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16FigoINS_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32FigoINS_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32FigoINS_EXX;
            struct w32FigoINS_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoINS_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32FigoINS_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16FigoINS_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16FigoINS_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32FigoINS_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32FigoINS_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16FigoINS_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16FigoINS_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32FigoINS_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32FigoINS_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16FigoINS_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16FigoINS_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32FigoINS_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32FigoINS_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16FigoINS_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16FigoINS_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32FigoINS_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32FigoINS_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16FigoINS_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16FigoINS_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32FigoINS_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32FigoINS_WB;
            struct w32FigoINS_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_FigoINS;

    typedef union  T32FigoINS_Mask
          { UNSG32 u32;
            struct w32FigoINS_Mask;
                 } T32FigoINS_Mask;
    typedef union  T32FigoINS_Opcode
          { UNSG32 u32;
            struct w32FigoINS_Opcode;
                 } T32FigoINS_Opcode;
    typedef union  T32FigoINS_ID
          { UNSG32 u32;
            struct w32FigoINS_ID;
                 } T32FigoINS_ID;
    typedef union  T32FigoINS_LD
          { UNSG32 u32;
            struct w32FigoINS_LD;
                 } T32FigoINS_LD;
    typedef union  T32FigoINS_EX
          { UNSG32 u32;
            struct w32FigoINS_EX;
                 } T32FigoINS_EX;
    typedef union  T32FigoINS_EXX
          { UNSG32 u32;
            struct w32FigoINS_EXX;
                 } T32FigoINS_EXX;
    typedef union  T32FigoINS_WB
          { UNSG32 u32;
            struct w32FigoINS_WB;
                 } T32FigoINS_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TFigoINS_Mask
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_Mask;
                   };
                 } TFigoINS_Mask;
    typedef union  TFigoINS_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_Opcode;
                   };
                 } TFigoINS_Opcode;
    typedef union  TFigoINS_ID
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_ID;
                   };
                 } TFigoINS_ID;
    typedef union  TFigoINS_LD
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_LD;
                   };
                 } TFigoINS_LD;
    typedef union  TFigoINS_EX
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_EX;
                   };
                 } TFigoINS_EX;
    typedef union  TFigoINS_EXX
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_EXX;
                   };
                 } TFigoINS_EXX;
    typedef union  TFigoINS_WB
          { UNSG32 u32[1];
            struct {
            struct w32FigoINS_WB;
                   };
                 } TFigoINS_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 FigoINS_drvrd(SIE_FigoINS *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 FigoINS_drvwr(SIE_FigoINS *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void FigoINS_reset(SIE_FigoINS *p);
     SIGN32 FigoINS_cmp  (SIE_FigoINS *p, SIE_FigoINS *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define FigoINS_check(p,pie,pfx,hLOG) FigoINS_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define FigoINS_print(p,    pfx,hLOG) FigoINS_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: FigoINS
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE FigoFMT                                  (4,4)
///     # # ----------------------------------------------------------
///     @ 0x00000 op4K8S4X2Q6          (P)
///               %unsigned 6  Q6                        
///               %unsigned 2  X2                        
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///               %unsigned 4  FMT4                      0xF
///                                    ###
///                                    * 1111 KKKK SSSS KKKK XXQQ QQQQ    (0)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00004 op4H8C4T4D4          (P)
///               %unsigned 4  D4                        
///               %unsigned 4  T4                        
///               %unsigned 4  C4                        
///               %unsigned 8  H8                        
///               %unsigned 4  FMT4                      0xE
///                                    ###
///                                    * 1110 HHHH HHHH CCCC TTTT DDDD    (1)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 op4I12T4D4           (P)
///               %unsigned 4  D4                        
///               %unsigned 4  T4                        
///               %unsigned 12 I12                       
///               %unsigned 1  op1                       
///               %unsigned 3  FMT3                      0x6
///                                    ###
///                                    * 110? IIII IIII IIII TTTT DDDD    (2)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x0000C op4I16D4             (P)
///               %unsigned 4  D4                        
///               %unsigned 16 I16                       
///               %unsigned 1  op1                       
///               %unsigned 3  FMT3                      0x5
///                                    ###
///                                    * 101? IIII IIII IIII IIII DDDD    (3)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00010 op4K16T4             (P)
///               %unsigned 4  K16L                      
///               %unsigned 4  T4                        
///               %unsigned 12 K16H                      
///               %unsigned 4  FMT4                      0x9
///                                    ###
///                                    * 1001 KKKK KKKK KKKK TTTT KKKK    (4)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00014 op4H8C4L8            (P)
///               %unsigned 8  L8                        
///               %unsigned 4  C4                        
///               %unsigned 8  H8                        
///               %unsigned 4  FMT4                      0x8
///                                    ###
///                                    * 1000 HHHH HHHH CCCC LLLL LLLL    (5)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00018 op41K16X2            (P)
///               %unsigned 4  K16L                      
///               %unsigned 1  op1                       
///               %%        1          # Stuffing bits...
///               %unsigned 2  X2                        
///               %unsigned 12 K16H                      
///               %unsigned 4  FMT4                      0x7
///                                    ###
///                                    * 0111 KKKK KKKK KKKK XX-? KKKK    (6)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x0001C op42K8S4X2D4         (P)
///               %unsigned 4  D4                        
///               %unsigned 2  op2                       
///               %unsigned 2  X2                        
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///               %unsigned 4  FMT4                      0x6
///                                    ###
///                                    * 0110 KKKK SSSS KKKK TT?? DDDD    (7)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00020 op44K8S4T4           (P)
///               %unsigned 2  op2                       
///               %unsigned 2  FMT2                      0x0
///               %unsigned 4  T4                        
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///               %unsigned 4  FMT4                      0x5
///                                    ###
///                                    * 0101 KKKK SSSS KKKK TTTT 00??    (8)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00024 op44I12T4            (P)
///               %unsigned 2  op2                       
///               %unsigned 2  FMT2                      0x1
///               %unsigned 4  T4                        
///               %unsigned 12 I12                       
///               %unsigned 4  FMT4                      0x5
///                                    ###
///                                    * 0101 IIII IIII IIII TTTT 01??    (9)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00028 op44K8S4X2           (P)
///               %unsigned 2  op2                       
///               %unsigned 2  FMT2                      0x2
///               %%        2          # Stuffing bits...
///               %unsigned 2  X2                        
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///               %unsigned 4  FMT4                      0x5
///                                    ###
///                                    * 0101 KKKK SSSS KKKK XX-- 10??    (10)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x0002C op42K8S4Q6           (P)
///               %unsigned 6  Q6                        
///               %unsigned 2  op2                       
///               %unsigned 4  K8L                       
///               %unsigned 4  S4                        
///               %unsigned 4  K8H                       
///               %unsigned 4  FMT4                      0x4
///                                    ###
///                                    * 0100 KKKK SSSS KKKK ??QQ QQQQ    (11)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00030 op8S8X2Q6            (P)
///               %unsigned 6  Q6                        
///               %unsigned 2  X2                        
///               %unsigned 8  S4                        
///               %unsigned 2  op2                       
///               %unsigned 6  FMT6                      0xC
///                                    ###
///                                    * 0011 00?? SSSS SSSS XXQQ QQQQ    (12)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00034 op8S4C4L8            (P)
///               %unsigned 8  L8                        
///               %unsigned 4  C4                        
///               %unsigned 4  S4                        
///               %unsigned 2  op2                       
///               %unsigned 6  FMT6                      0xD
///                                    ###
///                                    * 0011 01?? SSSS CCCC LLLL LLLL    (13)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00038 op8S4I8D4            (P)
///               %unsigned 4  D4                        
///               %unsigned 8  I8                        
///               %unsigned 4  S4                        
///               %unsigned 4  op4                       
///               %unsigned 4  FMT4                      0x2
///                                    ###
///                                    * 0010 ???? SSSS IIII IIII DDDD    (14)
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x0003C op8S4C4T4D4          (P)
///               %unsigned 4  D4                        
///               %unsigned 4  T4                        
///               %unsigned 4  C4                        
///               %unsigned 4  S4                        
///               %unsigned 5  op5                       
///               %unsigned 3  FMT3                      0x0
///                                    ###
///                                    * 000? ???? SSSS CCCC TTTT DDDD    (15)
///                                    ###
///               %%        8          # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      64B, bits:     381b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_FigoFMT
#define h_FigoFMT (){}

    #define     RA_FigoFMT_op4K8S4X2Q6                         0x0000

    #define     BA_FigoFMT_op4K8S4X2Q6_Q6                      0x0000
    #define     B16FigoFMT_op4K8S4X2Q6_Q6                      0x0000
    #define   LSb32FigoFMT_op4K8S4X2Q6_Q6                         0
    #define   LSb16FigoFMT_op4K8S4X2Q6_Q6                         0
    #define       bFigoFMT_op4K8S4X2Q6_Q6                      6
    #define   MSK32FigoFMT_op4K8S4X2Q6_Q6                         0x0000003F

    #define     BA_FigoFMT_op4K8S4X2Q6_X2                      0x0000
    #define     B16FigoFMT_op4K8S4X2Q6_X2                      0x0000
    #define   LSb32FigoFMT_op4K8S4X2Q6_X2                         6
    #define   LSb16FigoFMT_op4K8S4X2Q6_X2                         6
    #define       bFigoFMT_op4K8S4X2Q6_X2                      2
    #define   MSK32FigoFMT_op4K8S4X2Q6_X2                         0x000000C0

    #define     BA_FigoFMT_op4K8S4X2Q6_K8L                     0x0001
    #define     B16FigoFMT_op4K8S4X2Q6_K8L                     0x0000
    #define   LSb32FigoFMT_op4K8S4X2Q6_K8L                        8
    #define   LSb16FigoFMT_op4K8S4X2Q6_K8L                        8
    #define       bFigoFMT_op4K8S4X2Q6_K8L                     4
    #define   MSK32FigoFMT_op4K8S4X2Q6_K8L                        0x00000F00

    #define     BA_FigoFMT_op4K8S4X2Q6_S4                      0x0001
    #define     B16FigoFMT_op4K8S4X2Q6_S4                      0x0000
    #define   LSb32FigoFMT_op4K8S4X2Q6_S4                         12
    #define   LSb16FigoFMT_op4K8S4X2Q6_S4                         12
    #define       bFigoFMT_op4K8S4X2Q6_S4                      4
    #define   MSK32FigoFMT_op4K8S4X2Q6_S4                         0x0000F000

    #define     BA_FigoFMT_op4K8S4X2Q6_K8H                     0x0002
    #define     B16FigoFMT_op4K8S4X2Q6_K8H                     0x0002
    #define   LSb32FigoFMT_op4K8S4X2Q6_K8H                        16
    #define   LSb16FigoFMT_op4K8S4X2Q6_K8H                        0
    #define       bFigoFMT_op4K8S4X2Q6_K8H                     4
    #define   MSK32FigoFMT_op4K8S4X2Q6_K8H                        0x000F0000

    #define     BA_FigoFMT_op4K8S4X2Q6_FMT4                    0x0002
    #define     B16FigoFMT_op4K8S4X2Q6_FMT4                    0x0002
    #define   LSb32FigoFMT_op4K8S4X2Q6_FMT4                       20
    #define   LSb16FigoFMT_op4K8S4X2Q6_FMT4                       4
    #define       bFigoFMT_op4K8S4X2Q6_FMT4                    4
    #define   MSK32FigoFMT_op4K8S4X2Q6_FMT4                       0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op4H8C4T4D4                         0x0004

    #define     BA_FigoFMT_op4H8C4T4D4_D4                      0x0004
    #define     B16FigoFMT_op4H8C4T4D4_D4                      0x0004
    #define   LSb32FigoFMT_op4H8C4T4D4_D4                         0
    #define   LSb16FigoFMT_op4H8C4T4D4_D4                         0
    #define       bFigoFMT_op4H8C4T4D4_D4                      4
    #define   MSK32FigoFMT_op4H8C4T4D4_D4                         0x0000000F

    #define     BA_FigoFMT_op4H8C4T4D4_T4                      0x0004
    #define     B16FigoFMT_op4H8C4T4D4_T4                      0x0004
    #define   LSb32FigoFMT_op4H8C4T4D4_T4                         4
    #define   LSb16FigoFMT_op4H8C4T4D4_T4                         4
    #define       bFigoFMT_op4H8C4T4D4_T4                      4
    #define   MSK32FigoFMT_op4H8C4T4D4_T4                         0x000000F0

    #define     BA_FigoFMT_op4H8C4T4D4_C4                      0x0005
    #define     B16FigoFMT_op4H8C4T4D4_C4                      0x0004
    #define   LSb32FigoFMT_op4H8C4T4D4_C4                         8
    #define   LSb16FigoFMT_op4H8C4T4D4_C4                         8
    #define       bFigoFMT_op4H8C4T4D4_C4                      4
    #define   MSK32FigoFMT_op4H8C4T4D4_C4                         0x00000F00

    #define     BA_FigoFMT_op4H8C4T4D4_H8                      0x0005
    #define     B16FigoFMT_op4H8C4T4D4_H8                      0x0004
    #define   LSb32FigoFMT_op4H8C4T4D4_H8                         12
    #define   LSb16FigoFMT_op4H8C4T4D4_H8                         12
    #define       bFigoFMT_op4H8C4T4D4_H8                      8
    #define   MSK32FigoFMT_op4H8C4T4D4_H8                         0x000FF000

    #define     BA_FigoFMT_op4H8C4T4D4_FMT4                    0x0006
    #define     B16FigoFMT_op4H8C4T4D4_FMT4                    0x0006
    #define   LSb32FigoFMT_op4H8C4T4D4_FMT4                       20
    #define   LSb16FigoFMT_op4H8C4T4D4_FMT4                       4
    #define       bFigoFMT_op4H8C4T4D4_FMT4                    4
    #define   MSK32FigoFMT_op4H8C4T4D4_FMT4                       0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op4I12T4D4                          0x0008

    #define     BA_FigoFMT_op4I12T4D4_D4                       0x0008
    #define     B16FigoFMT_op4I12T4D4_D4                       0x0008
    #define   LSb32FigoFMT_op4I12T4D4_D4                          0
    #define   LSb16FigoFMT_op4I12T4D4_D4                          0
    #define       bFigoFMT_op4I12T4D4_D4                       4
    #define   MSK32FigoFMT_op4I12T4D4_D4                          0x0000000F

    #define     BA_FigoFMT_op4I12T4D4_T4                       0x0008
    #define     B16FigoFMT_op4I12T4D4_T4                       0x0008
    #define   LSb32FigoFMT_op4I12T4D4_T4                          4
    #define   LSb16FigoFMT_op4I12T4D4_T4                          4
    #define       bFigoFMT_op4I12T4D4_T4                       4
    #define   MSK32FigoFMT_op4I12T4D4_T4                          0x000000F0

    #define     BA_FigoFMT_op4I12T4D4_I12                      0x0009
    #define     B16FigoFMT_op4I12T4D4_I12                      0x0008
    #define   LSb32FigoFMT_op4I12T4D4_I12                         8
    #define   LSb16FigoFMT_op4I12T4D4_I12                         8
    #define       bFigoFMT_op4I12T4D4_I12                      12
    #define   MSK32FigoFMT_op4I12T4D4_I12                         0x000FFF00

    #define     BA_FigoFMT_op4I12T4D4_op1                      0x000A
    #define     B16FigoFMT_op4I12T4D4_op1                      0x000A
    #define   LSb32FigoFMT_op4I12T4D4_op1                         20
    #define   LSb16FigoFMT_op4I12T4D4_op1                         4
    #define       bFigoFMT_op4I12T4D4_op1                      1
    #define   MSK32FigoFMT_op4I12T4D4_op1                         0x00100000

    #define     BA_FigoFMT_op4I12T4D4_FMT3                     0x000A
    #define     B16FigoFMT_op4I12T4D4_FMT3                     0x000A
    #define   LSb32FigoFMT_op4I12T4D4_FMT3                        21
    #define   LSb16FigoFMT_op4I12T4D4_FMT3                        5
    #define       bFigoFMT_op4I12T4D4_FMT3                     3
    #define   MSK32FigoFMT_op4I12T4D4_FMT3                        0x00E00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op4I16D4                            0x000C

    #define     BA_FigoFMT_op4I16D4_D4                         0x000C
    #define     B16FigoFMT_op4I16D4_D4                         0x000C
    #define   LSb32FigoFMT_op4I16D4_D4                            0
    #define   LSb16FigoFMT_op4I16D4_D4                            0
    #define       bFigoFMT_op4I16D4_D4                         4
    #define   MSK32FigoFMT_op4I16D4_D4                            0x0000000F

    #define     BA_FigoFMT_op4I16D4_I16                        0x000C
    #define     B16FigoFMT_op4I16D4_I16                        0x000C
    #define   LSb32FigoFMT_op4I16D4_I16                           4
    #define   LSb16FigoFMT_op4I16D4_I16                           4
    #define       bFigoFMT_op4I16D4_I16                        16
    #define   MSK32FigoFMT_op4I16D4_I16                           0x000FFFF0

    #define     BA_FigoFMT_op4I16D4_op1                        0x000E
    #define     B16FigoFMT_op4I16D4_op1                        0x000E
    #define   LSb32FigoFMT_op4I16D4_op1                           20
    #define   LSb16FigoFMT_op4I16D4_op1                           4
    #define       bFigoFMT_op4I16D4_op1                        1
    #define   MSK32FigoFMT_op4I16D4_op1                           0x00100000

    #define     BA_FigoFMT_op4I16D4_FMT3                       0x000E
    #define     B16FigoFMT_op4I16D4_FMT3                       0x000E
    #define   LSb32FigoFMT_op4I16D4_FMT3                          21
    #define   LSb16FigoFMT_op4I16D4_FMT3                          5
    #define       bFigoFMT_op4I16D4_FMT3                       3
    #define   MSK32FigoFMT_op4I16D4_FMT3                          0x00E00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op4K16T4                            0x0010

    #define     BA_FigoFMT_op4K16T4_K16L                       0x0010
    #define     B16FigoFMT_op4K16T4_K16L                       0x0010
    #define   LSb32FigoFMT_op4K16T4_K16L                          0
    #define   LSb16FigoFMT_op4K16T4_K16L                          0
    #define       bFigoFMT_op4K16T4_K16L                       4
    #define   MSK32FigoFMT_op4K16T4_K16L                          0x0000000F

    #define     BA_FigoFMT_op4K16T4_T4                         0x0010
    #define     B16FigoFMT_op4K16T4_T4                         0x0010
    #define   LSb32FigoFMT_op4K16T4_T4                            4
    #define   LSb16FigoFMT_op4K16T4_T4                            4
    #define       bFigoFMT_op4K16T4_T4                         4
    #define   MSK32FigoFMT_op4K16T4_T4                            0x000000F0

    #define     BA_FigoFMT_op4K16T4_K16H                       0x0011
    #define     B16FigoFMT_op4K16T4_K16H                       0x0010
    #define   LSb32FigoFMT_op4K16T4_K16H                          8
    #define   LSb16FigoFMT_op4K16T4_K16H                          8
    #define       bFigoFMT_op4K16T4_K16H                       12
    #define   MSK32FigoFMT_op4K16T4_K16H                          0x000FFF00

    #define     BA_FigoFMT_op4K16T4_FMT4                       0x0012
    #define     B16FigoFMT_op4K16T4_FMT4                       0x0012
    #define   LSb32FigoFMT_op4K16T4_FMT4                          20
    #define   LSb16FigoFMT_op4K16T4_FMT4                          4
    #define       bFigoFMT_op4K16T4_FMT4                       4
    #define   MSK32FigoFMT_op4K16T4_FMT4                          0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op4H8C4L8                           0x0014

    #define     BA_FigoFMT_op4H8C4L8_L8                        0x0014
    #define     B16FigoFMT_op4H8C4L8_L8                        0x0014
    #define   LSb32FigoFMT_op4H8C4L8_L8                           0
    #define   LSb16FigoFMT_op4H8C4L8_L8                           0
    #define       bFigoFMT_op4H8C4L8_L8                        8
    #define   MSK32FigoFMT_op4H8C4L8_L8                           0x000000FF

    #define     BA_FigoFMT_op4H8C4L8_C4                        0x0015
    #define     B16FigoFMT_op4H8C4L8_C4                        0x0014
    #define   LSb32FigoFMT_op4H8C4L8_C4                           8
    #define   LSb16FigoFMT_op4H8C4L8_C4                           8
    #define       bFigoFMT_op4H8C4L8_C4                        4
    #define   MSK32FigoFMT_op4H8C4L8_C4                           0x00000F00

    #define     BA_FigoFMT_op4H8C4L8_H8                        0x0015
    #define     B16FigoFMT_op4H8C4L8_H8                        0x0014
    #define   LSb32FigoFMT_op4H8C4L8_H8                           12
    #define   LSb16FigoFMT_op4H8C4L8_H8                           12
    #define       bFigoFMT_op4H8C4L8_H8                        8
    #define   MSK32FigoFMT_op4H8C4L8_H8                           0x000FF000

    #define     BA_FigoFMT_op4H8C4L8_FMT4                      0x0016
    #define     B16FigoFMT_op4H8C4L8_FMT4                      0x0016
    #define   LSb32FigoFMT_op4H8C4L8_FMT4                         20
    #define   LSb16FigoFMT_op4H8C4L8_FMT4                         4
    #define       bFigoFMT_op4H8C4L8_FMT4                      4
    #define   MSK32FigoFMT_op4H8C4L8_FMT4                         0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op41K16X2                           0x0018

    #define     BA_FigoFMT_op41K16X2_K16L                      0x0018
    #define     B16FigoFMT_op41K16X2_K16L                      0x0018
    #define   LSb32FigoFMT_op41K16X2_K16L                         0
    #define   LSb16FigoFMT_op41K16X2_K16L                         0
    #define       bFigoFMT_op41K16X2_K16L                      4
    #define   MSK32FigoFMT_op41K16X2_K16L                         0x0000000F

    #define     BA_FigoFMT_op41K16X2_op1                       0x0018
    #define     B16FigoFMT_op41K16X2_op1                       0x0018
    #define   LSb32FigoFMT_op41K16X2_op1                          4
    #define   LSb16FigoFMT_op41K16X2_op1                          4
    #define       bFigoFMT_op41K16X2_op1                       1
    #define   MSK32FigoFMT_op41K16X2_op1                          0x00000010

    #define     BA_FigoFMT_op41K16X2_X2                        0x0018
    #define     B16FigoFMT_op41K16X2_X2                        0x0018
    #define   LSb32FigoFMT_op41K16X2_X2                           6
    #define   LSb16FigoFMT_op41K16X2_X2                           6
    #define       bFigoFMT_op41K16X2_X2                        2
    #define   MSK32FigoFMT_op41K16X2_X2                           0x000000C0

    #define     BA_FigoFMT_op41K16X2_K16H                      0x0019
    #define     B16FigoFMT_op41K16X2_K16H                      0x0018
    #define   LSb32FigoFMT_op41K16X2_K16H                         8
    #define   LSb16FigoFMT_op41K16X2_K16H                         8
    #define       bFigoFMT_op41K16X2_K16H                      12
    #define   MSK32FigoFMT_op41K16X2_K16H                         0x000FFF00

    #define     BA_FigoFMT_op41K16X2_FMT4                      0x001A
    #define     B16FigoFMT_op41K16X2_FMT4                      0x001A
    #define   LSb32FigoFMT_op41K16X2_FMT4                         20
    #define   LSb16FigoFMT_op41K16X2_FMT4                         4
    #define       bFigoFMT_op41K16X2_FMT4                      4
    #define   MSK32FigoFMT_op41K16X2_FMT4                         0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op42K8S4X2D4                        0x001C

    #define     BA_FigoFMT_op42K8S4X2D4_D4                     0x001C
    #define     B16FigoFMT_op42K8S4X2D4_D4                     0x001C
    #define   LSb32FigoFMT_op42K8S4X2D4_D4                        0
    #define   LSb16FigoFMT_op42K8S4X2D4_D4                        0
    #define       bFigoFMT_op42K8S4X2D4_D4                     4
    #define   MSK32FigoFMT_op42K8S4X2D4_D4                        0x0000000F

    #define     BA_FigoFMT_op42K8S4X2D4_op2                    0x001C
    #define     B16FigoFMT_op42K8S4X2D4_op2                    0x001C
    #define   LSb32FigoFMT_op42K8S4X2D4_op2                       4
    #define   LSb16FigoFMT_op42K8S4X2D4_op2                       4
    #define       bFigoFMT_op42K8S4X2D4_op2                    2
    #define   MSK32FigoFMT_op42K8S4X2D4_op2                       0x00000030

    #define     BA_FigoFMT_op42K8S4X2D4_X2                     0x001C
    #define     B16FigoFMT_op42K8S4X2D4_X2                     0x001C
    #define   LSb32FigoFMT_op42K8S4X2D4_X2                        6
    #define   LSb16FigoFMT_op42K8S4X2D4_X2                        6
    #define       bFigoFMT_op42K8S4X2D4_X2                     2
    #define   MSK32FigoFMT_op42K8S4X2D4_X2                        0x000000C0

    #define     BA_FigoFMT_op42K8S4X2D4_K8L                    0x001D
    #define     B16FigoFMT_op42K8S4X2D4_K8L                    0x001C
    #define   LSb32FigoFMT_op42K8S4X2D4_K8L                       8
    #define   LSb16FigoFMT_op42K8S4X2D4_K8L                       8
    #define       bFigoFMT_op42K8S4X2D4_K8L                    4
    #define   MSK32FigoFMT_op42K8S4X2D4_K8L                       0x00000F00

    #define     BA_FigoFMT_op42K8S4X2D4_S4                     0x001D
    #define     B16FigoFMT_op42K8S4X2D4_S4                     0x001C
    #define   LSb32FigoFMT_op42K8S4X2D4_S4                        12
    #define   LSb16FigoFMT_op42K8S4X2D4_S4                        12
    #define       bFigoFMT_op42K8S4X2D4_S4                     4
    #define   MSK32FigoFMT_op42K8S4X2D4_S4                        0x0000F000

    #define     BA_FigoFMT_op42K8S4X2D4_K8H                    0x001E
    #define     B16FigoFMT_op42K8S4X2D4_K8H                    0x001E
    #define   LSb32FigoFMT_op42K8S4X2D4_K8H                       16
    #define   LSb16FigoFMT_op42K8S4X2D4_K8H                       0
    #define       bFigoFMT_op42K8S4X2D4_K8H                    4
    #define   MSK32FigoFMT_op42K8S4X2D4_K8H                       0x000F0000

    #define     BA_FigoFMT_op42K8S4X2D4_FMT4                   0x001E
    #define     B16FigoFMT_op42K8S4X2D4_FMT4                   0x001E
    #define   LSb32FigoFMT_op42K8S4X2D4_FMT4                      20
    #define   LSb16FigoFMT_op42K8S4X2D4_FMT4                      4
    #define       bFigoFMT_op42K8S4X2D4_FMT4                   4
    #define   MSK32FigoFMT_op42K8S4X2D4_FMT4                      0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op44K8S4T4                          0x0020

    #define     BA_FigoFMT_op44K8S4T4_op2                      0x0020
    #define     B16FigoFMT_op44K8S4T4_op2                      0x0020
    #define   LSb32FigoFMT_op44K8S4T4_op2                         0
    #define   LSb16FigoFMT_op44K8S4T4_op2                         0
    #define       bFigoFMT_op44K8S4T4_op2                      2
    #define   MSK32FigoFMT_op44K8S4T4_op2                         0x00000003

    #define     BA_FigoFMT_op44K8S4T4_FMT2                     0x0020
    #define     B16FigoFMT_op44K8S4T4_FMT2                     0x0020
    #define   LSb32FigoFMT_op44K8S4T4_FMT2                        2
    #define   LSb16FigoFMT_op44K8S4T4_FMT2                        2
    #define       bFigoFMT_op44K8S4T4_FMT2                     2
    #define   MSK32FigoFMT_op44K8S4T4_FMT2                        0x0000000C

    #define     BA_FigoFMT_op44K8S4T4_T4                       0x0020
    #define     B16FigoFMT_op44K8S4T4_T4                       0x0020
    #define   LSb32FigoFMT_op44K8S4T4_T4                          4
    #define   LSb16FigoFMT_op44K8S4T4_T4                          4
    #define       bFigoFMT_op44K8S4T4_T4                       4
    #define   MSK32FigoFMT_op44K8S4T4_T4                          0x000000F0

    #define     BA_FigoFMT_op44K8S4T4_K8L                      0x0021
    #define     B16FigoFMT_op44K8S4T4_K8L                      0x0020
    #define   LSb32FigoFMT_op44K8S4T4_K8L                         8
    #define   LSb16FigoFMT_op44K8S4T4_K8L                         8
    #define       bFigoFMT_op44K8S4T4_K8L                      4
    #define   MSK32FigoFMT_op44K8S4T4_K8L                         0x00000F00

    #define     BA_FigoFMT_op44K8S4T4_S4                       0x0021
    #define     B16FigoFMT_op44K8S4T4_S4                       0x0020
    #define   LSb32FigoFMT_op44K8S4T4_S4                          12
    #define   LSb16FigoFMT_op44K8S4T4_S4                          12
    #define       bFigoFMT_op44K8S4T4_S4                       4
    #define   MSK32FigoFMT_op44K8S4T4_S4                          0x0000F000

    #define     BA_FigoFMT_op44K8S4T4_K8H                      0x0022
    #define     B16FigoFMT_op44K8S4T4_K8H                      0x0022
    #define   LSb32FigoFMT_op44K8S4T4_K8H                         16
    #define   LSb16FigoFMT_op44K8S4T4_K8H                         0
    #define       bFigoFMT_op44K8S4T4_K8H                      4
    #define   MSK32FigoFMT_op44K8S4T4_K8H                         0x000F0000

    #define     BA_FigoFMT_op44K8S4T4_FMT4                     0x0022
    #define     B16FigoFMT_op44K8S4T4_FMT4                     0x0022
    #define   LSb32FigoFMT_op44K8S4T4_FMT4                        20
    #define   LSb16FigoFMT_op44K8S4T4_FMT4                        4
    #define       bFigoFMT_op44K8S4T4_FMT4                     4
    #define   MSK32FigoFMT_op44K8S4T4_FMT4                        0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op44I12T4                           0x0024

    #define     BA_FigoFMT_op44I12T4_op2                       0x0024
    #define     B16FigoFMT_op44I12T4_op2                       0x0024
    #define   LSb32FigoFMT_op44I12T4_op2                          0
    #define   LSb16FigoFMT_op44I12T4_op2                          0
    #define       bFigoFMT_op44I12T4_op2                       2
    #define   MSK32FigoFMT_op44I12T4_op2                          0x00000003

    #define     BA_FigoFMT_op44I12T4_FMT2                      0x0024
    #define     B16FigoFMT_op44I12T4_FMT2                      0x0024
    #define   LSb32FigoFMT_op44I12T4_FMT2                         2
    #define   LSb16FigoFMT_op44I12T4_FMT2                         2
    #define       bFigoFMT_op44I12T4_FMT2                      2
    #define   MSK32FigoFMT_op44I12T4_FMT2                         0x0000000C

    #define     BA_FigoFMT_op44I12T4_T4                        0x0024
    #define     B16FigoFMT_op44I12T4_T4                        0x0024
    #define   LSb32FigoFMT_op44I12T4_T4                           4
    #define   LSb16FigoFMT_op44I12T4_T4                           4
    #define       bFigoFMT_op44I12T4_T4                        4
    #define   MSK32FigoFMT_op44I12T4_T4                           0x000000F0

    #define     BA_FigoFMT_op44I12T4_I12                       0x0025
    #define     B16FigoFMT_op44I12T4_I12                       0x0024
    #define   LSb32FigoFMT_op44I12T4_I12                          8
    #define   LSb16FigoFMT_op44I12T4_I12                          8
    #define       bFigoFMT_op44I12T4_I12                       12
    #define   MSK32FigoFMT_op44I12T4_I12                          0x000FFF00

    #define     BA_FigoFMT_op44I12T4_FMT4                      0x0026
    #define     B16FigoFMT_op44I12T4_FMT4                      0x0026
    #define   LSb32FigoFMT_op44I12T4_FMT4                         20
    #define   LSb16FigoFMT_op44I12T4_FMT4                         4
    #define       bFigoFMT_op44I12T4_FMT4                      4
    #define   MSK32FigoFMT_op44I12T4_FMT4                         0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op44K8S4X2                          0x0028

    #define     BA_FigoFMT_op44K8S4X2_op2                      0x0028
    #define     B16FigoFMT_op44K8S4X2_op2                      0x0028
    #define   LSb32FigoFMT_op44K8S4X2_op2                         0
    #define   LSb16FigoFMT_op44K8S4X2_op2                         0
    #define       bFigoFMT_op44K8S4X2_op2                      2
    #define   MSK32FigoFMT_op44K8S4X2_op2                         0x00000003

    #define     BA_FigoFMT_op44K8S4X2_FMT2                     0x0028
    #define     B16FigoFMT_op44K8S4X2_FMT2                     0x0028
    #define   LSb32FigoFMT_op44K8S4X2_FMT2                        2
    #define   LSb16FigoFMT_op44K8S4X2_FMT2                        2
    #define       bFigoFMT_op44K8S4X2_FMT2                     2
    #define   MSK32FigoFMT_op44K8S4X2_FMT2                        0x0000000C

    #define     BA_FigoFMT_op44K8S4X2_X2                       0x0028
    #define     B16FigoFMT_op44K8S4X2_X2                       0x0028
    #define   LSb32FigoFMT_op44K8S4X2_X2                          6
    #define   LSb16FigoFMT_op44K8S4X2_X2                          6
    #define       bFigoFMT_op44K8S4X2_X2                       2
    #define   MSK32FigoFMT_op44K8S4X2_X2                          0x000000C0

    #define     BA_FigoFMT_op44K8S4X2_K8L                      0x0029
    #define     B16FigoFMT_op44K8S4X2_K8L                      0x0028
    #define   LSb32FigoFMT_op44K8S4X2_K8L                         8
    #define   LSb16FigoFMT_op44K8S4X2_K8L                         8
    #define       bFigoFMT_op44K8S4X2_K8L                      4
    #define   MSK32FigoFMT_op44K8S4X2_K8L                         0x00000F00

    #define     BA_FigoFMT_op44K8S4X2_S4                       0x0029
    #define     B16FigoFMT_op44K8S4X2_S4                       0x0028
    #define   LSb32FigoFMT_op44K8S4X2_S4                          12
    #define   LSb16FigoFMT_op44K8S4X2_S4                          12
    #define       bFigoFMT_op44K8S4X2_S4                       4
    #define   MSK32FigoFMT_op44K8S4X2_S4                          0x0000F000

    #define     BA_FigoFMT_op44K8S4X2_K8H                      0x002A
    #define     B16FigoFMT_op44K8S4X2_K8H                      0x002A
    #define   LSb32FigoFMT_op44K8S4X2_K8H                         16
    #define   LSb16FigoFMT_op44K8S4X2_K8H                         0
    #define       bFigoFMT_op44K8S4X2_K8H                      4
    #define   MSK32FigoFMT_op44K8S4X2_K8H                         0x000F0000

    #define     BA_FigoFMT_op44K8S4X2_FMT4                     0x002A
    #define     B16FigoFMT_op44K8S4X2_FMT4                     0x002A
    #define   LSb32FigoFMT_op44K8S4X2_FMT4                        20
    #define   LSb16FigoFMT_op44K8S4X2_FMT4                        4
    #define       bFigoFMT_op44K8S4X2_FMT4                     4
    #define   MSK32FigoFMT_op44K8S4X2_FMT4                        0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op42K8S4Q6                          0x002C

    #define     BA_FigoFMT_op42K8S4Q6_Q6                       0x002C
    #define     B16FigoFMT_op42K8S4Q6_Q6                       0x002C
    #define   LSb32FigoFMT_op42K8S4Q6_Q6                          0
    #define   LSb16FigoFMT_op42K8S4Q6_Q6                          0
    #define       bFigoFMT_op42K8S4Q6_Q6                       6
    #define   MSK32FigoFMT_op42K8S4Q6_Q6                          0x0000003F

    #define     BA_FigoFMT_op42K8S4Q6_op2                      0x002C
    #define     B16FigoFMT_op42K8S4Q6_op2                      0x002C
    #define   LSb32FigoFMT_op42K8S4Q6_op2                         6
    #define   LSb16FigoFMT_op42K8S4Q6_op2                         6
    #define       bFigoFMT_op42K8S4Q6_op2                      2
    #define   MSK32FigoFMT_op42K8S4Q6_op2                         0x000000C0

    #define     BA_FigoFMT_op42K8S4Q6_K8L                      0x002D
    #define     B16FigoFMT_op42K8S4Q6_K8L                      0x002C
    #define   LSb32FigoFMT_op42K8S4Q6_K8L                         8
    #define   LSb16FigoFMT_op42K8S4Q6_K8L                         8
    #define       bFigoFMT_op42K8S4Q6_K8L                      4
    #define   MSK32FigoFMT_op42K8S4Q6_K8L                         0x00000F00

    #define     BA_FigoFMT_op42K8S4Q6_S4                       0x002D
    #define     B16FigoFMT_op42K8S4Q6_S4                       0x002C
    #define   LSb32FigoFMT_op42K8S4Q6_S4                          12
    #define   LSb16FigoFMT_op42K8S4Q6_S4                          12
    #define       bFigoFMT_op42K8S4Q6_S4                       4
    #define   MSK32FigoFMT_op42K8S4Q6_S4                          0x0000F000

    #define     BA_FigoFMT_op42K8S4Q6_K8H                      0x002E
    #define     B16FigoFMT_op42K8S4Q6_K8H                      0x002E
    #define   LSb32FigoFMT_op42K8S4Q6_K8H                         16
    #define   LSb16FigoFMT_op42K8S4Q6_K8H                         0
    #define       bFigoFMT_op42K8S4Q6_K8H                      4
    #define   MSK32FigoFMT_op42K8S4Q6_K8H                         0x000F0000

    #define     BA_FigoFMT_op42K8S4Q6_FMT4                     0x002E
    #define     B16FigoFMT_op42K8S4Q6_FMT4                     0x002E
    #define   LSb32FigoFMT_op42K8S4Q6_FMT4                        20
    #define   LSb16FigoFMT_op42K8S4Q6_FMT4                        4
    #define       bFigoFMT_op42K8S4Q6_FMT4                     4
    #define   MSK32FigoFMT_op42K8S4Q6_FMT4                        0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op8S8X2Q6                           0x0030

    #define     BA_FigoFMT_op8S8X2Q6_Q6                        0x0030
    #define     B16FigoFMT_op8S8X2Q6_Q6                        0x0030
    #define   LSb32FigoFMT_op8S8X2Q6_Q6                           0
    #define   LSb16FigoFMT_op8S8X2Q6_Q6                           0
    #define       bFigoFMT_op8S8X2Q6_Q6                        6
    #define   MSK32FigoFMT_op8S8X2Q6_Q6                           0x0000003F

    #define     BA_FigoFMT_op8S8X2Q6_X2                        0x0030
    #define     B16FigoFMT_op8S8X2Q6_X2                        0x0030
    #define   LSb32FigoFMT_op8S8X2Q6_X2                           6
    #define   LSb16FigoFMT_op8S8X2Q6_X2                           6
    #define       bFigoFMT_op8S8X2Q6_X2                        2
    #define   MSK32FigoFMT_op8S8X2Q6_X2                           0x000000C0

    #define     BA_FigoFMT_op8S8X2Q6_S4                        0x0031
    #define     B16FigoFMT_op8S8X2Q6_S4                        0x0030
    #define   LSb32FigoFMT_op8S8X2Q6_S4                           8
    #define   LSb16FigoFMT_op8S8X2Q6_S4                           8
    #define       bFigoFMT_op8S8X2Q6_S4                        8
    #define   MSK32FigoFMT_op8S8X2Q6_S4                           0x0000FF00

    #define     BA_FigoFMT_op8S8X2Q6_op2                       0x0032
    #define     B16FigoFMT_op8S8X2Q6_op2                       0x0032
    #define   LSb32FigoFMT_op8S8X2Q6_op2                          16
    #define   LSb16FigoFMT_op8S8X2Q6_op2                          0
    #define       bFigoFMT_op8S8X2Q6_op2                       2
    #define   MSK32FigoFMT_op8S8X2Q6_op2                          0x00030000

    #define     BA_FigoFMT_op8S8X2Q6_FMT6                      0x0032
    #define     B16FigoFMT_op8S8X2Q6_FMT6                      0x0032
    #define   LSb32FigoFMT_op8S8X2Q6_FMT6                         18
    #define   LSb16FigoFMT_op8S8X2Q6_FMT6                         2
    #define       bFigoFMT_op8S8X2Q6_FMT6                      6
    #define   MSK32FigoFMT_op8S8X2Q6_FMT6                         0x00FC0000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op8S4C4L8                           0x0034

    #define     BA_FigoFMT_op8S4C4L8_L8                        0x0034
    #define     B16FigoFMT_op8S4C4L8_L8                        0x0034
    #define   LSb32FigoFMT_op8S4C4L8_L8                           0
    #define   LSb16FigoFMT_op8S4C4L8_L8                           0
    #define       bFigoFMT_op8S4C4L8_L8                        8
    #define   MSK32FigoFMT_op8S4C4L8_L8                           0x000000FF

    #define     BA_FigoFMT_op8S4C4L8_C4                        0x0035
    #define     B16FigoFMT_op8S4C4L8_C4                        0x0034
    #define   LSb32FigoFMT_op8S4C4L8_C4                           8
    #define   LSb16FigoFMT_op8S4C4L8_C4                           8
    #define       bFigoFMT_op8S4C4L8_C4                        4
    #define   MSK32FigoFMT_op8S4C4L8_C4                           0x00000F00

    #define     BA_FigoFMT_op8S4C4L8_S4                        0x0035
    #define     B16FigoFMT_op8S4C4L8_S4                        0x0034
    #define   LSb32FigoFMT_op8S4C4L8_S4                           12
    #define   LSb16FigoFMT_op8S4C4L8_S4                           12
    #define       bFigoFMT_op8S4C4L8_S4                        4
    #define   MSK32FigoFMT_op8S4C4L8_S4                           0x0000F000

    #define     BA_FigoFMT_op8S4C4L8_op2                       0x0036
    #define     B16FigoFMT_op8S4C4L8_op2                       0x0036
    #define   LSb32FigoFMT_op8S4C4L8_op2                          16
    #define   LSb16FigoFMT_op8S4C4L8_op2                          0
    #define       bFigoFMT_op8S4C4L8_op2                       2
    #define   MSK32FigoFMT_op8S4C4L8_op2                          0x00030000

    #define     BA_FigoFMT_op8S4C4L8_FMT6                      0x0036
    #define     B16FigoFMT_op8S4C4L8_FMT6                      0x0036
    #define   LSb32FigoFMT_op8S4C4L8_FMT6                         18
    #define   LSb16FigoFMT_op8S4C4L8_FMT6                         2
    #define       bFigoFMT_op8S4C4L8_FMT6                      6
    #define   MSK32FigoFMT_op8S4C4L8_FMT6                         0x00FC0000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op8S4I8D4                           0x0038

    #define     BA_FigoFMT_op8S4I8D4_D4                        0x0038
    #define     B16FigoFMT_op8S4I8D4_D4                        0x0038
    #define   LSb32FigoFMT_op8S4I8D4_D4                           0
    #define   LSb16FigoFMT_op8S4I8D4_D4                           0
    #define       bFigoFMT_op8S4I8D4_D4                        4
    #define   MSK32FigoFMT_op8S4I8D4_D4                           0x0000000F

    #define     BA_FigoFMT_op8S4I8D4_I8                        0x0038
    #define     B16FigoFMT_op8S4I8D4_I8                        0x0038
    #define   LSb32FigoFMT_op8S4I8D4_I8                           4
    #define   LSb16FigoFMT_op8S4I8D4_I8                           4
    #define       bFigoFMT_op8S4I8D4_I8                        8
    #define   MSK32FigoFMT_op8S4I8D4_I8                           0x00000FF0

    #define     BA_FigoFMT_op8S4I8D4_S4                        0x0039
    #define     B16FigoFMT_op8S4I8D4_S4                        0x0038
    #define   LSb32FigoFMT_op8S4I8D4_S4                           12
    #define   LSb16FigoFMT_op8S4I8D4_S4                           12
    #define       bFigoFMT_op8S4I8D4_S4                        4
    #define   MSK32FigoFMT_op8S4I8D4_S4                           0x0000F000

    #define     BA_FigoFMT_op8S4I8D4_op4                       0x003A
    #define     B16FigoFMT_op8S4I8D4_op4                       0x003A
    #define   LSb32FigoFMT_op8S4I8D4_op4                          16
    #define   LSb16FigoFMT_op8S4I8D4_op4                          0
    #define       bFigoFMT_op8S4I8D4_op4                       4
    #define   MSK32FigoFMT_op8S4I8D4_op4                          0x000F0000

    #define     BA_FigoFMT_op8S4I8D4_FMT4                      0x003A
    #define     B16FigoFMT_op8S4I8D4_FMT4                      0x003A
    #define   LSb32FigoFMT_op8S4I8D4_FMT4                         20
    #define   LSb16FigoFMT_op8S4I8D4_FMT4                         4
    #define       bFigoFMT_op8S4I8D4_FMT4                      4
    #define   MSK32FigoFMT_op8S4I8D4_FMT4                         0x00F00000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoFMT_op8S4C4T4D4                         0x003C

    #define     BA_FigoFMT_op8S4C4T4D4_D4                      0x003C
    #define     B16FigoFMT_op8S4C4T4D4_D4                      0x003C
    #define   LSb32FigoFMT_op8S4C4T4D4_D4                         0
    #define   LSb16FigoFMT_op8S4C4T4D4_D4                         0
    #define       bFigoFMT_op8S4C4T4D4_D4                      4
    #define   MSK32FigoFMT_op8S4C4T4D4_D4                         0x0000000F

    #define     BA_FigoFMT_op8S4C4T4D4_T4                      0x003C
    #define     B16FigoFMT_op8S4C4T4D4_T4                      0x003C
    #define   LSb32FigoFMT_op8S4C4T4D4_T4                         4
    #define   LSb16FigoFMT_op8S4C4T4D4_T4                         4
    #define       bFigoFMT_op8S4C4T4D4_T4                      4
    #define   MSK32FigoFMT_op8S4C4T4D4_T4                         0x000000F0

    #define     BA_FigoFMT_op8S4C4T4D4_C4                      0x003D
    #define     B16FigoFMT_op8S4C4T4D4_C4                      0x003C
    #define   LSb32FigoFMT_op8S4C4T4D4_C4                         8
    #define   LSb16FigoFMT_op8S4C4T4D4_C4                         8
    #define       bFigoFMT_op8S4C4T4D4_C4                      4
    #define   MSK32FigoFMT_op8S4C4T4D4_C4                         0x00000F00

    #define     BA_FigoFMT_op8S4C4T4D4_S4                      0x003D
    #define     B16FigoFMT_op8S4C4T4D4_S4                      0x003C
    #define   LSb32FigoFMT_op8S4C4T4D4_S4                         12
    #define   LSb16FigoFMT_op8S4C4T4D4_S4                         12
    #define       bFigoFMT_op8S4C4T4D4_S4                      4
    #define   MSK32FigoFMT_op8S4C4T4D4_S4                         0x0000F000

    #define     BA_FigoFMT_op8S4C4T4D4_op5                     0x003E
    #define     B16FigoFMT_op8S4C4T4D4_op5                     0x003E
    #define   LSb32FigoFMT_op8S4C4T4D4_op5                        16
    #define   LSb16FigoFMT_op8S4C4T4D4_op5                        0
    #define       bFigoFMT_op8S4C4T4D4_op5                     5
    #define   MSK32FigoFMT_op8S4C4T4D4_op5                        0x001F0000

    #define     BA_FigoFMT_op8S4C4T4D4_FMT3                    0x003E
    #define     B16FigoFMT_op8S4C4T4D4_FMT3                    0x003E
    #define   LSb32FigoFMT_op8S4C4T4D4_FMT3                       21
    #define   LSb16FigoFMT_op8S4C4T4D4_FMT3                       5
    #define       bFigoFMT_op8S4C4T4D4_FMT3                    3
    #define   MSK32FigoFMT_op8S4C4T4D4_FMT3                       0x00E00000
    ///////////////////////////////////////////////////////////

    typedef struct SIE_FigoFMT {
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4K8S4X2Q6_Q6(r32)                 _BFGET_(r32, 5, 0)
    #define   SET32FigoFMT_op4K8S4X2Q6_Q6(r32,v)               _BFSET_(r32, 5, 0,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_Q6(r16)                 _BFGET_(r16, 5, 0)
    #define   SET16FigoFMT_op4K8S4X2Q6_Q6(r16,v)               _BFSET_(r16, 5, 0,v)

    #define   GET32FigoFMT_op4K8S4X2Q6_X2(r32)                 _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op4K8S4X2Q6_X2(r32,v)               _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_X2(r16)                 _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op4K8S4X2Q6_X2(r16,v)               _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op4K8S4X2Q6_K8L(r32)                _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op4K8S4X2Q6_K8L(r32,v)              _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_K8L(r16)                _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op4K8S4X2Q6_K8L(r16,v)              _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op4K8S4X2Q6_S4(r32)                 _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op4K8S4X2Q6_S4(r32,v)               _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_S4(r16)                 _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op4K8S4X2Q6_S4(r16,v)               _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op4K8S4X2Q6_K8H(r32)                _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op4K8S4X2Q6_K8H(r32,v)              _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_K8H(r16)                _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op4K8S4X2Q6_K8H(r16,v)              _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op4K8S4X2Q6_FMT4(r32)               _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op4K8S4X2Q6_FMT4(r32,v)             _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op4K8S4X2Q6_FMT4(r16)               _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4K8S4X2Q6_FMT4(r16,v)             _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op4K8S4X2Q6                         {\
            UNSG32 uop4K8S4X2Q6_Q6                             :  6;\
            UNSG32 uop4K8S4X2Q6_X2                             :  2;\
            UNSG32 uop4K8S4X2Q6_K8L                            :  4;\
            UNSG32 uop4K8S4X2Q6_S4                             :  4;\
            UNSG32 uop4K8S4X2Q6_K8H                            :  4;\
            UNSG32 uop4K8S4X2Q6_FMT4                           :  4;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32FigoFMT_op4K8S4X2Q6;
            struct w32FigoFMT_op4K8S4X2Q6;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4H8C4T4D4_D4(r32)                 _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op4H8C4T4D4_D4(r32,v)               _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op4H8C4T4D4_D4(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op4H8C4T4D4_D4(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op4H8C4T4D4_T4(r32)                 _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op4H8C4T4D4_T4(r32,v)               _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op4H8C4T4D4_T4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4H8C4T4D4_T4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op4H8C4T4D4_C4(r32)                 _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op4H8C4T4D4_C4(r32,v)               _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op4H8C4T4D4_C4(r16)                 _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op4H8C4T4D4_C4(r16,v)               _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op4H8C4T4D4_H8(r32)                 _BFGET_(r32,19,12)
    #define   SET32FigoFMT_op4H8C4T4D4_H8(r32,v)               _BFSET_(r32,19,12,v)

    #define   GET32FigoFMT_op4H8C4T4D4_FMT4(r32)               _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op4H8C4T4D4_FMT4(r32,v)             _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op4H8C4T4D4_FMT4(r16)               _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4H8C4T4D4_FMT4(r16,v)             _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op4H8C4T4D4                         {\
            UNSG32 uop4H8C4T4D4_D4                             :  4;\
            UNSG32 uop4H8C4T4D4_T4                             :  4;\
            UNSG32 uop4H8C4T4D4_C4                             :  4;\
            UNSG32 uop4H8C4T4D4_H8                             :  8;\
            UNSG32 uop4H8C4T4D4_FMT4                           :  4;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32FigoFMT_op4H8C4T4D4;
            struct w32FigoFMT_op4H8C4T4D4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4I12T4D4_D4(r32)                  _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op4I12T4D4_D4(r32,v)                _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op4I12T4D4_D4(r16)                  _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op4I12T4D4_D4(r16,v)                _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op4I12T4D4_T4(r32)                  _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op4I12T4D4_T4(r32,v)                _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op4I12T4D4_T4(r16)                  _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4I12T4D4_T4(r16,v)                _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op4I12T4D4_I12(r32)                 _BFGET_(r32,19, 8)
    #define   SET32FigoFMT_op4I12T4D4_I12(r32,v)               _BFSET_(r32,19, 8,v)

    #define   GET32FigoFMT_op4I12T4D4_op1(r32)                 _BFGET_(r32,20,20)
    #define   SET32FigoFMT_op4I12T4D4_op1(r32,v)               _BFSET_(r32,20,20,v)
    #define   GET16FigoFMT_op4I12T4D4_op1(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16FigoFMT_op4I12T4D4_op1(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32FigoFMT_op4I12T4D4_FMT3(r32)                _BFGET_(r32,23,21)
    #define   SET32FigoFMT_op4I12T4D4_FMT3(r32,v)              _BFSET_(r32,23,21,v)
    #define   GET16FigoFMT_op4I12T4D4_FMT3(r16)                _BFGET_(r16, 7, 5)
    #define   SET16FigoFMT_op4I12T4D4_FMT3(r16,v)              _BFSET_(r16, 7, 5,v)

    #define     w32FigoFMT_op4I12T4D4                          {\
            UNSG32 uop4I12T4D4_D4                              :  4;\
            UNSG32 uop4I12T4D4_T4                              :  4;\
            UNSG32 uop4I12T4D4_I12                             : 12;\
            UNSG32 uop4I12T4D4_op1                             :  1;\
            UNSG32 uop4I12T4D4_FMT3                            :  3;\
            UNSG32 RSVDx8_b24                                  :  8;\
          }
    union { UNSG32 u32FigoFMT_op4I12T4D4;
            struct w32FigoFMT_op4I12T4D4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4I16D4_D4(r32)                    _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op4I16D4_D4(r32,v)                  _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op4I16D4_D4(r16)                    _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op4I16D4_D4(r16,v)                  _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op4I16D4_I16(r32)                   _BFGET_(r32,19, 4)
    #define   SET32FigoFMT_op4I16D4_I16(r32,v)                 _BFSET_(r32,19, 4,v)

    #define   GET32FigoFMT_op4I16D4_op1(r32)                   _BFGET_(r32,20,20)
    #define   SET32FigoFMT_op4I16D4_op1(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16FigoFMT_op4I16D4_op1(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16FigoFMT_op4I16D4_op1(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32FigoFMT_op4I16D4_FMT3(r32)                  _BFGET_(r32,23,21)
    #define   SET32FigoFMT_op4I16D4_FMT3(r32,v)                _BFSET_(r32,23,21,v)
    #define   GET16FigoFMT_op4I16D4_FMT3(r16)                  _BFGET_(r16, 7, 5)
    #define   SET16FigoFMT_op4I16D4_FMT3(r16,v)                _BFSET_(r16, 7, 5,v)

    #define     w32FigoFMT_op4I16D4                            {\
            UNSG32 uop4I16D4_D4                                :  4;\
            UNSG32 uop4I16D4_I16                               : 16;\
            UNSG32 uop4I16D4_op1                               :  1;\
            UNSG32 uop4I16D4_FMT3                              :  3;\
            UNSG32 RSVDxC_b24                                  :  8;\
          }
    union { UNSG32 u32FigoFMT_op4I16D4;
            struct w32FigoFMT_op4I16D4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4K16T4_K16L(r32)                  _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op4K16T4_K16L(r32,v)                _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op4K16T4_K16L(r16)                  _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op4K16T4_K16L(r16,v)                _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op4K16T4_T4(r32)                    _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op4K16T4_T4(r32,v)                  _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op4K16T4_T4(r16)                    _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4K16T4_T4(r16,v)                  _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op4K16T4_K16H(r32)                  _BFGET_(r32,19, 8)
    #define   SET32FigoFMT_op4K16T4_K16H(r32,v)                _BFSET_(r32,19, 8,v)

    #define   GET32FigoFMT_op4K16T4_FMT4(r32)                  _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op4K16T4_FMT4(r32,v)                _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op4K16T4_FMT4(r16)                  _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4K16T4_FMT4(r16,v)                _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op4K16T4                            {\
            UNSG32 uop4K16T4_K16L                              :  4;\
            UNSG32 uop4K16T4_T4                                :  4;\
            UNSG32 uop4K16T4_K16H                              : 12;\
            UNSG32 uop4K16T4_FMT4                              :  4;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op4K16T4;
            struct w32FigoFMT_op4K16T4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op4H8C4L8_L8(r32)                   _BFGET_(r32, 7, 0)
    #define   SET32FigoFMT_op4H8C4L8_L8(r32,v)                 _BFSET_(r32, 7, 0,v)
    #define   GET16FigoFMT_op4H8C4L8_L8(r16)                   _BFGET_(r16, 7, 0)
    #define   SET16FigoFMT_op4H8C4L8_L8(r16,v)                 _BFSET_(r16, 7, 0,v)

    #define   GET32FigoFMT_op4H8C4L8_C4(r32)                   _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op4H8C4L8_C4(r32,v)                 _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op4H8C4L8_C4(r16)                   _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op4H8C4L8_C4(r16,v)                 _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op4H8C4L8_H8(r32)                   _BFGET_(r32,19,12)
    #define   SET32FigoFMT_op4H8C4L8_H8(r32,v)                 _BFSET_(r32,19,12,v)

    #define   GET32FigoFMT_op4H8C4L8_FMT4(r32)                 _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op4H8C4L8_FMT4(r32,v)               _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op4H8C4L8_FMT4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op4H8C4L8_FMT4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op4H8C4L8                           {\
            UNSG32 uop4H8C4L8_L8                               :  8;\
            UNSG32 uop4H8C4L8_C4                               :  4;\
            UNSG32 uop4H8C4L8_H8                               :  8;\
            UNSG32 uop4H8C4L8_FMT4                             :  4;\
            UNSG32 RSVDx14_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op4H8C4L8;
            struct w32FigoFMT_op4H8C4L8;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op41K16X2_K16L(r32)                 _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op41K16X2_K16L(r32,v)               _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op41K16X2_K16L(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op41K16X2_K16L(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op41K16X2_op1(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32FigoFMT_op41K16X2_op1(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16FigoFMT_op41K16X2_op1(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16FigoFMT_op41K16X2_op1(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32FigoFMT_op41K16X2_X2(r32)                   _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op41K16X2_X2(r32,v)                 _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op41K16X2_X2(r16)                   _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op41K16X2_X2(r16,v)                 _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op41K16X2_K16H(r32)                 _BFGET_(r32,19, 8)
    #define   SET32FigoFMT_op41K16X2_K16H(r32,v)               _BFSET_(r32,19, 8,v)

    #define   GET32FigoFMT_op41K16X2_FMT4(r32)                 _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op41K16X2_FMT4(r32,v)               _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op41K16X2_FMT4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op41K16X2_FMT4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op41K16X2                           {\
            UNSG32 uop41K16X2_K16L                             :  4;\
            UNSG32 uop41K16X2_op1                              :  1;\
            UNSG32 RSVDx18_b5                                  :  1;\
            UNSG32 uop41K16X2_X2                               :  2;\
            UNSG32 uop41K16X2_K16H                             : 12;\
            UNSG32 uop41K16X2_FMT4                             :  4;\
            UNSG32 RSVDx18_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op41K16X2;
            struct w32FigoFMT_op41K16X2;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op42K8S4X2D4_D4(r32)                _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op42K8S4X2D4_D4(r32,v)              _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op42K8S4X2D4_D4(r16)                _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op42K8S4X2D4_D4(r16,v)              _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op42K8S4X2D4_op2(r32)               _BFGET_(r32, 5, 4)
    #define   SET32FigoFMT_op42K8S4X2D4_op2(r32,v)             _BFSET_(r32, 5, 4,v)
    #define   GET16FigoFMT_op42K8S4X2D4_op2(r16)               _BFGET_(r16, 5, 4)
    #define   SET16FigoFMT_op42K8S4X2D4_op2(r16,v)             _BFSET_(r16, 5, 4,v)

    #define   GET32FigoFMT_op42K8S4X2D4_X2(r32)                _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op42K8S4X2D4_X2(r32,v)              _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op42K8S4X2D4_X2(r16)                _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op42K8S4X2D4_X2(r16,v)              _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op42K8S4X2D4_K8L(r32)               _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op42K8S4X2D4_K8L(r32,v)             _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op42K8S4X2D4_K8L(r16)               _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op42K8S4X2D4_K8L(r16,v)             _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op42K8S4X2D4_S4(r32)                _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op42K8S4X2D4_S4(r32,v)              _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op42K8S4X2D4_S4(r16)                _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op42K8S4X2D4_S4(r16,v)              _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op42K8S4X2D4_K8H(r32)               _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op42K8S4X2D4_K8H(r32,v)             _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op42K8S4X2D4_K8H(r16)               _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op42K8S4X2D4_K8H(r16,v)             _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op42K8S4X2D4_FMT4(r32)              _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op42K8S4X2D4_FMT4(r32,v)            _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op42K8S4X2D4_FMT4(r16)              _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op42K8S4X2D4_FMT4(r16,v)            _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op42K8S4X2D4                        {\
            UNSG32 uop42K8S4X2D4_D4                            :  4;\
            UNSG32 uop42K8S4X2D4_op2                           :  2;\
            UNSG32 uop42K8S4X2D4_X2                            :  2;\
            UNSG32 uop42K8S4X2D4_K8L                           :  4;\
            UNSG32 uop42K8S4X2D4_S4                            :  4;\
            UNSG32 uop42K8S4X2D4_K8H                           :  4;\
            UNSG32 uop42K8S4X2D4_FMT4                          :  4;\
            UNSG32 RSVDx1C_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op42K8S4X2D4;
            struct w32FigoFMT_op42K8S4X2D4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op44K8S4T4_op2(r32)                 _BFGET_(r32, 1, 0)
    #define   SET32FigoFMT_op44K8S4T4_op2(r32,v)               _BFSET_(r32, 1, 0,v)
    #define   GET16FigoFMT_op44K8S4T4_op2(r16)                 _BFGET_(r16, 1, 0)
    #define   SET16FigoFMT_op44K8S4T4_op2(r16,v)               _BFSET_(r16, 1, 0,v)

    #define   GET32FigoFMT_op44K8S4T4_FMT2(r32)                _BFGET_(r32, 3, 2)
    #define   SET32FigoFMT_op44K8S4T4_FMT2(r32,v)              _BFSET_(r32, 3, 2,v)
    #define   GET16FigoFMT_op44K8S4T4_FMT2(r16)                _BFGET_(r16, 3, 2)
    #define   SET16FigoFMT_op44K8S4T4_FMT2(r16,v)              _BFSET_(r16, 3, 2,v)

    #define   GET32FigoFMT_op44K8S4T4_T4(r32)                  _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op44K8S4T4_T4(r32,v)                _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op44K8S4T4_T4(r16)                  _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op44K8S4T4_T4(r16,v)                _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op44K8S4T4_K8L(r32)                 _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op44K8S4T4_K8L(r32,v)               _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op44K8S4T4_K8L(r16)                 _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op44K8S4T4_K8L(r16,v)               _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op44K8S4T4_S4(r32)                  _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op44K8S4T4_S4(r32,v)                _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op44K8S4T4_S4(r16)                  _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op44K8S4T4_S4(r16,v)                _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op44K8S4T4_K8H(r32)                 _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op44K8S4T4_K8H(r32,v)               _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op44K8S4T4_K8H(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op44K8S4T4_K8H(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op44K8S4T4_FMT4(r32)                _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op44K8S4T4_FMT4(r32,v)              _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op44K8S4T4_FMT4(r16)                _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op44K8S4T4_FMT4(r16,v)              _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op44K8S4T4                          {\
            UNSG32 uop44K8S4T4_op2                             :  2;\
            UNSG32 uop44K8S4T4_FMT2                            :  2;\
            UNSG32 uop44K8S4T4_T4                              :  4;\
            UNSG32 uop44K8S4T4_K8L                             :  4;\
            UNSG32 uop44K8S4T4_S4                              :  4;\
            UNSG32 uop44K8S4T4_K8H                             :  4;\
            UNSG32 uop44K8S4T4_FMT4                            :  4;\
            UNSG32 RSVDx20_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op44K8S4T4;
            struct w32FigoFMT_op44K8S4T4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op44I12T4_op2(r32)                  _BFGET_(r32, 1, 0)
    #define   SET32FigoFMT_op44I12T4_op2(r32,v)                _BFSET_(r32, 1, 0,v)
    #define   GET16FigoFMT_op44I12T4_op2(r16)                  _BFGET_(r16, 1, 0)
    #define   SET16FigoFMT_op44I12T4_op2(r16,v)                _BFSET_(r16, 1, 0,v)

    #define   GET32FigoFMT_op44I12T4_FMT2(r32)                 _BFGET_(r32, 3, 2)
    #define   SET32FigoFMT_op44I12T4_FMT2(r32,v)               _BFSET_(r32, 3, 2,v)
    #define   GET16FigoFMT_op44I12T4_FMT2(r16)                 _BFGET_(r16, 3, 2)
    #define   SET16FigoFMT_op44I12T4_FMT2(r16,v)               _BFSET_(r16, 3, 2,v)

    #define   GET32FigoFMT_op44I12T4_T4(r32)                   _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op44I12T4_T4(r32,v)                 _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op44I12T4_T4(r16)                   _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op44I12T4_T4(r16,v)                 _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op44I12T4_I12(r32)                  _BFGET_(r32,19, 8)
    #define   SET32FigoFMT_op44I12T4_I12(r32,v)                _BFSET_(r32,19, 8,v)

    #define   GET32FigoFMT_op44I12T4_FMT4(r32)                 _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op44I12T4_FMT4(r32,v)               _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op44I12T4_FMT4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op44I12T4_FMT4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op44I12T4                           {\
            UNSG32 uop44I12T4_op2                              :  2;\
            UNSG32 uop44I12T4_FMT2                             :  2;\
            UNSG32 uop44I12T4_T4                               :  4;\
            UNSG32 uop44I12T4_I12                              : 12;\
            UNSG32 uop44I12T4_FMT4                             :  4;\
            UNSG32 RSVDx24_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op44I12T4;
            struct w32FigoFMT_op44I12T4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op44K8S4X2_op2(r32)                 _BFGET_(r32, 1, 0)
    #define   SET32FigoFMT_op44K8S4X2_op2(r32,v)               _BFSET_(r32, 1, 0,v)
    #define   GET16FigoFMT_op44K8S4X2_op2(r16)                 _BFGET_(r16, 1, 0)
    #define   SET16FigoFMT_op44K8S4X2_op2(r16,v)               _BFSET_(r16, 1, 0,v)

    #define   GET32FigoFMT_op44K8S4X2_FMT2(r32)                _BFGET_(r32, 3, 2)
    #define   SET32FigoFMT_op44K8S4X2_FMT2(r32,v)              _BFSET_(r32, 3, 2,v)
    #define   GET16FigoFMT_op44K8S4X2_FMT2(r16)                _BFGET_(r16, 3, 2)
    #define   SET16FigoFMT_op44K8S4X2_FMT2(r16,v)              _BFSET_(r16, 3, 2,v)

    #define   GET32FigoFMT_op44K8S4X2_X2(r32)                  _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op44K8S4X2_X2(r32,v)                _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op44K8S4X2_X2(r16)                  _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op44K8S4X2_X2(r16,v)                _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op44K8S4X2_K8L(r32)                 _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op44K8S4X2_K8L(r32,v)               _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op44K8S4X2_K8L(r16)                 _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op44K8S4X2_K8L(r16,v)               _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op44K8S4X2_S4(r32)                  _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op44K8S4X2_S4(r32,v)                _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op44K8S4X2_S4(r16)                  _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op44K8S4X2_S4(r16,v)                _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op44K8S4X2_K8H(r32)                 _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op44K8S4X2_K8H(r32,v)               _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op44K8S4X2_K8H(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op44K8S4X2_K8H(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op44K8S4X2_FMT4(r32)                _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op44K8S4X2_FMT4(r32,v)              _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op44K8S4X2_FMT4(r16)                _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op44K8S4X2_FMT4(r16,v)              _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op44K8S4X2                          {\
            UNSG32 uop44K8S4X2_op2                             :  2;\
            UNSG32 uop44K8S4X2_FMT2                            :  2;\
            UNSG32 RSVDx28_b4                                  :  2;\
            UNSG32 uop44K8S4X2_X2                              :  2;\
            UNSG32 uop44K8S4X2_K8L                             :  4;\
            UNSG32 uop44K8S4X2_S4                              :  4;\
            UNSG32 uop44K8S4X2_K8H                             :  4;\
            UNSG32 uop44K8S4X2_FMT4                            :  4;\
            UNSG32 RSVDx28_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op44K8S4X2;
            struct w32FigoFMT_op44K8S4X2;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op42K8S4Q6_Q6(r32)                  _BFGET_(r32, 5, 0)
    #define   SET32FigoFMT_op42K8S4Q6_Q6(r32,v)                _BFSET_(r32, 5, 0,v)
    #define   GET16FigoFMT_op42K8S4Q6_Q6(r16)                  _BFGET_(r16, 5, 0)
    #define   SET16FigoFMT_op42K8S4Q6_Q6(r16,v)                _BFSET_(r16, 5, 0,v)

    #define   GET32FigoFMT_op42K8S4Q6_op2(r32)                 _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op42K8S4Q6_op2(r32,v)               _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op42K8S4Q6_op2(r16)                 _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op42K8S4Q6_op2(r16,v)               _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op42K8S4Q6_K8L(r32)                 _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op42K8S4Q6_K8L(r32,v)               _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op42K8S4Q6_K8L(r16)                 _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op42K8S4Q6_K8L(r16,v)               _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op42K8S4Q6_S4(r32)                  _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op42K8S4Q6_S4(r32,v)                _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op42K8S4Q6_S4(r16)                  _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op42K8S4Q6_S4(r16,v)                _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op42K8S4Q6_K8H(r32)                 _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op42K8S4Q6_K8H(r32,v)               _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op42K8S4Q6_K8H(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op42K8S4Q6_K8H(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op42K8S4Q6_FMT4(r32)                _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op42K8S4Q6_FMT4(r32,v)              _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op42K8S4Q6_FMT4(r16)                _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op42K8S4Q6_FMT4(r16,v)              _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op42K8S4Q6                          {\
            UNSG32 uop42K8S4Q6_Q6                              :  6;\
            UNSG32 uop42K8S4Q6_op2                             :  2;\
            UNSG32 uop42K8S4Q6_K8L                             :  4;\
            UNSG32 uop42K8S4Q6_S4                              :  4;\
            UNSG32 uop42K8S4Q6_K8H                             :  4;\
            UNSG32 uop42K8S4Q6_FMT4                            :  4;\
            UNSG32 RSVDx2C_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op42K8S4Q6;
            struct w32FigoFMT_op42K8S4Q6;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op8S8X2Q6_Q6(r32)                   _BFGET_(r32, 5, 0)
    #define   SET32FigoFMT_op8S8X2Q6_Q6(r32,v)                 _BFSET_(r32, 5, 0,v)
    #define   GET16FigoFMT_op8S8X2Q6_Q6(r16)                   _BFGET_(r16, 5, 0)
    #define   SET16FigoFMT_op8S8X2Q6_Q6(r16,v)                 _BFSET_(r16, 5, 0,v)

    #define   GET32FigoFMT_op8S8X2Q6_X2(r32)                   _BFGET_(r32, 7, 6)
    #define   SET32FigoFMT_op8S8X2Q6_X2(r32,v)                 _BFSET_(r32, 7, 6,v)
    #define   GET16FigoFMT_op8S8X2Q6_X2(r16)                   _BFGET_(r16, 7, 6)
    #define   SET16FigoFMT_op8S8X2Q6_X2(r16,v)                 _BFSET_(r16, 7, 6,v)

    #define   GET32FigoFMT_op8S8X2Q6_S4(r32)                   _BFGET_(r32,15, 8)
    #define   SET32FigoFMT_op8S8X2Q6_S4(r32,v)                 _BFSET_(r32,15, 8,v)
    #define   GET16FigoFMT_op8S8X2Q6_S4(r16)                   _BFGET_(r16,15, 8)
    #define   SET16FigoFMT_op8S8X2Q6_S4(r16,v)                 _BFSET_(r16,15, 8,v)

    #define   GET32FigoFMT_op8S8X2Q6_op2(r32)                  _BFGET_(r32,17,16)
    #define   SET32FigoFMT_op8S8X2Q6_op2(r32,v)                _BFSET_(r32,17,16,v)
    #define   GET16FigoFMT_op8S8X2Q6_op2(r16)                  _BFGET_(r16, 1, 0)
    #define   SET16FigoFMT_op8S8X2Q6_op2(r16,v)                _BFSET_(r16, 1, 0,v)

    #define   GET32FigoFMT_op8S8X2Q6_FMT6(r32)                 _BFGET_(r32,23,18)
    #define   SET32FigoFMT_op8S8X2Q6_FMT6(r32,v)               _BFSET_(r32,23,18,v)
    #define   GET16FigoFMT_op8S8X2Q6_FMT6(r16)                 _BFGET_(r16, 7, 2)
    #define   SET16FigoFMT_op8S8X2Q6_FMT6(r16,v)               _BFSET_(r16, 7, 2,v)

    #define     w32FigoFMT_op8S8X2Q6                           {\
            UNSG32 uop8S8X2Q6_Q6                               :  6;\
            UNSG32 uop8S8X2Q6_X2                               :  2;\
            UNSG32 uop8S8X2Q6_S4                               :  8;\
            UNSG32 uop8S8X2Q6_op2                              :  2;\
            UNSG32 uop8S8X2Q6_FMT6                             :  6;\
            UNSG32 RSVDx30_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op8S8X2Q6;
            struct w32FigoFMT_op8S8X2Q6;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op8S4C4L8_L8(r32)                   _BFGET_(r32, 7, 0)
    #define   SET32FigoFMT_op8S4C4L8_L8(r32,v)                 _BFSET_(r32, 7, 0,v)
    #define   GET16FigoFMT_op8S4C4L8_L8(r16)                   _BFGET_(r16, 7, 0)
    #define   SET16FigoFMT_op8S4C4L8_L8(r16,v)                 _BFSET_(r16, 7, 0,v)

    #define   GET32FigoFMT_op8S4C4L8_C4(r32)                   _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op8S4C4L8_C4(r32,v)                 _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op8S4C4L8_C4(r16)                   _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op8S4C4L8_C4(r16,v)                 _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op8S4C4L8_S4(r32)                   _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op8S4C4L8_S4(r32,v)                 _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op8S4C4L8_S4(r16)                   _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op8S4C4L8_S4(r16,v)                 _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op8S4C4L8_op2(r32)                  _BFGET_(r32,17,16)
    #define   SET32FigoFMT_op8S4C4L8_op2(r32,v)                _BFSET_(r32,17,16,v)
    #define   GET16FigoFMT_op8S4C4L8_op2(r16)                  _BFGET_(r16, 1, 0)
    #define   SET16FigoFMT_op8S4C4L8_op2(r16,v)                _BFSET_(r16, 1, 0,v)

    #define   GET32FigoFMT_op8S4C4L8_FMT6(r32)                 _BFGET_(r32,23,18)
    #define   SET32FigoFMT_op8S4C4L8_FMT6(r32,v)               _BFSET_(r32,23,18,v)
    #define   GET16FigoFMT_op8S4C4L8_FMT6(r16)                 _BFGET_(r16, 7, 2)
    #define   SET16FigoFMT_op8S4C4L8_FMT6(r16,v)               _BFSET_(r16, 7, 2,v)

    #define     w32FigoFMT_op8S4C4L8                           {\
            UNSG32 uop8S4C4L8_L8                               :  8;\
            UNSG32 uop8S4C4L8_C4                               :  4;\
            UNSG32 uop8S4C4L8_S4                               :  4;\
            UNSG32 uop8S4C4L8_op2                              :  2;\
            UNSG32 uop8S4C4L8_FMT6                             :  6;\
            UNSG32 RSVDx34_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op8S4C4L8;
            struct w32FigoFMT_op8S4C4L8;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op8S4I8D4_D4(r32)                   _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op8S4I8D4_D4(r32,v)                 _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op8S4I8D4_D4(r16)                   _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op8S4I8D4_D4(r16,v)                 _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op8S4I8D4_I8(r32)                   _BFGET_(r32,11, 4)
    #define   SET32FigoFMT_op8S4I8D4_I8(r32,v)                 _BFSET_(r32,11, 4,v)
    #define   GET16FigoFMT_op8S4I8D4_I8(r16)                   _BFGET_(r16,11, 4)
    #define   SET16FigoFMT_op8S4I8D4_I8(r16,v)                 _BFSET_(r16,11, 4,v)

    #define   GET32FigoFMT_op8S4I8D4_S4(r32)                   _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op8S4I8D4_S4(r32,v)                 _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op8S4I8D4_S4(r16)                   _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op8S4I8D4_S4(r16,v)                 _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op8S4I8D4_op4(r32)                  _BFGET_(r32,19,16)
    #define   SET32FigoFMT_op8S4I8D4_op4(r32,v)                _BFSET_(r32,19,16,v)
    #define   GET16FigoFMT_op8S4I8D4_op4(r16)                  _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op8S4I8D4_op4(r16,v)                _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op8S4I8D4_FMT4(r32)                 _BFGET_(r32,23,20)
    #define   SET32FigoFMT_op8S4I8D4_FMT4(r32,v)               _BFSET_(r32,23,20,v)
    #define   GET16FigoFMT_op8S4I8D4_FMT4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op8S4I8D4_FMT4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define     w32FigoFMT_op8S4I8D4                           {\
            UNSG32 uop8S4I8D4_D4                               :  4;\
            UNSG32 uop8S4I8D4_I8                               :  8;\
            UNSG32 uop8S4I8D4_S4                               :  4;\
            UNSG32 uop8S4I8D4_op4                              :  4;\
            UNSG32 uop8S4I8D4_FMT4                             :  4;\
            UNSG32 RSVDx38_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op8S4I8D4;
            struct w32FigoFMT_op8S4I8D4;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32FigoFMT_op8S4C4T4D4_D4(r32)                 _BFGET_(r32, 3, 0)
    #define   SET32FigoFMT_op8S4C4T4D4_D4(r32,v)               _BFSET_(r32, 3, 0,v)
    #define   GET16FigoFMT_op8S4C4T4D4_D4(r16)                 _BFGET_(r16, 3, 0)
    #define   SET16FigoFMT_op8S4C4T4D4_D4(r16,v)               _BFSET_(r16, 3, 0,v)

    #define   GET32FigoFMT_op8S4C4T4D4_T4(r32)                 _BFGET_(r32, 7, 4)
    #define   SET32FigoFMT_op8S4C4T4D4_T4(r32,v)               _BFSET_(r32, 7, 4,v)
    #define   GET16FigoFMT_op8S4C4T4D4_T4(r16)                 _BFGET_(r16, 7, 4)
    #define   SET16FigoFMT_op8S4C4T4D4_T4(r16,v)               _BFSET_(r16, 7, 4,v)

    #define   GET32FigoFMT_op8S4C4T4D4_C4(r32)                 _BFGET_(r32,11, 8)
    #define   SET32FigoFMT_op8S4C4T4D4_C4(r32,v)               _BFSET_(r32,11, 8,v)
    #define   GET16FigoFMT_op8S4C4T4D4_C4(r16)                 _BFGET_(r16,11, 8)
    #define   SET16FigoFMT_op8S4C4T4D4_C4(r16,v)               _BFSET_(r16,11, 8,v)

    #define   GET32FigoFMT_op8S4C4T4D4_S4(r32)                 _BFGET_(r32,15,12)
    #define   SET32FigoFMT_op8S4C4T4D4_S4(r32,v)               _BFSET_(r32,15,12,v)
    #define   GET16FigoFMT_op8S4C4T4D4_S4(r16)                 _BFGET_(r16,15,12)
    #define   SET16FigoFMT_op8S4C4T4D4_S4(r16,v)               _BFSET_(r16,15,12,v)

    #define   GET32FigoFMT_op8S4C4T4D4_op5(r32)                _BFGET_(r32,20,16)
    #define   SET32FigoFMT_op8S4C4T4D4_op5(r32,v)              _BFSET_(r32,20,16,v)
    #define   GET16FigoFMT_op8S4C4T4D4_op5(r16)                _BFGET_(r16, 4, 0)
    #define   SET16FigoFMT_op8S4C4T4D4_op5(r16,v)              _BFSET_(r16, 4, 0,v)

    #define   GET32FigoFMT_op8S4C4T4D4_FMT3(r32)               _BFGET_(r32,23,21)
    #define   SET32FigoFMT_op8S4C4T4D4_FMT3(r32,v)             _BFSET_(r32,23,21,v)
    #define   GET16FigoFMT_op8S4C4T4D4_FMT3(r16)               _BFGET_(r16, 7, 5)
    #define   SET16FigoFMT_op8S4C4T4D4_FMT3(r16,v)             _BFSET_(r16, 7, 5,v)

    #define     w32FigoFMT_op8S4C4T4D4                         {\
            UNSG32 uop8S4C4T4D4_D4                             :  4;\
            UNSG32 uop8S4C4T4D4_T4                             :  4;\
            UNSG32 uop8S4C4T4D4_C4                             :  4;\
            UNSG32 uop8S4C4T4D4_S4                             :  4;\
            UNSG32 uop8S4C4T4D4_op5                            :  5;\
            UNSG32 uop8S4C4T4D4_FMT3                           :  3;\
            UNSG32 RSVDx3C_b24                                 :  8;\
          }
    union { UNSG32 u32FigoFMT_op8S4C4T4D4;
            struct w32FigoFMT_op8S4C4T4D4;
          };
    ///////////////////////////////////////////////////////////
    } SIE_FigoFMT;

    typedef union  T32FigoFMT_op4K8S4X2Q6
          { UNSG32 u32;
            struct w32FigoFMT_op4K8S4X2Q6;
                 } T32FigoFMT_op4K8S4X2Q6;
    typedef union  T32FigoFMT_op4H8C4T4D4
          { UNSG32 u32;
            struct w32FigoFMT_op4H8C4T4D4;
                 } T32FigoFMT_op4H8C4T4D4;
    typedef union  T32FigoFMT_op4I12T4D4
          { UNSG32 u32;
            struct w32FigoFMT_op4I12T4D4;
                 } T32FigoFMT_op4I12T4D4;
    typedef union  T32FigoFMT_op4I16D4
          { UNSG32 u32;
            struct w32FigoFMT_op4I16D4;
                 } T32FigoFMT_op4I16D4;
    typedef union  T32FigoFMT_op4K16T4
          { UNSG32 u32;
            struct w32FigoFMT_op4K16T4;
                 } T32FigoFMT_op4K16T4;
    typedef union  T32FigoFMT_op4H8C4L8
          { UNSG32 u32;
            struct w32FigoFMT_op4H8C4L8;
                 } T32FigoFMT_op4H8C4L8;
    typedef union  T32FigoFMT_op41K16X2
          { UNSG32 u32;
            struct w32FigoFMT_op41K16X2;
                 } T32FigoFMT_op41K16X2;
    typedef union  T32FigoFMT_op42K8S4X2D4
          { UNSG32 u32;
            struct w32FigoFMT_op42K8S4X2D4;
                 } T32FigoFMT_op42K8S4X2D4;
    typedef union  T32FigoFMT_op44K8S4T4
          { UNSG32 u32;
            struct w32FigoFMT_op44K8S4T4;
                 } T32FigoFMT_op44K8S4T4;
    typedef union  T32FigoFMT_op44I12T4
          { UNSG32 u32;
            struct w32FigoFMT_op44I12T4;
                 } T32FigoFMT_op44I12T4;
    typedef union  T32FigoFMT_op44K8S4X2
          { UNSG32 u32;
            struct w32FigoFMT_op44K8S4X2;
                 } T32FigoFMT_op44K8S4X2;
    typedef union  T32FigoFMT_op42K8S4Q6
          { UNSG32 u32;
            struct w32FigoFMT_op42K8S4Q6;
                 } T32FigoFMT_op42K8S4Q6;
    typedef union  T32FigoFMT_op8S8X2Q6
          { UNSG32 u32;
            struct w32FigoFMT_op8S8X2Q6;
                 } T32FigoFMT_op8S8X2Q6;
    typedef union  T32FigoFMT_op8S4C4L8
          { UNSG32 u32;
            struct w32FigoFMT_op8S4C4L8;
                 } T32FigoFMT_op8S4C4L8;
    typedef union  T32FigoFMT_op8S4I8D4
          { UNSG32 u32;
            struct w32FigoFMT_op8S4I8D4;
                 } T32FigoFMT_op8S4I8D4;
    typedef union  T32FigoFMT_op8S4C4T4D4
          { UNSG32 u32;
            struct w32FigoFMT_op8S4C4T4D4;
                 } T32FigoFMT_op8S4C4T4D4;
    ///////////////////////////////////////////////////////////

    typedef union  TFigoFMT_op4K8S4X2Q6
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4K8S4X2Q6;
                   };
                 } TFigoFMT_op4K8S4X2Q6;
    typedef union  TFigoFMT_op4H8C4T4D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4H8C4T4D4;
                   };
                 } TFigoFMT_op4H8C4T4D4;
    typedef union  TFigoFMT_op4I12T4D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4I12T4D4;
                   };
                 } TFigoFMT_op4I12T4D4;
    typedef union  TFigoFMT_op4I16D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4I16D4;
                   };
                 } TFigoFMT_op4I16D4;
    typedef union  TFigoFMT_op4K16T4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4K16T4;
                   };
                 } TFigoFMT_op4K16T4;
    typedef union  TFigoFMT_op4H8C4L8
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op4H8C4L8;
                   };
                 } TFigoFMT_op4H8C4L8;
    typedef union  TFigoFMT_op41K16X2
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op41K16X2;
                   };
                 } TFigoFMT_op41K16X2;
    typedef union  TFigoFMT_op42K8S4X2D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op42K8S4X2D4;
                   };
                 } TFigoFMT_op42K8S4X2D4;
    typedef union  TFigoFMT_op44K8S4T4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op44K8S4T4;
                   };
                 } TFigoFMT_op44K8S4T4;
    typedef union  TFigoFMT_op44I12T4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op44I12T4;
                   };
                 } TFigoFMT_op44I12T4;
    typedef union  TFigoFMT_op44K8S4X2
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op44K8S4X2;
                   };
                 } TFigoFMT_op44K8S4X2;
    typedef union  TFigoFMT_op42K8S4Q6
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op42K8S4Q6;
                   };
                 } TFigoFMT_op42K8S4Q6;
    typedef union  TFigoFMT_op8S8X2Q6
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op8S8X2Q6;
                   };
                 } TFigoFMT_op8S8X2Q6;
    typedef union  TFigoFMT_op8S4C4L8
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op8S4C4L8;
                   };
                 } TFigoFMT_op8S4C4L8;
    typedef union  TFigoFMT_op8S4I8D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op8S4I8D4;
                   };
                 } TFigoFMT_op8S4I8D4;
    typedef union  TFigoFMT_op8S4C4T4D4
          { UNSG32 u32[1];
            struct {
            struct w32FigoFMT_op8S4C4T4D4;
                   };
                 } TFigoFMT_op8S4C4T4D4;

    ///////////////////////////////////////////////////////////
     SIGN32 FigoFMT_drvrd(SIE_FigoFMT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 FigoFMT_drvwr(SIE_FigoFMT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void FigoFMT_reset(SIE_FigoFMT *p);
     SIGN32 FigoFMT_cmp  (SIE_FigoFMT *p, SIE_FigoFMT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define FigoFMT_check(p,pie,pfx,hLOG) FigoFMT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define FigoFMT_print(p,    pfx,hLOG) FigoFMT_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: FigoFMT
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_PREJ                                 (4,4)
///     ###
///     * Conditional short pre-jump setup.
///     * Usually used after a comparison instruction.
///     * Branch position must be at least 4 steps later.
///     * Destination jump address must be in a range of [-128,127] to current PC.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x800000
///                                    ###
///                                    * -                                                                 
///                                    * - { "PREJ"    , "C,B,A"       , "1000 AAAA AAAA CCCC BBBB BBBB" } ,
///                                    * - Usage:
///                                    * -    CMP.i    1, %a2          ; BOOL jmp = (1 == %a2);
///                                    * -    PREJ     `EQ, .br, Case1
///                                    * -    ...                      ; 
///                                    * - .br:                        ; if(jmp) goto Case1;
///                                    * -    ...
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       0x1
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       0x1
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    0x1
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_PREJ
#define h_ISA_PREJ (){}

    #define     RA_ISA_PREJ_Mask                               0x0000

    #define     BA_ISA_PREJ_Mask_INS                           0x0000
    #define     B16ISA_PREJ_Mask_INS                           0x0000
    #define   LSb32ISA_PREJ_Mask_INS                              0
    #define   LSb16ISA_PREJ_Mask_INS                              0
    #define       bISA_PREJ_Mask_INS                           24
    #define   MSK32ISA_PREJ_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_Opcode                             0x0004

    #define     BA_ISA_PREJ_Opcode_INS                         0x0004
    #define     B16ISA_PREJ_Opcode_INS                         0x0004
    #define   LSb32ISA_PREJ_Opcode_INS                            0
    #define   LSb16ISA_PREJ_Opcode_INS                            0
    #define       bISA_PREJ_Opcode_INS                         24
    #define   MSK32ISA_PREJ_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_ID                                 0x0008

    #define     BA_ISA_PREJ_ID_RBRF                            0x0008
    #define     B16ISA_PREJ_ID_RBRF                            0x0008
    #define   LSb32ISA_PREJ_ID_RBRF                               0
    #define   LSb16ISA_PREJ_ID_RBRF                               0
    #define       bISA_PREJ_ID_RBRF                            1
    #define   MSK32ISA_PREJ_ID_RBRF                               0x00000001

    #define     BA_ISA_PREJ_ID_RARF                            0x0008
    #define     B16ISA_PREJ_ID_RARF                            0x0008
    #define   LSb32ISA_PREJ_ID_RARF                               1
    #define   LSb16ISA_PREJ_ID_RARF                               1
    #define       bISA_PREJ_ID_RARF                            1
    #define   MSK32ISA_PREJ_ID_RARF                               0x00000002

    #define     BA_ISA_PREJ_ID_RAK8                            0x0008
    #define     B16ISA_PREJ_ID_RAK8                            0x0008
    #define   LSb32ISA_PREJ_ID_RAK8                               2
    #define   LSb16ISA_PREJ_ID_RAK8                               2
    #define       bISA_PREJ_ID_RAK8                            1
    #define   MSK32ISA_PREJ_ID_RAK8                               0x00000004

    #define     BA_ISA_PREJ_ID_RAI16                           0x0008
    #define     B16ISA_PREJ_ID_RAI16                           0x0008
    #define   LSb32ISA_PREJ_ID_RAI16                              3
    #define   LSb16ISA_PREJ_ID_RAI16                              3
    #define       bISA_PREJ_ID_RAI16                           1
    #define   MSK32ISA_PREJ_ID_RAI16                              0x00000008

    #define     BA_ISA_PREJ_ID_RAK16                           0x0008
    #define     B16ISA_PREJ_ID_RAK16                           0x0008
    #define   LSb32ISA_PREJ_ID_RAK16                              4
    #define   LSb16ISA_PREJ_ID_RAK16                              4
    #define       bISA_PREJ_ID_RAK16                           1
    #define   MSK32ISA_PREJ_ID_RAK16                              0x00000010

    #define     BA_ISA_PREJ_ID_RFSP                            0x0008
    #define     B16ISA_PREJ_ID_RFSP                            0x0008
    #define   LSb32ISA_PREJ_ID_RFSP                               5
    #define   LSb16ISA_PREJ_ID_RFSP                               5
    #define       bISA_PREJ_ID_RFSP                            1
    #define   MSK32ISA_PREJ_ID_RFSP                               0x00000020

    #define     BA_ISA_PREJ_ID_W4D4                            0x0008
    #define     B16ISA_PREJ_ID_W4D4                            0x0008
    #define   LSb32ISA_PREJ_ID_W4D4                               6
    #define   LSb16ISA_PREJ_ID_W4D4                               6
    #define       bISA_PREJ_ID_W4D4                            1
    #define   MSK32ISA_PREJ_ID_W4D4                               0x00000040

    #define     BA_ISA_PREJ_ID_W4S4                            0x0008
    #define     B16ISA_PREJ_ID_W4S4                            0x0008
    #define   LSb32ISA_PREJ_ID_W4S4                               7
    #define   LSb16ISA_PREJ_ID_W4S4                               7
    #define       bISA_PREJ_ID_W4S4                            1
    #define   MSK32ISA_PREJ_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_LD                                 0x000C

    #define     BA_ISA_PREJ_LD_SPRF                            0x000C
    #define     B16ISA_PREJ_LD_SPRF                            0x000C
    #define   LSb32ISA_PREJ_LD_SPRF                               0
    #define   LSb16ISA_PREJ_LD_SPRF                               0
    #define       bISA_PREJ_LD_SPRF                            1
    #define   MSK32ISA_PREJ_LD_SPRF                               0x00000001

    #define     BA_ISA_PREJ_LD_SPK8                            0x000C
    #define     B16ISA_PREJ_LD_SPK8                            0x000C
    #define   LSb32ISA_PREJ_LD_SPK8                               1
    #define   LSb16ISA_PREJ_LD_SPK8                               1
    #define       bISA_PREJ_LD_SPK8                            1
    #define   MSK32ISA_PREJ_LD_SPK8                               0x00000002

    #define     BA_ISA_PREJ_LD_SPJ                             0x000C
    #define     B16ISA_PREJ_LD_SPJ                             0x000C
    #define   LSb32ISA_PREJ_LD_SPJ                                2
    #define   LSb16ISA_PREJ_LD_SPJ                                2
    #define       bISA_PREJ_LD_SPJ                             1
    #define   MSK32ISA_PREJ_LD_SPJ                                0x00000004

    #define     BA_ISA_PREJ_LD_SP4S                            0x000C
    #define     B16ISA_PREJ_LD_SP4S                            0x000C
    #define   LSb32ISA_PREJ_LD_SP4S                               3
    #define   LSb16ISA_PREJ_LD_SP4S                               3
    #define       bISA_PREJ_LD_SP4S                            1
    #define   MSK32ISA_PREJ_LD_SP4S                               0x00000008

    #define     BA_ISA_PREJ_LD_SP8S                            0x000C
    #define     B16ISA_PREJ_LD_SP8S                            0x000C
    #define   LSb32ISA_PREJ_LD_SP8S                               4
    #define   LSb16ISA_PREJ_LD_SP8S                               4
    #define       bISA_PREJ_LD_SP8S                            1
    #define   MSK32ISA_PREJ_LD_SP8S                               0x00000010

    #define     BA_ISA_PREJ_LD_SP8U                            0x000C
    #define     B16ISA_PREJ_LD_SP8U                            0x000C
    #define   LSb32ISA_PREJ_LD_SP8U                               5
    #define   LSb16ISA_PREJ_LD_SP8U                               5
    #define       bISA_PREJ_LD_SP8U                            1
    #define   MSK32ISA_PREJ_LD_SP8U                               0x00000020

    #define     BA_ISA_PREJ_LD_SP12S                           0x000C
    #define     B16ISA_PREJ_LD_SP12S                           0x000C
    #define   LSb32ISA_PREJ_LD_SP12S                              6
    #define   LSb16ISA_PREJ_LD_SP12S                              6
    #define       bISA_PREJ_LD_SP12S                           1
    #define   MSK32ISA_PREJ_LD_SP12S                              0x00000040

    #define     BA_ISA_PREJ_LD_SP16                            0x000C
    #define     B16ISA_PREJ_LD_SP16                            0x000C
    #define   LSb32ISA_PREJ_LD_SP16                               7
    #define   LSb16ISA_PREJ_LD_SP16                               7
    #define       bISA_PREJ_LD_SP16                            1
    #define   MSK32ISA_PREJ_LD_SP16                               0x00000080

    #define     BA_ISA_PREJ_LD_TPRF                            0x000D
    #define     B16ISA_PREJ_LD_TPRF                            0x000C
    #define   LSb32ISA_PREJ_LD_TPRF                               8
    #define   LSb16ISA_PREJ_LD_TPRF                               8
    #define       bISA_PREJ_LD_TPRF                            1
    #define   MSK32ISA_PREJ_LD_TPRF                               0x00000100

    #define     BA_ISA_PREJ_LD_TPJ                             0x000D
    #define     B16ISA_PREJ_LD_TPJ                             0x000C
    #define   LSb32ISA_PREJ_LD_TPJ                                9
    #define   LSb16ISA_PREJ_LD_TPJ                                9
    #define       bISA_PREJ_LD_TPJ                             1
    #define   MSK32ISA_PREJ_LD_TPJ                                0x00000200

    #define     BA_ISA_PREJ_LD_TP4S                            0x000D
    #define     B16ISA_PREJ_LD_TP4S                            0x000C
    #define   LSb32ISA_PREJ_LD_TP4S                               10
    #define   LSb16ISA_PREJ_LD_TP4S                               10
    #define       bISA_PREJ_LD_TP4S                            1
    #define   MSK32ISA_PREJ_LD_TP4S                               0x00000400

    #define     BA_ISA_PREJ_LD_TP8L                            0x000D
    #define     B16ISA_PREJ_LD_TP8L                            0x000C
    #define   LSb32ISA_PREJ_LD_TP8L                               11
    #define   LSb16ISA_PREJ_LD_TP8L                               11
    #define       bISA_PREJ_LD_TP8L                            1
    #define   MSK32ISA_PREJ_LD_TP8L                               0x00000800

    #define     BA_ISA_PREJ_LD_TP8H                            0x000D
    #define     B16ISA_PREJ_LD_TP8H                            0x000C
    #define   LSb32ISA_PREJ_LD_TP8H                               12
    #define   LSb16ISA_PREJ_LD_TP8H                               12
    #define       bISA_PREJ_LD_TP8H                            1
    #define   MSK32ISA_PREJ_LD_TP8H                               0x00001000

    #define     BA_ISA_PREJ_LD_TP8LF                           0x000D
    #define     B16ISA_PREJ_LD_TP8LF                           0x000C
    #define   LSb32ISA_PREJ_LD_TP8LF                              13
    #define   LSb16ISA_PREJ_LD_TP8LF                              13
    #define       bISA_PREJ_LD_TP8LF                           1
    #define   MSK32ISA_PREJ_LD_TP8LF                              0x00002000

    #define     BA_ISA_PREJ_LD_TP8HF                           0x000D
    #define     B16ISA_PREJ_LD_TP8HF                           0x000C
    #define   LSb32ISA_PREJ_LD_TP8HF                              14
    #define   LSb16ISA_PREJ_LD_TP8HF                              14
    #define       bISA_PREJ_LD_TP8HF                           1
    #define   MSK32ISA_PREJ_LD_TP8HF                              0x00004000

    #define     BA_ISA_PREJ_LD_SQRF64                          0x000D
    #define     B16ISA_PREJ_LD_SQRF64                          0x000C
    #define   LSb32ISA_PREJ_LD_SQRF64                             15
    #define   LSb16ISA_PREJ_LD_SQRF64                             15
    #define       bISA_PREJ_LD_SQRF64                          1
    #define   MSK32ISA_PREJ_LD_SQRF64                             0x00008000

    #define     BA_ISA_PREJ_LD_TQRF16Q                         0x000E
    #define     B16ISA_PREJ_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_PREJ_LD_TQRF16Q                            16
    #define   LSb16ISA_PREJ_LD_TQRF16Q                            0
    #define       bISA_PREJ_LD_TQRF16Q                         1
    #define   MSK32ISA_PREJ_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_PREJ_LD_TQRFx4                          0x000E
    #define     B16ISA_PREJ_LD_TQRFx4                          0x000E
    #define   LSb32ISA_PREJ_LD_TQRFx4                             17
    #define   LSb16ISA_PREJ_LD_TQRFx4                             1
    #define       bISA_PREJ_LD_TQRFx4                          1
    #define   MSK32ISA_PREJ_LD_TQRFx4                             0x00020000

    #define     BA_ISA_PREJ_LD_RD                              0x000E
    #define     B16ISA_PREJ_LD_RD                              0x000E
    #define   LSb32ISA_PREJ_LD_RD                                 18
    #define   LSb16ISA_PREJ_LD_RD                                 2
    #define       bISA_PREJ_LD_RD                              1
    #define   MSK32ISA_PREJ_LD_RD                                 0x00040000

    #define     BA_ISA_PREJ_LD_WARF                            0x000E
    #define     B16ISA_PREJ_LD_WARF                            0x000E
    #define   LSb32ISA_PREJ_LD_WARF                               19
    #define   LSb16ISA_PREJ_LD_WARF                               3
    #define       bISA_PREJ_LD_WARF                            1
    #define   MSK32ISA_PREJ_LD_WARF                               0x00080000

    #define     BA_ISA_PREJ_LD_WAK8                            0x000E
    #define     B16ISA_PREJ_LD_WAK8                            0x000E
    #define   LSb32ISA_PREJ_LD_WAK8                               20
    #define   LSb16ISA_PREJ_LD_WAK8                               4
    #define       bISA_PREJ_LD_WAK8                            1
    #define   MSK32ISA_PREJ_LD_WAK8                               0x00100000

    #define     BA_ISA_PREJ_LD_WAK16                           0x000E
    #define     B16ISA_PREJ_LD_WAK16                           0x000E
    #define   LSb32ISA_PREJ_LD_WAK16                              21
    #define   LSb16ISA_PREJ_LD_WAK16                              5
    #define       bISA_PREJ_LD_WAK16                           1
    #define   MSK32ISA_PREJ_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_EX                                 0x0010

    #define     BA_ISA_PREJ_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagZ                         0
    #define   LSb16ISA_PREJ_EX_ALU16FlagZ                         0
    #define       bISA_PREJ_EX_ALU16FlagZ                      1
    #define   MSK32ISA_PREJ_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_PREJ_EX_ALU16FlagC                      0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagC                         1
    #define   LSb16ISA_PREJ_EX_ALU16FlagC                         1
    #define       bISA_PREJ_EX_ALU16FlagC                      1
    #define   MSK32ISA_PREJ_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_PREJ_EX_ALU16FlagN                      0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagN                         2
    #define   LSb16ISA_PREJ_EX_ALU16FlagN                         2
    #define       bISA_PREJ_EX_ALU16FlagN                      1
    #define   MSK32ISA_PREJ_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_PREJ_EX_ALU16FlagV                      0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagV                         3
    #define   LSb16ISA_PREJ_EX_ALU16FlagV                         3
    #define       bISA_PREJ_EX_ALU16FlagV                      1
    #define   MSK32ISA_PREJ_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_PREJ_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagTP                        4
    #define   LSb16ISA_PREJ_EX_ALU16FlagTP                        4
    #define       bISA_PREJ_EX_ALU16FlagTP                     1
    #define   MSK32ISA_PREJ_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_PREJ_EX_ALU16MUL                        0x0010
    #define     B16ISA_PREJ_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16MUL                           5
    #define   LSb16ISA_PREJ_EX_ALU16MUL                           5
    #define       bISA_PREJ_EX_ALU16MUL                        1
    #define   MSK32ISA_PREJ_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_PREJ_EX_ALU16DIV                        0x0010
    #define     B16ISA_PREJ_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16DIV                           6
    #define   LSb16ISA_PREJ_EX_ALU16DIV                           6
    #define       bISA_PREJ_EX_ALU16DIV                        1
    #define   MSK32ISA_PREJ_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_PREJ_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_PREJ_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_PREJ_EX_ALU16FlagLD                        7
    #define   LSb16ISA_PREJ_EX_ALU16FlagLD                        7
    #define       bISA_PREJ_EX_ALU16FlagLD                     1
    #define   MSK32ISA_PREJ_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_PREJ_EX_ALU16MDL                        0x0011
    #define     B16ISA_PREJ_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16MDL                           8
    #define   LSb16ISA_PREJ_EX_ALU16MDL                           8
    #define       bISA_PREJ_EX_ALU16MDL                        1
    #define   MSK32ISA_PREJ_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_PREJ_EX_ALU16MDH                        0x0011
    #define     B16ISA_PREJ_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16MDH                           9
    #define   LSb16ISA_PREJ_EX_ALU16MDH                           9
    #define       bISA_PREJ_EX_ALU16MDH                        1
    #define   MSK32ISA_PREJ_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_PREJ_EX_ALU16ADD                        0x0011
    #define     B16ISA_PREJ_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16ADD                           10
    #define   LSb16ISA_PREJ_EX_ALU16ADD                           10
    #define       bISA_PREJ_EX_ALU16ADD                        1
    #define   MSK32ISA_PREJ_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_PREJ_EX_ALU16SUB                        0x0011
    #define     B16ISA_PREJ_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16SUB                           11
    #define   LSb16ISA_PREJ_EX_ALU16SUB                           11
    #define       bISA_PREJ_EX_ALU16SUB                        1
    #define   MSK32ISA_PREJ_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_PREJ_EX_ALU16ADDC                       0x0011
    #define     B16ISA_PREJ_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_PREJ_EX_ALU16ADDC                          12
    #define   LSb16ISA_PREJ_EX_ALU16ADDC                          12
    #define       bISA_PREJ_EX_ALU16ADDC                       1
    #define   MSK32ISA_PREJ_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_PREJ_EX_ALU16SUBC                       0x0011
    #define     B16ISA_PREJ_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_PREJ_EX_ALU16SUBC                          13
    #define   LSb16ISA_PREJ_EX_ALU16SUBC                          13
    #define       bISA_PREJ_EX_ALU16SUBC                       1
    #define   MSK32ISA_PREJ_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_PREJ_EX_ALU16ASR                        0x0011
    #define     B16ISA_PREJ_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_PREJ_EX_ALU16ASR                           14
    #define   LSb16ISA_PREJ_EX_ALU16ASR                           14
    #define       bISA_PREJ_EX_ALU16ASR                        1
    #define   MSK32ISA_PREJ_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_PREJ_EX_ALU16SL                         0x0011
    #define     B16ISA_PREJ_EX_ALU16SL                         0x0010
    #define   LSb32ISA_PREJ_EX_ALU16SL                            15
    #define   LSb16ISA_PREJ_EX_ALU16SL                            15
    #define       bISA_PREJ_EX_ALU16SL                         1
    #define   MSK32ISA_PREJ_EX_ALU16SL                            0x00008000

    #define     BA_ISA_PREJ_EX_ALU16SR                         0x0012
    #define     B16ISA_PREJ_EX_ALU16SR                         0x0012
    #define   LSb32ISA_PREJ_EX_ALU16SR                            16
    #define   LSb16ISA_PREJ_EX_ALU16SR                            0
    #define       bISA_PREJ_EX_ALU16SR                         1
    #define   MSK32ISA_PREJ_EX_ALU16SR                            0x00010000

    #define     BA_ISA_PREJ_EX_ALU16GET                        0x0012
    #define     B16ISA_PREJ_EX_ALU16GET                        0x0012
    #define   LSb32ISA_PREJ_EX_ALU16GET                           17
    #define   LSb16ISA_PREJ_EX_ALU16GET                           1
    #define       bISA_PREJ_EX_ALU16GET                        1
    #define   MSK32ISA_PREJ_EX_ALU16GET                           0x00020000

    #define     BA_ISA_PREJ_EX_ALU16SET                        0x0012
    #define     B16ISA_PREJ_EX_ALU16SET                        0x0012
    #define   LSb32ISA_PREJ_EX_ALU16SET                           18
    #define   LSb16ISA_PREJ_EX_ALU16SET                           2
    #define       bISA_PREJ_EX_ALU16SET                        1
    #define   MSK32ISA_PREJ_EX_ALU16SET                           0x00040000

    #define     BA_ISA_PREJ_EX_ALU16SEL                        0x0012
    #define     B16ISA_PREJ_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_PREJ_EX_ALU16SEL                           19
    #define   LSb16ISA_PREJ_EX_ALU16SEL                           3
    #define       bISA_PREJ_EX_ALU16SEL                        1
    #define   MSK32ISA_PREJ_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_PREJ_EX_ALU16OR                         0x0012
    #define     B16ISA_PREJ_EX_ALU16OR                         0x0012
    #define   LSb32ISA_PREJ_EX_ALU16OR                            20
    #define   LSb16ISA_PREJ_EX_ALU16OR                            4
    #define       bISA_PREJ_EX_ALU16OR                         1
    #define   MSK32ISA_PREJ_EX_ALU16OR                            0x00100000

    #define     BA_ISA_PREJ_EX_ALU16AND                        0x0012
    #define     B16ISA_PREJ_EX_ALU16AND                        0x0012
    #define   LSb32ISA_PREJ_EX_ALU16AND                           21
    #define   LSb16ISA_PREJ_EX_ALU16AND                           5
    #define       bISA_PREJ_EX_ALU16AND                        1
    #define   MSK32ISA_PREJ_EX_ALU16AND                           0x00200000

    #define     BA_ISA_PREJ_EX_ALU16XOR                        0x0012
    #define     B16ISA_PREJ_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_PREJ_EX_ALU16XOR                           22
    #define   LSb16ISA_PREJ_EX_ALU16XOR                           6
    #define       bISA_PREJ_EX_ALU16XOR                        1
    #define   MSK32ISA_PREJ_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_PREJ_EX_ALU16SP                         0x0012
    #define     B16ISA_PREJ_EX_ALU16SP                         0x0012
    #define   LSb32ISA_PREJ_EX_ALU16SP                            23
    #define   LSb16ISA_PREJ_EX_ALU16SP                            7
    #define       bISA_PREJ_EX_ALU16SP                         1
    #define   MSK32ISA_PREJ_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_EXX                                0x0014

    #define     BA_ISA_PREJ_EXX_WRSQ                           0x0014
    #define     B16ISA_PREJ_EXX_WRSQ                           0x0014
    #define   LSb32ISA_PREJ_EXX_WRSQ                              0
    #define   LSb16ISA_PREJ_EXX_WRSQ                              0
    #define       bISA_PREJ_EXX_WRSQ                           1
    #define   MSK32ISA_PREJ_EXX_WRSQ                              0x00000001

    #define     BA_ISA_PREJ_EXX_WR16                           0x0014
    #define     B16ISA_PREJ_EXX_WR16                           0x0014
    #define   LSb32ISA_PREJ_EXX_WR16                              1
    #define   LSb16ISA_PREJ_EXX_WR16                              1
    #define       bISA_PREJ_EXX_WR16                           1
    #define   MSK32ISA_PREJ_EXX_WR16                              0x00000002

    #define     BA_ISA_PREJ_EXX_WRTQ                           0x0014
    #define     B16ISA_PREJ_EXX_WRTQ                           0x0014
    #define   LSb32ISA_PREJ_EXX_WRTQ                              2
    #define   LSb16ISA_PREJ_EXX_WRTQ                              2
    #define       bISA_PREJ_EXX_WRTQ                           1
    #define   MSK32ISA_PREJ_EXX_WRTQ                              0x00000004

    #define     BA_ISA_PREJ_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_PREJ_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_PREJ_EXX_ALU64PUSH                         3
    #define   LSb16ISA_PREJ_EXX_ALU64PUSH                         3
    #define       bISA_PREJ_EXX_ALU64PUSH                      1
    #define   MSK32ISA_PREJ_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_PREJ_EXX_ALU64POP                       0x0014
    #define     B16ISA_PREJ_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_PREJ_EXX_ALU64POP                          4
    #define   LSb16ISA_PREJ_EXX_ALU64POP                          4
    #define       bISA_PREJ_EXX_ALU64POP                       1
    #define   MSK32ISA_PREJ_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_PREJ_EXX_ALU64SQ                        0x0014
    #define     B16ISA_PREJ_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_PREJ_EXX_ALU64SQ                           5
    #define   LSb16ISA_PREJ_EXX_ALU64SQ                           5
    #define       bISA_PREJ_EXX_ALU64SQ                        1
    #define   MSK32ISA_PREJ_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_PREJ_EXX_ALU64TQ                        0x0014
    #define     B16ISA_PREJ_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_PREJ_EXX_ALU64TQ                           6
    #define   LSb16ISA_PREJ_EXX_ALU64TQ                           6
    #define       bISA_PREJ_EXX_ALU64TQ                        1
    #define   MSK32ISA_PREJ_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_PREJ_EXX_ALU64MEM                       0x0014
    #define     B16ISA_PREJ_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_PREJ_EXX_ALU64MEM                          7
    #define   LSb16ISA_PREJ_EXX_ALU64MEM                          7
    #define       bISA_PREJ_EXX_ALU64MEM                       1
    #define   MSK32ISA_PREJ_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_PREJ_EXX_BRANCH                         0x0015
    #define     B16ISA_PREJ_EXX_BRANCH                         0x0014
    #define   LSb32ISA_PREJ_EXX_BRANCH                            8
    #define   LSb16ISA_PREJ_EXX_BRANCH                            8
    #define       bISA_PREJ_EXX_BRANCH                         1
    #define   MSK32ISA_PREJ_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJ_WB                                 0x0018

    #define     BA_ISA_PREJ_WB_RF16                            0x0018
    #define     B16ISA_PREJ_WB_RF16                            0x0018
    #define   LSb32ISA_PREJ_WB_RF16                               0
    #define   LSb16ISA_PREJ_WB_RF16                               0
    #define       bISA_PREJ_WB_RF16                            1
    #define   MSK32ISA_PREJ_WB_RF16                               0x00000001

    #define     BA_ISA_PREJ_WB_RF16W0                          0x0018
    #define     B16ISA_PREJ_WB_RF16W0                          0x0018
    #define   LSb32ISA_PREJ_WB_RF16W0                             1
    #define   LSb16ISA_PREJ_WB_RF16W0                             1
    #define       bISA_PREJ_WB_RF16W0                          1
    #define   MSK32ISA_PREJ_WB_RF16W0                             0x00000002

    #define     BA_ISA_PREJ_WB_RF16MEM                         0x0018
    #define     B16ISA_PREJ_WB_RF16MEM                         0x0018
    #define   LSb32ISA_PREJ_WB_RF16MEM                            2
    #define   LSb16ISA_PREJ_WB_RF16MEM                            2
    #define       bISA_PREJ_WB_RF16MEM                         1
    #define   MSK32ISA_PREJ_WB_RF16MEM                            0x00000004

    #define     BA_ISA_PREJ_WB_RF16Q                           0x0018
    #define     B16ISA_PREJ_WB_RF16Q                           0x0018
    #define   LSb32ISA_PREJ_WB_RF16Q                              3
    #define   LSb16ISA_PREJ_WB_RF16Q                              3
    #define       bISA_PREJ_WB_RF16Q                           1
    #define   MSK32ISA_PREJ_WB_RF16Q                              0x00000008

    #define     BA_ISA_PREJ_WB_RF64                            0x0018
    #define     B16ISA_PREJ_WB_RF64                            0x0018
    #define   LSb32ISA_PREJ_WB_RF64                               4
    #define   LSb16ISA_PREJ_WB_RF64                               4
    #define       bISA_PREJ_WB_RF64                            1
    #define   MSK32ISA_PREJ_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_PREJ {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_PREJ_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_PREJ_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_PREJ_Mask;
            struct w32ISA_PREJ_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_PREJ_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_PREJ_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_PREJ_Opcode;
            struct w32ISA_PREJ_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJ_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJ_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJ_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJ_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJ_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJ_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJ_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJ_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJ_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJ_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJ_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJ_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJ_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJ_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJ_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJ_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJ_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJ_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJ_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJ_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_PREJ_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_PREJ_ID;
            struct w32ISA_PREJ_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJ_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJ_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJ_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJ_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJ_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJ_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJ_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJ_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJ_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJ_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJ_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJ_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJ_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJ_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJ_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJ_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJ_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJ_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJ_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJ_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJ_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJ_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJ_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJ_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_PREJ_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_PREJ_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_PREJ_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_PREJ_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_PREJ_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_PREJ_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_PREJ_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_PREJ_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_PREJ_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_PREJ_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_PREJ_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_PREJ_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_PREJ_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_PREJ_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_PREJ_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_PREJ_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_PREJ_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_PREJ_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_PREJ_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_PREJ_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_PREJ_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_PREJ_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_PREJ_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_PREJ_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_PREJ_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_PREJ_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_PREJ_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_PREJ_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_PREJ_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_PREJ_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_PREJ_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_PREJ_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_PREJ_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_PREJ_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_PREJ_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_PREJ_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_PREJ_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_PREJ_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_PREJ_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_PREJ_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_PREJ_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_PREJ_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_PREJ_LD;
            struct w32ISA_PREJ_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJ_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJ_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJ_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJ_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJ_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJ_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJ_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJ_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJ_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJ_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJ_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJ_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJ_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJ_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJ_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJ_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJ_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJ_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJ_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_PREJ_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_PREJ_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_PREJ_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_PREJ_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_PREJ_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_PREJ_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_PREJ_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_PREJ_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_PREJ_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_PREJ_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_PREJ_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_PREJ_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_PREJ_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_PREJ_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_PREJ_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_PREJ_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_PREJ_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_PREJ_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_PREJ_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_PREJ_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_PREJ_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_PREJ_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_PREJ_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_PREJ_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_PREJ_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_PREJ_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_PREJ_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_PREJ_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_PREJ_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_PREJ_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_PREJ_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_PREJ_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_PREJ_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_PREJ_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_PREJ_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_PREJ_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_PREJ_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_PREJ_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_PREJ_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_PREJ_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_PREJ_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJ_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_PREJ_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_PREJ_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJ_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJ_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_PREJ_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_PREJ_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJ_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_PREJ_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_PREJ_EX;
            struct w32ISA_PREJ_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJ_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJ_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJ_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJ_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJ_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJ_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJ_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJ_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJ_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJ_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJ_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJ_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJ_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJ_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJ_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJ_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJ_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJ_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJ_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJ_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJ_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJ_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJ_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJ_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJ_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJ_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_PREJ_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_PREJ_EXX;
            struct w32ISA_PREJ_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJ_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJ_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJ_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJ_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJ_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJ_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJ_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJ_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJ_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJ_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJ_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJ_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJ_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJ_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJ_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJ_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJ_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJ_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJ_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJ_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_PREJ_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_PREJ_WB;
            struct w32ISA_PREJ_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_PREJ;

    typedef union  T32ISA_PREJ_Mask
          { UNSG32 u32;
            struct w32ISA_PREJ_Mask;
                 } T32ISA_PREJ_Mask;
    typedef union  T32ISA_PREJ_Opcode
          { UNSG32 u32;
            struct w32ISA_PREJ_Opcode;
                 } T32ISA_PREJ_Opcode;
    typedef union  T32ISA_PREJ_ID
          { UNSG32 u32;
            struct w32ISA_PREJ_ID;
                 } T32ISA_PREJ_ID;
    typedef union  T32ISA_PREJ_LD
          { UNSG32 u32;
            struct w32ISA_PREJ_LD;
                 } T32ISA_PREJ_LD;
    typedef union  T32ISA_PREJ_EX
          { UNSG32 u32;
            struct w32ISA_PREJ_EX;
                 } T32ISA_PREJ_EX;
    typedef union  T32ISA_PREJ_EXX
          { UNSG32 u32;
            struct w32ISA_PREJ_EXX;
                 } T32ISA_PREJ_EXX;
    typedef union  T32ISA_PREJ_WB
          { UNSG32 u32;
            struct w32ISA_PREJ_WB;
                 } T32ISA_PREJ_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_PREJ_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_Mask;
                   };
                 } TISA_PREJ_Mask;
    typedef union  TISA_PREJ_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_Opcode;
                   };
                 } TISA_PREJ_Opcode;
    typedef union  TISA_PREJ_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_ID;
                   };
                 } TISA_PREJ_ID;
    typedef union  TISA_PREJ_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_LD;
                   };
                 } TISA_PREJ_LD;
    typedef union  TISA_PREJ_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_EX;
                   };
                 } TISA_PREJ_EX;
    typedef union  TISA_PREJ_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_EXX;
                   };
                 } TISA_PREJ_EXX;
    typedef union  TISA_PREJ_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJ_WB;
                   };
                 } TISA_PREJ_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_PREJ_drvrd(SIE_ISA_PREJ *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_PREJ_drvwr(SIE_ISA_PREJ *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_PREJ_reset(SIE_ISA_PREJ *p);
     SIGN32 ISA_PREJ_cmp  (SIE_ISA_PREJ *p, SIE_ISA_PREJ *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_PREJ_check(p,pie,pfx,hLOG) ISA_PREJ_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_PREJ_print(p,    pfx,hLOG) ISA_PREJ_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_PREJ
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_PREJR                                (4,4)
///     ###
///     * Conditional long pre-jump setup.
///     * Usually used after a comparison instruction.
///     * Branch position must be at least 4 steps later.
///     * Destination jump address can be any value, and store in a RF16 register.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x340000
///                                    ###
///                                    * -                                                                 
///                                    * - { "PREJR"   , "C,B,rS"      , "0011 0100 SSSS CCCC BBBB BBBB" } ,
///                                    * - Usage:
///                                    * -    LD       %a3, Case1      ; %a3 = Case1;
///                                    * -    CMP.i    1, %a2          ; BOOL jmp = (1 == %a2);
///                                    * -    PREJR    `EQ, .br, %a3
///                                    * -    ...                      ; 
///                                    * - .br:                        ; if(jmp) goto %a3;
///                                    * -    ...
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       0x1
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    0x1
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_PREJR
#define h_ISA_PREJR (){}

    #define     RA_ISA_PREJR_Mask                              0x0000

    #define     BA_ISA_PREJR_Mask_INS                          0x0000
    #define     B16ISA_PREJR_Mask_INS                          0x0000
    #define   LSb32ISA_PREJR_Mask_INS                             0
    #define   LSb16ISA_PREJR_Mask_INS                             0
    #define       bISA_PREJR_Mask_INS                          24
    #define   MSK32ISA_PREJR_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_Opcode                            0x0004

    #define     BA_ISA_PREJR_Opcode_INS                        0x0004
    #define     B16ISA_PREJR_Opcode_INS                        0x0004
    #define   LSb32ISA_PREJR_Opcode_INS                           0
    #define   LSb16ISA_PREJR_Opcode_INS                           0
    #define       bISA_PREJR_Opcode_INS                        24
    #define   MSK32ISA_PREJR_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_ID                                0x0008

    #define     BA_ISA_PREJR_ID_RBRF                           0x0008
    #define     B16ISA_PREJR_ID_RBRF                           0x0008
    #define   LSb32ISA_PREJR_ID_RBRF                              0
    #define   LSb16ISA_PREJR_ID_RBRF                              0
    #define       bISA_PREJR_ID_RBRF                           1
    #define   MSK32ISA_PREJR_ID_RBRF                              0x00000001

    #define     BA_ISA_PREJR_ID_RARF                           0x0008
    #define     B16ISA_PREJR_ID_RARF                           0x0008
    #define   LSb32ISA_PREJR_ID_RARF                              1
    #define   LSb16ISA_PREJR_ID_RARF                              1
    #define       bISA_PREJR_ID_RARF                           1
    #define   MSK32ISA_PREJR_ID_RARF                              0x00000002

    #define     BA_ISA_PREJR_ID_RAK8                           0x0008
    #define     B16ISA_PREJR_ID_RAK8                           0x0008
    #define   LSb32ISA_PREJR_ID_RAK8                              2
    #define   LSb16ISA_PREJR_ID_RAK8                              2
    #define       bISA_PREJR_ID_RAK8                           1
    #define   MSK32ISA_PREJR_ID_RAK8                              0x00000004

    #define     BA_ISA_PREJR_ID_RAI16                          0x0008
    #define     B16ISA_PREJR_ID_RAI16                          0x0008
    #define   LSb32ISA_PREJR_ID_RAI16                             3
    #define   LSb16ISA_PREJR_ID_RAI16                             3
    #define       bISA_PREJR_ID_RAI16                          1
    #define   MSK32ISA_PREJR_ID_RAI16                             0x00000008

    #define     BA_ISA_PREJR_ID_RAK16                          0x0008
    #define     B16ISA_PREJR_ID_RAK16                          0x0008
    #define   LSb32ISA_PREJR_ID_RAK16                             4
    #define   LSb16ISA_PREJR_ID_RAK16                             4
    #define       bISA_PREJR_ID_RAK16                          1
    #define   MSK32ISA_PREJR_ID_RAK16                             0x00000010

    #define     BA_ISA_PREJR_ID_RFSP                           0x0008
    #define     B16ISA_PREJR_ID_RFSP                           0x0008
    #define   LSb32ISA_PREJR_ID_RFSP                              5
    #define   LSb16ISA_PREJR_ID_RFSP                              5
    #define       bISA_PREJR_ID_RFSP                           1
    #define   MSK32ISA_PREJR_ID_RFSP                              0x00000020

    #define     BA_ISA_PREJR_ID_W4D4                           0x0008
    #define     B16ISA_PREJR_ID_W4D4                           0x0008
    #define   LSb32ISA_PREJR_ID_W4D4                              6
    #define   LSb16ISA_PREJR_ID_W4D4                              6
    #define       bISA_PREJR_ID_W4D4                           1
    #define   MSK32ISA_PREJR_ID_W4D4                              0x00000040

    #define     BA_ISA_PREJR_ID_W4S4                           0x0008
    #define     B16ISA_PREJR_ID_W4S4                           0x0008
    #define   LSb32ISA_PREJR_ID_W4S4                              7
    #define   LSb16ISA_PREJR_ID_W4S4                              7
    #define       bISA_PREJR_ID_W4S4                           1
    #define   MSK32ISA_PREJR_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_LD                                0x000C

    #define     BA_ISA_PREJR_LD_SPRF                           0x000C
    #define     B16ISA_PREJR_LD_SPRF                           0x000C
    #define   LSb32ISA_PREJR_LD_SPRF                              0
    #define   LSb16ISA_PREJR_LD_SPRF                              0
    #define       bISA_PREJR_LD_SPRF                           1
    #define   MSK32ISA_PREJR_LD_SPRF                              0x00000001

    #define     BA_ISA_PREJR_LD_SPK8                           0x000C
    #define     B16ISA_PREJR_LD_SPK8                           0x000C
    #define   LSb32ISA_PREJR_LD_SPK8                              1
    #define   LSb16ISA_PREJR_LD_SPK8                              1
    #define       bISA_PREJR_LD_SPK8                           1
    #define   MSK32ISA_PREJR_LD_SPK8                              0x00000002

    #define     BA_ISA_PREJR_LD_SPJ                            0x000C
    #define     B16ISA_PREJR_LD_SPJ                            0x000C
    #define   LSb32ISA_PREJR_LD_SPJ                               2
    #define   LSb16ISA_PREJR_LD_SPJ                               2
    #define       bISA_PREJR_LD_SPJ                            1
    #define   MSK32ISA_PREJR_LD_SPJ                               0x00000004

    #define     BA_ISA_PREJR_LD_SP4S                           0x000C
    #define     B16ISA_PREJR_LD_SP4S                           0x000C
    #define   LSb32ISA_PREJR_LD_SP4S                              3
    #define   LSb16ISA_PREJR_LD_SP4S                              3
    #define       bISA_PREJR_LD_SP4S                           1
    #define   MSK32ISA_PREJR_LD_SP4S                              0x00000008

    #define     BA_ISA_PREJR_LD_SP8S                           0x000C
    #define     B16ISA_PREJR_LD_SP8S                           0x000C
    #define   LSb32ISA_PREJR_LD_SP8S                              4
    #define   LSb16ISA_PREJR_LD_SP8S                              4
    #define       bISA_PREJR_LD_SP8S                           1
    #define   MSK32ISA_PREJR_LD_SP8S                              0x00000010

    #define     BA_ISA_PREJR_LD_SP8U                           0x000C
    #define     B16ISA_PREJR_LD_SP8U                           0x000C
    #define   LSb32ISA_PREJR_LD_SP8U                              5
    #define   LSb16ISA_PREJR_LD_SP8U                              5
    #define       bISA_PREJR_LD_SP8U                           1
    #define   MSK32ISA_PREJR_LD_SP8U                              0x00000020

    #define     BA_ISA_PREJR_LD_SP12S                          0x000C
    #define     B16ISA_PREJR_LD_SP12S                          0x000C
    #define   LSb32ISA_PREJR_LD_SP12S                             6
    #define   LSb16ISA_PREJR_LD_SP12S                             6
    #define       bISA_PREJR_LD_SP12S                          1
    #define   MSK32ISA_PREJR_LD_SP12S                             0x00000040

    #define     BA_ISA_PREJR_LD_SP16                           0x000C
    #define     B16ISA_PREJR_LD_SP16                           0x000C
    #define   LSb32ISA_PREJR_LD_SP16                              7
    #define   LSb16ISA_PREJR_LD_SP16                              7
    #define       bISA_PREJR_LD_SP16                           1
    #define   MSK32ISA_PREJR_LD_SP16                              0x00000080

    #define     BA_ISA_PREJR_LD_TPRF                           0x000D
    #define     B16ISA_PREJR_LD_TPRF                           0x000C
    #define   LSb32ISA_PREJR_LD_TPRF                              8
    #define   LSb16ISA_PREJR_LD_TPRF                              8
    #define       bISA_PREJR_LD_TPRF                           1
    #define   MSK32ISA_PREJR_LD_TPRF                              0x00000100

    #define     BA_ISA_PREJR_LD_TPJ                            0x000D
    #define     B16ISA_PREJR_LD_TPJ                            0x000C
    #define   LSb32ISA_PREJR_LD_TPJ                               9
    #define   LSb16ISA_PREJR_LD_TPJ                               9
    #define       bISA_PREJR_LD_TPJ                            1
    #define   MSK32ISA_PREJR_LD_TPJ                               0x00000200

    #define     BA_ISA_PREJR_LD_TP4S                           0x000D
    #define     B16ISA_PREJR_LD_TP4S                           0x000C
    #define   LSb32ISA_PREJR_LD_TP4S                              10
    #define   LSb16ISA_PREJR_LD_TP4S                              10
    #define       bISA_PREJR_LD_TP4S                           1
    #define   MSK32ISA_PREJR_LD_TP4S                              0x00000400

    #define     BA_ISA_PREJR_LD_TP8L                           0x000D
    #define     B16ISA_PREJR_LD_TP8L                           0x000C
    #define   LSb32ISA_PREJR_LD_TP8L                              11
    #define   LSb16ISA_PREJR_LD_TP8L                              11
    #define       bISA_PREJR_LD_TP8L                           1
    #define   MSK32ISA_PREJR_LD_TP8L                              0x00000800

    #define     BA_ISA_PREJR_LD_TP8H                           0x000D
    #define     B16ISA_PREJR_LD_TP8H                           0x000C
    #define   LSb32ISA_PREJR_LD_TP8H                              12
    #define   LSb16ISA_PREJR_LD_TP8H                              12
    #define       bISA_PREJR_LD_TP8H                           1
    #define   MSK32ISA_PREJR_LD_TP8H                              0x00001000

    #define     BA_ISA_PREJR_LD_TP8LF                          0x000D
    #define     B16ISA_PREJR_LD_TP8LF                          0x000C
    #define   LSb32ISA_PREJR_LD_TP8LF                             13
    #define   LSb16ISA_PREJR_LD_TP8LF                             13
    #define       bISA_PREJR_LD_TP8LF                          1
    #define   MSK32ISA_PREJR_LD_TP8LF                             0x00002000

    #define     BA_ISA_PREJR_LD_TP8HF                          0x000D
    #define     B16ISA_PREJR_LD_TP8HF                          0x000C
    #define   LSb32ISA_PREJR_LD_TP8HF                             14
    #define   LSb16ISA_PREJR_LD_TP8HF                             14
    #define       bISA_PREJR_LD_TP8HF                          1
    #define   MSK32ISA_PREJR_LD_TP8HF                             0x00004000

    #define     BA_ISA_PREJR_LD_SQRF64                         0x000D
    #define     B16ISA_PREJR_LD_SQRF64                         0x000C
    #define   LSb32ISA_PREJR_LD_SQRF64                            15
    #define   LSb16ISA_PREJR_LD_SQRF64                            15
    #define       bISA_PREJR_LD_SQRF64                         1
    #define   MSK32ISA_PREJR_LD_SQRF64                            0x00008000

    #define     BA_ISA_PREJR_LD_TQRF16Q                        0x000E
    #define     B16ISA_PREJR_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_PREJR_LD_TQRF16Q                           16
    #define   LSb16ISA_PREJR_LD_TQRF16Q                           0
    #define       bISA_PREJR_LD_TQRF16Q                        1
    #define   MSK32ISA_PREJR_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_PREJR_LD_TQRFx4                         0x000E
    #define     B16ISA_PREJR_LD_TQRFx4                         0x000E
    #define   LSb32ISA_PREJR_LD_TQRFx4                            17
    #define   LSb16ISA_PREJR_LD_TQRFx4                            1
    #define       bISA_PREJR_LD_TQRFx4                         1
    #define   MSK32ISA_PREJR_LD_TQRFx4                            0x00020000

    #define     BA_ISA_PREJR_LD_RD                             0x000E
    #define     B16ISA_PREJR_LD_RD                             0x000E
    #define   LSb32ISA_PREJR_LD_RD                                18
    #define   LSb16ISA_PREJR_LD_RD                                2
    #define       bISA_PREJR_LD_RD                             1
    #define   MSK32ISA_PREJR_LD_RD                                0x00040000

    #define     BA_ISA_PREJR_LD_WARF                           0x000E
    #define     B16ISA_PREJR_LD_WARF                           0x000E
    #define   LSb32ISA_PREJR_LD_WARF                              19
    #define   LSb16ISA_PREJR_LD_WARF                              3
    #define       bISA_PREJR_LD_WARF                           1
    #define   MSK32ISA_PREJR_LD_WARF                              0x00080000

    #define     BA_ISA_PREJR_LD_WAK8                           0x000E
    #define     B16ISA_PREJR_LD_WAK8                           0x000E
    #define   LSb32ISA_PREJR_LD_WAK8                              20
    #define   LSb16ISA_PREJR_LD_WAK8                              4
    #define       bISA_PREJR_LD_WAK8                           1
    #define   MSK32ISA_PREJR_LD_WAK8                              0x00100000

    #define     BA_ISA_PREJR_LD_WAK16                          0x000E
    #define     B16ISA_PREJR_LD_WAK16                          0x000E
    #define   LSb32ISA_PREJR_LD_WAK16                             21
    #define   LSb16ISA_PREJR_LD_WAK16                             5
    #define       bISA_PREJR_LD_WAK16                          1
    #define   MSK32ISA_PREJR_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_EX                                0x0010

    #define     BA_ISA_PREJR_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagZ                        0
    #define   LSb16ISA_PREJR_EX_ALU16FlagZ                        0
    #define       bISA_PREJR_EX_ALU16FlagZ                     1
    #define   MSK32ISA_PREJR_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_PREJR_EX_ALU16FlagC                     0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagC                        1
    #define   LSb16ISA_PREJR_EX_ALU16FlagC                        1
    #define       bISA_PREJR_EX_ALU16FlagC                     1
    #define   MSK32ISA_PREJR_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_PREJR_EX_ALU16FlagN                     0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagN                        2
    #define   LSb16ISA_PREJR_EX_ALU16FlagN                        2
    #define       bISA_PREJR_EX_ALU16FlagN                     1
    #define   MSK32ISA_PREJR_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_PREJR_EX_ALU16FlagV                     0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagV                        3
    #define   LSb16ISA_PREJR_EX_ALU16FlagV                        3
    #define       bISA_PREJR_EX_ALU16FlagV                     1
    #define   MSK32ISA_PREJR_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_PREJR_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagTP                       4
    #define   LSb16ISA_PREJR_EX_ALU16FlagTP                       4
    #define       bISA_PREJR_EX_ALU16FlagTP                    1
    #define   MSK32ISA_PREJR_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_PREJR_EX_ALU16MUL                       0x0010
    #define     B16ISA_PREJR_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16MUL                          5
    #define   LSb16ISA_PREJR_EX_ALU16MUL                          5
    #define       bISA_PREJR_EX_ALU16MUL                       1
    #define   MSK32ISA_PREJR_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_PREJR_EX_ALU16DIV                       0x0010
    #define     B16ISA_PREJR_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16DIV                          6
    #define   LSb16ISA_PREJR_EX_ALU16DIV                          6
    #define       bISA_PREJR_EX_ALU16DIV                       1
    #define   MSK32ISA_PREJR_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_PREJR_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_PREJR_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_PREJR_EX_ALU16FlagLD                       7
    #define   LSb16ISA_PREJR_EX_ALU16FlagLD                       7
    #define       bISA_PREJR_EX_ALU16FlagLD                    1
    #define   MSK32ISA_PREJR_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_PREJR_EX_ALU16MDL                       0x0011
    #define     B16ISA_PREJR_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16MDL                          8
    #define   LSb16ISA_PREJR_EX_ALU16MDL                          8
    #define       bISA_PREJR_EX_ALU16MDL                       1
    #define   MSK32ISA_PREJR_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_PREJR_EX_ALU16MDH                       0x0011
    #define     B16ISA_PREJR_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16MDH                          9
    #define   LSb16ISA_PREJR_EX_ALU16MDH                          9
    #define       bISA_PREJR_EX_ALU16MDH                       1
    #define   MSK32ISA_PREJR_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_PREJR_EX_ALU16ADD                       0x0011
    #define     B16ISA_PREJR_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16ADD                          10
    #define   LSb16ISA_PREJR_EX_ALU16ADD                          10
    #define       bISA_PREJR_EX_ALU16ADD                       1
    #define   MSK32ISA_PREJR_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_PREJR_EX_ALU16SUB                       0x0011
    #define     B16ISA_PREJR_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16SUB                          11
    #define   LSb16ISA_PREJR_EX_ALU16SUB                          11
    #define       bISA_PREJR_EX_ALU16SUB                       1
    #define   MSK32ISA_PREJR_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_PREJR_EX_ALU16ADDC                      0x0011
    #define     B16ISA_PREJR_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_PREJR_EX_ALU16ADDC                         12
    #define   LSb16ISA_PREJR_EX_ALU16ADDC                         12
    #define       bISA_PREJR_EX_ALU16ADDC                      1
    #define   MSK32ISA_PREJR_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_PREJR_EX_ALU16SUBC                      0x0011
    #define     B16ISA_PREJR_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_PREJR_EX_ALU16SUBC                         13
    #define   LSb16ISA_PREJR_EX_ALU16SUBC                         13
    #define       bISA_PREJR_EX_ALU16SUBC                      1
    #define   MSK32ISA_PREJR_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_PREJR_EX_ALU16ASR                       0x0011
    #define     B16ISA_PREJR_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_PREJR_EX_ALU16ASR                          14
    #define   LSb16ISA_PREJR_EX_ALU16ASR                          14
    #define       bISA_PREJR_EX_ALU16ASR                       1
    #define   MSK32ISA_PREJR_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_PREJR_EX_ALU16SL                        0x0011
    #define     B16ISA_PREJR_EX_ALU16SL                        0x0010
    #define   LSb32ISA_PREJR_EX_ALU16SL                           15
    #define   LSb16ISA_PREJR_EX_ALU16SL                           15
    #define       bISA_PREJR_EX_ALU16SL                        1
    #define   MSK32ISA_PREJR_EX_ALU16SL                           0x00008000

    #define     BA_ISA_PREJR_EX_ALU16SR                        0x0012
    #define     B16ISA_PREJR_EX_ALU16SR                        0x0012
    #define   LSb32ISA_PREJR_EX_ALU16SR                           16
    #define   LSb16ISA_PREJR_EX_ALU16SR                           0
    #define       bISA_PREJR_EX_ALU16SR                        1
    #define   MSK32ISA_PREJR_EX_ALU16SR                           0x00010000

    #define     BA_ISA_PREJR_EX_ALU16GET                       0x0012
    #define     B16ISA_PREJR_EX_ALU16GET                       0x0012
    #define   LSb32ISA_PREJR_EX_ALU16GET                          17
    #define   LSb16ISA_PREJR_EX_ALU16GET                          1
    #define       bISA_PREJR_EX_ALU16GET                       1
    #define   MSK32ISA_PREJR_EX_ALU16GET                          0x00020000

    #define     BA_ISA_PREJR_EX_ALU16SET                       0x0012
    #define     B16ISA_PREJR_EX_ALU16SET                       0x0012
    #define   LSb32ISA_PREJR_EX_ALU16SET                          18
    #define   LSb16ISA_PREJR_EX_ALU16SET                          2
    #define       bISA_PREJR_EX_ALU16SET                       1
    #define   MSK32ISA_PREJR_EX_ALU16SET                          0x00040000

    #define     BA_ISA_PREJR_EX_ALU16SEL                       0x0012
    #define     B16ISA_PREJR_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_PREJR_EX_ALU16SEL                          19
    #define   LSb16ISA_PREJR_EX_ALU16SEL                          3
    #define       bISA_PREJR_EX_ALU16SEL                       1
    #define   MSK32ISA_PREJR_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_PREJR_EX_ALU16OR                        0x0012
    #define     B16ISA_PREJR_EX_ALU16OR                        0x0012
    #define   LSb32ISA_PREJR_EX_ALU16OR                           20
    #define   LSb16ISA_PREJR_EX_ALU16OR                           4
    #define       bISA_PREJR_EX_ALU16OR                        1
    #define   MSK32ISA_PREJR_EX_ALU16OR                           0x00100000

    #define     BA_ISA_PREJR_EX_ALU16AND                       0x0012
    #define     B16ISA_PREJR_EX_ALU16AND                       0x0012
    #define   LSb32ISA_PREJR_EX_ALU16AND                          21
    #define   LSb16ISA_PREJR_EX_ALU16AND                          5
    #define       bISA_PREJR_EX_ALU16AND                       1
    #define   MSK32ISA_PREJR_EX_ALU16AND                          0x00200000

    #define     BA_ISA_PREJR_EX_ALU16XOR                       0x0012
    #define     B16ISA_PREJR_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_PREJR_EX_ALU16XOR                          22
    #define   LSb16ISA_PREJR_EX_ALU16XOR                          6
    #define       bISA_PREJR_EX_ALU16XOR                       1
    #define   MSK32ISA_PREJR_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_PREJR_EX_ALU16SP                        0x0012
    #define     B16ISA_PREJR_EX_ALU16SP                        0x0012
    #define   LSb32ISA_PREJR_EX_ALU16SP                           23
    #define   LSb16ISA_PREJR_EX_ALU16SP                           7
    #define       bISA_PREJR_EX_ALU16SP                        1
    #define   MSK32ISA_PREJR_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_EXX                               0x0014

    #define     BA_ISA_PREJR_EXX_WRSQ                          0x0014
    #define     B16ISA_PREJR_EXX_WRSQ                          0x0014
    #define   LSb32ISA_PREJR_EXX_WRSQ                             0
    #define   LSb16ISA_PREJR_EXX_WRSQ                             0
    #define       bISA_PREJR_EXX_WRSQ                          1
    #define   MSK32ISA_PREJR_EXX_WRSQ                             0x00000001

    #define     BA_ISA_PREJR_EXX_WR16                          0x0014
    #define     B16ISA_PREJR_EXX_WR16                          0x0014
    #define   LSb32ISA_PREJR_EXX_WR16                             1
    #define   LSb16ISA_PREJR_EXX_WR16                             1
    #define       bISA_PREJR_EXX_WR16                          1
    #define   MSK32ISA_PREJR_EXX_WR16                             0x00000002

    #define     BA_ISA_PREJR_EXX_WRTQ                          0x0014
    #define     B16ISA_PREJR_EXX_WRTQ                          0x0014
    #define   LSb32ISA_PREJR_EXX_WRTQ                             2
    #define   LSb16ISA_PREJR_EXX_WRTQ                             2
    #define       bISA_PREJR_EXX_WRTQ                          1
    #define   MSK32ISA_PREJR_EXX_WRTQ                             0x00000004

    #define     BA_ISA_PREJR_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_PREJR_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_PREJR_EXX_ALU64PUSH                        3
    #define   LSb16ISA_PREJR_EXX_ALU64PUSH                        3
    #define       bISA_PREJR_EXX_ALU64PUSH                     1
    #define   MSK32ISA_PREJR_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_PREJR_EXX_ALU64POP                      0x0014
    #define     B16ISA_PREJR_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_PREJR_EXX_ALU64POP                         4
    #define   LSb16ISA_PREJR_EXX_ALU64POP                         4
    #define       bISA_PREJR_EXX_ALU64POP                      1
    #define   MSK32ISA_PREJR_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_PREJR_EXX_ALU64SQ                       0x0014
    #define     B16ISA_PREJR_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_PREJR_EXX_ALU64SQ                          5
    #define   LSb16ISA_PREJR_EXX_ALU64SQ                          5
    #define       bISA_PREJR_EXX_ALU64SQ                       1
    #define   MSK32ISA_PREJR_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_PREJR_EXX_ALU64TQ                       0x0014
    #define     B16ISA_PREJR_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_PREJR_EXX_ALU64TQ                          6
    #define   LSb16ISA_PREJR_EXX_ALU64TQ                          6
    #define       bISA_PREJR_EXX_ALU64TQ                       1
    #define   MSK32ISA_PREJR_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_PREJR_EXX_ALU64MEM                      0x0014
    #define     B16ISA_PREJR_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_PREJR_EXX_ALU64MEM                         7
    #define   LSb16ISA_PREJR_EXX_ALU64MEM                         7
    #define       bISA_PREJR_EXX_ALU64MEM                      1
    #define   MSK32ISA_PREJR_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_PREJR_EXX_BRANCH                        0x0015
    #define     B16ISA_PREJR_EXX_BRANCH                        0x0014
    #define   LSb32ISA_PREJR_EXX_BRANCH                           8
    #define   LSb16ISA_PREJR_EXX_BRANCH                           8
    #define       bISA_PREJR_EXX_BRANCH                        1
    #define   MSK32ISA_PREJR_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_PREJR_WB                                0x0018

    #define     BA_ISA_PREJR_WB_RF16                           0x0018
    #define     B16ISA_PREJR_WB_RF16                           0x0018
    #define   LSb32ISA_PREJR_WB_RF16                              0
    #define   LSb16ISA_PREJR_WB_RF16                              0
    #define       bISA_PREJR_WB_RF16                           1
    #define   MSK32ISA_PREJR_WB_RF16                              0x00000001

    #define     BA_ISA_PREJR_WB_RF16W0                         0x0018
    #define     B16ISA_PREJR_WB_RF16W0                         0x0018
    #define   LSb32ISA_PREJR_WB_RF16W0                            1
    #define   LSb16ISA_PREJR_WB_RF16W0                            1
    #define       bISA_PREJR_WB_RF16W0                         1
    #define   MSK32ISA_PREJR_WB_RF16W0                            0x00000002

    #define     BA_ISA_PREJR_WB_RF16MEM                        0x0018
    #define     B16ISA_PREJR_WB_RF16MEM                        0x0018
    #define   LSb32ISA_PREJR_WB_RF16MEM                           2
    #define   LSb16ISA_PREJR_WB_RF16MEM                           2
    #define       bISA_PREJR_WB_RF16MEM                        1
    #define   MSK32ISA_PREJR_WB_RF16MEM                           0x00000004

    #define     BA_ISA_PREJR_WB_RF16Q                          0x0018
    #define     B16ISA_PREJR_WB_RF16Q                          0x0018
    #define   LSb32ISA_PREJR_WB_RF16Q                             3
    #define   LSb16ISA_PREJR_WB_RF16Q                             3
    #define       bISA_PREJR_WB_RF16Q                          1
    #define   MSK32ISA_PREJR_WB_RF16Q                             0x00000008

    #define     BA_ISA_PREJR_WB_RF64                           0x0018
    #define     B16ISA_PREJR_WB_RF64                           0x0018
    #define   LSb32ISA_PREJR_WB_RF64                              4
    #define   LSb16ISA_PREJR_WB_RF64                              4
    #define       bISA_PREJR_WB_RF64                           1
    #define   MSK32ISA_PREJR_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_PREJR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_PREJR_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_PREJR_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_PREJR_Mask;
            struct w32ISA_PREJR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_PREJR_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_PREJR_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_PREJR_Opcode;
            struct w32ISA_PREJR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJR_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJR_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJR_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJR_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJR_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJR_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJR_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJR_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJR_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJR_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJR_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJR_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJR_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJR_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJR_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJR_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJR_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJR_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJR_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJR_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_PREJR_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_PREJR_ID;
            struct w32ISA_PREJR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJR_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJR_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJR_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJR_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJR_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJR_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJR_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJR_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJR_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJR_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJR_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJR_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJR_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJR_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJR_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJR_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJR_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJR_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJR_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJR_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJR_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJR_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJR_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJR_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_PREJR_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_PREJR_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_PREJR_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_PREJR_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_PREJR_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_PREJR_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_PREJR_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_PREJR_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_PREJR_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_PREJR_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_PREJR_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_PREJR_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_PREJR_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_PREJR_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_PREJR_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_PREJR_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_PREJR_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_PREJR_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_PREJR_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_PREJR_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_PREJR_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_PREJR_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_PREJR_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_PREJR_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_PREJR_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_PREJR_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_PREJR_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_PREJR_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_PREJR_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_PREJR_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_PREJR_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_PREJR_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_PREJR_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_PREJR_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_PREJR_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_PREJR_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_PREJR_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_PREJR_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_PREJR_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_PREJR_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_PREJR_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_PREJR_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_PREJR_LD;
            struct w32ISA_PREJR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJR_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJR_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJR_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJR_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJR_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJR_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJR_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJR_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJR_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJR_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJR_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJR_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJR_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJR_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJR_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJR_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJR_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJR_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJR_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_PREJR_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_PREJR_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_PREJR_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_PREJR_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_PREJR_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_PREJR_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_PREJR_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_PREJR_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_PREJR_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_PREJR_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_PREJR_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_PREJR_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_PREJR_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_PREJR_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_PREJR_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_PREJR_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_PREJR_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_PREJR_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_PREJR_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_PREJR_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_PREJR_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_PREJR_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_PREJR_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_PREJR_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_PREJR_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_PREJR_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_PREJR_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_PREJR_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_PREJR_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_PREJR_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_PREJR_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_PREJR_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_PREJR_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_PREJR_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_PREJR_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_PREJR_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_PREJR_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_PREJR_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_PREJR_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_PREJR_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_PREJR_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJR_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_PREJR_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_PREJR_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJR_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJR_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_PREJR_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_PREJR_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJR_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_PREJR_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_PREJR_EX;
            struct w32ISA_PREJR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJR_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJR_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJR_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJR_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJR_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJR_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJR_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJR_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJR_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJR_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_PREJR_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_PREJR_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_PREJR_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_PREJR_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_PREJR_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_PREJR_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_PREJR_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_PREJR_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_PREJR_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_PREJR_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_PREJR_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_PREJR_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_PREJR_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_PREJR_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_PREJR_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_PREJR_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_PREJR_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_PREJR_EXX;
            struct w32ISA_PREJR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_PREJR_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_PREJR_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_PREJR_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_PREJR_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_PREJR_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_PREJR_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_PREJR_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_PREJR_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_PREJR_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_PREJR_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_PREJR_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_PREJR_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_PREJR_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_PREJR_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_PREJR_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_PREJR_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_PREJR_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_PREJR_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_PREJR_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_PREJR_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_PREJR_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_PREJR_WB;
            struct w32ISA_PREJR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_PREJR;

    typedef union  T32ISA_PREJR_Mask
          { UNSG32 u32;
            struct w32ISA_PREJR_Mask;
                 } T32ISA_PREJR_Mask;
    typedef union  T32ISA_PREJR_Opcode
          { UNSG32 u32;
            struct w32ISA_PREJR_Opcode;
                 } T32ISA_PREJR_Opcode;
    typedef union  T32ISA_PREJR_ID
          { UNSG32 u32;
            struct w32ISA_PREJR_ID;
                 } T32ISA_PREJR_ID;
    typedef union  T32ISA_PREJR_LD
          { UNSG32 u32;
            struct w32ISA_PREJR_LD;
                 } T32ISA_PREJR_LD;
    typedef union  T32ISA_PREJR_EX
          { UNSG32 u32;
            struct w32ISA_PREJR_EX;
                 } T32ISA_PREJR_EX;
    typedef union  T32ISA_PREJR_EXX
          { UNSG32 u32;
            struct w32ISA_PREJR_EXX;
                 } T32ISA_PREJR_EXX;
    typedef union  T32ISA_PREJR_WB
          { UNSG32 u32;
            struct w32ISA_PREJR_WB;
                 } T32ISA_PREJR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_PREJR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_Mask;
                   };
                 } TISA_PREJR_Mask;
    typedef union  TISA_PREJR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_Opcode;
                   };
                 } TISA_PREJR_Opcode;
    typedef union  TISA_PREJR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_ID;
                   };
                 } TISA_PREJR_ID;
    typedef union  TISA_PREJR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_LD;
                   };
                 } TISA_PREJR_LD;
    typedef union  TISA_PREJR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_EX;
                   };
                 } TISA_PREJR_EX;
    typedef union  TISA_PREJR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_EXX;
                   };
                 } TISA_PREJR_EXX;
    typedef union  TISA_PREJR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_PREJR_WB;
                   };
                 } TISA_PREJR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_PREJR_drvrd(SIE_ISA_PREJR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_PREJR_drvwr(SIE_ISA_PREJR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_PREJR_reset(SIE_ISA_PREJR *p);
     SIGN32 ISA_PREJR_cmp  (SIE_ISA_PREJR *p, SIE_ISA_PREJR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_PREJR_check(p,pie,pfx,hLOG) ISA_PREJR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_PREJR_print(p,    pfx,hLOG) ISA_PREJR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_PREJR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_CMPi                                 (4,4)
///     ###
///     * Compare a 12b signed immediate number with a register.
///     * Same as SUB (N - %rT), all flags (ZCNV) will be updated, except no write-back.
///     * The immediate number must be in a range of [-2048,2047].
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500004
///                                    ###
///                                    * -                                                                 
///                                    * - { "CMP.i"   , "N,rT"        , "0101 NNNN NNNN NNNN TTTT 0100" } ,
///                                    * - Usage:
///                                    * -    CMP.i    1, %a2          ; BOOL jmp = (1 == %a2);
///                                    * -    PREJ     `EQ, .br, Case1
///                                    * -    ...
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     0x1
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  0x1
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_CMPi
#define h_ISA_CMPi (){}

    #define     RA_ISA_CMPi_Mask                               0x0000

    #define     BA_ISA_CMPi_Mask_INS                           0x0000
    #define     B16ISA_CMPi_Mask_INS                           0x0000
    #define   LSb32ISA_CMPi_Mask_INS                              0
    #define   LSb16ISA_CMPi_Mask_INS                              0
    #define       bISA_CMPi_Mask_INS                           24
    #define   MSK32ISA_CMPi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_Opcode                             0x0004

    #define     BA_ISA_CMPi_Opcode_INS                         0x0004
    #define     B16ISA_CMPi_Opcode_INS                         0x0004
    #define   LSb32ISA_CMPi_Opcode_INS                            0
    #define   LSb16ISA_CMPi_Opcode_INS                            0
    #define       bISA_CMPi_Opcode_INS                         24
    #define   MSK32ISA_CMPi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_ID                                 0x0008

    #define     BA_ISA_CMPi_ID_RBRF                            0x0008
    #define     B16ISA_CMPi_ID_RBRF                            0x0008
    #define   LSb32ISA_CMPi_ID_RBRF                               0
    #define   LSb16ISA_CMPi_ID_RBRF                               0
    #define       bISA_CMPi_ID_RBRF                            1
    #define   MSK32ISA_CMPi_ID_RBRF                               0x00000001

    #define     BA_ISA_CMPi_ID_RARF                            0x0008
    #define     B16ISA_CMPi_ID_RARF                            0x0008
    #define   LSb32ISA_CMPi_ID_RARF                               1
    #define   LSb16ISA_CMPi_ID_RARF                               1
    #define       bISA_CMPi_ID_RARF                            1
    #define   MSK32ISA_CMPi_ID_RARF                               0x00000002

    #define     BA_ISA_CMPi_ID_RAK8                            0x0008
    #define     B16ISA_CMPi_ID_RAK8                            0x0008
    #define   LSb32ISA_CMPi_ID_RAK8                               2
    #define   LSb16ISA_CMPi_ID_RAK8                               2
    #define       bISA_CMPi_ID_RAK8                            1
    #define   MSK32ISA_CMPi_ID_RAK8                               0x00000004

    #define     BA_ISA_CMPi_ID_RAI16                           0x0008
    #define     B16ISA_CMPi_ID_RAI16                           0x0008
    #define   LSb32ISA_CMPi_ID_RAI16                              3
    #define   LSb16ISA_CMPi_ID_RAI16                              3
    #define       bISA_CMPi_ID_RAI16                           1
    #define   MSK32ISA_CMPi_ID_RAI16                              0x00000008

    #define     BA_ISA_CMPi_ID_RAK16                           0x0008
    #define     B16ISA_CMPi_ID_RAK16                           0x0008
    #define   LSb32ISA_CMPi_ID_RAK16                              4
    #define   LSb16ISA_CMPi_ID_RAK16                              4
    #define       bISA_CMPi_ID_RAK16                           1
    #define   MSK32ISA_CMPi_ID_RAK16                              0x00000010

    #define     BA_ISA_CMPi_ID_RFSP                            0x0008
    #define     B16ISA_CMPi_ID_RFSP                            0x0008
    #define   LSb32ISA_CMPi_ID_RFSP                               5
    #define   LSb16ISA_CMPi_ID_RFSP                               5
    #define       bISA_CMPi_ID_RFSP                            1
    #define   MSK32ISA_CMPi_ID_RFSP                               0x00000020

    #define     BA_ISA_CMPi_ID_W4D4                            0x0008
    #define     B16ISA_CMPi_ID_W4D4                            0x0008
    #define   LSb32ISA_CMPi_ID_W4D4                               6
    #define   LSb16ISA_CMPi_ID_W4D4                               6
    #define       bISA_CMPi_ID_W4D4                            1
    #define   MSK32ISA_CMPi_ID_W4D4                               0x00000040

    #define     BA_ISA_CMPi_ID_W4S4                            0x0008
    #define     B16ISA_CMPi_ID_W4S4                            0x0008
    #define   LSb32ISA_CMPi_ID_W4S4                               7
    #define   LSb16ISA_CMPi_ID_W4S4                               7
    #define       bISA_CMPi_ID_W4S4                            1
    #define   MSK32ISA_CMPi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_LD                                 0x000C

    #define     BA_ISA_CMPi_LD_SPRF                            0x000C
    #define     B16ISA_CMPi_LD_SPRF                            0x000C
    #define   LSb32ISA_CMPi_LD_SPRF                               0
    #define   LSb16ISA_CMPi_LD_SPRF                               0
    #define       bISA_CMPi_LD_SPRF                            1
    #define   MSK32ISA_CMPi_LD_SPRF                               0x00000001

    #define     BA_ISA_CMPi_LD_SPK8                            0x000C
    #define     B16ISA_CMPi_LD_SPK8                            0x000C
    #define   LSb32ISA_CMPi_LD_SPK8                               1
    #define   LSb16ISA_CMPi_LD_SPK8                               1
    #define       bISA_CMPi_LD_SPK8                            1
    #define   MSK32ISA_CMPi_LD_SPK8                               0x00000002

    #define     BA_ISA_CMPi_LD_SPJ                             0x000C
    #define     B16ISA_CMPi_LD_SPJ                             0x000C
    #define   LSb32ISA_CMPi_LD_SPJ                                2
    #define   LSb16ISA_CMPi_LD_SPJ                                2
    #define       bISA_CMPi_LD_SPJ                             1
    #define   MSK32ISA_CMPi_LD_SPJ                                0x00000004

    #define     BA_ISA_CMPi_LD_SP4S                            0x000C
    #define     B16ISA_CMPi_LD_SP4S                            0x000C
    #define   LSb32ISA_CMPi_LD_SP4S                               3
    #define   LSb16ISA_CMPi_LD_SP4S                               3
    #define       bISA_CMPi_LD_SP4S                            1
    #define   MSK32ISA_CMPi_LD_SP4S                               0x00000008

    #define     BA_ISA_CMPi_LD_SP8S                            0x000C
    #define     B16ISA_CMPi_LD_SP8S                            0x000C
    #define   LSb32ISA_CMPi_LD_SP8S                               4
    #define   LSb16ISA_CMPi_LD_SP8S                               4
    #define       bISA_CMPi_LD_SP8S                            1
    #define   MSK32ISA_CMPi_LD_SP8S                               0x00000010

    #define     BA_ISA_CMPi_LD_SP8U                            0x000C
    #define     B16ISA_CMPi_LD_SP8U                            0x000C
    #define   LSb32ISA_CMPi_LD_SP8U                               5
    #define   LSb16ISA_CMPi_LD_SP8U                               5
    #define       bISA_CMPi_LD_SP8U                            1
    #define   MSK32ISA_CMPi_LD_SP8U                               0x00000020

    #define     BA_ISA_CMPi_LD_SP12S                           0x000C
    #define     B16ISA_CMPi_LD_SP12S                           0x000C
    #define   LSb32ISA_CMPi_LD_SP12S                              6
    #define   LSb16ISA_CMPi_LD_SP12S                              6
    #define       bISA_CMPi_LD_SP12S                           1
    #define   MSK32ISA_CMPi_LD_SP12S                              0x00000040

    #define     BA_ISA_CMPi_LD_SP16                            0x000C
    #define     B16ISA_CMPi_LD_SP16                            0x000C
    #define   LSb32ISA_CMPi_LD_SP16                               7
    #define   LSb16ISA_CMPi_LD_SP16                               7
    #define       bISA_CMPi_LD_SP16                            1
    #define   MSK32ISA_CMPi_LD_SP16                               0x00000080

    #define     BA_ISA_CMPi_LD_TPRF                            0x000D
    #define     B16ISA_CMPi_LD_TPRF                            0x000C
    #define   LSb32ISA_CMPi_LD_TPRF                               8
    #define   LSb16ISA_CMPi_LD_TPRF                               8
    #define       bISA_CMPi_LD_TPRF                            1
    #define   MSK32ISA_CMPi_LD_TPRF                               0x00000100

    #define     BA_ISA_CMPi_LD_TPJ                             0x000D
    #define     B16ISA_CMPi_LD_TPJ                             0x000C
    #define   LSb32ISA_CMPi_LD_TPJ                                9
    #define   LSb16ISA_CMPi_LD_TPJ                                9
    #define       bISA_CMPi_LD_TPJ                             1
    #define   MSK32ISA_CMPi_LD_TPJ                                0x00000200

    #define     BA_ISA_CMPi_LD_TP4S                            0x000D
    #define     B16ISA_CMPi_LD_TP4S                            0x000C
    #define   LSb32ISA_CMPi_LD_TP4S                               10
    #define   LSb16ISA_CMPi_LD_TP4S                               10
    #define       bISA_CMPi_LD_TP4S                            1
    #define   MSK32ISA_CMPi_LD_TP4S                               0x00000400

    #define     BA_ISA_CMPi_LD_TP8L                            0x000D
    #define     B16ISA_CMPi_LD_TP8L                            0x000C
    #define   LSb32ISA_CMPi_LD_TP8L                               11
    #define   LSb16ISA_CMPi_LD_TP8L                               11
    #define       bISA_CMPi_LD_TP8L                            1
    #define   MSK32ISA_CMPi_LD_TP8L                               0x00000800

    #define     BA_ISA_CMPi_LD_TP8H                            0x000D
    #define     B16ISA_CMPi_LD_TP8H                            0x000C
    #define   LSb32ISA_CMPi_LD_TP8H                               12
    #define   LSb16ISA_CMPi_LD_TP8H                               12
    #define       bISA_CMPi_LD_TP8H                            1
    #define   MSK32ISA_CMPi_LD_TP8H                               0x00001000

    #define     BA_ISA_CMPi_LD_TP8LF                           0x000D
    #define     B16ISA_CMPi_LD_TP8LF                           0x000C
    #define   LSb32ISA_CMPi_LD_TP8LF                              13
    #define   LSb16ISA_CMPi_LD_TP8LF                              13
    #define       bISA_CMPi_LD_TP8LF                           1
    #define   MSK32ISA_CMPi_LD_TP8LF                              0x00002000

    #define     BA_ISA_CMPi_LD_TP8HF                           0x000D
    #define     B16ISA_CMPi_LD_TP8HF                           0x000C
    #define   LSb32ISA_CMPi_LD_TP8HF                              14
    #define   LSb16ISA_CMPi_LD_TP8HF                              14
    #define       bISA_CMPi_LD_TP8HF                           1
    #define   MSK32ISA_CMPi_LD_TP8HF                              0x00004000

    #define     BA_ISA_CMPi_LD_SQRF64                          0x000D
    #define     B16ISA_CMPi_LD_SQRF64                          0x000C
    #define   LSb32ISA_CMPi_LD_SQRF64                             15
    #define   LSb16ISA_CMPi_LD_SQRF64                             15
    #define       bISA_CMPi_LD_SQRF64                          1
    #define   MSK32ISA_CMPi_LD_SQRF64                             0x00008000

    #define     BA_ISA_CMPi_LD_TQRF16Q                         0x000E
    #define     B16ISA_CMPi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_CMPi_LD_TQRF16Q                            16
    #define   LSb16ISA_CMPi_LD_TQRF16Q                            0
    #define       bISA_CMPi_LD_TQRF16Q                         1
    #define   MSK32ISA_CMPi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_CMPi_LD_TQRFx4                          0x000E
    #define     B16ISA_CMPi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_CMPi_LD_TQRFx4                             17
    #define   LSb16ISA_CMPi_LD_TQRFx4                             1
    #define       bISA_CMPi_LD_TQRFx4                          1
    #define   MSK32ISA_CMPi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_CMPi_LD_RD                              0x000E
    #define     B16ISA_CMPi_LD_RD                              0x000E
    #define   LSb32ISA_CMPi_LD_RD                                 18
    #define   LSb16ISA_CMPi_LD_RD                                 2
    #define       bISA_CMPi_LD_RD                              1
    #define   MSK32ISA_CMPi_LD_RD                                 0x00040000

    #define     BA_ISA_CMPi_LD_WARF                            0x000E
    #define     B16ISA_CMPi_LD_WARF                            0x000E
    #define   LSb32ISA_CMPi_LD_WARF                               19
    #define   LSb16ISA_CMPi_LD_WARF                               3
    #define       bISA_CMPi_LD_WARF                            1
    #define   MSK32ISA_CMPi_LD_WARF                               0x00080000

    #define     BA_ISA_CMPi_LD_WAK8                            0x000E
    #define     B16ISA_CMPi_LD_WAK8                            0x000E
    #define   LSb32ISA_CMPi_LD_WAK8                               20
    #define   LSb16ISA_CMPi_LD_WAK8                               4
    #define       bISA_CMPi_LD_WAK8                            1
    #define   MSK32ISA_CMPi_LD_WAK8                               0x00100000

    #define     BA_ISA_CMPi_LD_WAK16                           0x000E
    #define     B16ISA_CMPi_LD_WAK16                           0x000E
    #define   LSb32ISA_CMPi_LD_WAK16                              21
    #define   LSb16ISA_CMPi_LD_WAK16                              5
    #define       bISA_CMPi_LD_WAK16                           1
    #define   MSK32ISA_CMPi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_EX                                 0x0010

    #define     BA_ISA_CMPi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_CMPi_EX_ALU16FlagZ                         0
    #define       bISA_CMPi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_CMPi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_CMPi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagC                         1
    #define   LSb16ISA_CMPi_EX_ALU16FlagC                         1
    #define       bISA_CMPi_EX_ALU16FlagC                      1
    #define   MSK32ISA_CMPi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_CMPi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagN                         2
    #define   LSb16ISA_CMPi_EX_ALU16FlagN                         2
    #define       bISA_CMPi_EX_ALU16FlagN                      1
    #define   MSK32ISA_CMPi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_CMPi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagV                         3
    #define   LSb16ISA_CMPi_EX_ALU16FlagV                         3
    #define       bISA_CMPi_EX_ALU16FlagV                      1
    #define   MSK32ISA_CMPi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_CMPi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_CMPi_EX_ALU16FlagTP                        4
    #define       bISA_CMPi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_CMPi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_CMPi_EX_ALU16MUL                        0x0010
    #define     B16ISA_CMPi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16MUL                           5
    #define   LSb16ISA_CMPi_EX_ALU16MUL                           5
    #define       bISA_CMPi_EX_ALU16MUL                        1
    #define   MSK32ISA_CMPi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_CMPi_EX_ALU16DIV                        0x0010
    #define     B16ISA_CMPi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16DIV                           6
    #define   LSb16ISA_CMPi_EX_ALU16DIV                           6
    #define       bISA_CMPi_EX_ALU16DIV                        1
    #define   MSK32ISA_CMPi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_CMPi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_CMPi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_CMPi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_CMPi_EX_ALU16FlagLD                        7
    #define       bISA_CMPi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_CMPi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_CMPi_EX_ALU16MDL                        0x0011
    #define     B16ISA_CMPi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16MDL                           8
    #define   LSb16ISA_CMPi_EX_ALU16MDL                           8
    #define       bISA_CMPi_EX_ALU16MDL                        1
    #define   MSK32ISA_CMPi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_CMPi_EX_ALU16MDH                        0x0011
    #define     B16ISA_CMPi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16MDH                           9
    #define   LSb16ISA_CMPi_EX_ALU16MDH                           9
    #define       bISA_CMPi_EX_ALU16MDH                        1
    #define   MSK32ISA_CMPi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_CMPi_EX_ALU16ADD                        0x0011
    #define     B16ISA_CMPi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16ADD                           10
    #define   LSb16ISA_CMPi_EX_ALU16ADD                           10
    #define       bISA_CMPi_EX_ALU16ADD                        1
    #define   MSK32ISA_CMPi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_CMPi_EX_ALU16SUB                        0x0011
    #define     B16ISA_CMPi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16SUB                           11
    #define   LSb16ISA_CMPi_EX_ALU16SUB                           11
    #define       bISA_CMPi_EX_ALU16SUB                        1
    #define   MSK32ISA_CMPi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_CMPi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_CMPi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_CMPi_EX_ALU16ADDC                          12
    #define   LSb16ISA_CMPi_EX_ALU16ADDC                          12
    #define       bISA_CMPi_EX_ALU16ADDC                       1
    #define   MSK32ISA_CMPi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_CMPi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_CMPi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_CMPi_EX_ALU16SUBC                          13
    #define   LSb16ISA_CMPi_EX_ALU16SUBC                          13
    #define       bISA_CMPi_EX_ALU16SUBC                       1
    #define   MSK32ISA_CMPi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_CMPi_EX_ALU16ASR                        0x0011
    #define     B16ISA_CMPi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_CMPi_EX_ALU16ASR                           14
    #define   LSb16ISA_CMPi_EX_ALU16ASR                           14
    #define       bISA_CMPi_EX_ALU16ASR                        1
    #define   MSK32ISA_CMPi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_CMPi_EX_ALU16SL                         0x0011
    #define     B16ISA_CMPi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_CMPi_EX_ALU16SL                            15
    #define   LSb16ISA_CMPi_EX_ALU16SL                            15
    #define       bISA_CMPi_EX_ALU16SL                         1
    #define   MSK32ISA_CMPi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_CMPi_EX_ALU16SR                         0x0012
    #define     B16ISA_CMPi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_CMPi_EX_ALU16SR                            16
    #define   LSb16ISA_CMPi_EX_ALU16SR                            0
    #define       bISA_CMPi_EX_ALU16SR                         1
    #define   MSK32ISA_CMPi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_CMPi_EX_ALU16GET                        0x0012
    #define     B16ISA_CMPi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_CMPi_EX_ALU16GET                           17
    #define   LSb16ISA_CMPi_EX_ALU16GET                           1
    #define       bISA_CMPi_EX_ALU16GET                        1
    #define   MSK32ISA_CMPi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_CMPi_EX_ALU16SET                        0x0012
    #define     B16ISA_CMPi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_CMPi_EX_ALU16SET                           18
    #define   LSb16ISA_CMPi_EX_ALU16SET                           2
    #define       bISA_CMPi_EX_ALU16SET                        1
    #define   MSK32ISA_CMPi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_CMPi_EX_ALU16SEL                        0x0012
    #define     B16ISA_CMPi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_CMPi_EX_ALU16SEL                           19
    #define   LSb16ISA_CMPi_EX_ALU16SEL                           3
    #define       bISA_CMPi_EX_ALU16SEL                        1
    #define   MSK32ISA_CMPi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_CMPi_EX_ALU16OR                         0x0012
    #define     B16ISA_CMPi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_CMPi_EX_ALU16OR                            20
    #define   LSb16ISA_CMPi_EX_ALU16OR                            4
    #define       bISA_CMPi_EX_ALU16OR                         1
    #define   MSK32ISA_CMPi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_CMPi_EX_ALU16AND                        0x0012
    #define     B16ISA_CMPi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_CMPi_EX_ALU16AND                           21
    #define   LSb16ISA_CMPi_EX_ALU16AND                           5
    #define       bISA_CMPi_EX_ALU16AND                        1
    #define   MSK32ISA_CMPi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_CMPi_EX_ALU16XOR                        0x0012
    #define     B16ISA_CMPi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_CMPi_EX_ALU16XOR                           22
    #define   LSb16ISA_CMPi_EX_ALU16XOR                           6
    #define       bISA_CMPi_EX_ALU16XOR                        1
    #define   MSK32ISA_CMPi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_CMPi_EX_ALU16SP                         0x0012
    #define     B16ISA_CMPi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_CMPi_EX_ALU16SP                            23
    #define   LSb16ISA_CMPi_EX_ALU16SP                            7
    #define       bISA_CMPi_EX_ALU16SP                         1
    #define   MSK32ISA_CMPi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_EXX                                0x0014

    #define     BA_ISA_CMPi_EXX_WRSQ                           0x0014
    #define     B16ISA_CMPi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_CMPi_EXX_WRSQ                              0
    #define   LSb16ISA_CMPi_EXX_WRSQ                              0
    #define       bISA_CMPi_EXX_WRSQ                           1
    #define   MSK32ISA_CMPi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_CMPi_EXX_WR16                           0x0014
    #define     B16ISA_CMPi_EXX_WR16                           0x0014
    #define   LSb32ISA_CMPi_EXX_WR16                              1
    #define   LSb16ISA_CMPi_EXX_WR16                              1
    #define       bISA_CMPi_EXX_WR16                           1
    #define   MSK32ISA_CMPi_EXX_WR16                              0x00000002

    #define     BA_ISA_CMPi_EXX_WRTQ                           0x0014
    #define     B16ISA_CMPi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_CMPi_EXX_WRTQ                              2
    #define   LSb16ISA_CMPi_EXX_WRTQ                              2
    #define       bISA_CMPi_EXX_WRTQ                           1
    #define   MSK32ISA_CMPi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_CMPi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_CMPi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_CMPi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_CMPi_EXX_ALU64PUSH                         3
    #define       bISA_CMPi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_CMPi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_CMPi_EXX_ALU64POP                       0x0014
    #define     B16ISA_CMPi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_CMPi_EXX_ALU64POP                          4
    #define   LSb16ISA_CMPi_EXX_ALU64POP                          4
    #define       bISA_CMPi_EXX_ALU64POP                       1
    #define   MSK32ISA_CMPi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_CMPi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_CMPi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_CMPi_EXX_ALU64SQ                           5
    #define   LSb16ISA_CMPi_EXX_ALU64SQ                           5
    #define       bISA_CMPi_EXX_ALU64SQ                        1
    #define   MSK32ISA_CMPi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_CMPi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_CMPi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_CMPi_EXX_ALU64TQ                           6
    #define   LSb16ISA_CMPi_EXX_ALU64TQ                           6
    #define       bISA_CMPi_EXX_ALU64TQ                        1
    #define   MSK32ISA_CMPi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_CMPi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_CMPi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_CMPi_EXX_ALU64MEM                          7
    #define   LSb16ISA_CMPi_EXX_ALU64MEM                          7
    #define       bISA_CMPi_EXX_ALU64MEM                       1
    #define   MSK32ISA_CMPi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_CMPi_EXX_BRANCH                         0x0015
    #define     B16ISA_CMPi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_CMPi_EXX_BRANCH                            8
    #define   LSb16ISA_CMPi_EXX_BRANCH                            8
    #define       bISA_CMPi_EXX_BRANCH                         1
    #define   MSK32ISA_CMPi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMPi_WB                                 0x0018

    #define     BA_ISA_CMPi_WB_RF16                            0x0018
    #define     B16ISA_CMPi_WB_RF16                            0x0018
    #define   LSb32ISA_CMPi_WB_RF16                               0
    #define   LSb16ISA_CMPi_WB_RF16                               0
    #define       bISA_CMPi_WB_RF16                            1
    #define   MSK32ISA_CMPi_WB_RF16                               0x00000001

    #define     BA_ISA_CMPi_WB_RF16W0                          0x0018
    #define     B16ISA_CMPi_WB_RF16W0                          0x0018
    #define   LSb32ISA_CMPi_WB_RF16W0                             1
    #define   LSb16ISA_CMPi_WB_RF16W0                             1
    #define       bISA_CMPi_WB_RF16W0                          1
    #define   MSK32ISA_CMPi_WB_RF16W0                             0x00000002

    #define     BA_ISA_CMPi_WB_RF16MEM                         0x0018
    #define     B16ISA_CMPi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_CMPi_WB_RF16MEM                            2
    #define   LSb16ISA_CMPi_WB_RF16MEM                            2
    #define       bISA_CMPi_WB_RF16MEM                         1
    #define   MSK32ISA_CMPi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_CMPi_WB_RF16Q                           0x0018
    #define     B16ISA_CMPi_WB_RF16Q                           0x0018
    #define   LSb32ISA_CMPi_WB_RF16Q                              3
    #define   LSb16ISA_CMPi_WB_RF16Q                              3
    #define       bISA_CMPi_WB_RF16Q                           1
    #define   MSK32ISA_CMPi_WB_RF16Q                              0x00000008

    #define     BA_ISA_CMPi_WB_RF64                            0x0018
    #define     B16ISA_CMPi_WB_RF64                            0x0018
    #define   LSb32ISA_CMPi_WB_RF64                               4
    #define   LSb16ISA_CMPi_WB_RF64                               4
    #define       bISA_CMPi_WB_RF64                            1
    #define   MSK32ISA_CMPi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_CMPi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_CMPi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_CMPi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_CMPi_Mask;
            struct w32ISA_CMPi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_CMPi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_CMPi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_CMPi_Opcode;
            struct w32ISA_CMPi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMPi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMPi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMPi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMPi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMPi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMPi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMPi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMPi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMPi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMPi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMPi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMPi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMPi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMPi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMPi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMPi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMPi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMPi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMPi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMPi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_CMPi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_CMPi_ID;
            struct w32ISA_CMPi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMPi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMPi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMPi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMPi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMPi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMPi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMPi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMPi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMPi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMPi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMPi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMPi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMPi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMPi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMPi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMPi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMPi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMPi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMPi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMPi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMPi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMPi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMPi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMPi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_CMPi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_CMPi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_CMPi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_CMPi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_CMPi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_CMPi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_CMPi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_CMPi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_CMPi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_CMPi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_CMPi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_CMPi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_CMPi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_CMPi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_CMPi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_CMPi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_CMPi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_CMPi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_CMPi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_CMPi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_CMPi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_CMPi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_CMPi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_CMPi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_CMPi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_CMPi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_CMPi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_CMPi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_CMPi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_CMPi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_CMPi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_CMPi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_CMPi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_CMPi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_CMPi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_CMPi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_CMPi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_CMPi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_CMPi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_CMPi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_CMPi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_CMPi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_CMPi_LD;
            struct w32ISA_CMPi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMPi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMPi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMPi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMPi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMPi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMPi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMPi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMPi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMPi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMPi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMPi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMPi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMPi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMPi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMPi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMPi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMPi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMPi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMPi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_CMPi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_CMPi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_CMPi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_CMPi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_CMPi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_CMPi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_CMPi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_CMPi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_CMPi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_CMPi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_CMPi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_CMPi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_CMPi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_CMPi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_CMPi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_CMPi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_CMPi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_CMPi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_CMPi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_CMPi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_CMPi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_CMPi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_CMPi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_CMPi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_CMPi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_CMPi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_CMPi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_CMPi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_CMPi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_CMPi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_CMPi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_CMPi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_CMPi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_CMPi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_CMPi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_CMPi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_CMPi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_CMPi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_CMPi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_CMPi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_CMPi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMPi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_CMPi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_CMPi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMPi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMPi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_CMPi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_CMPi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMPi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_CMPi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_CMPi_EX;
            struct w32ISA_CMPi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMPi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMPi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMPi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMPi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMPi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMPi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMPi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMPi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMPi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMPi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMPi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMPi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMPi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMPi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMPi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMPi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMPi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMPi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMPi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMPi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMPi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMPi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMPi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMPi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMPi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMPi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_CMPi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_CMPi_EXX;
            struct w32ISA_CMPi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMPi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMPi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMPi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMPi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMPi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMPi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMPi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMPi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMPi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMPi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMPi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMPi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMPi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMPi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMPi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMPi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMPi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMPi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMPi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMPi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_CMPi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_CMPi_WB;
            struct w32ISA_CMPi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_CMPi;

    typedef union  T32ISA_CMPi_Mask
          { UNSG32 u32;
            struct w32ISA_CMPi_Mask;
                 } T32ISA_CMPi_Mask;
    typedef union  T32ISA_CMPi_Opcode
          { UNSG32 u32;
            struct w32ISA_CMPi_Opcode;
                 } T32ISA_CMPi_Opcode;
    typedef union  T32ISA_CMPi_ID
          { UNSG32 u32;
            struct w32ISA_CMPi_ID;
                 } T32ISA_CMPi_ID;
    typedef union  T32ISA_CMPi_LD
          { UNSG32 u32;
            struct w32ISA_CMPi_LD;
                 } T32ISA_CMPi_LD;
    typedef union  T32ISA_CMPi_EX
          { UNSG32 u32;
            struct w32ISA_CMPi_EX;
                 } T32ISA_CMPi_EX;
    typedef union  T32ISA_CMPi_EXX
          { UNSG32 u32;
            struct w32ISA_CMPi_EXX;
                 } T32ISA_CMPi_EXX;
    typedef union  T32ISA_CMPi_WB
          { UNSG32 u32;
            struct w32ISA_CMPi_WB;
                 } T32ISA_CMPi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_CMPi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_Mask;
                   };
                 } TISA_CMPi_Mask;
    typedef union  TISA_CMPi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_Opcode;
                   };
                 } TISA_CMPi_Opcode;
    typedef union  TISA_CMPi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_ID;
                   };
                 } TISA_CMPi_ID;
    typedef union  TISA_CMPi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_LD;
                   };
                 } TISA_CMPi_LD;
    typedef union  TISA_CMPi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_EX;
                   };
                 } TISA_CMPi_EX;
    typedef union  TISA_CMPi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_EXX;
                   };
                 } TISA_CMPi_EXX;
    typedef union  TISA_CMPi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMPi_WB;
                   };
                 } TISA_CMPi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_CMPi_drvrd(SIE_ISA_CMPi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_CMPi_drvwr(SIE_ISA_CMPi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_CMPi_reset(SIE_ISA_CMPi *p);
     SIGN32 ISA_CMPi_cmp  (SIE_ISA_CMPi *p, SIE_ISA_CMPi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_CMPi_check(p,pie,pfx,hLOG) ISA_CMPi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_CMPi_print(p,    pfx,hLOG) ISA_CMPi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_CMPi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_CMP                                  (4,4)
///     ###
///     * Compare 2 registers.
///     * Same as SUB (%rS - %rT), all flags (ZCNV) will be updated, except no write-back.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x10000
///                                    ###
///                                    * -                                                                 
///                                    * - { "CMP"     , "rS,rT"       , "0000 0001 SSSS ---- TTTT ----" } ,
///                                    * - Usage:
///                                    * -    CMP      %a1, %a2        ; BOOL jmp = (%a1 == %a2);
///                                    * -    PREJ     `EQ, .br, Case1
///                                    * -    ...
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  0x1
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_CMP
#define h_ISA_CMP (){}

    #define     RA_ISA_CMP_Mask                                0x0000

    #define     BA_ISA_CMP_Mask_INS                            0x0000
    #define     B16ISA_CMP_Mask_INS                            0x0000
    #define   LSb32ISA_CMP_Mask_INS                               0
    #define   LSb16ISA_CMP_Mask_INS                               0
    #define       bISA_CMP_Mask_INS                            24
    #define   MSK32ISA_CMP_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_Opcode                              0x0004

    #define     BA_ISA_CMP_Opcode_INS                          0x0004
    #define     B16ISA_CMP_Opcode_INS                          0x0004
    #define   LSb32ISA_CMP_Opcode_INS                             0
    #define   LSb16ISA_CMP_Opcode_INS                             0
    #define       bISA_CMP_Opcode_INS                          24
    #define   MSK32ISA_CMP_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_ID                                  0x0008

    #define     BA_ISA_CMP_ID_RBRF                             0x0008
    #define     B16ISA_CMP_ID_RBRF                             0x0008
    #define   LSb32ISA_CMP_ID_RBRF                                0
    #define   LSb16ISA_CMP_ID_RBRF                                0
    #define       bISA_CMP_ID_RBRF                             1
    #define   MSK32ISA_CMP_ID_RBRF                                0x00000001

    #define     BA_ISA_CMP_ID_RARF                             0x0008
    #define     B16ISA_CMP_ID_RARF                             0x0008
    #define   LSb32ISA_CMP_ID_RARF                                1
    #define   LSb16ISA_CMP_ID_RARF                                1
    #define       bISA_CMP_ID_RARF                             1
    #define   MSK32ISA_CMP_ID_RARF                                0x00000002

    #define     BA_ISA_CMP_ID_RAK8                             0x0008
    #define     B16ISA_CMP_ID_RAK8                             0x0008
    #define   LSb32ISA_CMP_ID_RAK8                                2
    #define   LSb16ISA_CMP_ID_RAK8                                2
    #define       bISA_CMP_ID_RAK8                             1
    #define   MSK32ISA_CMP_ID_RAK8                                0x00000004

    #define     BA_ISA_CMP_ID_RAI16                            0x0008
    #define     B16ISA_CMP_ID_RAI16                            0x0008
    #define   LSb32ISA_CMP_ID_RAI16                               3
    #define   LSb16ISA_CMP_ID_RAI16                               3
    #define       bISA_CMP_ID_RAI16                            1
    #define   MSK32ISA_CMP_ID_RAI16                               0x00000008

    #define     BA_ISA_CMP_ID_RAK16                            0x0008
    #define     B16ISA_CMP_ID_RAK16                            0x0008
    #define   LSb32ISA_CMP_ID_RAK16                               4
    #define   LSb16ISA_CMP_ID_RAK16                               4
    #define       bISA_CMP_ID_RAK16                            1
    #define   MSK32ISA_CMP_ID_RAK16                               0x00000010

    #define     BA_ISA_CMP_ID_RFSP                             0x0008
    #define     B16ISA_CMP_ID_RFSP                             0x0008
    #define   LSb32ISA_CMP_ID_RFSP                                5
    #define   LSb16ISA_CMP_ID_RFSP                                5
    #define       bISA_CMP_ID_RFSP                             1
    #define   MSK32ISA_CMP_ID_RFSP                                0x00000020

    #define     BA_ISA_CMP_ID_W4D4                             0x0008
    #define     B16ISA_CMP_ID_W4D4                             0x0008
    #define   LSb32ISA_CMP_ID_W4D4                                6
    #define   LSb16ISA_CMP_ID_W4D4                                6
    #define       bISA_CMP_ID_W4D4                             1
    #define   MSK32ISA_CMP_ID_W4D4                                0x00000040

    #define     BA_ISA_CMP_ID_W4S4                             0x0008
    #define     B16ISA_CMP_ID_W4S4                             0x0008
    #define   LSb32ISA_CMP_ID_W4S4                                7
    #define   LSb16ISA_CMP_ID_W4S4                                7
    #define       bISA_CMP_ID_W4S4                             1
    #define   MSK32ISA_CMP_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_LD                                  0x000C

    #define     BA_ISA_CMP_LD_SPRF                             0x000C
    #define     B16ISA_CMP_LD_SPRF                             0x000C
    #define   LSb32ISA_CMP_LD_SPRF                                0
    #define   LSb16ISA_CMP_LD_SPRF                                0
    #define       bISA_CMP_LD_SPRF                             1
    #define   MSK32ISA_CMP_LD_SPRF                                0x00000001

    #define     BA_ISA_CMP_LD_SPK8                             0x000C
    #define     B16ISA_CMP_LD_SPK8                             0x000C
    #define   LSb32ISA_CMP_LD_SPK8                                1
    #define   LSb16ISA_CMP_LD_SPK8                                1
    #define       bISA_CMP_LD_SPK8                             1
    #define   MSK32ISA_CMP_LD_SPK8                                0x00000002

    #define     BA_ISA_CMP_LD_SPJ                              0x000C
    #define     B16ISA_CMP_LD_SPJ                              0x000C
    #define   LSb32ISA_CMP_LD_SPJ                                 2
    #define   LSb16ISA_CMP_LD_SPJ                                 2
    #define       bISA_CMP_LD_SPJ                              1
    #define   MSK32ISA_CMP_LD_SPJ                                 0x00000004

    #define     BA_ISA_CMP_LD_SP4S                             0x000C
    #define     B16ISA_CMP_LD_SP4S                             0x000C
    #define   LSb32ISA_CMP_LD_SP4S                                3
    #define   LSb16ISA_CMP_LD_SP4S                                3
    #define       bISA_CMP_LD_SP4S                             1
    #define   MSK32ISA_CMP_LD_SP4S                                0x00000008

    #define     BA_ISA_CMP_LD_SP8S                             0x000C
    #define     B16ISA_CMP_LD_SP8S                             0x000C
    #define   LSb32ISA_CMP_LD_SP8S                                4
    #define   LSb16ISA_CMP_LD_SP8S                                4
    #define       bISA_CMP_LD_SP8S                             1
    #define   MSK32ISA_CMP_LD_SP8S                                0x00000010

    #define     BA_ISA_CMP_LD_SP8U                             0x000C
    #define     B16ISA_CMP_LD_SP8U                             0x000C
    #define   LSb32ISA_CMP_LD_SP8U                                5
    #define   LSb16ISA_CMP_LD_SP8U                                5
    #define       bISA_CMP_LD_SP8U                             1
    #define   MSK32ISA_CMP_LD_SP8U                                0x00000020

    #define     BA_ISA_CMP_LD_SP12S                            0x000C
    #define     B16ISA_CMP_LD_SP12S                            0x000C
    #define   LSb32ISA_CMP_LD_SP12S                               6
    #define   LSb16ISA_CMP_LD_SP12S                               6
    #define       bISA_CMP_LD_SP12S                            1
    #define   MSK32ISA_CMP_LD_SP12S                               0x00000040

    #define     BA_ISA_CMP_LD_SP16                             0x000C
    #define     B16ISA_CMP_LD_SP16                             0x000C
    #define   LSb32ISA_CMP_LD_SP16                                7
    #define   LSb16ISA_CMP_LD_SP16                                7
    #define       bISA_CMP_LD_SP16                             1
    #define   MSK32ISA_CMP_LD_SP16                                0x00000080

    #define     BA_ISA_CMP_LD_TPRF                             0x000D
    #define     B16ISA_CMP_LD_TPRF                             0x000C
    #define   LSb32ISA_CMP_LD_TPRF                                8
    #define   LSb16ISA_CMP_LD_TPRF                                8
    #define       bISA_CMP_LD_TPRF                             1
    #define   MSK32ISA_CMP_LD_TPRF                                0x00000100

    #define     BA_ISA_CMP_LD_TPJ                              0x000D
    #define     B16ISA_CMP_LD_TPJ                              0x000C
    #define   LSb32ISA_CMP_LD_TPJ                                 9
    #define   LSb16ISA_CMP_LD_TPJ                                 9
    #define       bISA_CMP_LD_TPJ                              1
    #define   MSK32ISA_CMP_LD_TPJ                                 0x00000200

    #define     BA_ISA_CMP_LD_TP4S                             0x000D
    #define     B16ISA_CMP_LD_TP4S                             0x000C
    #define   LSb32ISA_CMP_LD_TP4S                                10
    #define   LSb16ISA_CMP_LD_TP4S                                10
    #define       bISA_CMP_LD_TP4S                             1
    #define   MSK32ISA_CMP_LD_TP4S                                0x00000400

    #define     BA_ISA_CMP_LD_TP8L                             0x000D
    #define     B16ISA_CMP_LD_TP8L                             0x000C
    #define   LSb32ISA_CMP_LD_TP8L                                11
    #define   LSb16ISA_CMP_LD_TP8L                                11
    #define       bISA_CMP_LD_TP8L                             1
    #define   MSK32ISA_CMP_LD_TP8L                                0x00000800

    #define     BA_ISA_CMP_LD_TP8H                             0x000D
    #define     B16ISA_CMP_LD_TP8H                             0x000C
    #define   LSb32ISA_CMP_LD_TP8H                                12
    #define   LSb16ISA_CMP_LD_TP8H                                12
    #define       bISA_CMP_LD_TP8H                             1
    #define   MSK32ISA_CMP_LD_TP8H                                0x00001000

    #define     BA_ISA_CMP_LD_TP8LF                            0x000D
    #define     B16ISA_CMP_LD_TP8LF                            0x000C
    #define   LSb32ISA_CMP_LD_TP8LF                               13
    #define   LSb16ISA_CMP_LD_TP8LF                               13
    #define       bISA_CMP_LD_TP8LF                            1
    #define   MSK32ISA_CMP_LD_TP8LF                               0x00002000

    #define     BA_ISA_CMP_LD_TP8HF                            0x000D
    #define     B16ISA_CMP_LD_TP8HF                            0x000C
    #define   LSb32ISA_CMP_LD_TP8HF                               14
    #define   LSb16ISA_CMP_LD_TP8HF                               14
    #define       bISA_CMP_LD_TP8HF                            1
    #define   MSK32ISA_CMP_LD_TP8HF                               0x00004000

    #define     BA_ISA_CMP_LD_SQRF64                           0x000D
    #define     B16ISA_CMP_LD_SQRF64                           0x000C
    #define   LSb32ISA_CMP_LD_SQRF64                              15
    #define   LSb16ISA_CMP_LD_SQRF64                              15
    #define       bISA_CMP_LD_SQRF64                           1
    #define   MSK32ISA_CMP_LD_SQRF64                              0x00008000

    #define     BA_ISA_CMP_LD_TQRF16Q                          0x000E
    #define     B16ISA_CMP_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_CMP_LD_TQRF16Q                             16
    #define   LSb16ISA_CMP_LD_TQRF16Q                             0
    #define       bISA_CMP_LD_TQRF16Q                          1
    #define   MSK32ISA_CMP_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_CMP_LD_TQRFx4                           0x000E
    #define     B16ISA_CMP_LD_TQRFx4                           0x000E
    #define   LSb32ISA_CMP_LD_TQRFx4                              17
    #define   LSb16ISA_CMP_LD_TQRFx4                              1
    #define       bISA_CMP_LD_TQRFx4                           1
    #define   MSK32ISA_CMP_LD_TQRFx4                              0x00020000

    #define     BA_ISA_CMP_LD_RD                               0x000E
    #define     B16ISA_CMP_LD_RD                               0x000E
    #define   LSb32ISA_CMP_LD_RD                                  18
    #define   LSb16ISA_CMP_LD_RD                                  2
    #define       bISA_CMP_LD_RD                               1
    #define   MSK32ISA_CMP_LD_RD                                  0x00040000

    #define     BA_ISA_CMP_LD_WARF                             0x000E
    #define     B16ISA_CMP_LD_WARF                             0x000E
    #define   LSb32ISA_CMP_LD_WARF                                19
    #define   LSb16ISA_CMP_LD_WARF                                3
    #define       bISA_CMP_LD_WARF                             1
    #define   MSK32ISA_CMP_LD_WARF                                0x00080000

    #define     BA_ISA_CMP_LD_WAK8                             0x000E
    #define     B16ISA_CMP_LD_WAK8                             0x000E
    #define   LSb32ISA_CMP_LD_WAK8                                20
    #define   LSb16ISA_CMP_LD_WAK8                                4
    #define       bISA_CMP_LD_WAK8                             1
    #define   MSK32ISA_CMP_LD_WAK8                                0x00100000

    #define     BA_ISA_CMP_LD_WAK16                            0x000E
    #define     B16ISA_CMP_LD_WAK16                            0x000E
    #define   LSb32ISA_CMP_LD_WAK16                               21
    #define   LSb16ISA_CMP_LD_WAK16                               5
    #define       bISA_CMP_LD_WAK16                            1
    #define   MSK32ISA_CMP_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_EX                                  0x0010

    #define     BA_ISA_CMP_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_CMP_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagZ                          0
    #define   LSb16ISA_CMP_EX_ALU16FlagZ                          0
    #define       bISA_CMP_EX_ALU16FlagZ                       1
    #define   MSK32ISA_CMP_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_CMP_EX_ALU16FlagC                       0x0010
    #define     B16ISA_CMP_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagC                          1
    #define   LSb16ISA_CMP_EX_ALU16FlagC                          1
    #define       bISA_CMP_EX_ALU16FlagC                       1
    #define   MSK32ISA_CMP_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_CMP_EX_ALU16FlagN                       0x0010
    #define     B16ISA_CMP_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagN                          2
    #define   LSb16ISA_CMP_EX_ALU16FlagN                          2
    #define       bISA_CMP_EX_ALU16FlagN                       1
    #define   MSK32ISA_CMP_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_CMP_EX_ALU16FlagV                       0x0010
    #define     B16ISA_CMP_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagV                          3
    #define   LSb16ISA_CMP_EX_ALU16FlagV                          3
    #define       bISA_CMP_EX_ALU16FlagV                       1
    #define   MSK32ISA_CMP_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_CMP_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_CMP_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagTP                         4
    #define   LSb16ISA_CMP_EX_ALU16FlagTP                         4
    #define       bISA_CMP_EX_ALU16FlagTP                      1
    #define   MSK32ISA_CMP_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_CMP_EX_ALU16MUL                         0x0010
    #define     B16ISA_CMP_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16MUL                            5
    #define   LSb16ISA_CMP_EX_ALU16MUL                            5
    #define       bISA_CMP_EX_ALU16MUL                         1
    #define   MSK32ISA_CMP_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_CMP_EX_ALU16DIV                         0x0010
    #define     B16ISA_CMP_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16DIV                            6
    #define   LSb16ISA_CMP_EX_ALU16DIV                            6
    #define       bISA_CMP_EX_ALU16DIV                         1
    #define   MSK32ISA_CMP_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_CMP_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_CMP_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_CMP_EX_ALU16FlagLD                         7
    #define   LSb16ISA_CMP_EX_ALU16FlagLD                         7
    #define       bISA_CMP_EX_ALU16FlagLD                      1
    #define   MSK32ISA_CMP_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_CMP_EX_ALU16MDL                         0x0011
    #define     B16ISA_CMP_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16MDL                            8
    #define   LSb16ISA_CMP_EX_ALU16MDL                            8
    #define       bISA_CMP_EX_ALU16MDL                         1
    #define   MSK32ISA_CMP_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_CMP_EX_ALU16MDH                         0x0011
    #define     B16ISA_CMP_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16MDH                            9
    #define   LSb16ISA_CMP_EX_ALU16MDH                            9
    #define       bISA_CMP_EX_ALU16MDH                         1
    #define   MSK32ISA_CMP_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_CMP_EX_ALU16ADD                         0x0011
    #define     B16ISA_CMP_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16ADD                            10
    #define   LSb16ISA_CMP_EX_ALU16ADD                            10
    #define       bISA_CMP_EX_ALU16ADD                         1
    #define   MSK32ISA_CMP_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_CMP_EX_ALU16SUB                         0x0011
    #define     B16ISA_CMP_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16SUB                            11
    #define   LSb16ISA_CMP_EX_ALU16SUB                            11
    #define       bISA_CMP_EX_ALU16SUB                         1
    #define   MSK32ISA_CMP_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_CMP_EX_ALU16ADDC                        0x0011
    #define     B16ISA_CMP_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_CMP_EX_ALU16ADDC                           12
    #define   LSb16ISA_CMP_EX_ALU16ADDC                           12
    #define       bISA_CMP_EX_ALU16ADDC                        1
    #define   MSK32ISA_CMP_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_CMP_EX_ALU16SUBC                        0x0011
    #define     B16ISA_CMP_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_CMP_EX_ALU16SUBC                           13
    #define   LSb16ISA_CMP_EX_ALU16SUBC                           13
    #define       bISA_CMP_EX_ALU16SUBC                        1
    #define   MSK32ISA_CMP_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_CMP_EX_ALU16ASR                         0x0011
    #define     B16ISA_CMP_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_CMP_EX_ALU16ASR                            14
    #define   LSb16ISA_CMP_EX_ALU16ASR                            14
    #define       bISA_CMP_EX_ALU16ASR                         1
    #define   MSK32ISA_CMP_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_CMP_EX_ALU16SL                          0x0011
    #define     B16ISA_CMP_EX_ALU16SL                          0x0010
    #define   LSb32ISA_CMP_EX_ALU16SL                             15
    #define   LSb16ISA_CMP_EX_ALU16SL                             15
    #define       bISA_CMP_EX_ALU16SL                          1
    #define   MSK32ISA_CMP_EX_ALU16SL                             0x00008000

    #define     BA_ISA_CMP_EX_ALU16SR                          0x0012
    #define     B16ISA_CMP_EX_ALU16SR                          0x0012
    #define   LSb32ISA_CMP_EX_ALU16SR                             16
    #define   LSb16ISA_CMP_EX_ALU16SR                             0
    #define       bISA_CMP_EX_ALU16SR                          1
    #define   MSK32ISA_CMP_EX_ALU16SR                             0x00010000

    #define     BA_ISA_CMP_EX_ALU16GET                         0x0012
    #define     B16ISA_CMP_EX_ALU16GET                         0x0012
    #define   LSb32ISA_CMP_EX_ALU16GET                            17
    #define   LSb16ISA_CMP_EX_ALU16GET                            1
    #define       bISA_CMP_EX_ALU16GET                         1
    #define   MSK32ISA_CMP_EX_ALU16GET                            0x00020000

    #define     BA_ISA_CMP_EX_ALU16SET                         0x0012
    #define     B16ISA_CMP_EX_ALU16SET                         0x0012
    #define   LSb32ISA_CMP_EX_ALU16SET                            18
    #define   LSb16ISA_CMP_EX_ALU16SET                            2
    #define       bISA_CMP_EX_ALU16SET                         1
    #define   MSK32ISA_CMP_EX_ALU16SET                            0x00040000

    #define     BA_ISA_CMP_EX_ALU16SEL                         0x0012
    #define     B16ISA_CMP_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_CMP_EX_ALU16SEL                            19
    #define   LSb16ISA_CMP_EX_ALU16SEL                            3
    #define       bISA_CMP_EX_ALU16SEL                         1
    #define   MSK32ISA_CMP_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_CMP_EX_ALU16OR                          0x0012
    #define     B16ISA_CMP_EX_ALU16OR                          0x0012
    #define   LSb32ISA_CMP_EX_ALU16OR                             20
    #define   LSb16ISA_CMP_EX_ALU16OR                             4
    #define       bISA_CMP_EX_ALU16OR                          1
    #define   MSK32ISA_CMP_EX_ALU16OR                             0x00100000

    #define     BA_ISA_CMP_EX_ALU16AND                         0x0012
    #define     B16ISA_CMP_EX_ALU16AND                         0x0012
    #define   LSb32ISA_CMP_EX_ALU16AND                            21
    #define   LSb16ISA_CMP_EX_ALU16AND                            5
    #define       bISA_CMP_EX_ALU16AND                         1
    #define   MSK32ISA_CMP_EX_ALU16AND                            0x00200000

    #define     BA_ISA_CMP_EX_ALU16XOR                         0x0012
    #define     B16ISA_CMP_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_CMP_EX_ALU16XOR                            22
    #define   LSb16ISA_CMP_EX_ALU16XOR                            6
    #define       bISA_CMP_EX_ALU16XOR                         1
    #define   MSK32ISA_CMP_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_CMP_EX_ALU16SP                          0x0012
    #define     B16ISA_CMP_EX_ALU16SP                          0x0012
    #define   LSb32ISA_CMP_EX_ALU16SP                             23
    #define   LSb16ISA_CMP_EX_ALU16SP                             7
    #define       bISA_CMP_EX_ALU16SP                          1
    #define   MSK32ISA_CMP_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_EXX                                 0x0014

    #define     BA_ISA_CMP_EXX_WRSQ                            0x0014
    #define     B16ISA_CMP_EXX_WRSQ                            0x0014
    #define   LSb32ISA_CMP_EXX_WRSQ                               0
    #define   LSb16ISA_CMP_EXX_WRSQ                               0
    #define       bISA_CMP_EXX_WRSQ                            1
    #define   MSK32ISA_CMP_EXX_WRSQ                               0x00000001

    #define     BA_ISA_CMP_EXX_WR16                            0x0014
    #define     B16ISA_CMP_EXX_WR16                            0x0014
    #define   LSb32ISA_CMP_EXX_WR16                               1
    #define   LSb16ISA_CMP_EXX_WR16                               1
    #define       bISA_CMP_EXX_WR16                            1
    #define   MSK32ISA_CMP_EXX_WR16                               0x00000002

    #define     BA_ISA_CMP_EXX_WRTQ                            0x0014
    #define     B16ISA_CMP_EXX_WRTQ                            0x0014
    #define   LSb32ISA_CMP_EXX_WRTQ                               2
    #define   LSb16ISA_CMP_EXX_WRTQ                               2
    #define       bISA_CMP_EXX_WRTQ                            1
    #define   MSK32ISA_CMP_EXX_WRTQ                               0x00000004

    #define     BA_ISA_CMP_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_CMP_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_CMP_EXX_ALU64PUSH                          3
    #define   LSb16ISA_CMP_EXX_ALU64PUSH                          3
    #define       bISA_CMP_EXX_ALU64PUSH                       1
    #define   MSK32ISA_CMP_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_CMP_EXX_ALU64POP                        0x0014
    #define     B16ISA_CMP_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_CMP_EXX_ALU64POP                           4
    #define   LSb16ISA_CMP_EXX_ALU64POP                           4
    #define       bISA_CMP_EXX_ALU64POP                        1
    #define   MSK32ISA_CMP_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_CMP_EXX_ALU64SQ                         0x0014
    #define     B16ISA_CMP_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_CMP_EXX_ALU64SQ                            5
    #define   LSb16ISA_CMP_EXX_ALU64SQ                            5
    #define       bISA_CMP_EXX_ALU64SQ                         1
    #define   MSK32ISA_CMP_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_CMP_EXX_ALU64TQ                         0x0014
    #define     B16ISA_CMP_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_CMP_EXX_ALU64TQ                            6
    #define   LSb16ISA_CMP_EXX_ALU64TQ                            6
    #define       bISA_CMP_EXX_ALU64TQ                         1
    #define   MSK32ISA_CMP_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_CMP_EXX_ALU64MEM                        0x0014
    #define     B16ISA_CMP_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_CMP_EXX_ALU64MEM                           7
    #define   LSb16ISA_CMP_EXX_ALU64MEM                           7
    #define       bISA_CMP_EXX_ALU64MEM                        1
    #define   MSK32ISA_CMP_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_CMP_EXX_BRANCH                          0x0015
    #define     B16ISA_CMP_EXX_BRANCH                          0x0014
    #define   LSb32ISA_CMP_EXX_BRANCH                             8
    #define   LSb16ISA_CMP_EXX_BRANCH                             8
    #define       bISA_CMP_EXX_BRANCH                          1
    #define   MSK32ISA_CMP_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_CMP_WB                                  0x0018

    #define     BA_ISA_CMP_WB_RF16                             0x0018
    #define     B16ISA_CMP_WB_RF16                             0x0018
    #define   LSb32ISA_CMP_WB_RF16                                0
    #define   LSb16ISA_CMP_WB_RF16                                0
    #define       bISA_CMP_WB_RF16                             1
    #define   MSK32ISA_CMP_WB_RF16                                0x00000001

    #define     BA_ISA_CMP_WB_RF16W0                           0x0018
    #define     B16ISA_CMP_WB_RF16W0                           0x0018
    #define   LSb32ISA_CMP_WB_RF16W0                              1
    #define   LSb16ISA_CMP_WB_RF16W0                              1
    #define       bISA_CMP_WB_RF16W0                           1
    #define   MSK32ISA_CMP_WB_RF16W0                              0x00000002

    #define     BA_ISA_CMP_WB_RF16MEM                          0x0018
    #define     B16ISA_CMP_WB_RF16MEM                          0x0018
    #define   LSb32ISA_CMP_WB_RF16MEM                             2
    #define   LSb16ISA_CMP_WB_RF16MEM                             2
    #define       bISA_CMP_WB_RF16MEM                          1
    #define   MSK32ISA_CMP_WB_RF16MEM                             0x00000004

    #define     BA_ISA_CMP_WB_RF16Q                            0x0018
    #define     B16ISA_CMP_WB_RF16Q                            0x0018
    #define   LSb32ISA_CMP_WB_RF16Q                               3
    #define   LSb16ISA_CMP_WB_RF16Q                               3
    #define       bISA_CMP_WB_RF16Q                            1
    #define   MSK32ISA_CMP_WB_RF16Q                               0x00000008

    #define     BA_ISA_CMP_WB_RF64                             0x0018
    #define     B16ISA_CMP_WB_RF64                             0x0018
    #define   LSb32ISA_CMP_WB_RF64                                4
    #define   LSb16ISA_CMP_WB_RF64                                4
    #define       bISA_CMP_WB_RF64                             1
    #define   MSK32ISA_CMP_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_CMP {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_CMP_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_CMP_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_CMP_Mask;
            struct w32ISA_CMP_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_CMP_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_CMP_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_CMP_Opcode;
            struct w32ISA_CMP_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMP_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMP_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMP_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMP_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMP_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMP_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMP_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMP_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMP_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMP_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMP_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMP_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMP_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMP_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMP_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMP_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMP_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMP_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMP_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMP_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_CMP_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_CMP_ID;
            struct w32ISA_CMP_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMP_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMP_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMP_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMP_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMP_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMP_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMP_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMP_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMP_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMP_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMP_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMP_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMP_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMP_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMP_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMP_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMP_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMP_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMP_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMP_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMP_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMP_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMP_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMP_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_CMP_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_CMP_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_CMP_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_CMP_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_CMP_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_CMP_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_CMP_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_CMP_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_CMP_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_CMP_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_CMP_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_CMP_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_CMP_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_CMP_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_CMP_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_CMP_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_CMP_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_CMP_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_CMP_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_CMP_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_CMP_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_CMP_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_CMP_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_CMP_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_CMP_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_CMP_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_CMP_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_CMP_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_CMP_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_CMP_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_CMP_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_CMP_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_CMP_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_CMP_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_CMP_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_CMP_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_CMP_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_CMP_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_CMP_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_CMP_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_CMP_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_CMP_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_CMP_LD;
            struct w32ISA_CMP_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMP_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMP_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMP_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMP_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMP_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMP_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMP_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMP_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMP_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMP_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMP_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMP_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMP_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMP_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMP_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMP_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMP_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMP_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMP_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMP_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMP_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMP_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMP_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMP_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_CMP_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_CMP_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_CMP_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_CMP_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_CMP_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_CMP_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_CMP_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_CMP_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_CMP_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_CMP_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_CMP_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_CMP_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_CMP_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_CMP_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_CMP_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_CMP_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_CMP_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_CMP_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_CMP_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_CMP_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_CMP_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_CMP_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_CMP_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_CMP_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_CMP_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_CMP_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_CMP_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_CMP_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_CMP_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_CMP_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_CMP_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_CMP_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_CMP_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_CMP_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_CMP_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_CMP_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_CMP_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_CMP_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_CMP_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_CMP_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_CMP_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMP_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_CMP_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_CMP_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMP_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMP_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_CMP_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_CMP_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMP_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_CMP_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_CMP_EX;
            struct w32ISA_CMP_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMP_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMP_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMP_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMP_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMP_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMP_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMP_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMP_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMP_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMP_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_CMP_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_CMP_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_CMP_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_CMP_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_CMP_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_CMP_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_CMP_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_CMP_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_CMP_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_CMP_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_CMP_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_CMP_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_CMP_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_CMP_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_CMP_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_CMP_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_CMP_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_CMP_EXX;
            struct w32ISA_CMP_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_CMP_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_CMP_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_CMP_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_CMP_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_CMP_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_CMP_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_CMP_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_CMP_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_CMP_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_CMP_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_CMP_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_CMP_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_CMP_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_CMP_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_CMP_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_CMP_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_CMP_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_CMP_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_CMP_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_CMP_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_CMP_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_CMP_WB;
            struct w32ISA_CMP_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_CMP;

    typedef union  T32ISA_CMP_Mask
          { UNSG32 u32;
            struct w32ISA_CMP_Mask;
                 } T32ISA_CMP_Mask;
    typedef union  T32ISA_CMP_Opcode
          { UNSG32 u32;
            struct w32ISA_CMP_Opcode;
                 } T32ISA_CMP_Opcode;
    typedef union  T32ISA_CMP_ID
          { UNSG32 u32;
            struct w32ISA_CMP_ID;
                 } T32ISA_CMP_ID;
    typedef union  T32ISA_CMP_LD
          { UNSG32 u32;
            struct w32ISA_CMP_LD;
                 } T32ISA_CMP_LD;
    typedef union  T32ISA_CMP_EX
          { UNSG32 u32;
            struct w32ISA_CMP_EX;
                 } T32ISA_CMP_EX;
    typedef union  T32ISA_CMP_EXX
          { UNSG32 u32;
            struct w32ISA_CMP_EXX;
                 } T32ISA_CMP_EXX;
    typedef union  T32ISA_CMP_WB
          { UNSG32 u32;
            struct w32ISA_CMP_WB;
                 } T32ISA_CMP_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_CMP_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_Mask;
                   };
                 } TISA_CMP_Mask;
    typedef union  TISA_CMP_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_Opcode;
                   };
                 } TISA_CMP_Opcode;
    typedef union  TISA_CMP_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_ID;
                   };
                 } TISA_CMP_ID;
    typedef union  TISA_CMP_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_LD;
                   };
                 } TISA_CMP_LD;
    typedef union  TISA_CMP_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_EX;
                   };
                 } TISA_CMP_EX;
    typedef union  TISA_CMP_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_EXX;
                   };
                 } TISA_CMP_EXX;
    typedef union  TISA_CMP_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_CMP_WB;
                   };
                 } TISA_CMP_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_CMP_drvrd(SIE_ISA_CMP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_CMP_drvwr(SIE_ISA_CMP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_CMP_reset(SIE_ISA_CMP *p);
     SIGN32 ISA_CMP_cmp  (SIE_ISA_CMP *p, SIE_ISA_CMP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_CMP_check(p,pie,pfx,hLOG) ISA_CMP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_CMP_print(p,    pfx,hLOG) ISA_CMP_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_CMP
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_RDi                                  (4,4)
///     ###
///     * Memory read 16b data to a register.
///     * Using 16b immediate number as absolute address.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xA00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "RD.i"    , "C,rD"        , "1010 CCCC CCCC CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    RD.i     0x4002, %d1     ; %d1 = M16[ 0x4002 ];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     0x1
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   0x1
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_RDi
#define h_ISA_RDi (){}

    #define     RA_ISA_RDi_Mask                                0x0000

    #define     BA_ISA_RDi_Mask_INS                            0x0000
    #define     B16ISA_RDi_Mask_INS                            0x0000
    #define   LSb32ISA_RDi_Mask_INS                               0
    #define   LSb16ISA_RDi_Mask_INS                               0
    #define       bISA_RDi_Mask_INS                            24
    #define   MSK32ISA_RDi_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_Opcode                              0x0004

    #define     BA_ISA_RDi_Opcode_INS                          0x0004
    #define     B16ISA_RDi_Opcode_INS                          0x0004
    #define   LSb32ISA_RDi_Opcode_INS                             0
    #define   LSb16ISA_RDi_Opcode_INS                             0
    #define       bISA_RDi_Opcode_INS                          24
    #define   MSK32ISA_RDi_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_ID                                  0x0008

    #define     BA_ISA_RDi_ID_RBRF                             0x0008
    #define     B16ISA_RDi_ID_RBRF                             0x0008
    #define   LSb32ISA_RDi_ID_RBRF                                0
    #define   LSb16ISA_RDi_ID_RBRF                                0
    #define       bISA_RDi_ID_RBRF                             1
    #define   MSK32ISA_RDi_ID_RBRF                                0x00000001

    #define     BA_ISA_RDi_ID_RARF                             0x0008
    #define     B16ISA_RDi_ID_RARF                             0x0008
    #define   LSb32ISA_RDi_ID_RARF                                1
    #define   LSb16ISA_RDi_ID_RARF                                1
    #define       bISA_RDi_ID_RARF                             1
    #define   MSK32ISA_RDi_ID_RARF                                0x00000002

    #define     BA_ISA_RDi_ID_RAK8                             0x0008
    #define     B16ISA_RDi_ID_RAK8                             0x0008
    #define   LSb32ISA_RDi_ID_RAK8                                2
    #define   LSb16ISA_RDi_ID_RAK8                                2
    #define       bISA_RDi_ID_RAK8                             1
    #define   MSK32ISA_RDi_ID_RAK8                                0x00000004

    #define     BA_ISA_RDi_ID_RAI16                            0x0008
    #define     B16ISA_RDi_ID_RAI16                            0x0008
    #define   LSb32ISA_RDi_ID_RAI16                               3
    #define   LSb16ISA_RDi_ID_RAI16                               3
    #define       bISA_RDi_ID_RAI16                            1
    #define   MSK32ISA_RDi_ID_RAI16                               0x00000008

    #define     BA_ISA_RDi_ID_RAK16                            0x0008
    #define     B16ISA_RDi_ID_RAK16                            0x0008
    #define   LSb32ISA_RDi_ID_RAK16                               4
    #define   LSb16ISA_RDi_ID_RAK16                               4
    #define       bISA_RDi_ID_RAK16                            1
    #define   MSK32ISA_RDi_ID_RAK16                               0x00000010

    #define     BA_ISA_RDi_ID_RFSP                             0x0008
    #define     B16ISA_RDi_ID_RFSP                             0x0008
    #define   LSb32ISA_RDi_ID_RFSP                                5
    #define   LSb16ISA_RDi_ID_RFSP                                5
    #define       bISA_RDi_ID_RFSP                             1
    #define   MSK32ISA_RDi_ID_RFSP                                0x00000020

    #define     BA_ISA_RDi_ID_W4D4                             0x0008
    #define     B16ISA_RDi_ID_W4D4                             0x0008
    #define   LSb32ISA_RDi_ID_W4D4                                6
    #define   LSb16ISA_RDi_ID_W4D4                                6
    #define       bISA_RDi_ID_W4D4                             1
    #define   MSK32ISA_RDi_ID_W4D4                                0x00000040

    #define     BA_ISA_RDi_ID_W4S4                             0x0008
    #define     B16ISA_RDi_ID_W4S4                             0x0008
    #define   LSb32ISA_RDi_ID_W4S4                                7
    #define   LSb16ISA_RDi_ID_W4S4                                7
    #define       bISA_RDi_ID_W4S4                             1
    #define   MSK32ISA_RDi_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_LD                                  0x000C

    #define     BA_ISA_RDi_LD_SPRF                             0x000C
    #define     B16ISA_RDi_LD_SPRF                             0x000C
    #define   LSb32ISA_RDi_LD_SPRF                                0
    #define   LSb16ISA_RDi_LD_SPRF                                0
    #define       bISA_RDi_LD_SPRF                             1
    #define   MSK32ISA_RDi_LD_SPRF                                0x00000001

    #define     BA_ISA_RDi_LD_SPK8                             0x000C
    #define     B16ISA_RDi_LD_SPK8                             0x000C
    #define   LSb32ISA_RDi_LD_SPK8                                1
    #define   LSb16ISA_RDi_LD_SPK8                                1
    #define       bISA_RDi_LD_SPK8                             1
    #define   MSK32ISA_RDi_LD_SPK8                                0x00000002

    #define     BA_ISA_RDi_LD_SPJ                              0x000C
    #define     B16ISA_RDi_LD_SPJ                              0x000C
    #define   LSb32ISA_RDi_LD_SPJ                                 2
    #define   LSb16ISA_RDi_LD_SPJ                                 2
    #define       bISA_RDi_LD_SPJ                              1
    #define   MSK32ISA_RDi_LD_SPJ                                 0x00000004

    #define     BA_ISA_RDi_LD_SP4S                             0x000C
    #define     B16ISA_RDi_LD_SP4S                             0x000C
    #define   LSb32ISA_RDi_LD_SP4S                                3
    #define   LSb16ISA_RDi_LD_SP4S                                3
    #define       bISA_RDi_LD_SP4S                             1
    #define   MSK32ISA_RDi_LD_SP4S                                0x00000008

    #define     BA_ISA_RDi_LD_SP8S                             0x000C
    #define     B16ISA_RDi_LD_SP8S                             0x000C
    #define   LSb32ISA_RDi_LD_SP8S                                4
    #define   LSb16ISA_RDi_LD_SP8S                                4
    #define       bISA_RDi_LD_SP8S                             1
    #define   MSK32ISA_RDi_LD_SP8S                                0x00000010

    #define     BA_ISA_RDi_LD_SP8U                             0x000C
    #define     B16ISA_RDi_LD_SP8U                             0x000C
    #define   LSb32ISA_RDi_LD_SP8U                                5
    #define   LSb16ISA_RDi_LD_SP8U                                5
    #define       bISA_RDi_LD_SP8U                             1
    #define   MSK32ISA_RDi_LD_SP8U                                0x00000020

    #define     BA_ISA_RDi_LD_SP12S                            0x000C
    #define     B16ISA_RDi_LD_SP12S                            0x000C
    #define   LSb32ISA_RDi_LD_SP12S                               6
    #define   LSb16ISA_RDi_LD_SP12S                               6
    #define       bISA_RDi_LD_SP12S                            1
    #define   MSK32ISA_RDi_LD_SP12S                               0x00000040

    #define     BA_ISA_RDi_LD_SP16                             0x000C
    #define     B16ISA_RDi_LD_SP16                             0x000C
    #define   LSb32ISA_RDi_LD_SP16                                7
    #define   LSb16ISA_RDi_LD_SP16                                7
    #define       bISA_RDi_LD_SP16                             1
    #define   MSK32ISA_RDi_LD_SP16                                0x00000080

    #define     BA_ISA_RDi_LD_TPRF                             0x000D
    #define     B16ISA_RDi_LD_TPRF                             0x000C
    #define   LSb32ISA_RDi_LD_TPRF                                8
    #define   LSb16ISA_RDi_LD_TPRF                                8
    #define       bISA_RDi_LD_TPRF                             1
    #define   MSK32ISA_RDi_LD_TPRF                                0x00000100

    #define     BA_ISA_RDi_LD_TPJ                              0x000D
    #define     B16ISA_RDi_LD_TPJ                              0x000C
    #define   LSb32ISA_RDi_LD_TPJ                                 9
    #define   LSb16ISA_RDi_LD_TPJ                                 9
    #define       bISA_RDi_LD_TPJ                              1
    #define   MSK32ISA_RDi_LD_TPJ                                 0x00000200

    #define     BA_ISA_RDi_LD_TP4S                             0x000D
    #define     B16ISA_RDi_LD_TP4S                             0x000C
    #define   LSb32ISA_RDi_LD_TP4S                                10
    #define   LSb16ISA_RDi_LD_TP4S                                10
    #define       bISA_RDi_LD_TP4S                             1
    #define   MSK32ISA_RDi_LD_TP4S                                0x00000400

    #define     BA_ISA_RDi_LD_TP8L                             0x000D
    #define     B16ISA_RDi_LD_TP8L                             0x000C
    #define   LSb32ISA_RDi_LD_TP8L                                11
    #define   LSb16ISA_RDi_LD_TP8L                                11
    #define       bISA_RDi_LD_TP8L                             1
    #define   MSK32ISA_RDi_LD_TP8L                                0x00000800

    #define     BA_ISA_RDi_LD_TP8H                             0x000D
    #define     B16ISA_RDi_LD_TP8H                             0x000C
    #define   LSb32ISA_RDi_LD_TP8H                                12
    #define   LSb16ISA_RDi_LD_TP8H                                12
    #define       bISA_RDi_LD_TP8H                             1
    #define   MSK32ISA_RDi_LD_TP8H                                0x00001000

    #define     BA_ISA_RDi_LD_TP8LF                            0x000D
    #define     B16ISA_RDi_LD_TP8LF                            0x000C
    #define   LSb32ISA_RDi_LD_TP8LF                               13
    #define   LSb16ISA_RDi_LD_TP8LF                               13
    #define       bISA_RDi_LD_TP8LF                            1
    #define   MSK32ISA_RDi_LD_TP8LF                               0x00002000

    #define     BA_ISA_RDi_LD_TP8HF                            0x000D
    #define     B16ISA_RDi_LD_TP8HF                            0x000C
    #define   LSb32ISA_RDi_LD_TP8HF                               14
    #define   LSb16ISA_RDi_LD_TP8HF                               14
    #define       bISA_RDi_LD_TP8HF                            1
    #define   MSK32ISA_RDi_LD_TP8HF                               0x00004000

    #define     BA_ISA_RDi_LD_SQRF64                           0x000D
    #define     B16ISA_RDi_LD_SQRF64                           0x000C
    #define   LSb32ISA_RDi_LD_SQRF64                              15
    #define   LSb16ISA_RDi_LD_SQRF64                              15
    #define       bISA_RDi_LD_SQRF64                           1
    #define   MSK32ISA_RDi_LD_SQRF64                              0x00008000

    #define     BA_ISA_RDi_LD_TQRF16Q                          0x000E
    #define     B16ISA_RDi_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_RDi_LD_TQRF16Q                             16
    #define   LSb16ISA_RDi_LD_TQRF16Q                             0
    #define       bISA_RDi_LD_TQRF16Q                          1
    #define   MSK32ISA_RDi_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_RDi_LD_TQRFx4                           0x000E
    #define     B16ISA_RDi_LD_TQRFx4                           0x000E
    #define   LSb32ISA_RDi_LD_TQRFx4                              17
    #define   LSb16ISA_RDi_LD_TQRFx4                              1
    #define       bISA_RDi_LD_TQRFx4                           1
    #define   MSK32ISA_RDi_LD_TQRFx4                              0x00020000

    #define     BA_ISA_RDi_LD_RD                               0x000E
    #define     B16ISA_RDi_LD_RD                               0x000E
    #define   LSb32ISA_RDi_LD_RD                                  18
    #define   LSb16ISA_RDi_LD_RD                                  2
    #define       bISA_RDi_LD_RD                               1
    #define   MSK32ISA_RDi_LD_RD                                  0x00040000

    #define     BA_ISA_RDi_LD_WARF                             0x000E
    #define     B16ISA_RDi_LD_WARF                             0x000E
    #define   LSb32ISA_RDi_LD_WARF                                19
    #define   LSb16ISA_RDi_LD_WARF                                3
    #define       bISA_RDi_LD_WARF                             1
    #define   MSK32ISA_RDi_LD_WARF                                0x00080000

    #define     BA_ISA_RDi_LD_WAK8                             0x000E
    #define     B16ISA_RDi_LD_WAK8                             0x000E
    #define   LSb32ISA_RDi_LD_WAK8                                20
    #define   LSb16ISA_RDi_LD_WAK8                                4
    #define       bISA_RDi_LD_WAK8                             1
    #define   MSK32ISA_RDi_LD_WAK8                                0x00100000

    #define     BA_ISA_RDi_LD_WAK16                            0x000E
    #define     B16ISA_RDi_LD_WAK16                            0x000E
    #define   LSb32ISA_RDi_LD_WAK16                               21
    #define   LSb16ISA_RDi_LD_WAK16                               5
    #define       bISA_RDi_LD_WAK16                            1
    #define   MSK32ISA_RDi_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_EX                                  0x0010

    #define     BA_ISA_RDi_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_RDi_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagZ                          0
    #define   LSb16ISA_RDi_EX_ALU16FlagZ                          0
    #define       bISA_RDi_EX_ALU16FlagZ                       1
    #define   MSK32ISA_RDi_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_RDi_EX_ALU16FlagC                       0x0010
    #define     B16ISA_RDi_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagC                          1
    #define   LSb16ISA_RDi_EX_ALU16FlagC                          1
    #define       bISA_RDi_EX_ALU16FlagC                       1
    #define   MSK32ISA_RDi_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_RDi_EX_ALU16FlagN                       0x0010
    #define     B16ISA_RDi_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagN                          2
    #define   LSb16ISA_RDi_EX_ALU16FlagN                          2
    #define       bISA_RDi_EX_ALU16FlagN                       1
    #define   MSK32ISA_RDi_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_RDi_EX_ALU16FlagV                       0x0010
    #define     B16ISA_RDi_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagV                          3
    #define   LSb16ISA_RDi_EX_ALU16FlagV                          3
    #define       bISA_RDi_EX_ALU16FlagV                       1
    #define   MSK32ISA_RDi_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_RDi_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_RDi_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagTP                         4
    #define   LSb16ISA_RDi_EX_ALU16FlagTP                         4
    #define       bISA_RDi_EX_ALU16FlagTP                      1
    #define   MSK32ISA_RDi_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_RDi_EX_ALU16MUL                         0x0010
    #define     B16ISA_RDi_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16MUL                            5
    #define   LSb16ISA_RDi_EX_ALU16MUL                            5
    #define       bISA_RDi_EX_ALU16MUL                         1
    #define   MSK32ISA_RDi_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_RDi_EX_ALU16DIV                         0x0010
    #define     B16ISA_RDi_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16DIV                            6
    #define   LSb16ISA_RDi_EX_ALU16DIV                            6
    #define       bISA_RDi_EX_ALU16DIV                         1
    #define   MSK32ISA_RDi_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_RDi_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_RDi_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_RDi_EX_ALU16FlagLD                         7
    #define   LSb16ISA_RDi_EX_ALU16FlagLD                         7
    #define       bISA_RDi_EX_ALU16FlagLD                      1
    #define   MSK32ISA_RDi_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_RDi_EX_ALU16MDL                         0x0011
    #define     B16ISA_RDi_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16MDL                            8
    #define   LSb16ISA_RDi_EX_ALU16MDL                            8
    #define       bISA_RDi_EX_ALU16MDL                         1
    #define   MSK32ISA_RDi_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_RDi_EX_ALU16MDH                         0x0011
    #define     B16ISA_RDi_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16MDH                            9
    #define   LSb16ISA_RDi_EX_ALU16MDH                            9
    #define       bISA_RDi_EX_ALU16MDH                         1
    #define   MSK32ISA_RDi_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_RDi_EX_ALU16ADD                         0x0011
    #define     B16ISA_RDi_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16ADD                            10
    #define   LSb16ISA_RDi_EX_ALU16ADD                            10
    #define       bISA_RDi_EX_ALU16ADD                         1
    #define   MSK32ISA_RDi_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_RDi_EX_ALU16SUB                         0x0011
    #define     B16ISA_RDi_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16SUB                            11
    #define   LSb16ISA_RDi_EX_ALU16SUB                            11
    #define       bISA_RDi_EX_ALU16SUB                         1
    #define   MSK32ISA_RDi_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_RDi_EX_ALU16ADDC                        0x0011
    #define     B16ISA_RDi_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_RDi_EX_ALU16ADDC                           12
    #define   LSb16ISA_RDi_EX_ALU16ADDC                           12
    #define       bISA_RDi_EX_ALU16ADDC                        1
    #define   MSK32ISA_RDi_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_RDi_EX_ALU16SUBC                        0x0011
    #define     B16ISA_RDi_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_RDi_EX_ALU16SUBC                           13
    #define   LSb16ISA_RDi_EX_ALU16SUBC                           13
    #define       bISA_RDi_EX_ALU16SUBC                        1
    #define   MSK32ISA_RDi_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_RDi_EX_ALU16ASR                         0x0011
    #define     B16ISA_RDi_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_RDi_EX_ALU16ASR                            14
    #define   LSb16ISA_RDi_EX_ALU16ASR                            14
    #define       bISA_RDi_EX_ALU16ASR                         1
    #define   MSK32ISA_RDi_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_RDi_EX_ALU16SL                          0x0011
    #define     B16ISA_RDi_EX_ALU16SL                          0x0010
    #define   LSb32ISA_RDi_EX_ALU16SL                             15
    #define   LSb16ISA_RDi_EX_ALU16SL                             15
    #define       bISA_RDi_EX_ALU16SL                          1
    #define   MSK32ISA_RDi_EX_ALU16SL                             0x00008000

    #define     BA_ISA_RDi_EX_ALU16SR                          0x0012
    #define     B16ISA_RDi_EX_ALU16SR                          0x0012
    #define   LSb32ISA_RDi_EX_ALU16SR                             16
    #define   LSb16ISA_RDi_EX_ALU16SR                             0
    #define       bISA_RDi_EX_ALU16SR                          1
    #define   MSK32ISA_RDi_EX_ALU16SR                             0x00010000

    #define     BA_ISA_RDi_EX_ALU16GET                         0x0012
    #define     B16ISA_RDi_EX_ALU16GET                         0x0012
    #define   LSb32ISA_RDi_EX_ALU16GET                            17
    #define   LSb16ISA_RDi_EX_ALU16GET                            1
    #define       bISA_RDi_EX_ALU16GET                         1
    #define   MSK32ISA_RDi_EX_ALU16GET                            0x00020000

    #define     BA_ISA_RDi_EX_ALU16SET                         0x0012
    #define     B16ISA_RDi_EX_ALU16SET                         0x0012
    #define   LSb32ISA_RDi_EX_ALU16SET                            18
    #define   LSb16ISA_RDi_EX_ALU16SET                            2
    #define       bISA_RDi_EX_ALU16SET                         1
    #define   MSK32ISA_RDi_EX_ALU16SET                            0x00040000

    #define     BA_ISA_RDi_EX_ALU16SEL                         0x0012
    #define     B16ISA_RDi_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_RDi_EX_ALU16SEL                            19
    #define   LSb16ISA_RDi_EX_ALU16SEL                            3
    #define       bISA_RDi_EX_ALU16SEL                         1
    #define   MSK32ISA_RDi_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_RDi_EX_ALU16OR                          0x0012
    #define     B16ISA_RDi_EX_ALU16OR                          0x0012
    #define   LSb32ISA_RDi_EX_ALU16OR                             20
    #define   LSb16ISA_RDi_EX_ALU16OR                             4
    #define       bISA_RDi_EX_ALU16OR                          1
    #define   MSK32ISA_RDi_EX_ALU16OR                             0x00100000

    #define     BA_ISA_RDi_EX_ALU16AND                         0x0012
    #define     B16ISA_RDi_EX_ALU16AND                         0x0012
    #define   LSb32ISA_RDi_EX_ALU16AND                            21
    #define   LSb16ISA_RDi_EX_ALU16AND                            5
    #define       bISA_RDi_EX_ALU16AND                         1
    #define   MSK32ISA_RDi_EX_ALU16AND                            0x00200000

    #define     BA_ISA_RDi_EX_ALU16XOR                         0x0012
    #define     B16ISA_RDi_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_RDi_EX_ALU16XOR                            22
    #define   LSb16ISA_RDi_EX_ALU16XOR                            6
    #define       bISA_RDi_EX_ALU16XOR                         1
    #define   MSK32ISA_RDi_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_RDi_EX_ALU16SP                          0x0012
    #define     B16ISA_RDi_EX_ALU16SP                          0x0012
    #define   LSb32ISA_RDi_EX_ALU16SP                             23
    #define   LSb16ISA_RDi_EX_ALU16SP                             7
    #define       bISA_RDi_EX_ALU16SP                          1
    #define   MSK32ISA_RDi_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_EXX                                 0x0014

    #define     BA_ISA_RDi_EXX_WRSQ                            0x0014
    #define     B16ISA_RDi_EXX_WRSQ                            0x0014
    #define   LSb32ISA_RDi_EXX_WRSQ                               0
    #define   LSb16ISA_RDi_EXX_WRSQ                               0
    #define       bISA_RDi_EXX_WRSQ                            1
    #define   MSK32ISA_RDi_EXX_WRSQ                               0x00000001

    #define     BA_ISA_RDi_EXX_WR16                            0x0014
    #define     B16ISA_RDi_EXX_WR16                            0x0014
    #define   LSb32ISA_RDi_EXX_WR16                               1
    #define   LSb16ISA_RDi_EXX_WR16                               1
    #define       bISA_RDi_EXX_WR16                            1
    #define   MSK32ISA_RDi_EXX_WR16                               0x00000002

    #define     BA_ISA_RDi_EXX_WRTQ                            0x0014
    #define     B16ISA_RDi_EXX_WRTQ                            0x0014
    #define   LSb32ISA_RDi_EXX_WRTQ                               2
    #define   LSb16ISA_RDi_EXX_WRTQ                               2
    #define       bISA_RDi_EXX_WRTQ                            1
    #define   MSK32ISA_RDi_EXX_WRTQ                               0x00000004

    #define     BA_ISA_RDi_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_RDi_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_RDi_EXX_ALU64PUSH                          3
    #define   LSb16ISA_RDi_EXX_ALU64PUSH                          3
    #define       bISA_RDi_EXX_ALU64PUSH                       1
    #define   MSK32ISA_RDi_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_RDi_EXX_ALU64POP                        0x0014
    #define     B16ISA_RDi_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_RDi_EXX_ALU64POP                           4
    #define   LSb16ISA_RDi_EXX_ALU64POP                           4
    #define       bISA_RDi_EXX_ALU64POP                        1
    #define   MSK32ISA_RDi_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_RDi_EXX_ALU64SQ                         0x0014
    #define     B16ISA_RDi_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_RDi_EXX_ALU64SQ                            5
    #define   LSb16ISA_RDi_EXX_ALU64SQ                            5
    #define       bISA_RDi_EXX_ALU64SQ                         1
    #define   MSK32ISA_RDi_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_RDi_EXX_ALU64TQ                         0x0014
    #define     B16ISA_RDi_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_RDi_EXX_ALU64TQ                            6
    #define   LSb16ISA_RDi_EXX_ALU64TQ                            6
    #define       bISA_RDi_EXX_ALU64TQ                         1
    #define   MSK32ISA_RDi_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_RDi_EXX_ALU64MEM                        0x0014
    #define     B16ISA_RDi_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_RDi_EXX_ALU64MEM                           7
    #define   LSb16ISA_RDi_EXX_ALU64MEM                           7
    #define       bISA_RDi_EXX_ALU64MEM                        1
    #define   MSK32ISA_RDi_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_RDi_EXX_BRANCH                          0x0015
    #define     B16ISA_RDi_EXX_BRANCH                          0x0014
    #define   LSb32ISA_RDi_EXX_BRANCH                             8
    #define   LSb16ISA_RDi_EXX_BRANCH                             8
    #define       bISA_RDi_EXX_BRANCH                          1
    #define   MSK32ISA_RDi_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDi_WB                                  0x0018

    #define     BA_ISA_RDi_WB_RF16                             0x0018
    #define     B16ISA_RDi_WB_RF16                             0x0018
    #define   LSb32ISA_RDi_WB_RF16                                0
    #define   LSb16ISA_RDi_WB_RF16                                0
    #define       bISA_RDi_WB_RF16                             1
    #define   MSK32ISA_RDi_WB_RF16                                0x00000001

    #define     BA_ISA_RDi_WB_RF16W0                           0x0018
    #define     B16ISA_RDi_WB_RF16W0                           0x0018
    #define   LSb32ISA_RDi_WB_RF16W0                              1
    #define   LSb16ISA_RDi_WB_RF16W0                              1
    #define       bISA_RDi_WB_RF16W0                           1
    #define   MSK32ISA_RDi_WB_RF16W0                              0x00000002

    #define     BA_ISA_RDi_WB_RF16MEM                          0x0018
    #define     B16ISA_RDi_WB_RF16MEM                          0x0018
    #define   LSb32ISA_RDi_WB_RF16MEM                             2
    #define   LSb16ISA_RDi_WB_RF16MEM                             2
    #define       bISA_RDi_WB_RF16MEM                          1
    #define   MSK32ISA_RDi_WB_RF16MEM                             0x00000004

    #define     BA_ISA_RDi_WB_RF16Q                            0x0018
    #define     B16ISA_RDi_WB_RF16Q                            0x0018
    #define   LSb32ISA_RDi_WB_RF16Q                               3
    #define   LSb16ISA_RDi_WB_RF16Q                               3
    #define       bISA_RDi_WB_RF16Q                            1
    #define   MSK32ISA_RDi_WB_RF16Q                               0x00000008

    #define     BA_ISA_RDi_WB_RF64                             0x0018
    #define     B16ISA_RDi_WB_RF64                             0x0018
    #define   LSb32ISA_RDi_WB_RF64                                4
    #define   LSb16ISA_RDi_WB_RF64                                4
    #define       bISA_RDi_WB_RF64                             1
    #define   MSK32ISA_RDi_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_RDi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_RDi_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_RDi_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_RDi_Mask;
            struct w32ISA_RDi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_RDi_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_RDi_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_RDi_Opcode;
            struct w32ISA_RDi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDi_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDi_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDi_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDi_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDi_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDi_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDi_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDi_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDi_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDi_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDi_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDi_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDi_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDi_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDi_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDi_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDi_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDi_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDi_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDi_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_RDi_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_RDi_ID;
            struct w32ISA_RDi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDi_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDi_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDi_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDi_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDi_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDi_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDi_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDi_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDi_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDi_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDi_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDi_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDi_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDi_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDi_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDi_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDi_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDi_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDi_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDi_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDi_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDi_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDi_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDi_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_RDi_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_RDi_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_RDi_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_RDi_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_RDi_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_RDi_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_RDi_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_RDi_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_RDi_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_RDi_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_RDi_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_RDi_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_RDi_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_RDi_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_RDi_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_RDi_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_RDi_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_RDi_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_RDi_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_RDi_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_RDi_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_RDi_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_RDi_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_RDi_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_RDi_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_RDi_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_RDi_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_RDi_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_RDi_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_RDi_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_RDi_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_RDi_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_RDi_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_RDi_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_RDi_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_RDi_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_RDi_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_RDi_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_RDi_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_RDi_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_RDi_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_RDi_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_RDi_LD;
            struct w32ISA_RDi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDi_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDi_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDi_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDi_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDi_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDi_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDi_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDi_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDi_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDi_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDi_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDi_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDi_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDi_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDi_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDi_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDi_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDi_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDi_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDi_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDi_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDi_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDi_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDi_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_RDi_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_RDi_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_RDi_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_RDi_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_RDi_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_RDi_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_RDi_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_RDi_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_RDi_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_RDi_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_RDi_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_RDi_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_RDi_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_RDi_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_RDi_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_RDi_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_RDi_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_RDi_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_RDi_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_RDi_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_RDi_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_RDi_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_RDi_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_RDi_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_RDi_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_RDi_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_RDi_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_RDi_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_RDi_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_RDi_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_RDi_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_RDi_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_RDi_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_RDi_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_RDi_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_RDi_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_RDi_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_RDi_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_RDi_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_RDi_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_RDi_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDi_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_RDi_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_RDi_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDi_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDi_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_RDi_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_RDi_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDi_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_RDi_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_RDi_EX;
            struct w32ISA_RDi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDi_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDi_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDi_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDi_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDi_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDi_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDi_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDi_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDi_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDi_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDi_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDi_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDi_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDi_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDi_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDi_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDi_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDi_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDi_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDi_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDi_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDi_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDi_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDi_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDi_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDi_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_RDi_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_RDi_EXX;
            struct w32ISA_RDi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDi_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDi_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDi_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDi_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDi_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDi_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDi_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDi_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDi_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDi_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDi_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDi_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDi_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDi_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDi_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDi_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDi_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDi_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDi_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDi_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_RDi_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_RDi_WB;
            struct w32ISA_RDi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_RDi;

    typedef union  T32ISA_RDi_Mask
          { UNSG32 u32;
            struct w32ISA_RDi_Mask;
                 } T32ISA_RDi_Mask;
    typedef union  T32ISA_RDi_Opcode
          { UNSG32 u32;
            struct w32ISA_RDi_Opcode;
                 } T32ISA_RDi_Opcode;
    typedef union  T32ISA_RDi_ID
          { UNSG32 u32;
            struct w32ISA_RDi_ID;
                 } T32ISA_RDi_ID;
    typedef union  T32ISA_RDi_LD
          { UNSG32 u32;
            struct w32ISA_RDi_LD;
                 } T32ISA_RDi_LD;
    typedef union  T32ISA_RDi_EX
          { UNSG32 u32;
            struct w32ISA_RDi_EX;
                 } T32ISA_RDi_EX;
    typedef union  T32ISA_RDi_EXX
          { UNSG32 u32;
            struct w32ISA_RDi_EXX;
                 } T32ISA_RDi_EXX;
    typedef union  T32ISA_RDi_WB
          { UNSG32 u32;
            struct w32ISA_RDi_WB;
                 } T32ISA_RDi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_RDi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_Mask;
                   };
                 } TISA_RDi_Mask;
    typedef union  TISA_RDi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_Opcode;
                   };
                 } TISA_RDi_Opcode;
    typedef union  TISA_RDi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_ID;
                   };
                 } TISA_RDi_ID;
    typedef union  TISA_RDi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_LD;
                   };
                 } TISA_RDi_LD;
    typedef union  TISA_RDi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_EX;
                   };
                 } TISA_RDi_EX;
    typedef union  TISA_RDi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_EXX;
                   };
                 } TISA_RDi_EXX;
    typedef union  TISA_RDi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDi_WB;
                   };
                 } TISA_RDi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_RDi_drvrd(SIE_ISA_RDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_RDi_drvwr(SIE_ISA_RDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_RDi_reset(SIE_ISA_RDi *p);
     SIGN32 ISA_RDi_cmp  (SIE_ISA_RDi *p, SIE_ISA_RDi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_RDi_check(p,pie,pfx,hLOG) ISA_RDi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_RDi_print(p,    pfx,hLOG) ISA_RDi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_RDi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_RDINC                                (4,4)
///     ###
///     * Memory read 16b data to a register.
///     * Using a register to load both read address (RA) & base read address (RB).
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     * RF16 write back conflict may happen, ALU16 write-back shall overwrite memory output.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00030
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x600000
///                                    ###
///                                    * -                                                                 
///                                    * - { "RD.INC" , "rS,N,rD"     , "0110 NNNN SSSS NNNN --00 DDDD" } ,
///                                    * - Usage:
///                                    * -    RD.INC   %a1, - 6, %d1   ; %d1 = M16[ %a1 ];
///                                    * -                             ; %a1 -= 6;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      0x1
///               %unsigned 1  RARF                      0x1
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   0x1
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_RDINC
#define h_ISA_RDINC (){}

    #define     RA_ISA_RDINC_Mask                              0x0000

    #define     BA_ISA_RDINC_Mask_INS                          0x0000
    #define     B16ISA_RDINC_Mask_INS                          0x0000
    #define   LSb32ISA_RDINC_Mask_INS                             0
    #define   LSb16ISA_RDINC_Mask_INS                             0
    #define       bISA_RDINC_Mask_INS                          24
    #define   MSK32ISA_RDINC_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_Opcode                            0x0004

    #define     BA_ISA_RDINC_Opcode_INS                        0x0004
    #define     B16ISA_RDINC_Opcode_INS                        0x0004
    #define   LSb32ISA_RDINC_Opcode_INS                           0
    #define   LSb16ISA_RDINC_Opcode_INS                           0
    #define       bISA_RDINC_Opcode_INS                        24
    #define   MSK32ISA_RDINC_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_ID                                0x0008

    #define     BA_ISA_RDINC_ID_RBRF                           0x0008
    #define     B16ISA_RDINC_ID_RBRF                           0x0008
    #define   LSb32ISA_RDINC_ID_RBRF                              0
    #define   LSb16ISA_RDINC_ID_RBRF                              0
    #define       bISA_RDINC_ID_RBRF                           1
    #define   MSK32ISA_RDINC_ID_RBRF                              0x00000001

    #define     BA_ISA_RDINC_ID_RARF                           0x0008
    #define     B16ISA_RDINC_ID_RARF                           0x0008
    #define   LSb32ISA_RDINC_ID_RARF                              1
    #define   LSb16ISA_RDINC_ID_RARF                              1
    #define       bISA_RDINC_ID_RARF                           1
    #define   MSK32ISA_RDINC_ID_RARF                              0x00000002

    #define     BA_ISA_RDINC_ID_RAK8                           0x0008
    #define     B16ISA_RDINC_ID_RAK8                           0x0008
    #define   LSb32ISA_RDINC_ID_RAK8                              2
    #define   LSb16ISA_RDINC_ID_RAK8                              2
    #define       bISA_RDINC_ID_RAK8                           1
    #define   MSK32ISA_RDINC_ID_RAK8                              0x00000004

    #define     BA_ISA_RDINC_ID_RAI16                          0x0008
    #define     B16ISA_RDINC_ID_RAI16                          0x0008
    #define   LSb32ISA_RDINC_ID_RAI16                             3
    #define   LSb16ISA_RDINC_ID_RAI16                             3
    #define       bISA_RDINC_ID_RAI16                          1
    #define   MSK32ISA_RDINC_ID_RAI16                             0x00000008

    #define     BA_ISA_RDINC_ID_RAK16                          0x0008
    #define     B16ISA_RDINC_ID_RAK16                          0x0008
    #define   LSb32ISA_RDINC_ID_RAK16                             4
    #define   LSb16ISA_RDINC_ID_RAK16                             4
    #define       bISA_RDINC_ID_RAK16                          1
    #define   MSK32ISA_RDINC_ID_RAK16                             0x00000010

    #define     BA_ISA_RDINC_ID_RFSP                           0x0008
    #define     B16ISA_RDINC_ID_RFSP                           0x0008
    #define   LSb32ISA_RDINC_ID_RFSP                              5
    #define   LSb16ISA_RDINC_ID_RFSP                              5
    #define       bISA_RDINC_ID_RFSP                           1
    #define   MSK32ISA_RDINC_ID_RFSP                              0x00000020

    #define     BA_ISA_RDINC_ID_W4D4                           0x0008
    #define     B16ISA_RDINC_ID_W4D4                           0x0008
    #define   LSb32ISA_RDINC_ID_W4D4                              6
    #define   LSb16ISA_RDINC_ID_W4D4                              6
    #define       bISA_RDINC_ID_W4D4                           1
    #define   MSK32ISA_RDINC_ID_W4D4                              0x00000040

    #define     BA_ISA_RDINC_ID_W4S4                           0x0008
    #define     B16ISA_RDINC_ID_W4S4                           0x0008
    #define   LSb32ISA_RDINC_ID_W4S4                              7
    #define   LSb16ISA_RDINC_ID_W4S4                              7
    #define       bISA_RDINC_ID_W4S4                           1
    #define   MSK32ISA_RDINC_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_LD                                0x000C

    #define     BA_ISA_RDINC_LD_SPRF                           0x000C
    #define     B16ISA_RDINC_LD_SPRF                           0x000C
    #define   LSb32ISA_RDINC_LD_SPRF                              0
    #define   LSb16ISA_RDINC_LD_SPRF                              0
    #define       bISA_RDINC_LD_SPRF                           1
    #define   MSK32ISA_RDINC_LD_SPRF                              0x00000001

    #define     BA_ISA_RDINC_LD_SPK8                           0x000C
    #define     B16ISA_RDINC_LD_SPK8                           0x000C
    #define   LSb32ISA_RDINC_LD_SPK8                              1
    #define   LSb16ISA_RDINC_LD_SPK8                              1
    #define       bISA_RDINC_LD_SPK8                           1
    #define   MSK32ISA_RDINC_LD_SPK8                              0x00000002

    #define     BA_ISA_RDINC_LD_SPJ                            0x000C
    #define     B16ISA_RDINC_LD_SPJ                            0x000C
    #define   LSb32ISA_RDINC_LD_SPJ                               2
    #define   LSb16ISA_RDINC_LD_SPJ                               2
    #define       bISA_RDINC_LD_SPJ                            1
    #define   MSK32ISA_RDINC_LD_SPJ                               0x00000004

    #define     BA_ISA_RDINC_LD_SP4S                           0x000C
    #define     B16ISA_RDINC_LD_SP4S                           0x000C
    #define   LSb32ISA_RDINC_LD_SP4S                              3
    #define   LSb16ISA_RDINC_LD_SP4S                              3
    #define       bISA_RDINC_LD_SP4S                           1
    #define   MSK32ISA_RDINC_LD_SP4S                              0x00000008

    #define     BA_ISA_RDINC_LD_SP8S                           0x000C
    #define     B16ISA_RDINC_LD_SP8S                           0x000C
    #define   LSb32ISA_RDINC_LD_SP8S                              4
    #define   LSb16ISA_RDINC_LD_SP8S                              4
    #define       bISA_RDINC_LD_SP8S                           1
    #define   MSK32ISA_RDINC_LD_SP8S                              0x00000010

    #define     BA_ISA_RDINC_LD_SP8U                           0x000C
    #define     B16ISA_RDINC_LD_SP8U                           0x000C
    #define   LSb32ISA_RDINC_LD_SP8U                              5
    #define   LSb16ISA_RDINC_LD_SP8U                              5
    #define       bISA_RDINC_LD_SP8U                           1
    #define   MSK32ISA_RDINC_LD_SP8U                              0x00000020

    #define     BA_ISA_RDINC_LD_SP12S                          0x000C
    #define     B16ISA_RDINC_LD_SP12S                          0x000C
    #define   LSb32ISA_RDINC_LD_SP12S                             6
    #define   LSb16ISA_RDINC_LD_SP12S                             6
    #define       bISA_RDINC_LD_SP12S                          1
    #define   MSK32ISA_RDINC_LD_SP12S                             0x00000040

    #define     BA_ISA_RDINC_LD_SP16                           0x000C
    #define     B16ISA_RDINC_LD_SP16                           0x000C
    #define   LSb32ISA_RDINC_LD_SP16                              7
    #define   LSb16ISA_RDINC_LD_SP16                              7
    #define       bISA_RDINC_LD_SP16                           1
    #define   MSK32ISA_RDINC_LD_SP16                              0x00000080

    #define     BA_ISA_RDINC_LD_TPRF                           0x000D
    #define     B16ISA_RDINC_LD_TPRF                           0x000C
    #define   LSb32ISA_RDINC_LD_TPRF                              8
    #define   LSb16ISA_RDINC_LD_TPRF                              8
    #define       bISA_RDINC_LD_TPRF                           1
    #define   MSK32ISA_RDINC_LD_TPRF                              0x00000100

    #define     BA_ISA_RDINC_LD_TPJ                            0x000D
    #define     B16ISA_RDINC_LD_TPJ                            0x000C
    #define   LSb32ISA_RDINC_LD_TPJ                               9
    #define   LSb16ISA_RDINC_LD_TPJ                               9
    #define       bISA_RDINC_LD_TPJ                            1
    #define   MSK32ISA_RDINC_LD_TPJ                               0x00000200

    #define     BA_ISA_RDINC_LD_TP4S                           0x000D
    #define     B16ISA_RDINC_LD_TP4S                           0x000C
    #define   LSb32ISA_RDINC_LD_TP4S                              10
    #define   LSb16ISA_RDINC_LD_TP4S                              10
    #define       bISA_RDINC_LD_TP4S                           1
    #define   MSK32ISA_RDINC_LD_TP4S                              0x00000400

    #define     BA_ISA_RDINC_LD_TP8L                           0x000D
    #define     B16ISA_RDINC_LD_TP8L                           0x000C
    #define   LSb32ISA_RDINC_LD_TP8L                              11
    #define   LSb16ISA_RDINC_LD_TP8L                              11
    #define       bISA_RDINC_LD_TP8L                           1
    #define   MSK32ISA_RDINC_LD_TP8L                              0x00000800

    #define     BA_ISA_RDINC_LD_TP8H                           0x000D
    #define     B16ISA_RDINC_LD_TP8H                           0x000C
    #define   LSb32ISA_RDINC_LD_TP8H                              12
    #define   LSb16ISA_RDINC_LD_TP8H                              12
    #define       bISA_RDINC_LD_TP8H                           1
    #define   MSK32ISA_RDINC_LD_TP8H                              0x00001000

    #define     BA_ISA_RDINC_LD_TP8LF                          0x000D
    #define     B16ISA_RDINC_LD_TP8LF                          0x000C
    #define   LSb32ISA_RDINC_LD_TP8LF                             13
    #define   LSb16ISA_RDINC_LD_TP8LF                             13
    #define       bISA_RDINC_LD_TP8LF                          1
    #define   MSK32ISA_RDINC_LD_TP8LF                             0x00002000

    #define     BA_ISA_RDINC_LD_TP8HF                          0x000D
    #define     B16ISA_RDINC_LD_TP8HF                          0x000C
    #define   LSb32ISA_RDINC_LD_TP8HF                             14
    #define   LSb16ISA_RDINC_LD_TP8HF                             14
    #define       bISA_RDINC_LD_TP8HF                          1
    #define   MSK32ISA_RDINC_LD_TP8HF                             0x00004000

    #define     BA_ISA_RDINC_LD_SQRF64                         0x000D
    #define     B16ISA_RDINC_LD_SQRF64                         0x000C
    #define   LSb32ISA_RDINC_LD_SQRF64                            15
    #define   LSb16ISA_RDINC_LD_SQRF64                            15
    #define       bISA_RDINC_LD_SQRF64                         1
    #define   MSK32ISA_RDINC_LD_SQRF64                            0x00008000

    #define     BA_ISA_RDINC_LD_TQRF16Q                        0x000E
    #define     B16ISA_RDINC_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_RDINC_LD_TQRF16Q                           16
    #define   LSb16ISA_RDINC_LD_TQRF16Q                           0
    #define       bISA_RDINC_LD_TQRF16Q                        1
    #define   MSK32ISA_RDINC_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_RDINC_LD_TQRFx4                         0x000E
    #define     B16ISA_RDINC_LD_TQRFx4                         0x000E
    #define   LSb32ISA_RDINC_LD_TQRFx4                            17
    #define   LSb16ISA_RDINC_LD_TQRFx4                            1
    #define       bISA_RDINC_LD_TQRFx4                         1
    #define   MSK32ISA_RDINC_LD_TQRFx4                            0x00020000

    #define     BA_ISA_RDINC_LD_RD                             0x000E
    #define     B16ISA_RDINC_LD_RD                             0x000E
    #define   LSb32ISA_RDINC_LD_RD                                18
    #define   LSb16ISA_RDINC_LD_RD                                2
    #define       bISA_RDINC_LD_RD                             1
    #define   MSK32ISA_RDINC_LD_RD                                0x00040000

    #define     BA_ISA_RDINC_LD_WARF                           0x000E
    #define     B16ISA_RDINC_LD_WARF                           0x000E
    #define   LSb32ISA_RDINC_LD_WARF                              19
    #define   LSb16ISA_RDINC_LD_WARF                              3
    #define       bISA_RDINC_LD_WARF                           1
    #define   MSK32ISA_RDINC_LD_WARF                              0x00080000

    #define     BA_ISA_RDINC_LD_WAK8                           0x000E
    #define     B16ISA_RDINC_LD_WAK8                           0x000E
    #define   LSb32ISA_RDINC_LD_WAK8                              20
    #define   LSb16ISA_RDINC_LD_WAK8                              4
    #define       bISA_RDINC_LD_WAK8                           1
    #define   MSK32ISA_RDINC_LD_WAK8                              0x00100000

    #define     BA_ISA_RDINC_LD_WAK16                          0x000E
    #define     B16ISA_RDINC_LD_WAK16                          0x000E
    #define   LSb32ISA_RDINC_LD_WAK16                             21
    #define   LSb16ISA_RDINC_LD_WAK16                             5
    #define       bISA_RDINC_LD_WAK16                          1
    #define   MSK32ISA_RDINC_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_EX                                0x0010

    #define     BA_ISA_RDINC_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagZ                        0
    #define   LSb16ISA_RDINC_EX_ALU16FlagZ                        0
    #define       bISA_RDINC_EX_ALU16FlagZ                     1
    #define   MSK32ISA_RDINC_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_RDINC_EX_ALU16FlagC                     0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagC                        1
    #define   LSb16ISA_RDINC_EX_ALU16FlagC                        1
    #define       bISA_RDINC_EX_ALU16FlagC                     1
    #define   MSK32ISA_RDINC_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_RDINC_EX_ALU16FlagN                     0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagN                        2
    #define   LSb16ISA_RDINC_EX_ALU16FlagN                        2
    #define       bISA_RDINC_EX_ALU16FlagN                     1
    #define   MSK32ISA_RDINC_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_RDINC_EX_ALU16FlagV                     0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagV                        3
    #define   LSb16ISA_RDINC_EX_ALU16FlagV                        3
    #define       bISA_RDINC_EX_ALU16FlagV                     1
    #define   MSK32ISA_RDINC_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_RDINC_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagTP                       4
    #define   LSb16ISA_RDINC_EX_ALU16FlagTP                       4
    #define       bISA_RDINC_EX_ALU16FlagTP                    1
    #define   MSK32ISA_RDINC_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_RDINC_EX_ALU16MUL                       0x0010
    #define     B16ISA_RDINC_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16MUL                          5
    #define   LSb16ISA_RDINC_EX_ALU16MUL                          5
    #define       bISA_RDINC_EX_ALU16MUL                       1
    #define   MSK32ISA_RDINC_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_RDINC_EX_ALU16DIV                       0x0010
    #define     B16ISA_RDINC_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16DIV                          6
    #define   LSb16ISA_RDINC_EX_ALU16DIV                          6
    #define       bISA_RDINC_EX_ALU16DIV                       1
    #define   MSK32ISA_RDINC_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_RDINC_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_RDINC_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_RDINC_EX_ALU16FlagLD                       7
    #define   LSb16ISA_RDINC_EX_ALU16FlagLD                       7
    #define       bISA_RDINC_EX_ALU16FlagLD                    1
    #define   MSK32ISA_RDINC_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_RDINC_EX_ALU16MDL                       0x0011
    #define     B16ISA_RDINC_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16MDL                          8
    #define   LSb16ISA_RDINC_EX_ALU16MDL                          8
    #define       bISA_RDINC_EX_ALU16MDL                       1
    #define   MSK32ISA_RDINC_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_RDINC_EX_ALU16MDH                       0x0011
    #define     B16ISA_RDINC_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16MDH                          9
    #define   LSb16ISA_RDINC_EX_ALU16MDH                          9
    #define       bISA_RDINC_EX_ALU16MDH                       1
    #define   MSK32ISA_RDINC_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_RDINC_EX_ALU16ADD                       0x0011
    #define     B16ISA_RDINC_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16ADD                          10
    #define   LSb16ISA_RDINC_EX_ALU16ADD                          10
    #define       bISA_RDINC_EX_ALU16ADD                       1
    #define   MSK32ISA_RDINC_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_RDINC_EX_ALU16SUB                       0x0011
    #define     B16ISA_RDINC_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16SUB                          11
    #define   LSb16ISA_RDINC_EX_ALU16SUB                          11
    #define       bISA_RDINC_EX_ALU16SUB                       1
    #define   MSK32ISA_RDINC_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_RDINC_EX_ALU16ADDC                      0x0011
    #define     B16ISA_RDINC_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_RDINC_EX_ALU16ADDC                         12
    #define   LSb16ISA_RDINC_EX_ALU16ADDC                         12
    #define       bISA_RDINC_EX_ALU16ADDC                      1
    #define   MSK32ISA_RDINC_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_RDINC_EX_ALU16SUBC                      0x0011
    #define     B16ISA_RDINC_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_RDINC_EX_ALU16SUBC                         13
    #define   LSb16ISA_RDINC_EX_ALU16SUBC                         13
    #define       bISA_RDINC_EX_ALU16SUBC                      1
    #define   MSK32ISA_RDINC_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_RDINC_EX_ALU16ASR                       0x0011
    #define     B16ISA_RDINC_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_RDINC_EX_ALU16ASR                          14
    #define   LSb16ISA_RDINC_EX_ALU16ASR                          14
    #define       bISA_RDINC_EX_ALU16ASR                       1
    #define   MSK32ISA_RDINC_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_RDINC_EX_ALU16SL                        0x0011
    #define     B16ISA_RDINC_EX_ALU16SL                        0x0010
    #define   LSb32ISA_RDINC_EX_ALU16SL                           15
    #define   LSb16ISA_RDINC_EX_ALU16SL                           15
    #define       bISA_RDINC_EX_ALU16SL                        1
    #define   MSK32ISA_RDINC_EX_ALU16SL                           0x00008000

    #define     BA_ISA_RDINC_EX_ALU16SR                        0x0012
    #define     B16ISA_RDINC_EX_ALU16SR                        0x0012
    #define   LSb32ISA_RDINC_EX_ALU16SR                           16
    #define   LSb16ISA_RDINC_EX_ALU16SR                           0
    #define       bISA_RDINC_EX_ALU16SR                        1
    #define   MSK32ISA_RDINC_EX_ALU16SR                           0x00010000

    #define     BA_ISA_RDINC_EX_ALU16GET                       0x0012
    #define     B16ISA_RDINC_EX_ALU16GET                       0x0012
    #define   LSb32ISA_RDINC_EX_ALU16GET                          17
    #define   LSb16ISA_RDINC_EX_ALU16GET                          1
    #define       bISA_RDINC_EX_ALU16GET                       1
    #define   MSK32ISA_RDINC_EX_ALU16GET                          0x00020000

    #define     BA_ISA_RDINC_EX_ALU16SET                       0x0012
    #define     B16ISA_RDINC_EX_ALU16SET                       0x0012
    #define   LSb32ISA_RDINC_EX_ALU16SET                          18
    #define   LSb16ISA_RDINC_EX_ALU16SET                          2
    #define       bISA_RDINC_EX_ALU16SET                       1
    #define   MSK32ISA_RDINC_EX_ALU16SET                          0x00040000

    #define     BA_ISA_RDINC_EX_ALU16SEL                       0x0012
    #define     B16ISA_RDINC_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_RDINC_EX_ALU16SEL                          19
    #define   LSb16ISA_RDINC_EX_ALU16SEL                          3
    #define       bISA_RDINC_EX_ALU16SEL                       1
    #define   MSK32ISA_RDINC_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_RDINC_EX_ALU16OR                        0x0012
    #define     B16ISA_RDINC_EX_ALU16OR                        0x0012
    #define   LSb32ISA_RDINC_EX_ALU16OR                           20
    #define   LSb16ISA_RDINC_EX_ALU16OR                           4
    #define       bISA_RDINC_EX_ALU16OR                        1
    #define   MSK32ISA_RDINC_EX_ALU16OR                           0x00100000

    #define     BA_ISA_RDINC_EX_ALU16AND                       0x0012
    #define     B16ISA_RDINC_EX_ALU16AND                       0x0012
    #define   LSb32ISA_RDINC_EX_ALU16AND                          21
    #define   LSb16ISA_RDINC_EX_ALU16AND                          5
    #define       bISA_RDINC_EX_ALU16AND                       1
    #define   MSK32ISA_RDINC_EX_ALU16AND                          0x00200000

    #define     BA_ISA_RDINC_EX_ALU16XOR                       0x0012
    #define     B16ISA_RDINC_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_RDINC_EX_ALU16XOR                          22
    #define   LSb16ISA_RDINC_EX_ALU16XOR                          6
    #define       bISA_RDINC_EX_ALU16XOR                       1
    #define   MSK32ISA_RDINC_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_RDINC_EX_ALU16SP                        0x0012
    #define     B16ISA_RDINC_EX_ALU16SP                        0x0012
    #define   LSb32ISA_RDINC_EX_ALU16SP                           23
    #define   LSb16ISA_RDINC_EX_ALU16SP                           7
    #define       bISA_RDINC_EX_ALU16SP                        1
    #define   MSK32ISA_RDINC_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_EXX                               0x0014

    #define     BA_ISA_RDINC_EXX_WRSQ                          0x0014
    #define     B16ISA_RDINC_EXX_WRSQ                          0x0014
    #define   LSb32ISA_RDINC_EXX_WRSQ                             0
    #define   LSb16ISA_RDINC_EXX_WRSQ                             0
    #define       bISA_RDINC_EXX_WRSQ                          1
    #define   MSK32ISA_RDINC_EXX_WRSQ                             0x00000001

    #define     BA_ISA_RDINC_EXX_WR16                          0x0014
    #define     B16ISA_RDINC_EXX_WR16                          0x0014
    #define   LSb32ISA_RDINC_EXX_WR16                             1
    #define   LSb16ISA_RDINC_EXX_WR16                             1
    #define       bISA_RDINC_EXX_WR16                          1
    #define   MSK32ISA_RDINC_EXX_WR16                             0x00000002

    #define     BA_ISA_RDINC_EXX_WRTQ                          0x0014
    #define     B16ISA_RDINC_EXX_WRTQ                          0x0014
    #define   LSb32ISA_RDINC_EXX_WRTQ                             2
    #define   LSb16ISA_RDINC_EXX_WRTQ                             2
    #define       bISA_RDINC_EXX_WRTQ                          1
    #define   MSK32ISA_RDINC_EXX_WRTQ                             0x00000004

    #define     BA_ISA_RDINC_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_RDINC_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_RDINC_EXX_ALU64PUSH                        3
    #define   LSb16ISA_RDINC_EXX_ALU64PUSH                        3
    #define       bISA_RDINC_EXX_ALU64PUSH                     1
    #define   MSK32ISA_RDINC_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_RDINC_EXX_ALU64POP                      0x0014
    #define     B16ISA_RDINC_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_RDINC_EXX_ALU64POP                         4
    #define   LSb16ISA_RDINC_EXX_ALU64POP                         4
    #define       bISA_RDINC_EXX_ALU64POP                      1
    #define   MSK32ISA_RDINC_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_RDINC_EXX_ALU64SQ                       0x0014
    #define     B16ISA_RDINC_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_RDINC_EXX_ALU64SQ                          5
    #define   LSb16ISA_RDINC_EXX_ALU64SQ                          5
    #define       bISA_RDINC_EXX_ALU64SQ                       1
    #define   MSK32ISA_RDINC_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_RDINC_EXX_ALU64TQ                       0x0014
    #define     B16ISA_RDINC_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_RDINC_EXX_ALU64TQ                          6
    #define   LSb16ISA_RDINC_EXX_ALU64TQ                          6
    #define       bISA_RDINC_EXX_ALU64TQ                       1
    #define   MSK32ISA_RDINC_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_RDINC_EXX_ALU64MEM                      0x0014
    #define     B16ISA_RDINC_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_RDINC_EXX_ALU64MEM                         7
    #define   LSb16ISA_RDINC_EXX_ALU64MEM                         7
    #define       bISA_RDINC_EXX_ALU64MEM                      1
    #define   MSK32ISA_RDINC_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_RDINC_EXX_BRANCH                        0x0015
    #define     B16ISA_RDINC_EXX_BRANCH                        0x0014
    #define   LSb32ISA_RDINC_EXX_BRANCH                           8
    #define   LSb16ISA_RDINC_EXX_BRANCH                           8
    #define       bISA_RDINC_EXX_BRANCH                        1
    #define   MSK32ISA_RDINC_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_RDINC_WB                                0x0018

    #define     BA_ISA_RDINC_WB_RF16                           0x0018
    #define     B16ISA_RDINC_WB_RF16                           0x0018
    #define   LSb32ISA_RDINC_WB_RF16                              0
    #define   LSb16ISA_RDINC_WB_RF16                              0
    #define       bISA_RDINC_WB_RF16                           1
    #define   MSK32ISA_RDINC_WB_RF16                              0x00000001

    #define     BA_ISA_RDINC_WB_RF16W0                         0x0018
    #define     B16ISA_RDINC_WB_RF16W0                         0x0018
    #define   LSb32ISA_RDINC_WB_RF16W0                            1
    #define   LSb16ISA_RDINC_WB_RF16W0                            1
    #define       bISA_RDINC_WB_RF16W0                         1
    #define   MSK32ISA_RDINC_WB_RF16W0                            0x00000002

    #define     BA_ISA_RDINC_WB_RF16MEM                        0x0018
    #define     B16ISA_RDINC_WB_RF16MEM                        0x0018
    #define   LSb32ISA_RDINC_WB_RF16MEM                           2
    #define   LSb16ISA_RDINC_WB_RF16MEM                           2
    #define       bISA_RDINC_WB_RF16MEM                        1
    #define   MSK32ISA_RDINC_WB_RF16MEM                           0x00000004

    #define     BA_ISA_RDINC_WB_RF16Q                          0x0018
    #define     B16ISA_RDINC_WB_RF16Q                          0x0018
    #define   LSb32ISA_RDINC_WB_RF16Q                             3
    #define   LSb16ISA_RDINC_WB_RF16Q                             3
    #define       bISA_RDINC_WB_RF16Q                          1
    #define   MSK32ISA_RDINC_WB_RF16Q                             0x00000008

    #define     BA_ISA_RDINC_WB_RF64                           0x0018
    #define     B16ISA_RDINC_WB_RF64                           0x0018
    #define   LSb32ISA_RDINC_WB_RF64                              4
    #define   LSb16ISA_RDINC_WB_RF64                              4
    #define       bISA_RDINC_WB_RF64                           1
    #define   MSK32ISA_RDINC_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_RDINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_RDINC_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_RDINC_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_RDINC_Mask;
            struct w32ISA_RDINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_RDINC_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_RDINC_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_RDINC_Opcode;
            struct w32ISA_RDINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDINC_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDINC_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDINC_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDINC_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDINC_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDINC_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDINC_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDINC_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDINC_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDINC_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDINC_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDINC_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDINC_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDINC_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDINC_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDINC_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDINC_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDINC_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDINC_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDINC_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_RDINC_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_RDINC_ID;
            struct w32ISA_RDINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDINC_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDINC_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDINC_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDINC_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDINC_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDINC_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDINC_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDINC_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDINC_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDINC_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDINC_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDINC_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDINC_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDINC_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDINC_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDINC_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDINC_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDINC_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDINC_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDINC_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDINC_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDINC_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDINC_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDINC_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_RDINC_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_RDINC_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_RDINC_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_RDINC_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_RDINC_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_RDINC_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_RDINC_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_RDINC_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_RDINC_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_RDINC_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_RDINC_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_RDINC_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_RDINC_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_RDINC_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_RDINC_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_RDINC_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_RDINC_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_RDINC_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_RDINC_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_RDINC_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_RDINC_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_RDINC_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_RDINC_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_RDINC_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_RDINC_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_RDINC_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_RDINC_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_RDINC_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_RDINC_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_RDINC_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_RDINC_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_RDINC_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_RDINC_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_RDINC_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_RDINC_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_RDINC_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_RDINC_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_RDINC_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_RDINC_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_RDINC_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_RDINC_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_RDINC_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_RDINC_LD;
            struct w32ISA_RDINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDINC_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDINC_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDINC_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDINC_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDINC_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDINC_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDINC_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDINC_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDINC_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDINC_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDINC_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDINC_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDINC_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDINC_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDINC_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDINC_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDINC_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDINC_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDINC_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_RDINC_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_RDINC_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_RDINC_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_RDINC_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_RDINC_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_RDINC_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_RDINC_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_RDINC_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_RDINC_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_RDINC_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_RDINC_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_RDINC_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_RDINC_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_RDINC_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_RDINC_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_RDINC_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_RDINC_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_RDINC_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_RDINC_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_RDINC_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_RDINC_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_RDINC_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_RDINC_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_RDINC_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_RDINC_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_RDINC_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_RDINC_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_RDINC_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_RDINC_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_RDINC_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_RDINC_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_RDINC_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_RDINC_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_RDINC_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_RDINC_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_RDINC_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_RDINC_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_RDINC_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_RDINC_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_RDINC_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_RDINC_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDINC_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_RDINC_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_RDINC_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDINC_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDINC_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_RDINC_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_RDINC_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDINC_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_RDINC_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_RDINC_EX;
            struct w32ISA_RDINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDINC_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDINC_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDINC_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDINC_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDINC_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDINC_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDINC_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDINC_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDINC_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDINC_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_RDINC_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_RDINC_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_RDINC_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_RDINC_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_RDINC_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_RDINC_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_RDINC_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_RDINC_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_RDINC_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_RDINC_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_RDINC_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_RDINC_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_RDINC_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_RDINC_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_RDINC_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_RDINC_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_RDINC_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_RDINC_EXX;
            struct w32ISA_RDINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_RDINC_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_RDINC_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_RDINC_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_RDINC_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_RDINC_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_RDINC_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_RDINC_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_RDINC_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_RDINC_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_RDINC_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_RDINC_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_RDINC_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_RDINC_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_RDINC_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_RDINC_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_RDINC_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_RDINC_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_RDINC_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_RDINC_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_RDINC_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_RDINC_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_RDINC_WB;
            struct w32ISA_RDINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_RDINC;

    typedef union  T32ISA_RDINC_Mask
          { UNSG32 u32;
            struct w32ISA_RDINC_Mask;
                 } T32ISA_RDINC_Mask;
    typedef union  T32ISA_RDINC_Opcode
          { UNSG32 u32;
            struct w32ISA_RDINC_Opcode;
                 } T32ISA_RDINC_Opcode;
    typedef union  T32ISA_RDINC_ID
          { UNSG32 u32;
            struct w32ISA_RDINC_ID;
                 } T32ISA_RDINC_ID;
    typedef union  T32ISA_RDINC_LD
          { UNSG32 u32;
            struct w32ISA_RDINC_LD;
                 } T32ISA_RDINC_LD;
    typedef union  T32ISA_RDINC_EX
          { UNSG32 u32;
            struct w32ISA_RDINC_EX;
                 } T32ISA_RDINC_EX;
    typedef union  T32ISA_RDINC_EXX
          { UNSG32 u32;
            struct w32ISA_RDINC_EXX;
                 } T32ISA_RDINC_EXX;
    typedef union  T32ISA_RDINC_WB
          { UNSG32 u32;
            struct w32ISA_RDINC_WB;
                 } T32ISA_RDINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_RDINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_Mask;
                   };
                 } TISA_RDINC_Mask;
    typedef union  TISA_RDINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_Opcode;
                   };
                 } TISA_RDINC_Opcode;
    typedef union  TISA_RDINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_ID;
                   };
                 } TISA_RDINC_ID;
    typedef union  TISA_RDINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_LD;
                   };
                 } TISA_RDINC_LD;
    typedef union  TISA_RDINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_EX;
                   };
                 } TISA_RDINC_EX;
    typedef union  TISA_RDINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_EXX;
                   };
                 } TISA_RDINC_EXX;
    typedef union  TISA_RDINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_RDINC_WB;
                   };
                 } TISA_RDINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_RDINC_drvrd(SIE_ISA_RDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_RDINC_drvwr(SIE_ISA_RDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_RDINC_reset(SIE_ISA_RDINC *p);
     SIGN32 ISA_RDINC_cmp  (SIE_ISA_RDINC *p, SIE_ISA_RDINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_RDINC_check(p,pie,pfx,hLOG) ISA_RDINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_RDINC_print(p,    pfx,hLOG) ISA_RDINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_RDINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_OFFRD                                (4,4)
///     ###
///     * Memory read 16b data to a register.
///     * Using base read address (RB) with an offset of [-128,127].
///     * No RF registers, RB or flags would be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00030
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x600010
///                                    ###
///                                    * -                                                                 
///                                    * - { "OFF.RD" , "N,rD"        , "0110 NNNN ---- NNNN --01 DDDD" } ,
///                                    * - Usage:
///                                    * -    OFF.RD   - 6, %d1        ; %d1 = M16[ RB - 6 ];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      0x1
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   0x1
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_OFFRD
#define h_ISA_OFFRD (){}

    #define     RA_ISA_OFFRD_Mask                              0x0000

    #define     BA_ISA_OFFRD_Mask_INS                          0x0000
    #define     B16ISA_OFFRD_Mask_INS                          0x0000
    #define   LSb32ISA_OFFRD_Mask_INS                             0
    #define   LSb16ISA_OFFRD_Mask_INS                             0
    #define       bISA_OFFRD_Mask_INS                          24
    #define   MSK32ISA_OFFRD_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_Opcode                            0x0004

    #define     BA_ISA_OFFRD_Opcode_INS                        0x0004
    #define     B16ISA_OFFRD_Opcode_INS                        0x0004
    #define   LSb32ISA_OFFRD_Opcode_INS                           0
    #define   LSb16ISA_OFFRD_Opcode_INS                           0
    #define       bISA_OFFRD_Opcode_INS                        24
    #define   MSK32ISA_OFFRD_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_ID                                0x0008

    #define     BA_ISA_OFFRD_ID_RBRF                           0x0008
    #define     B16ISA_OFFRD_ID_RBRF                           0x0008
    #define   LSb32ISA_OFFRD_ID_RBRF                              0
    #define   LSb16ISA_OFFRD_ID_RBRF                              0
    #define       bISA_OFFRD_ID_RBRF                           1
    #define   MSK32ISA_OFFRD_ID_RBRF                              0x00000001

    #define     BA_ISA_OFFRD_ID_RARF                           0x0008
    #define     B16ISA_OFFRD_ID_RARF                           0x0008
    #define   LSb32ISA_OFFRD_ID_RARF                              1
    #define   LSb16ISA_OFFRD_ID_RARF                              1
    #define       bISA_OFFRD_ID_RARF                           1
    #define   MSK32ISA_OFFRD_ID_RARF                              0x00000002

    #define     BA_ISA_OFFRD_ID_RAK8                           0x0008
    #define     B16ISA_OFFRD_ID_RAK8                           0x0008
    #define   LSb32ISA_OFFRD_ID_RAK8                              2
    #define   LSb16ISA_OFFRD_ID_RAK8                              2
    #define       bISA_OFFRD_ID_RAK8                           1
    #define   MSK32ISA_OFFRD_ID_RAK8                              0x00000004

    #define     BA_ISA_OFFRD_ID_RAI16                          0x0008
    #define     B16ISA_OFFRD_ID_RAI16                          0x0008
    #define   LSb32ISA_OFFRD_ID_RAI16                             3
    #define   LSb16ISA_OFFRD_ID_RAI16                             3
    #define       bISA_OFFRD_ID_RAI16                          1
    #define   MSK32ISA_OFFRD_ID_RAI16                             0x00000008

    #define     BA_ISA_OFFRD_ID_RAK16                          0x0008
    #define     B16ISA_OFFRD_ID_RAK16                          0x0008
    #define   LSb32ISA_OFFRD_ID_RAK16                             4
    #define   LSb16ISA_OFFRD_ID_RAK16                             4
    #define       bISA_OFFRD_ID_RAK16                          1
    #define   MSK32ISA_OFFRD_ID_RAK16                             0x00000010

    #define     BA_ISA_OFFRD_ID_RFSP                           0x0008
    #define     B16ISA_OFFRD_ID_RFSP                           0x0008
    #define   LSb32ISA_OFFRD_ID_RFSP                              5
    #define   LSb16ISA_OFFRD_ID_RFSP                              5
    #define       bISA_OFFRD_ID_RFSP                           1
    #define   MSK32ISA_OFFRD_ID_RFSP                              0x00000020

    #define     BA_ISA_OFFRD_ID_W4D4                           0x0008
    #define     B16ISA_OFFRD_ID_W4D4                           0x0008
    #define   LSb32ISA_OFFRD_ID_W4D4                              6
    #define   LSb16ISA_OFFRD_ID_W4D4                              6
    #define       bISA_OFFRD_ID_W4D4                           1
    #define   MSK32ISA_OFFRD_ID_W4D4                              0x00000040

    #define     BA_ISA_OFFRD_ID_W4S4                           0x0008
    #define     B16ISA_OFFRD_ID_W4S4                           0x0008
    #define   LSb32ISA_OFFRD_ID_W4S4                              7
    #define   LSb16ISA_OFFRD_ID_W4S4                              7
    #define       bISA_OFFRD_ID_W4S4                           1
    #define   MSK32ISA_OFFRD_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_LD                                0x000C

    #define     BA_ISA_OFFRD_LD_SPRF                           0x000C
    #define     B16ISA_OFFRD_LD_SPRF                           0x000C
    #define   LSb32ISA_OFFRD_LD_SPRF                              0
    #define   LSb16ISA_OFFRD_LD_SPRF                              0
    #define       bISA_OFFRD_LD_SPRF                           1
    #define   MSK32ISA_OFFRD_LD_SPRF                              0x00000001

    #define     BA_ISA_OFFRD_LD_SPK8                           0x000C
    #define     B16ISA_OFFRD_LD_SPK8                           0x000C
    #define   LSb32ISA_OFFRD_LD_SPK8                              1
    #define   LSb16ISA_OFFRD_LD_SPK8                              1
    #define       bISA_OFFRD_LD_SPK8                           1
    #define   MSK32ISA_OFFRD_LD_SPK8                              0x00000002

    #define     BA_ISA_OFFRD_LD_SPJ                            0x000C
    #define     B16ISA_OFFRD_LD_SPJ                            0x000C
    #define   LSb32ISA_OFFRD_LD_SPJ                               2
    #define   LSb16ISA_OFFRD_LD_SPJ                               2
    #define       bISA_OFFRD_LD_SPJ                            1
    #define   MSK32ISA_OFFRD_LD_SPJ                               0x00000004

    #define     BA_ISA_OFFRD_LD_SP4S                           0x000C
    #define     B16ISA_OFFRD_LD_SP4S                           0x000C
    #define   LSb32ISA_OFFRD_LD_SP4S                              3
    #define   LSb16ISA_OFFRD_LD_SP4S                              3
    #define       bISA_OFFRD_LD_SP4S                           1
    #define   MSK32ISA_OFFRD_LD_SP4S                              0x00000008

    #define     BA_ISA_OFFRD_LD_SP8S                           0x000C
    #define     B16ISA_OFFRD_LD_SP8S                           0x000C
    #define   LSb32ISA_OFFRD_LD_SP8S                              4
    #define   LSb16ISA_OFFRD_LD_SP8S                              4
    #define       bISA_OFFRD_LD_SP8S                           1
    #define   MSK32ISA_OFFRD_LD_SP8S                              0x00000010

    #define     BA_ISA_OFFRD_LD_SP8U                           0x000C
    #define     B16ISA_OFFRD_LD_SP8U                           0x000C
    #define   LSb32ISA_OFFRD_LD_SP8U                              5
    #define   LSb16ISA_OFFRD_LD_SP8U                              5
    #define       bISA_OFFRD_LD_SP8U                           1
    #define   MSK32ISA_OFFRD_LD_SP8U                              0x00000020

    #define     BA_ISA_OFFRD_LD_SP12S                          0x000C
    #define     B16ISA_OFFRD_LD_SP12S                          0x000C
    #define   LSb32ISA_OFFRD_LD_SP12S                             6
    #define   LSb16ISA_OFFRD_LD_SP12S                             6
    #define       bISA_OFFRD_LD_SP12S                          1
    #define   MSK32ISA_OFFRD_LD_SP12S                             0x00000040

    #define     BA_ISA_OFFRD_LD_SP16                           0x000C
    #define     B16ISA_OFFRD_LD_SP16                           0x000C
    #define   LSb32ISA_OFFRD_LD_SP16                              7
    #define   LSb16ISA_OFFRD_LD_SP16                              7
    #define       bISA_OFFRD_LD_SP16                           1
    #define   MSK32ISA_OFFRD_LD_SP16                              0x00000080

    #define     BA_ISA_OFFRD_LD_TPRF                           0x000D
    #define     B16ISA_OFFRD_LD_TPRF                           0x000C
    #define   LSb32ISA_OFFRD_LD_TPRF                              8
    #define   LSb16ISA_OFFRD_LD_TPRF                              8
    #define       bISA_OFFRD_LD_TPRF                           1
    #define   MSK32ISA_OFFRD_LD_TPRF                              0x00000100

    #define     BA_ISA_OFFRD_LD_TPJ                            0x000D
    #define     B16ISA_OFFRD_LD_TPJ                            0x000C
    #define   LSb32ISA_OFFRD_LD_TPJ                               9
    #define   LSb16ISA_OFFRD_LD_TPJ                               9
    #define       bISA_OFFRD_LD_TPJ                            1
    #define   MSK32ISA_OFFRD_LD_TPJ                               0x00000200

    #define     BA_ISA_OFFRD_LD_TP4S                           0x000D
    #define     B16ISA_OFFRD_LD_TP4S                           0x000C
    #define   LSb32ISA_OFFRD_LD_TP4S                              10
    #define   LSb16ISA_OFFRD_LD_TP4S                              10
    #define       bISA_OFFRD_LD_TP4S                           1
    #define   MSK32ISA_OFFRD_LD_TP4S                              0x00000400

    #define     BA_ISA_OFFRD_LD_TP8L                           0x000D
    #define     B16ISA_OFFRD_LD_TP8L                           0x000C
    #define   LSb32ISA_OFFRD_LD_TP8L                              11
    #define   LSb16ISA_OFFRD_LD_TP8L                              11
    #define       bISA_OFFRD_LD_TP8L                           1
    #define   MSK32ISA_OFFRD_LD_TP8L                              0x00000800

    #define     BA_ISA_OFFRD_LD_TP8H                           0x000D
    #define     B16ISA_OFFRD_LD_TP8H                           0x000C
    #define   LSb32ISA_OFFRD_LD_TP8H                              12
    #define   LSb16ISA_OFFRD_LD_TP8H                              12
    #define       bISA_OFFRD_LD_TP8H                           1
    #define   MSK32ISA_OFFRD_LD_TP8H                              0x00001000

    #define     BA_ISA_OFFRD_LD_TP8LF                          0x000D
    #define     B16ISA_OFFRD_LD_TP8LF                          0x000C
    #define   LSb32ISA_OFFRD_LD_TP8LF                             13
    #define   LSb16ISA_OFFRD_LD_TP8LF                             13
    #define       bISA_OFFRD_LD_TP8LF                          1
    #define   MSK32ISA_OFFRD_LD_TP8LF                             0x00002000

    #define     BA_ISA_OFFRD_LD_TP8HF                          0x000D
    #define     B16ISA_OFFRD_LD_TP8HF                          0x000C
    #define   LSb32ISA_OFFRD_LD_TP8HF                             14
    #define   LSb16ISA_OFFRD_LD_TP8HF                             14
    #define       bISA_OFFRD_LD_TP8HF                          1
    #define   MSK32ISA_OFFRD_LD_TP8HF                             0x00004000

    #define     BA_ISA_OFFRD_LD_SQRF64                         0x000D
    #define     B16ISA_OFFRD_LD_SQRF64                         0x000C
    #define   LSb32ISA_OFFRD_LD_SQRF64                            15
    #define   LSb16ISA_OFFRD_LD_SQRF64                            15
    #define       bISA_OFFRD_LD_SQRF64                         1
    #define   MSK32ISA_OFFRD_LD_SQRF64                            0x00008000

    #define     BA_ISA_OFFRD_LD_TQRF16Q                        0x000E
    #define     B16ISA_OFFRD_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_OFFRD_LD_TQRF16Q                           16
    #define   LSb16ISA_OFFRD_LD_TQRF16Q                           0
    #define       bISA_OFFRD_LD_TQRF16Q                        1
    #define   MSK32ISA_OFFRD_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_OFFRD_LD_TQRFx4                         0x000E
    #define     B16ISA_OFFRD_LD_TQRFx4                         0x000E
    #define   LSb32ISA_OFFRD_LD_TQRFx4                            17
    #define   LSb16ISA_OFFRD_LD_TQRFx4                            1
    #define       bISA_OFFRD_LD_TQRFx4                         1
    #define   MSK32ISA_OFFRD_LD_TQRFx4                            0x00020000

    #define     BA_ISA_OFFRD_LD_RD                             0x000E
    #define     B16ISA_OFFRD_LD_RD                             0x000E
    #define   LSb32ISA_OFFRD_LD_RD                                18
    #define   LSb16ISA_OFFRD_LD_RD                                2
    #define       bISA_OFFRD_LD_RD                             1
    #define   MSK32ISA_OFFRD_LD_RD                                0x00040000

    #define     BA_ISA_OFFRD_LD_WARF                           0x000E
    #define     B16ISA_OFFRD_LD_WARF                           0x000E
    #define   LSb32ISA_OFFRD_LD_WARF                              19
    #define   LSb16ISA_OFFRD_LD_WARF                              3
    #define       bISA_OFFRD_LD_WARF                           1
    #define   MSK32ISA_OFFRD_LD_WARF                              0x00080000

    #define     BA_ISA_OFFRD_LD_WAK8                           0x000E
    #define     B16ISA_OFFRD_LD_WAK8                           0x000E
    #define   LSb32ISA_OFFRD_LD_WAK8                              20
    #define   LSb16ISA_OFFRD_LD_WAK8                              4
    #define       bISA_OFFRD_LD_WAK8                           1
    #define   MSK32ISA_OFFRD_LD_WAK8                              0x00100000

    #define     BA_ISA_OFFRD_LD_WAK16                          0x000E
    #define     B16ISA_OFFRD_LD_WAK16                          0x000E
    #define   LSb32ISA_OFFRD_LD_WAK16                             21
    #define   LSb16ISA_OFFRD_LD_WAK16                             5
    #define       bISA_OFFRD_LD_WAK16                          1
    #define   MSK32ISA_OFFRD_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_EX                                0x0010

    #define     BA_ISA_OFFRD_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagZ                        0
    #define   LSb16ISA_OFFRD_EX_ALU16FlagZ                        0
    #define       bISA_OFFRD_EX_ALU16FlagZ                     1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_OFFRD_EX_ALU16FlagC                     0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagC                        1
    #define   LSb16ISA_OFFRD_EX_ALU16FlagC                        1
    #define       bISA_OFFRD_EX_ALU16FlagC                     1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_OFFRD_EX_ALU16FlagN                     0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagN                        2
    #define   LSb16ISA_OFFRD_EX_ALU16FlagN                        2
    #define       bISA_OFFRD_EX_ALU16FlagN                     1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_OFFRD_EX_ALU16FlagV                     0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagV                        3
    #define   LSb16ISA_OFFRD_EX_ALU16FlagV                        3
    #define       bISA_OFFRD_EX_ALU16FlagV                     1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_OFFRD_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagTP                       4
    #define   LSb16ISA_OFFRD_EX_ALU16FlagTP                       4
    #define       bISA_OFFRD_EX_ALU16FlagTP                    1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_OFFRD_EX_ALU16MUL                       0x0010
    #define     B16ISA_OFFRD_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16MUL                          5
    #define   LSb16ISA_OFFRD_EX_ALU16MUL                          5
    #define       bISA_OFFRD_EX_ALU16MUL                       1
    #define   MSK32ISA_OFFRD_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_OFFRD_EX_ALU16DIV                       0x0010
    #define     B16ISA_OFFRD_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16DIV                          6
    #define   LSb16ISA_OFFRD_EX_ALU16DIV                          6
    #define       bISA_OFFRD_EX_ALU16DIV                       1
    #define   MSK32ISA_OFFRD_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_OFFRD_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_OFFRD_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16FlagLD                       7
    #define   LSb16ISA_OFFRD_EX_ALU16FlagLD                       7
    #define       bISA_OFFRD_EX_ALU16FlagLD                    1
    #define   MSK32ISA_OFFRD_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_OFFRD_EX_ALU16MDL                       0x0011
    #define     B16ISA_OFFRD_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16MDL                          8
    #define   LSb16ISA_OFFRD_EX_ALU16MDL                          8
    #define       bISA_OFFRD_EX_ALU16MDL                       1
    #define   MSK32ISA_OFFRD_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_OFFRD_EX_ALU16MDH                       0x0011
    #define     B16ISA_OFFRD_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16MDH                          9
    #define   LSb16ISA_OFFRD_EX_ALU16MDH                          9
    #define       bISA_OFFRD_EX_ALU16MDH                       1
    #define   MSK32ISA_OFFRD_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_OFFRD_EX_ALU16ADD                       0x0011
    #define     B16ISA_OFFRD_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16ADD                          10
    #define   LSb16ISA_OFFRD_EX_ALU16ADD                          10
    #define       bISA_OFFRD_EX_ALU16ADD                       1
    #define   MSK32ISA_OFFRD_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_OFFRD_EX_ALU16SUB                       0x0011
    #define     B16ISA_OFFRD_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16SUB                          11
    #define   LSb16ISA_OFFRD_EX_ALU16SUB                          11
    #define       bISA_OFFRD_EX_ALU16SUB                       1
    #define   MSK32ISA_OFFRD_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_OFFRD_EX_ALU16ADDC                      0x0011
    #define     B16ISA_OFFRD_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16ADDC                         12
    #define   LSb16ISA_OFFRD_EX_ALU16ADDC                         12
    #define       bISA_OFFRD_EX_ALU16ADDC                      1
    #define   MSK32ISA_OFFRD_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_OFFRD_EX_ALU16SUBC                      0x0011
    #define     B16ISA_OFFRD_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16SUBC                         13
    #define   LSb16ISA_OFFRD_EX_ALU16SUBC                         13
    #define       bISA_OFFRD_EX_ALU16SUBC                      1
    #define   MSK32ISA_OFFRD_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_OFFRD_EX_ALU16ASR                       0x0011
    #define     B16ISA_OFFRD_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16ASR                          14
    #define   LSb16ISA_OFFRD_EX_ALU16ASR                          14
    #define       bISA_OFFRD_EX_ALU16ASR                       1
    #define   MSK32ISA_OFFRD_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_OFFRD_EX_ALU16SL                        0x0011
    #define     B16ISA_OFFRD_EX_ALU16SL                        0x0010
    #define   LSb32ISA_OFFRD_EX_ALU16SL                           15
    #define   LSb16ISA_OFFRD_EX_ALU16SL                           15
    #define       bISA_OFFRD_EX_ALU16SL                        1
    #define   MSK32ISA_OFFRD_EX_ALU16SL                           0x00008000

    #define     BA_ISA_OFFRD_EX_ALU16SR                        0x0012
    #define     B16ISA_OFFRD_EX_ALU16SR                        0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16SR                           16
    #define   LSb16ISA_OFFRD_EX_ALU16SR                           0
    #define       bISA_OFFRD_EX_ALU16SR                        1
    #define   MSK32ISA_OFFRD_EX_ALU16SR                           0x00010000

    #define     BA_ISA_OFFRD_EX_ALU16GET                       0x0012
    #define     B16ISA_OFFRD_EX_ALU16GET                       0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16GET                          17
    #define   LSb16ISA_OFFRD_EX_ALU16GET                          1
    #define       bISA_OFFRD_EX_ALU16GET                       1
    #define   MSK32ISA_OFFRD_EX_ALU16GET                          0x00020000

    #define     BA_ISA_OFFRD_EX_ALU16SET                       0x0012
    #define     B16ISA_OFFRD_EX_ALU16SET                       0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16SET                          18
    #define   LSb16ISA_OFFRD_EX_ALU16SET                          2
    #define       bISA_OFFRD_EX_ALU16SET                       1
    #define   MSK32ISA_OFFRD_EX_ALU16SET                          0x00040000

    #define     BA_ISA_OFFRD_EX_ALU16SEL                       0x0012
    #define     B16ISA_OFFRD_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16SEL                          19
    #define   LSb16ISA_OFFRD_EX_ALU16SEL                          3
    #define       bISA_OFFRD_EX_ALU16SEL                       1
    #define   MSK32ISA_OFFRD_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_OFFRD_EX_ALU16OR                        0x0012
    #define     B16ISA_OFFRD_EX_ALU16OR                        0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16OR                           20
    #define   LSb16ISA_OFFRD_EX_ALU16OR                           4
    #define       bISA_OFFRD_EX_ALU16OR                        1
    #define   MSK32ISA_OFFRD_EX_ALU16OR                           0x00100000

    #define     BA_ISA_OFFRD_EX_ALU16AND                       0x0012
    #define     B16ISA_OFFRD_EX_ALU16AND                       0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16AND                          21
    #define   LSb16ISA_OFFRD_EX_ALU16AND                          5
    #define       bISA_OFFRD_EX_ALU16AND                       1
    #define   MSK32ISA_OFFRD_EX_ALU16AND                          0x00200000

    #define     BA_ISA_OFFRD_EX_ALU16XOR                       0x0012
    #define     B16ISA_OFFRD_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16XOR                          22
    #define   LSb16ISA_OFFRD_EX_ALU16XOR                          6
    #define       bISA_OFFRD_EX_ALU16XOR                       1
    #define   MSK32ISA_OFFRD_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_OFFRD_EX_ALU16SP                        0x0012
    #define     B16ISA_OFFRD_EX_ALU16SP                        0x0012
    #define   LSb32ISA_OFFRD_EX_ALU16SP                           23
    #define   LSb16ISA_OFFRD_EX_ALU16SP                           7
    #define       bISA_OFFRD_EX_ALU16SP                        1
    #define   MSK32ISA_OFFRD_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_EXX                               0x0014

    #define     BA_ISA_OFFRD_EXX_WRSQ                          0x0014
    #define     B16ISA_OFFRD_EXX_WRSQ                          0x0014
    #define   LSb32ISA_OFFRD_EXX_WRSQ                             0
    #define   LSb16ISA_OFFRD_EXX_WRSQ                             0
    #define       bISA_OFFRD_EXX_WRSQ                          1
    #define   MSK32ISA_OFFRD_EXX_WRSQ                             0x00000001

    #define     BA_ISA_OFFRD_EXX_WR16                          0x0014
    #define     B16ISA_OFFRD_EXX_WR16                          0x0014
    #define   LSb32ISA_OFFRD_EXX_WR16                             1
    #define   LSb16ISA_OFFRD_EXX_WR16                             1
    #define       bISA_OFFRD_EXX_WR16                          1
    #define   MSK32ISA_OFFRD_EXX_WR16                             0x00000002

    #define     BA_ISA_OFFRD_EXX_WRTQ                          0x0014
    #define     B16ISA_OFFRD_EXX_WRTQ                          0x0014
    #define   LSb32ISA_OFFRD_EXX_WRTQ                             2
    #define   LSb16ISA_OFFRD_EXX_WRTQ                             2
    #define       bISA_OFFRD_EXX_WRTQ                          1
    #define   MSK32ISA_OFFRD_EXX_WRTQ                             0x00000004

    #define     BA_ISA_OFFRD_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_OFFRD_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_OFFRD_EXX_ALU64PUSH                        3
    #define   LSb16ISA_OFFRD_EXX_ALU64PUSH                        3
    #define       bISA_OFFRD_EXX_ALU64PUSH                     1
    #define   MSK32ISA_OFFRD_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_OFFRD_EXX_ALU64POP                      0x0014
    #define     B16ISA_OFFRD_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_OFFRD_EXX_ALU64POP                         4
    #define   LSb16ISA_OFFRD_EXX_ALU64POP                         4
    #define       bISA_OFFRD_EXX_ALU64POP                      1
    #define   MSK32ISA_OFFRD_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_OFFRD_EXX_ALU64SQ                       0x0014
    #define     B16ISA_OFFRD_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_OFFRD_EXX_ALU64SQ                          5
    #define   LSb16ISA_OFFRD_EXX_ALU64SQ                          5
    #define       bISA_OFFRD_EXX_ALU64SQ                       1
    #define   MSK32ISA_OFFRD_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_OFFRD_EXX_ALU64TQ                       0x0014
    #define     B16ISA_OFFRD_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_OFFRD_EXX_ALU64TQ                          6
    #define   LSb16ISA_OFFRD_EXX_ALU64TQ                          6
    #define       bISA_OFFRD_EXX_ALU64TQ                       1
    #define   MSK32ISA_OFFRD_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_OFFRD_EXX_ALU64MEM                      0x0014
    #define     B16ISA_OFFRD_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_OFFRD_EXX_ALU64MEM                         7
    #define   LSb16ISA_OFFRD_EXX_ALU64MEM                         7
    #define       bISA_OFFRD_EXX_ALU64MEM                      1
    #define   MSK32ISA_OFFRD_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_OFFRD_EXX_BRANCH                        0x0015
    #define     B16ISA_OFFRD_EXX_BRANCH                        0x0014
    #define   LSb32ISA_OFFRD_EXX_BRANCH                           8
    #define   LSb16ISA_OFFRD_EXX_BRANCH                           8
    #define       bISA_OFFRD_EXX_BRANCH                        1
    #define   MSK32ISA_OFFRD_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OFFRD_WB                                0x0018

    #define     BA_ISA_OFFRD_WB_RF16                           0x0018
    #define     B16ISA_OFFRD_WB_RF16                           0x0018
    #define   LSb32ISA_OFFRD_WB_RF16                              0
    #define   LSb16ISA_OFFRD_WB_RF16                              0
    #define       bISA_OFFRD_WB_RF16                           1
    #define   MSK32ISA_OFFRD_WB_RF16                              0x00000001

    #define     BA_ISA_OFFRD_WB_RF16W0                         0x0018
    #define     B16ISA_OFFRD_WB_RF16W0                         0x0018
    #define   LSb32ISA_OFFRD_WB_RF16W0                            1
    #define   LSb16ISA_OFFRD_WB_RF16W0                            1
    #define       bISA_OFFRD_WB_RF16W0                         1
    #define   MSK32ISA_OFFRD_WB_RF16W0                            0x00000002

    #define     BA_ISA_OFFRD_WB_RF16MEM                        0x0018
    #define     B16ISA_OFFRD_WB_RF16MEM                        0x0018
    #define   LSb32ISA_OFFRD_WB_RF16MEM                           2
    #define   LSb16ISA_OFFRD_WB_RF16MEM                           2
    #define       bISA_OFFRD_WB_RF16MEM                        1
    #define   MSK32ISA_OFFRD_WB_RF16MEM                           0x00000004

    #define     BA_ISA_OFFRD_WB_RF16Q                          0x0018
    #define     B16ISA_OFFRD_WB_RF16Q                          0x0018
    #define   LSb32ISA_OFFRD_WB_RF16Q                             3
    #define   LSb16ISA_OFFRD_WB_RF16Q                             3
    #define       bISA_OFFRD_WB_RF16Q                          1
    #define   MSK32ISA_OFFRD_WB_RF16Q                             0x00000008

    #define     BA_ISA_OFFRD_WB_RF64                           0x0018
    #define     B16ISA_OFFRD_WB_RF64                           0x0018
    #define   LSb32ISA_OFFRD_WB_RF64                              4
    #define   LSb16ISA_OFFRD_WB_RF64                              4
    #define       bISA_OFFRD_WB_RF64                           1
    #define   MSK32ISA_OFFRD_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_OFFRD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_OFFRD_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_OFFRD_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_OFFRD_Mask;
            struct w32ISA_OFFRD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_OFFRD_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_OFFRD_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_OFFRD_Opcode;
            struct w32ISA_OFFRD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_OFFRD_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OFFRD_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_OFFRD_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OFFRD_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_OFFRD_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OFFRD_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_OFFRD_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OFFRD_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_OFFRD_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OFFRD_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_OFFRD_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OFFRD_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OFFRD_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_OFFRD_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OFFRD_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_OFFRD_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OFFRD_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_OFFRD_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OFFRD_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_OFFRD_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_OFFRD_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_OFFRD_ID;
            struct w32ISA_OFFRD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_OFFRD_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OFFRD_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_OFFRD_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OFFRD_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_OFFRD_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OFFRD_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_OFFRD_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OFFRD_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_OFFRD_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OFFRD_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_OFFRD_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OFFRD_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OFFRD_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_OFFRD_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OFFRD_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_OFFRD_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OFFRD_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_OFFRD_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OFFRD_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_OFFRD_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OFFRD_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_OFFRD_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OFFRD_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_OFFRD_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_OFFRD_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_OFFRD_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_OFFRD_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_OFFRD_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_OFFRD_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_OFFRD_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_OFFRD_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_OFFRD_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_OFFRD_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_OFFRD_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_OFFRD_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_OFFRD_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_OFFRD_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_OFFRD_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_OFFRD_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_OFFRD_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_OFFRD_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_OFFRD_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_OFFRD_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_OFFRD_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_OFFRD_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_OFFRD_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_OFFRD_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_OFFRD_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_OFFRD_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_OFFRD_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_OFFRD_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_OFFRD_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_OFFRD_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_OFFRD_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_OFFRD_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_OFFRD_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_OFFRD_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_OFFRD_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_OFFRD_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_OFFRD_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_OFFRD_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_OFFRD_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_OFFRD_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_OFFRD_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_OFFRD_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_OFFRD_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_OFFRD_LD;
            struct w32ISA_OFFRD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_OFFRD_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_OFFRD_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_OFFRD_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_OFFRD_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_OFFRD_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_OFFRD_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OFFRD_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OFFRD_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_OFFRD_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OFFRD_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_OFFRD_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OFFRD_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_OFFRD_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OFFRD_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_OFFRD_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OFFRD_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_OFFRD_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OFFRD_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_OFFRD_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_OFFRD_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_OFFRD_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_OFFRD_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_OFFRD_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_OFFRD_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_OFFRD_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_OFFRD_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_OFFRD_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_OFFRD_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_OFFRD_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_OFFRD_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_OFFRD_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_OFFRD_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_OFFRD_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_OFFRD_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_OFFRD_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_OFFRD_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_OFFRD_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_OFFRD_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_OFFRD_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_OFFRD_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_OFFRD_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_OFFRD_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_OFFRD_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_OFFRD_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_OFFRD_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_OFFRD_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_OFFRD_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_OFFRD_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_OFFRD_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_OFFRD_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_OFFRD_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_OFFRD_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_OFFRD_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_OFFRD_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_OFFRD_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_OFFRD_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_OFFRD_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_OFFRD_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_OFFRD_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_OFFRD_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OFFRD_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_OFFRD_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_OFFRD_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_OFFRD_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OFFRD_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_OFFRD_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_OFFRD_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_OFFRD_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_OFFRD_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_OFFRD_EX;
            struct w32ISA_OFFRD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_OFFRD_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OFFRD_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_OFFRD_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OFFRD_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_OFFRD_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OFFRD_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_OFFRD_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OFFRD_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_OFFRD_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OFFRD_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OFFRD_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_OFFRD_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OFFRD_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_OFFRD_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OFFRD_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_OFFRD_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OFFRD_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_OFFRD_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OFFRD_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_OFFRD_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OFFRD_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_OFFRD_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OFFRD_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_OFFRD_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OFFRD_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_OFFRD_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_OFFRD_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_OFFRD_EXX;
            struct w32ISA_OFFRD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OFFRD_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_OFFRD_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OFFRD_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_OFFRD_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OFFRD_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_OFFRD_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OFFRD_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_OFFRD_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OFFRD_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_OFFRD_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OFFRD_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_OFFRD_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OFFRD_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_OFFRD_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OFFRD_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_OFFRD_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OFFRD_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_OFFRD_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OFFRD_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_OFFRD_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_OFFRD_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_OFFRD_WB;
            struct w32ISA_OFFRD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_OFFRD;

    typedef union  T32ISA_OFFRD_Mask
          { UNSG32 u32;
            struct w32ISA_OFFRD_Mask;
                 } T32ISA_OFFRD_Mask;
    typedef union  T32ISA_OFFRD_Opcode
          { UNSG32 u32;
            struct w32ISA_OFFRD_Opcode;
                 } T32ISA_OFFRD_Opcode;
    typedef union  T32ISA_OFFRD_ID
          { UNSG32 u32;
            struct w32ISA_OFFRD_ID;
                 } T32ISA_OFFRD_ID;
    typedef union  T32ISA_OFFRD_LD
          { UNSG32 u32;
            struct w32ISA_OFFRD_LD;
                 } T32ISA_OFFRD_LD;
    typedef union  T32ISA_OFFRD_EX
          { UNSG32 u32;
            struct w32ISA_OFFRD_EX;
                 } T32ISA_OFFRD_EX;
    typedef union  T32ISA_OFFRD_EXX
          { UNSG32 u32;
            struct w32ISA_OFFRD_EXX;
                 } T32ISA_OFFRD_EXX;
    typedef union  T32ISA_OFFRD_WB
          { UNSG32 u32;
            struct w32ISA_OFFRD_WB;
                 } T32ISA_OFFRD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_OFFRD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_Mask;
                   };
                 } TISA_OFFRD_Mask;
    typedef union  TISA_OFFRD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_Opcode;
                   };
                 } TISA_OFFRD_Opcode;
    typedef union  TISA_OFFRD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_ID;
                   };
                 } TISA_OFFRD_ID;
    typedef union  TISA_OFFRD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_LD;
                   };
                 } TISA_OFFRD_LD;
    typedef union  TISA_OFFRD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_EX;
                   };
                 } TISA_OFFRD_EX;
    typedef union  TISA_OFFRD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_EXX;
                   };
                 } TISA_OFFRD_EXX;
    typedef union  TISA_OFFRD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OFFRD_WB;
                   };
                 } TISA_OFFRD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_OFFRD_drvrd(SIE_ISA_OFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_OFFRD_drvwr(SIE_ISA_OFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_OFFRD_reset(SIE_ISA_OFFRD *p);
     SIGN32 ISA_OFFRD_cmp  (SIE_ISA_OFFRD *p, SIE_ISA_OFFRD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_OFFRD_check(p,pie,pfx,hLOG) ISA_OFFRD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_OFFRD_print(p,    pfx,hLOG) ISA_OFFRD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_OFFRD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XRDi                                 (4,4)
///     ###
///     * Memory read 16b data to a register.
///     * Using 16b immediate number as absolute address.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00010
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x700000
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.RD.i" , "C,xT"        , "0111 CCCC CCCC CCCC TT-0 CCCC" } ,
///                                    * - Usage:
///                                    * -    X.RD.i   0x4008, %x2     ; %x2 = M64[ 0x4008 ];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     0x1
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     0x1
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XRDi
#define h_ISA_XRDi (){}

    #define     RA_ISA_XRDi_Mask                               0x0000

    #define     BA_ISA_XRDi_Mask_INS                           0x0000
    #define     B16ISA_XRDi_Mask_INS                           0x0000
    #define   LSb32ISA_XRDi_Mask_INS                              0
    #define   LSb16ISA_XRDi_Mask_INS                              0
    #define       bISA_XRDi_Mask_INS                           24
    #define   MSK32ISA_XRDi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_Opcode                             0x0004

    #define     BA_ISA_XRDi_Opcode_INS                         0x0004
    #define     B16ISA_XRDi_Opcode_INS                         0x0004
    #define   LSb32ISA_XRDi_Opcode_INS                            0
    #define   LSb16ISA_XRDi_Opcode_INS                            0
    #define       bISA_XRDi_Opcode_INS                         24
    #define   MSK32ISA_XRDi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_ID                                 0x0008

    #define     BA_ISA_XRDi_ID_RBRF                            0x0008
    #define     B16ISA_XRDi_ID_RBRF                            0x0008
    #define   LSb32ISA_XRDi_ID_RBRF                               0
    #define   LSb16ISA_XRDi_ID_RBRF                               0
    #define       bISA_XRDi_ID_RBRF                            1
    #define   MSK32ISA_XRDi_ID_RBRF                               0x00000001

    #define     BA_ISA_XRDi_ID_RARF                            0x0008
    #define     B16ISA_XRDi_ID_RARF                            0x0008
    #define   LSb32ISA_XRDi_ID_RARF                               1
    #define   LSb16ISA_XRDi_ID_RARF                               1
    #define       bISA_XRDi_ID_RARF                            1
    #define   MSK32ISA_XRDi_ID_RARF                               0x00000002

    #define     BA_ISA_XRDi_ID_RAK8                            0x0008
    #define     B16ISA_XRDi_ID_RAK8                            0x0008
    #define   LSb32ISA_XRDi_ID_RAK8                               2
    #define   LSb16ISA_XRDi_ID_RAK8                               2
    #define       bISA_XRDi_ID_RAK8                            1
    #define   MSK32ISA_XRDi_ID_RAK8                               0x00000004

    #define     BA_ISA_XRDi_ID_RAI16                           0x0008
    #define     B16ISA_XRDi_ID_RAI16                           0x0008
    #define   LSb32ISA_XRDi_ID_RAI16                              3
    #define   LSb16ISA_XRDi_ID_RAI16                              3
    #define       bISA_XRDi_ID_RAI16                           1
    #define   MSK32ISA_XRDi_ID_RAI16                              0x00000008

    #define     BA_ISA_XRDi_ID_RAK16                           0x0008
    #define     B16ISA_XRDi_ID_RAK16                           0x0008
    #define   LSb32ISA_XRDi_ID_RAK16                              4
    #define   LSb16ISA_XRDi_ID_RAK16                              4
    #define       bISA_XRDi_ID_RAK16                           1
    #define   MSK32ISA_XRDi_ID_RAK16                              0x00000010

    #define     BA_ISA_XRDi_ID_RFSP                            0x0008
    #define     B16ISA_XRDi_ID_RFSP                            0x0008
    #define   LSb32ISA_XRDi_ID_RFSP                               5
    #define   LSb16ISA_XRDi_ID_RFSP                               5
    #define       bISA_XRDi_ID_RFSP                            1
    #define   MSK32ISA_XRDi_ID_RFSP                               0x00000020

    #define     BA_ISA_XRDi_ID_W4D4                            0x0008
    #define     B16ISA_XRDi_ID_W4D4                            0x0008
    #define   LSb32ISA_XRDi_ID_W4D4                               6
    #define   LSb16ISA_XRDi_ID_W4D4                               6
    #define       bISA_XRDi_ID_W4D4                            1
    #define   MSK32ISA_XRDi_ID_W4D4                               0x00000040

    #define     BA_ISA_XRDi_ID_W4S4                            0x0008
    #define     B16ISA_XRDi_ID_W4S4                            0x0008
    #define   LSb32ISA_XRDi_ID_W4S4                               7
    #define   LSb16ISA_XRDi_ID_W4S4                               7
    #define       bISA_XRDi_ID_W4S4                            1
    #define   MSK32ISA_XRDi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_LD                                 0x000C

    #define     BA_ISA_XRDi_LD_SPRF                            0x000C
    #define     B16ISA_XRDi_LD_SPRF                            0x000C
    #define   LSb32ISA_XRDi_LD_SPRF                               0
    #define   LSb16ISA_XRDi_LD_SPRF                               0
    #define       bISA_XRDi_LD_SPRF                            1
    #define   MSK32ISA_XRDi_LD_SPRF                               0x00000001

    #define     BA_ISA_XRDi_LD_SPK8                            0x000C
    #define     B16ISA_XRDi_LD_SPK8                            0x000C
    #define   LSb32ISA_XRDi_LD_SPK8                               1
    #define   LSb16ISA_XRDi_LD_SPK8                               1
    #define       bISA_XRDi_LD_SPK8                            1
    #define   MSK32ISA_XRDi_LD_SPK8                               0x00000002

    #define     BA_ISA_XRDi_LD_SPJ                             0x000C
    #define     B16ISA_XRDi_LD_SPJ                             0x000C
    #define   LSb32ISA_XRDi_LD_SPJ                                2
    #define   LSb16ISA_XRDi_LD_SPJ                                2
    #define       bISA_XRDi_LD_SPJ                             1
    #define   MSK32ISA_XRDi_LD_SPJ                                0x00000004

    #define     BA_ISA_XRDi_LD_SP4S                            0x000C
    #define     B16ISA_XRDi_LD_SP4S                            0x000C
    #define   LSb32ISA_XRDi_LD_SP4S                               3
    #define   LSb16ISA_XRDi_LD_SP4S                               3
    #define       bISA_XRDi_LD_SP4S                            1
    #define   MSK32ISA_XRDi_LD_SP4S                               0x00000008

    #define     BA_ISA_XRDi_LD_SP8S                            0x000C
    #define     B16ISA_XRDi_LD_SP8S                            0x000C
    #define   LSb32ISA_XRDi_LD_SP8S                               4
    #define   LSb16ISA_XRDi_LD_SP8S                               4
    #define       bISA_XRDi_LD_SP8S                            1
    #define   MSK32ISA_XRDi_LD_SP8S                               0x00000010

    #define     BA_ISA_XRDi_LD_SP8U                            0x000C
    #define     B16ISA_XRDi_LD_SP8U                            0x000C
    #define   LSb32ISA_XRDi_LD_SP8U                               5
    #define   LSb16ISA_XRDi_LD_SP8U                               5
    #define       bISA_XRDi_LD_SP8U                            1
    #define   MSK32ISA_XRDi_LD_SP8U                               0x00000020

    #define     BA_ISA_XRDi_LD_SP12S                           0x000C
    #define     B16ISA_XRDi_LD_SP12S                           0x000C
    #define   LSb32ISA_XRDi_LD_SP12S                              6
    #define   LSb16ISA_XRDi_LD_SP12S                              6
    #define       bISA_XRDi_LD_SP12S                           1
    #define   MSK32ISA_XRDi_LD_SP12S                              0x00000040

    #define     BA_ISA_XRDi_LD_SP16                            0x000C
    #define     B16ISA_XRDi_LD_SP16                            0x000C
    #define   LSb32ISA_XRDi_LD_SP16                               7
    #define   LSb16ISA_XRDi_LD_SP16                               7
    #define       bISA_XRDi_LD_SP16                            1
    #define   MSK32ISA_XRDi_LD_SP16                               0x00000080

    #define     BA_ISA_XRDi_LD_TPRF                            0x000D
    #define     B16ISA_XRDi_LD_TPRF                            0x000C
    #define   LSb32ISA_XRDi_LD_TPRF                               8
    #define   LSb16ISA_XRDi_LD_TPRF                               8
    #define       bISA_XRDi_LD_TPRF                            1
    #define   MSK32ISA_XRDi_LD_TPRF                               0x00000100

    #define     BA_ISA_XRDi_LD_TPJ                             0x000D
    #define     B16ISA_XRDi_LD_TPJ                             0x000C
    #define   LSb32ISA_XRDi_LD_TPJ                                9
    #define   LSb16ISA_XRDi_LD_TPJ                                9
    #define       bISA_XRDi_LD_TPJ                             1
    #define   MSK32ISA_XRDi_LD_TPJ                                0x00000200

    #define     BA_ISA_XRDi_LD_TP4S                            0x000D
    #define     B16ISA_XRDi_LD_TP4S                            0x000C
    #define   LSb32ISA_XRDi_LD_TP4S                               10
    #define   LSb16ISA_XRDi_LD_TP4S                               10
    #define       bISA_XRDi_LD_TP4S                            1
    #define   MSK32ISA_XRDi_LD_TP4S                               0x00000400

    #define     BA_ISA_XRDi_LD_TP8L                            0x000D
    #define     B16ISA_XRDi_LD_TP8L                            0x000C
    #define   LSb32ISA_XRDi_LD_TP8L                               11
    #define   LSb16ISA_XRDi_LD_TP8L                               11
    #define       bISA_XRDi_LD_TP8L                            1
    #define   MSK32ISA_XRDi_LD_TP8L                               0x00000800

    #define     BA_ISA_XRDi_LD_TP8H                            0x000D
    #define     B16ISA_XRDi_LD_TP8H                            0x000C
    #define   LSb32ISA_XRDi_LD_TP8H                               12
    #define   LSb16ISA_XRDi_LD_TP8H                               12
    #define       bISA_XRDi_LD_TP8H                            1
    #define   MSK32ISA_XRDi_LD_TP8H                               0x00001000

    #define     BA_ISA_XRDi_LD_TP8LF                           0x000D
    #define     B16ISA_XRDi_LD_TP8LF                           0x000C
    #define   LSb32ISA_XRDi_LD_TP8LF                              13
    #define   LSb16ISA_XRDi_LD_TP8LF                              13
    #define       bISA_XRDi_LD_TP8LF                           1
    #define   MSK32ISA_XRDi_LD_TP8LF                              0x00002000

    #define     BA_ISA_XRDi_LD_TP8HF                           0x000D
    #define     B16ISA_XRDi_LD_TP8HF                           0x000C
    #define   LSb32ISA_XRDi_LD_TP8HF                              14
    #define   LSb16ISA_XRDi_LD_TP8HF                              14
    #define       bISA_XRDi_LD_TP8HF                           1
    #define   MSK32ISA_XRDi_LD_TP8HF                              0x00004000

    #define     BA_ISA_XRDi_LD_SQRF64                          0x000D
    #define     B16ISA_XRDi_LD_SQRF64                          0x000C
    #define   LSb32ISA_XRDi_LD_SQRF64                             15
    #define   LSb16ISA_XRDi_LD_SQRF64                             15
    #define       bISA_XRDi_LD_SQRF64                          1
    #define   MSK32ISA_XRDi_LD_SQRF64                             0x00008000

    #define     BA_ISA_XRDi_LD_TQRF16Q                         0x000E
    #define     B16ISA_XRDi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_XRDi_LD_TQRF16Q                            16
    #define   LSb16ISA_XRDi_LD_TQRF16Q                            0
    #define       bISA_XRDi_LD_TQRF16Q                         1
    #define   MSK32ISA_XRDi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_XRDi_LD_TQRFx4                          0x000E
    #define     B16ISA_XRDi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_XRDi_LD_TQRFx4                             17
    #define   LSb16ISA_XRDi_LD_TQRFx4                             1
    #define       bISA_XRDi_LD_TQRFx4                          1
    #define   MSK32ISA_XRDi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_XRDi_LD_RD                              0x000E
    #define     B16ISA_XRDi_LD_RD                              0x000E
    #define   LSb32ISA_XRDi_LD_RD                                 18
    #define   LSb16ISA_XRDi_LD_RD                                 2
    #define       bISA_XRDi_LD_RD                              1
    #define   MSK32ISA_XRDi_LD_RD                                 0x00040000

    #define     BA_ISA_XRDi_LD_WARF                            0x000E
    #define     B16ISA_XRDi_LD_WARF                            0x000E
    #define   LSb32ISA_XRDi_LD_WARF                               19
    #define   LSb16ISA_XRDi_LD_WARF                               3
    #define       bISA_XRDi_LD_WARF                            1
    #define   MSK32ISA_XRDi_LD_WARF                               0x00080000

    #define     BA_ISA_XRDi_LD_WAK8                            0x000E
    #define     B16ISA_XRDi_LD_WAK8                            0x000E
    #define   LSb32ISA_XRDi_LD_WAK8                               20
    #define   LSb16ISA_XRDi_LD_WAK8                               4
    #define       bISA_XRDi_LD_WAK8                            1
    #define   MSK32ISA_XRDi_LD_WAK8                               0x00100000

    #define     BA_ISA_XRDi_LD_WAK16                           0x000E
    #define     B16ISA_XRDi_LD_WAK16                           0x000E
    #define   LSb32ISA_XRDi_LD_WAK16                              21
    #define   LSb16ISA_XRDi_LD_WAK16                              5
    #define       bISA_XRDi_LD_WAK16                           1
    #define   MSK32ISA_XRDi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_EX                                 0x0010

    #define     BA_ISA_XRDi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_XRDi_EX_ALU16FlagZ                         0
    #define       bISA_XRDi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_XRDi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_XRDi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagC                         1
    #define   LSb16ISA_XRDi_EX_ALU16FlagC                         1
    #define       bISA_XRDi_EX_ALU16FlagC                      1
    #define   MSK32ISA_XRDi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_XRDi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagN                         2
    #define   LSb16ISA_XRDi_EX_ALU16FlagN                         2
    #define       bISA_XRDi_EX_ALU16FlagN                      1
    #define   MSK32ISA_XRDi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_XRDi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagV                         3
    #define   LSb16ISA_XRDi_EX_ALU16FlagV                         3
    #define       bISA_XRDi_EX_ALU16FlagV                      1
    #define   MSK32ISA_XRDi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_XRDi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_XRDi_EX_ALU16FlagTP                        4
    #define       bISA_XRDi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_XRDi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_XRDi_EX_ALU16MUL                        0x0010
    #define     B16ISA_XRDi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16MUL                           5
    #define   LSb16ISA_XRDi_EX_ALU16MUL                           5
    #define       bISA_XRDi_EX_ALU16MUL                        1
    #define   MSK32ISA_XRDi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_XRDi_EX_ALU16DIV                        0x0010
    #define     B16ISA_XRDi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16DIV                           6
    #define   LSb16ISA_XRDi_EX_ALU16DIV                           6
    #define       bISA_XRDi_EX_ALU16DIV                        1
    #define   MSK32ISA_XRDi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_XRDi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_XRDi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_XRDi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_XRDi_EX_ALU16FlagLD                        7
    #define       bISA_XRDi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_XRDi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_XRDi_EX_ALU16MDL                        0x0011
    #define     B16ISA_XRDi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16MDL                           8
    #define   LSb16ISA_XRDi_EX_ALU16MDL                           8
    #define       bISA_XRDi_EX_ALU16MDL                        1
    #define   MSK32ISA_XRDi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_XRDi_EX_ALU16MDH                        0x0011
    #define     B16ISA_XRDi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16MDH                           9
    #define   LSb16ISA_XRDi_EX_ALU16MDH                           9
    #define       bISA_XRDi_EX_ALU16MDH                        1
    #define   MSK32ISA_XRDi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_XRDi_EX_ALU16ADD                        0x0011
    #define     B16ISA_XRDi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16ADD                           10
    #define   LSb16ISA_XRDi_EX_ALU16ADD                           10
    #define       bISA_XRDi_EX_ALU16ADD                        1
    #define   MSK32ISA_XRDi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_XRDi_EX_ALU16SUB                        0x0011
    #define     B16ISA_XRDi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16SUB                           11
    #define   LSb16ISA_XRDi_EX_ALU16SUB                           11
    #define       bISA_XRDi_EX_ALU16SUB                        1
    #define   MSK32ISA_XRDi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_XRDi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_XRDi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_XRDi_EX_ALU16ADDC                          12
    #define   LSb16ISA_XRDi_EX_ALU16ADDC                          12
    #define       bISA_XRDi_EX_ALU16ADDC                       1
    #define   MSK32ISA_XRDi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_XRDi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_XRDi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_XRDi_EX_ALU16SUBC                          13
    #define   LSb16ISA_XRDi_EX_ALU16SUBC                          13
    #define       bISA_XRDi_EX_ALU16SUBC                       1
    #define   MSK32ISA_XRDi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_XRDi_EX_ALU16ASR                        0x0011
    #define     B16ISA_XRDi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_XRDi_EX_ALU16ASR                           14
    #define   LSb16ISA_XRDi_EX_ALU16ASR                           14
    #define       bISA_XRDi_EX_ALU16ASR                        1
    #define   MSK32ISA_XRDi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_XRDi_EX_ALU16SL                         0x0011
    #define     B16ISA_XRDi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_XRDi_EX_ALU16SL                            15
    #define   LSb16ISA_XRDi_EX_ALU16SL                            15
    #define       bISA_XRDi_EX_ALU16SL                         1
    #define   MSK32ISA_XRDi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_XRDi_EX_ALU16SR                         0x0012
    #define     B16ISA_XRDi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_XRDi_EX_ALU16SR                            16
    #define   LSb16ISA_XRDi_EX_ALU16SR                            0
    #define       bISA_XRDi_EX_ALU16SR                         1
    #define   MSK32ISA_XRDi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_XRDi_EX_ALU16GET                        0x0012
    #define     B16ISA_XRDi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_XRDi_EX_ALU16GET                           17
    #define   LSb16ISA_XRDi_EX_ALU16GET                           1
    #define       bISA_XRDi_EX_ALU16GET                        1
    #define   MSK32ISA_XRDi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_XRDi_EX_ALU16SET                        0x0012
    #define     B16ISA_XRDi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_XRDi_EX_ALU16SET                           18
    #define   LSb16ISA_XRDi_EX_ALU16SET                           2
    #define       bISA_XRDi_EX_ALU16SET                        1
    #define   MSK32ISA_XRDi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_XRDi_EX_ALU16SEL                        0x0012
    #define     B16ISA_XRDi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_XRDi_EX_ALU16SEL                           19
    #define   LSb16ISA_XRDi_EX_ALU16SEL                           3
    #define       bISA_XRDi_EX_ALU16SEL                        1
    #define   MSK32ISA_XRDi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_XRDi_EX_ALU16OR                         0x0012
    #define     B16ISA_XRDi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_XRDi_EX_ALU16OR                            20
    #define   LSb16ISA_XRDi_EX_ALU16OR                            4
    #define       bISA_XRDi_EX_ALU16OR                         1
    #define   MSK32ISA_XRDi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_XRDi_EX_ALU16AND                        0x0012
    #define     B16ISA_XRDi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_XRDi_EX_ALU16AND                           21
    #define   LSb16ISA_XRDi_EX_ALU16AND                           5
    #define       bISA_XRDi_EX_ALU16AND                        1
    #define   MSK32ISA_XRDi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_XRDi_EX_ALU16XOR                        0x0012
    #define     B16ISA_XRDi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_XRDi_EX_ALU16XOR                           22
    #define   LSb16ISA_XRDi_EX_ALU16XOR                           6
    #define       bISA_XRDi_EX_ALU16XOR                        1
    #define   MSK32ISA_XRDi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_XRDi_EX_ALU16SP                         0x0012
    #define     B16ISA_XRDi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_XRDi_EX_ALU16SP                            23
    #define   LSb16ISA_XRDi_EX_ALU16SP                            7
    #define       bISA_XRDi_EX_ALU16SP                         1
    #define   MSK32ISA_XRDi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_EXX                                0x0014

    #define     BA_ISA_XRDi_EXX_WRSQ                           0x0014
    #define     B16ISA_XRDi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_XRDi_EXX_WRSQ                              0
    #define   LSb16ISA_XRDi_EXX_WRSQ                              0
    #define       bISA_XRDi_EXX_WRSQ                           1
    #define   MSK32ISA_XRDi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_XRDi_EXX_WR16                           0x0014
    #define     B16ISA_XRDi_EXX_WR16                           0x0014
    #define   LSb32ISA_XRDi_EXX_WR16                              1
    #define   LSb16ISA_XRDi_EXX_WR16                              1
    #define       bISA_XRDi_EXX_WR16                           1
    #define   MSK32ISA_XRDi_EXX_WR16                              0x00000002

    #define     BA_ISA_XRDi_EXX_WRTQ                           0x0014
    #define     B16ISA_XRDi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_XRDi_EXX_WRTQ                              2
    #define   LSb16ISA_XRDi_EXX_WRTQ                              2
    #define       bISA_XRDi_EXX_WRTQ                           1
    #define   MSK32ISA_XRDi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_XRDi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_XRDi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_XRDi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_XRDi_EXX_ALU64PUSH                         3
    #define       bISA_XRDi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_XRDi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_XRDi_EXX_ALU64POP                       0x0014
    #define     B16ISA_XRDi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_XRDi_EXX_ALU64POP                          4
    #define   LSb16ISA_XRDi_EXX_ALU64POP                          4
    #define       bISA_XRDi_EXX_ALU64POP                       1
    #define   MSK32ISA_XRDi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_XRDi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_XRDi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_XRDi_EXX_ALU64SQ                           5
    #define   LSb16ISA_XRDi_EXX_ALU64SQ                           5
    #define       bISA_XRDi_EXX_ALU64SQ                        1
    #define   MSK32ISA_XRDi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_XRDi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_XRDi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_XRDi_EXX_ALU64TQ                           6
    #define   LSb16ISA_XRDi_EXX_ALU64TQ                           6
    #define       bISA_XRDi_EXX_ALU64TQ                        1
    #define   MSK32ISA_XRDi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_XRDi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_XRDi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_XRDi_EXX_ALU64MEM                          7
    #define   LSb16ISA_XRDi_EXX_ALU64MEM                          7
    #define       bISA_XRDi_EXX_ALU64MEM                       1
    #define   MSK32ISA_XRDi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_XRDi_EXX_BRANCH                         0x0015
    #define     B16ISA_XRDi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_XRDi_EXX_BRANCH                            8
    #define   LSb16ISA_XRDi_EXX_BRANCH                            8
    #define       bISA_XRDi_EXX_BRANCH                         1
    #define   MSK32ISA_XRDi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDi_WB                                 0x0018

    #define     BA_ISA_XRDi_WB_RF16                            0x0018
    #define     B16ISA_XRDi_WB_RF16                            0x0018
    #define   LSb32ISA_XRDi_WB_RF16                               0
    #define   LSb16ISA_XRDi_WB_RF16                               0
    #define       bISA_XRDi_WB_RF16                            1
    #define   MSK32ISA_XRDi_WB_RF16                               0x00000001

    #define     BA_ISA_XRDi_WB_RF16W0                          0x0018
    #define     B16ISA_XRDi_WB_RF16W0                          0x0018
    #define   LSb32ISA_XRDi_WB_RF16W0                             1
    #define   LSb16ISA_XRDi_WB_RF16W0                             1
    #define       bISA_XRDi_WB_RF16W0                          1
    #define   MSK32ISA_XRDi_WB_RF16W0                             0x00000002

    #define     BA_ISA_XRDi_WB_RF16MEM                         0x0018
    #define     B16ISA_XRDi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_XRDi_WB_RF16MEM                            2
    #define   LSb16ISA_XRDi_WB_RF16MEM                            2
    #define       bISA_XRDi_WB_RF16MEM                         1
    #define   MSK32ISA_XRDi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_XRDi_WB_RF16Q                           0x0018
    #define     B16ISA_XRDi_WB_RF16Q                           0x0018
    #define   LSb32ISA_XRDi_WB_RF16Q                              3
    #define   LSb16ISA_XRDi_WB_RF16Q                              3
    #define       bISA_XRDi_WB_RF16Q                           1
    #define   MSK32ISA_XRDi_WB_RF16Q                              0x00000008

    #define     BA_ISA_XRDi_WB_RF64                            0x0018
    #define     B16ISA_XRDi_WB_RF64                            0x0018
    #define   LSb32ISA_XRDi_WB_RF64                               4
    #define   LSb16ISA_XRDi_WB_RF64                               4
    #define       bISA_XRDi_WB_RF64                            1
    #define   MSK32ISA_XRDi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XRDi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_XRDi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_XRDi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XRDi_Mask;
            struct w32ISA_XRDi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XRDi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XRDi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XRDi_Opcode;
            struct w32ISA_XRDi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XRDi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XRDi_ID;
            struct w32ISA_XRDi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XRDi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_XRDi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XRDi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_XRDi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XRDi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_XRDi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_XRDi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_XRDi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_XRDi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_XRDi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_XRDi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_XRDi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_XRDi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_XRDi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_XRDi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_XRDi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_XRDi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_XRDi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_XRDi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_XRDi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_XRDi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_XRDi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_XRDi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_XRDi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_XRDi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XRDi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XRDi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XRDi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XRDi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XRDi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XRDi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_XRDi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_XRDi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_XRDi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_XRDi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_XRDi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_XRDi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_XRDi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_XRDi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_XRDi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_XRDi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XRDi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XRDi_LD;
            struct w32ISA_XRDi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XRDi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_XRDi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XRDi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_XRDi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XRDi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_XRDi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_XRDi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_XRDi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_XRDi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_XRDi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_XRDi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_XRDi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_XRDi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_XRDi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_XRDi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_XRDi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_XRDi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_XRDi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_XRDi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_XRDi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_XRDi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_XRDi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_XRDi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_XRDi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_XRDi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_XRDi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_XRDi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_XRDi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_XRDi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XRDi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XRDi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XRDi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XRDi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_XRDi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_XRDi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_XRDi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_XRDi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_XRDi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_XRDi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_XRDi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_XRDi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_XRDi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_XRDi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_XRDi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_XRDi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XRDi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XRDi_EX;
            struct w32ISA_XRDi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XRDi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XRDi_EXX;
            struct w32ISA_XRDi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XRDi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XRDi_WB;
            struct w32ISA_XRDi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XRDi;

    typedef union  T32ISA_XRDi_Mask
          { UNSG32 u32;
            struct w32ISA_XRDi_Mask;
                 } T32ISA_XRDi_Mask;
    typedef union  T32ISA_XRDi_Opcode
          { UNSG32 u32;
            struct w32ISA_XRDi_Opcode;
                 } T32ISA_XRDi_Opcode;
    typedef union  T32ISA_XRDi_ID
          { UNSG32 u32;
            struct w32ISA_XRDi_ID;
                 } T32ISA_XRDi_ID;
    typedef union  T32ISA_XRDi_LD
          { UNSG32 u32;
            struct w32ISA_XRDi_LD;
                 } T32ISA_XRDi_LD;
    typedef union  T32ISA_XRDi_EX
          { UNSG32 u32;
            struct w32ISA_XRDi_EX;
                 } T32ISA_XRDi_EX;
    typedef union  T32ISA_XRDi_EXX
          { UNSG32 u32;
            struct w32ISA_XRDi_EXX;
                 } T32ISA_XRDi_EXX;
    typedef union  T32ISA_XRDi_WB
          { UNSG32 u32;
            struct w32ISA_XRDi_WB;
                 } T32ISA_XRDi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XRDi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_Mask;
                   };
                 } TISA_XRDi_Mask;
    typedef union  TISA_XRDi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_Opcode;
                   };
                 } TISA_XRDi_Opcode;
    typedef union  TISA_XRDi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_ID;
                   };
                 } TISA_XRDi_ID;
    typedef union  TISA_XRDi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_LD;
                   };
                 } TISA_XRDi_LD;
    typedef union  TISA_XRDi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_EX;
                   };
                 } TISA_XRDi_EX;
    typedef union  TISA_XRDi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_EXX;
                   };
                 } TISA_XRDi_EXX;
    typedef union  TISA_XRDi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDi_WB;
                   };
                 } TISA_XRDi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XRDi_drvrd(SIE_ISA_XRDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XRDi_drvwr(SIE_ISA_XRDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XRDi_reset(SIE_ISA_XRDi *p);
     SIGN32 ISA_XRDi_cmp  (SIE_ISA_XRDi *p, SIE_ISA_XRDi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XRDi_check(p,pie,pfx,hLOG) ISA_XRDi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XRDi_print(p,    pfx,hLOG) ISA_XRDi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XRDi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XRDINC                               (4,4)
///     ###
///     * Memory read 64b data to a quad register in RF16.
///     * Using a register to load both read address (RA) & base read address (RB).
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     * RF16 write back conflict may happen, ALU16 write-back shall overwrite memory output.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500008
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.RD.INC", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1000" } ,
///                                    * - Usage:
///                                    * -    X.RD.INC %a1, + 8, %x2   ; %x2 = M64[ %a1 ];
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      0x1
///               %unsigned 1  RARF                      0x1
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     0x1
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XRDINC
#define h_ISA_XRDINC (){}

    #define     RA_ISA_XRDINC_Mask                             0x0000

    #define     BA_ISA_XRDINC_Mask_INS                         0x0000
    #define     B16ISA_XRDINC_Mask_INS                         0x0000
    #define   LSb32ISA_XRDINC_Mask_INS                            0
    #define   LSb16ISA_XRDINC_Mask_INS                            0
    #define       bISA_XRDINC_Mask_INS                         24
    #define   MSK32ISA_XRDINC_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_Opcode                           0x0004

    #define     BA_ISA_XRDINC_Opcode_INS                       0x0004
    #define     B16ISA_XRDINC_Opcode_INS                       0x0004
    #define   LSb32ISA_XRDINC_Opcode_INS                          0
    #define   LSb16ISA_XRDINC_Opcode_INS                          0
    #define       bISA_XRDINC_Opcode_INS                       24
    #define   MSK32ISA_XRDINC_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_ID                               0x0008

    #define     BA_ISA_XRDINC_ID_RBRF                          0x0008
    #define     B16ISA_XRDINC_ID_RBRF                          0x0008
    #define   LSb32ISA_XRDINC_ID_RBRF                             0
    #define   LSb16ISA_XRDINC_ID_RBRF                             0
    #define       bISA_XRDINC_ID_RBRF                          1
    #define   MSK32ISA_XRDINC_ID_RBRF                             0x00000001

    #define     BA_ISA_XRDINC_ID_RARF                          0x0008
    #define     B16ISA_XRDINC_ID_RARF                          0x0008
    #define   LSb32ISA_XRDINC_ID_RARF                             1
    #define   LSb16ISA_XRDINC_ID_RARF                             1
    #define       bISA_XRDINC_ID_RARF                          1
    #define   MSK32ISA_XRDINC_ID_RARF                             0x00000002

    #define     BA_ISA_XRDINC_ID_RAK8                          0x0008
    #define     B16ISA_XRDINC_ID_RAK8                          0x0008
    #define   LSb32ISA_XRDINC_ID_RAK8                             2
    #define   LSb16ISA_XRDINC_ID_RAK8                             2
    #define       bISA_XRDINC_ID_RAK8                          1
    #define   MSK32ISA_XRDINC_ID_RAK8                             0x00000004

    #define     BA_ISA_XRDINC_ID_RAI16                         0x0008
    #define     B16ISA_XRDINC_ID_RAI16                         0x0008
    #define   LSb32ISA_XRDINC_ID_RAI16                            3
    #define   LSb16ISA_XRDINC_ID_RAI16                            3
    #define       bISA_XRDINC_ID_RAI16                         1
    #define   MSK32ISA_XRDINC_ID_RAI16                            0x00000008

    #define     BA_ISA_XRDINC_ID_RAK16                         0x0008
    #define     B16ISA_XRDINC_ID_RAK16                         0x0008
    #define   LSb32ISA_XRDINC_ID_RAK16                            4
    #define   LSb16ISA_XRDINC_ID_RAK16                            4
    #define       bISA_XRDINC_ID_RAK16                         1
    #define   MSK32ISA_XRDINC_ID_RAK16                            0x00000010

    #define     BA_ISA_XRDINC_ID_RFSP                          0x0008
    #define     B16ISA_XRDINC_ID_RFSP                          0x0008
    #define   LSb32ISA_XRDINC_ID_RFSP                             5
    #define   LSb16ISA_XRDINC_ID_RFSP                             5
    #define       bISA_XRDINC_ID_RFSP                          1
    #define   MSK32ISA_XRDINC_ID_RFSP                             0x00000020

    #define     BA_ISA_XRDINC_ID_W4D4                          0x0008
    #define     B16ISA_XRDINC_ID_W4D4                          0x0008
    #define   LSb32ISA_XRDINC_ID_W4D4                             6
    #define   LSb16ISA_XRDINC_ID_W4D4                             6
    #define       bISA_XRDINC_ID_W4D4                          1
    #define   MSK32ISA_XRDINC_ID_W4D4                             0x00000040

    #define     BA_ISA_XRDINC_ID_W4S4                          0x0008
    #define     B16ISA_XRDINC_ID_W4S4                          0x0008
    #define   LSb32ISA_XRDINC_ID_W4S4                             7
    #define   LSb16ISA_XRDINC_ID_W4S4                             7
    #define       bISA_XRDINC_ID_W4S4                          1
    #define   MSK32ISA_XRDINC_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_LD                               0x000C

    #define     BA_ISA_XRDINC_LD_SPRF                          0x000C
    #define     B16ISA_XRDINC_LD_SPRF                          0x000C
    #define   LSb32ISA_XRDINC_LD_SPRF                             0
    #define   LSb16ISA_XRDINC_LD_SPRF                             0
    #define       bISA_XRDINC_LD_SPRF                          1
    #define   MSK32ISA_XRDINC_LD_SPRF                             0x00000001

    #define     BA_ISA_XRDINC_LD_SPK8                          0x000C
    #define     B16ISA_XRDINC_LD_SPK8                          0x000C
    #define   LSb32ISA_XRDINC_LD_SPK8                             1
    #define   LSb16ISA_XRDINC_LD_SPK8                             1
    #define       bISA_XRDINC_LD_SPK8                          1
    #define   MSK32ISA_XRDINC_LD_SPK8                             0x00000002

    #define     BA_ISA_XRDINC_LD_SPJ                           0x000C
    #define     B16ISA_XRDINC_LD_SPJ                           0x000C
    #define   LSb32ISA_XRDINC_LD_SPJ                              2
    #define   LSb16ISA_XRDINC_LD_SPJ                              2
    #define       bISA_XRDINC_LD_SPJ                           1
    #define   MSK32ISA_XRDINC_LD_SPJ                              0x00000004

    #define     BA_ISA_XRDINC_LD_SP4S                          0x000C
    #define     B16ISA_XRDINC_LD_SP4S                          0x000C
    #define   LSb32ISA_XRDINC_LD_SP4S                             3
    #define   LSb16ISA_XRDINC_LD_SP4S                             3
    #define       bISA_XRDINC_LD_SP4S                          1
    #define   MSK32ISA_XRDINC_LD_SP4S                             0x00000008

    #define     BA_ISA_XRDINC_LD_SP8S                          0x000C
    #define     B16ISA_XRDINC_LD_SP8S                          0x000C
    #define   LSb32ISA_XRDINC_LD_SP8S                             4
    #define   LSb16ISA_XRDINC_LD_SP8S                             4
    #define       bISA_XRDINC_LD_SP8S                          1
    #define   MSK32ISA_XRDINC_LD_SP8S                             0x00000010

    #define     BA_ISA_XRDINC_LD_SP8U                          0x000C
    #define     B16ISA_XRDINC_LD_SP8U                          0x000C
    #define   LSb32ISA_XRDINC_LD_SP8U                             5
    #define   LSb16ISA_XRDINC_LD_SP8U                             5
    #define       bISA_XRDINC_LD_SP8U                          1
    #define   MSK32ISA_XRDINC_LD_SP8U                             0x00000020

    #define     BA_ISA_XRDINC_LD_SP12S                         0x000C
    #define     B16ISA_XRDINC_LD_SP12S                         0x000C
    #define   LSb32ISA_XRDINC_LD_SP12S                            6
    #define   LSb16ISA_XRDINC_LD_SP12S                            6
    #define       bISA_XRDINC_LD_SP12S                         1
    #define   MSK32ISA_XRDINC_LD_SP12S                            0x00000040

    #define     BA_ISA_XRDINC_LD_SP16                          0x000C
    #define     B16ISA_XRDINC_LD_SP16                          0x000C
    #define   LSb32ISA_XRDINC_LD_SP16                             7
    #define   LSb16ISA_XRDINC_LD_SP16                             7
    #define       bISA_XRDINC_LD_SP16                          1
    #define   MSK32ISA_XRDINC_LD_SP16                             0x00000080

    #define     BA_ISA_XRDINC_LD_TPRF                          0x000D
    #define     B16ISA_XRDINC_LD_TPRF                          0x000C
    #define   LSb32ISA_XRDINC_LD_TPRF                             8
    #define   LSb16ISA_XRDINC_LD_TPRF                             8
    #define       bISA_XRDINC_LD_TPRF                          1
    #define   MSK32ISA_XRDINC_LD_TPRF                             0x00000100

    #define     BA_ISA_XRDINC_LD_TPJ                           0x000D
    #define     B16ISA_XRDINC_LD_TPJ                           0x000C
    #define   LSb32ISA_XRDINC_LD_TPJ                              9
    #define   LSb16ISA_XRDINC_LD_TPJ                              9
    #define       bISA_XRDINC_LD_TPJ                           1
    #define   MSK32ISA_XRDINC_LD_TPJ                              0x00000200

    #define     BA_ISA_XRDINC_LD_TP4S                          0x000D
    #define     B16ISA_XRDINC_LD_TP4S                          0x000C
    #define   LSb32ISA_XRDINC_LD_TP4S                             10
    #define   LSb16ISA_XRDINC_LD_TP4S                             10
    #define       bISA_XRDINC_LD_TP4S                          1
    #define   MSK32ISA_XRDINC_LD_TP4S                             0x00000400

    #define     BA_ISA_XRDINC_LD_TP8L                          0x000D
    #define     B16ISA_XRDINC_LD_TP8L                          0x000C
    #define   LSb32ISA_XRDINC_LD_TP8L                             11
    #define   LSb16ISA_XRDINC_LD_TP8L                             11
    #define       bISA_XRDINC_LD_TP8L                          1
    #define   MSK32ISA_XRDINC_LD_TP8L                             0x00000800

    #define     BA_ISA_XRDINC_LD_TP8H                          0x000D
    #define     B16ISA_XRDINC_LD_TP8H                          0x000C
    #define   LSb32ISA_XRDINC_LD_TP8H                             12
    #define   LSb16ISA_XRDINC_LD_TP8H                             12
    #define       bISA_XRDINC_LD_TP8H                          1
    #define   MSK32ISA_XRDINC_LD_TP8H                             0x00001000

    #define     BA_ISA_XRDINC_LD_TP8LF                         0x000D
    #define     B16ISA_XRDINC_LD_TP8LF                         0x000C
    #define   LSb32ISA_XRDINC_LD_TP8LF                            13
    #define   LSb16ISA_XRDINC_LD_TP8LF                            13
    #define       bISA_XRDINC_LD_TP8LF                         1
    #define   MSK32ISA_XRDINC_LD_TP8LF                            0x00002000

    #define     BA_ISA_XRDINC_LD_TP8HF                         0x000D
    #define     B16ISA_XRDINC_LD_TP8HF                         0x000C
    #define   LSb32ISA_XRDINC_LD_TP8HF                            14
    #define   LSb16ISA_XRDINC_LD_TP8HF                            14
    #define       bISA_XRDINC_LD_TP8HF                         1
    #define   MSK32ISA_XRDINC_LD_TP8HF                            0x00004000

    #define     BA_ISA_XRDINC_LD_SQRF64                        0x000D
    #define     B16ISA_XRDINC_LD_SQRF64                        0x000C
    #define   LSb32ISA_XRDINC_LD_SQRF64                           15
    #define   LSb16ISA_XRDINC_LD_SQRF64                           15
    #define       bISA_XRDINC_LD_SQRF64                        1
    #define   MSK32ISA_XRDINC_LD_SQRF64                           0x00008000

    #define     BA_ISA_XRDINC_LD_TQRF16Q                       0x000E
    #define     B16ISA_XRDINC_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_XRDINC_LD_TQRF16Q                          16
    #define   LSb16ISA_XRDINC_LD_TQRF16Q                          0
    #define       bISA_XRDINC_LD_TQRF16Q                       1
    #define   MSK32ISA_XRDINC_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_XRDINC_LD_TQRFx4                        0x000E
    #define     B16ISA_XRDINC_LD_TQRFx4                        0x000E
    #define   LSb32ISA_XRDINC_LD_TQRFx4                           17
    #define   LSb16ISA_XRDINC_LD_TQRFx4                           1
    #define       bISA_XRDINC_LD_TQRFx4                        1
    #define   MSK32ISA_XRDINC_LD_TQRFx4                           0x00020000

    #define     BA_ISA_XRDINC_LD_RD                            0x000E
    #define     B16ISA_XRDINC_LD_RD                            0x000E
    #define   LSb32ISA_XRDINC_LD_RD                               18
    #define   LSb16ISA_XRDINC_LD_RD                               2
    #define       bISA_XRDINC_LD_RD                            1
    #define   MSK32ISA_XRDINC_LD_RD                               0x00040000

    #define     BA_ISA_XRDINC_LD_WARF                          0x000E
    #define     B16ISA_XRDINC_LD_WARF                          0x000E
    #define   LSb32ISA_XRDINC_LD_WARF                             19
    #define   LSb16ISA_XRDINC_LD_WARF                             3
    #define       bISA_XRDINC_LD_WARF                          1
    #define   MSK32ISA_XRDINC_LD_WARF                             0x00080000

    #define     BA_ISA_XRDINC_LD_WAK8                          0x000E
    #define     B16ISA_XRDINC_LD_WAK8                          0x000E
    #define   LSb32ISA_XRDINC_LD_WAK8                             20
    #define   LSb16ISA_XRDINC_LD_WAK8                             4
    #define       bISA_XRDINC_LD_WAK8                          1
    #define   MSK32ISA_XRDINC_LD_WAK8                             0x00100000

    #define     BA_ISA_XRDINC_LD_WAK16                         0x000E
    #define     B16ISA_XRDINC_LD_WAK16                         0x000E
    #define   LSb32ISA_XRDINC_LD_WAK16                            21
    #define   LSb16ISA_XRDINC_LD_WAK16                            5
    #define       bISA_XRDINC_LD_WAK16                         1
    #define   MSK32ISA_XRDINC_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_EX                               0x0010

    #define     BA_ISA_XRDINC_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagZ                       0
    #define   LSb16ISA_XRDINC_EX_ALU16FlagZ                       0
    #define       bISA_XRDINC_EX_ALU16FlagZ                    1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_XRDINC_EX_ALU16FlagC                    0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagC                       1
    #define   LSb16ISA_XRDINC_EX_ALU16FlagC                       1
    #define       bISA_XRDINC_EX_ALU16FlagC                    1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_XRDINC_EX_ALU16FlagN                    0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagN                       2
    #define   LSb16ISA_XRDINC_EX_ALU16FlagN                       2
    #define       bISA_XRDINC_EX_ALU16FlagN                    1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_XRDINC_EX_ALU16FlagV                    0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagV                       3
    #define   LSb16ISA_XRDINC_EX_ALU16FlagV                       3
    #define       bISA_XRDINC_EX_ALU16FlagV                    1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_XRDINC_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagTP                      4
    #define   LSb16ISA_XRDINC_EX_ALU16FlagTP                      4
    #define       bISA_XRDINC_EX_ALU16FlagTP                   1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_XRDINC_EX_ALU16MUL                      0x0010
    #define     B16ISA_XRDINC_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16MUL                         5
    #define   LSb16ISA_XRDINC_EX_ALU16MUL                         5
    #define       bISA_XRDINC_EX_ALU16MUL                      1
    #define   MSK32ISA_XRDINC_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_XRDINC_EX_ALU16DIV                      0x0010
    #define     B16ISA_XRDINC_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16DIV                         6
    #define   LSb16ISA_XRDINC_EX_ALU16DIV                         6
    #define       bISA_XRDINC_EX_ALU16DIV                      1
    #define   MSK32ISA_XRDINC_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_XRDINC_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_XRDINC_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16FlagLD                      7
    #define   LSb16ISA_XRDINC_EX_ALU16FlagLD                      7
    #define       bISA_XRDINC_EX_ALU16FlagLD                   1
    #define   MSK32ISA_XRDINC_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_XRDINC_EX_ALU16MDL                      0x0011
    #define     B16ISA_XRDINC_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16MDL                         8
    #define   LSb16ISA_XRDINC_EX_ALU16MDL                         8
    #define       bISA_XRDINC_EX_ALU16MDL                      1
    #define   MSK32ISA_XRDINC_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_XRDINC_EX_ALU16MDH                      0x0011
    #define     B16ISA_XRDINC_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16MDH                         9
    #define   LSb16ISA_XRDINC_EX_ALU16MDH                         9
    #define       bISA_XRDINC_EX_ALU16MDH                      1
    #define   MSK32ISA_XRDINC_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_XRDINC_EX_ALU16ADD                      0x0011
    #define     B16ISA_XRDINC_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16ADD                         10
    #define   LSb16ISA_XRDINC_EX_ALU16ADD                         10
    #define       bISA_XRDINC_EX_ALU16ADD                      1
    #define   MSK32ISA_XRDINC_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_XRDINC_EX_ALU16SUB                      0x0011
    #define     B16ISA_XRDINC_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16SUB                         11
    #define   LSb16ISA_XRDINC_EX_ALU16SUB                         11
    #define       bISA_XRDINC_EX_ALU16SUB                      1
    #define   MSK32ISA_XRDINC_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_XRDINC_EX_ALU16ADDC                     0x0011
    #define     B16ISA_XRDINC_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16ADDC                        12
    #define   LSb16ISA_XRDINC_EX_ALU16ADDC                        12
    #define       bISA_XRDINC_EX_ALU16ADDC                     1
    #define   MSK32ISA_XRDINC_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_XRDINC_EX_ALU16SUBC                     0x0011
    #define     B16ISA_XRDINC_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16SUBC                        13
    #define   LSb16ISA_XRDINC_EX_ALU16SUBC                        13
    #define       bISA_XRDINC_EX_ALU16SUBC                     1
    #define   MSK32ISA_XRDINC_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_XRDINC_EX_ALU16ASR                      0x0011
    #define     B16ISA_XRDINC_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16ASR                         14
    #define   LSb16ISA_XRDINC_EX_ALU16ASR                         14
    #define       bISA_XRDINC_EX_ALU16ASR                      1
    #define   MSK32ISA_XRDINC_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_XRDINC_EX_ALU16SL                       0x0011
    #define     B16ISA_XRDINC_EX_ALU16SL                       0x0010
    #define   LSb32ISA_XRDINC_EX_ALU16SL                          15
    #define   LSb16ISA_XRDINC_EX_ALU16SL                          15
    #define       bISA_XRDINC_EX_ALU16SL                       1
    #define   MSK32ISA_XRDINC_EX_ALU16SL                          0x00008000

    #define     BA_ISA_XRDINC_EX_ALU16SR                       0x0012
    #define     B16ISA_XRDINC_EX_ALU16SR                       0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16SR                          16
    #define   LSb16ISA_XRDINC_EX_ALU16SR                          0
    #define       bISA_XRDINC_EX_ALU16SR                       1
    #define   MSK32ISA_XRDINC_EX_ALU16SR                          0x00010000

    #define     BA_ISA_XRDINC_EX_ALU16GET                      0x0012
    #define     B16ISA_XRDINC_EX_ALU16GET                      0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16GET                         17
    #define   LSb16ISA_XRDINC_EX_ALU16GET                         1
    #define       bISA_XRDINC_EX_ALU16GET                      1
    #define   MSK32ISA_XRDINC_EX_ALU16GET                         0x00020000

    #define     BA_ISA_XRDINC_EX_ALU16SET                      0x0012
    #define     B16ISA_XRDINC_EX_ALU16SET                      0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16SET                         18
    #define   LSb16ISA_XRDINC_EX_ALU16SET                         2
    #define       bISA_XRDINC_EX_ALU16SET                      1
    #define   MSK32ISA_XRDINC_EX_ALU16SET                         0x00040000

    #define     BA_ISA_XRDINC_EX_ALU16SEL                      0x0012
    #define     B16ISA_XRDINC_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16SEL                         19
    #define   LSb16ISA_XRDINC_EX_ALU16SEL                         3
    #define       bISA_XRDINC_EX_ALU16SEL                      1
    #define   MSK32ISA_XRDINC_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_XRDINC_EX_ALU16OR                       0x0012
    #define     B16ISA_XRDINC_EX_ALU16OR                       0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16OR                          20
    #define   LSb16ISA_XRDINC_EX_ALU16OR                          4
    #define       bISA_XRDINC_EX_ALU16OR                       1
    #define   MSK32ISA_XRDINC_EX_ALU16OR                          0x00100000

    #define     BA_ISA_XRDINC_EX_ALU16AND                      0x0012
    #define     B16ISA_XRDINC_EX_ALU16AND                      0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16AND                         21
    #define   LSb16ISA_XRDINC_EX_ALU16AND                         5
    #define       bISA_XRDINC_EX_ALU16AND                      1
    #define   MSK32ISA_XRDINC_EX_ALU16AND                         0x00200000

    #define     BA_ISA_XRDINC_EX_ALU16XOR                      0x0012
    #define     B16ISA_XRDINC_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16XOR                         22
    #define   LSb16ISA_XRDINC_EX_ALU16XOR                         6
    #define       bISA_XRDINC_EX_ALU16XOR                      1
    #define   MSK32ISA_XRDINC_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_XRDINC_EX_ALU16SP                       0x0012
    #define     B16ISA_XRDINC_EX_ALU16SP                       0x0012
    #define   LSb32ISA_XRDINC_EX_ALU16SP                          23
    #define   LSb16ISA_XRDINC_EX_ALU16SP                          7
    #define       bISA_XRDINC_EX_ALU16SP                       1
    #define   MSK32ISA_XRDINC_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_EXX                              0x0014

    #define     BA_ISA_XRDINC_EXX_WRSQ                         0x0014
    #define     B16ISA_XRDINC_EXX_WRSQ                         0x0014
    #define   LSb32ISA_XRDINC_EXX_WRSQ                            0
    #define   LSb16ISA_XRDINC_EXX_WRSQ                            0
    #define       bISA_XRDINC_EXX_WRSQ                         1
    #define   MSK32ISA_XRDINC_EXX_WRSQ                            0x00000001

    #define     BA_ISA_XRDINC_EXX_WR16                         0x0014
    #define     B16ISA_XRDINC_EXX_WR16                         0x0014
    #define   LSb32ISA_XRDINC_EXX_WR16                            1
    #define   LSb16ISA_XRDINC_EXX_WR16                            1
    #define       bISA_XRDINC_EXX_WR16                         1
    #define   MSK32ISA_XRDINC_EXX_WR16                            0x00000002

    #define     BA_ISA_XRDINC_EXX_WRTQ                         0x0014
    #define     B16ISA_XRDINC_EXX_WRTQ                         0x0014
    #define   LSb32ISA_XRDINC_EXX_WRTQ                            2
    #define   LSb16ISA_XRDINC_EXX_WRTQ                            2
    #define       bISA_XRDINC_EXX_WRTQ                         1
    #define   MSK32ISA_XRDINC_EXX_WRTQ                            0x00000004

    #define     BA_ISA_XRDINC_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_XRDINC_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_XRDINC_EXX_ALU64PUSH                       3
    #define   LSb16ISA_XRDINC_EXX_ALU64PUSH                       3
    #define       bISA_XRDINC_EXX_ALU64PUSH                    1
    #define   MSK32ISA_XRDINC_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_XRDINC_EXX_ALU64POP                     0x0014
    #define     B16ISA_XRDINC_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_XRDINC_EXX_ALU64POP                        4
    #define   LSb16ISA_XRDINC_EXX_ALU64POP                        4
    #define       bISA_XRDINC_EXX_ALU64POP                     1
    #define   MSK32ISA_XRDINC_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_XRDINC_EXX_ALU64SQ                      0x0014
    #define     B16ISA_XRDINC_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_XRDINC_EXX_ALU64SQ                         5
    #define   LSb16ISA_XRDINC_EXX_ALU64SQ                         5
    #define       bISA_XRDINC_EXX_ALU64SQ                      1
    #define   MSK32ISA_XRDINC_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_XRDINC_EXX_ALU64TQ                      0x0014
    #define     B16ISA_XRDINC_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_XRDINC_EXX_ALU64TQ                         6
    #define   LSb16ISA_XRDINC_EXX_ALU64TQ                         6
    #define       bISA_XRDINC_EXX_ALU64TQ                      1
    #define   MSK32ISA_XRDINC_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_XRDINC_EXX_ALU64MEM                     0x0014
    #define     B16ISA_XRDINC_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_XRDINC_EXX_ALU64MEM                        7
    #define   LSb16ISA_XRDINC_EXX_ALU64MEM                        7
    #define       bISA_XRDINC_EXX_ALU64MEM                     1
    #define   MSK32ISA_XRDINC_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_XRDINC_EXX_BRANCH                       0x0015
    #define     B16ISA_XRDINC_EXX_BRANCH                       0x0014
    #define   LSb32ISA_XRDINC_EXX_BRANCH                          8
    #define   LSb16ISA_XRDINC_EXX_BRANCH                          8
    #define       bISA_XRDINC_EXX_BRANCH                       1
    #define   MSK32ISA_XRDINC_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XRDINC_WB                               0x0018

    #define     BA_ISA_XRDINC_WB_RF16                          0x0018
    #define     B16ISA_XRDINC_WB_RF16                          0x0018
    #define   LSb32ISA_XRDINC_WB_RF16                             0
    #define   LSb16ISA_XRDINC_WB_RF16                             0
    #define       bISA_XRDINC_WB_RF16                          1
    #define   MSK32ISA_XRDINC_WB_RF16                             0x00000001

    #define     BA_ISA_XRDINC_WB_RF16W0                        0x0018
    #define     B16ISA_XRDINC_WB_RF16W0                        0x0018
    #define   LSb32ISA_XRDINC_WB_RF16W0                           1
    #define   LSb16ISA_XRDINC_WB_RF16W0                           1
    #define       bISA_XRDINC_WB_RF16W0                        1
    #define   MSK32ISA_XRDINC_WB_RF16W0                           0x00000002

    #define     BA_ISA_XRDINC_WB_RF16MEM                       0x0018
    #define     B16ISA_XRDINC_WB_RF16MEM                       0x0018
    #define   LSb32ISA_XRDINC_WB_RF16MEM                          2
    #define   LSb16ISA_XRDINC_WB_RF16MEM                          2
    #define       bISA_XRDINC_WB_RF16MEM                       1
    #define   MSK32ISA_XRDINC_WB_RF16MEM                          0x00000004

    #define     BA_ISA_XRDINC_WB_RF16Q                         0x0018
    #define     B16ISA_XRDINC_WB_RF16Q                         0x0018
    #define   LSb32ISA_XRDINC_WB_RF16Q                            3
    #define   LSb16ISA_XRDINC_WB_RF16Q                            3
    #define       bISA_XRDINC_WB_RF16Q                         1
    #define   MSK32ISA_XRDINC_WB_RF16Q                            0x00000008

    #define     BA_ISA_XRDINC_WB_RF64                          0x0018
    #define     B16ISA_XRDINC_WB_RF64                          0x0018
    #define   LSb32ISA_XRDINC_WB_RF64                             4
    #define   LSb16ISA_XRDINC_WB_RF64                             4
    #define       bISA_XRDINC_WB_RF64                          1
    #define   MSK32ISA_XRDINC_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XRDINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XRDINC_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XRDINC_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XRDINC_Mask;
            struct w32ISA_XRDINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_XRDINC_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_XRDINC_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XRDINC_Opcode;
            struct w32ISA_XRDINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDINC_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDINC_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDINC_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDINC_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDINC_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDINC_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDINC_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDINC_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDINC_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDINC_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDINC_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDINC_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDINC_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDINC_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDINC_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDINC_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDINC_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDINC_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDINC_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDINC_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XRDINC_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XRDINC_ID;
            struct w32ISA_XRDINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDINC_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDINC_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDINC_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDINC_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDINC_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDINC_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDINC_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDINC_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDINC_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDINC_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDINC_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDINC_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDINC_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDINC_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDINC_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDINC_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDINC_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDINC_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDINC_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDINC_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDINC_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDINC_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDINC_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDINC_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XRDINC_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_XRDINC_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XRDINC_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_XRDINC_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XRDINC_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_XRDINC_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_XRDINC_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_XRDINC_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_XRDINC_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_XRDINC_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_XRDINC_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_XRDINC_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_XRDINC_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_XRDINC_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_XRDINC_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_XRDINC_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_XRDINC_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_XRDINC_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_XRDINC_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_XRDINC_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_XRDINC_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XRDINC_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XRDINC_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XRDINC_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XRDINC_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_XRDINC_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_XRDINC_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_XRDINC_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_XRDINC_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XRDINC_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XRDINC_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XRDINC_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XRDINC_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_XRDINC_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_XRDINC_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_XRDINC_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_XRDINC_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XRDINC_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XRDINC_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XRDINC_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XRDINC_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XRDINC_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XRDINC_LD;
            struct w32ISA_XRDINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDINC_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDINC_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDINC_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDINC_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDINC_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDINC_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDINC_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDINC_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDINC_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDINC_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDINC_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDINC_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDINC_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDINC_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDINC_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDINC_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDINC_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDINC_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDINC_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XRDINC_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_XRDINC_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XRDINC_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_XRDINC_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XRDINC_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_XRDINC_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_XRDINC_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_XRDINC_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_XRDINC_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_XRDINC_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_XRDINC_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_XRDINC_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_XRDINC_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_XRDINC_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_XRDINC_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_XRDINC_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_XRDINC_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_XRDINC_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_XRDINC_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_XRDINC_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_XRDINC_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_XRDINC_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_XRDINC_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_XRDINC_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_XRDINC_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_XRDINC_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_XRDINC_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_XRDINC_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_XRDINC_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XRDINC_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XRDINC_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_XRDINC_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_XRDINC_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_XRDINC_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_XRDINC_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_XRDINC_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_XRDINC_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_XRDINC_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_XRDINC_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_XRDINC_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_XRDINC_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDINC_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_XRDINC_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_XRDINC_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDINC_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDINC_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_XRDINC_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_XRDINC_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDINC_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XRDINC_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XRDINC_EX;
            struct w32ISA_XRDINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDINC_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDINC_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDINC_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDINC_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDINC_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDINC_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDINC_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDINC_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDINC_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDINC_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XRDINC_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XRDINC_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XRDINC_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XRDINC_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XRDINC_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XRDINC_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XRDINC_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XRDINC_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XRDINC_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XRDINC_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XRDINC_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XRDINC_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XRDINC_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_XRDINC_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XRDINC_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_XRDINC_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XRDINC_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XRDINC_EXX;
            struct w32ISA_XRDINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XRDINC_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XRDINC_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XRDINC_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XRDINC_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XRDINC_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_XRDINC_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XRDINC_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XRDINC_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XRDINC_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XRDINC_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XRDINC_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XRDINC_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XRDINC_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XRDINC_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XRDINC_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XRDINC_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XRDINC_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XRDINC_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XRDINC_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XRDINC_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XRDINC_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XRDINC_WB;
            struct w32ISA_XRDINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XRDINC;

    typedef union  T32ISA_XRDINC_Mask
          { UNSG32 u32;
            struct w32ISA_XRDINC_Mask;
                 } T32ISA_XRDINC_Mask;
    typedef union  T32ISA_XRDINC_Opcode
          { UNSG32 u32;
            struct w32ISA_XRDINC_Opcode;
                 } T32ISA_XRDINC_Opcode;
    typedef union  T32ISA_XRDINC_ID
          { UNSG32 u32;
            struct w32ISA_XRDINC_ID;
                 } T32ISA_XRDINC_ID;
    typedef union  T32ISA_XRDINC_LD
          { UNSG32 u32;
            struct w32ISA_XRDINC_LD;
                 } T32ISA_XRDINC_LD;
    typedef union  T32ISA_XRDINC_EX
          { UNSG32 u32;
            struct w32ISA_XRDINC_EX;
                 } T32ISA_XRDINC_EX;
    typedef union  T32ISA_XRDINC_EXX
          { UNSG32 u32;
            struct w32ISA_XRDINC_EXX;
                 } T32ISA_XRDINC_EXX;
    typedef union  T32ISA_XRDINC_WB
          { UNSG32 u32;
            struct w32ISA_XRDINC_WB;
                 } T32ISA_XRDINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XRDINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_Mask;
                   };
                 } TISA_XRDINC_Mask;
    typedef union  TISA_XRDINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_Opcode;
                   };
                 } TISA_XRDINC_Opcode;
    typedef union  TISA_XRDINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_ID;
                   };
                 } TISA_XRDINC_ID;
    typedef union  TISA_XRDINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_LD;
                   };
                 } TISA_XRDINC_LD;
    typedef union  TISA_XRDINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_EX;
                   };
                 } TISA_XRDINC_EX;
    typedef union  TISA_XRDINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_EXX;
                   };
                 } TISA_XRDINC_EXX;
    typedef union  TISA_XRDINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XRDINC_WB;
                   };
                 } TISA_XRDINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XRDINC_drvrd(SIE_ISA_XRDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XRDINC_drvwr(SIE_ISA_XRDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XRDINC_reset(SIE_ISA_XRDINC *p);
     SIGN32 ISA_XRDINC_cmp  (SIE_ISA_XRDINC *p, SIE_ISA_XRDINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XRDINC_check(p,pie,pfx,hLOG) ISA_XRDINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XRDINC_print(p,    pfx,hLOG) ISA_XRDINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XRDINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XOFFRD                               (4,4)
///     ###
///     * Memory read 64b data to a quad register in RF16.
///     * Using base read address (RB) with an offset of [-128,127].
///     * No RF registers, RB or flags would be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500009
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.OFF.RD", "N,xT"        , "0101 NNNN ---- NNNN TT-- 1001" } ,
///                                    * - Usage:
///                                    * -    X.OFF.RD + 8, %x2        ; %x2 = M64[ RB + 8 ];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      0x1
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     0x1
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XOFFRD
#define h_ISA_XOFFRD (){}

    #define     RA_ISA_XOFFRD_Mask                             0x0000

    #define     BA_ISA_XOFFRD_Mask_INS                         0x0000
    #define     B16ISA_XOFFRD_Mask_INS                         0x0000
    #define   LSb32ISA_XOFFRD_Mask_INS                            0
    #define   LSb16ISA_XOFFRD_Mask_INS                            0
    #define       bISA_XOFFRD_Mask_INS                         24
    #define   MSK32ISA_XOFFRD_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_Opcode                           0x0004

    #define     BA_ISA_XOFFRD_Opcode_INS                       0x0004
    #define     B16ISA_XOFFRD_Opcode_INS                       0x0004
    #define   LSb32ISA_XOFFRD_Opcode_INS                          0
    #define   LSb16ISA_XOFFRD_Opcode_INS                          0
    #define       bISA_XOFFRD_Opcode_INS                       24
    #define   MSK32ISA_XOFFRD_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_ID                               0x0008

    #define     BA_ISA_XOFFRD_ID_RBRF                          0x0008
    #define     B16ISA_XOFFRD_ID_RBRF                          0x0008
    #define   LSb32ISA_XOFFRD_ID_RBRF                             0
    #define   LSb16ISA_XOFFRD_ID_RBRF                             0
    #define       bISA_XOFFRD_ID_RBRF                          1
    #define   MSK32ISA_XOFFRD_ID_RBRF                             0x00000001

    #define     BA_ISA_XOFFRD_ID_RARF                          0x0008
    #define     B16ISA_XOFFRD_ID_RARF                          0x0008
    #define   LSb32ISA_XOFFRD_ID_RARF                             1
    #define   LSb16ISA_XOFFRD_ID_RARF                             1
    #define       bISA_XOFFRD_ID_RARF                          1
    #define   MSK32ISA_XOFFRD_ID_RARF                             0x00000002

    #define     BA_ISA_XOFFRD_ID_RAK8                          0x0008
    #define     B16ISA_XOFFRD_ID_RAK8                          0x0008
    #define   LSb32ISA_XOFFRD_ID_RAK8                             2
    #define   LSb16ISA_XOFFRD_ID_RAK8                             2
    #define       bISA_XOFFRD_ID_RAK8                          1
    #define   MSK32ISA_XOFFRD_ID_RAK8                             0x00000004

    #define     BA_ISA_XOFFRD_ID_RAI16                         0x0008
    #define     B16ISA_XOFFRD_ID_RAI16                         0x0008
    #define   LSb32ISA_XOFFRD_ID_RAI16                            3
    #define   LSb16ISA_XOFFRD_ID_RAI16                            3
    #define       bISA_XOFFRD_ID_RAI16                         1
    #define   MSK32ISA_XOFFRD_ID_RAI16                            0x00000008

    #define     BA_ISA_XOFFRD_ID_RAK16                         0x0008
    #define     B16ISA_XOFFRD_ID_RAK16                         0x0008
    #define   LSb32ISA_XOFFRD_ID_RAK16                            4
    #define   LSb16ISA_XOFFRD_ID_RAK16                            4
    #define       bISA_XOFFRD_ID_RAK16                         1
    #define   MSK32ISA_XOFFRD_ID_RAK16                            0x00000010

    #define     BA_ISA_XOFFRD_ID_RFSP                          0x0008
    #define     B16ISA_XOFFRD_ID_RFSP                          0x0008
    #define   LSb32ISA_XOFFRD_ID_RFSP                             5
    #define   LSb16ISA_XOFFRD_ID_RFSP                             5
    #define       bISA_XOFFRD_ID_RFSP                          1
    #define   MSK32ISA_XOFFRD_ID_RFSP                             0x00000020

    #define     BA_ISA_XOFFRD_ID_W4D4                          0x0008
    #define     B16ISA_XOFFRD_ID_W4D4                          0x0008
    #define   LSb32ISA_XOFFRD_ID_W4D4                             6
    #define   LSb16ISA_XOFFRD_ID_W4D4                             6
    #define       bISA_XOFFRD_ID_W4D4                          1
    #define   MSK32ISA_XOFFRD_ID_W4D4                             0x00000040

    #define     BA_ISA_XOFFRD_ID_W4S4                          0x0008
    #define     B16ISA_XOFFRD_ID_W4S4                          0x0008
    #define   LSb32ISA_XOFFRD_ID_W4S4                             7
    #define   LSb16ISA_XOFFRD_ID_W4S4                             7
    #define       bISA_XOFFRD_ID_W4S4                          1
    #define   MSK32ISA_XOFFRD_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_LD                               0x000C

    #define     BA_ISA_XOFFRD_LD_SPRF                          0x000C
    #define     B16ISA_XOFFRD_LD_SPRF                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SPRF                             0
    #define   LSb16ISA_XOFFRD_LD_SPRF                             0
    #define       bISA_XOFFRD_LD_SPRF                          1
    #define   MSK32ISA_XOFFRD_LD_SPRF                             0x00000001

    #define     BA_ISA_XOFFRD_LD_SPK8                          0x000C
    #define     B16ISA_XOFFRD_LD_SPK8                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SPK8                             1
    #define   LSb16ISA_XOFFRD_LD_SPK8                             1
    #define       bISA_XOFFRD_LD_SPK8                          1
    #define   MSK32ISA_XOFFRD_LD_SPK8                             0x00000002

    #define     BA_ISA_XOFFRD_LD_SPJ                           0x000C
    #define     B16ISA_XOFFRD_LD_SPJ                           0x000C
    #define   LSb32ISA_XOFFRD_LD_SPJ                              2
    #define   LSb16ISA_XOFFRD_LD_SPJ                              2
    #define       bISA_XOFFRD_LD_SPJ                           1
    #define   MSK32ISA_XOFFRD_LD_SPJ                              0x00000004

    #define     BA_ISA_XOFFRD_LD_SP4S                          0x000C
    #define     B16ISA_XOFFRD_LD_SP4S                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SP4S                             3
    #define   LSb16ISA_XOFFRD_LD_SP4S                             3
    #define       bISA_XOFFRD_LD_SP4S                          1
    #define   MSK32ISA_XOFFRD_LD_SP4S                             0x00000008

    #define     BA_ISA_XOFFRD_LD_SP8S                          0x000C
    #define     B16ISA_XOFFRD_LD_SP8S                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SP8S                             4
    #define   LSb16ISA_XOFFRD_LD_SP8S                             4
    #define       bISA_XOFFRD_LD_SP8S                          1
    #define   MSK32ISA_XOFFRD_LD_SP8S                             0x00000010

    #define     BA_ISA_XOFFRD_LD_SP8U                          0x000C
    #define     B16ISA_XOFFRD_LD_SP8U                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SP8U                             5
    #define   LSb16ISA_XOFFRD_LD_SP8U                             5
    #define       bISA_XOFFRD_LD_SP8U                          1
    #define   MSK32ISA_XOFFRD_LD_SP8U                             0x00000020

    #define     BA_ISA_XOFFRD_LD_SP12S                         0x000C
    #define     B16ISA_XOFFRD_LD_SP12S                         0x000C
    #define   LSb32ISA_XOFFRD_LD_SP12S                            6
    #define   LSb16ISA_XOFFRD_LD_SP12S                            6
    #define       bISA_XOFFRD_LD_SP12S                         1
    #define   MSK32ISA_XOFFRD_LD_SP12S                            0x00000040

    #define     BA_ISA_XOFFRD_LD_SP16                          0x000C
    #define     B16ISA_XOFFRD_LD_SP16                          0x000C
    #define   LSb32ISA_XOFFRD_LD_SP16                             7
    #define   LSb16ISA_XOFFRD_LD_SP16                             7
    #define       bISA_XOFFRD_LD_SP16                          1
    #define   MSK32ISA_XOFFRD_LD_SP16                             0x00000080

    #define     BA_ISA_XOFFRD_LD_TPRF                          0x000D
    #define     B16ISA_XOFFRD_LD_TPRF                          0x000C
    #define   LSb32ISA_XOFFRD_LD_TPRF                             8
    #define   LSb16ISA_XOFFRD_LD_TPRF                             8
    #define       bISA_XOFFRD_LD_TPRF                          1
    #define   MSK32ISA_XOFFRD_LD_TPRF                             0x00000100

    #define     BA_ISA_XOFFRD_LD_TPJ                           0x000D
    #define     B16ISA_XOFFRD_LD_TPJ                           0x000C
    #define   LSb32ISA_XOFFRD_LD_TPJ                              9
    #define   LSb16ISA_XOFFRD_LD_TPJ                              9
    #define       bISA_XOFFRD_LD_TPJ                           1
    #define   MSK32ISA_XOFFRD_LD_TPJ                              0x00000200

    #define     BA_ISA_XOFFRD_LD_TP4S                          0x000D
    #define     B16ISA_XOFFRD_LD_TP4S                          0x000C
    #define   LSb32ISA_XOFFRD_LD_TP4S                             10
    #define   LSb16ISA_XOFFRD_LD_TP4S                             10
    #define       bISA_XOFFRD_LD_TP4S                          1
    #define   MSK32ISA_XOFFRD_LD_TP4S                             0x00000400

    #define     BA_ISA_XOFFRD_LD_TP8L                          0x000D
    #define     B16ISA_XOFFRD_LD_TP8L                          0x000C
    #define   LSb32ISA_XOFFRD_LD_TP8L                             11
    #define   LSb16ISA_XOFFRD_LD_TP8L                             11
    #define       bISA_XOFFRD_LD_TP8L                          1
    #define   MSK32ISA_XOFFRD_LD_TP8L                             0x00000800

    #define     BA_ISA_XOFFRD_LD_TP8H                          0x000D
    #define     B16ISA_XOFFRD_LD_TP8H                          0x000C
    #define   LSb32ISA_XOFFRD_LD_TP8H                             12
    #define   LSb16ISA_XOFFRD_LD_TP8H                             12
    #define       bISA_XOFFRD_LD_TP8H                          1
    #define   MSK32ISA_XOFFRD_LD_TP8H                             0x00001000

    #define     BA_ISA_XOFFRD_LD_TP8LF                         0x000D
    #define     B16ISA_XOFFRD_LD_TP8LF                         0x000C
    #define   LSb32ISA_XOFFRD_LD_TP8LF                            13
    #define   LSb16ISA_XOFFRD_LD_TP8LF                            13
    #define       bISA_XOFFRD_LD_TP8LF                         1
    #define   MSK32ISA_XOFFRD_LD_TP8LF                            0x00002000

    #define     BA_ISA_XOFFRD_LD_TP8HF                         0x000D
    #define     B16ISA_XOFFRD_LD_TP8HF                         0x000C
    #define   LSb32ISA_XOFFRD_LD_TP8HF                            14
    #define   LSb16ISA_XOFFRD_LD_TP8HF                            14
    #define       bISA_XOFFRD_LD_TP8HF                         1
    #define   MSK32ISA_XOFFRD_LD_TP8HF                            0x00004000

    #define     BA_ISA_XOFFRD_LD_SQRF64                        0x000D
    #define     B16ISA_XOFFRD_LD_SQRF64                        0x000C
    #define   LSb32ISA_XOFFRD_LD_SQRF64                           15
    #define   LSb16ISA_XOFFRD_LD_SQRF64                           15
    #define       bISA_XOFFRD_LD_SQRF64                        1
    #define   MSK32ISA_XOFFRD_LD_SQRF64                           0x00008000

    #define     BA_ISA_XOFFRD_LD_TQRF16Q                       0x000E
    #define     B16ISA_XOFFRD_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_XOFFRD_LD_TQRF16Q                          16
    #define   LSb16ISA_XOFFRD_LD_TQRF16Q                          0
    #define       bISA_XOFFRD_LD_TQRF16Q                       1
    #define   MSK32ISA_XOFFRD_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_XOFFRD_LD_TQRFx4                        0x000E
    #define     B16ISA_XOFFRD_LD_TQRFx4                        0x000E
    #define   LSb32ISA_XOFFRD_LD_TQRFx4                           17
    #define   LSb16ISA_XOFFRD_LD_TQRFx4                           1
    #define       bISA_XOFFRD_LD_TQRFx4                        1
    #define   MSK32ISA_XOFFRD_LD_TQRFx4                           0x00020000

    #define     BA_ISA_XOFFRD_LD_RD                            0x000E
    #define     B16ISA_XOFFRD_LD_RD                            0x000E
    #define   LSb32ISA_XOFFRD_LD_RD                               18
    #define   LSb16ISA_XOFFRD_LD_RD                               2
    #define       bISA_XOFFRD_LD_RD                            1
    #define   MSK32ISA_XOFFRD_LD_RD                               0x00040000

    #define     BA_ISA_XOFFRD_LD_WARF                          0x000E
    #define     B16ISA_XOFFRD_LD_WARF                          0x000E
    #define   LSb32ISA_XOFFRD_LD_WARF                             19
    #define   LSb16ISA_XOFFRD_LD_WARF                             3
    #define       bISA_XOFFRD_LD_WARF                          1
    #define   MSK32ISA_XOFFRD_LD_WARF                             0x00080000

    #define     BA_ISA_XOFFRD_LD_WAK8                          0x000E
    #define     B16ISA_XOFFRD_LD_WAK8                          0x000E
    #define   LSb32ISA_XOFFRD_LD_WAK8                             20
    #define   LSb16ISA_XOFFRD_LD_WAK8                             4
    #define       bISA_XOFFRD_LD_WAK8                          1
    #define   MSK32ISA_XOFFRD_LD_WAK8                             0x00100000

    #define     BA_ISA_XOFFRD_LD_WAK16                         0x000E
    #define     B16ISA_XOFFRD_LD_WAK16                         0x000E
    #define   LSb32ISA_XOFFRD_LD_WAK16                            21
    #define   LSb16ISA_XOFFRD_LD_WAK16                            5
    #define       bISA_XOFFRD_LD_WAK16                         1
    #define   MSK32ISA_XOFFRD_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_EX                               0x0010

    #define     BA_ISA_XOFFRD_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagZ                       0
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagZ                       0
    #define       bISA_XOFFRD_EX_ALU16FlagZ                    1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_XOFFRD_EX_ALU16FlagC                    0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagC                       1
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagC                       1
    #define       bISA_XOFFRD_EX_ALU16FlagC                    1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_XOFFRD_EX_ALU16FlagN                    0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagN                       2
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagN                       2
    #define       bISA_XOFFRD_EX_ALU16FlagN                    1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_XOFFRD_EX_ALU16FlagV                    0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagV                       3
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagV                       3
    #define       bISA_XOFFRD_EX_ALU16FlagV                    1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_XOFFRD_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagTP                      4
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagTP                      4
    #define       bISA_XOFFRD_EX_ALU16FlagTP                   1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_XOFFRD_EX_ALU16MUL                      0x0010
    #define     B16ISA_XOFFRD_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16MUL                         5
    #define   LSb16ISA_XOFFRD_EX_ALU16MUL                         5
    #define       bISA_XOFFRD_EX_ALU16MUL                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_XOFFRD_EX_ALU16DIV                      0x0010
    #define     B16ISA_XOFFRD_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16DIV                         6
    #define   LSb16ISA_XOFFRD_EX_ALU16DIV                         6
    #define       bISA_XOFFRD_EX_ALU16DIV                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_XOFFRD_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_XOFFRD_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16FlagLD                      7
    #define   LSb16ISA_XOFFRD_EX_ALU16FlagLD                      7
    #define       bISA_XOFFRD_EX_ALU16FlagLD                   1
    #define   MSK32ISA_XOFFRD_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_XOFFRD_EX_ALU16MDL                      0x0011
    #define     B16ISA_XOFFRD_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16MDL                         8
    #define   LSb16ISA_XOFFRD_EX_ALU16MDL                         8
    #define       bISA_XOFFRD_EX_ALU16MDL                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_XOFFRD_EX_ALU16MDH                      0x0011
    #define     B16ISA_XOFFRD_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16MDH                         9
    #define   LSb16ISA_XOFFRD_EX_ALU16MDH                         9
    #define       bISA_XOFFRD_EX_ALU16MDH                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_XOFFRD_EX_ALU16ADD                      0x0011
    #define     B16ISA_XOFFRD_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16ADD                         10
    #define   LSb16ISA_XOFFRD_EX_ALU16ADD                         10
    #define       bISA_XOFFRD_EX_ALU16ADD                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_XOFFRD_EX_ALU16SUB                      0x0011
    #define     B16ISA_XOFFRD_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16SUB                         11
    #define   LSb16ISA_XOFFRD_EX_ALU16SUB                         11
    #define       bISA_XOFFRD_EX_ALU16SUB                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_XOFFRD_EX_ALU16ADDC                     0x0011
    #define     B16ISA_XOFFRD_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16ADDC                        12
    #define   LSb16ISA_XOFFRD_EX_ALU16ADDC                        12
    #define       bISA_XOFFRD_EX_ALU16ADDC                     1
    #define   MSK32ISA_XOFFRD_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_XOFFRD_EX_ALU16SUBC                     0x0011
    #define     B16ISA_XOFFRD_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16SUBC                        13
    #define   LSb16ISA_XOFFRD_EX_ALU16SUBC                        13
    #define       bISA_XOFFRD_EX_ALU16SUBC                     1
    #define   MSK32ISA_XOFFRD_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_XOFFRD_EX_ALU16ASR                      0x0011
    #define     B16ISA_XOFFRD_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16ASR                         14
    #define   LSb16ISA_XOFFRD_EX_ALU16ASR                         14
    #define       bISA_XOFFRD_EX_ALU16ASR                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_XOFFRD_EX_ALU16SL                       0x0011
    #define     B16ISA_XOFFRD_EX_ALU16SL                       0x0010
    #define   LSb32ISA_XOFFRD_EX_ALU16SL                          15
    #define   LSb16ISA_XOFFRD_EX_ALU16SL                          15
    #define       bISA_XOFFRD_EX_ALU16SL                       1
    #define   MSK32ISA_XOFFRD_EX_ALU16SL                          0x00008000

    #define     BA_ISA_XOFFRD_EX_ALU16SR                       0x0012
    #define     B16ISA_XOFFRD_EX_ALU16SR                       0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16SR                          16
    #define   LSb16ISA_XOFFRD_EX_ALU16SR                          0
    #define       bISA_XOFFRD_EX_ALU16SR                       1
    #define   MSK32ISA_XOFFRD_EX_ALU16SR                          0x00010000

    #define     BA_ISA_XOFFRD_EX_ALU16GET                      0x0012
    #define     B16ISA_XOFFRD_EX_ALU16GET                      0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16GET                         17
    #define   LSb16ISA_XOFFRD_EX_ALU16GET                         1
    #define       bISA_XOFFRD_EX_ALU16GET                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16GET                         0x00020000

    #define     BA_ISA_XOFFRD_EX_ALU16SET                      0x0012
    #define     B16ISA_XOFFRD_EX_ALU16SET                      0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16SET                         18
    #define   LSb16ISA_XOFFRD_EX_ALU16SET                         2
    #define       bISA_XOFFRD_EX_ALU16SET                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16SET                         0x00040000

    #define     BA_ISA_XOFFRD_EX_ALU16SEL                      0x0012
    #define     B16ISA_XOFFRD_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16SEL                         19
    #define   LSb16ISA_XOFFRD_EX_ALU16SEL                         3
    #define       bISA_XOFFRD_EX_ALU16SEL                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_XOFFRD_EX_ALU16OR                       0x0012
    #define     B16ISA_XOFFRD_EX_ALU16OR                       0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16OR                          20
    #define   LSb16ISA_XOFFRD_EX_ALU16OR                          4
    #define       bISA_XOFFRD_EX_ALU16OR                       1
    #define   MSK32ISA_XOFFRD_EX_ALU16OR                          0x00100000

    #define     BA_ISA_XOFFRD_EX_ALU16AND                      0x0012
    #define     B16ISA_XOFFRD_EX_ALU16AND                      0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16AND                         21
    #define   LSb16ISA_XOFFRD_EX_ALU16AND                         5
    #define       bISA_XOFFRD_EX_ALU16AND                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16AND                         0x00200000

    #define     BA_ISA_XOFFRD_EX_ALU16XOR                      0x0012
    #define     B16ISA_XOFFRD_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16XOR                         22
    #define   LSb16ISA_XOFFRD_EX_ALU16XOR                         6
    #define       bISA_XOFFRD_EX_ALU16XOR                      1
    #define   MSK32ISA_XOFFRD_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_XOFFRD_EX_ALU16SP                       0x0012
    #define     B16ISA_XOFFRD_EX_ALU16SP                       0x0012
    #define   LSb32ISA_XOFFRD_EX_ALU16SP                          23
    #define   LSb16ISA_XOFFRD_EX_ALU16SP                          7
    #define       bISA_XOFFRD_EX_ALU16SP                       1
    #define   MSK32ISA_XOFFRD_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_EXX                              0x0014

    #define     BA_ISA_XOFFRD_EXX_WRSQ                         0x0014
    #define     B16ISA_XOFFRD_EXX_WRSQ                         0x0014
    #define   LSb32ISA_XOFFRD_EXX_WRSQ                            0
    #define   LSb16ISA_XOFFRD_EXX_WRSQ                            0
    #define       bISA_XOFFRD_EXX_WRSQ                         1
    #define   MSK32ISA_XOFFRD_EXX_WRSQ                            0x00000001

    #define     BA_ISA_XOFFRD_EXX_WR16                         0x0014
    #define     B16ISA_XOFFRD_EXX_WR16                         0x0014
    #define   LSb32ISA_XOFFRD_EXX_WR16                            1
    #define   LSb16ISA_XOFFRD_EXX_WR16                            1
    #define       bISA_XOFFRD_EXX_WR16                         1
    #define   MSK32ISA_XOFFRD_EXX_WR16                            0x00000002

    #define     BA_ISA_XOFFRD_EXX_WRTQ                         0x0014
    #define     B16ISA_XOFFRD_EXX_WRTQ                         0x0014
    #define   LSb32ISA_XOFFRD_EXX_WRTQ                            2
    #define   LSb16ISA_XOFFRD_EXX_WRTQ                            2
    #define       bISA_XOFFRD_EXX_WRTQ                         1
    #define   MSK32ISA_XOFFRD_EXX_WRTQ                            0x00000004

    #define     BA_ISA_XOFFRD_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_XOFFRD_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_XOFFRD_EXX_ALU64PUSH                       3
    #define   LSb16ISA_XOFFRD_EXX_ALU64PUSH                       3
    #define       bISA_XOFFRD_EXX_ALU64PUSH                    1
    #define   MSK32ISA_XOFFRD_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_XOFFRD_EXX_ALU64POP                     0x0014
    #define     B16ISA_XOFFRD_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_XOFFRD_EXX_ALU64POP                        4
    #define   LSb16ISA_XOFFRD_EXX_ALU64POP                        4
    #define       bISA_XOFFRD_EXX_ALU64POP                     1
    #define   MSK32ISA_XOFFRD_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_XOFFRD_EXX_ALU64SQ                      0x0014
    #define     B16ISA_XOFFRD_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_XOFFRD_EXX_ALU64SQ                         5
    #define   LSb16ISA_XOFFRD_EXX_ALU64SQ                         5
    #define       bISA_XOFFRD_EXX_ALU64SQ                      1
    #define   MSK32ISA_XOFFRD_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_XOFFRD_EXX_ALU64TQ                      0x0014
    #define     B16ISA_XOFFRD_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_XOFFRD_EXX_ALU64TQ                         6
    #define   LSb16ISA_XOFFRD_EXX_ALU64TQ                         6
    #define       bISA_XOFFRD_EXX_ALU64TQ                      1
    #define   MSK32ISA_XOFFRD_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_XOFFRD_EXX_ALU64MEM                     0x0014
    #define     B16ISA_XOFFRD_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_XOFFRD_EXX_ALU64MEM                        7
    #define   LSb16ISA_XOFFRD_EXX_ALU64MEM                        7
    #define       bISA_XOFFRD_EXX_ALU64MEM                     1
    #define   MSK32ISA_XOFFRD_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_XOFFRD_EXX_BRANCH                       0x0015
    #define     B16ISA_XOFFRD_EXX_BRANCH                       0x0014
    #define   LSb32ISA_XOFFRD_EXX_BRANCH                          8
    #define   LSb16ISA_XOFFRD_EXX_BRANCH                          8
    #define       bISA_XOFFRD_EXX_BRANCH                       1
    #define   MSK32ISA_XOFFRD_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOFFRD_WB                               0x0018

    #define     BA_ISA_XOFFRD_WB_RF16                          0x0018
    #define     B16ISA_XOFFRD_WB_RF16                          0x0018
    #define   LSb32ISA_XOFFRD_WB_RF16                             0
    #define   LSb16ISA_XOFFRD_WB_RF16                             0
    #define       bISA_XOFFRD_WB_RF16                          1
    #define   MSK32ISA_XOFFRD_WB_RF16                             0x00000001

    #define     BA_ISA_XOFFRD_WB_RF16W0                        0x0018
    #define     B16ISA_XOFFRD_WB_RF16W0                        0x0018
    #define   LSb32ISA_XOFFRD_WB_RF16W0                           1
    #define   LSb16ISA_XOFFRD_WB_RF16W0                           1
    #define       bISA_XOFFRD_WB_RF16W0                        1
    #define   MSK32ISA_XOFFRD_WB_RF16W0                           0x00000002

    #define     BA_ISA_XOFFRD_WB_RF16MEM                       0x0018
    #define     B16ISA_XOFFRD_WB_RF16MEM                       0x0018
    #define   LSb32ISA_XOFFRD_WB_RF16MEM                          2
    #define   LSb16ISA_XOFFRD_WB_RF16MEM                          2
    #define       bISA_XOFFRD_WB_RF16MEM                       1
    #define   MSK32ISA_XOFFRD_WB_RF16MEM                          0x00000004

    #define     BA_ISA_XOFFRD_WB_RF16Q                         0x0018
    #define     B16ISA_XOFFRD_WB_RF16Q                         0x0018
    #define   LSb32ISA_XOFFRD_WB_RF16Q                            3
    #define   LSb16ISA_XOFFRD_WB_RF16Q                            3
    #define       bISA_XOFFRD_WB_RF16Q                         1
    #define   MSK32ISA_XOFFRD_WB_RF16Q                            0x00000008

    #define     BA_ISA_XOFFRD_WB_RF64                          0x0018
    #define     B16ISA_XOFFRD_WB_RF64                          0x0018
    #define   LSb32ISA_XOFFRD_WB_RF64                             4
    #define   LSb16ISA_XOFFRD_WB_RF64                             4
    #define       bISA_XOFFRD_WB_RF64                          1
    #define   MSK32ISA_XOFFRD_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XOFFRD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XOFFRD_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XOFFRD_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XOFFRD_Mask;
            struct w32ISA_XOFFRD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_XOFFRD_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_XOFFRD_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XOFFRD_Opcode;
            struct w32ISA_XOFFRD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOFFRD_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOFFRD_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOFFRD_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOFFRD_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOFFRD_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOFFRD_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOFFRD_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOFFRD_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOFFRD_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOFFRD_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOFFRD_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOFFRD_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOFFRD_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOFFRD_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOFFRD_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOFFRD_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOFFRD_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOFFRD_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOFFRD_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOFFRD_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XOFFRD_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XOFFRD_ID;
            struct w32ISA_XOFFRD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOFFRD_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOFFRD_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOFFRD_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOFFRD_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOFFRD_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOFFRD_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOFFRD_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOFFRD_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOFFRD_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOFFRD_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOFFRD_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOFFRD_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOFFRD_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOFFRD_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOFFRD_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOFFRD_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOFFRD_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOFFRD_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOFFRD_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOFFRD_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOFFRD_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOFFRD_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOFFRD_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOFFRD_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XOFFRD_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_XOFFRD_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XOFFRD_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_XOFFRD_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XOFFRD_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_XOFFRD_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_XOFFRD_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_XOFFRD_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_XOFFRD_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_XOFFRD_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_XOFFRD_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_XOFFRD_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_XOFFRD_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_XOFFRD_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_XOFFRD_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_XOFFRD_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_XOFFRD_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_XOFFRD_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_XOFFRD_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_XOFFRD_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_XOFFRD_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XOFFRD_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XOFFRD_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XOFFRD_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XOFFRD_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_XOFFRD_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_XOFFRD_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_XOFFRD_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_XOFFRD_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XOFFRD_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XOFFRD_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XOFFRD_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XOFFRD_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_XOFFRD_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_XOFFRD_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_XOFFRD_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_XOFFRD_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XOFFRD_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XOFFRD_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XOFFRD_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XOFFRD_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XOFFRD_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XOFFRD_LD;
            struct w32ISA_XOFFRD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOFFRD_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOFFRD_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOFFRD_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOFFRD_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOFFRD_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOFFRD_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOFFRD_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOFFRD_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOFFRD_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOFFRD_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOFFRD_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOFFRD_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOFFRD_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOFFRD_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XOFFRD_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_XOFFRD_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XOFFRD_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_XOFFRD_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XOFFRD_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_XOFFRD_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_XOFFRD_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_XOFFRD_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_XOFFRD_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_XOFFRD_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_XOFFRD_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_XOFFRD_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_XOFFRD_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_XOFFRD_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_XOFFRD_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_XOFFRD_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_XOFFRD_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_XOFFRD_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_XOFFRD_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_XOFFRD_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_XOFFRD_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_XOFFRD_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XOFFRD_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_XOFFRD_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_XOFFRD_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_XOFFRD_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_XOFFRD_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_XOFFRD_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_XOFFRD_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_XOFFRD_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_XOFFRD_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOFFRD_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_XOFFRD_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_XOFFRD_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOFFRD_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOFFRD_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_XOFFRD_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_XOFFRD_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOFFRD_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XOFFRD_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XOFFRD_EX;
            struct w32ISA_XOFFRD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOFFRD_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOFFRD_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOFFRD_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOFFRD_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOFFRD_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOFFRD_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOFFRD_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOFFRD_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOFFRD_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOFFRD_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOFFRD_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOFFRD_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOFFRD_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOFFRD_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOFFRD_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOFFRD_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOFFRD_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOFFRD_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOFFRD_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOFFRD_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOFFRD_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOFFRD_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOFFRD_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOFFRD_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOFFRD_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOFFRD_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XOFFRD_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XOFFRD_EXX;
            struct w32ISA_XOFFRD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOFFRD_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOFFRD_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOFFRD_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOFFRD_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOFFRD_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOFFRD_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOFFRD_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOFFRD_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOFFRD_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOFFRD_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOFFRD_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOFFRD_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOFFRD_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOFFRD_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOFFRD_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOFFRD_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOFFRD_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOFFRD_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOFFRD_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOFFRD_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XOFFRD_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XOFFRD_WB;
            struct w32ISA_XOFFRD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XOFFRD;

    typedef union  T32ISA_XOFFRD_Mask
          { UNSG32 u32;
            struct w32ISA_XOFFRD_Mask;
                 } T32ISA_XOFFRD_Mask;
    typedef union  T32ISA_XOFFRD_Opcode
          { UNSG32 u32;
            struct w32ISA_XOFFRD_Opcode;
                 } T32ISA_XOFFRD_Opcode;
    typedef union  T32ISA_XOFFRD_ID
          { UNSG32 u32;
            struct w32ISA_XOFFRD_ID;
                 } T32ISA_XOFFRD_ID;
    typedef union  T32ISA_XOFFRD_LD
          { UNSG32 u32;
            struct w32ISA_XOFFRD_LD;
                 } T32ISA_XOFFRD_LD;
    typedef union  T32ISA_XOFFRD_EX
          { UNSG32 u32;
            struct w32ISA_XOFFRD_EX;
                 } T32ISA_XOFFRD_EX;
    typedef union  T32ISA_XOFFRD_EXX
          { UNSG32 u32;
            struct w32ISA_XOFFRD_EXX;
                 } T32ISA_XOFFRD_EXX;
    typedef union  T32ISA_XOFFRD_WB
          { UNSG32 u32;
            struct w32ISA_XOFFRD_WB;
                 } T32ISA_XOFFRD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XOFFRD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_Mask;
                   };
                 } TISA_XOFFRD_Mask;
    typedef union  TISA_XOFFRD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_Opcode;
                   };
                 } TISA_XOFFRD_Opcode;
    typedef union  TISA_XOFFRD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_ID;
                   };
                 } TISA_XOFFRD_ID;
    typedef union  TISA_XOFFRD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_LD;
                   };
                 } TISA_XOFFRD_LD;
    typedef union  TISA_XOFFRD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_EX;
                   };
                 } TISA_XOFFRD_EX;
    typedef union  TISA_XOFFRD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_EXX;
                   };
                 } TISA_XOFFRD_EXX;
    typedef union  TISA_XOFFRD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOFFRD_WB;
                   };
                 } TISA_XOFFRD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XOFFRD_drvrd(SIE_ISA_XOFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XOFFRD_drvwr(SIE_ISA_XOFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XOFFRD_reset(SIE_ISA_XOFFRD *p);
     SIGN32 ISA_XOFFRD_cmp  (SIE_ISA_XOFFRD *p, SIE_ISA_XOFFRD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XOFFRD_check(p,pie,pfx,hLOG) ISA_XOFFRD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XOFFRD_print(p,    pfx,hLOG) ISA_XOFFRD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XOFFRD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_QRDINC                               (4,4)
///     ###
///     * Memory read 64b data to RF64.
///     * Using a register to load both read address (RA) & base read address (RB).
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF000C0
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x400000
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.RD.INC", "rS,N,qT"     , "0100 NNNN SSSS NNNN 00TT TTTT" } ,
///                                    * - Usage:
///                                    * -    Q.RD.INC %a1, + 8, %q0   ; %q0 = M64[ %a1 ];
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      0x1
///               %unsigned 1  RARF                      0x1
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      0x1
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_QRDINC
#define h_ISA_QRDINC (){}

    #define     RA_ISA_QRDINC_Mask                             0x0000

    #define     BA_ISA_QRDINC_Mask_INS                         0x0000
    #define     B16ISA_QRDINC_Mask_INS                         0x0000
    #define   LSb32ISA_QRDINC_Mask_INS                            0
    #define   LSb16ISA_QRDINC_Mask_INS                            0
    #define       bISA_QRDINC_Mask_INS                         24
    #define   MSK32ISA_QRDINC_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_Opcode                           0x0004

    #define     BA_ISA_QRDINC_Opcode_INS                       0x0004
    #define     B16ISA_QRDINC_Opcode_INS                       0x0004
    #define   LSb32ISA_QRDINC_Opcode_INS                          0
    #define   LSb16ISA_QRDINC_Opcode_INS                          0
    #define       bISA_QRDINC_Opcode_INS                       24
    #define   MSK32ISA_QRDINC_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_ID                               0x0008

    #define     BA_ISA_QRDINC_ID_RBRF                          0x0008
    #define     B16ISA_QRDINC_ID_RBRF                          0x0008
    #define   LSb32ISA_QRDINC_ID_RBRF                             0
    #define   LSb16ISA_QRDINC_ID_RBRF                             0
    #define       bISA_QRDINC_ID_RBRF                          1
    #define   MSK32ISA_QRDINC_ID_RBRF                             0x00000001

    #define     BA_ISA_QRDINC_ID_RARF                          0x0008
    #define     B16ISA_QRDINC_ID_RARF                          0x0008
    #define   LSb32ISA_QRDINC_ID_RARF                             1
    #define   LSb16ISA_QRDINC_ID_RARF                             1
    #define       bISA_QRDINC_ID_RARF                          1
    #define   MSK32ISA_QRDINC_ID_RARF                             0x00000002

    #define     BA_ISA_QRDINC_ID_RAK8                          0x0008
    #define     B16ISA_QRDINC_ID_RAK8                          0x0008
    #define   LSb32ISA_QRDINC_ID_RAK8                             2
    #define   LSb16ISA_QRDINC_ID_RAK8                             2
    #define       bISA_QRDINC_ID_RAK8                          1
    #define   MSK32ISA_QRDINC_ID_RAK8                             0x00000004

    #define     BA_ISA_QRDINC_ID_RAI16                         0x0008
    #define     B16ISA_QRDINC_ID_RAI16                         0x0008
    #define   LSb32ISA_QRDINC_ID_RAI16                            3
    #define   LSb16ISA_QRDINC_ID_RAI16                            3
    #define       bISA_QRDINC_ID_RAI16                         1
    #define   MSK32ISA_QRDINC_ID_RAI16                            0x00000008

    #define     BA_ISA_QRDINC_ID_RAK16                         0x0008
    #define     B16ISA_QRDINC_ID_RAK16                         0x0008
    #define   LSb32ISA_QRDINC_ID_RAK16                            4
    #define   LSb16ISA_QRDINC_ID_RAK16                            4
    #define       bISA_QRDINC_ID_RAK16                         1
    #define   MSK32ISA_QRDINC_ID_RAK16                            0x00000010

    #define     BA_ISA_QRDINC_ID_RFSP                          0x0008
    #define     B16ISA_QRDINC_ID_RFSP                          0x0008
    #define   LSb32ISA_QRDINC_ID_RFSP                             5
    #define   LSb16ISA_QRDINC_ID_RFSP                             5
    #define       bISA_QRDINC_ID_RFSP                          1
    #define   MSK32ISA_QRDINC_ID_RFSP                             0x00000020

    #define     BA_ISA_QRDINC_ID_W4D4                          0x0008
    #define     B16ISA_QRDINC_ID_W4D4                          0x0008
    #define   LSb32ISA_QRDINC_ID_W4D4                             6
    #define   LSb16ISA_QRDINC_ID_W4D4                             6
    #define       bISA_QRDINC_ID_W4D4                          1
    #define   MSK32ISA_QRDINC_ID_W4D4                             0x00000040

    #define     BA_ISA_QRDINC_ID_W4S4                          0x0008
    #define     B16ISA_QRDINC_ID_W4S4                          0x0008
    #define   LSb32ISA_QRDINC_ID_W4S4                             7
    #define   LSb16ISA_QRDINC_ID_W4S4                             7
    #define       bISA_QRDINC_ID_W4S4                          1
    #define   MSK32ISA_QRDINC_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_LD                               0x000C

    #define     BA_ISA_QRDINC_LD_SPRF                          0x000C
    #define     B16ISA_QRDINC_LD_SPRF                          0x000C
    #define   LSb32ISA_QRDINC_LD_SPRF                             0
    #define   LSb16ISA_QRDINC_LD_SPRF                             0
    #define       bISA_QRDINC_LD_SPRF                          1
    #define   MSK32ISA_QRDINC_LD_SPRF                             0x00000001

    #define     BA_ISA_QRDINC_LD_SPK8                          0x000C
    #define     B16ISA_QRDINC_LD_SPK8                          0x000C
    #define   LSb32ISA_QRDINC_LD_SPK8                             1
    #define   LSb16ISA_QRDINC_LD_SPK8                             1
    #define       bISA_QRDINC_LD_SPK8                          1
    #define   MSK32ISA_QRDINC_LD_SPK8                             0x00000002

    #define     BA_ISA_QRDINC_LD_SPJ                           0x000C
    #define     B16ISA_QRDINC_LD_SPJ                           0x000C
    #define   LSb32ISA_QRDINC_LD_SPJ                              2
    #define   LSb16ISA_QRDINC_LD_SPJ                              2
    #define       bISA_QRDINC_LD_SPJ                           1
    #define   MSK32ISA_QRDINC_LD_SPJ                              0x00000004

    #define     BA_ISA_QRDINC_LD_SP4S                          0x000C
    #define     B16ISA_QRDINC_LD_SP4S                          0x000C
    #define   LSb32ISA_QRDINC_LD_SP4S                             3
    #define   LSb16ISA_QRDINC_LD_SP4S                             3
    #define       bISA_QRDINC_LD_SP4S                          1
    #define   MSK32ISA_QRDINC_LD_SP4S                             0x00000008

    #define     BA_ISA_QRDINC_LD_SP8S                          0x000C
    #define     B16ISA_QRDINC_LD_SP8S                          0x000C
    #define   LSb32ISA_QRDINC_LD_SP8S                             4
    #define   LSb16ISA_QRDINC_LD_SP8S                             4
    #define       bISA_QRDINC_LD_SP8S                          1
    #define   MSK32ISA_QRDINC_LD_SP8S                             0x00000010

    #define     BA_ISA_QRDINC_LD_SP8U                          0x000C
    #define     B16ISA_QRDINC_LD_SP8U                          0x000C
    #define   LSb32ISA_QRDINC_LD_SP8U                             5
    #define   LSb16ISA_QRDINC_LD_SP8U                             5
    #define       bISA_QRDINC_LD_SP8U                          1
    #define   MSK32ISA_QRDINC_LD_SP8U                             0x00000020

    #define     BA_ISA_QRDINC_LD_SP12S                         0x000C
    #define     B16ISA_QRDINC_LD_SP12S                         0x000C
    #define   LSb32ISA_QRDINC_LD_SP12S                            6
    #define   LSb16ISA_QRDINC_LD_SP12S                            6
    #define       bISA_QRDINC_LD_SP12S                         1
    #define   MSK32ISA_QRDINC_LD_SP12S                            0x00000040

    #define     BA_ISA_QRDINC_LD_SP16                          0x000C
    #define     B16ISA_QRDINC_LD_SP16                          0x000C
    #define   LSb32ISA_QRDINC_LD_SP16                             7
    #define   LSb16ISA_QRDINC_LD_SP16                             7
    #define       bISA_QRDINC_LD_SP16                          1
    #define   MSK32ISA_QRDINC_LD_SP16                             0x00000080

    #define     BA_ISA_QRDINC_LD_TPRF                          0x000D
    #define     B16ISA_QRDINC_LD_TPRF                          0x000C
    #define   LSb32ISA_QRDINC_LD_TPRF                             8
    #define   LSb16ISA_QRDINC_LD_TPRF                             8
    #define       bISA_QRDINC_LD_TPRF                          1
    #define   MSK32ISA_QRDINC_LD_TPRF                             0x00000100

    #define     BA_ISA_QRDINC_LD_TPJ                           0x000D
    #define     B16ISA_QRDINC_LD_TPJ                           0x000C
    #define   LSb32ISA_QRDINC_LD_TPJ                              9
    #define   LSb16ISA_QRDINC_LD_TPJ                              9
    #define       bISA_QRDINC_LD_TPJ                           1
    #define   MSK32ISA_QRDINC_LD_TPJ                              0x00000200

    #define     BA_ISA_QRDINC_LD_TP4S                          0x000D
    #define     B16ISA_QRDINC_LD_TP4S                          0x000C
    #define   LSb32ISA_QRDINC_LD_TP4S                             10
    #define   LSb16ISA_QRDINC_LD_TP4S                             10
    #define       bISA_QRDINC_LD_TP4S                          1
    #define   MSK32ISA_QRDINC_LD_TP4S                             0x00000400

    #define     BA_ISA_QRDINC_LD_TP8L                          0x000D
    #define     B16ISA_QRDINC_LD_TP8L                          0x000C
    #define   LSb32ISA_QRDINC_LD_TP8L                             11
    #define   LSb16ISA_QRDINC_LD_TP8L                             11
    #define       bISA_QRDINC_LD_TP8L                          1
    #define   MSK32ISA_QRDINC_LD_TP8L                             0x00000800

    #define     BA_ISA_QRDINC_LD_TP8H                          0x000D
    #define     B16ISA_QRDINC_LD_TP8H                          0x000C
    #define   LSb32ISA_QRDINC_LD_TP8H                             12
    #define   LSb16ISA_QRDINC_LD_TP8H                             12
    #define       bISA_QRDINC_LD_TP8H                          1
    #define   MSK32ISA_QRDINC_LD_TP8H                             0x00001000

    #define     BA_ISA_QRDINC_LD_TP8LF                         0x000D
    #define     B16ISA_QRDINC_LD_TP8LF                         0x000C
    #define   LSb32ISA_QRDINC_LD_TP8LF                            13
    #define   LSb16ISA_QRDINC_LD_TP8LF                            13
    #define       bISA_QRDINC_LD_TP8LF                         1
    #define   MSK32ISA_QRDINC_LD_TP8LF                            0x00002000

    #define     BA_ISA_QRDINC_LD_TP8HF                         0x000D
    #define     B16ISA_QRDINC_LD_TP8HF                         0x000C
    #define   LSb32ISA_QRDINC_LD_TP8HF                            14
    #define   LSb16ISA_QRDINC_LD_TP8HF                            14
    #define       bISA_QRDINC_LD_TP8HF                         1
    #define   MSK32ISA_QRDINC_LD_TP8HF                            0x00004000

    #define     BA_ISA_QRDINC_LD_SQRF64                        0x000D
    #define     B16ISA_QRDINC_LD_SQRF64                        0x000C
    #define   LSb32ISA_QRDINC_LD_SQRF64                           15
    #define   LSb16ISA_QRDINC_LD_SQRF64                           15
    #define       bISA_QRDINC_LD_SQRF64                        1
    #define   MSK32ISA_QRDINC_LD_SQRF64                           0x00008000

    #define     BA_ISA_QRDINC_LD_TQRF16Q                       0x000E
    #define     B16ISA_QRDINC_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_QRDINC_LD_TQRF16Q                          16
    #define   LSb16ISA_QRDINC_LD_TQRF16Q                          0
    #define       bISA_QRDINC_LD_TQRF16Q                       1
    #define   MSK32ISA_QRDINC_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_QRDINC_LD_TQRFx4                        0x000E
    #define     B16ISA_QRDINC_LD_TQRFx4                        0x000E
    #define   LSb32ISA_QRDINC_LD_TQRFx4                           17
    #define   LSb16ISA_QRDINC_LD_TQRFx4                           1
    #define       bISA_QRDINC_LD_TQRFx4                        1
    #define   MSK32ISA_QRDINC_LD_TQRFx4                           0x00020000

    #define     BA_ISA_QRDINC_LD_RD                            0x000E
    #define     B16ISA_QRDINC_LD_RD                            0x000E
    #define   LSb32ISA_QRDINC_LD_RD                               18
    #define   LSb16ISA_QRDINC_LD_RD                               2
    #define       bISA_QRDINC_LD_RD                            1
    #define   MSK32ISA_QRDINC_LD_RD                               0x00040000

    #define     BA_ISA_QRDINC_LD_WARF                          0x000E
    #define     B16ISA_QRDINC_LD_WARF                          0x000E
    #define   LSb32ISA_QRDINC_LD_WARF                             19
    #define   LSb16ISA_QRDINC_LD_WARF                             3
    #define       bISA_QRDINC_LD_WARF                          1
    #define   MSK32ISA_QRDINC_LD_WARF                             0x00080000

    #define     BA_ISA_QRDINC_LD_WAK8                          0x000E
    #define     B16ISA_QRDINC_LD_WAK8                          0x000E
    #define   LSb32ISA_QRDINC_LD_WAK8                             20
    #define   LSb16ISA_QRDINC_LD_WAK8                             4
    #define       bISA_QRDINC_LD_WAK8                          1
    #define   MSK32ISA_QRDINC_LD_WAK8                             0x00100000

    #define     BA_ISA_QRDINC_LD_WAK16                         0x000E
    #define     B16ISA_QRDINC_LD_WAK16                         0x000E
    #define   LSb32ISA_QRDINC_LD_WAK16                            21
    #define   LSb16ISA_QRDINC_LD_WAK16                            5
    #define       bISA_QRDINC_LD_WAK16                         1
    #define   MSK32ISA_QRDINC_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_EX                               0x0010

    #define     BA_ISA_QRDINC_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagZ                       0
    #define   LSb16ISA_QRDINC_EX_ALU16FlagZ                       0
    #define       bISA_QRDINC_EX_ALU16FlagZ                    1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_QRDINC_EX_ALU16FlagC                    0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagC                       1
    #define   LSb16ISA_QRDINC_EX_ALU16FlagC                       1
    #define       bISA_QRDINC_EX_ALU16FlagC                    1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_QRDINC_EX_ALU16FlagN                    0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagN                       2
    #define   LSb16ISA_QRDINC_EX_ALU16FlagN                       2
    #define       bISA_QRDINC_EX_ALU16FlagN                    1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_QRDINC_EX_ALU16FlagV                    0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagV                       3
    #define   LSb16ISA_QRDINC_EX_ALU16FlagV                       3
    #define       bISA_QRDINC_EX_ALU16FlagV                    1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_QRDINC_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagTP                      4
    #define   LSb16ISA_QRDINC_EX_ALU16FlagTP                      4
    #define       bISA_QRDINC_EX_ALU16FlagTP                   1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_QRDINC_EX_ALU16MUL                      0x0010
    #define     B16ISA_QRDINC_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16MUL                         5
    #define   LSb16ISA_QRDINC_EX_ALU16MUL                         5
    #define       bISA_QRDINC_EX_ALU16MUL                      1
    #define   MSK32ISA_QRDINC_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_QRDINC_EX_ALU16DIV                      0x0010
    #define     B16ISA_QRDINC_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16DIV                         6
    #define   LSb16ISA_QRDINC_EX_ALU16DIV                         6
    #define       bISA_QRDINC_EX_ALU16DIV                      1
    #define   MSK32ISA_QRDINC_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_QRDINC_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_QRDINC_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16FlagLD                      7
    #define   LSb16ISA_QRDINC_EX_ALU16FlagLD                      7
    #define       bISA_QRDINC_EX_ALU16FlagLD                   1
    #define   MSK32ISA_QRDINC_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_QRDINC_EX_ALU16MDL                      0x0011
    #define     B16ISA_QRDINC_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16MDL                         8
    #define   LSb16ISA_QRDINC_EX_ALU16MDL                         8
    #define       bISA_QRDINC_EX_ALU16MDL                      1
    #define   MSK32ISA_QRDINC_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_QRDINC_EX_ALU16MDH                      0x0011
    #define     B16ISA_QRDINC_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16MDH                         9
    #define   LSb16ISA_QRDINC_EX_ALU16MDH                         9
    #define       bISA_QRDINC_EX_ALU16MDH                      1
    #define   MSK32ISA_QRDINC_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_QRDINC_EX_ALU16ADD                      0x0011
    #define     B16ISA_QRDINC_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16ADD                         10
    #define   LSb16ISA_QRDINC_EX_ALU16ADD                         10
    #define       bISA_QRDINC_EX_ALU16ADD                      1
    #define   MSK32ISA_QRDINC_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_QRDINC_EX_ALU16SUB                      0x0011
    #define     B16ISA_QRDINC_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16SUB                         11
    #define   LSb16ISA_QRDINC_EX_ALU16SUB                         11
    #define       bISA_QRDINC_EX_ALU16SUB                      1
    #define   MSK32ISA_QRDINC_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_QRDINC_EX_ALU16ADDC                     0x0011
    #define     B16ISA_QRDINC_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16ADDC                        12
    #define   LSb16ISA_QRDINC_EX_ALU16ADDC                        12
    #define       bISA_QRDINC_EX_ALU16ADDC                     1
    #define   MSK32ISA_QRDINC_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_QRDINC_EX_ALU16SUBC                     0x0011
    #define     B16ISA_QRDINC_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16SUBC                        13
    #define   LSb16ISA_QRDINC_EX_ALU16SUBC                        13
    #define       bISA_QRDINC_EX_ALU16SUBC                     1
    #define   MSK32ISA_QRDINC_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_QRDINC_EX_ALU16ASR                      0x0011
    #define     B16ISA_QRDINC_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16ASR                         14
    #define   LSb16ISA_QRDINC_EX_ALU16ASR                         14
    #define       bISA_QRDINC_EX_ALU16ASR                      1
    #define   MSK32ISA_QRDINC_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_QRDINC_EX_ALU16SL                       0x0011
    #define     B16ISA_QRDINC_EX_ALU16SL                       0x0010
    #define   LSb32ISA_QRDINC_EX_ALU16SL                          15
    #define   LSb16ISA_QRDINC_EX_ALU16SL                          15
    #define       bISA_QRDINC_EX_ALU16SL                       1
    #define   MSK32ISA_QRDINC_EX_ALU16SL                          0x00008000

    #define     BA_ISA_QRDINC_EX_ALU16SR                       0x0012
    #define     B16ISA_QRDINC_EX_ALU16SR                       0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16SR                          16
    #define   LSb16ISA_QRDINC_EX_ALU16SR                          0
    #define       bISA_QRDINC_EX_ALU16SR                       1
    #define   MSK32ISA_QRDINC_EX_ALU16SR                          0x00010000

    #define     BA_ISA_QRDINC_EX_ALU16GET                      0x0012
    #define     B16ISA_QRDINC_EX_ALU16GET                      0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16GET                         17
    #define   LSb16ISA_QRDINC_EX_ALU16GET                         1
    #define       bISA_QRDINC_EX_ALU16GET                      1
    #define   MSK32ISA_QRDINC_EX_ALU16GET                         0x00020000

    #define     BA_ISA_QRDINC_EX_ALU16SET                      0x0012
    #define     B16ISA_QRDINC_EX_ALU16SET                      0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16SET                         18
    #define   LSb16ISA_QRDINC_EX_ALU16SET                         2
    #define       bISA_QRDINC_EX_ALU16SET                      1
    #define   MSK32ISA_QRDINC_EX_ALU16SET                         0x00040000

    #define     BA_ISA_QRDINC_EX_ALU16SEL                      0x0012
    #define     B16ISA_QRDINC_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16SEL                         19
    #define   LSb16ISA_QRDINC_EX_ALU16SEL                         3
    #define       bISA_QRDINC_EX_ALU16SEL                      1
    #define   MSK32ISA_QRDINC_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_QRDINC_EX_ALU16OR                       0x0012
    #define     B16ISA_QRDINC_EX_ALU16OR                       0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16OR                          20
    #define   LSb16ISA_QRDINC_EX_ALU16OR                          4
    #define       bISA_QRDINC_EX_ALU16OR                       1
    #define   MSK32ISA_QRDINC_EX_ALU16OR                          0x00100000

    #define     BA_ISA_QRDINC_EX_ALU16AND                      0x0012
    #define     B16ISA_QRDINC_EX_ALU16AND                      0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16AND                         21
    #define   LSb16ISA_QRDINC_EX_ALU16AND                         5
    #define       bISA_QRDINC_EX_ALU16AND                      1
    #define   MSK32ISA_QRDINC_EX_ALU16AND                         0x00200000

    #define     BA_ISA_QRDINC_EX_ALU16XOR                      0x0012
    #define     B16ISA_QRDINC_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16XOR                         22
    #define   LSb16ISA_QRDINC_EX_ALU16XOR                         6
    #define       bISA_QRDINC_EX_ALU16XOR                      1
    #define   MSK32ISA_QRDINC_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_QRDINC_EX_ALU16SP                       0x0012
    #define     B16ISA_QRDINC_EX_ALU16SP                       0x0012
    #define   LSb32ISA_QRDINC_EX_ALU16SP                          23
    #define   LSb16ISA_QRDINC_EX_ALU16SP                          7
    #define       bISA_QRDINC_EX_ALU16SP                       1
    #define   MSK32ISA_QRDINC_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_EXX                              0x0014

    #define     BA_ISA_QRDINC_EXX_WRSQ                         0x0014
    #define     B16ISA_QRDINC_EXX_WRSQ                         0x0014
    #define   LSb32ISA_QRDINC_EXX_WRSQ                            0
    #define   LSb16ISA_QRDINC_EXX_WRSQ                            0
    #define       bISA_QRDINC_EXX_WRSQ                         1
    #define   MSK32ISA_QRDINC_EXX_WRSQ                            0x00000001

    #define     BA_ISA_QRDINC_EXX_WR16                         0x0014
    #define     B16ISA_QRDINC_EXX_WR16                         0x0014
    #define   LSb32ISA_QRDINC_EXX_WR16                            1
    #define   LSb16ISA_QRDINC_EXX_WR16                            1
    #define       bISA_QRDINC_EXX_WR16                         1
    #define   MSK32ISA_QRDINC_EXX_WR16                            0x00000002

    #define     BA_ISA_QRDINC_EXX_WRTQ                         0x0014
    #define     B16ISA_QRDINC_EXX_WRTQ                         0x0014
    #define   LSb32ISA_QRDINC_EXX_WRTQ                            2
    #define   LSb16ISA_QRDINC_EXX_WRTQ                            2
    #define       bISA_QRDINC_EXX_WRTQ                         1
    #define   MSK32ISA_QRDINC_EXX_WRTQ                            0x00000004

    #define     BA_ISA_QRDINC_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_QRDINC_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_QRDINC_EXX_ALU64PUSH                       3
    #define   LSb16ISA_QRDINC_EXX_ALU64PUSH                       3
    #define       bISA_QRDINC_EXX_ALU64PUSH                    1
    #define   MSK32ISA_QRDINC_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_QRDINC_EXX_ALU64POP                     0x0014
    #define     B16ISA_QRDINC_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_QRDINC_EXX_ALU64POP                        4
    #define   LSb16ISA_QRDINC_EXX_ALU64POP                        4
    #define       bISA_QRDINC_EXX_ALU64POP                     1
    #define   MSK32ISA_QRDINC_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_QRDINC_EXX_ALU64SQ                      0x0014
    #define     B16ISA_QRDINC_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_QRDINC_EXX_ALU64SQ                         5
    #define   LSb16ISA_QRDINC_EXX_ALU64SQ                         5
    #define       bISA_QRDINC_EXX_ALU64SQ                      1
    #define   MSK32ISA_QRDINC_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_QRDINC_EXX_ALU64TQ                      0x0014
    #define     B16ISA_QRDINC_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_QRDINC_EXX_ALU64TQ                         6
    #define   LSb16ISA_QRDINC_EXX_ALU64TQ                         6
    #define       bISA_QRDINC_EXX_ALU64TQ                      1
    #define   MSK32ISA_QRDINC_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_QRDINC_EXX_ALU64MEM                     0x0014
    #define     B16ISA_QRDINC_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_QRDINC_EXX_ALU64MEM                        7
    #define   LSb16ISA_QRDINC_EXX_ALU64MEM                        7
    #define       bISA_QRDINC_EXX_ALU64MEM                     1
    #define   MSK32ISA_QRDINC_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_QRDINC_EXX_BRANCH                       0x0015
    #define     B16ISA_QRDINC_EXX_BRANCH                       0x0014
    #define   LSb32ISA_QRDINC_EXX_BRANCH                          8
    #define   LSb16ISA_QRDINC_EXX_BRANCH                          8
    #define       bISA_QRDINC_EXX_BRANCH                       1
    #define   MSK32ISA_QRDINC_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QRDINC_WB                               0x0018

    #define     BA_ISA_QRDINC_WB_RF16                          0x0018
    #define     B16ISA_QRDINC_WB_RF16                          0x0018
    #define   LSb32ISA_QRDINC_WB_RF16                             0
    #define   LSb16ISA_QRDINC_WB_RF16                             0
    #define       bISA_QRDINC_WB_RF16                          1
    #define   MSK32ISA_QRDINC_WB_RF16                             0x00000001

    #define     BA_ISA_QRDINC_WB_RF16W0                        0x0018
    #define     B16ISA_QRDINC_WB_RF16W0                        0x0018
    #define   LSb32ISA_QRDINC_WB_RF16W0                           1
    #define   LSb16ISA_QRDINC_WB_RF16W0                           1
    #define       bISA_QRDINC_WB_RF16W0                        1
    #define   MSK32ISA_QRDINC_WB_RF16W0                           0x00000002

    #define     BA_ISA_QRDINC_WB_RF16MEM                       0x0018
    #define     B16ISA_QRDINC_WB_RF16MEM                       0x0018
    #define   LSb32ISA_QRDINC_WB_RF16MEM                          2
    #define   LSb16ISA_QRDINC_WB_RF16MEM                          2
    #define       bISA_QRDINC_WB_RF16MEM                       1
    #define   MSK32ISA_QRDINC_WB_RF16MEM                          0x00000004

    #define     BA_ISA_QRDINC_WB_RF16Q                         0x0018
    #define     B16ISA_QRDINC_WB_RF16Q                         0x0018
    #define   LSb32ISA_QRDINC_WB_RF16Q                            3
    #define   LSb16ISA_QRDINC_WB_RF16Q                            3
    #define       bISA_QRDINC_WB_RF16Q                         1
    #define   MSK32ISA_QRDINC_WB_RF16Q                            0x00000008

    #define     BA_ISA_QRDINC_WB_RF64                          0x0018
    #define     B16ISA_QRDINC_WB_RF64                          0x0018
    #define   LSb32ISA_QRDINC_WB_RF64                             4
    #define   LSb16ISA_QRDINC_WB_RF64                             4
    #define       bISA_QRDINC_WB_RF64                          1
    #define   MSK32ISA_QRDINC_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_QRDINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_QRDINC_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_QRDINC_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QRDINC_Mask;
            struct w32ISA_QRDINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_QRDINC_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_QRDINC_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QRDINC_Opcode;
            struct w32ISA_QRDINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QRDINC_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QRDINC_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QRDINC_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QRDINC_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_QRDINC_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QRDINC_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QRDINC_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QRDINC_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_QRDINC_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QRDINC_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QRDINC_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QRDINC_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QRDINC_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_QRDINC_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QRDINC_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_QRDINC_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QRDINC_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QRDINC_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QRDINC_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QRDINC_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QRDINC_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_QRDINC_ID;
            struct w32ISA_QRDINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QRDINC_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QRDINC_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QRDINC_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QRDINC_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_QRDINC_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QRDINC_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_QRDINC_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QRDINC_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QRDINC_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QRDINC_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QRDINC_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QRDINC_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QRDINC_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QRDINC_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QRDINC_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QRDINC_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QRDINC_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QRDINC_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QRDINC_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QRDINC_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QRDINC_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_QRDINC_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QRDINC_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_QRDINC_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QRDINC_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_QRDINC_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QRDINC_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_QRDINC_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QRDINC_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_QRDINC_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_QRDINC_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_QRDINC_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_QRDINC_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_QRDINC_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_QRDINC_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_QRDINC_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_QRDINC_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_QRDINC_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_QRDINC_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_QRDINC_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_QRDINC_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_QRDINC_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_QRDINC_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_QRDINC_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_QRDINC_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_QRDINC_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_QRDINC_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_QRDINC_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_QRDINC_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_QRDINC_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_QRDINC_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_QRDINC_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_QRDINC_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QRDINC_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QRDINC_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_QRDINC_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_QRDINC_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_QRDINC_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_QRDINC_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_QRDINC_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_QRDINC_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_QRDINC_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_QRDINC_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_QRDINC_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_QRDINC_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_QRDINC_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_QRDINC_LD;
            struct w32ISA_QRDINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_QRDINC_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_QRDINC_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_QRDINC_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QRDINC_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_QRDINC_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QRDINC_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QRDINC_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QRDINC_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QRDINC_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QRDINC_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QRDINC_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QRDINC_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_QRDINC_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QRDINC_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_QRDINC_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QRDINC_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_QRDINC_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QRDINC_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_QRDINC_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QRDINC_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_QRDINC_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QRDINC_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_QRDINC_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QRDINC_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_QRDINC_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_QRDINC_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_QRDINC_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_QRDINC_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_QRDINC_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_QRDINC_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_QRDINC_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_QRDINC_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_QRDINC_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_QRDINC_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_QRDINC_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_QRDINC_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_QRDINC_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_QRDINC_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_QRDINC_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_QRDINC_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_QRDINC_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_QRDINC_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_QRDINC_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_QRDINC_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_QRDINC_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_QRDINC_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_QRDINC_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_QRDINC_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QRDINC_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QRDINC_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_QRDINC_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_QRDINC_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_QRDINC_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_QRDINC_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_QRDINC_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_QRDINC_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_QRDINC_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_QRDINC_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_QRDINC_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_QRDINC_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QRDINC_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_QRDINC_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_QRDINC_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QRDINC_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QRDINC_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_QRDINC_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_QRDINC_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_QRDINC_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QRDINC_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_QRDINC_EX;
            struct w32ISA_QRDINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_QRDINC_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QRDINC_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_QRDINC_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QRDINC_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_QRDINC_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QRDINC_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QRDINC_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QRDINC_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_QRDINC_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QRDINC_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QRDINC_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QRDINC_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QRDINC_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QRDINC_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QRDINC_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QRDINC_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QRDINC_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QRDINC_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QRDINC_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_QRDINC_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QRDINC_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_QRDINC_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QRDINC_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_QRDINC_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QRDINC_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_QRDINC_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_QRDINC_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_QRDINC_EXX;
            struct w32ISA_QRDINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QRDINC_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QRDINC_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QRDINC_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QRDINC_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QRDINC_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_QRDINC_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QRDINC_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QRDINC_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QRDINC_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_QRDINC_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QRDINC_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_QRDINC_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QRDINC_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QRDINC_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QRDINC_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QRDINC_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QRDINC_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QRDINC_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QRDINC_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QRDINC_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_QRDINC_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_QRDINC_WB;
            struct w32ISA_QRDINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_QRDINC;

    typedef union  T32ISA_QRDINC_Mask
          { UNSG32 u32;
            struct w32ISA_QRDINC_Mask;
                 } T32ISA_QRDINC_Mask;
    typedef union  T32ISA_QRDINC_Opcode
          { UNSG32 u32;
            struct w32ISA_QRDINC_Opcode;
                 } T32ISA_QRDINC_Opcode;
    typedef union  T32ISA_QRDINC_ID
          { UNSG32 u32;
            struct w32ISA_QRDINC_ID;
                 } T32ISA_QRDINC_ID;
    typedef union  T32ISA_QRDINC_LD
          { UNSG32 u32;
            struct w32ISA_QRDINC_LD;
                 } T32ISA_QRDINC_LD;
    typedef union  T32ISA_QRDINC_EX
          { UNSG32 u32;
            struct w32ISA_QRDINC_EX;
                 } T32ISA_QRDINC_EX;
    typedef union  T32ISA_QRDINC_EXX
          { UNSG32 u32;
            struct w32ISA_QRDINC_EXX;
                 } T32ISA_QRDINC_EXX;
    typedef union  T32ISA_QRDINC_WB
          { UNSG32 u32;
            struct w32ISA_QRDINC_WB;
                 } T32ISA_QRDINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_QRDINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_Mask;
                   };
                 } TISA_QRDINC_Mask;
    typedef union  TISA_QRDINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_Opcode;
                   };
                 } TISA_QRDINC_Opcode;
    typedef union  TISA_QRDINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_ID;
                   };
                 } TISA_QRDINC_ID;
    typedef union  TISA_QRDINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_LD;
                   };
                 } TISA_QRDINC_LD;
    typedef union  TISA_QRDINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_EX;
                   };
                 } TISA_QRDINC_EX;
    typedef union  TISA_QRDINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_EXX;
                   };
                 } TISA_QRDINC_EXX;
    typedef union  TISA_QRDINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QRDINC_WB;
                   };
                 } TISA_QRDINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_QRDINC_drvrd(SIE_ISA_QRDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_QRDINC_drvwr(SIE_ISA_QRDINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_QRDINC_reset(SIE_ISA_QRDINC *p);
     SIGN32 ISA_QRDINC_cmp  (SIE_ISA_QRDINC *p, SIE_ISA_QRDINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_QRDINC_check(p,pie,pfx,hLOG) ISA_QRDINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_QRDINC_print(p,    pfx,hLOG) ISA_QRDINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_QRDINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_QOFFRD                               (4,4)
///     ###
///     * Memory read 64b data to a quad register in RF16.
///     * Using base read address (RB) with an offset of [-128,127].
///     * No RF registers, RB or flags would be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF000C0
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x400040
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.OFF.RD", "N,qT"        , "0100 NNNN ---- NNNN 01TT TTTT" } ,
///                                    * - Usage:
///                                    * -    Q.OFF.RD + 8, %q0        ; %q0 = M64[ RB + 8 ];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      0x1
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        0x1
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  0x1
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      0x1
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_QOFFRD
#define h_ISA_QOFFRD (){}

    #define     RA_ISA_QOFFRD_Mask                             0x0000

    #define     BA_ISA_QOFFRD_Mask_INS                         0x0000
    #define     B16ISA_QOFFRD_Mask_INS                         0x0000
    #define   LSb32ISA_QOFFRD_Mask_INS                            0
    #define   LSb16ISA_QOFFRD_Mask_INS                            0
    #define       bISA_QOFFRD_Mask_INS                         24
    #define   MSK32ISA_QOFFRD_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_Opcode                           0x0004

    #define     BA_ISA_QOFFRD_Opcode_INS                       0x0004
    #define     B16ISA_QOFFRD_Opcode_INS                       0x0004
    #define   LSb32ISA_QOFFRD_Opcode_INS                          0
    #define   LSb16ISA_QOFFRD_Opcode_INS                          0
    #define       bISA_QOFFRD_Opcode_INS                       24
    #define   MSK32ISA_QOFFRD_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_ID                               0x0008

    #define     BA_ISA_QOFFRD_ID_RBRF                          0x0008
    #define     B16ISA_QOFFRD_ID_RBRF                          0x0008
    #define   LSb32ISA_QOFFRD_ID_RBRF                             0
    #define   LSb16ISA_QOFFRD_ID_RBRF                             0
    #define       bISA_QOFFRD_ID_RBRF                          1
    #define   MSK32ISA_QOFFRD_ID_RBRF                             0x00000001

    #define     BA_ISA_QOFFRD_ID_RARF                          0x0008
    #define     B16ISA_QOFFRD_ID_RARF                          0x0008
    #define   LSb32ISA_QOFFRD_ID_RARF                             1
    #define   LSb16ISA_QOFFRD_ID_RARF                             1
    #define       bISA_QOFFRD_ID_RARF                          1
    #define   MSK32ISA_QOFFRD_ID_RARF                             0x00000002

    #define     BA_ISA_QOFFRD_ID_RAK8                          0x0008
    #define     B16ISA_QOFFRD_ID_RAK8                          0x0008
    #define   LSb32ISA_QOFFRD_ID_RAK8                             2
    #define   LSb16ISA_QOFFRD_ID_RAK8                             2
    #define       bISA_QOFFRD_ID_RAK8                          1
    #define   MSK32ISA_QOFFRD_ID_RAK8                             0x00000004

    #define     BA_ISA_QOFFRD_ID_RAI16                         0x0008
    #define     B16ISA_QOFFRD_ID_RAI16                         0x0008
    #define   LSb32ISA_QOFFRD_ID_RAI16                            3
    #define   LSb16ISA_QOFFRD_ID_RAI16                            3
    #define       bISA_QOFFRD_ID_RAI16                         1
    #define   MSK32ISA_QOFFRD_ID_RAI16                            0x00000008

    #define     BA_ISA_QOFFRD_ID_RAK16                         0x0008
    #define     B16ISA_QOFFRD_ID_RAK16                         0x0008
    #define   LSb32ISA_QOFFRD_ID_RAK16                            4
    #define   LSb16ISA_QOFFRD_ID_RAK16                            4
    #define       bISA_QOFFRD_ID_RAK16                         1
    #define   MSK32ISA_QOFFRD_ID_RAK16                            0x00000010

    #define     BA_ISA_QOFFRD_ID_RFSP                          0x0008
    #define     B16ISA_QOFFRD_ID_RFSP                          0x0008
    #define   LSb32ISA_QOFFRD_ID_RFSP                             5
    #define   LSb16ISA_QOFFRD_ID_RFSP                             5
    #define       bISA_QOFFRD_ID_RFSP                          1
    #define   MSK32ISA_QOFFRD_ID_RFSP                             0x00000020

    #define     BA_ISA_QOFFRD_ID_W4D4                          0x0008
    #define     B16ISA_QOFFRD_ID_W4D4                          0x0008
    #define   LSb32ISA_QOFFRD_ID_W4D4                             6
    #define   LSb16ISA_QOFFRD_ID_W4D4                             6
    #define       bISA_QOFFRD_ID_W4D4                          1
    #define   MSK32ISA_QOFFRD_ID_W4D4                             0x00000040

    #define     BA_ISA_QOFFRD_ID_W4S4                          0x0008
    #define     B16ISA_QOFFRD_ID_W4S4                          0x0008
    #define   LSb32ISA_QOFFRD_ID_W4S4                             7
    #define   LSb16ISA_QOFFRD_ID_W4S4                             7
    #define       bISA_QOFFRD_ID_W4S4                          1
    #define   MSK32ISA_QOFFRD_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_LD                               0x000C

    #define     BA_ISA_QOFFRD_LD_SPRF                          0x000C
    #define     B16ISA_QOFFRD_LD_SPRF                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SPRF                             0
    #define   LSb16ISA_QOFFRD_LD_SPRF                             0
    #define       bISA_QOFFRD_LD_SPRF                          1
    #define   MSK32ISA_QOFFRD_LD_SPRF                             0x00000001

    #define     BA_ISA_QOFFRD_LD_SPK8                          0x000C
    #define     B16ISA_QOFFRD_LD_SPK8                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SPK8                             1
    #define   LSb16ISA_QOFFRD_LD_SPK8                             1
    #define       bISA_QOFFRD_LD_SPK8                          1
    #define   MSK32ISA_QOFFRD_LD_SPK8                             0x00000002

    #define     BA_ISA_QOFFRD_LD_SPJ                           0x000C
    #define     B16ISA_QOFFRD_LD_SPJ                           0x000C
    #define   LSb32ISA_QOFFRD_LD_SPJ                              2
    #define   LSb16ISA_QOFFRD_LD_SPJ                              2
    #define       bISA_QOFFRD_LD_SPJ                           1
    #define   MSK32ISA_QOFFRD_LD_SPJ                              0x00000004

    #define     BA_ISA_QOFFRD_LD_SP4S                          0x000C
    #define     B16ISA_QOFFRD_LD_SP4S                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SP4S                             3
    #define   LSb16ISA_QOFFRD_LD_SP4S                             3
    #define       bISA_QOFFRD_LD_SP4S                          1
    #define   MSK32ISA_QOFFRD_LD_SP4S                             0x00000008

    #define     BA_ISA_QOFFRD_LD_SP8S                          0x000C
    #define     B16ISA_QOFFRD_LD_SP8S                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SP8S                             4
    #define   LSb16ISA_QOFFRD_LD_SP8S                             4
    #define       bISA_QOFFRD_LD_SP8S                          1
    #define   MSK32ISA_QOFFRD_LD_SP8S                             0x00000010

    #define     BA_ISA_QOFFRD_LD_SP8U                          0x000C
    #define     B16ISA_QOFFRD_LD_SP8U                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SP8U                             5
    #define   LSb16ISA_QOFFRD_LD_SP8U                             5
    #define       bISA_QOFFRD_LD_SP8U                          1
    #define   MSK32ISA_QOFFRD_LD_SP8U                             0x00000020

    #define     BA_ISA_QOFFRD_LD_SP12S                         0x000C
    #define     B16ISA_QOFFRD_LD_SP12S                         0x000C
    #define   LSb32ISA_QOFFRD_LD_SP12S                            6
    #define   LSb16ISA_QOFFRD_LD_SP12S                            6
    #define       bISA_QOFFRD_LD_SP12S                         1
    #define   MSK32ISA_QOFFRD_LD_SP12S                            0x00000040

    #define     BA_ISA_QOFFRD_LD_SP16                          0x000C
    #define     B16ISA_QOFFRD_LD_SP16                          0x000C
    #define   LSb32ISA_QOFFRD_LD_SP16                             7
    #define   LSb16ISA_QOFFRD_LD_SP16                             7
    #define       bISA_QOFFRD_LD_SP16                          1
    #define   MSK32ISA_QOFFRD_LD_SP16                             0x00000080

    #define     BA_ISA_QOFFRD_LD_TPRF                          0x000D
    #define     B16ISA_QOFFRD_LD_TPRF                          0x000C
    #define   LSb32ISA_QOFFRD_LD_TPRF                             8
    #define   LSb16ISA_QOFFRD_LD_TPRF                             8
    #define       bISA_QOFFRD_LD_TPRF                          1
    #define   MSK32ISA_QOFFRD_LD_TPRF                             0x00000100

    #define     BA_ISA_QOFFRD_LD_TPJ                           0x000D
    #define     B16ISA_QOFFRD_LD_TPJ                           0x000C
    #define   LSb32ISA_QOFFRD_LD_TPJ                              9
    #define   LSb16ISA_QOFFRD_LD_TPJ                              9
    #define       bISA_QOFFRD_LD_TPJ                           1
    #define   MSK32ISA_QOFFRD_LD_TPJ                              0x00000200

    #define     BA_ISA_QOFFRD_LD_TP4S                          0x000D
    #define     B16ISA_QOFFRD_LD_TP4S                          0x000C
    #define   LSb32ISA_QOFFRD_LD_TP4S                             10
    #define   LSb16ISA_QOFFRD_LD_TP4S                             10
    #define       bISA_QOFFRD_LD_TP4S                          1
    #define   MSK32ISA_QOFFRD_LD_TP4S                             0x00000400

    #define     BA_ISA_QOFFRD_LD_TP8L                          0x000D
    #define     B16ISA_QOFFRD_LD_TP8L                          0x000C
    #define   LSb32ISA_QOFFRD_LD_TP8L                             11
    #define   LSb16ISA_QOFFRD_LD_TP8L                             11
    #define       bISA_QOFFRD_LD_TP8L                          1
    #define   MSK32ISA_QOFFRD_LD_TP8L                             0x00000800

    #define     BA_ISA_QOFFRD_LD_TP8H                          0x000D
    #define     B16ISA_QOFFRD_LD_TP8H                          0x000C
    #define   LSb32ISA_QOFFRD_LD_TP8H                             12
    #define   LSb16ISA_QOFFRD_LD_TP8H                             12
    #define       bISA_QOFFRD_LD_TP8H                          1
    #define   MSK32ISA_QOFFRD_LD_TP8H                             0x00001000

    #define     BA_ISA_QOFFRD_LD_TP8LF                         0x000D
    #define     B16ISA_QOFFRD_LD_TP8LF                         0x000C
    #define   LSb32ISA_QOFFRD_LD_TP8LF                            13
    #define   LSb16ISA_QOFFRD_LD_TP8LF                            13
    #define       bISA_QOFFRD_LD_TP8LF                         1
    #define   MSK32ISA_QOFFRD_LD_TP8LF                            0x00002000

    #define     BA_ISA_QOFFRD_LD_TP8HF                         0x000D
    #define     B16ISA_QOFFRD_LD_TP8HF                         0x000C
    #define   LSb32ISA_QOFFRD_LD_TP8HF                            14
    #define   LSb16ISA_QOFFRD_LD_TP8HF                            14
    #define       bISA_QOFFRD_LD_TP8HF                         1
    #define   MSK32ISA_QOFFRD_LD_TP8HF                            0x00004000

    #define     BA_ISA_QOFFRD_LD_SQRF64                        0x000D
    #define     B16ISA_QOFFRD_LD_SQRF64                        0x000C
    #define   LSb32ISA_QOFFRD_LD_SQRF64                           15
    #define   LSb16ISA_QOFFRD_LD_SQRF64                           15
    #define       bISA_QOFFRD_LD_SQRF64                        1
    #define   MSK32ISA_QOFFRD_LD_SQRF64                           0x00008000

    #define     BA_ISA_QOFFRD_LD_TQRF16Q                       0x000E
    #define     B16ISA_QOFFRD_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_QOFFRD_LD_TQRF16Q                          16
    #define   LSb16ISA_QOFFRD_LD_TQRF16Q                          0
    #define       bISA_QOFFRD_LD_TQRF16Q                       1
    #define   MSK32ISA_QOFFRD_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_QOFFRD_LD_TQRFx4                        0x000E
    #define     B16ISA_QOFFRD_LD_TQRFx4                        0x000E
    #define   LSb32ISA_QOFFRD_LD_TQRFx4                           17
    #define   LSb16ISA_QOFFRD_LD_TQRFx4                           1
    #define       bISA_QOFFRD_LD_TQRFx4                        1
    #define   MSK32ISA_QOFFRD_LD_TQRFx4                           0x00020000

    #define     BA_ISA_QOFFRD_LD_RD                            0x000E
    #define     B16ISA_QOFFRD_LD_RD                            0x000E
    #define   LSb32ISA_QOFFRD_LD_RD                               18
    #define   LSb16ISA_QOFFRD_LD_RD                               2
    #define       bISA_QOFFRD_LD_RD                            1
    #define   MSK32ISA_QOFFRD_LD_RD                               0x00040000

    #define     BA_ISA_QOFFRD_LD_WARF                          0x000E
    #define     B16ISA_QOFFRD_LD_WARF                          0x000E
    #define   LSb32ISA_QOFFRD_LD_WARF                             19
    #define   LSb16ISA_QOFFRD_LD_WARF                             3
    #define       bISA_QOFFRD_LD_WARF                          1
    #define   MSK32ISA_QOFFRD_LD_WARF                             0x00080000

    #define     BA_ISA_QOFFRD_LD_WAK8                          0x000E
    #define     B16ISA_QOFFRD_LD_WAK8                          0x000E
    #define   LSb32ISA_QOFFRD_LD_WAK8                             20
    #define   LSb16ISA_QOFFRD_LD_WAK8                             4
    #define       bISA_QOFFRD_LD_WAK8                          1
    #define   MSK32ISA_QOFFRD_LD_WAK8                             0x00100000

    #define     BA_ISA_QOFFRD_LD_WAK16                         0x000E
    #define     B16ISA_QOFFRD_LD_WAK16                         0x000E
    #define   LSb32ISA_QOFFRD_LD_WAK16                            21
    #define   LSb16ISA_QOFFRD_LD_WAK16                            5
    #define       bISA_QOFFRD_LD_WAK16                         1
    #define   MSK32ISA_QOFFRD_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_EX                               0x0010

    #define     BA_ISA_QOFFRD_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagZ                       0
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagZ                       0
    #define       bISA_QOFFRD_EX_ALU16FlagZ                    1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_QOFFRD_EX_ALU16FlagC                    0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagC                       1
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagC                       1
    #define       bISA_QOFFRD_EX_ALU16FlagC                    1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_QOFFRD_EX_ALU16FlagN                    0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagN                       2
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagN                       2
    #define       bISA_QOFFRD_EX_ALU16FlagN                    1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_QOFFRD_EX_ALU16FlagV                    0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagV                       3
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagV                       3
    #define       bISA_QOFFRD_EX_ALU16FlagV                    1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_QOFFRD_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagTP                      4
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagTP                      4
    #define       bISA_QOFFRD_EX_ALU16FlagTP                   1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_QOFFRD_EX_ALU16MUL                      0x0010
    #define     B16ISA_QOFFRD_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16MUL                         5
    #define   LSb16ISA_QOFFRD_EX_ALU16MUL                         5
    #define       bISA_QOFFRD_EX_ALU16MUL                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_QOFFRD_EX_ALU16DIV                      0x0010
    #define     B16ISA_QOFFRD_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16DIV                         6
    #define   LSb16ISA_QOFFRD_EX_ALU16DIV                         6
    #define       bISA_QOFFRD_EX_ALU16DIV                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_QOFFRD_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_QOFFRD_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16FlagLD                      7
    #define   LSb16ISA_QOFFRD_EX_ALU16FlagLD                      7
    #define       bISA_QOFFRD_EX_ALU16FlagLD                   1
    #define   MSK32ISA_QOFFRD_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_QOFFRD_EX_ALU16MDL                      0x0011
    #define     B16ISA_QOFFRD_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16MDL                         8
    #define   LSb16ISA_QOFFRD_EX_ALU16MDL                         8
    #define       bISA_QOFFRD_EX_ALU16MDL                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_QOFFRD_EX_ALU16MDH                      0x0011
    #define     B16ISA_QOFFRD_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16MDH                         9
    #define   LSb16ISA_QOFFRD_EX_ALU16MDH                         9
    #define       bISA_QOFFRD_EX_ALU16MDH                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_QOFFRD_EX_ALU16ADD                      0x0011
    #define     B16ISA_QOFFRD_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16ADD                         10
    #define   LSb16ISA_QOFFRD_EX_ALU16ADD                         10
    #define       bISA_QOFFRD_EX_ALU16ADD                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_QOFFRD_EX_ALU16SUB                      0x0011
    #define     B16ISA_QOFFRD_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16SUB                         11
    #define   LSb16ISA_QOFFRD_EX_ALU16SUB                         11
    #define       bISA_QOFFRD_EX_ALU16SUB                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_QOFFRD_EX_ALU16ADDC                     0x0011
    #define     B16ISA_QOFFRD_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16ADDC                        12
    #define   LSb16ISA_QOFFRD_EX_ALU16ADDC                        12
    #define       bISA_QOFFRD_EX_ALU16ADDC                     1
    #define   MSK32ISA_QOFFRD_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_QOFFRD_EX_ALU16SUBC                     0x0011
    #define     B16ISA_QOFFRD_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16SUBC                        13
    #define   LSb16ISA_QOFFRD_EX_ALU16SUBC                        13
    #define       bISA_QOFFRD_EX_ALU16SUBC                     1
    #define   MSK32ISA_QOFFRD_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_QOFFRD_EX_ALU16ASR                      0x0011
    #define     B16ISA_QOFFRD_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16ASR                         14
    #define   LSb16ISA_QOFFRD_EX_ALU16ASR                         14
    #define       bISA_QOFFRD_EX_ALU16ASR                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_QOFFRD_EX_ALU16SL                       0x0011
    #define     B16ISA_QOFFRD_EX_ALU16SL                       0x0010
    #define   LSb32ISA_QOFFRD_EX_ALU16SL                          15
    #define   LSb16ISA_QOFFRD_EX_ALU16SL                          15
    #define       bISA_QOFFRD_EX_ALU16SL                       1
    #define   MSK32ISA_QOFFRD_EX_ALU16SL                          0x00008000

    #define     BA_ISA_QOFFRD_EX_ALU16SR                       0x0012
    #define     B16ISA_QOFFRD_EX_ALU16SR                       0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16SR                          16
    #define   LSb16ISA_QOFFRD_EX_ALU16SR                          0
    #define       bISA_QOFFRD_EX_ALU16SR                       1
    #define   MSK32ISA_QOFFRD_EX_ALU16SR                          0x00010000

    #define     BA_ISA_QOFFRD_EX_ALU16GET                      0x0012
    #define     B16ISA_QOFFRD_EX_ALU16GET                      0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16GET                         17
    #define   LSb16ISA_QOFFRD_EX_ALU16GET                         1
    #define       bISA_QOFFRD_EX_ALU16GET                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16GET                         0x00020000

    #define     BA_ISA_QOFFRD_EX_ALU16SET                      0x0012
    #define     B16ISA_QOFFRD_EX_ALU16SET                      0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16SET                         18
    #define   LSb16ISA_QOFFRD_EX_ALU16SET                         2
    #define       bISA_QOFFRD_EX_ALU16SET                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16SET                         0x00040000

    #define     BA_ISA_QOFFRD_EX_ALU16SEL                      0x0012
    #define     B16ISA_QOFFRD_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16SEL                         19
    #define   LSb16ISA_QOFFRD_EX_ALU16SEL                         3
    #define       bISA_QOFFRD_EX_ALU16SEL                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_QOFFRD_EX_ALU16OR                       0x0012
    #define     B16ISA_QOFFRD_EX_ALU16OR                       0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16OR                          20
    #define   LSb16ISA_QOFFRD_EX_ALU16OR                          4
    #define       bISA_QOFFRD_EX_ALU16OR                       1
    #define   MSK32ISA_QOFFRD_EX_ALU16OR                          0x00100000

    #define     BA_ISA_QOFFRD_EX_ALU16AND                      0x0012
    #define     B16ISA_QOFFRD_EX_ALU16AND                      0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16AND                         21
    #define   LSb16ISA_QOFFRD_EX_ALU16AND                         5
    #define       bISA_QOFFRD_EX_ALU16AND                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16AND                         0x00200000

    #define     BA_ISA_QOFFRD_EX_ALU16XOR                      0x0012
    #define     B16ISA_QOFFRD_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16XOR                         22
    #define   LSb16ISA_QOFFRD_EX_ALU16XOR                         6
    #define       bISA_QOFFRD_EX_ALU16XOR                      1
    #define   MSK32ISA_QOFFRD_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_QOFFRD_EX_ALU16SP                       0x0012
    #define     B16ISA_QOFFRD_EX_ALU16SP                       0x0012
    #define   LSb32ISA_QOFFRD_EX_ALU16SP                          23
    #define   LSb16ISA_QOFFRD_EX_ALU16SP                          7
    #define       bISA_QOFFRD_EX_ALU16SP                       1
    #define   MSK32ISA_QOFFRD_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_EXX                              0x0014

    #define     BA_ISA_QOFFRD_EXX_WRSQ                         0x0014
    #define     B16ISA_QOFFRD_EXX_WRSQ                         0x0014
    #define   LSb32ISA_QOFFRD_EXX_WRSQ                            0
    #define   LSb16ISA_QOFFRD_EXX_WRSQ                            0
    #define       bISA_QOFFRD_EXX_WRSQ                         1
    #define   MSK32ISA_QOFFRD_EXX_WRSQ                            0x00000001

    #define     BA_ISA_QOFFRD_EXX_WR16                         0x0014
    #define     B16ISA_QOFFRD_EXX_WR16                         0x0014
    #define   LSb32ISA_QOFFRD_EXX_WR16                            1
    #define   LSb16ISA_QOFFRD_EXX_WR16                            1
    #define       bISA_QOFFRD_EXX_WR16                         1
    #define   MSK32ISA_QOFFRD_EXX_WR16                            0x00000002

    #define     BA_ISA_QOFFRD_EXX_WRTQ                         0x0014
    #define     B16ISA_QOFFRD_EXX_WRTQ                         0x0014
    #define   LSb32ISA_QOFFRD_EXX_WRTQ                            2
    #define   LSb16ISA_QOFFRD_EXX_WRTQ                            2
    #define       bISA_QOFFRD_EXX_WRTQ                         1
    #define   MSK32ISA_QOFFRD_EXX_WRTQ                            0x00000004

    #define     BA_ISA_QOFFRD_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_QOFFRD_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_QOFFRD_EXX_ALU64PUSH                       3
    #define   LSb16ISA_QOFFRD_EXX_ALU64PUSH                       3
    #define       bISA_QOFFRD_EXX_ALU64PUSH                    1
    #define   MSK32ISA_QOFFRD_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_QOFFRD_EXX_ALU64POP                     0x0014
    #define     B16ISA_QOFFRD_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_QOFFRD_EXX_ALU64POP                        4
    #define   LSb16ISA_QOFFRD_EXX_ALU64POP                        4
    #define       bISA_QOFFRD_EXX_ALU64POP                     1
    #define   MSK32ISA_QOFFRD_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_QOFFRD_EXX_ALU64SQ                      0x0014
    #define     B16ISA_QOFFRD_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_QOFFRD_EXX_ALU64SQ                         5
    #define   LSb16ISA_QOFFRD_EXX_ALU64SQ                         5
    #define       bISA_QOFFRD_EXX_ALU64SQ                      1
    #define   MSK32ISA_QOFFRD_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_QOFFRD_EXX_ALU64TQ                      0x0014
    #define     B16ISA_QOFFRD_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_QOFFRD_EXX_ALU64TQ                         6
    #define   LSb16ISA_QOFFRD_EXX_ALU64TQ                         6
    #define       bISA_QOFFRD_EXX_ALU64TQ                      1
    #define   MSK32ISA_QOFFRD_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_QOFFRD_EXX_ALU64MEM                     0x0014
    #define     B16ISA_QOFFRD_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_QOFFRD_EXX_ALU64MEM                        7
    #define   LSb16ISA_QOFFRD_EXX_ALU64MEM                        7
    #define       bISA_QOFFRD_EXX_ALU64MEM                     1
    #define   MSK32ISA_QOFFRD_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_QOFFRD_EXX_BRANCH                       0x0015
    #define     B16ISA_QOFFRD_EXX_BRANCH                       0x0014
    #define   LSb32ISA_QOFFRD_EXX_BRANCH                          8
    #define   LSb16ISA_QOFFRD_EXX_BRANCH                          8
    #define       bISA_QOFFRD_EXX_BRANCH                       1
    #define   MSK32ISA_QOFFRD_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QOFFRD_WB                               0x0018

    #define     BA_ISA_QOFFRD_WB_RF16                          0x0018
    #define     B16ISA_QOFFRD_WB_RF16                          0x0018
    #define   LSb32ISA_QOFFRD_WB_RF16                             0
    #define   LSb16ISA_QOFFRD_WB_RF16                             0
    #define       bISA_QOFFRD_WB_RF16                          1
    #define   MSK32ISA_QOFFRD_WB_RF16                             0x00000001

    #define     BA_ISA_QOFFRD_WB_RF16W0                        0x0018
    #define     B16ISA_QOFFRD_WB_RF16W0                        0x0018
    #define   LSb32ISA_QOFFRD_WB_RF16W0                           1
    #define   LSb16ISA_QOFFRD_WB_RF16W0                           1
    #define       bISA_QOFFRD_WB_RF16W0                        1
    #define   MSK32ISA_QOFFRD_WB_RF16W0                           0x00000002

    #define     BA_ISA_QOFFRD_WB_RF16MEM                       0x0018
    #define     B16ISA_QOFFRD_WB_RF16MEM                       0x0018
    #define   LSb32ISA_QOFFRD_WB_RF16MEM                          2
    #define   LSb16ISA_QOFFRD_WB_RF16MEM                          2
    #define       bISA_QOFFRD_WB_RF16MEM                       1
    #define   MSK32ISA_QOFFRD_WB_RF16MEM                          0x00000004

    #define     BA_ISA_QOFFRD_WB_RF16Q                         0x0018
    #define     B16ISA_QOFFRD_WB_RF16Q                         0x0018
    #define   LSb32ISA_QOFFRD_WB_RF16Q                            3
    #define   LSb16ISA_QOFFRD_WB_RF16Q                            3
    #define       bISA_QOFFRD_WB_RF16Q                         1
    #define   MSK32ISA_QOFFRD_WB_RF16Q                            0x00000008

    #define     BA_ISA_QOFFRD_WB_RF64                          0x0018
    #define     B16ISA_QOFFRD_WB_RF64                          0x0018
    #define   LSb32ISA_QOFFRD_WB_RF64                             4
    #define   LSb16ISA_QOFFRD_WB_RF64                             4
    #define       bISA_QOFFRD_WB_RF64                          1
    #define   MSK32ISA_QOFFRD_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_QOFFRD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_QOFFRD_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_QOFFRD_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QOFFRD_Mask;
            struct w32ISA_QOFFRD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_QOFFRD_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_QOFFRD_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QOFFRD_Opcode;
            struct w32ISA_QOFFRD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QOFFRD_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QOFFRD_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QOFFRD_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QOFFRD_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_QOFFRD_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QOFFRD_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QOFFRD_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QOFFRD_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_QOFFRD_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QOFFRD_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QOFFRD_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QOFFRD_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QOFFRD_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_QOFFRD_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QOFFRD_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_QOFFRD_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QOFFRD_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QOFFRD_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QOFFRD_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QOFFRD_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QOFFRD_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_QOFFRD_ID;
            struct w32ISA_QOFFRD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QOFFRD_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QOFFRD_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QOFFRD_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QOFFRD_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_QOFFRD_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QOFFRD_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_QOFFRD_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QOFFRD_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QOFFRD_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QOFFRD_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QOFFRD_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QOFFRD_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QOFFRD_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QOFFRD_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QOFFRD_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QOFFRD_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QOFFRD_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QOFFRD_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QOFFRD_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QOFFRD_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QOFFRD_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_QOFFRD_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QOFFRD_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_QOFFRD_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QOFFRD_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_QOFFRD_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QOFFRD_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_QOFFRD_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QOFFRD_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_QOFFRD_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_QOFFRD_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_QOFFRD_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_QOFFRD_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_QOFFRD_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_QOFFRD_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_QOFFRD_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_QOFFRD_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_QOFFRD_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_QOFFRD_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_QOFFRD_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_QOFFRD_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_QOFFRD_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_QOFFRD_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_QOFFRD_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_QOFFRD_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_QOFFRD_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_QOFFRD_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_QOFFRD_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_QOFFRD_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_QOFFRD_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_QOFFRD_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_QOFFRD_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_QOFFRD_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QOFFRD_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QOFFRD_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_QOFFRD_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_QOFFRD_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_QOFFRD_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_QOFFRD_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_QOFFRD_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_QOFFRD_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_QOFFRD_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_QOFFRD_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_QOFFRD_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_QOFFRD_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_QOFFRD_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_QOFFRD_LD;
            struct w32ISA_QOFFRD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QOFFRD_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QOFFRD_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QOFFRD_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QOFFRD_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QOFFRD_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QOFFRD_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QOFFRD_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_QOFFRD_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QOFFRD_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_QOFFRD_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QOFFRD_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_QOFFRD_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QOFFRD_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_QOFFRD_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QOFFRD_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_QOFFRD_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QOFFRD_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_QOFFRD_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QOFFRD_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_QOFFRD_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_QOFFRD_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_QOFFRD_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_QOFFRD_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_QOFFRD_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_QOFFRD_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_QOFFRD_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_QOFFRD_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_QOFFRD_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_QOFFRD_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_QOFFRD_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_QOFFRD_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_QOFFRD_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_QOFFRD_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_QOFFRD_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_QOFFRD_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_QOFFRD_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QOFFRD_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_QOFFRD_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_QOFFRD_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_QOFFRD_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_QOFFRD_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_QOFFRD_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_QOFFRD_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_QOFFRD_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_QOFFRD_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QOFFRD_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_QOFFRD_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_QOFFRD_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QOFFRD_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QOFFRD_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_QOFFRD_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_QOFFRD_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_QOFFRD_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QOFFRD_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_QOFFRD_EX;
            struct w32ISA_QOFFRD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_QOFFRD_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QOFFRD_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_QOFFRD_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QOFFRD_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_QOFFRD_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QOFFRD_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QOFFRD_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QOFFRD_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_QOFFRD_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QOFFRD_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QOFFRD_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QOFFRD_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QOFFRD_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QOFFRD_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QOFFRD_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QOFFRD_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QOFFRD_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QOFFRD_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QOFFRD_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_QOFFRD_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QOFFRD_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_QOFFRD_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QOFFRD_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_QOFFRD_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QOFFRD_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_QOFFRD_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_QOFFRD_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_QOFFRD_EXX;
            struct w32ISA_QOFFRD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QOFFRD_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QOFFRD_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QOFFRD_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QOFFRD_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QOFFRD_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_QOFFRD_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QOFFRD_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QOFFRD_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QOFFRD_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_QOFFRD_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QOFFRD_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_QOFFRD_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QOFFRD_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QOFFRD_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QOFFRD_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QOFFRD_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QOFFRD_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QOFFRD_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QOFFRD_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QOFFRD_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_QOFFRD_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_QOFFRD_WB;
            struct w32ISA_QOFFRD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_QOFFRD;

    typedef union  T32ISA_QOFFRD_Mask
          { UNSG32 u32;
            struct w32ISA_QOFFRD_Mask;
                 } T32ISA_QOFFRD_Mask;
    typedef union  T32ISA_QOFFRD_Opcode
          { UNSG32 u32;
            struct w32ISA_QOFFRD_Opcode;
                 } T32ISA_QOFFRD_Opcode;
    typedef union  T32ISA_QOFFRD_ID
          { UNSG32 u32;
            struct w32ISA_QOFFRD_ID;
                 } T32ISA_QOFFRD_ID;
    typedef union  T32ISA_QOFFRD_LD
          { UNSG32 u32;
            struct w32ISA_QOFFRD_LD;
                 } T32ISA_QOFFRD_LD;
    typedef union  T32ISA_QOFFRD_EX
          { UNSG32 u32;
            struct w32ISA_QOFFRD_EX;
                 } T32ISA_QOFFRD_EX;
    typedef union  T32ISA_QOFFRD_EXX
          { UNSG32 u32;
            struct w32ISA_QOFFRD_EXX;
                 } T32ISA_QOFFRD_EXX;
    typedef union  T32ISA_QOFFRD_WB
          { UNSG32 u32;
            struct w32ISA_QOFFRD_WB;
                 } T32ISA_QOFFRD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_QOFFRD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_Mask;
                   };
                 } TISA_QOFFRD_Mask;
    typedef union  TISA_QOFFRD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_Opcode;
                   };
                 } TISA_QOFFRD_Opcode;
    typedef union  TISA_QOFFRD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_ID;
                   };
                 } TISA_QOFFRD_ID;
    typedef union  TISA_QOFFRD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_LD;
                   };
                 } TISA_QOFFRD_LD;
    typedef union  TISA_QOFFRD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_EX;
                   };
                 } TISA_QOFFRD_EX;
    typedef union  TISA_QOFFRD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_EXX;
                   };
                 } TISA_QOFFRD_EXX;
    typedef union  TISA_QOFFRD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QOFFRD_WB;
                   };
                 } TISA_QOFFRD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_QOFFRD_drvrd(SIE_ISA_QOFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_QOFFRD_drvwr(SIE_ISA_QOFFRD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_QOFFRD_reset(SIE_ISA_QOFFRD *p);
     SIGN32 ISA_QOFFRD_cmp  (SIE_ISA_QOFFRD *p, SIE_ISA_QOFFRD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_QOFFRD_check(p,pie,pfx,hLOG) ISA_QOFFRD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_QOFFRD_print(p,    pfx,hLOG) ISA_QOFFRD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_QOFFRD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_WRi                                  (4,4)
///     ###
///     * Memory write of 16b register.
///     * Using 16b immediate number as absolute address.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x900000
///                                    ###
///                                    * -                                                                 
///                                    * - { "WR.i"    , "C,rT"        , "1001 CCCC CCCC CCCC TTTT CCCC" } ,
///                                    * - Usage:
///                                    * -    WR.i     0x4000, %d1     ; M16[ 0x4000 ] = %d1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    0x1
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     0x1
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      0x1
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_WRi
#define h_ISA_WRi (){}

    #define     RA_ISA_WRi_Mask                                0x0000

    #define     BA_ISA_WRi_Mask_INS                            0x0000
    #define     B16ISA_WRi_Mask_INS                            0x0000
    #define   LSb32ISA_WRi_Mask_INS                               0
    #define   LSb16ISA_WRi_Mask_INS                               0
    #define       bISA_WRi_Mask_INS                            24
    #define   MSK32ISA_WRi_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_Opcode                              0x0004

    #define     BA_ISA_WRi_Opcode_INS                          0x0004
    #define     B16ISA_WRi_Opcode_INS                          0x0004
    #define   LSb32ISA_WRi_Opcode_INS                             0
    #define   LSb16ISA_WRi_Opcode_INS                             0
    #define       bISA_WRi_Opcode_INS                          24
    #define   MSK32ISA_WRi_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_ID                                  0x0008

    #define     BA_ISA_WRi_ID_RBRF                             0x0008
    #define     B16ISA_WRi_ID_RBRF                             0x0008
    #define   LSb32ISA_WRi_ID_RBRF                                0
    #define   LSb16ISA_WRi_ID_RBRF                                0
    #define       bISA_WRi_ID_RBRF                             1
    #define   MSK32ISA_WRi_ID_RBRF                                0x00000001

    #define     BA_ISA_WRi_ID_RARF                             0x0008
    #define     B16ISA_WRi_ID_RARF                             0x0008
    #define   LSb32ISA_WRi_ID_RARF                                1
    #define   LSb16ISA_WRi_ID_RARF                                1
    #define       bISA_WRi_ID_RARF                             1
    #define   MSK32ISA_WRi_ID_RARF                                0x00000002

    #define     BA_ISA_WRi_ID_RAK8                             0x0008
    #define     B16ISA_WRi_ID_RAK8                             0x0008
    #define   LSb32ISA_WRi_ID_RAK8                                2
    #define   LSb16ISA_WRi_ID_RAK8                                2
    #define       bISA_WRi_ID_RAK8                             1
    #define   MSK32ISA_WRi_ID_RAK8                                0x00000004

    #define     BA_ISA_WRi_ID_RAI16                            0x0008
    #define     B16ISA_WRi_ID_RAI16                            0x0008
    #define   LSb32ISA_WRi_ID_RAI16                               3
    #define   LSb16ISA_WRi_ID_RAI16                               3
    #define       bISA_WRi_ID_RAI16                            1
    #define   MSK32ISA_WRi_ID_RAI16                               0x00000008

    #define     BA_ISA_WRi_ID_RAK16                            0x0008
    #define     B16ISA_WRi_ID_RAK16                            0x0008
    #define   LSb32ISA_WRi_ID_RAK16                               4
    #define   LSb16ISA_WRi_ID_RAK16                               4
    #define       bISA_WRi_ID_RAK16                            1
    #define   MSK32ISA_WRi_ID_RAK16                               0x00000010

    #define     BA_ISA_WRi_ID_RFSP                             0x0008
    #define     B16ISA_WRi_ID_RFSP                             0x0008
    #define   LSb32ISA_WRi_ID_RFSP                                5
    #define   LSb16ISA_WRi_ID_RFSP                                5
    #define       bISA_WRi_ID_RFSP                             1
    #define   MSK32ISA_WRi_ID_RFSP                                0x00000020

    #define     BA_ISA_WRi_ID_W4D4                             0x0008
    #define     B16ISA_WRi_ID_W4D4                             0x0008
    #define   LSb32ISA_WRi_ID_W4D4                                6
    #define   LSb16ISA_WRi_ID_W4D4                                6
    #define       bISA_WRi_ID_W4D4                             1
    #define   MSK32ISA_WRi_ID_W4D4                                0x00000040

    #define     BA_ISA_WRi_ID_W4S4                             0x0008
    #define     B16ISA_WRi_ID_W4S4                             0x0008
    #define   LSb32ISA_WRi_ID_W4S4                                7
    #define   LSb16ISA_WRi_ID_W4S4                                7
    #define       bISA_WRi_ID_W4S4                             1
    #define   MSK32ISA_WRi_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_LD                                  0x000C

    #define     BA_ISA_WRi_LD_SPRF                             0x000C
    #define     B16ISA_WRi_LD_SPRF                             0x000C
    #define   LSb32ISA_WRi_LD_SPRF                                0
    #define   LSb16ISA_WRi_LD_SPRF                                0
    #define       bISA_WRi_LD_SPRF                             1
    #define   MSK32ISA_WRi_LD_SPRF                                0x00000001

    #define     BA_ISA_WRi_LD_SPK8                             0x000C
    #define     B16ISA_WRi_LD_SPK8                             0x000C
    #define   LSb32ISA_WRi_LD_SPK8                                1
    #define   LSb16ISA_WRi_LD_SPK8                                1
    #define       bISA_WRi_LD_SPK8                             1
    #define   MSK32ISA_WRi_LD_SPK8                                0x00000002

    #define     BA_ISA_WRi_LD_SPJ                              0x000C
    #define     B16ISA_WRi_LD_SPJ                              0x000C
    #define   LSb32ISA_WRi_LD_SPJ                                 2
    #define   LSb16ISA_WRi_LD_SPJ                                 2
    #define       bISA_WRi_LD_SPJ                              1
    #define   MSK32ISA_WRi_LD_SPJ                                 0x00000004

    #define     BA_ISA_WRi_LD_SP4S                             0x000C
    #define     B16ISA_WRi_LD_SP4S                             0x000C
    #define   LSb32ISA_WRi_LD_SP4S                                3
    #define   LSb16ISA_WRi_LD_SP4S                                3
    #define       bISA_WRi_LD_SP4S                             1
    #define   MSK32ISA_WRi_LD_SP4S                                0x00000008

    #define     BA_ISA_WRi_LD_SP8S                             0x000C
    #define     B16ISA_WRi_LD_SP8S                             0x000C
    #define   LSb32ISA_WRi_LD_SP8S                                4
    #define   LSb16ISA_WRi_LD_SP8S                                4
    #define       bISA_WRi_LD_SP8S                             1
    #define   MSK32ISA_WRi_LD_SP8S                                0x00000010

    #define     BA_ISA_WRi_LD_SP8U                             0x000C
    #define     B16ISA_WRi_LD_SP8U                             0x000C
    #define   LSb32ISA_WRi_LD_SP8U                                5
    #define   LSb16ISA_WRi_LD_SP8U                                5
    #define       bISA_WRi_LD_SP8U                             1
    #define   MSK32ISA_WRi_LD_SP8U                                0x00000020

    #define     BA_ISA_WRi_LD_SP12S                            0x000C
    #define     B16ISA_WRi_LD_SP12S                            0x000C
    #define   LSb32ISA_WRi_LD_SP12S                               6
    #define   LSb16ISA_WRi_LD_SP12S                               6
    #define       bISA_WRi_LD_SP12S                            1
    #define   MSK32ISA_WRi_LD_SP12S                               0x00000040

    #define     BA_ISA_WRi_LD_SP16                             0x000C
    #define     B16ISA_WRi_LD_SP16                             0x000C
    #define   LSb32ISA_WRi_LD_SP16                                7
    #define   LSb16ISA_WRi_LD_SP16                                7
    #define       bISA_WRi_LD_SP16                             1
    #define   MSK32ISA_WRi_LD_SP16                                0x00000080

    #define     BA_ISA_WRi_LD_TPRF                             0x000D
    #define     B16ISA_WRi_LD_TPRF                             0x000C
    #define   LSb32ISA_WRi_LD_TPRF                                8
    #define   LSb16ISA_WRi_LD_TPRF                                8
    #define       bISA_WRi_LD_TPRF                             1
    #define   MSK32ISA_WRi_LD_TPRF                                0x00000100

    #define     BA_ISA_WRi_LD_TPJ                              0x000D
    #define     B16ISA_WRi_LD_TPJ                              0x000C
    #define   LSb32ISA_WRi_LD_TPJ                                 9
    #define   LSb16ISA_WRi_LD_TPJ                                 9
    #define       bISA_WRi_LD_TPJ                              1
    #define   MSK32ISA_WRi_LD_TPJ                                 0x00000200

    #define     BA_ISA_WRi_LD_TP4S                             0x000D
    #define     B16ISA_WRi_LD_TP4S                             0x000C
    #define   LSb32ISA_WRi_LD_TP4S                                10
    #define   LSb16ISA_WRi_LD_TP4S                                10
    #define       bISA_WRi_LD_TP4S                             1
    #define   MSK32ISA_WRi_LD_TP4S                                0x00000400

    #define     BA_ISA_WRi_LD_TP8L                             0x000D
    #define     B16ISA_WRi_LD_TP8L                             0x000C
    #define   LSb32ISA_WRi_LD_TP8L                                11
    #define   LSb16ISA_WRi_LD_TP8L                                11
    #define       bISA_WRi_LD_TP8L                             1
    #define   MSK32ISA_WRi_LD_TP8L                                0x00000800

    #define     BA_ISA_WRi_LD_TP8H                             0x000D
    #define     B16ISA_WRi_LD_TP8H                             0x000C
    #define   LSb32ISA_WRi_LD_TP8H                                12
    #define   LSb16ISA_WRi_LD_TP8H                                12
    #define       bISA_WRi_LD_TP8H                             1
    #define   MSK32ISA_WRi_LD_TP8H                                0x00001000

    #define     BA_ISA_WRi_LD_TP8LF                            0x000D
    #define     B16ISA_WRi_LD_TP8LF                            0x000C
    #define   LSb32ISA_WRi_LD_TP8LF                               13
    #define   LSb16ISA_WRi_LD_TP8LF                               13
    #define       bISA_WRi_LD_TP8LF                            1
    #define   MSK32ISA_WRi_LD_TP8LF                               0x00002000

    #define     BA_ISA_WRi_LD_TP8HF                            0x000D
    #define     B16ISA_WRi_LD_TP8HF                            0x000C
    #define   LSb32ISA_WRi_LD_TP8HF                               14
    #define   LSb16ISA_WRi_LD_TP8HF                               14
    #define       bISA_WRi_LD_TP8HF                            1
    #define   MSK32ISA_WRi_LD_TP8HF                               0x00004000

    #define     BA_ISA_WRi_LD_SQRF64                           0x000D
    #define     B16ISA_WRi_LD_SQRF64                           0x000C
    #define   LSb32ISA_WRi_LD_SQRF64                              15
    #define   LSb16ISA_WRi_LD_SQRF64                              15
    #define       bISA_WRi_LD_SQRF64                           1
    #define   MSK32ISA_WRi_LD_SQRF64                              0x00008000

    #define     BA_ISA_WRi_LD_TQRF16Q                          0x000E
    #define     B16ISA_WRi_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_WRi_LD_TQRF16Q                             16
    #define   LSb16ISA_WRi_LD_TQRF16Q                             0
    #define       bISA_WRi_LD_TQRF16Q                          1
    #define   MSK32ISA_WRi_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_WRi_LD_TQRFx4                           0x000E
    #define     B16ISA_WRi_LD_TQRFx4                           0x000E
    #define   LSb32ISA_WRi_LD_TQRFx4                              17
    #define   LSb16ISA_WRi_LD_TQRFx4                              1
    #define       bISA_WRi_LD_TQRFx4                           1
    #define   MSK32ISA_WRi_LD_TQRFx4                              0x00020000

    #define     BA_ISA_WRi_LD_RD                               0x000E
    #define     B16ISA_WRi_LD_RD                               0x000E
    #define   LSb32ISA_WRi_LD_RD                                  18
    #define   LSb16ISA_WRi_LD_RD                                  2
    #define       bISA_WRi_LD_RD                               1
    #define   MSK32ISA_WRi_LD_RD                                  0x00040000

    #define     BA_ISA_WRi_LD_WARF                             0x000E
    #define     B16ISA_WRi_LD_WARF                             0x000E
    #define   LSb32ISA_WRi_LD_WARF                                19
    #define   LSb16ISA_WRi_LD_WARF                                3
    #define       bISA_WRi_LD_WARF                             1
    #define   MSK32ISA_WRi_LD_WARF                                0x00080000

    #define     BA_ISA_WRi_LD_WAK8                             0x000E
    #define     B16ISA_WRi_LD_WAK8                             0x000E
    #define   LSb32ISA_WRi_LD_WAK8                                20
    #define   LSb16ISA_WRi_LD_WAK8                                4
    #define       bISA_WRi_LD_WAK8                             1
    #define   MSK32ISA_WRi_LD_WAK8                                0x00100000

    #define     BA_ISA_WRi_LD_WAK16                            0x000E
    #define     B16ISA_WRi_LD_WAK16                            0x000E
    #define   LSb32ISA_WRi_LD_WAK16                               21
    #define   LSb16ISA_WRi_LD_WAK16                               5
    #define       bISA_WRi_LD_WAK16                            1
    #define   MSK32ISA_WRi_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_EX                                  0x0010

    #define     BA_ISA_WRi_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_WRi_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagZ                          0
    #define   LSb16ISA_WRi_EX_ALU16FlagZ                          0
    #define       bISA_WRi_EX_ALU16FlagZ                       1
    #define   MSK32ISA_WRi_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_WRi_EX_ALU16FlagC                       0x0010
    #define     B16ISA_WRi_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagC                          1
    #define   LSb16ISA_WRi_EX_ALU16FlagC                          1
    #define       bISA_WRi_EX_ALU16FlagC                       1
    #define   MSK32ISA_WRi_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_WRi_EX_ALU16FlagN                       0x0010
    #define     B16ISA_WRi_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagN                          2
    #define   LSb16ISA_WRi_EX_ALU16FlagN                          2
    #define       bISA_WRi_EX_ALU16FlagN                       1
    #define   MSK32ISA_WRi_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_WRi_EX_ALU16FlagV                       0x0010
    #define     B16ISA_WRi_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagV                          3
    #define   LSb16ISA_WRi_EX_ALU16FlagV                          3
    #define       bISA_WRi_EX_ALU16FlagV                       1
    #define   MSK32ISA_WRi_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_WRi_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_WRi_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagTP                         4
    #define   LSb16ISA_WRi_EX_ALU16FlagTP                         4
    #define       bISA_WRi_EX_ALU16FlagTP                      1
    #define   MSK32ISA_WRi_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_WRi_EX_ALU16MUL                         0x0010
    #define     B16ISA_WRi_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16MUL                            5
    #define   LSb16ISA_WRi_EX_ALU16MUL                            5
    #define       bISA_WRi_EX_ALU16MUL                         1
    #define   MSK32ISA_WRi_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_WRi_EX_ALU16DIV                         0x0010
    #define     B16ISA_WRi_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16DIV                            6
    #define   LSb16ISA_WRi_EX_ALU16DIV                            6
    #define       bISA_WRi_EX_ALU16DIV                         1
    #define   MSK32ISA_WRi_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_WRi_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_WRi_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_WRi_EX_ALU16FlagLD                         7
    #define   LSb16ISA_WRi_EX_ALU16FlagLD                         7
    #define       bISA_WRi_EX_ALU16FlagLD                      1
    #define   MSK32ISA_WRi_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_WRi_EX_ALU16MDL                         0x0011
    #define     B16ISA_WRi_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16MDL                            8
    #define   LSb16ISA_WRi_EX_ALU16MDL                            8
    #define       bISA_WRi_EX_ALU16MDL                         1
    #define   MSK32ISA_WRi_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_WRi_EX_ALU16MDH                         0x0011
    #define     B16ISA_WRi_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16MDH                            9
    #define   LSb16ISA_WRi_EX_ALU16MDH                            9
    #define       bISA_WRi_EX_ALU16MDH                         1
    #define   MSK32ISA_WRi_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_WRi_EX_ALU16ADD                         0x0011
    #define     B16ISA_WRi_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16ADD                            10
    #define   LSb16ISA_WRi_EX_ALU16ADD                            10
    #define       bISA_WRi_EX_ALU16ADD                         1
    #define   MSK32ISA_WRi_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_WRi_EX_ALU16SUB                         0x0011
    #define     B16ISA_WRi_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16SUB                            11
    #define   LSb16ISA_WRi_EX_ALU16SUB                            11
    #define       bISA_WRi_EX_ALU16SUB                         1
    #define   MSK32ISA_WRi_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_WRi_EX_ALU16ADDC                        0x0011
    #define     B16ISA_WRi_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_WRi_EX_ALU16ADDC                           12
    #define   LSb16ISA_WRi_EX_ALU16ADDC                           12
    #define       bISA_WRi_EX_ALU16ADDC                        1
    #define   MSK32ISA_WRi_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_WRi_EX_ALU16SUBC                        0x0011
    #define     B16ISA_WRi_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_WRi_EX_ALU16SUBC                           13
    #define   LSb16ISA_WRi_EX_ALU16SUBC                           13
    #define       bISA_WRi_EX_ALU16SUBC                        1
    #define   MSK32ISA_WRi_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_WRi_EX_ALU16ASR                         0x0011
    #define     B16ISA_WRi_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_WRi_EX_ALU16ASR                            14
    #define   LSb16ISA_WRi_EX_ALU16ASR                            14
    #define       bISA_WRi_EX_ALU16ASR                         1
    #define   MSK32ISA_WRi_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_WRi_EX_ALU16SL                          0x0011
    #define     B16ISA_WRi_EX_ALU16SL                          0x0010
    #define   LSb32ISA_WRi_EX_ALU16SL                             15
    #define   LSb16ISA_WRi_EX_ALU16SL                             15
    #define       bISA_WRi_EX_ALU16SL                          1
    #define   MSK32ISA_WRi_EX_ALU16SL                             0x00008000

    #define     BA_ISA_WRi_EX_ALU16SR                          0x0012
    #define     B16ISA_WRi_EX_ALU16SR                          0x0012
    #define   LSb32ISA_WRi_EX_ALU16SR                             16
    #define   LSb16ISA_WRi_EX_ALU16SR                             0
    #define       bISA_WRi_EX_ALU16SR                          1
    #define   MSK32ISA_WRi_EX_ALU16SR                             0x00010000

    #define     BA_ISA_WRi_EX_ALU16GET                         0x0012
    #define     B16ISA_WRi_EX_ALU16GET                         0x0012
    #define   LSb32ISA_WRi_EX_ALU16GET                            17
    #define   LSb16ISA_WRi_EX_ALU16GET                            1
    #define       bISA_WRi_EX_ALU16GET                         1
    #define   MSK32ISA_WRi_EX_ALU16GET                            0x00020000

    #define     BA_ISA_WRi_EX_ALU16SET                         0x0012
    #define     B16ISA_WRi_EX_ALU16SET                         0x0012
    #define   LSb32ISA_WRi_EX_ALU16SET                            18
    #define   LSb16ISA_WRi_EX_ALU16SET                            2
    #define       bISA_WRi_EX_ALU16SET                         1
    #define   MSK32ISA_WRi_EX_ALU16SET                            0x00040000

    #define     BA_ISA_WRi_EX_ALU16SEL                         0x0012
    #define     B16ISA_WRi_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_WRi_EX_ALU16SEL                            19
    #define   LSb16ISA_WRi_EX_ALU16SEL                            3
    #define       bISA_WRi_EX_ALU16SEL                         1
    #define   MSK32ISA_WRi_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_WRi_EX_ALU16OR                          0x0012
    #define     B16ISA_WRi_EX_ALU16OR                          0x0012
    #define   LSb32ISA_WRi_EX_ALU16OR                             20
    #define   LSb16ISA_WRi_EX_ALU16OR                             4
    #define       bISA_WRi_EX_ALU16OR                          1
    #define   MSK32ISA_WRi_EX_ALU16OR                             0x00100000

    #define     BA_ISA_WRi_EX_ALU16AND                         0x0012
    #define     B16ISA_WRi_EX_ALU16AND                         0x0012
    #define   LSb32ISA_WRi_EX_ALU16AND                            21
    #define   LSb16ISA_WRi_EX_ALU16AND                            5
    #define       bISA_WRi_EX_ALU16AND                         1
    #define   MSK32ISA_WRi_EX_ALU16AND                            0x00200000

    #define     BA_ISA_WRi_EX_ALU16XOR                         0x0012
    #define     B16ISA_WRi_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_WRi_EX_ALU16XOR                            22
    #define   LSb16ISA_WRi_EX_ALU16XOR                            6
    #define       bISA_WRi_EX_ALU16XOR                         1
    #define   MSK32ISA_WRi_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_WRi_EX_ALU16SP                          0x0012
    #define     B16ISA_WRi_EX_ALU16SP                          0x0012
    #define   LSb32ISA_WRi_EX_ALU16SP                             23
    #define   LSb16ISA_WRi_EX_ALU16SP                             7
    #define       bISA_WRi_EX_ALU16SP                          1
    #define   MSK32ISA_WRi_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_EXX                                 0x0014

    #define     BA_ISA_WRi_EXX_WRSQ                            0x0014
    #define     B16ISA_WRi_EXX_WRSQ                            0x0014
    #define   LSb32ISA_WRi_EXX_WRSQ                               0
    #define   LSb16ISA_WRi_EXX_WRSQ                               0
    #define       bISA_WRi_EXX_WRSQ                            1
    #define   MSK32ISA_WRi_EXX_WRSQ                               0x00000001

    #define     BA_ISA_WRi_EXX_WR16                            0x0014
    #define     B16ISA_WRi_EXX_WR16                            0x0014
    #define   LSb32ISA_WRi_EXX_WR16                               1
    #define   LSb16ISA_WRi_EXX_WR16                               1
    #define       bISA_WRi_EXX_WR16                            1
    #define   MSK32ISA_WRi_EXX_WR16                               0x00000002

    #define     BA_ISA_WRi_EXX_WRTQ                            0x0014
    #define     B16ISA_WRi_EXX_WRTQ                            0x0014
    #define   LSb32ISA_WRi_EXX_WRTQ                               2
    #define   LSb16ISA_WRi_EXX_WRTQ                               2
    #define       bISA_WRi_EXX_WRTQ                            1
    #define   MSK32ISA_WRi_EXX_WRTQ                               0x00000004

    #define     BA_ISA_WRi_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_WRi_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_WRi_EXX_ALU64PUSH                          3
    #define   LSb16ISA_WRi_EXX_ALU64PUSH                          3
    #define       bISA_WRi_EXX_ALU64PUSH                       1
    #define   MSK32ISA_WRi_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_WRi_EXX_ALU64POP                        0x0014
    #define     B16ISA_WRi_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_WRi_EXX_ALU64POP                           4
    #define   LSb16ISA_WRi_EXX_ALU64POP                           4
    #define       bISA_WRi_EXX_ALU64POP                        1
    #define   MSK32ISA_WRi_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_WRi_EXX_ALU64SQ                         0x0014
    #define     B16ISA_WRi_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_WRi_EXX_ALU64SQ                            5
    #define   LSb16ISA_WRi_EXX_ALU64SQ                            5
    #define       bISA_WRi_EXX_ALU64SQ                         1
    #define   MSK32ISA_WRi_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_WRi_EXX_ALU64TQ                         0x0014
    #define     B16ISA_WRi_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_WRi_EXX_ALU64TQ                            6
    #define   LSb16ISA_WRi_EXX_ALU64TQ                            6
    #define       bISA_WRi_EXX_ALU64TQ                         1
    #define   MSK32ISA_WRi_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_WRi_EXX_ALU64MEM                        0x0014
    #define     B16ISA_WRi_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_WRi_EXX_ALU64MEM                           7
    #define   LSb16ISA_WRi_EXX_ALU64MEM                           7
    #define       bISA_WRi_EXX_ALU64MEM                        1
    #define   MSK32ISA_WRi_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_WRi_EXX_BRANCH                          0x0015
    #define     B16ISA_WRi_EXX_BRANCH                          0x0014
    #define   LSb32ISA_WRi_EXX_BRANCH                             8
    #define   LSb16ISA_WRi_EXX_BRANCH                             8
    #define       bISA_WRi_EXX_BRANCH                          1
    #define   MSK32ISA_WRi_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRi_WB                                  0x0018

    #define     BA_ISA_WRi_WB_RF16                             0x0018
    #define     B16ISA_WRi_WB_RF16                             0x0018
    #define   LSb32ISA_WRi_WB_RF16                                0
    #define   LSb16ISA_WRi_WB_RF16                                0
    #define       bISA_WRi_WB_RF16                             1
    #define   MSK32ISA_WRi_WB_RF16                                0x00000001

    #define     BA_ISA_WRi_WB_RF16W0                           0x0018
    #define     B16ISA_WRi_WB_RF16W0                           0x0018
    #define   LSb32ISA_WRi_WB_RF16W0                              1
    #define   LSb16ISA_WRi_WB_RF16W0                              1
    #define       bISA_WRi_WB_RF16W0                           1
    #define   MSK32ISA_WRi_WB_RF16W0                              0x00000002

    #define     BA_ISA_WRi_WB_RF16MEM                          0x0018
    #define     B16ISA_WRi_WB_RF16MEM                          0x0018
    #define   LSb32ISA_WRi_WB_RF16MEM                             2
    #define   LSb16ISA_WRi_WB_RF16MEM                             2
    #define       bISA_WRi_WB_RF16MEM                          1
    #define   MSK32ISA_WRi_WB_RF16MEM                             0x00000004

    #define     BA_ISA_WRi_WB_RF16Q                            0x0018
    #define     B16ISA_WRi_WB_RF16Q                            0x0018
    #define   LSb32ISA_WRi_WB_RF16Q                               3
    #define   LSb16ISA_WRi_WB_RF16Q                               3
    #define       bISA_WRi_WB_RF16Q                            1
    #define   MSK32ISA_WRi_WB_RF16Q                               0x00000008

    #define     BA_ISA_WRi_WB_RF64                             0x0018
    #define     B16ISA_WRi_WB_RF64                             0x0018
    #define   LSb32ISA_WRi_WB_RF64                                4
    #define   LSb16ISA_WRi_WB_RF64                                4
    #define       bISA_WRi_WB_RF64                             1
    #define   MSK32ISA_WRi_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_WRi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_WRi_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_WRi_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WRi_Mask;
            struct w32ISA_WRi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_WRi_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_WRi_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WRi_Opcode;
            struct w32ISA_WRi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRi_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRi_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRi_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRi_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRi_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRi_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRi_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRi_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRi_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRi_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRi_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRi_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRi_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRi_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRi_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRi_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRi_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRi_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRi_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRi_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WRi_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_WRi_ID;
            struct w32ISA_WRi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRi_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRi_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRi_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRi_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRi_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRi_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRi_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRi_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRi_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRi_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRi_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRi_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRi_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRi_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRi_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRi_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRi_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRi_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRi_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRi_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRi_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRi_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRi_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRi_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WRi_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_WRi_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WRi_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_WRi_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WRi_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_WRi_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_WRi_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_WRi_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_WRi_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_WRi_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_WRi_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_WRi_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_WRi_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_WRi_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_WRi_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_WRi_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_WRi_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_WRi_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_WRi_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_WRi_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_WRi_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_WRi_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_WRi_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_WRi_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_WRi_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_WRi_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_WRi_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_WRi_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_WRi_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_WRi_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_WRi_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_WRi_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_WRi_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_WRi_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_WRi_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_WRi_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_WRi_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_WRi_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_WRi_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_WRi_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_WRi_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_WRi_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_WRi_LD;
            struct w32ISA_WRi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRi_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRi_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRi_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRi_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRi_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRi_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRi_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRi_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRi_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRi_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRi_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRi_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRi_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRi_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRi_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRi_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRi_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRi_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRi_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRi_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRi_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRi_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRi_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRi_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WRi_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_WRi_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WRi_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_WRi_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WRi_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_WRi_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_WRi_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_WRi_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_WRi_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_WRi_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_WRi_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_WRi_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_WRi_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_WRi_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_WRi_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_WRi_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_WRi_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_WRi_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_WRi_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_WRi_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_WRi_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_WRi_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_WRi_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_WRi_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_WRi_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_WRi_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_WRi_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_WRi_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_WRi_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_WRi_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_WRi_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_WRi_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_WRi_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_WRi_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_WRi_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_WRi_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_WRi_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_WRi_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_WRi_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_WRi_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_WRi_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRi_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_WRi_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_WRi_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRi_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRi_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_WRi_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_WRi_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRi_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WRi_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_WRi_EX;
            struct w32ISA_WRi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRi_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRi_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRi_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRi_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRi_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRi_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRi_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRi_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRi_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRi_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRi_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRi_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRi_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRi_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRi_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRi_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRi_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRi_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRi_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRi_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRi_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRi_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRi_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRi_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRi_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRi_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_WRi_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_WRi_EXX;
            struct w32ISA_WRi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRi_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRi_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRi_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRi_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRi_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRi_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRi_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRi_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRi_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRi_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRi_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRi_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRi_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRi_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRi_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRi_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRi_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRi_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRi_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRi_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_WRi_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_WRi_WB;
            struct w32ISA_WRi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_WRi;

    typedef union  T32ISA_WRi_Mask
          { UNSG32 u32;
            struct w32ISA_WRi_Mask;
                 } T32ISA_WRi_Mask;
    typedef union  T32ISA_WRi_Opcode
          { UNSG32 u32;
            struct w32ISA_WRi_Opcode;
                 } T32ISA_WRi_Opcode;
    typedef union  T32ISA_WRi_ID
          { UNSG32 u32;
            struct w32ISA_WRi_ID;
                 } T32ISA_WRi_ID;
    typedef union  T32ISA_WRi_LD
          { UNSG32 u32;
            struct w32ISA_WRi_LD;
                 } T32ISA_WRi_LD;
    typedef union  T32ISA_WRi_EX
          { UNSG32 u32;
            struct w32ISA_WRi_EX;
                 } T32ISA_WRi_EX;
    typedef union  T32ISA_WRi_EXX
          { UNSG32 u32;
            struct w32ISA_WRi_EXX;
                 } T32ISA_WRi_EXX;
    typedef union  T32ISA_WRi_WB
          { UNSG32 u32;
            struct w32ISA_WRi_WB;
                 } T32ISA_WRi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_WRi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_Mask;
                   };
                 } TISA_WRi_Mask;
    typedef union  TISA_WRi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_Opcode;
                   };
                 } TISA_WRi_Opcode;
    typedef union  TISA_WRi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_ID;
                   };
                 } TISA_WRi_ID;
    typedef union  TISA_WRi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_LD;
                   };
                 } TISA_WRi_LD;
    typedef union  TISA_WRi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_EX;
                   };
                 } TISA_WRi_EX;
    typedef union  TISA_WRi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_EXX;
                   };
                 } TISA_WRi_EXX;
    typedef union  TISA_WRi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRi_WB;
                   };
                 } TISA_WRi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_WRi_drvrd(SIE_ISA_WRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_WRi_drvwr(SIE_ISA_WRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_WRi_reset(SIE_ISA_WRi *p);
     SIGN32 ISA_WRi_cmp  (SIE_ISA_WRi *p, SIE_ISA_WRi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_WRi_check(p,pie,pfx,hLOG) ISA_WRi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_WRi_print(p,    pfx,hLOG) ISA_WRi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_WRi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_WR                                   (4,4)
///     ###
///     * Memory write of 16b register.
///     * Using address register with an offset [-128~127].
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500000
///                                    ###
///                                    * -                                                                 
///                                    * - { "WR"      , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0000" } ,
///                                    * - Usage:
///                                    * -    WR       %a1, + 2, %d1   ; M16[ %a1 + 2 ] = %d1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    0x1
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      0x1
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      0x1
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_WR
#define h_ISA_WR (){}

    #define     RA_ISA_WR_Mask                                 0x0000

    #define     BA_ISA_WR_Mask_INS                             0x0000
    #define     B16ISA_WR_Mask_INS                             0x0000
    #define   LSb32ISA_WR_Mask_INS                                0
    #define   LSb16ISA_WR_Mask_INS                                0
    #define       bISA_WR_Mask_INS                             24
    #define   MSK32ISA_WR_Mask_INS                                0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_Opcode                               0x0004

    #define     BA_ISA_WR_Opcode_INS                           0x0004
    #define     B16ISA_WR_Opcode_INS                           0x0004
    #define   LSb32ISA_WR_Opcode_INS                              0
    #define   LSb16ISA_WR_Opcode_INS                              0
    #define       bISA_WR_Opcode_INS                           24
    #define   MSK32ISA_WR_Opcode_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_ID                                   0x0008

    #define     BA_ISA_WR_ID_RBRF                              0x0008
    #define     B16ISA_WR_ID_RBRF                              0x0008
    #define   LSb32ISA_WR_ID_RBRF                                 0
    #define   LSb16ISA_WR_ID_RBRF                                 0
    #define       bISA_WR_ID_RBRF                              1
    #define   MSK32ISA_WR_ID_RBRF                                 0x00000001

    #define     BA_ISA_WR_ID_RARF                              0x0008
    #define     B16ISA_WR_ID_RARF                              0x0008
    #define   LSb32ISA_WR_ID_RARF                                 1
    #define   LSb16ISA_WR_ID_RARF                                 1
    #define       bISA_WR_ID_RARF                              1
    #define   MSK32ISA_WR_ID_RARF                                 0x00000002

    #define     BA_ISA_WR_ID_RAK8                              0x0008
    #define     B16ISA_WR_ID_RAK8                              0x0008
    #define   LSb32ISA_WR_ID_RAK8                                 2
    #define   LSb16ISA_WR_ID_RAK8                                 2
    #define       bISA_WR_ID_RAK8                              1
    #define   MSK32ISA_WR_ID_RAK8                                 0x00000004

    #define     BA_ISA_WR_ID_RAI16                             0x0008
    #define     B16ISA_WR_ID_RAI16                             0x0008
    #define   LSb32ISA_WR_ID_RAI16                                3
    #define   LSb16ISA_WR_ID_RAI16                                3
    #define       bISA_WR_ID_RAI16                             1
    #define   MSK32ISA_WR_ID_RAI16                                0x00000008

    #define     BA_ISA_WR_ID_RAK16                             0x0008
    #define     B16ISA_WR_ID_RAK16                             0x0008
    #define   LSb32ISA_WR_ID_RAK16                                4
    #define   LSb16ISA_WR_ID_RAK16                                4
    #define       bISA_WR_ID_RAK16                             1
    #define   MSK32ISA_WR_ID_RAK16                                0x00000010

    #define     BA_ISA_WR_ID_RFSP                              0x0008
    #define     B16ISA_WR_ID_RFSP                              0x0008
    #define   LSb32ISA_WR_ID_RFSP                                 5
    #define   LSb16ISA_WR_ID_RFSP                                 5
    #define       bISA_WR_ID_RFSP                              1
    #define   MSK32ISA_WR_ID_RFSP                                 0x00000020

    #define     BA_ISA_WR_ID_W4D4                              0x0008
    #define     B16ISA_WR_ID_W4D4                              0x0008
    #define   LSb32ISA_WR_ID_W4D4                                 6
    #define   LSb16ISA_WR_ID_W4D4                                 6
    #define       bISA_WR_ID_W4D4                              1
    #define   MSK32ISA_WR_ID_W4D4                                 0x00000040

    #define     BA_ISA_WR_ID_W4S4                              0x0008
    #define     B16ISA_WR_ID_W4S4                              0x0008
    #define   LSb32ISA_WR_ID_W4S4                                 7
    #define   LSb16ISA_WR_ID_W4S4                                 7
    #define       bISA_WR_ID_W4S4                              1
    #define   MSK32ISA_WR_ID_W4S4                                 0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_LD                                   0x000C

    #define     BA_ISA_WR_LD_SPRF                              0x000C
    #define     B16ISA_WR_LD_SPRF                              0x000C
    #define   LSb32ISA_WR_LD_SPRF                                 0
    #define   LSb16ISA_WR_LD_SPRF                                 0
    #define       bISA_WR_LD_SPRF                              1
    #define   MSK32ISA_WR_LD_SPRF                                 0x00000001

    #define     BA_ISA_WR_LD_SPK8                              0x000C
    #define     B16ISA_WR_LD_SPK8                              0x000C
    #define   LSb32ISA_WR_LD_SPK8                                 1
    #define   LSb16ISA_WR_LD_SPK8                                 1
    #define       bISA_WR_LD_SPK8                              1
    #define   MSK32ISA_WR_LD_SPK8                                 0x00000002

    #define     BA_ISA_WR_LD_SPJ                               0x000C
    #define     B16ISA_WR_LD_SPJ                               0x000C
    #define   LSb32ISA_WR_LD_SPJ                                  2
    #define   LSb16ISA_WR_LD_SPJ                                  2
    #define       bISA_WR_LD_SPJ                               1
    #define   MSK32ISA_WR_LD_SPJ                                  0x00000004

    #define     BA_ISA_WR_LD_SP4S                              0x000C
    #define     B16ISA_WR_LD_SP4S                              0x000C
    #define   LSb32ISA_WR_LD_SP4S                                 3
    #define   LSb16ISA_WR_LD_SP4S                                 3
    #define       bISA_WR_LD_SP4S                              1
    #define   MSK32ISA_WR_LD_SP4S                                 0x00000008

    #define     BA_ISA_WR_LD_SP8S                              0x000C
    #define     B16ISA_WR_LD_SP8S                              0x000C
    #define   LSb32ISA_WR_LD_SP8S                                 4
    #define   LSb16ISA_WR_LD_SP8S                                 4
    #define       bISA_WR_LD_SP8S                              1
    #define   MSK32ISA_WR_LD_SP8S                                 0x00000010

    #define     BA_ISA_WR_LD_SP8U                              0x000C
    #define     B16ISA_WR_LD_SP8U                              0x000C
    #define   LSb32ISA_WR_LD_SP8U                                 5
    #define   LSb16ISA_WR_LD_SP8U                                 5
    #define       bISA_WR_LD_SP8U                              1
    #define   MSK32ISA_WR_LD_SP8U                                 0x00000020

    #define     BA_ISA_WR_LD_SP12S                             0x000C
    #define     B16ISA_WR_LD_SP12S                             0x000C
    #define   LSb32ISA_WR_LD_SP12S                                6
    #define   LSb16ISA_WR_LD_SP12S                                6
    #define       bISA_WR_LD_SP12S                             1
    #define   MSK32ISA_WR_LD_SP12S                                0x00000040

    #define     BA_ISA_WR_LD_SP16                              0x000C
    #define     B16ISA_WR_LD_SP16                              0x000C
    #define   LSb32ISA_WR_LD_SP16                                 7
    #define   LSb16ISA_WR_LD_SP16                                 7
    #define       bISA_WR_LD_SP16                              1
    #define   MSK32ISA_WR_LD_SP16                                 0x00000080

    #define     BA_ISA_WR_LD_TPRF                              0x000D
    #define     B16ISA_WR_LD_TPRF                              0x000C
    #define   LSb32ISA_WR_LD_TPRF                                 8
    #define   LSb16ISA_WR_LD_TPRF                                 8
    #define       bISA_WR_LD_TPRF                              1
    #define   MSK32ISA_WR_LD_TPRF                                 0x00000100

    #define     BA_ISA_WR_LD_TPJ                               0x000D
    #define     B16ISA_WR_LD_TPJ                               0x000C
    #define   LSb32ISA_WR_LD_TPJ                                  9
    #define   LSb16ISA_WR_LD_TPJ                                  9
    #define       bISA_WR_LD_TPJ                               1
    #define   MSK32ISA_WR_LD_TPJ                                  0x00000200

    #define     BA_ISA_WR_LD_TP4S                              0x000D
    #define     B16ISA_WR_LD_TP4S                              0x000C
    #define   LSb32ISA_WR_LD_TP4S                                 10
    #define   LSb16ISA_WR_LD_TP4S                                 10
    #define       bISA_WR_LD_TP4S                              1
    #define   MSK32ISA_WR_LD_TP4S                                 0x00000400

    #define     BA_ISA_WR_LD_TP8L                              0x000D
    #define     B16ISA_WR_LD_TP8L                              0x000C
    #define   LSb32ISA_WR_LD_TP8L                                 11
    #define   LSb16ISA_WR_LD_TP8L                                 11
    #define       bISA_WR_LD_TP8L                              1
    #define   MSK32ISA_WR_LD_TP8L                                 0x00000800

    #define     BA_ISA_WR_LD_TP8H                              0x000D
    #define     B16ISA_WR_LD_TP8H                              0x000C
    #define   LSb32ISA_WR_LD_TP8H                                 12
    #define   LSb16ISA_WR_LD_TP8H                                 12
    #define       bISA_WR_LD_TP8H                              1
    #define   MSK32ISA_WR_LD_TP8H                                 0x00001000

    #define     BA_ISA_WR_LD_TP8LF                             0x000D
    #define     B16ISA_WR_LD_TP8LF                             0x000C
    #define   LSb32ISA_WR_LD_TP8LF                                13
    #define   LSb16ISA_WR_LD_TP8LF                                13
    #define       bISA_WR_LD_TP8LF                             1
    #define   MSK32ISA_WR_LD_TP8LF                                0x00002000

    #define     BA_ISA_WR_LD_TP8HF                             0x000D
    #define     B16ISA_WR_LD_TP8HF                             0x000C
    #define   LSb32ISA_WR_LD_TP8HF                                14
    #define   LSb16ISA_WR_LD_TP8HF                                14
    #define       bISA_WR_LD_TP8HF                             1
    #define   MSK32ISA_WR_LD_TP8HF                                0x00004000

    #define     BA_ISA_WR_LD_SQRF64                            0x000D
    #define     B16ISA_WR_LD_SQRF64                            0x000C
    #define   LSb32ISA_WR_LD_SQRF64                               15
    #define   LSb16ISA_WR_LD_SQRF64                               15
    #define       bISA_WR_LD_SQRF64                            1
    #define   MSK32ISA_WR_LD_SQRF64                               0x00008000

    #define     BA_ISA_WR_LD_TQRF16Q                           0x000E
    #define     B16ISA_WR_LD_TQRF16Q                           0x000E
    #define   LSb32ISA_WR_LD_TQRF16Q                              16
    #define   LSb16ISA_WR_LD_TQRF16Q                              0
    #define       bISA_WR_LD_TQRF16Q                           1
    #define   MSK32ISA_WR_LD_TQRF16Q                              0x00010000

    #define     BA_ISA_WR_LD_TQRFx4                            0x000E
    #define     B16ISA_WR_LD_TQRFx4                            0x000E
    #define   LSb32ISA_WR_LD_TQRFx4                               17
    #define   LSb16ISA_WR_LD_TQRFx4                               1
    #define       bISA_WR_LD_TQRFx4                            1
    #define   MSK32ISA_WR_LD_TQRFx4                               0x00020000

    #define     BA_ISA_WR_LD_RD                                0x000E
    #define     B16ISA_WR_LD_RD                                0x000E
    #define   LSb32ISA_WR_LD_RD                                   18
    #define   LSb16ISA_WR_LD_RD                                   2
    #define       bISA_WR_LD_RD                                1
    #define   MSK32ISA_WR_LD_RD                                   0x00040000

    #define     BA_ISA_WR_LD_WARF                              0x000E
    #define     B16ISA_WR_LD_WARF                              0x000E
    #define   LSb32ISA_WR_LD_WARF                                 19
    #define   LSb16ISA_WR_LD_WARF                                 3
    #define       bISA_WR_LD_WARF                              1
    #define   MSK32ISA_WR_LD_WARF                                 0x00080000

    #define     BA_ISA_WR_LD_WAK8                              0x000E
    #define     B16ISA_WR_LD_WAK8                              0x000E
    #define   LSb32ISA_WR_LD_WAK8                                 20
    #define   LSb16ISA_WR_LD_WAK8                                 4
    #define       bISA_WR_LD_WAK8                              1
    #define   MSK32ISA_WR_LD_WAK8                                 0x00100000

    #define     BA_ISA_WR_LD_WAK16                             0x000E
    #define     B16ISA_WR_LD_WAK16                             0x000E
    #define   LSb32ISA_WR_LD_WAK16                                21
    #define   LSb16ISA_WR_LD_WAK16                                5
    #define       bISA_WR_LD_WAK16                             1
    #define   MSK32ISA_WR_LD_WAK16                                0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_EX                                   0x0010

    #define     BA_ISA_WR_EX_ALU16FlagZ                        0x0010
    #define     B16ISA_WR_EX_ALU16FlagZ                        0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagZ                           0
    #define   LSb16ISA_WR_EX_ALU16FlagZ                           0
    #define       bISA_WR_EX_ALU16FlagZ                        1
    #define   MSK32ISA_WR_EX_ALU16FlagZ                           0x00000001

    #define     BA_ISA_WR_EX_ALU16FlagC                        0x0010
    #define     B16ISA_WR_EX_ALU16FlagC                        0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagC                           1
    #define   LSb16ISA_WR_EX_ALU16FlagC                           1
    #define       bISA_WR_EX_ALU16FlagC                        1
    #define   MSK32ISA_WR_EX_ALU16FlagC                           0x00000002

    #define     BA_ISA_WR_EX_ALU16FlagN                        0x0010
    #define     B16ISA_WR_EX_ALU16FlagN                        0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagN                           2
    #define   LSb16ISA_WR_EX_ALU16FlagN                           2
    #define       bISA_WR_EX_ALU16FlagN                        1
    #define   MSK32ISA_WR_EX_ALU16FlagN                           0x00000004

    #define     BA_ISA_WR_EX_ALU16FlagV                        0x0010
    #define     B16ISA_WR_EX_ALU16FlagV                        0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagV                           3
    #define   LSb16ISA_WR_EX_ALU16FlagV                           3
    #define       bISA_WR_EX_ALU16FlagV                        1
    #define   MSK32ISA_WR_EX_ALU16FlagV                           0x00000008

    #define     BA_ISA_WR_EX_ALU16FlagTP                       0x0010
    #define     B16ISA_WR_EX_ALU16FlagTP                       0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagTP                          4
    #define   LSb16ISA_WR_EX_ALU16FlagTP                          4
    #define       bISA_WR_EX_ALU16FlagTP                       1
    #define   MSK32ISA_WR_EX_ALU16FlagTP                          0x00000010

    #define     BA_ISA_WR_EX_ALU16MUL                          0x0010
    #define     B16ISA_WR_EX_ALU16MUL                          0x0010
    #define   LSb32ISA_WR_EX_ALU16MUL                             5
    #define   LSb16ISA_WR_EX_ALU16MUL                             5
    #define       bISA_WR_EX_ALU16MUL                          1
    #define   MSK32ISA_WR_EX_ALU16MUL                             0x00000020

    #define     BA_ISA_WR_EX_ALU16DIV                          0x0010
    #define     B16ISA_WR_EX_ALU16DIV                          0x0010
    #define   LSb32ISA_WR_EX_ALU16DIV                             6
    #define   LSb16ISA_WR_EX_ALU16DIV                             6
    #define       bISA_WR_EX_ALU16DIV                          1
    #define   MSK32ISA_WR_EX_ALU16DIV                             0x00000040

    #define     BA_ISA_WR_EX_ALU16FlagLD                       0x0010
    #define     B16ISA_WR_EX_ALU16FlagLD                       0x0010
    #define   LSb32ISA_WR_EX_ALU16FlagLD                          7
    #define   LSb16ISA_WR_EX_ALU16FlagLD                          7
    #define       bISA_WR_EX_ALU16FlagLD                       1
    #define   MSK32ISA_WR_EX_ALU16FlagLD                          0x00000080

    #define     BA_ISA_WR_EX_ALU16MDL                          0x0011
    #define     B16ISA_WR_EX_ALU16MDL                          0x0010
    #define   LSb32ISA_WR_EX_ALU16MDL                             8
    #define   LSb16ISA_WR_EX_ALU16MDL                             8
    #define       bISA_WR_EX_ALU16MDL                          1
    #define   MSK32ISA_WR_EX_ALU16MDL                             0x00000100

    #define     BA_ISA_WR_EX_ALU16MDH                          0x0011
    #define     B16ISA_WR_EX_ALU16MDH                          0x0010
    #define   LSb32ISA_WR_EX_ALU16MDH                             9
    #define   LSb16ISA_WR_EX_ALU16MDH                             9
    #define       bISA_WR_EX_ALU16MDH                          1
    #define   MSK32ISA_WR_EX_ALU16MDH                             0x00000200

    #define     BA_ISA_WR_EX_ALU16ADD                          0x0011
    #define     B16ISA_WR_EX_ALU16ADD                          0x0010
    #define   LSb32ISA_WR_EX_ALU16ADD                             10
    #define   LSb16ISA_WR_EX_ALU16ADD                             10
    #define       bISA_WR_EX_ALU16ADD                          1
    #define   MSK32ISA_WR_EX_ALU16ADD                             0x00000400

    #define     BA_ISA_WR_EX_ALU16SUB                          0x0011
    #define     B16ISA_WR_EX_ALU16SUB                          0x0010
    #define   LSb32ISA_WR_EX_ALU16SUB                             11
    #define   LSb16ISA_WR_EX_ALU16SUB                             11
    #define       bISA_WR_EX_ALU16SUB                          1
    #define   MSK32ISA_WR_EX_ALU16SUB                             0x00000800

    #define     BA_ISA_WR_EX_ALU16ADDC                         0x0011
    #define     B16ISA_WR_EX_ALU16ADDC                         0x0010
    #define   LSb32ISA_WR_EX_ALU16ADDC                            12
    #define   LSb16ISA_WR_EX_ALU16ADDC                            12
    #define       bISA_WR_EX_ALU16ADDC                         1
    #define   MSK32ISA_WR_EX_ALU16ADDC                            0x00001000

    #define     BA_ISA_WR_EX_ALU16SUBC                         0x0011
    #define     B16ISA_WR_EX_ALU16SUBC                         0x0010
    #define   LSb32ISA_WR_EX_ALU16SUBC                            13
    #define   LSb16ISA_WR_EX_ALU16SUBC                            13
    #define       bISA_WR_EX_ALU16SUBC                         1
    #define   MSK32ISA_WR_EX_ALU16SUBC                            0x00002000

    #define     BA_ISA_WR_EX_ALU16ASR                          0x0011
    #define     B16ISA_WR_EX_ALU16ASR                          0x0010
    #define   LSb32ISA_WR_EX_ALU16ASR                             14
    #define   LSb16ISA_WR_EX_ALU16ASR                             14
    #define       bISA_WR_EX_ALU16ASR                          1
    #define   MSK32ISA_WR_EX_ALU16ASR                             0x00004000

    #define     BA_ISA_WR_EX_ALU16SL                           0x0011
    #define     B16ISA_WR_EX_ALU16SL                           0x0010
    #define   LSb32ISA_WR_EX_ALU16SL                              15
    #define   LSb16ISA_WR_EX_ALU16SL                              15
    #define       bISA_WR_EX_ALU16SL                           1
    #define   MSK32ISA_WR_EX_ALU16SL                              0x00008000

    #define     BA_ISA_WR_EX_ALU16SR                           0x0012
    #define     B16ISA_WR_EX_ALU16SR                           0x0012
    #define   LSb32ISA_WR_EX_ALU16SR                              16
    #define   LSb16ISA_WR_EX_ALU16SR                              0
    #define       bISA_WR_EX_ALU16SR                           1
    #define   MSK32ISA_WR_EX_ALU16SR                              0x00010000

    #define     BA_ISA_WR_EX_ALU16GET                          0x0012
    #define     B16ISA_WR_EX_ALU16GET                          0x0012
    #define   LSb32ISA_WR_EX_ALU16GET                             17
    #define   LSb16ISA_WR_EX_ALU16GET                             1
    #define       bISA_WR_EX_ALU16GET                          1
    #define   MSK32ISA_WR_EX_ALU16GET                             0x00020000

    #define     BA_ISA_WR_EX_ALU16SET                          0x0012
    #define     B16ISA_WR_EX_ALU16SET                          0x0012
    #define   LSb32ISA_WR_EX_ALU16SET                             18
    #define   LSb16ISA_WR_EX_ALU16SET                             2
    #define       bISA_WR_EX_ALU16SET                          1
    #define   MSK32ISA_WR_EX_ALU16SET                             0x00040000

    #define     BA_ISA_WR_EX_ALU16SEL                          0x0012
    #define     B16ISA_WR_EX_ALU16SEL                          0x0012
    #define   LSb32ISA_WR_EX_ALU16SEL                             19
    #define   LSb16ISA_WR_EX_ALU16SEL                             3
    #define       bISA_WR_EX_ALU16SEL                          1
    #define   MSK32ISA_WR_EX_ALU16SEL                             0x00080000

    #define     BA_ISA_WR_EX_ALU16OR                           0x0012
    #define     B16ISA_WR_EX_ALU16OR                           0x0012
    #define   LSb32ISA_WR_EX_ALU16OR                              20
    #define   LSb16ISA_WR_EX_ALU16OR                              4
    #define       bISA_WR_EX_ALU16OR                           1
    #define   MSK32ISA_WR_EX_ALU16OR                              0x00100000

    #define     BA_ISA_WR_EX_ALU16AND                          0x0012
    #define     B16ISA_WR_EX_ALU16AND                          0x0012
    #define   LSb32ISA_WR_EX_ALU16AND                             21
    #define   LSb16ISA_WR_EX_ALU16AND                             5
    #define       bISA_WR_EX_ALU16AND                          1
    #define   MSK32ISA_WR_EX_ALU16AND                             0x00200000

    #define     BA_ISA_WR_EX_ALU16XOR                          0x0012
    #define     B16ISA_WR_EX_ALU16XOR                          0x0012
    #define   LSb32ISA_WR_EX_ALU16XOR                             22
    #define   LSb16ISA_WR_EX_ALU16XOR                             6
    #define       bISA_WR_EX_ALU16XOR                          1
    #define   MSK32ISA_WR_EX_ALU16XOR                             0x00400000

    #define     BA_ISA_WR_EX_ALU16SP                           0x0012
    #define     B16ISA_WR_EX_ALU16SP                           0x0012
    #define   LSb32ISA_WR_EX_ALU16SP                              23
    #define   LSb16ISA_WR_EX_ALU16SP                              7
    #define       bISA_WR_EX_ALU16SP                           1
    #define   MSK32ISA_WR_EX_ALU16SP                              0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_EXX                                  0x0014

    #define     BA_ISA_WR_EXX_WRSQ                             0x0014
    #define     B16ISA_WR_EXX_WRSQ                             0x0014
    #define   LSb32ISA_WR_EXX_WRSQ                                0
    #define   LSb16ISA_WR_EXX_WRSQ                                0
    #define       bISA_WR_EXX_WRSQ                             1
    #define   MSK32ISA_WR_EXX_WRSQ                                0x00000001

    #define     BA_ISA_WR_EXX_WR16                             0x0014
    #define     B16ISA_WR_EXX_WR16                             0x0014
    #define   LSb32ISA_WR_EXX_WR16                                1
    #define   LSb16ISA_WR_EXX_WR16                                1
    #define       bISA_WR_EXX_WR16                             1
    #define   MSK32ISA_WR_EXX_WR16                                0x00000002

    #define     BA_ISA_WR_EXX_WRTQ                             0x0014
    #define     B16ISA_WR_EXX_WRTQ                             0x0014
    #define   LSb32ISA_WR_EXX_WRTQ                                2
    #define   LSb16ISA_WR_EXX_WRTQ                                2
    #define       bISA_WR_EXX_WRTQ                             1
    #define   MSK32ISA_WR_EXX_WRTQ                                0x00000004

    #define     BA_ISA_WR_EXX_ALU64PUSH                        0x0014
    #define     B16ISA_WR_EXX_ALU64PUSH                        0x0014
    #define   LSb32ISA_WR_EXX_ALU64PUSH                           3
    #define   LSb16ISA_WR_EXX_ALU64PUSH                           3
    #define       bISA_WR_EXX_ALU64PUSH                        1
    #define   MSK32ISA_WR_EXX_ALU64PUSH                           0x00000008

    #define     BA_ISA_WR_EXX_ALU64POP                         0x0014
    #define     B16ISA_WR_EXX_ALU64POP                         0x0014
    #define   LSb32ISA_WR_EXX_ALU64POP                            4
    #define   LSb16ISA_WR_EXX_ALU64POP                            4
    #define       bISA_WR_EXX_ALU64POP                         1
    #define   MSK32ISA_WR_EXX_ALU64POP                            0x00000010

    #define     BA_ISA_WR_EXX_ALU64SQ                          0x0014
    #define     B16ISA_WR_EXX_ALU64SQ                          0x0014
    #define   LSb32ISA_WR_EXX_ALU64SQ                             5
    #define   LSb16ISA_WR_EXX_ALU64SQ                             5
    #define       bISA_WR_EXX_ALU64SQ                          1
    #define   MSK32ISA_WR_EXX_ALU64SQ                             0x00000020

    #define     BA_ISA_WR_EXX_ALU64TQ                          0x0014
    #define     B16ISA_WR_EXX_ALU64TQ                          0x0014
    #define   LSb32ISA_WR_EXX_ALU64TQ                             6
    #define   LSb16ISA_WR_EXX_ALU64TQ                             6
    #define       bISA_WR_EXX_ALU64TQ                          1
    #define   MSK32ISA_WR_EXX_ALU64TQ                             0x00000040

    #define     BA_ISA_WR_EXX_ALU64MEM                         0x0014
    #define     B16ISA_WR_EXX_ALU64MEM                         0x0014
    #define   LSb32ISA_WR_EXX_ALU64MEM                            7
    #define   LSb16ISA_WR_EXX_ALU64MEM                            7
    #define       bISA_WR_EXX_ALU64MEM                         1
    #define   MSK32ISA_WR_EXX_ALU64MEM                            0x00000080

    #define     BA_ISA_WR_EXX_BRANCH                           0x0015
    #define     B16ISA_WR_EXX_BRANCH                           0x0014
    #define   LSb32ISA_WR_EXX_BRANCH                              8
    #define   LSb16ISA_WR_EXX_BRANCH                              8
    #define       bISA_WR_EXX_BRANCH                           1
    #define   MSK32ISA_WR_EXX_BRANCH                              0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WR_WB                                   0x0018

    #define     BA_ISA_WR_WB_RF16                              0x0018
    #define     B16ISA_WR_WB_RF16                              0x0018
    #define   LSb32ISA_WR_WB_RF16                                 0
    #define   LSb16ISA_WR_WB_RF16                                 0
    #define       bISA_WR_WB_RF16                              1
    #define   MSK32ISA_WR_WB_RF16                                 0x00000001

    #define     BA_ISA_WR_WB_RF16W0                            0x0018
    #define     B16ISA_WR_WB_RF16W0                            0x0018
    #define   LSb32ISA_WR_WB_RF16W0                               1
    #define   LSb16ISA_WR_WB_RF16W0                               1
    #define       bISA_WR_WB_RF16W0                            1
    #define   MSK32ISA_WR_WB_RF16W0                               0x00000002

    #define     BA_ISA_WR_WB_RF16MEM                           0x0018
    #define     B16ISA_WR_WB_RF16MEM                           0x0018
    #define   LSb32ISA_WR_WB_RF16MEM                              2
    #define   LSb16ISA_WR_WB_RF16MEM                              2
    #define       bISA_WR_WB_RF16MEM                           1
    #define   MSK32ISA_WR_WB_RF16MEM                              0x00000004

    #define     BA_ISA_WR_WB_RF16Q                             0x0018
    #define     B16ISA_WR_WB_RF16Q                             0x0018
    #define   LSb32ISA_WR_WB_RF16Q                                3
    #define   LSb16ISA_WR_WB_RF16Q                                3
    #define       bISA_WR_WB_RF16Q                             1
    #define   MSK32ISA_WR_WB_RF16Q                                0x00000008

    #define     BA_ISA_WR_WB_RF64                              0x0018
    #define     B16ISA_WR_WB_RF64                              0x0018
    #define   LSb32ISA_WR_WB_RF64                                 4
    #define   LSb16ISA_WR_WB_RF64                                 4
    #define       bISA_WR_WB_RF64                              1
    #define   MSK32ISA_WR_WB_RF64                                 0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_WR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_Mask_INS(r32)                        _BFGET_(r32,23, 0)
    #define   SET32ISA_WR_Mask_INS(r32,v)                      _BFSET_(r32,23, 0,v)

    #define     w32ISA_WR_Mask                                 {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WR_Mask;
            struct w32ISA_WR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_Opcode_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_WR_Opcode_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_WR_Opcode                               {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WR_Opcode;
            struct w32ISA_WR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_ID_RBRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_WR_ID_RBRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WR_ID_RBRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_ID_RBRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_ID_RARF(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_WR_ID_RARF(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WR_ID_RARF(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_ID_RARF(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_ID_RAK8(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_WR_ID_RAK8(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WR_ID_RAK8(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_ID_RAK8(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_ID_RAI16(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_WR_ID_RAI16(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WR_ID_RAI16(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_ID_RAI16(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_ID_RAK16(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_WR_ID_RAK16(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WR_ID_RAK16(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_ID_RAK16(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_ID_RFSP(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_WR_ID_RFSP(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WR_ID_RFSP(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_ID_RFSP(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WR_ID_W4D4(r32)                         _BFGET_(r32, 6, 6)
    #define   SET32ISA_WR_ID_W4D4(r32,v)                       _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WR_ID_W4D4(r16)                         _BFGET_(r16, 6, 6)
    #define   SET16ISA_WR_ID_W4D4(r16,v)                       _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WR_ID_W4S4(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_WR_ID_W4S4(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WR_ID_W4S4(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_WR_ID_W4S4(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WR_ID                                   {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_WR_ID;
            struct w32ISA_WR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_LD_SPRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_WR_LD_SPRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WR_LD_SPRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_LD_SPRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_LD_SPK8(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_WR_LD_SPK8(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WR_LD_SPK8(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_LD_SPK8(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_LD_SPJ(r32)                          _BFGET_(r32, 2, 2)
    #define   SET32ISA_WR_LD_SPJ(r32,v)                        _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WR_LD_SPJ(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_LD_SPJ(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_LD_SP4S(r32)                         _BFGET_(r32, 3, 3)
    #define   SET32ISA_WR_LD_SP4S(r32,v)                       _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WR_LD_SP4S(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_LD_SP4S(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_LD_SP8S(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_WR_LD_SP8S(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WR_LD_SP8S(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_LD_SP8S(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_LD_SP8U(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_WR_LD_SP8U(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WR_LD_SP8U(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_LD_SP8U(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WR_LD_SP12S(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_WR_LD_SP12S(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WR_LD_SP12S(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_WR_LD_SP12S(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WR_LD_SP16(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_WR_LD_SP16(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WR_LD_SP16(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_WR_LD_SP16(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WR_LD_TPRF(r32)                         _BFGET_(r32, 8, 8)
    #define   SET32ISA_WR_LD_TPRF(r32,v)                       _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WR_LD_TPRF(r16)                         _BFGET_(r16, 8, 8)
    #define   SET16ISA_WR_LD_TPRF(r16,v)                       _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WR_LD_TPJ(r32)                          _BFGET_(r32, 9, 9)
    #define   SET32ISA_WR_LD_TPJ(r32,v)                        _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WR_LD_TPJ(r16)                          _BFGET_(r16, 9, 9)
    #define   SET16ISA_WR_LD_TPJ(r16,v)                        _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WR_LD_TP4S(r32)                         _BFGET_(r32,10,10)
    #define   SET32ISA_WR_LD_TP4S(r32,v)                       _BFSET_(r32,10,10,v)
    #define   GET16ISA_WR_LD_TP4S(r16)                         _BFGET_(r16,10,10)
    #define   SET16ISA_WR_LD_TP4S(r16,v)                       _BFSET_(r16,10,10,v)

    #define   GET32ISA_WR_LD_TP8L(r32)                         _BFGET_(r32,11,11)
    #define   SET32ISA_WR_LD_TP8L(r32,v)                       _BFSET_(r32,11,11,v)
    #define   GET16ISA_WR_LD_TP8L(r16)                         _BFGET_(r16,11,11)
    #define   SET16ISA_WR_LD_TP8L(r16,v)                       _BFSET_(r16,11,11,v)

    #define   GET32ISA_WR_LD_TP8H(r32)                         _BFGET_(r32,12,12)
    #define   SET32ISA_WR_LD_TP8H(r32,v)                       _BFSET_(r32,12,12,v)
    #define   GET16ISA_WR_LD_TP8H(r16)                         _BFGET_(r16,12,12)
    #define   SET16ISA_WR_LD_TP8H(r16,v)                       _BFSET_(r16,12,12,v)

    #define   GET32ISA_WR_LD_TP8LF(r32)                        _BFGET_(r32,13,13)
    #define   SET32ISA_WR_LD_TP8LF(r32,v)                      _BFSET_(r32,13,13,v)
    #define   GET16ISA_WR_LD_TP8LF(r16)                        _BFGET_(r16,13,13)
    #define   SET16ISA_WR_LD_TP8LF(r16,v)                      _BFSET_(r16,13,13,v)

    #define   GET32ISA_WR_LD_TP8HF(r32)                        _BFGET_(r32,14,14)
    #define   SET32ISA_WR_LD_TP8HF(r32,v)                      _BFSET_(r32,14,14,v)
    #define   GET16ISA_WR_LD_TP8HF(r16)                        _BFGET_(r16,14,14)
    #define   SET16ISA_WR_LD_TP8HF(r16,v)                      _BFSET_(r16,14,14,v)

    #define   GET32ISA_WR_LD_SQRF64(r32)                       _BFGET_(r32,15,15)
    #define   SET32ISA_WR_LD_SQRF64(r32,v)                     _BFSET_(r32,15,15,v)
    #define   GET16ISA_WR_LD_SQRF64(r16)                       _BFGET_(r16,15,15)
    #define   SET16ISA_WR_LD_SQRF64(r16,v)                     _BFSET_(r16,15,15,v)

    #define   GET32ISA_WR_LD_TQRF16Q(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_WR_LD_TQRF16Q(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_WR_LD_TQRF16Q(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_LD_TQRF16Q(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_LD_TQRFx4(r32)                       _BFGET_(r32,17,17)
    #define   SET32ISA_WR_LD_TQRFx4(r32,v)                     _BFSET_(r32,17,17,v)
    #define   GET16ISA_WR_LD_TQRFx4(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_LD_TQRFx4(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_LD_RD(r32)                           _BFGET_(r32,18,18)
    #define   SET32ISA_WR_LD_RD(r32,v)                         _BFSET_(r32,18,18,v)
    #define   GET16ISA_WR_LD_RD(r16)                           _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_LD_RD(r16,v)                         _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_LD_WARF(r32)                         _BFGET_(r32,19,19)
    #define   SET32ISA_WR_LD_WARF(r32,v)                       _BFSET_(r32,19,19,v)
    #define   GET16ISA_WR_LD_WARF(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_LD_WARF(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_LD_WAK8(r32)                         _BFGET_(r32,20,20)
    #define   SET32ISA_WR_LD_WAK8(r32,v)                       _BFSET_(r32,20,20,v)
    #define   GET16ISA_WR_LD_WAK8(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_LD_WAK8(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_LD_WAK16(r32)                        _BFGET_(r32,21,21)
    #define   SET32ISA_WR_LD_WAK16(r32,v)                      _BFSET_(r32,21,21,v)
    #define   GET16ISA_WR_LD_WAK16(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_LD_WAK16(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define     w32ISA_WR_LD                                   {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_WR_LD;
            struct w32ISA_WR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_EX_ALU16FlagZ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_WR_EX_ALU16FlagZ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WR_EX_ALU16FlagZ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_EX_ALU16FlagZ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_EX_ALU16FlagC(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_WR_EX_ALU16FlagC(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WR_EX_ALU16FlagC(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_EX_ALU16FlagC(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_EX_ALU16FlagN(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_WR_EX_ALU16FlagN(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WR_EX_ALU16FlagN(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_EX_ALU16FlagN(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_EX_ALU16FlagV(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_WR_EX_ALU16FlagV(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WR_EX_ALU16FlagV(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_EX_ALU16FlagV(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_EX_ALU16FlagTP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_WR_EX_ALU16FlagTP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WR_EX_ALU16FlagTP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_EX_ALU16FlagTP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_EX_ALU16MUL(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_WR_EX_ALU16MUL(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WR_EX_ALU16MUL(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_EX_ALU16MUL(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WR_EX_ALU16DIV(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_WR_EX_ALU16DIV(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WR_EX_ALU16DIV(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_WR_EX_ALU16DIV(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WR_EX_ALU16FlagLD(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_WR_EX_ALU16FlagLD(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WR_EX_ALU16FlagLD(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_WR_EX_ALU16FlagLD(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WR_EX_ALU16MDL(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_WR_EX_ALU16MDL(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WR_EX_ALU16MDL(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_WR_EX_ALU16MDL(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WR_EX_ALU16MDH(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_WR_EX_ALU16MDH(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WR_EX_ALU16MDH(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_WR_EX_ALU16MDH(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WR_EX_ALU16ADD(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_WR_EX_ALU16ADD(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_WR_EX_ALU16ADD(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_WR_EX_ALU16ADD(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_WR_EX_ALU16SUB(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_WR_EX_ALU16SUB(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_WR_EX_ALU16SUB(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_WR_EX_ALU16SUB(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_WR_EX_ALU16ADDC(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_WR_EX_ALU16ADDC(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_WR_EX_ALU16ADDC(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_WR_EX_ALU16ADDC(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_WR_EX_ALU16SUBC(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_WR_EX_ALU16SUBC(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_WR_EX_ALU16SUBC(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_WR_EX_ALU16SUBC(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_WR_EX_ALU16ASR(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_WR_EX_ALU16ASR(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_WR_EX_ALU16ASR(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_WR_EX_ALU16ASR(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_WR_EX_ALU16SL(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_WR_EX_ALU16SL(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_WR_EX_ALU16SL(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_WR_EX_ALU16SL(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_WR_EX_ALU16SR(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_WR_EX_ALU16SR(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_WR_EX_ALU16SR(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_EX_ALU16SR(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_EX_ALU16GET(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_WR_EX_ALU16GET(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_WR_EX_ALU16GET(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_EX_ALU16GET(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_EX_ALU16SET(r32)                     _BFGET_(r32,18,18)
    #define   SET32ISA_WR_EX_ALU16SET(r32,v)                   _BFSET_(r32,18,18,v)
    #define   GET16ISA_WR_EX_ALU16SET(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_EX_ALU16SET(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_EX_ALU16SEL(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_WR_EX_ALU16SEL(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_WR_EX_ALU16SEL(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_EX_ALU16SEL(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_EX_ALU16OR(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_WR_EX_ALU16OR(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_WR_EX_ALU16OR(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_EX_ALU16OR(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_EX_ALU16AND(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_WR_EX_ALU16AND(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_WR_EX_ALU16AND(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_EX_ALU16AND(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WR_EX_ALU16XOR(r32)                     _BFGET_(r32,22,22)
    #define   SET32ISA_WR_EX_ALU16XOR(r32,v)                   _BFSET_(r32,22,22,v)
    #define   GET16ISA_WR_EX_ALU16XOR(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_WR_EX_ALU16XOR(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WR_EX_ALU16SP(r32)                      _BFGET_(r32,23,23)
    #define   SET32ISA_WR_EX_ALU16SP(r32,v)                    _BFSET_(r32,23,23,v)
    #define   GET16ISA_WR_EX_ALU16SP(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_WR_EX_ALU16SP(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WR_EX                                   {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_WR_EX;
            struct w32ISA_WR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_EXX_WRSQ(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_WR_EXX_WRSQ(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WR_EXX_WRSQ(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_EXX_WRSQ(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_EXX_WR16(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_WR_EXX_WR16(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WR_EXX_WR16(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_EXX_WR16(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_EXX_WRTQ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_WR_EXX_WRTQ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WR_EXX_WRTQ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_EXX_WRTQ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_EXX_ALU64PUSH(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_WR_EXX_ALU64PUSH(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WR_EXX_ALU64PUSH(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_EXX_ALU64PUSH(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_EXX_ALU64POP(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_WR_EXX_ALU64POP(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WR_EXX_ALU64POP(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_EXX_ALU64POP(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WR_EXX_ALU64SQ(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_WR_EXX_ALU64SQ(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WR_EXX_ALU64SQ(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_WR_EXX_ALU64SQ(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WR_EXX_ALU64TQ(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_WR_EXX_ALU64TQ(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WR_EXX_ALU64TQ(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_WR_EXX_ALU64TQ(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WR_EXX_ALU64MEM(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_WR_EXX_ALU64MEM(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WR_EXX_ALU64MEM(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_WR_EXX_ALU64MEM(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WR_EXX_BRANCH(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_WR_EXX_BRANCH(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WR_EXX_BRANCH(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_WR_EXX_BRANCH(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define     w32ISA_WR_EXX                                  {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_WR_EXX;
            struct w32ISA_WR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WR_WB_RF16(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_WR_WB_RF16(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WR_WB_RF16(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_WR_WB_RF16(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WR_WB_RF16W0(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_WR_WB_RF16W0(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WR_WB_RF16W0(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_WR_WB_RF16W0(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WR_WB_RF16MEM(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_WR_WB_RF16MEM(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WR_WB_RF16MEM(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_WR_WB_RF16MEM(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WR_WB_RF16Q(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_WR_WB_RF16Q(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WR_WB_RF16Q(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_WR_WB_RF16Q(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WR_WB_RF64(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_WR_WB_RF64(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WR_WB_RF64(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_WR_WB_RF64(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define     w32ISA_WR_WB                                   {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_WR_WB;
            struct w32ISA_WR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_WR;

    typedef union  T32ISA_WR_Mask
          { UNSG32 u32;
            struct w32ISA_WR_Mask;
                 } T32ISA_WR_Mask;
    typedef union  T32ISA_WR_Opcode
          { UNSG32 u32;
            struct w32ISA_WR_Opcode;
                 } T32ISA_WR_Opcode;
    typedef union  T32ISA_WR_ID
          { UNSG32 u32;
            struct w32ISA_WR_ID;
                 } T32ISA_WR_ID;
    typedef union  T32ISA_WR_LD
          { UNSG32 u32;
            struct w32ISA_WR_LD;
                 } T32ISA_WR_LD;
    typedef union  T32ISA_WR_EX
          { UNSG32 u32;
            struct w32ISA_WR_EX;
                 } T32ISA_WR_EX;
    typedef union  T32ISA_WR_EXX
          { UNSG32 u32;
            struct w32ISA_WR_EXX;
                 } T32ISA_WR_EXX;
    typedef union  T32ISA_WR_WB
          { UNSG32 u32;
            struct w32ISA_WR_WB;
                 } T32ISA_WR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_WR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_Mask;
                   };
                 } TISA_WR_Mask;
    typedef union  TISA_WR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_Opcode;
                   };
                 } TISA_WR_Opcode;
    typedef union  TISA_WR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_ID;
                   };
                 } TISA_WR_ID;
    typedef union  TISA_WR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_LD;
                   };
                 } TISA_WR_LD;
    typedef union  TISA_WR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_EX;
                   };
                 } TISA_WR_EX;
    typedef union  TISA_WR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_EXX;
                   };
                 } TISA_WR_EXX;
    typedef union  TISA_WR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WR_WB;
                   };
                 } TISA_WR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_WR_drvrd(SIE_ISA_WR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_WR_drvwr(SIE_ISA_WR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_WR_reset(SIE_ISA_WR *p);
     SIGN32 ISA_WR_cmp  (SIE_ISA_WR *p, SIE_ISA_WR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_WR_check(p,pie,pfx,hLOG) ISA_WR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_WR_print(p,    pfx,hLOG) ISA_WR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_WR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_WRINC                                (4,4)
///     ###
///     * Memory write of 16b register.
///     * Using a register load write address.
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500001
///                                    ###
///                                    * -                                                                 
///                                    * - { "WR.INC" , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0001" } ,
///                                    * - Usage:
///                                    * -    WR.INC   %a1, + 2, %d1   ; M16[ %a1 ] = %d1;
///                                    * -                             ; %a1 += 2;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    0x1
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      0x1
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      0x1
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_WRINC
#define h_ISA_WRINC (){}

    #define     RA_ISA_WRINC_Mask                              0x0000

    #define     BA_ISA_WRINC_Mask_INS                          0x0000
    #define     B16ISA_WRINC_Mask_INS                          0x0000
    #define   LSb32ISA_WRINC_Mask_INS                             0
    #define   LSb16ISA_WRINC_Mask_INS                             0
    #define       bISA_WRINC_Mask_INS                          24
    #define   MSK32ISA_WRINC_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_Opcode                            0x0004

    #define     BA_ISA_WRINC_Opcode_INS                        0x0004
    #define     B16ISA_WRINC_Opcode_INS                        0x0004
    #define   LSb32ISA_WRINC_Opcode_INS                           0
    #define   LSb16ISA_WRINC_Opcode_INS                           0
    #define       bISA_WRINC_Opcode_INS                        24
    #define   MSK32ISA_WRINC_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_ID                                0x0008

    #define     BA_ISA_WRINC_ID_RBRF                           0x0008
    #define     B16ISA_WRINC_ID_RBRF                           0x0008
    #define   LSb32ISA_WRINC_ID_RBRF                              0
    #define   LSb16ISA_WRINC_ID_RBRF                              0
    #define       bISA_WRINC_ID_RBRF                           1
    #define   MSK32ISA_WRINC_ID_RBRF                              0x00000001

    #define     BA_ISA_WRINC_ID_RARF                           0x0008
    #define     B16ISA_WRINC_ID_RARF                           0x0008
    #define   LSb32ISA_WRINC_ID_RARF                              1
    #define   LSb16ISA_WRINC_ID_RARF                              1
    #define       bISA_WRINC_ID_RARF                           1
    #define   MSK32ISA_WRINC_ID_RARF                              0x00000002

    #define     BA_ISA_WRINC_ID_RAK8                           0x0008
    #define     B16ISA_WRINC_ID_RAK8                           0x0008
    #define   LSb32ISA_WRINC_ID_RAK8                              2
    #define   LSb16ISA_WRINC_ID_RAK8                              2
    #define       bISA_WRINC_ID_RAK8                           1
    #define   MSK32ISA_WRINC_ID_RAK8                              0x00000004

    #define     BA_ISA_WRINC_ID_RAI16                          0x0008
    #define     B16ISA_WRINC_ID_RAI16                          0x0008
    #define   LSb32ISA_WRINC_ID_RAI16                             3
    #define   LSb16ISA_WRINC_ID_RAI16                             3
    #define       bISA_WRINC_ID_RAI16                          1
    #define   MSK32ISA_WRINC_ID_RAI16                             0x00000008

    #define     BA_ISA_WRINC_ID_RAK16                          0x0008
    #define     B16ISA_WRINC_ID_RAK16                          0x0008
    #define   LSb32ISA_WRINC_ID_RAK16                             4
    #define   LSb16ISA_WRINC_ID_RAK16                             4
    #define       bISA_WRINC_ID_RAK16                          1
    #define   MSK32ISA_WRINC_ID_RAK16                             0x00000010

    #define     BA_ISA_WRINC_ID_RFSP                           0x0008
    #define     B16ISA_WRINC_ID_RFSP                           0x0008
    #define   LSb32ISA_WRINC_ID_RFSP                              5
    #define   LSb16ISA_WRINC_ID_RFSP                              5
    #define       bISA_WRINC_ID_RFSP                           1
    #define   MSK32ISA_WRINC_ID_RFSP                              0x00000020

    #define     BA_ISA_WRINC_ID_W4D4                           0x0008
    #define     B16ISA_WRINC_ID_W4D4                           0x0008
    #define   LSb32ISA_WRINC_ID_W4D4                              6
    #define   LSb16ISA_WRINC_ID_W4D4                              6
    #define       bISA_WRINC_ID_W4D4                           1
    #define   MSK32ISA_WRINC_ID_W4D4                              0x00000040

    #define     BA_ISA_WRINC_ID_W4S4                           0x0008
    #define     B16ISA_WRINC_ID_W4S4                           0x0008
    #define   LSb32ISA_WRINC_ID_W4S4                              7
    #define   LSb16ISA_WRINC_ID_W4S4                              7
    #define       bISA_WRINC_ID_W4S4                           1
    #define   MSK32ISA_WRINC_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_LD                                0x000C

    #define     BA_ISA_WRINC_LD_SPRF                           0x000C
    #define     B16ISA_WRINC_LD_SPRF                           0x000C
    #define   LSb32ISA_WRINC_LD_SPRF                              0
    #define   LSb16ISA_WRINC_LD_SPRF                              0
    #define       bISA_WRINC_LD_SPRF                           1
    #define   MSK32ISA_WRINC_LD_SPRF                              0x00000001

    #define     BA_ISA_WRINC_LD_SPK8                           0x000C
    #define     B16ISA_WRINC_LD_SPK8                           0x000C
    #define   LSb32ISA_WRINC_LD_SPK8                              1
    #define   LSb16ISA_WRINC_LD_SPK8                              1
    #define       bISA_WRINC_LD_SPK8                           1
    #define   MSK32ISA_WRINC_LD_SPK8                              0x00000002

    #define     BA_ISA_WRINC_LD_SPJ                            0x000C
    #define     B16ISA_WRINC_LD_SPJ                            0x000C
    #define   LSb32ISA_WRINC_LD_SPJ                               2
    #define   LSb16ISA_WRINC_LD_SPJ                               2
    #define       bISA_WRINC_LD_SPJ                            1
    #define   MSK32ISA_WRINC_LD_SPJ                               0x00000004

    #define     BA_ISA_WRINC_LD_SP4S                           0x000C
    #define     B16ISA_WRINC_LD_SP4S                           0x000C
    #define   LSb32ISA_WRINC_LD_SP4S                              3
    #define   LSb16ISA_WRINC_LD_SP4S                              3
    #define       bISA_WRINC_LD_SP4S                           1
    #define   MSK32ISA_WRINC_LD_SP4S                              0x00000008

    #define     BA_ISA_WRINC_LD_SP8S                           0x000C
    #define     B16ISA_WRINC_LD_SP8S                           0x000C
    #define   LSb32ISA_WRINC_LD_SP8S                              4
    #define   LSb16ISA_WRINC_LD_SP8S                              4
    #define       bISA_WRINC_LD_SP8S                           1
    #define   MSK32ISA_WRINC_LD_SP8S                              0x00000010

    #define     BA_ISA_WRINC_LD_SP8U                           0x000C
    #define     B16ISA_WRINC_LD_SP8U                           0x000C
    #define   LSb32ISA_WRINC_LD_SP8U                              5
    #define   LSb16ISA_WRINC_LD_SP8U                              5
    #define       bISA_WRINC_LD_SP8U                           1
    #define   MSK32ISA_WRINC_LD_SP8U                              0x00000020

    #define     BA_ISA_WRINC_LD_SP12S                          0x000C
    #define     B16ISA_WRINC_LD_SP12S                          0x000C
    #define   LSb32ISA_WRINC_LD_SP12S                             6
    #define   LSb16ISA_WRINC_LD_SP12S                             6
    #define       bISA_WRINC_LD_SP12S                          1
    #define   MSK32ISA_WRINC_LD_SP12S                             0x00000040

    #define     BA_ISA_WRINC_LD_SP16                           0x000C
    #define     B16ISA_WRINC_LD_SP16                           0x000C
    #define   LSb32ISA_WRINC_LD_SP16                              7
    #define   LSb16ISA_WRINC_LD_SP16                              7
    #define       bISA_WRINC_LD_SP16                           1
    #define   MSK32ISA_WRINC_LD_SP16                              0x00000080

    #define     BA_ISA_WRINC_LD_TPRF                           0x000D
    #define     B16ISA_WRINC_LD_TPRF                           0x000C
    #define   LSb32ISA_WRINC_LD_TPRF                              8
    #define   LSb16ISA_WRINC_LD_TPRF                              8
    #define       bISA_WRINC_LD_TPRF                           1
    #define   MSK32ISA_WRINC_LD_TPRF                              0x00000100

    #define     BA_ISA_WRINC_LD_TPJ                            0x000D
    #define     B16ISA_WRINC_LD_TPJ                            0x000C
    #define   LSb32ISA_WRINC_LD_TPJ                               9
    #define   LSb16ISA_WRINC_LD_TPJ                               9
    #define       bISA_WRINC_LD_TPJ                            1
    #define   MSK32ISA_WRINC_LD_TPJ                               0x00000200

    #define     BA_ISA_WRINC_LD_TP4S                           0x000D
    #define     B16ISA_WRINC_LD_TP4S                           0x000C
    #define   LSb32ISA_WRINC_LD_TP4S                              10
    #define   LSb16ISA_WRINC_LD_TP4S                              10
    #define       bISA_WRINC_LD_TP4S                           1
    #define   MSK32ISA_WRINC_LD_TP4S                              0x00000400

    #define     BA_ISA_WRINC_LD_TP8L                           0x000D
    #define     B16ISA_WRINC_LD_TP8L                           0x000C
    #define   LSb32ISA_WRINC_LD_TP8L                              11
    #define   LSb16ISA_WRINC_LD_TP8L                              11
    #define       bISA_WRINC_LD_TP8L                           1
    #define   MSK32ISA_WRINC_LD_TP8L                              0x00000800

    #define     BA_ISA_WRINC_LD_TP8H                           0x000D
    #define     B16ISA_WRINC_LD_TP8H                           0x000C
    #define   LSb32ISA_WRINC_LD_TP8H                              12
    #define   LSb16ISA_WRINC_LD_TP8H                              12
    #define       bISA_WRINC_LD_TP8H                           1
    #define   MSK32ISA_WRINC_LD_TP8H                              0x00001000

    #define     BA_ISA_WRINC_LD_TP8LF                          0x000D
    #define     B16ISA_WRINC_LD_TP8LF                          0x000C
    #define   LSb32ISA_WRINC_LD_TP8LF                             13
    #define   LSb16ISA_WRINC_LD_TP8LF                             13
    #define       bISA_WRINC_LD_TP8LF                          1
    #define   MSK32ISA_WRINC_LD_TP8LF                             0x00002000

    #define     BA_ISA_WRINC_LD_TP8HF                          0x000D
    #define     B16ISA_WRINC_LD_TP8HF                          0x000C
    #define   LSb32ISA_WRINC_LD_TP8HF                             14
    #define   LSb16ISA_WRINC_LD_TP8HF                             14
    #define       bISA_WRINC_LD_TP8HF                          1
    #define   MSK32ISA_WRINC_LD_TP8HF                             0x00004000

    #define     BA_ISA_WRINC_LD_SQRF64                         0x000D
    #define     B16ISA_WRINC_LD_SQRF64                         0x000C
    #define   LSb32ISA_WRINC_LD_SQRF64                            15
    #define   LSb16ISA_WRINC_LD_SQRF64                            15
    #define       bISA_WRINC_LD_SQRF64                         1
    #define   MSK32ISA_WRINC_LD_SQRF64                            0x00008000

    #define     BA_ISA_WRINC_LD_TQRF16Q                        0x000E
    #define     B16ISA_WRINC_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_WRINC_LD_TQRF16Q                           16
    #define   LSb16ISA_WRINC_LD_TQRF16Q                           0
    #define       bISA_WRINC_LD_TQRF16Q                        1
    #define   MSK32ISA_WRINC_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_WRINC_LD_TQRFx4                         0x000E
    #define     B16ISA_WRINC_LD_TQRFx4                         0x000E
    #define   LSb32ISA_WRINC_LD_TQRFx4                            17
    #define   LSb16ISA_WRINC_LD_TQRFx4                            1
    #define       bISA_WRINC_LD_TQRFx4                         1
    #define   MSK32ISA_WRINC_LD_TQRFx4                            0x00020000

    #define     BA_ISA_WRINC_LD_RD                             0x000E
    #define     B16ISA_WRINC_LD_RD                             0x000E
    #define   LSb32ISA_WRINC_LD_RD                                18
    #define   LSb16ISA_WRINC_LD_RD                                2
    #define       bISA_WRINC_LD_RD                             1
    #define   MSK32ISA_WRINC_LD_RD                                0x00040000

    #define     BA_ISA_WRINC_LD_WARF                           0x000E
    #define     B16ISA_WRINC_LD_WARF                           0x000E
    #define   LSb32ISA_WRINC_LD_WARF                              19
    #define   LSb16ISA_WRINC_LD_WARF                              3
    #define       bISA_WRINC_LD_WARF                           1
    #define   MSK32ISA_WRINC_LD_WARF                              0x00080000

    #define     BA_ISA_WRINC_LD_WAK8                           0x000E
    #define     B16ISA_WRINC_LD_WAK8                           0x000E
    #define   LSb32ISA_WRINC_LD_WAK8                              20
    #define   LSb16ISA_WRINC_LD_WAK8                              4
    #define       bISA_WRINC_LD_WAK8                           1
    #define   MSK32ISA_WRINC_LD_WAK8                              0x00100000

    #define     BA_ISA_WRINC_LD_WAK16                          0x000E
    #define     B16ISA_WRINC_LD_WAK16                          0x000E
    #define   LSb32ISA_WRINC_LD_WAK16                             21
    #define   LSb16ISA_WRINC_LD_WAK16                             5
    #define       bISA_WRINC_LD_WAK16                          1
    #define   MSK32ISA_WRINC_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_EX                                0x0010

    #define     BA_ISA_WRINC_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagZ                        0
    #define   LSb16ISA_WRINC_EX_ALU16FlagZ                        0
    #define       bISA_WRINC_EX_ALU16FlagZ                     1
    #define   MSK32ISA_WRINC_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_WRINC_EX_ALU16FlagC                     0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagC                        1
    #define   LSb16ISA_WRINC_EX_ALU16FlagC                        1
    #define       bISA_WRINC_EX_ALU16FlagC                     1
    #define   MSK32ISA_WRINC_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_WRINC_EX_ALU16FlagN                     0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagN                        2
    #define   LSb16ISA_WRINC_EX_ALU16FlagN                        2
    #define       bISA_WRINC_EX_ALU16FlagN                     1
    #define   MSK32ISA_WRINC_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_WRINC_EX_ALU16FlagV                     0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagV                        3
    #define   LSb16ISA_WRINC_EX_ALU16FlagV                        3
    #define       bISA_WRINC_EX_ALU16FlagV                     1
    #define   MSK32ISA_WRINC_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_WRINC_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagTP                       4
    #define   LSb16ISA_WRINC_EX_ALU16FlagTP                       4
    #define       bISA_WRINC_EX_ALU16FlagTP                    1
    #define   MSK32ISA_WRINC_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_WRINC_EX_ALU16MUL                       0x0010
    #define     B16ISA_WRINC_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16MUL                          5
    #define   LSb16ISA_WRINC_EX_ALU16MUL                          5
    #define       bISA_WRINC_EX_ALU16MUL                       1
    #define   MSK32ISA_WRINC_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_WRINC_EX_ALU16DIV                       0x0010
    #define     B16ISA_WRINC_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16DIV                          6
    #define   LSb16ISA_WRINC_EX_ALU16DIV                          6
    #define       bISA_WRINC_EX_ALU16DIV                       1
    #define   MSK32ISA_WRINC_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_WRINC_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_WRINC_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_WRINC_EX_ALU16FlagLD                       7
    #define   LSb16ISA_WRINC_EX_ALU16FlagLD                       7
    #define       bISA_WRINC_EX_ALU16FlagLD                    1
    #define   MSK32ISA_WRINC_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_WRINC_EX_ALU16MDL                       0x0011
    #define     B16ISA_WRINC_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16MDL                          8
    #define   LSb16ISA_WRINC_EX_ALU16MDL                          8
    #define       bISA_WRINC_EX_ALU16MDL                       1
    #define   MSK32ISA_WRINC_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_WRINC_EX_ALU16MDH                       0x0011
    #define     B16ISA_WRINC_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16MDH                          9
    #define   LSb16ISA_WRINC_EX_ALU16MDH                          9
    #define       bISA_WRINC_EX_ALU16MDH                       1
    #define   MSK32ISA_WRINC_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_WRINC_EX_ALU16ADD                       0x0011
    #define     B16ISA_WRINC_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16ADD                          10
    #define   LSb16ISA_WRINC_EX_ALU16ADD                          10
    #define       bISA_WRINC_EX_ALU16ADD                       1
    #define   MSK32ISA_WRINC_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_WRINC_EX_ALU16SUB                       0x0011
    #define     B16ISA_WRINC_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16SUB                          11
    #define   LSb16ISA_WRINC_EX_ALU16SUB                          11
    #define       bISA_WRINC_EX_ALU16SUB                       1
    #define   MSK32ISA_WRINC_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_WRINC_EX_ALU16ADDC                      0x0011
    #define     B16ISA_WRINC_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_WRINC_EX_ALU16ADDC                         12
    #define   LSb16ISA_WRINC_EX_ALU16ADDC                         12
    #define       bISA_WRINC_EX_ALU16ADDC                      1
    #define   MSK32ISA_WRINC_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_WRINC_EX_ALU16SUBC                      0x0011
    #define     B16ISA_WRINC_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_WRINC_EX_ALU16SUBC                         13
    #define   LSb16ISA_WRINC_EX_ALU16SUBC                         13
    #define       bISA_WRINC_EX_ALU16SUBC                      1
    #define   MSK32ISA_WRINC_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_WRINC_EX_ALU16ASR                       0x0011
    #define     B16ISA_WRINC_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_WRINC_EX_ALU16ASR                          14
    #define   LSb16ISA_WRINC_EX_ALU16ASR                          14
    #define       bISA_WRINC_EX_ALU16ASR                       1
    #define   MSK32ISA_WRINC_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_WRINC_EX_ALU16SL                        0x0011
    #define     B16ISA_WRINC_EX_ALU16SL                        0x0010
    #define   LSb32ISA_WRINC_EX_ALU16SL                           15
    #define   LSb16ISA_WRINC_EX_ALU16SL                           15
    #define       bISA_WRINC_EX_ALU16SL                        1
    #define   MSK32ISA_WRINC_EX_ALU16SL                           0x00008000

    #define     BA_ISA_WRINC_EX_ALU16SR                        0x0012
    #define     B16ISA_WRINC_EX_ALU16SR                        0x0012
    #define   LSb32ISA_WRINC_EX_ALU16SR                           16
    #define   LSb16ISA_WRINC_EX_ALU16SR                           0
    #define       bISA_WRINC_EX_ALU16SR                        1
    #define   MSK32ISA_WRINC_EX_ALU16SR                           0x00010000

    #define     BA_ISA_WRINC_EX_ALU16GET                       0x0012
    #define     B16ISA_WRINC_EX_ALU16GET                       0x0012
    #define   LSb32ISA_WRINC_EX_ALU16GET                          17
    #define   LSb16ISA_WRINC_EX_ALU16GET                          1
    #define       bISA_WRINC_EX_ALU16GET                       1
    #define   MSK32ISA_WRINC_EX_ALU16GET                          0x00020000

    #define     BA_ISA_WRINC_EX_ALU16SET                       0x0012
    #define     B16ISA_WRINC_EX_ALU16SET                       0x0012
    #define   LSb32ISA_WRINC_EX_ALU16SET                          18
    #define   LSb16ISA_WRINC_EX_ALU16SET                          2
    #define       bISA_WRINC_EX_ALU16SET                       1
    #define   MSK32ISA_WRINC_EX_ALU16SET                          0x00040000

    #define     BA_ISA_WRINC_EX_ALU16SEL                       0x0012
    #define     B16ISA_WRINC_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_WRINC_EX_ALU16SEL                          19
    #define   LSb16ISA_WRINC_EX_ALU16SEL                          3
    #define       bISA_WRINC_EX_ALU16SEL                       1
    #define   MSK32ISA_WRINC_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_WRINC_EX_ALU16OR                        0x0012
    #define     B16ISA_WRINC_EX_ALU16OR                        0x0012
    #define   LSb32ISA_WRINC_EX_ALU16OR                           20
    #define   LSb16ISA_WRINC_EX_ALU16OR                           4
    #define       bISA_WRINC_EX_ALU16OR                        1
    #define   MSK32ISA_WRINC_EX_ALU16OR                           0x00100000

    #define     BA_ISA_WRINC_EX_ALU16AND                       0x0012
    #define     B16ISA_WRINC_EX_ALU16AND                       0x0012
    #define   LSb32ISA_WRINC_EX_ALU16AND                          21
    #define   LSb16ISA_WRINC_EX_ALU16AND                          5
    #define       bISA_WRINC_EX_ALU16AND                       1
    #define   MSK32ISA_WRINC_EX_ALU16AND                          0x00200000

    #define     BA_ISA_WRINC_EX_ALU16XOR                       0x0012
    #define     B16ISA_WRINC_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_WRINC_EX_ALU16XOR                          22
    #define   LSb16ISA_WRINC_EX_ALU16XOR                          6
    #define       bISA_WRINC_EX_ALU16XOR                       1
    #define   MSK32ISA_WRINC_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_WRINC_EX_ALU16SP                        0x0012
    #define     B16ISA_WRINC_EX_ALU16SP                        0x0012
    #define   LSb32ISA_WRINC_EX_ALU16SP                           23
    #define   LSb16ISA_WRINC_EX_ALU16SP                           7
    #define       bISA_WRINC_EX_ALU16SP                        1
    #define   MSK32ISA_WRINC_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_EXX                               0x0014

    #define     BA_ISA_WRINC_EXX_WRSQ                          0x0014
    #define     B16ISA_WRINC_EXX_WRSQ                          0x0014
    #define   LSb32ISA_WRINC_EXX_WRSQ                             0
    #define   LSb16ISA_WRINC_EXX_WRSQ                             0
    #define       bISA_WRINC_EXX_WRSQ                          1
    #define   MSK32ISA_WRINC_EXX_WRSQ                             0x00000001

    #define     BA_ISA_WRINC_EXX_WR16                          0x0014
    #define     B16ISA_WRINC_EXX_WR16                          0x0014
    #define   LSb32ISA_WRINC_EXX_WR16                             1
    #define   LSb16ISA_WRINC_EXX_WR16                             1
    #define       bISA_WRINC_EXX_WR16                          1
    #define   MSK32ISA_WRINC_EXX_WR16                             0x00000002

    #define     BA_ISA_WRINC_EXX_WRTQ                          0x0014
    #define     B16ISA_WRINC_EXX_WRTQ                          0x0014
    #define   LSb32ISA_WRINC_EXX_WRTQ                             2
    #define   LSb16ISA_WRINC_EXX_WRTQ                             2
    #define       bISA_WRINC_EXX_WRTQ                          1
    #define   MSK32ISA_WRINC_EXX_WRTQ                             0x00000004

    #define     BA_ISA_WRINC_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_WRINC_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_WRINC_EXX_ALU64PUSH                        3
    #define   LSb16ISA_WRINC_EXX_ALU64PUSH                        3
    #define       bISA_WRINC_EXX_ALU64PUSH                     1
    #define   MSK32ISA_WRINC_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_WRINC_EXX_ALU64POP                      0x0014
    #define     B16ISA_WRINC_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_WRINC_EXX_ALU64POP                         4
    #define   LSb16ISA_WRINC_EXX_ALU64POP                         4
    #define       bISA_WRINC_EXX_ALU64POP                      1
    #define   MSK32ISA_WRINC_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_WRINC_EXX_ALU64SQ                       0x0014
    #define     B16ISA_WRINC_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_WRINC_EXX_ALU64SQ                          5
    #define   LSb16ISA_WRINC_EXX_ALU64SQ                          5
    #define       bISA_WRINC_EXX_ALU64SQ                       1
    #define   MSK32ISA_WRINC_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_WRINC_EXX_ALU64TQ                       0x0014
    #define     B16ISA_WRINC_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_WRINC_EXX_ALU64TQ                          6
    #define   LSb16ISA_WRINC_EXX_ALU64TQ                          6
    #define       bISA_WRINC_EXX_ALU64TQ                       1
    #define   MSK32ISA_WRINC_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_WRINC_EXX_ALU64MEM                      0x0014
    #define     B16ISA_WRINC_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_WRINC_EXX_ALU64MEM                         7
    #define   LSb16ISA_WRINC_EXX_ALU64MEM                         7
    #define       bISA_WRINC_EXX_ALU64MEM                      1
    #define   MSK32ISA_WRINC_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_WRINC_EXX_BRANCH                        0x0015
    #define     B16ISA_WRINC_EXX_BRANCH                        0x0014
    #define   LSb32ISA_WRINC_EXX_BRANCH                           8
    #define   LSb16ISA_WRINC_EXX_BRANCH                           8
    #define       bISA_WRINC_EXX_BRANCH                        1
    #define   MSK32ISA_WRINC_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_WRINC_WB                                0x0018

    #define     BA_ISA_WRINC_WB_RF16                           0x0018
    #define     B16ISA_WRINC_WB_RF16                           0x0018
    #define   LSb32ISA_WRINC_WB_RF16                              0
    #define   LSb16ISA_WRINC_WB_RF16                              0
    #define       bISA_WRINC_WB_RF16                           1
    #define   MSK32ISA_WRINC_WB_RF16                              0x00000001

    #define     BA_ISA_WRINC_WB_RF16W0                         0x0018
    #define     B16ISA_WRINC_WB_RF16W0                         0x0018
    #define   LSb32ISA_WRINC_WB_RF16W0                            1
    #define   LSb16ISA_WRINC_WB_RF16W0                            1
    #define       bISA_WRINC_WB_RF16W0                         1
    #define   MSK32ISA_WRINC_WB_RF16W0                            0x00000002

    #define     BA_ISA_WRINC_WB_RF16MEM                        0x0018
    #define     B16ISA_WRINC_WB_RF16MEM                        0x0018
    #define   LSb32ISA_WRINC_WB_RF16MEM                           2
    #define   LSb16ISA_WRINC_WB_RF16MEM                           2
    #define       bISA_WRINC_WB_RF16MEM                        1
    #define   MSK32ISA_WRINC_WB_RF16MEM                           0x00000004

    #define     BA_ISA_WRINC_WB_RF16Q                          0x0018
    #define     B16ISA_WRINC_WB_RF16Q                          0x0018
    #define   LSb32ISA_WRINC_WB_RF16Q                             3
    #define   LSb16ISA_WRINC_WB_RF16Q                             3
    #define       bISA_WRINC_WB_RF16Q                          1
    #define   MSK32ISA_WRINC_WB_RF16Q                             0x00000008

    #define     BA_ISA_WRINC_WB_RF64                           0x0018
    #define     B16ISA_WRINC_WB_RF64                           0x0018
    #define   LSb32ISA_WRINC_WB_RF64                              4
    #define   LSb16ISA_WRINC_WB_RF64                              4
    #define       bISA_WRINC_WB_RF64                           1
    #define   MSK32ISA_WRINC_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_WRINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_WRINC_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_WRINC_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WRINC_Mask;
            struct w32ISA_WRINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_WRINC_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_WRINC_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_WRINC_Opcode;
            struct w32ISA_WRINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRINC_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRINC_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRINC_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRINC_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRINC_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRINC_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRINC_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRINC_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRINC_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRINC_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRINC_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRINC_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRINC_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRINC_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRINC_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRINC_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRINC_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRINC_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRINC_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRINC_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WRINC_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_WRINC_ID;
            struct w32ISA_WRINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRINC_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRINC_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRINC_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRINC_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRINC_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRINC_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRINC_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRINC_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRINC_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRINC_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRINC_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRINC_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRINC_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRINC_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRINC_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRINC_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRINC_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRINC_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRINC_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRINC_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRINC_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRINC_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRINC_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRINC_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WRINC_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_WRINC_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WRINC_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_WRINC_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WRINC_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_WRINC_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_WRINC_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_WRINC_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_WRINC_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_WRINC_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_WRINC_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_WRINC_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_WRINC_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_WRINC_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_WRINC_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_WRINC_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_WRINC_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_WRINC_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_WRINC_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_WRINC_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_WRINC_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_WRINC_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_WRINC_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_WRINC_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_WRINC_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_WRINC_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_WRINC_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_WRINC_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_WRINC_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_WRINC_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_WRINC_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_WRINC_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_WRINC_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_WRINC_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_WRINC_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_WRINC_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_WRINC_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_WRINC_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_WRINC_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_WRINC_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_WRINC_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_WRINC_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_WRINC_LD;
            struct w32ISA_WRINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRINC_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRINC_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRINC_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRINC_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRINC_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRINC_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRINC_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRINC_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRINC_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRINC_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRINC_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRINC_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRINC_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRINC_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRINC_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRINC_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRINC_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRINC_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRINC_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_WRINC_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_WRINC_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_WRINC_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_WRINC_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_WRINC_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_WRINC_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_WRINC_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_WRINC_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_WRINC_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_WRINC_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_WRINC_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_WRINC_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_WRINC_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_WRINC_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_WRINC_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_WRINC_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_WRINC_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_WRINC_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_WRINC_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_WRINC_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_WRINC_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_WRINC_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_WRINC_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_WRINC_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_WRINC_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_WRINC_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_WRINC_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_WRINC_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_WRINC_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_WRINC_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_WRINC_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_WRINC_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_WRINC_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_WRINC_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_WRINC_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_WRINC_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_WRINC_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_WRINC_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_WRINC_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_WRINC_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_WRINC_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRINC_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_WRINC_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_WRINC_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRINC_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRINC_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_WRINC_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_WRINC_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRINC_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_WRINC_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_WRINC_EX;
            struct w32ISA_WRINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRINC_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRINC_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRINC_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRINC_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRINC_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRINC_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRINC_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRINC_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRINC_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRINC_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_WRINC_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_WRINC_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_WRINC_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_WRINC_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_WRINC_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_WRINC_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_WRINC_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_WRINC_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_WRINC_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_WRINC_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_WRINC_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_WRINC_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_WRINC_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_WRINC_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_WRINC_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_WRINC_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_WRINC_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_WRINC_EXX;
            struct w32ISA_WRINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_WRINC_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_WRINC_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_WRINC_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_WRINC_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_WRINC_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_WRINC_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_WRINC_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_WRINC_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_WRINC_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_WRINC_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_WRINC_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_WRINC_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_WRINC_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_WRINC_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_WRINC_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_WRINC_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_WRINC_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_WRINC_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_WRINC_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_WRINC_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_WRINC_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_WRINC_WB;
            struct w32ISA_WRINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_WRINC;

    typedef union  T32ISA_WRINC_Mask
          { UNSG32 u32;
            struct w32ISA_WRINC_Mask;
                 } T32ISA_WRINC_Mask;
    typedef union  T32ISA_WRINC_Opcode
          { UNSG32 u32;
            struct w32ISA_WRINC_Opcode;
                 } T32ISA_WRINC_Opcode;
    typedef union  T32ISA_WRINC_ID
          { UNSG32 u32;
            struct w32ISA_WRINC_ID;
                 } T32ISA_WRINC_ID;
    typedef union  T32ISA_WRINC_LD
          { UNSG32 u32;
            struct w32ISA_WRINC_LD;
                 } T32ISA_WRINC_LD;
    typedef union  T32ISA_WRINC_EX
          { UNSG32 u32;
            struct w32ISA_WRINC_EX;
                 } T32ISA_WRINC_EX;
    typedef union  T32ISA_WRINC_EXX
          { UNSG32 u32;
            struct w32ISA_WRINC_EXX;
                 } T32ISA_WRINC_EXX;
    typedef union  T32ISA_WRINC_WB
          { UNSG32 u32;
            struct w32ISA_WRINC_WB;
                 } T32ISA_WRINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_WRINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_Mask;
                   };
                 } TISA_WRINC_Mask;
    typedef union  TISA_WRINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_Opcode;
                   };
                 } TISA_WRINC_Opcode;
    typedef union  TISA_WRINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_ID;
                   };
                 } TISA_WRINC_ID;
    typedef union  TISA_WRINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_LD;
                   };
                 } TISA_WRINC_LD;
    typedef union  TISA_WRINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_EX;
                   };
                 } TISA_WRINC_EX;
    typedef union  TISA_WRINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_EXX;
                   };
                 } TISA_WRINC_EXX;
    typedef union  TISA_WRINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_WRINC_WB;
                   };
                 } TISA_WRINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_WRINC_drvrd(SIE_ISA_WRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_WRINC_drvwr(SIE_ISA_WRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_WRINC_reset(SIE_ISA_WRINC *p);
     SIGN32 ISA_WRINC_cmp  (SIE_ISA_WRINC *p, SIE_ISA_WRINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_WRINC_check(p,pie,pfx,hLOG) ISA_WRINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_WRINC_print(p,    pfx,hLOG) ISA_WRINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_WRINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_INCWR                                (4,4)
///     ###
///     * Memory write of 16b register.
///     * Using address register with an offset [-128~127].
///     * Address register is also updated with same offset, and no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x500002
///                                    ###
///                                    * -                                                                 
///                                    * - { "INC.WR" , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0010" } ,
///                                    * - Usage:
///                                    * -    INC.WR   %a1, + 2, %d1   ; M16[ %a1 + 8 ] = %d1;
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    0x1
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      0x1
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      0x1
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_INCWR
#define h_ISA_INCWR (){}

    #define     RA_ISA_INCWR_Mask                              0x0000

    #define     BA_ISA_INCWR_Mask_INS                          0x0000
    #define     B16ISA_INCWR_Mask_INS                          0x0000
    #define   LSb32ISA_INCWR_Mask_INS                             0
    #define   LSb16ISA_INCWR_Mask_INS                             0
    #define       bISA_INCWR_Mask_INS                          24
    #define   MSK32ISA_INCWR_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_Opcode                            0x0004

    #define     BA_ISA_INCWR_Opcode_INS                        0x0004
    #define     B16ISA_INCWR_Opcode_INS                        0x0004
    #define   LSb32ISA_INCWR_Opcode_INS                           0
    #define   LSb16ISA_INCWR_Opcode_INS                           0
    #define       bISA_INCWR_Opcode_INS                        24
    #define   MSK32ISA_INCWR_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_ID                                0x0008

    #define     BA_ISA_INCWR_ID_RBRF                           0x0008
    #define     B16ISA_INCWR_ID_RBRF                           0x0008
    #define   LSb32ISA_INCWR_ID_RBRF                              0
    #define   LSb16ISA_INCWR_ID_RBRF                              0
    #define       bISA_INCWR_ID_RBRF                           1
    #define   MSK32ISA_INCWR_ID_RBRF                              0x00000001

    #define     BA_ISA_INCWR_ID_RARF                           0x0008
    #define     B16ISA_INCWR_ID_RARF                           0x0008
    #define   LSb32ISA_INCWR_ID_RARF                              1
    #define   LSb16ISA_INCWR_ID_RARF                              1
    #define       bISA_INCWR_ID_RARF                           1
    #define   MSK32ISA_INCWR_ID_RARF                              0x00000002

    #define     BA_ISA_INCWR_ID_RAK8                           0x0008
    #define     B16ISA_INCWR_ID_RAK8                           0x0008
    #define   LSb32ISA_INCWR_ID_RAK8                              2
    #define   LSb16ISA_INCWR_ID_RAK8                              2
    #define       bISA_INCWR_ID_RAK8                           1
    #define   MSK32ISA_INCWR_ID_RAK8                              0x00000004

    #define     BA_ISA_INCWR_ID_RAI16                          0x0008
    #define     B16ISA_INCWR_ID_RAI16                          0x0008
    #define   LSb32ISA_INCWR_ID_RAI16                             3
    #define   LSb16ISA_INCWR_ID_RAI16                             3
    #define       bISA_INCWR_ID_RAI16                          1
    #define   MSK32ISA_INCWR_ID_RAI16                             0x00000008

    #define     BA_ISA_INCWR_ID_RAK16                          0x0008
    #define     B16ISA_INCWR_ID_RAK16                          0x0008
    #define   LSb32ISA_INCWR_ID_RAK16                             4
    #define   LSb16ISA_INCWR_ID_RAK16                             4
    #define       bISA_INCWR_ID_RAK16                          1
    #define   MSK32ISA_INCWR_ID_RAK16                             0x00000010

    #define     BA_ISA_INCWR_ID_RFSP                           0x0008
    #define     B16ISA_INCWR_ID_RFSP                           0x0008
    #define   LSb32ISA_INCWR_ID_RFSP                              5
    #define   LSb16ISA_INCWR_ID_RFSP                              5
    #define       bISA_INCWR_ID_RFSP                           1
    #define   MSK32ISA_INCWR_ID_RFSP                              0x00000020

    #define     BA_ISA_INCWR_ID_W4D4                           0x0008
    #define     B16ISA_INCWR_ID_W4D4                           0x0008
    #define   LSb32ISA_INCWR_ID_W4D4                              6
    #define   LSb16ISA_INCWR_ID_W4D4                              6
    #define       bISA_INCWR_ID_W4D4                           1
    #define   MSK32ISA_INCWR_ID_W4D4                              0x00000040

    #define     BA_ISA_INCWR_ID_W4S4                           0x0008
    #define     B16ISA_INCWR_ID_W4S4                           0x0008
    #define   LSb32ISA_INCWR_ID_W4S4                              7
    #define   LSb16ISA_INCWR_ID_W4S4                              7
    #define       bISA_INCWR_ID_W4S4                           1
    #define   MSK32ISA_INCWR_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_LD                                0x000C

    #define     BA_ISA_INCWR_LD_SPRF                           0x000C
    #define     B16ISA_INCWR_LD_SPRF                           0x000C
    #define   LSb32ISA_INCWR_LD_SPRF                              0
    #define   LSb16ISA_INCWR_LD_SPRF                              0
    #define       bISA_INCWR_LD_SPRF                           1
    #define   MSK32ISA_INCWR_LD_SPRF                              0x00000001

    #define     BA_ISA_INCWR_LD_SPK8                           0x000C
    #define     B16ISA_INCWR_LD_SPK8                           0x000C
    #define   LSb32ISA_INCWR_LD_SPK8                              1
    #define   LSb16ISA_INCWR_LD_SPK8                              1
    #define       bISA_INCWR_LD_SPK8                           1
    #define   MSK32ISA_INCWR_LD_SPK8                              0x00000002

    #define     BA_ISA_INCWR_LD_SPJ                            0x000C
    #define     B16ISA_INCWR_LD_SPJ                            0x000C
    #define   LSb32ISA_INCWR_LD_SPJ                               2
    #define   LSb16ISA_INCWR_LD_SPJ                               2
    #define       bISA_INCWR_LD_SPJ                            1
    #define   MSK32ISA_INCWR_LD_SPJ                               0x00000004

    #define     BA_ISA_INCWR_LD_SP4S                           0x000C
    #define     B16ISA_INCWR_LD_SP4S                           0x000C
    #define   LSb32ISA_INCWR_LD_SP4S                              3
    #define   LSb16ISA_INCWR_LD_SP4S                              3
    #define       bISA_INCWR_LD_SP4S                           1
    #define   MSK32ISA_INCWR_LD_SP4S                              0x00000008

    #define     BA_ISA_INCWR_LD_SP8S                           0x000C
    #define     B16ISA_INCWR_LD_SP8S                           0x000C
    #define   LSb32ISA_INCWR_LD_SP8S                              4
    #define   LSb16ISA_INCWR_LD_SP8S                              4
    #define       bISA_INCWR_LD_SP8S                           1
    #define   MSK32ISA_INCWR_LD_SP8S                              0x00000010

    #define     BA_ISA_INCWR_LD_SP8U                           0x000C
    #define     B16ISA_INCWR_LD_SP8U                           0x000C
    #define   LSb32ISA_INCWR_LD_SP8U                              5
    #define   LSb16ISA_INCWR_LD_SP8U                              5
    #define       bISA_INCWR_LD_SP8U                           1
    #define   MSK32ISA_INCWR_LD_SP8U                              0x00000020

    #define     BA_ISA_INCWR_LD_SP12S                          0x000C
    #define     B16ISA_INCWR_LD_SP12S                          0x000C
    #define   LSb32ISA_INCWR_LD_SP12S                             6
    #define   LSb16ISA_INCWR_LD_SP12S                             6
    #define       bISA_INCWR_LD_SP12S                          1
    #define   MSK32ISA_INCWR_LD_SP12S                             0x00000040

    #define     BA_ISA_INCWR_LD_SP16                           0x000C
    #define     B16ISA_INCWR_LD_SP16                           0x000C
    #define   LSb32ISA_INCWR_LD_SP16                              7
    #define   LSb16ISA_INCWR_LD_SP16                              7
    #define       bISA_INCWR_LD_SP16                           1
    #define   MSK32ISA_INCWR_LD_SP16                              0x00000080

    #define     BA_ISA_INCWR_LD_TPRF                           0x000D
    #define     B16ISA_INCWR_LD_TPRF                           0x000C
    #define   LSb32ISA_INCWR_LD_TPRF                              8
    #define   LSb16ISA_INCWR_LD_TPRF                              8
    #define       bISA_INCWR_LD_TPRF                           1
    #define   MSK32ISA_INCWR_LD_TPRF                              0x00000100

    #define     BA_ISA_INCWR_LD_TPJ                            0x000D
    #define     B16ISA_INCWR_LD_TPJ                            0x000C
    #define   LSb32ISA_INCWR_LD_TPJ                               9
    #define   LSb16ISA_INCWR_LD_TPJ                               9
    #define       bISA_INCWR_LD_TPJ                            1
    #define   MSK32ISA_INCWR_LD_TPJ                               0x00000200

    #define     BA_ISA_INCWR_LD_TP4S                           0x000D
    #define     B16ISA_INCWR_LD_TP4S                           0x000C
    #define   LSb32ISA_INCWR_LD_TP4S                              10
    #define   LSb16ISA_INCWR_LD_TP4S                              10
    #define       bISA_INCWR_LD_TP4S                           1
    #define   MSK32ISA_INCWR_LD_TP4S                              0x00000400

    #define     BA_ISA_INCWR_LD_TP8L                           0x000D
    #define     B16ISA_INCWR_LD_TP8L                           0x000C
    #define   LSb32ISA_INCWR_LD_TP8L                              11
    #define   LSb16ISA_INCWR_LD_TP8L                              11
    #define       bISA_INCWR_LD_TP8L                           1
    #define   MSK32ISA_INCWR_LD_TP8L                              0x00000800

    #define     BA_ISA_INCWR_LD_TP8H                           0x000D
    #define     B16ISA_INCWR_LD_TP8H                           0x000C
    #define   LSb32ISA_INCWR_LD_TP8H                              12
    #define   LSb16ISA_INCWR_LD_TP8H                              12
    #define       bISA_INCWR_LD_TP8H                           1
    #define   MSK32ISA_INCWR_LD_TP8H                              0x00001000

    #define     BA_ISA_INCWR_LD_TP8LF                          0x000D
    #define     B16ISA_INCWR_LD_TP8LF                          0x000C
    #define   LSb32ISA_INCWR_LD_TP8LF                             13
    #define   LSb16ISA_INCWR_LD_TP8LF                             13
    #define       bISA_INCWR_LD_TP8LF                          1
    #define   MSK32ISA_INCWR_LD_TP8LF                             0x00002000

    #define     BA_ISA_INCWR_LD_TP8HF                          0x000D
    #define     B16ISA_INCWR_LD_TP8HF                          0x000C
    #define   LSb32ISA_INCWR_LD_TP8HF                             14
    #define   LSb16ISA_INCWR_LD_TP8HF                             14
    #define       bISA_INCWR_LD_TP8HF                          1
    #define   MSK32ISA_INCWR_LD_TP8HF                             0x00004000

    #define     BA_ISA_INCWR_LD_SQRF64                         0x000D
    #define     B16ISA_INCWR_LD_SQRF64                         0x000C
    #define   LSb32ISA_INCWR_LD_SQRF64                            15
    #define   LSb16ISA_INCWR_LD_SQRF64                            15
    #define       bISA_INCWR_LD_SQRF64                         1
    #define   MSK32ISA_INCWR_LD_SQRF64                            0x00008000

    #define     BA_ISA_INCWR_LD_TQRF16Q                        0x000E
    #define     B16ISA_INCWR_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_INCWR_LD_TQRF16Q                           16
    #define   LSb16ISA_INCWR_LD_TQRF16Q                           0
    #define       bISA_INCWR_LD_TQRF16Q                        1
    #define   MSK32ISA_INCWR_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_INCWR_LD_TQRFx4                         0x000E
    #define     B16ISA_INCWR_LD_TQRFx4                         0x000E
    #define   LSb32ISA_INCWR_LD_TQRFx4                            17
    #define   LSb16ISA_INCWR_LD_TQRFx4                            1
    #define       bISA_INCWR_LD_TQRFx4                         1
    #define   MSK32ISA_INCWR_LD_TQRFx4                            0x00020000

    #define     BA_ISA_INCWR_LD_RD                             0x000E
    #define     B16ISA_INCWR_LD_RD                             0x000E
    #define   LSb32ISA_INCWR_LD_RD                                18
    #define   LSb16ISA_INCWR_LD_RD                                2
    #define       bISA_INCWR_LD_RD                             1
    #define   MSK32ISA_INCWR_LD_RD                                0x00040000

    #define     BA_ISA_INCWR_LD_WARF                           0x000E
    #define     B16ISA_INCWR_LD_WARF                           0x000E
    #define   LSb32ISA_INCWR_LD_WARF                              19
    #define   LSb16ISA_INCWR_LD_WARF                              3
    #define       bISA_INCWR_LD_WARF                           1
    #define   MSK32ISA_INCWR_LD_WARF                              0x00080000

    #define     BA_ISA_INCWR_LD_WAK8                           0x000E
    #define     B16ISA_INCWR_LD_WAK8                           0x000E
    #define   LSb32ISA_INCWR_LD_WAK8                              20
    #define   LSb16ISA_INCWR_LD_WAK8                              4
    #define       bISA_INCWR_LD_WAK8                           1
    #define   MSK32ISA_INCWR_LD_WAK8                              0x00100000

    #define     BA_ISA_INCWR_LD_WAK16                          0x000E
    #define     B16ISA_INCWR_LD_WAK16                          0x000E
    #define   LSb32ISA_INCWR_LD_WAK16                             21
    #define   LSb16ISA_INCWR_LD_WAK16                             5
    #define       bISA_INCWR_LD_WAK16                          1
    #define   MSK32ISA_INCWR_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_EX                                0x0010

    #define     BA_ISA_INCWR_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagZ                        0
    #define   LSb16ISA_INCWR_EX_ALU16FlagZ                        0
    #define       bISA_INCWR_EX_ALU16FlagZ                     1
    #define   MSK32ISA_INCWR_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_INCWR_EX_ALU16FlagC                     0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagC                        1
    #define   LSb16ISA_INCWR_EX_ALU16FlagC                        1
    #define       bISA_INCWR_EX_ALU16FlagC                     1
    #define   MSK32ISA_INCWR_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_INCWR_EX_ALU16FlagN                     0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagN                        2
    #define   LSb16ISA_INCWR_EX_ALU16FlagN                        2
    #define       bISA_INCWR_EX_ALU16FlagN                     1
    #define   MSK32ISA_INCWR_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_INCWR_EX_ALU16FlagV                     0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagV                        3
    #define   LSb16ISA_INCWR_EX_ALU16FlagV                        3
    #define       bISA_INCWR_EX_ALU16FlagV                     1
    #define   MSK32ISA_INCWR_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_INCWR_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagTP                       4
    #define   LSb16ISA_INCWR_EX_ALU16FlagTP                       4
    #define       bISA_INCWR_EX_ALU16FlagTP                    1
    #define   MSK32ISA_INCWR_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_INCWR_EX_ALU16MUL                       0x0010
    #define     B16ISA_INCWR_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16MUL                          5
    #define   LSb16ISA_INCWR_EX_ALU16MUL                          5
    #define       bISA_INCWR_EX_ALU16MUL                       1
    #define   MSK32ISA_INCWR_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_INCWR_EX_ALU16DIV                       0x0010
    #define     B16ISA_INCWR_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16DIV                          6
    #define   LSb16ISA_INCWR_EX_ALU16DIV                          6
    #define       bISA_INCWR_EX_ALU16DIV                       1
    #define   MSK32ISA_INCWR_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_INCWR_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_INCWR_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_INCWR_EX_ALU16FlagLD                       7
    #define   LSb16ISA_INCWR_EX_ALU16FlagLD                       7
    #define       bISA_INCWR_EX_ALU16FlagLD                    1
    #define   MSK32ISA_INCWR_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_INCWR_EX_ALU16MDL                       0x0011
    #define     B16ISA_INCWR_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16MDL                          8
    #define   LSb16ISA_INCWR_EX_ALU16MDL                          8
    #define       bISA_INCWR_EX_ALU16MDL                       1
    #define   MSK32ISA_INCWR_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_INCWR_EX_ALU16MDH                       0x0011
    #define     B16ISA_INCWR_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16MDH                          9
    #define   LSb16ISA_INCWR_EX_ALU16MDH                          9
    #define       bISA_INCWR_EX_ALU16MDH                       1
    #define   MSK32ISA_INCWR_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_INCWR_EX_ALU16ADD                       0x0011
    #define     B16ISA_INCWR_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16ADD                          10
    #define   LSb16ISA_INCWR_EX_ALU16ADD                          10
    #define       bISA_INCWR_EX_ALU16ADD                       1
    #define   MSK32ISA_INCWR_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_INCWR_EX_ALU16SUB                       0x0011
    #define     B16ISA_INCWR_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16SUB                          11
    #define   LSb16ISA_INCWR_EX_ALU16SUB                          11
    #define       bISA_INCWR_EX_ALU16SUB                       1
    #define   MSK32ISA_INCWR_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_INCWR_EX_ALU16ADDC                      0x0011
    #define     B16ISA_INCWR_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_INCWR_EX_ALU16ADDC                         12
    #define   LSb16ISA_INCWR_EX_ALU16ADDC                         12
    #define       bISA_INCWR_EX_ALU16ADDC                      1
    #define   MSK32ISA_INCWR_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_INCWR_EX_ALU16SUBC                      0x0011
    #define     B16ISA_INCWR_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_INCWR_EX_ALU16SUBC                         13
    #define   LSb16ISA_INCWR_EX_ALU16SUBC                         13
    #define       bISA_INCWR_EX_ALU16SUBC                      1
    #define   MSK32ISA_INCWR_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_INCWR_EX_ALU16ASR                       0x0011
    #define     B16ISA_INCWR_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_INCWR_EX_ALU16ASR                          14
    #define   LSb16ISA_INCWR_EX_ALU16ASR                          14
    #define       bISA_INCWR_EX_ALU16ASR                       1
    #define   MSK32ISA_INCWR_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_INCWR_EX_ALU16SL                        0x0011
    #define     B16ISA_INCWR_EX_ALU16SL                        0x0010
    #define   LSb32ISA_INCWR_EX_ALU16SL                           15
    #define   LSb16ISA_INCWR_EX_ALU16SL                           15
    #define       bISA_INCWR_EX_ALU16SL                        1
    #define   MSK32ISA_INCWR_EX_ALU16SL                           0x00008000

    #define     BA_ISA_INCWR_EX_ALU16SR                        0x0012
    #define     B16ISA_INCWR_EX_ALU16SR                        0x0012
    #define   LSb32ISA_INCWR_EX_ALU16SR                           16
    #define   LSb16ISA_INCWR_EX_ALU16SR                           0
    #define       bISA_INCWR_EX_ALU16SR                        1
    #define   MSK32ISA_INCWR_EX_ALU16SR                           0x00010000

    #define     BA_ISA_INCWR_EX_ALU16GET                       0x0012
    #define     B16ISA_INCWR_EX_ALU16GET                       0x0012
    #define   LSb32ISA_INCWR_EX_ALU16GET                          17
    #define   LSb16ISA_INCWR_EX_ALU16GET                          1
    #define       bISA_INCWR_EX_ALU16GET                       1
    #define   MSK32ISA_INCWR_EX_ALU16GET                          0x00020000

    #define     BA_ISA_INCWR_EX_ALU16SET                       0x0012
    #define     B16ISA_INCWR_EX_ALU16SET                       0x0012
    #define   LSb32ISA_INCWR_EX_ALU16SET                          18
    #define   LSb16ISA_INCWR_EX_ALU16SET                          2
    #define       bISA_INCWR_EX_ALU16SET                       1
    #define   MSK32ISA_INCWR_EX_ALU16SET                          0x00040000

    #define     BA_ISA_INCWR_EX_ALU16SEL                       0x0012
    #define     B16ISA_INCWR_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_INCWR_EX_ALU16SEL                          19
    #define   LSb16ISA_INCWR_EX_ALU16SEL                          3
    #define       bISA_INCWR_EX_ALU16SEL                       1
    #define   MSK32ISA_INCWR_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_INCWR_EX_ALU16OR                        0x0012
    #define     B16ISA_INCWR_EX_ALU16OR                        0x0012
    #define   LSb32ISA_INCWR_EX_ALU16OR                           20
    #define   LSb16ISA_INCWR_EX_ALU16OR                           4
    #define       bISA_INCWR_EX_ALU16OR                        1
    #define   MSK32ISA_INCWR_EX_ALU16OR                           0x00100000

    #define     BA_ISA_INCWR_EX_ALU16AND                       0x0012
    #define     B16ISA_INCWR_EX_ALU16AND                       0x0012
    #define   LSb32ISA_INCWR_EX_ALU16AND                          21
    #define   LSb16ISA_INCWR_EX_ALU16AND                          5
    #define       bISA_INCWR_EX_ALU16AND                       1
    #define   MSK32ISA_INCWR_EX_ALU16AND                          0x00200000

    #define     BA_ISA_INCWR_EX_ALU16XOR                       0x0012
    #define     B16ISA_INCWR_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_INCWR_EX_ALU16XOR                          22
    #define   LSb16ISA_INCWR_EX_ALU16XOR                          6
    #define       bISA_INCWR_EX_ALU16XOR                       1
    #define   MSK32ISA_INCWR_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_INCWR_EX_ALU16SP                        0x0012
    #define     B16ISA_INCWR_EX_ALU16SP                        0x0012
    #define   LSb32ISA_INCWR_EX_ALU16SP                           23
    #define   LSb16ISA_INCWR_EX_ALU16SP                           7
    #define       bISA_INCWR_EX_ALU16SP                        1
    #define   MSK32ISA_INCWR_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_EXX                               0x0014

    #define     BA_ISA_INCWR_EXX_WRSQ                          0x0014
    #define     B16ISA_INCWR_EXX_WRSQ                          0x0014
    #define   LSb32ISA_INCWR_EXX_WRSQ                             0
    #define   LSb16ISA_INCWR_EXX_WRSQ                             0
    #define       bISA_INCWR_EXX_WRSQ                          1
    #define   MSK32ISA_INCWR_EXX_WRSQ                             0x00000001

    #define     BA_ISA_INCWR_EXX_WR16                          0x0014
    #define     B16ISA_INCWR_EXX_WR16                          0x0014
    #define   LSb32ISA_INCWR_EXX_WR16                             1
    #define   LSb16ISA_INCWR_EXX_WR16                             1
    #define       bISA_INCWR_EXX_WR16                          1
    #define   MSK32ISA_INCWR_EXX_WR16                             0x00000002

    #define     BA_ISA_INCWR_EXX_WRTQ                          0x0014
    #define     B16ISA_INCWR_EXX_WRTQ                          0x0014
    #define   LSb32ISA_INCWR_EXX_WRTQ                             2
    #define   LSb16ISA_INCWR_EXX_WRTQ                             2
    #define       bISA_INCWR_EXX_WRTQ                          1
    #define   MSK32ISA_INCWR_EXX_WRTQ                             0x00000004

    #define     BA_ISA_INCWR_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_INCWR_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_INCWR_EXX_ALU64PUSH                        3
    #define   LSb16ISA_INCWR_EXX_ALU64PUSH                        3
    #define       bISA_INCWR_EXX_ALU64PUSH                     1
    #define   MSK32ISA_INCWR_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_INCWR_EXX_ALU64POP                      0x0014
    #define     B16ISA_INCWR_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_INCWR_EXX_ALU64POP                         4
    #define   LSb16ISA_INCWR_EXX_ALU64POP                         4
    #define       bISA_INCWR_EXX_ALU64POP                      1
    #define   MSK32ISA_INCWR_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_INCWR_EXX_ALU64SQ                       0x0014
    #define     B16ISA_INCWR_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_INCWR_EXX_ALU64SQ                          5
    #define   LSb16ISA_INCWR_EXX_ALU64SQ                          5
    #define       bISA_INCWR_EXX_ALU64SQ                       1
    #define   MSK32ISA_INCWR_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_INCWR_EXX_ALU64TQ                       0x0014
    #define     B16ISA_INCWR_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_INCWR_EXX_ALU64TQ                          6
    #define   LSb16ISA_INCWR_EXX_ALU64TQ                          6
    #define       bISA_INCWR_EXX_ALU64TQ                       1
    #define   MSK32ISA_INCWR_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_INCWR_EXX_ALU64MEM                      0x0014
    #define     B16ISA_INCWR_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_INCWR_EXX_ALU64MEM                         7
    #define   LSb16ISA_INCWR_EXX_ALU64MEM                         7
    #define       bISA_INCWR_EXX_ALU64MEM                      1
    #define   MSK32ISA_INCWR_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_INCWR_EXX_BRANCH                        0x0015
    #define     B16ISA_INCWR_EXX_BRANCH                        0x0014
    #define   LSb32ISA_INCWR_EXX_BRANCH                           8
    #define   LSb16ISA_INCWR_EXX_BRANCH                           8
    #define       bISA_INCWR_EXX_BRANCH                        1
    #define   MSK32ISA_INCWR_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_INCWR_WB                                0x0018

    #define     BA_ISA_INCWR_WB_RF16                           0x0018
    #define     B16ISA_INCWR_WB_RF16                           0x0018
    #define   LSb32ISA_INCWR_WB_RF16                              0
    #define   LSb16ISA_INCWR_WB_RF16                              0
    #define       bISA_INCWR_WB_RF16                           1
    #define   MSK32ISA_INCWR_WB_RF16                              0x00000001

    #define     BA_ISA_INCWR_WB_RF16W0                         0x0018
    #define     B16ISA_INCWR_WB_RF16W0                         0x0018
    #define   LSb32ISA_INCWR_WB_RF16W0                            1
    #define   LSb16ISA_INCWR_WB_RF16W0                            1
    #define       bISA_INCWR_WB_RF16W0                         1
    #define   MSK32ISA_INCWR_WB_RF16W0                            0x00000002

    #define     BA_ISA_INCWR_WB_RF16MEM                        0x0018
    #define     B16ISA_INCWR_WB_RF16MEM                        0x0018
    #define   LSb32ISA_INCWR_WB_RF16MEM                           2
    #define   LSb16ISA_INCWR_WB_RF16MEM                           2
    #define       bISA_INCWR_WB_RF16MEM                        1
    #define   MSK32ISA_INCWR_WB_RF16MEM                           0x00000004

    #define     BA_ISA_INCWR_WB_RF16Q                          0x0018
    #define     B16ISA_INCWR_WB_RF16Q                          0x0018
    #define   LSb32ISA_INCWR_WB_RF16Q                             3
    #define   LSb16ISA_INCWR_WB_RF16Q                             3
    #define       bISA_INCWR_WB_RF16Q                          1
    #define   MSK32ISA_INCWR_WB_RF16Q                             0x00000008

    #define     BA_ISA_INCWR_WB_RF64                           0x0018
    #define     B16ISA_INCWR_WB_RF64                           0x0018
    #define   LSb32ISA_INCWR_WB_RF64                              4
    #define   LSb16ISA_INCWR_WB_RF64                              4
    #define       bISA_INCWR_WB_RF64                           1
    #define   MSK32ISA_INCWR_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_INCWR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_INCWR_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_INCWR_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_INCWR_Mask;
            struct w32ISA_INCWR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_INCWR_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_INCWR_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_INCWR_Opcode;
            struct w32ISA_INCWR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_INCWR_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_INCWR_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_INCWR_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_INCWR_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_INCWR_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_INCWR_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_INCWR_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_INCWR_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_INCWR_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_INCWR_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_INCWR_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_INCWR_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_INCWR_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_INCWR_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_INCWR_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_INCWR_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_INCWR_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_INCWR_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_INCWR_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_INCWR_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_INCWR_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_INCWR_ID;
            struct w32ISA_INCWR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_INCWR_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_INCWR_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_INCWR_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_INCWR_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_INCWR_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_INCWR_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_INCWR_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_INCWR_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_INCWR_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_INCWR_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_INCWR_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_INCWR_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_INCWR_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_INCWR_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_INCWR_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_INCWR_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_INCWR_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_INCWR_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_INCWR_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_INCWR_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_INCWR_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_INCWR_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_INCWR_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_INCWR_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_INCWR_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_INCWR_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_INCWR_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_INCWR_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_INCWR_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_INCWR_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_INCWR_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_INCWR_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_INCWR_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_INCWR_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_INCWR_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_INCWR_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_INCWR_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_INCWR_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_INCWR_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_INCWR_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_INCWR_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_INCWR_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_INCWR_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_INCWR_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_INCWR_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_INCWR_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_INCWR_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_INCWR_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_INCWR_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_INCWR_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_INCWR_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_INCWR_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_INCWR_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_INCWR_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_INCWR_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_INCWR_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_INCWR_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_INCWR_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_INCWR_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_INCWR_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_INCWR_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_INCWR_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_INCWR_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_INCWR_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_INCWR_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_INCWR_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_INCWR_LD;
            struct w32ISA_INCWR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_INCWR_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_INCWR_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_INCWR_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_INCWR_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_INCWR_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_INCWR_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_INCWR_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_INCWR_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_INCWR_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_INCWR_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_INCWR_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_INCWR_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_INCWR_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_INCWR_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_INCWR_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_INCWR_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_INCWR_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_INCWR_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_INCWR_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_INCWR_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_INCWR_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_INCWR_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_INCWR_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_INCWR_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_INCWR_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_INCWR_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_INCWR_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_INCWR_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_INCWR_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_INCWR_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_INCWR_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_INCWR_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_INCWR_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_INCWR_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_INCWR_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_INCWR_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_INCWR_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_INCWR_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_INCWR_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_INCWR_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_INCWR_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_INCWR_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_INCWR_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_INCWR_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_INCWR_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_INCWR_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_INCWR_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_INCWR_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_INCWR_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_INCWR_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_INCWR_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_INCWR_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_INCWR_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_INCWR_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_INCWR_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_INCWR_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_INCWR_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_INCWR_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_INCWR_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_INCWR_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_INCWR_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_INCWR_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_INCWR_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_INCWR_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_INCWR_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_INCWR_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_INCWR_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_INCWR_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_INCWR_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_INCWR_EX;
            struct w32ISA_INCWR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_INCWR_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_INCWR_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_INCWR_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_INCWR_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_INCWR_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_INCWR_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_INCWR_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_INCWR_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_INCWR_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_INCWR_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_INCWR_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_INCWR_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_INCWR_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_INCWR_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_INCWR_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_INCWR_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_INCWR_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_INCWR_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_INCWR_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_INCWR_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_INCWR_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_INCWR_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_INCWR_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_INCWR_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_INCWR_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_INCWR_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_INCWR_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_INCWR_EXX;
            struct w32ISA_INCWR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_INCWR_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_INCWR_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_INCWR_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_INCWR_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_INCWR_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_INCWR_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_INCWR_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_INCWR_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_INCWR_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_INCWR_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_INCWR_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_INCWR_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_INCWR_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_INCWR_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_INCWR_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_INCWR_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_INCWR_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_INCWR_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_INCWR_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_INCWR_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_INCWR_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_INCWR_WB;
            struct w32ISA_INCWR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_INCWR;

    typedef union  T32ISA_INCWR_Mask
          { UNSG32 u32;
            struct w32ISA_INCWR_Mask;
                 } T32ISA_INCWR_Mask;
    typedef union  T32ISA_INCWR_Opcode
          { UNSG32 u32;
            struct w32ISA_INCWR_Opcode;
                 } T32ISA_INCWR_Opcode;
    typedef union  T32ISA_INCWR_ID
          { UNSG32 u32;
            struct w32ISA_INCWR_ID;
                 } T32ISA_INCWR_ID;
    typedef union  T32ISA_INCWR_LD
          { UNSG32 u32;
            struct w32ISA_INCWR_LD;
                 } T32ISA_INCWR_LD;
    typedef union  T32ISA_INCWR_EX
          { UNSG32 u32;
            struct w32ISA_INCWR_EX;
                 } T32ISA_INCWR_EX;
    typedef union  T32ISA_INCWR_EXX
          { UNSG32 u32;
            struct w32ISA_INCWR_EXX;
                 } T32ISA_INCWR_EXX;
    typedef union  T32ISA_INCWR_WB
          { UNSG32 u32;
            struct w32ISA_INCWR_WB;
                 } T32ISA_INCWR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_INCWR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_Mask;
                   };
                 } TISA_INCWR_Mask;
    typedef union  TISA_INCWR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_Opcode;
                   };
                 } TISA_INCWR_Opcode;
    typedef union  TISA_INCWR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_ID;
                   };
                 } TISA_INCWR_ID;
    typedef union  TISA_INCWR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_LD;
                   };
                 } TISA_INCWR_LD;
    typedef union  TISA_INCWR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_EX;
                   };
                 } TISA_INCWR_EX;
    typedef union  TISA_INCWR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_EXX;
                   };
                 } TISA_INCWR_EXX;
    typedef union  TISA_INCWR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_INCWR_WB;
                   };
                 } TISA_INCWR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_INCWR_drvrd(SIE_ISA_INCWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_INCWR_drvwr(SIE_ISA_INCWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_INCWR_reset(SIE_ISA_INCWR *p);
     SIGN32 ISA_INCWR_cmp  (SIE_ISA_INCWR *p, SIE_ISA_INCWR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_INCWR_check(p,pie,pfx,hLOG) ISA_INCWR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_INCWR_print(p,    pfx,hLOG) ISA_INCWR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_INCWR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XWRi                                 (4,4)
///     ###
///     * Memory write of 64b quad-register.
///     * Using 16b immediate number as absolute address.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00010
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x700010
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.WR.i" , "C,xT"        , "0111 CCCC CCCC CCCC TT-1 CCCC" } ,
///                                    * - Usage:
///                                    * -    X.WR.i   0x4000, %x2     ; M64[ 0x4000 ] = %x2;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     0x1
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      0x1
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XWRi
#define h_ISA_XWRi (){}

    #define     RA_ISA_XWRi_Mask                               0x0000

    #define     BA_ISA_XWRi_Mask_INS                           0x0000
    #define     B16ISA_XWRi_Mask_INS                           0x0000
    #define   LSb32ISA_XWRi_Mask_INS                              0
    #define   LSb16ISA_XWRi_Mask_INS                              0
    #define       bISA_XWRi_Mask_INS                           24
    #define   MSK32ISA_XWRi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_Opcode                             0x0004

    #define     BA_ISA_XWRi_Opcode_INS                         0x0004
    #define     B16ISA_XWRi_Opcode_INS                         0x0004
    #define   LSb32ISA_XWRi_Opcode_INS                            0
    #define   LSb16ISA_XWRi_Opcode_INS                            0
    #define       bISA_XWRi_Opcode_INS                         24
    #define   MSK32ISA_XWRi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_ID                                 0x0008

    #define     BA_ISA_XWRi_ID_RBRF                            0x0008
    #define     B16ISA_XWRi_ID_RBRF                            0x0008
    #define   LSb32ISA_XWRi_ID_RBRF                               0
    #define   LSb16ISA_XWRi_ID_RBRF                               0
    #define       bISA_XWRi_ID_RBRF                            1
    #define   MSK32ISA_XWRi_ID_RBRF                               0x00000001

    #define     BA_ISA_XWRi_ID_RARF                            0x0008
    #define     B16ISA_XWRi_ID_RARF                            0x0008
    #define   LSb32ISA_XWRi_ID_RARF                               1
    #define   LSb16ISA_XWRi_ID_RARF                               1
    #define       bISA_XWRi_ID_RARF                            1
    #define   MSK32ISA_XWRi_ID_RARF                               0x00000002

    #define     BA_ISA_XWRi_ID_RAK8                            0x0008
    #define     B16ISA_XWRi_ID_RAK8                            0x0008
    #define   LSb32ISA_XWRi_ID_RAK8                               2
    #define   LSb16ISA_XWRi_ID_RAK8                               2
    #define       bISA_XWRi_ID_RAK8                            1
    #define   MSK32ISA_XWRi_ID_RAK8                               0x00000004

    #define     BA_ISA_XWRi_ID_RAI16                           0x0008
    #define     B16ISA_XWRi_ID_RAI16                           0x0008
    #define   LSb32ISA_XWRi_ID_RAI16                              3
    #define   LSb16ISA_XWRi_ID_RAI16                              3
    #define       bISA_XWRi_ID_RAI16                           1
    #define   MSK32ISA_XWRi_ID_RAI16                              0x00000008

    #define     BA_ISA_XWRi_ID_RAK16                           0x0008
    #define     B16ISA_XWRi_ID_RAK16                           0x0008
    #define   LSb32ISA_XWRi_ID_RAK16                              4
    #define   LSb16ISA_XWRi_ID_RAK16                              4
    #define       bISA_XWRi_ID_RAK16                           1
    #define   MSK32ISA_XWRi_ID_RAK16                              0x00000010

    #define     BA_ISA_XWRi_ID_RFSP                            0x0008
    #define     B16ISA_XWRi_ID_RFSP                            0x0008
    #define   LSb32ISA_XWRi_ID_RFSP                               5
    #define   LSb16ISA_XWRi_ID_RFSP                               5
    #define       bISA_XWRi_ID_RFSP                            1
    #define   MSK32ISA_XWRi_ID_RFSP                               0x00000020

    #define     BA_ISA_XWRi_ID_W4D4                            0x0008
    #define     B16ISA_XWRi_ID_W4D4                            0x0008
    #define   LSb32ISA_XWRi_ID_W4D4                               6
    #define   LSb16ISA_XWRi_ID_W4D4                               6
    #define       bISA_XWRi_ID_W4D4                            1
    #define   MSK32ISA_XWRi_ID_W4D4                               0x00000040

    #define     BA_ISA_XWRi_ID_W4S4                            0x0008
    #define     B16ISA_XWRi_ID_W4S4                            0x0008
    #define   LSb32ISA_XWRi_ID_W4S4                               7
    #define   LSb16ISA_XWRi_ID_W4S4                               7
    #define       bISA_XWRi_ID_W4S4                            1
    #define   MSK32ISA_XWRi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_LD                                 0x000C

    #define     BA_ISA_XWRi_LD_SPRF                            0x000C
    #define     B16ISA_XWRi_LD_SPRF                            0x000C
    #define   LSb32ISA_XWRi_LD_SPRF                               0
    #define   LSb16ISA_XWRi_LD_SPRF                               0
    #define       bISA_XWRi_LD_SPRF                            1
    #define   MSK32ISA_XWRi_LD_SPRF                               0x00000001

    #define     BA_ISA_XWRi_LD_SPK8                            0x000C
    #define     B16ISA_XWRi_LD_SPK8                            0x000C
    #define   LSb32ISA_XWRi_LD_SPK8                               1
    #define   LSb16ISA_XWRi_LD_SPK8                               1
    #define       bISA_XWRi_LD_SPK8                            1
    #define   MSK32ISA_XWRi_LD_SPK8                               0x00000002

    #define     BA_ISA_XWRi_LD_SPJ                             0x000C
    #define     B16ISA_XWRi_LD_SPJ                             0x000C
    #define   LSb32ISA_XWRi_LD_SPJ                                2
    #define   LSb16ISA_XWRi_LD_SPJ                                2
    #define       bISA_XWRi_LD_SPJ                             1
    #define   MSK32ISA_XWRi_LD_SPJ                                0x00000004

    #define     BA_ISA_XWRi_LD_SP4S                            0x000C
    #define     B16ISA_XWRi_LD_SP4S                            0x000C
    #define   LSb32ISA_XWRi_LD_SP4S                               3
    #define   LSb16ISA_XWRi_LD_SP4S                               3
    #define       bISA_XWRi_LD_SP4S                            1
    #define   MSK32ISA_XWRi_LD_SP4S                               0x00000008

    #define     BA_ISA_XWRi_LD_SP8S                            0x000C
    #define     B16ISA_XWRi_LD_SP8S                            0x000C
    #define   LSb32ISA_XWRi_LD_SP8S                               4
    #define   LSb16ISA_XWRi_LD_SP8S                               4
    #define       bISA_XWRi_LD_SP8S                            1
    #define   MSK32ISA_XWRi_LD_SP8S                               0x00000010

    #define     BA_ISA_XWRi_LD_SP8U                            0x000C
    #define     B16ISA_XWRi_LD_SP8U                            0x000C
    #define   LSb32ISA_XWRi_LD_SP8U                               5
    #define   LSb16ISA_XWRi_LD_SP8U                               5
    #define       bISA_XWRi_LD_SP8U                            1
    #define   MSK32ISA_XWRi_LD_SP8U                               0x00000020

    #define     BA_ISA_XWRi_LD_SP12S                           0x000C
    #define     B16ISA_XWRi_LD_SP12S                           0x000C
    #define   LSb32ISA_XWRi_LD_SP12S                              6
    #define   LSb16ISA_XWRi_LD_SP12S                              6
    #define       bISA_XWRi_LD_SP12S                           1
    #define   MSK32ISA_XWRi_LD_SP12S                              0x00000040

    #define     BA_ISA_XWRi_LD_SP16                            0x000C
    #define     B16ISA_XWRi_LD_SP16                            0x000C
    #define   LSb32ISA_XWRi_LD_SP16                               7
    #define   LSb16ISA_XWRi_LD_SP16                               7
    #define       bISA_XWRi_LD_SP16                            1
    #define   MSK32ISA_XWRi_LD_SP16                               0x00000080

    #define     BA_ISA_XWRi_LD_TPRF                            0x000D
    #define     B16ISA_XWRi_LD_TPRF                            0x000C
    #define   LSb32ISA_XWRi_LD_TPRF                               8
    #define   LSb16ISA_XWRi_LD_TPRF                               8
    #define       bISA_XWRi_LD_TPRF                            1
    #define   MSK32ISA_XWRi_LD_TPRF                               0x00000100

    #define     BA_ISA_XWRi_LD_TPJ                             0x000D
    #define     B16ISA_XWRi_LD_TPJ                             0x000C
    #define   LSb32ISA_XWRi_LD_TPJ                                9
    #define   LSb16ISA_XWRi_LD_TPJ                                9
    #define       bISA_XWRi_LD_TPJ                             1
    #define   MSK32ISA_XWRi_LD_TPJ                                0x00000200

    #define     BA_ISA_XWRi_LD_TP4S                            0x000D
    #define     B16ISA_XWRi_LD_TP4S                            0x000C
    #define   LSb32ISA_XWRi_LD_TP4S                               10
    #define   LSb16ISA_XWRi_LD_TP4S                               10
    #define       bISA_XWRi_LD_TP4S                            1
    #define   MSK32ISA_XWRi_LD_TP4S                               0x00000400

    #define     BA_ISA_XWRi_LD_TP8L                            0x000D
    #define     B16ISA_XWRi_LD_TP8L                            0x000C
    #define   LSb32ISA_XWRi_LD_TP8L                               11
    #define   LSb16ISA_XWRi_LD_TP8L                               11
    #define       bISA_XWRi_LD_TP8L                            1
    #define   MSK32ISA_XWRi_LD_TP8L                               0x00000800

    #define     BA_ISA_XWRi_LD_TP8H                            0x000D
    #define     B16ISA_XWRi_LD_TP8H                            0x000C
    #define   LSb32ISA_XWRi_LD_TP8H                               12
    #define   LSb16ISA_XWRi_LD_TP8H                               12
    #define       bISA_XWRi_LD_TP8H                            1
    #define   MSK32ISA_XWRi_LD_TP8H                               0x00001000

    #define     BA_ISA_XWRi_LD_TP8LF                           0x000D
    #define     B16ISA_XWRi_LD_TP8LF                           0x000C
    #define   LSb32ISA_XWRi_LD_TP8LF                              13
    #define   LSb16ISA_XWRi_LD_TP8LF                              13
    #define       bISA_XWRi_LD_TP8LF                           1
    #define   MSK32ISA_XWRi_LD_TP8LF                              0x00002000

    #define     BA_ISA_XWRi_LD_TP8HF                           0x000D
    #define     B16ISA_XWRi_LD_TP8HF                           0x000C
    #define   LSb32ISA_XWRi_LD_TP8HF                              14
    #define   LSb16ISA_XWRi_LD_TP8HF                              14
    #define       bISA_XWRi_LD_TP8HF                           1
    #define   MSK32ISA_XWRi_LD_TP8HF                              0x00004000

    #define     BA_ISA_XWRi_LD_SQRF64                          0x000D
    #define     B16ISA_XWRi_LD_SQRF64                          0x000C
    #define   LSb32ISA_XWRi_LD_SQRF64                             15
    #define   LSb16ISA_XWRi_LD_SQRF64                             15
    #define       bISA_XWRi_LD_SQRF64                          1
    #define   MSK32ISA_XWRi_LD_SQRF64                             0x00008000

    #define     BA_ISA_XWRi_LD_TQRF16Q                         0x000E
    #define     B16ISA_XWRi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_XWRi_LD_TQRF16Q                            16
    #define   LSb16ISA_XWRi_LD_TQRF16Q                            0
    #define       bISA_XWRi_LD_TQRF16Q                         1
    #define   MSK32ISA_XWRi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_XWRi_LD_TQRFx4                          0x000E
    #define     B16ISA_XWRi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_XWRi_LD_TQRFx4                             17
    #define   LSb16ISA_XWRi_LD_TQRFx4                             1
    #define       bISA_XWRi_LD_TQRFx4                          1
    #define   MSK32ISA_XWRi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_XWRi_LD_RD                              0x000E
    #define     B16ISA_XWRi_LD_RD                              0x000E
    #define   LSb32ISA_XWRi_LD_RD                                 18
    #define   LSb16ISA_XWRi_LD_RD                                 2
    #define       bISA_XWRi_LD_RD                              1
    #define   MSK32ISA_XWRi_LD_RD                                 0x00040000

    #define     BA_ISA_XWRi_LD_WARF                            0x000E
    #define     B16ISA_XWRi_LD_WARF                            0x000E
    #define   LSb32ISA_XWRi_LD_WARF                               19
    #define   LSb16ISA_XWRi_LD_WARF                               3
    #define       bISA_XWRi_LD_WARF                            1
    #define   MSK32ISA_XWRi_LD_WARF                               0x00080000

    #define     BA_ISA_XWRi_LD_WAK8                            0x000E
    #define     B16ISA_XWRi_LD_WAK8                            0x000E
    #define   LSb32ISA_XWRi_LD_WAK8                               20
    #define   LSb16ISA_XWRi_LD_WAK8                               4
    #define       bISA_XWRi_LD_WAK8                            1
    #define   MSK32ISA_XWRi_LD_WAK8                               0x00100000

    #define     BA_ISA_XWRi_LD_WAK16                           0x000E
    #define     B16ISA_XWRi_LD_WAK16                           0x000E
    #define   LSb32ISA_XWRi_LD_WAK16                              21
    #define   LSb16ISA_XWRi_LD_WAK16                              5
    #define       bISA_XWRi_LD_WAK16                           1
    #define   MSK32ISA_XWRi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_EX                                 0x0010

    #define     BA_ISA_XWRi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_XWRi_EX_ALU16FlagZ                         0
    #define       bISA_XWRi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_XWRi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_XWRi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagC                         1
    #define   LSb16ISA_XWRi_EX_ALU16FlagC                         1
    #define       bISA_XWRi_EX_ALU16FlagC                      1
    #define   MSK32ISA_XWRi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_XWRi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagN                         2
    #define   LSb16ISA_XWRi_EX_ALU16FlagN                         2
    #define       bISA_XWRi_EX_ALU16FlagN                      1
    #define   MSK32ISA_XWRi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_XWRi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagV                         3
    #define   LSb16ISA_XWRi_EX_ALU16FlagV                         3
    #define       bISA_XWRi_EX_ALU16FlagV                      1
    #define   MSK32ISA_XWRi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_XWRi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_XWRi_EX_ALU16FlagTP                        4
    #define       bISA_XWRi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_XWRi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_XWRi_EX_ALU16MUL                        0x0010
    #define     B16ISA_XWRi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16MUL                           5
    #define   LSb16ISA_XWRi_EX_ALU16MUL                           5
    #define       bISA_XWRi_EX_ALU16MUL                        1
    #define   MSK32ISA_XWRi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_XWRi_EX_ALU16DIV                        0x0010
    #define     B16ISA_XWRi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16DIV                           6
    #define   LSb16ISA_XWRi_EX_ALU16DIV                           6
    #define       bISA_XWRi_EX_ALU16DIV                        1
    #define   MSK32ISA_XWRi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_XWRi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_XWRi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_XWRi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_XWRi_EX_ALU16FlagLD                        7
    #define       bISA_XWRi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_XWRi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_XWRi_EX_ALU16MDL                        0x0011
    #define     B16ISA_XWRi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16MDL                           8
    #define   LSb16ISA_XWRi_EX_ALU16MDL                           8
    #define       bISA_XWRi_EX_ALU16MDL                        1
    #define   MSK32ISA_XWRi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_XWRi_EX_ALU16MDH                        0x0011
    #define     B16ISA_XWRi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16MDH                           9
    #define   LSb16ISA_XWRi_EX_ALU16MDH                           9
    #define       bISA_XWRi_EX_ALU16MDH                        1
    #define   MSK32ISA_XWRi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_XWRi_EX_ALU16ADD                        0x0011
    #define     B16ISA_XWRi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16ADD                           10
    #define   LSb16ISA_XWRi_EX_ALU16ADD                           10
    #define       bISA_XWRi_EX_ALU16ADD                        1
    #define   MSK32ISA_XWRi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_XWRi_EX_ALU16SUB                        0x0011
    #define     B16ISA_XWRi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16SUB                           11
    #define   LSb16ISA_XWRi_EX_ALU16SUB                           11
    #define       bISA_XWRi_EX_ALU16SUB                        1
    #define   MSK32ISA_XWRi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_XWRi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_XWRi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_XWRi_EX_ALU16ADDC                          12
    #define   LSb16ISA_XWRi_EX_ALU16ADDC                          12
    #define       bISA_XWRi_EX_ALU16ADDC                       1
    #define   MSK32ISA_XWRi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_XWRi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_XWRi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_XWRi_EX_ALU16SUBC                          13
    #define   LSb16ISA_XWRi_EX_ALU16SUBC                          13
    #define       bISA_XWRi_EX_ALU16SUBC                       1
    #define   MSK32ISA_XWRi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_XWRi_EX_ALU16ASR                        0x0011
    #define     B16ISA_XWRi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_XWRi_EX_ALU16ASR                           14
    #define   LSb16ISA_XWRi_EX_ALU16ASR                           14
    #define       bISA_XWRi_EX_ALU16ASR                        1
    #define   MSK32ISA_XWRi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_XWRi_EX_ALU16SL                         0x0011
    #define     B16ISA_XWRi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_XWRi_EX_ALU16SL                            15
    #define   LSb16ISA_XWRi_EX_ALU16SL                            15
    #define       bISA_XWRi_EX_ALU16SL                         1
    #define   MSK32ISA_XWRi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_XWRi_EX_ALU16SR                         0x0012
    #define     B16ISA_XWRi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_XWRi_EX_ALU16SR                            16
    #define   LSb16ISA_XWRi_EX_ALU16SR                            0
    #define       bISA_XWRi_EX_ALU16SR                         1
    #define   MSK32ISA_XWRi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_XWRi_EX_ALU16GET                        0x0012
    #define     B16ISA_XWRi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_XWRi_EX_ALU16GET                           17
    #define   LSb16ISA_XWRi_EX_ALU16GET                           1
    #define       bISA_XWRi_EX_ALU16GET                        1
    #define   MSK32ISA_XWRi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_XWRi_EX_ALU16SET                        0x0012
    #define     B16ISA_XWRi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_XWRi_EX_ALU16SET                           18
    #define   LSb16ISA_XWRi_EX_ALU16SET                           2
    #define       bISA_XWRi_EX_ALU16SET                        1
    #define   MSK32ISA_XWRi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_XWRi_EX_ALU16SEL                        0x0012
    #define     B16ISA_XWRi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_XWRi_EX_ALU16SEL                           19
    #define   LSb16ISA_XWRi_EX_ALU16SEL                           3
    #define       bISA_XWRi_EX_ALU16SEL                        1
    #define   MSK32ISA_XWRi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_XWRi_EX_ALU16OR                         0x0012
    #define     B16ISA_XWRi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_XWRi_EX_ALU16OR                            20
    #define   LSb16ISA_XWRi_EX_ALU16OR                            4
    #define       bISA_XWRi_EX_ALU16OR                         1
    #define   MSK32ISA_XWRi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_XWRi_EX_ALU16AND                        0x0012
    #define     B16ISA_XWRi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_XWRi_EX_ALU16AND                           21
    #define   LSb16ISA_XWRi_EX_ALU16AND                           5
    #define       bISA_XWRi_EX_ALU16AND                        1
    #define   MSK32ISA_XWRi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_XWRi_EX_ALU16XOR                        0x0012
    #define     B16ISA_XWRi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_XWRi_EX_ALU16XOR                           22
    #define   LSb16ISA_XWRi_EX_ALU16XOR                           6
    #define       bISA_XWRi_EX_ALU16XOR                        1
    #define   MSK32ISA_XWRi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_XWRi_EX_ALU16SP                         0x0012
    #define     B16ISA_XWRi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_XWRi_EX_ALU16SP                            23
    #define   LSb16ISA_XWRi_EX_ALU16SP                            7
    #define       bISA_XWRi_EX_ALU16SP                         1
    #define   MSK32ISA_XWRi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_EXX                                0x0014

    #define     BA_ISA_XWRi_EXX_WRSQ                           0x0014
    #define     B16ISA_XWRi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_XWRi_EXX_WRSQ                              0
    #define   LSb16ISA_XWRi_EXX_WRSQ                              0
    #define       bISA_XWRi_EXX_WRSQ                           1
    #define   MSK32ISA_XWRi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_XWRi_EXX_WR16                           0x0014
    #define     B16ISA_XWRi_EXX_WR16                           0x0014
    #define   LSb32ISA_XWRi_EXX_WR16                              1
    #define   LSb16ISA_XWRi_EXX_WR16                              1
    #define       bISA_XWRi_EXX_WR16                           1
    #define   MSK32ISA_XWRi_EXX_WR16                              0x00000002

    #define     BA_ISA_XWRi_EXX_WRTQ                           0x0014
    #define     B16ISA_XWRi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_XWRi_EXX_WRTQ                              2
    #define   LSb16ISA_XWRi_EXX_WRTQ                              2
    #define       bISA_XWRi_EXX_WRTQ                           1
    #define   MSK32ISA_XWRi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_XWRi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_XWRi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_XWRi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_XWRi_EXX_ALU64PUSH                         3
    #define       bISA_XWRi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_XWRi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_XWRi_EXX_ALU64POP                       0x0014
    #define     B16ISA_XWRi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_XWRi_EXX_ALU64POP                          4
    #define   LSb16ISA_XWRi_EXX_ALU64POP                          4
    #define       bISA_XWRi_EXX_ALU64POP                       1
    #define   MSK32ISA_XWRi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_XWRi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_XWRi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_XWRi_EXX_ALU64SQ                           5
    #define   LSb16ISA_XWRi_EXX_ALU64SQ                           5
    #define       bISA_XWRi_EXX_ALU64SQ                        1
    #define   MSK32ISA_XWRi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_XWRi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_XWRi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_XWRi_EXX_ALU64TQ                           6
    #define   LSb16ISA_XWRi_EXX_ALU64TQ                           6
    #define       bISA_XWRi_EXX_ALU64TQ                        1
    #define   MSK32ISA_XWRi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_XWRi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_XWRi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_XWRi_EXX_ALU64MEM                          7
    #define   LSb16ISA_XWRi_EXX_ALU64MEM                          7
    #define       bISA_XWRi_EXX_ALU64MEM                       1
    #define   MSK32ISA_XWRi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_XWRi_EXX_BRANCH                         0x0015
    #define     B16ISA_XWRi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_XWRi_EXX_BRANCH                            8
    #define   LSb16ISA_XWRi_EXX_BRANCH                            8
    #define       bISA_XWRi_EXX_BRANCH                         1
    #define   MSK32ISA_XWRi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRi_WB                                 0x0018

    #define     BA_ISA_XWRi_WB_RF16                            0x0018
    #define     B16ISA_XWRi_WB_RF16                            0x0018
    #define   LSb32ISA_XWRi_WB_RF16                               0
    #define   LSb16ISA_XWRi_WB_RF16                               0
    #define       bISA_XWRi_WB_RF16                            1
    #define   MSK32ISA_XWRi_WB_RF16                               0x00000001

    #define     BA_ISA_XWRi_WB_RF16W0                          0x0018
    #define     B16ISA_XWRi_WB_RF16W0                          0x0018
    #define   LSb32ISA_XWRi_WB_RF16W0                             1
    #define   LSb16ISA_XWRi_WB_RF16W0                             1
    #define       bISA_XWRi_WB_RF16W0                          1
    #define   MSK32ISA_XWRi_WB_RF16W0                             0x00000002

    #define     BA_ISA_XWRi_WB_RF16MEM                         0x0018
    #define     B16ISA_XWRi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_XWRi_WB_RF16MEM                            2
    #define   LSb16ISA_XWRi_WB_RF16MEM                            2
    #define       bISA_XWRi_WB_RF16MEM                         1
    #define   MSK32ISA_XWRi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_XWRi_WB_RF16Q                           0x0018
    #define     B16ISA_XWRi_WB_RF16Q                           0x0018
    #define   LSb32ISA_XWRi_WB_RF16Q                              3
    #define   LSb16ISA_XWRi_WB_RF16Q                              3
    #define       bISA_XWRi_WB_RF16Q                           1
    #define   MSK32ISA_XWRi_WB_RF16Q                              0x00000008

    #define     BA_ISA_XWRi_WB_RF64                            0x0018
    #define     B16ISA_XWRi_WB_RF64                            0x0018
    #define   LSb32ISA_XWRi_WB_RF64                               4
    #define   LSb16ISA_XWRi_WB_RF64                               4
    #define       bISA_XWRi_WB_RF64                            1
    #define   MSK32ISA_XWRi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XWRi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_XWRi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWRi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWRi_Mask;
            struct w32ISA_XWRi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XWRi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWRi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWRi_Opcode;
            struct w32ISA_XWRi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWRi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XWRi_ID;
            struct w32ISA_XWRi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWRi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWRi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWRi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWRi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWRi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_XWRi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWRi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_XWRi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWRi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_XWRi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWRi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_XWRi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWRi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_XWRi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWRi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_XWRi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWRi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_XWRi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWRi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_XWRi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWRi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_XWRi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWRi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_XWRi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWRi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XWRi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWRi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XWRi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWRi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XWRi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWRi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_XWRi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWRi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_XWRi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWRi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_XWRi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWRi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_XWRi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWRi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_XWRi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWRi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XWRi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XWRi_LD;
            struct w32ISA_XWRi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWRi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWRi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWRi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWRi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWRi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_XWRi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWRi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_XWRi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWRi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_XWRi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWRi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_XWRi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWRi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_XWRi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWRi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_XWRi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWRi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_XWRi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWRi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_XWRi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWRi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_XWRi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWRi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_XWRi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWRi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_XWRi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWRi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_XWRi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWRi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XWRi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWRi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XWRi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWRi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_XWRi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWRi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_XWRi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWRi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_XWRi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWRi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_XWRi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWRi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_XWRi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_XWRi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_XWRi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_XWRi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWRi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XWRi_EX;
            struct w32ISA_XWRi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XWRi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XWRi_EXX;
            struct w32ISA_XWRi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XWRi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XWRi_WB;
            struct w32ISA_XWRi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XWRi;

    typedef union  T32ISA_XWRi_Mask
          { UNSG32 u32;
            struct w32ISA_XWRi_Mask;
                 } T32ISA_XWRi_Mask;
    typedef union  T32ISA_XWRi_Opcode
          { UNSG32 u32;
            struct w32ISA_XWRi_Opcode;
                 } T32ISA_XWRi_Opcode;
    typedef union  T32ISA_XWRi_ID
          { UNSG32 u32;
            struct w32ISA_XWRi_ID;
                 } T32ISA_XWRi_ID;
    typedef union  T32ISA_XWRi_LD
          { UNSG32 u32;
            struct w32ISA_XWRi_LD;
                 } T32ISA_XWRi_LD;
    typedef union  T32ISA_XWRi_EX
          { UNSG32 u32;
            struct w32ISA_XWRi_EX;
                 } T32ISA_XWRi_EX;
    typedef union  T32ISA_XWRi_EXX
          { UNSG32 u32;
            struct w32ISA_XWRi_EXX;
                 } T32ISA_XWRi_EXX;
    typedef union  T32ISA_XWRi_WB
          { UNSG32 u32;
            struct w32ISA_XWRi_WB;
                 } T32ISA_XWRi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XWRi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_Mask;
                   };
                 } TISA_XWRi_Mask;
    typedef union  TISA_XWRi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_Opcode;
                   };
                 } TISA_XWRi_Opcode;
    typedef union  TISA_XWRi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_ID;
                   };
                 } TISA_XWRi_ID;
    typedef union  TISA_XWRi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_LD;
                   };
                 } TISA_XWRi_LD;
    typedef union  TISA_XWRi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_EX;
                   };
                 } TISA_XWRi_EX;
    typedef union  TISA_XWRi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_EXX;
                   };
                 } TISA_XWRi_EXX;
    typedef union  TISA_XWRi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRi_WB;
                   };
                 } TISA_XWRi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XWRi_drvrd(SIE_ISA_XWRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XWRi_drvwr(SIE_ISA_XWRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XWRi_reset(SIE_ISA_XWRi *p);
     SIGN32 ISA_XWRi_cmp  (SIE_ISA_XWRi *p, SIE_ISA_XWRi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XWRi_check(p,pie,pfx,hLOG) ISA_XWRi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XWRi_print(p,    pfx,hLOG) ISA_XWRi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XWRi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XWR                                  (4,4)
///     ###
///     * Memory write of 64b quad-register.
///     * Using address register with an offset [-128~127].
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x50000C
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.WR"    , "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1100" } ,
///                                    * - Usage:
///                                    * -    X.WR     %a1, + 8, %x2   ; M64[ %a1 + 8 ] = %x2;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      0x1
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      0x1
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XWR
#define h_ISA_XWR (){}

    #define     RA_ISA_XWR_Mask                                0x0000

    #define     BA_ISA_XWR_Mask_INS                            0x0000
    #define     B16ISA_XWR_Mask_INS                            0x0000
    #define   LSb32ISA_XWR_Mask_INS                               0
    #define   LSb16ISA_XWR_Mask_INS                               0
    #define       bISA_XWR_Mask_INS                            24
    #define   MSK32ISA_XWR_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_Opcode                              0x0004

    #define     BA_ISA_XWR_Opcode_INS                          0x0004
    #define     B16ISA_XWR_Opcode_INS                          0x0004
    #define   LSb32ISA_XWR_Opcode_INS                             0
    #define   LSb16ISA_XWR_Opcode_INS                             0
    #define       bISA_XWR_Opcode_INS                          24
    #define   MSK32ISA_XWR_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_ID                                  0x0008

    #define     BA_ISA_XWR_ID_RBRF                             0x0008
    #define     B16ISA_XWR_ID_RBRF                             0x0008
    #define   LSb32ISA_XWR_ID_RBRF                                0
    #define   LSb16ISA_XWR_ID_RBRF                                0
    #define       bISA_XWR_ID_RBRF                             1
    #define   MSK32ISA_XWR_ID_RBRF                                0x00000001

    #define     BA_ISA_XWR_ID_RARF                             0x0008
    #define     B16ISA_XWR_ID_RARF                             0x0008
    #define   LSb32ISA_XWR_ID_RARF                                1
    #define   LSb16ISA_XWR_ID_RARF                                1
    #define       bISA_XWR_ID_RARF                             1
    #define   MSK32ISA_XWR_ID_RARF                                0x00000002

    #define     BA_ISA_XWR_ID_RAK8                             0x0008
    #define     B16ISA_XWR_ID_RAK8                             0x0008
    #define   LSb32ISA_XWR_ID_RAK8                                2
    #define   LSb16ISA_XWR_ID_RAK8                                2
    #define       bISA_XWR_ID_RAK8                             1
    #define   MSK32ISA_XWR_ID_RAK8                                0x00000004

    #define     BA_ISA_XWR_ID_RAI16                            0x0008
    #define     B16ISA_XWR_ID_RAI16                            0x0008
    #define   LSb32ISA_XWR_ID_RAI16                               3
    #define   LSb16ISA_XWR_ID_RAI16                               3
    #define       bISA_XWR_ID_RAI16                            1
    #define   MSK32ISA_XWR_ID_RAI16                               0x00000008

    #define     BA_ISA_XWR_ID_RAK16                            0x0008
    #define     B16ISA_XWR_ID_RAK16                            0x0008
    #define   LSb32ISA_XWR_ID_RAK16                               4
    #define   LSb16ISA_XWR_ID_RAK16                               4
    #define       bISA_XWR_ID_RAK16                            1
    #define   MSK32ISA_XWR_ID_RAK16                               0x00000010

    #define     BA_ISA_XWR_ID_RFSP                             0x0008
    #define     B16ISA_XWR_ID_RFSP                             0x0008
    #define   LSb32ISA_XWR_ID_RFSP                                5
    #define   LSb16ISA_XWR_ID_RFSP                                5
    #define       bISA_XWR_ID_RFSP                             1
    #define   MSK32ISA_XWR_ID_RFSP                                0x00000020

    #define     BA_ISA_XWR_ID_W4D4                             0x0008
    #define     B16ISA_XWR_ID_W4D4                             0x0008
    #define   LSb32ISA_XWR_ID_W4D4                                6
    #define   LSb16ISA_XWR_ID_W4D4                                6
    #define       bISA_XWR_ID_W4D4                             1
    #define   MSK32ISA_XWR_ID_W4D4                                0x00000040

    #define     BA_ISA_XWR_ID_W4S4                             0x0008
    #define     B16ISA_XWR_ID_W4S4                             0x0008
    #define   LSb32ISA_XWR_ID_W4S4                                7
    #define   LSb16ISA_XWR_ID_W4S4                                7
    #define       bISA_XWR_ID_W4S4                             1
    #define   MSK32ISA_XWR_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_LD                                  0x000C

    #define     BA_ISA_XWR_LD_SPRF                             0x000C
    #define     B16ISA_XWR_LD_SPRF                             0x000C
    #define   LSb32ISA_XWR_LD_SPRF                                0
    #define   LSb16ISA_XWR_LD_SPRF                                0
    #define       bISA_XWR_LD_SPRF                             1
    #define   MSK32ISA_XWR_LD_SPRF                                0x00000001

    #define     BA_ISA_XWR_LD_SPK8                             0x000C
    #define     B16ISA_XWR_LD_SPK8                             0x000C
    #define   LSb32ISA_XWR_LD_SPK8                                1
    #define   LSb16ISA_XWR_LD_SPK8                                1
    #define       bISA_XWR_LD_SPK8                             1
    #define   MSK32ISA_XWR_LD_SPK8                                0x00000002

    #define     BA_ISA_XWR_LD_SPJ                              0x000C
    #define     B16ISA_XWR_LD_SPJ                              0x000C
    #define   LSb32ISA_XWR_LD_SPJ                                 2
    #define   LSb16ISA_XWR_LD_SPJ                                 2
    #define       bISA_XWR_LD_SPJ                              1
    #define   MSK32ISA_XWR_LD_SPJ                                 0x00000004

    #define     BA_ISA_XWR_LD_SP4S                             0x000C
    #define     B16ISA_XWR_LD_SP4S                             0x000C
    #define   LSb32ISA_XWR_LD_SP4S                                3
    #define   LSb16ISA_XWR_LD_SP4S                                3
    #define       bISA_XWR_LD_SP4S                             1
    #define   MSK32ISA_XWR_LD_SP4S                                0x00000008

    #define     BA_ISA_XWR_LD_SP8S                             0x000C
    #define     B16ISA_XWR_LD_SP8S                             0x000C
    #define   LSb32ISA_XWR_LD_SP8S                                4
    #define   LSb16ISA_XWR_LD_SP8S                                4
    #define       bISA_XWR_LD_SP8S                             1
    #define   MSK32ISA_XWR_LD_SP8S                                0x00000010

    #define     BA_ISA_XWR_LD_SP8U                             0x000C
    #define     B16ISA_XWR_LD_SP8U                             0x000C
    #define   LSb32ISA_XWR_LD_SP8U                                5
    #define   LSb16ISA_XWR_LD_SP8U                                5
    #define       bISA_XWR_LD_SP8U                             1
    #define   MSK32ISA_XWR_LD_SP8U                                0x00000020

    #define     BA_ISA_XWR_LD_SP12S                            0x000C
    #define     B16ISA_XWR_LD_SP12S                            0x000C
    #define   LSb32ISA_XWR_LD_SP12S                               6
    #define   LSb16ISA_XWR_LD_SP12S                               6
    #define       bISA_XWR_LD_SP12S                            1
    #define   MSK32ISA_XWR_LD_SP12S                               0x00000040

    #define     BA_ISA_XWR_LD_SP16                             0x000C
    #define     B16ISA_XWR_LD_SP16                             0x000C
    #define   LSb32ISA_XWR_LD_SP16                                7
    #define   LSb16ISA_XWR_LD_SP16                                7
    #define       bISA_XWR_LD_SP16                             1
    #define   MSK32ISA_XWR_LD_SP16                                0x00000080

    #define     BA_ISA_XWR_LD_TPRF                             0x000D
    #define     B16ISA_XWR_LD_TPRF                             0x000C
    #define   LSb32ISA_XWR_LD_TPRF                                8
    #define   LSb16ISA_XWR_LD_TPRF                                8
    #define       bISA_XWR_LD_TPRF                             1
    #define   MSK32ISA_XWR_LD_TPRF                                0x00000100

    #define     BA_ISA_XWR_LD_TPJ                              0x000D
    #define     B16ISA_XWR_LD_TPJ                              0x000C
    #define   LSb32ISA_XWR_LD_TPJ                                 9
    #define   LSb16ISA_XWR_LD_TPJ                                 9
    #define       bISA_XWR_LD_TPJ                              1
    #define   MSK32ISA_XWR_LD_TPJ                                 0x00000200

    #define     BA_ISA_XWR_LD_TP4S                             0x000D
    #define     B16ISA_XWR_LD_TP4S                             0x000C
    #define   LSb32ISA_XWR_LD_TP4S                                10
    #define   LSb16ISA_XWR_LD_TP4S                                10
    #define       bISA_XWR_LD_TP4S                             1
    #define   MSK32ISA_XWR_LD_TP4S                                0x00000400

    #define     BA_ISA_XWR_LD_TP8L                             0x000D
    #define     B16ISA_XWR_LD_TP8L                             0x000C
    #define   LSb32ISA_XWR_LD_TP8L                                11
    #define   LSb16ISA_XWR_LD_TP8L                                11
    #define       bISA_XWR_LD_TP8L                             1
    #define   MSK32ISA_XWR_LD_TP8L                                0x00000800

    #define     BA_ISA_XWR_LD_TP8H                             0x000D
    #define     B16ISA_XWR_LD_TP8H                             0x000C
    #define   LSb32ISA_XWR_LD_TP8H                                12
    #define   LSb16ISA_XWR_LD_TP8H                                12
    #define       bISA_XWR_LD_TP8H                             1
    #define   MSK32ISA_XWR_LD_TP8H                                0x00001000

    #define     BA_ISA_XWR_LD_TP8LF                            0x000D
    #define     B16ISA_XWR_LD_TP8LF                            0x000C
    #define   LSb32ISA_XWR_LD_TP8LF                               13
    #define   LSb16ISA_XWR_LD_TP8LF                               13
    #define       bISA_XWR_LD_TP8LF                            1
    #define   MSK32ISA_XWR_LD_TP8LF                               0x00002000

    #define     BA_ISA_XWR_LD_TP8HF                            0x000D
    #define     B16ISA_XWR_LD_TP8HF                            0x000C
    #define   LSb32ISA_XWR_LD_TP8HF                               14
    #define   LSb16ISA_XWR_LD_TP8HF                               14
    #define       bISA_XWR_LD_TP8HF                            1
    #define   MSK32ISA_XWR_LD_TP8HF                               0x00004000

    #define     BA_ISA_XWR_LD_SQRF64                           0x000D
    #define     B16ISA_XWR_LD_SQRF64                           0x000C
    #define   LSb32ISA_XWR_LD_SQRF64                              15
    #define   LSb16ISA_XWR_LD_SQRF64                              15
    #define       bISA_XWR_LD_SQRF64                           1
    #define   MSK32ISA_XWR_LD_SQRF64                              0x00008000

    #define     BA_ISA_XWR_LD_TQRF16Q                          0x000E
    #define     B16ISA_XWR_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_XWR_LD_TQRF16Q                             16
    #define   LSb16ISA_XWR_LD_TQRF16Q                             0
    #define       bISA_XWR_LD_TQRF16Q                          1
    #define   MSK32ISA_XWR_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_XWR_LD_TQRFx4                           0x000E
    #define     B16ISA_XWR_LD_TQRFx4                           0x000E
    #define   LSb32ISA_XWR_LD_TQRFx4                              17
    #define   LSb16ISA_XWR_LD_TQRFx4                              1
    #define       bISA_XWR_LD_TQRFx4                           1
    #define   MSK32ISA_XWR_LD_TQRFx4                              0x00020000

    #define     BA_ISA_XWR_LD_RD                               0x000E
    #define     B16ISA_XWR_LD_RD                               0x000E
    #define   LSb32ISA_XWR_LD_RD                                  18
    #define   LSb16ISA_XWR_LD_RD                                  2
    #define       bISA_XWR_LD_RD                               1
    #define   MSK32ISA_XWR_LD_RD                                  0x00040000

    #define     BA_ISA_XWR_LD_WARF                             0x000E
    #define     B16ISA_XWR_LD_WARF                             0x000E
    #define   LSb32ISA_XWR_LD_WARF                                19
    #define   LSb16ISA_XWR_LD_WARF                                3
    #define       bISA_XWR_LD_WARF                             1
    #define   MSK32ISA_XWR_LD_WARF                                0x00080000

    #define     BA_ISA_XWR_LD_WAK8                             0x000E
    #define     B16ISA_XWR_LD_WAK8                             0x000E
    #define   LSb32ISA_XWR_LD_WAK8                                20
    #define   LSb16ISA_XWR_LD_WAK8                                4
    #define       bISA_XWR_LD_WAK8                             1
    #define   MSK32ISA_XWR_LD_WAK8                                0x00100000

    #define     BA_ISA_XWR_LD_WAK16                            0x000E
    #define     B16ISA_XWR_LD_WAK16                            0x000E
    #define   LSb32ISA_XWR_LD_WAK16                               21
    #define   LSb16ISA_XWR_LD_WAK16                               5
    #define       bISA_XWR_LD_WAK16                            1
    #define   MSK32ISA_XWR_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_EX                                  0x0010

    #define     BA_ISA_XWR_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_XWR_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagZ                          0
    #define   LSb16ISA_XWR_EX_ALU16FlagZ                          0
    #define       bISA_XWR_EX_ALU16FlagZ                       1
    #define   MSK32ISA_XWR_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_XWR_EX_ALU16FlagC                       0x0010
    #define     B16ISA_XWR_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagC                          1
    #define   LSb16ISA_XWR_EX_ALU16FlagC                          1
    #define       bISA_XWR_EX_ALU16FlagC                       1
    #define   MSK32ISA_XWR_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_XWR_EX_ALU16FlagN                       0x0010
    #define     B16ISA_XWR_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagN                          2
    #define   LSb16ISA_XWR_EX_ALU16FlagN                          2
    #define       bISA_XWR_EX_ALU16FlagN                       1
    #define   MSK32ISA_XWR_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_XWR_EX_ALU16FlagV                       0x0010
    #define     B16ISA_XWR_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagV                          3
    #define   LSb16ISA_XWR_EX_ALU16FlagV                          3
    #define       bISA_XWR_EX_ALU16FlagV                       1
    #define   MSK32ISA_XWR_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_XWR_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_XWR_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagTP                         4
    #define   LSb16ISA_XWR_EX_ALU16FlagTP                         4
    #define       bISA_XWR_EX_ALU16FlagTP                      1
    #define   MSK32ISA_XWR_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_XWR_EX_ALU16MUL                         0x0010
    #define     B16ISA_XWR_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16MUL                            5
    #define   LSb16ISA_XWR_EX_ALU16MUL                            5
    #define       bISA_XWR_EX_ALU16MUL                         1
    #define   MSK32ISA_XWR_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_XWR_EX_ALU16DIV                         0x0010
    #define     B16ISA_XWR_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16DIV                            6
    #define   LSb16ISA_XWR_EX_ALU16DIV                            6
    #define       bISA_XWR_EX_ALU16DIV                         1
    #define   MSK32ISA_XWR_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_XWR_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_XWR_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_XWR_EX_ALU16FlagLD                         7
    #define   LSb16ISA_XWR_EX_ALU16FlagLD                         7
    #define       bISA_XWR_EX_ALU16FlagLD                      1
    #define   MSK32ISA_XWR_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_XWR_EX_ALU16MDL                         0x0011
    #define     B16ISA_XWR_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16MDL                            8
    #define   LSb16ISA_XWR_EX_ALU16MDL                            8
    #define       bISA_XWR_EX_ALU16MDL                         1
    #define   MSK32ISA_XWR_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_XWR_EX_ALU16MDH                         0x0011
    #define     B16ISA_XWR_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16MDH                            9
    #define   LSb16ISA_XWR_EX_ALU16MDH                            9
    #define       bISA_XWR_EX_ALU16MDH                         1
    #define   MSK32ISA_XWR_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_XWR_EX_ALU16ADD                         0x0011
    #define     B16ISA_XWR_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16ADD                            10
    #define   LSb16ISA_XWR_EX_ALU16ADD                            10
    #define       bISA_XWR_EX_ALU16ADD                         1
    #define   MSK32ISA_XWR_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_XWR_EX_ALU16SUB                         0x0011
    #define     B16ISA_XWR_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16SUB                            11
    #define   LSb16ISA_XWR_EX_ALU16SUB                            11
    #define       bISA_XWR_EX_ALU16SUB                         1
    #define   MSK32ISA_XWR_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_XWR_EX_ALU16ADDC                        0x0011
    #define     B16ISA_XWR_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_XWR_EX_ALU16ADDC                           12
    #define   LSb16ISA_XWR_EX_ALU16ADDC                           12
    #define       bISA_XWR_EX_ALU16ADDC                        1
    #define   MSK32ISA_XWR_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_XWR_EX_ALU16SUBC                        0x0011
    #define     B16ISA_XWR_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_XWR_EX_ALU16SUBC                           13
    #define   LSb16ISA_XWR_EX_ALU16SUBC                           13
    #define       bISA_XWR_EX_ALU16SUBC                        1
    #define   MSK32ISA_XWR_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_XWR_EX_ALU16ASR                         0x0011
    #define     B16ISA_XWR_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_XWR_EX_ALU16ASR                            14
    #define   LSb16ISA_XWR_EX_ALU16ASR                            14
    #define       bISA_XWR_EX_ALU16ASR                         1
    #define   MSK32ISA_XWR_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_XWR_EX_ALU16SL                          0x0011
    #define     B16ISA_XWR_EX_ALU16SL                          0x0010
    #define   LSb32ISA_XWR_EX_ALU16SL                             15
    #define   LSb16ISA_XWR_EX_ALU16SL                             15
    #define       bISA_XWR_EX_ALU16SL                          1
    #define   MSK32ISA_XWR_EX_ALU16SL                             0x00008000

    #define     BA_ISA_XWR_EX_ALU16SR                          0x0012
    #define     B16ISA_XWR_EX_ALU16SR                          0x0012
    #define   LSb32ISA_XWR_EX_ALU16SR                             16
    #define   LSb16ISA_XWR_EX_ALU16SR                             0
    #define       bISA_XWR_EX_ALU16SR                          1
    #define   MSK32ISA_XWR_EX_ALU16SR                             0x00010000

    #define     BA_ISA_XWR_EX_ALU16GET                         0x0012
    #define     B16ISA_XWR_EX_ALU16GET                         0x0012
    #define   LSb32ISA_XWR_EX_ALU16GET                            17
    #define   LSb16ISA_XWR_EX_ALU16GET                            1
    #define       bISA_XWR_EX_ALU16GET                         1
    #define   MSK32ISA_XWR_EX_ALU16GET                            0x00020000

    #define     BA_ISA_XWR_EX_ALU16SET                         0x0012
    #define     B16ISA_XWR_EX_ALU16SET                         0x0012
    #define   LSb32ISA_XWR_EX_ALU16SET                            18
    #define   LSb16ISA_XWR_EX_ALU16SET                            2
    #define       bISA_XWR_EX_ALU16SET                         1
    #define   MSK32ISA_XWR_EX_ALU16SET                            0x00040000

    #define     BA_ISA_XWR_EX_ALU16SEL                         0x0012
    #define     B16ISA_XWR_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_XWR_EX_ALU16SEL                            19
    #define   LSb16ISA_XWR_EX_ALU16SEL                            3
    #define       bISA_XWR_EX_ALU16SEL                         1
    #define   MSK32ISA_XWR_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_XWR_EX_ALU16OR                          0x0012
    #define     B16ISA_XWR_EX_ALU16OR                          0x0012
    #define   LSb32ISA_XWR_EX_ALU16OR                             20
    #define   LSb16ISA_XWR_EX_ALU16OR                             4
    #define       bISA_XWR_EX_ALU16OR                          1
    #define   MSK32ISA_XWR_EX_ALU16OR                             0x00100000

    #define     BA_ISA_XWR_EX_ALU16AND                         0x0012
    #define     B16ISA_XWR_EX_ALU16AND                         0x0012
    #define   LSb32ISA_XWR_EX_ALU16AND                            21
    #define   LSb16ISA_XWR_EX_ALU16AND                            5
    #define       bISA_XWR_EX_ALU16AND                         1
    #define   MSK32ISA_XWR_EX_ALU16AND                            0x00200000

    #define     BA_ISA_XWR_EX_ALU16XOR                         0x0012
    #define     B16ISA_XWR_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_XWR_EX_ALU16XOR                            22
    #define   LSb16ISA_XWR_EX_ALU16XOR                            6
    #define       bISA_XWR_EX_ALU16XOR                         1
    #define   MSK32ISA_XWR_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_XWR_EX_ALU16SP                          0x0012
    #define     B16ISA_XWR_EX_ALU16SP                          0x0012
    #define   LSb32ISA_XWR_EX_ALU16SP                             23
    #define   LSb16ISA_XWR_EX_ALU16SP                             7
    #define       bISA_XWR_EX_ALU16SP                          1
    #define   MSK32ISA_XWR_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_EXX                                 0x0014

    #define     BA_ISA_XWR_EXX_WRSQ                            0x0014
    #define     B16ISA_XWR_EXX_WRSQ                            0x0014
    #define   LSb32ISA_XWR_EXX_WRSQ                               0
    #define   LSb16ISA_XWR_EXX_WRSQ                               0
    #define       bISA_XWR_EXX_WRSQ                            1
    #define   MSK32ISA_XWR_EXX_WRSQ                               0x00000001

    #define     BA_ISA_XWR_EXX_WR16                            0x0014
    #define     B16ISA_XWR_EXX_WR16                            0x0014
    #define   LSb32ISA_XWR_EXX_WR16                               1
    #define   LSb16ISA_XWR_EXX_WR16                               1
    #define       bISA_XWR_EXX_WR16                            1
    #define   MSK32ISA_XWR_EXX_WR16                               0x00000002

    #define     BA_ISA_XWR_EXX_WRTQ                            0x0014
    #define     B16ISA_XWR_EXX_WRTQ                            0x0014
    #define   LSb32ISA_XWR_EXX_WRTQ                               2
    #define   LSb16ISA_XWR_EXX_WRTQ                               2
    #define       bISA_XWR_EXX_WRTQ                            1
    #define   MSK32ISA_XWR_EXX_WRTQ                               0x00000004

    #define     BA_ISA_XWR_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_XWR_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_XWR_EXX_ALU64PUSH                          3
    #define   LSb16ISA_XWR_EXX_ALU64PUSH                          3
    #define       bISA_XWR_EXX_ALU64PUSH                       1
    #define   MSK32ISA_XWR_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_XWR_EXX_ALU64POP                        0x0014
    #define     B16ISA_XWR_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_XWR_EXX_ALU64POP                           4
    #define   LSb16ISA_XWR_EXX_ALU64POP                           4
    #define       bISA_XWR_EXX_ALU64POP                        1
    #define   MSK32ISA_XWR_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_XWR_EXX_ALU64SQ                         0x0014
    #define     B16ISA_XWR_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_XWR_EXX_ALU64SQ                            5
    #define   LSb16ISA_XWR_EXX_ALU64SQ                            5
    #define       bISA_XWR_EXX_ALU64SQ                         1
    #define   MSK32ISA_XWR_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_XWR_EXX_ALU64TQ                         0x0014
    #define     B16ISA_XWR_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_XWR_EXX_ALU64TQ                            6
    #define   LSb16ISA_XWR_EXX_ALU64TQ                            6
    #define       bISA_XWR_EXX_ALU64TQ                         1
    #define   MSK32ISA_XWR_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_XWR_EXX_ALU64MEM                        0x0014
    #define     B16ISA_XWR_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_XWR_EXX_ALU64MEM                           7
    #define   LSb16ISA_XWR_EXX_ALU64MEM                           7
    #define       bISA_XWR_EXX_ALU64MEM                        1
    #define   MSK32ISA_XWR_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_XWR_EXX_BRANCH                          0x0015
    #define     B16ISA_XWR_EXX_BRANCH                          0x0014
    #define   LSb32ISA_XWR_EXX_BRANCH                             8
    #define   LSb16ISA_XWR_EXX_BRANCH                             8
    #define       bISA_XWR_EXX_BRANCH                          1
    #define   MSK32ISA_XWR_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWR_WB                                  0x0018

    #define     BA_ISA_XWR_WB_RF16                             0x0018
    #define     B16ISA_XWR_WB_RF16                             0x0018
    #define   LSb32ISA_XWR_WB_RF16                                0
    #define   LSb16ISA_XWR_WB_RF16                                0
    #define       bISA_XWR_WB_RF16                             1
    #define   MSK32ISA_XWR_WB_RF16                                0x00000001

    #define     BA_ISA_XWR_WB_RF16W0                           0x0018
    #define     B16ISA_XWR_WB_RF16W0                           0x0018
    #define   LSb32ISA_XWR_WB_RF16W0                              1
    #define   LSb16ISA_XWR_WB_RF16W0                              1
    #define       bISA_XWR_WB_RF16W0                           1
    #define   MSK32ISA_XWR_WB_RF16W0                              0x00000002

    #define     BA_ISA_XWR_WB_RF16MEM                          0x0018
    #define     B16ISA_XWR_WB_RF16MEM                          0x0018
    #define   LSb32ISA_XWR_WB_RF16MEM                             2
    #define   LSb16ISA_XWR_WB_RF16MEM                             2
    #define       bISA_XWR_WB_RF16MEM                          1
    #define   MSK32ISA_XWR_WB_RF16MEM                             0x00000004

    #define     BA_ISA_XWR_WB_RF16Q                            0x0018
    #define     B16ISA_XWR_WB_RF16Q                            0x0018
    #define   LSb32ISA_XWR_WB_RF16Q                               3
    #define   LSb16ISA_XWR_WB_RF16Q                               3
    #define       bISA_XWR_WB_RF16Q                            1
    #define   MSK32ISA_XWR_WB_RF16Q                               0x00000008

    #define     BA_ISA_XWR_WB_RF64                             0x0018
    #define     B16ISA_XWR_WB_RF64                             0x0018
    #define   LSb32ISA_XWR_WB_RF64                                4
    #define   LSb16ISA_XWR_WB_RF64                                4
    #define       bISA_XWR_WB_RF64                             1
    #define   MSK32ISA_XWR_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XWR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_XWR_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWR_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWR_Mask;
            struct w32ISA_XWR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_XWR_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWR_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWR_Opcode;
            struct w32ISA_XWR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWR_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWR_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWR_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWR_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWR_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWR_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWR_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWR_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWR_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWR_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWR_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWR_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWR_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWR_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWR_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWR_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWR_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWR_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWR_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWR_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWR_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XWR_ID;
            struct w32ISA_XWR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWR_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWR_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWR_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWR_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWR_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWR_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWR_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWR_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWR_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWR_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWR_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWR_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWR_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWR_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWR_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWR_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWR_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWR_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWR_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWR_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWR_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWR_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWR_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWR_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWR_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWR_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWR_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWR_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWR_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_XWR_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWR_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_XWR_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWR_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_XWR_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWR_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_XWR_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWR_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_XWR_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWR_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_XWR_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWR_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_XWR_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWR_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_XWR_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWR_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_XWR_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWR_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_XWR_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWR_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_XWR_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWR_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_XWR_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWR_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_XWR_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWR_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_XWR_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWR_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_XWR_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWR_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_XWR_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWR_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_XWR_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWR_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_XWR_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWR_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XWR_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XWR_LD;
            struct w32ISA_XWR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWR_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWR_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWR_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWR_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWR_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWR_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWR_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWR_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWR_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWR_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWR_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWR_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWR_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWR_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWR_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWR_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWR_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWR_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWR_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWR_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWR_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWR_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWR_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWR_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWR_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWR_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWR_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWR_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWR_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_XWR_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWR_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_XWR_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWR_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_XWR_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWR_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_XWR_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWR_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_XWR_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWR_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_XWR_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWR_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_XWR_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWR_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_XWR_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWR_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XWR_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWR_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XWR_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWR_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XWR_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWR_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XWR_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWR_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_XWR_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWR_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_XWR_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWR_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_XWR_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWR_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_XWR_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWR_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XWR_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWR_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XWR_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWR_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWR_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_XWR_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_XWR_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWR_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWR_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_XWR_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_XWR_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWR_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWR_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XWR_EX;
            struct w32ISA_XWR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWR_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWR_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWR_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWR_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWR_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWR_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWR_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWR_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWR_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWR_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWR_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWR_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWR_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWR_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWR_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWR_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWR_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWR_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWR_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWR_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWR_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWR_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWR_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWR_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWR_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWR_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XWR_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XWR_EXX;
            struct w32ISA_XWR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWR_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWR_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWR_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWR_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWR_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWR_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWR_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWR_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWR_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWR_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWR_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWR_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWR_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWR_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWR_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWR_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWR_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWR_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWR_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWR_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XWR_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XWR_WB;
            struct w32ISA_XWR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XWR;

    typedef union  T32ISA_XWR_Mask
          { UNSG32 u32;
            struct w32ISA_XWR_Mask;
                 } T32ISA_XWR_Mask;
    typedef union  T32ISA_XWR_Opcode
          { UNSG32 u32;
            struct w32ISA_XWR_Opcode;
                 } T32ISA_XWR_Opcode;
    typedef union  T32ISA_XWR_ID
          { UNSG32 u32;
            struct w32ISA_XWR_ID;
                 } T32ISA_XWR_ID;
    typedef union  T32ISA_XWR_LD
          { UNSG32 u32;
            struct w32ISA_XWR_LD;
                 } T32ISA_XWR_LD;
    typedef union  T32ISA_XWR_EX
          { UNSG32 u32;
            struct w32ISA_XWR_EX;
                 } T32ISA_XWR_EX;
    typedef union  T32ISA_XWR_EXX
          { UNSG32 u32;
            struct w32ISA_XWR_EXX;
                 } T32ISA_XWR_EXX;
    typedef union  T32ISA_XWR_WB
          { UNSG32 u32;
            struct w32ISA_XWR_WB;
                 } T32ISA_XWR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XWR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_Mask;
                   };
                 } TISA_XWR_Mask;
    typedef union  TISA_XWR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_Opcode;
                   };
                 } TISA_XWR_Opcode;
    typedef union  TISA_XWR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_ID;
                   };
                 } TISA_XWR_ID;
    typedef union  TISA_XWR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_LD;
                   };
                 } TISA_XWR_LD;
    typedef union  TISA_XWR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_EX;
                   };
                 } TISA_XWR_EX;
    typedef union  TISA_XWR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_EXX;
                   };
                 } TISA_XWR_EXX;
    typedef union  TISA_XWR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWR_WB;
                   };
                 } TISA_XWR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XWR_drvrd(SIE_ISA_XWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XWR_drvwr(SIE_ISA_XWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XWR_reset(SIE_ISA_XWR *p);
     SIGN32 ISA_XWR_cmp  (SIE_ISA_XWR *p, SIE_ISA_XWR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XWR_check(p,pie,pfx,hLOG) ISA_XWR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XWR_print(p,    pfx,hLOG) ISA_XWR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XWR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XWRINC                               (4,4)
///     ###
///     * Memory write of 64b quad-register.
///     * Using a register load write address.
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x50000D
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.WR.INC", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1101" } ,
///                                    * - Usage:
///                                    * -    X.WR.INC %a1, + 8, %x2   ; M64[ %a1 ] = %x2;
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      0x1
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      0x1
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XWRINC
#define h_ISA_XWRINC (){}

    #define     RA_ISA_XWRINC_Mask                             0x0000

    #define     BA_ISA_XWRINC_Mask_INS                         0x0000
    #define     B16ISA_XWRINC_Mask_INS                         0x0000
    #define   LSb32ISA_XWRINC_Mask_INS                            0
    #define   LSb16ISA_XWRINC_Mask_INS                            0
    #define       bISA_XWRINC_Mask_INS                         24
    #define   MSK32ISA_XWRINC_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_Opcode                           0x0004

    #define     BA_ISA_XWRINC_Opcode_INS                       0x0004
    #define     B16ISA_XWRINC_Opcode_INS                       0x0004
    #define   LSb32ISA_XWRINC_Opcode_INS                          0
    #define   LSb16ISA_XWRINC_Opcode_INS                          0
    #define       bISA_XWRINC_Opcode_INS                       24
    #define   MSK32ISA_XWRINC_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_ID                               0x0008

    #define     BA_ISA_XWRINC_ID_RBRF                          0x0008
    #define     B16ISA_XWRINC_ID_RBRF                          0x0008
    #define   LSb32ISA_XWRINC_ID_RBRF                             0
    #define   LSb16ISA_XWRINC_ID_RBRF                             0
    #define       bISA_XWRINC_ID_RBRF                          1
    #define   MSK32ISA_XWRINC_ID_RBRF                             0x00000001

    #define     BA_ISA_XWRINC_ID_RARF                          0x0008
    #define     B16ISA_XWRINC_ID_RARF                          0x0008
    #define   LSb32ISA_XWRINC_ID_RARF                             1
    #define   LSb16ISA_XWRINC_ID_RARF                             1
    #define       bISA_XWRINC_ID_RARF                          1
    #define   MSK32ISA_XWRINC_ID_RARF                             0x00000002

    #define     BA_ISA_XWRINC_ID_RAK8                          0x0008
    #define     B16ISA_XWRINC_ID_RAK8                          0x0008
    #define   LSb32ISA_XWRINC_ID_RAK8                             2
    #define   LSb16ISA_XWRINC_ID_RAK8                             2
    #define       bISA_XWRINC_ID_RAK8                          1
    #define   MSK32ISA_XWRINC_ID_RAK8                             0x00000004

    #define     BA_ISA_XWRINC_ID_RAI16                         0x0008
    #define     B16ISA_XWRINC_ID_RAI16                         0x0008
    #define   LSb32ISA_XWRINC_ID_RAI16                            3
    #define   LSb16ISA_XWRINC_ID_RAI16                            3
    #define       bISA_XWRINC_ID_RAI16                         1
    #define   MSK32ISA_XWRINC_ID_RAI16                            0x00000008

    #define     BA_ISA_XWRINC_ID_RAK16                         0x0008
    #define     B16ISA_XWRINC_ID_RAK16                         0x0008
    #define   LSb32ISA_XWRINC_ID_RAK16                            4
    #define   LSb16ISA_XWRINC_ID_RAK16                            4
    #define       bISA_XWRINC_ID_RAK16                         1
    #define   MSK32ISA_XWRINC_ID_RAK16                            0x00000010

    #define     BA_ISA_XWRINC_ID_RFSP                          0x0008
    #define     B16ISA_XWRINC_ID_RFSP                          0x0008
    #define   LSb32ISA_XWRINC_ID_RFSP                             5
    #define   LSb16ISA_XWRINC_ID_RFSP                             5
    #define       bISA_XWRINC_ID_RFSP                          1
    #define   MSK32ISA_XWRINC_ID_RFSP                             0x00000020

    #define     BA_ISA_XWRINC_ID_W4D4                          0x0008
    #define     B16ISA_XWRINC_ID_W4D4                          0x0008
    #define   LSb32ISA_XWRINC_ID_W4D4                             6
    #define   LSb16ISA_XWRINC_ID_W4D4                             6
    #define       bISA_XWRINC_ID_W4D4                          1
    #define   MSK32ISA_XWRINC_ID_W4D4                             0x00000040

    #define     BA_ISA_XWRINC_ID_W4S4                          0x0008
    #define     B16ISA_XWRINC_ID_W4S4                          0x0008
    #define   LSb32ISA_XWRINC_ID_W4S4                             7
    #define   LSb16ISA_XWRINC_ID_W4S4                             7
    #define       bISA_XWRINC_ID_W4S4                          1
    #define   MSK32ISA_XWRINC_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_LD                               0x000C

    #define     BA_ISA_XWRINC_LD_SPRF                          0x000C
    #define     B16ISA_XWRINC_LD_SPRF                          0x000C
    #define   LSb32ISA_XWRINC_LD_SPRF                             0
    #define   LSb16ISA_XWRINC_LD_SPRF                             0
    #define       bISA_XWRINC_LD_SPRF                          1
    #define   MSK32ISA_XWRINC_LD_SPRF                             0x00000001

    #define     BA_ISA_XWRINC_LD_SPK8                          0x000C
    #define     B16ISA_XWRINC_LD_SPK8                          0x000C
    #define   LSb32ISA_XWRINC_LD_SPK8                             1
    #define   LSb16ISA_XWRINC_LD_SPK8                             1
    #define       bISA_XWRINC_LD_SPK8                          1
    #define   MSK32ISA_XWRINC_LD_SPK8                             0x00000002

    #define     BA_ISA_XWRINC_LD_SPJ                           0x000C
    #define     B16ISA_XWRINC_LD_SPJ                           0x000C
    #define   LSb32ISA_XWRINC_LD_SPJ                              2
    #define   LSb16ISA_XWRINC_LD_SPJ                              2
    #define       bISA_XWRINC_LD_SPJ                           1
    #define   MSK32ISA_XWRINC_LD_SPJ                              0x00000004

    #define     BA_ISA_XWRINC_LD_SP4S                          0x000C
    #define     B16ISA_XWRINC_LD_SP4S                          0x000C
    #define   LSb32ISA_XWRINC_LD_SP4S                             3
    #define   LSb16ISA_XWRINC_LD_SP4S                             3
    #define       bISA_XWRINC_LD_SP4S                          1
    #define   MSK32ISA_XWRINC_LD_SP4S                             0x00000008

    #define     BA_ISA_XWRINC_LD_SP8S                          0x000C
    #define     B16ISA_XWRINC_LD_SP8S                          0x000C
    #define   LSb32ISA_XWRINC_LD_SP8S                             4
    #define   LSb16ISA_XWRINC_LD_SP8S                             4
    #define       bISA_XWRINC_LD_SP8S                          1
    #define   MSK32ISA_XWRINC_LD_SP8S                             0x00000010

    #define     BA_ISA_XWRINC_LD_SP8U                          0x000C
    #define     B16ISA_XWRINC_LD_SP8U                          0x000C
    #define   LSb32ISA_XWRINC_LD_SP8U                             5
    #define   LSb16ISA_XWRINC_LD_SP8U                             5
    #define       bISA_XWRINC_LD_SP8U                          1
    #define   MSK32ISA_XWRINC_LD_SP8U                             0x00000020

    #define     BA_ISA_XWRINC_LD_SP12S                         0x000C
    #define     B16ISA_XWRINC_LD_SP12S                         0x000C
    #define   LSb32ISA_XWRINC_LD_SP12S                            6
    #define   LSb16ISA_XWRINC_LD_SP12S                            6
    #define       bISA_XWRINC_LD_SP12S                         1
    #define   MSK32ISA_XWRINC_LD_SP12S                            0x00000040

    #define     BA_ISA_XWRINC_LD_SP16                          0x000C
    #define     B16ISA_XWRINC_LD_SP16                          0x000C
    #define   LSb32ISA_XWRINC_LD_SP16                             7
    #define   LSb16ISA_XWRINC_LD_SP16                             7
    #define       bISA_XWRINC_LD_SP16                          1
    #define   MSK32ISA_XWRINC_LD_SP16                             0x00000080

    #define     BA_ISA_XWRINC_LD_TPRF                          0x000D
    #define     B16ISA_XWRINC_LD_TPRF                          0x000C
    #define   LSb32ISA_XWRINC_LD_TPRF                             8
    #define   LSb16ISA_XWRINC_LD_TPRF                             8
    #define       bISA_XWRINC_LD_TPRF                          1
    #define   MSK32ISA_XWRINC_LD_TPRF                             0x00000100

    #define     BA_ISA_XWRINC_LD_TPJ                           0x000D
    #define     B16ISA_XWRINC_LD_TPJ                           0x000C
    #define   LSb32ISA_XWRINC_LD_TPJ                              9
    #define   LSb16ISA_XWRINC_LD_TPJ                              9
    #define       bISA_XWRINC_LD_TPJ                           1
    #define   MSK32ISA_XWRINC_LD_TPJ                              0x00000200

    #define     BA_ISA_XWRINC_LD_TP4S                          0x000D
    #define     B16ISA_XWRINC_LD_TP4S                          0x000C
    #define   LSb32ISA_XWRINC_LD_TP4S                             10
    #define   LSb16ISA_XWRINC_LD_TP4S                             10
    #define       bISA_XWRINC_LD_TP4S                          1
    #define   MSK32ISA_XWRINC_LD_TP4S                             0x00000400

    #define     BA_ISA_XWRINC_LD_TP8L                          0x000D
    #define     B16ISA_XWRINC_LD_TP8L                          0x000C
    #define   LSb32ISA_XWRINC_LD_TP8L                             11
    #define   LSb16ISA_XWRINC_LD_TP8L                             11
    #define       bISA_XWRINC_LD_TP8L                          1
    #define   MSK32ISA_XWRINC_LD_TP8L                             0x00000800

    #define     BA_ISA_XWRINC_LD_TP8H                          0x000D
    #define     B16ISA_XWRINC_LD_TP8H                          0x000C
    #define   LSb32ISA_XWRINC_LD_TP8H                             12
    #define   LSb16ISA_XWRINC_LD_TP8H                             12
    #define       bISA_XWRINC_LD_TP8H                          1
    #define   MSK32ISA_XWRINC_LD_TP8H                             0x00001000

    #define     BA_ISA_XWRINC_LD_TP8LF                         0x000D
    #define     B16ISA_XWRINC_LD_TP8LF                         0x000C
    #define   LSb32ISA_XWRINC_LD_TP8LF                            13
    #define   LSb16ISA_XWRINC_LD_TP8LF                            13
    #define       bISA_XWRINC_LD_TP8LF                         1
    #define   MSK32ISA_XWRINC_LD_TP8LF                            0x00002000

    #define     BA_ISA_XWRINC_LD_TP8HF                         0x000D
    #define     B16ISA_XWRINC_LD_TP8HF                         0x000C
    #define   LSb32ISA_XWRINC_LD_TP8HF                            14
    #define   LSb16ISA_XWRINC_LD_TP8HF                            14
    #define       bISA_XWRINC_LD_TP8HF                         1
    #define   MSK32ISA_XWRINC_LD_TP8HF                            0x00004000

    #define     BA_ISA_XWRINC_LD_SQRF64                        0x000D
    #define     B16ISA_XWRINC_LD_SQRF64                        0x000C
    #define   LSb32ISA_XWRINC_LD_SQRF64                           15
    #define   LSb16ISA_XWRINC_LD_SQRF64                           15
    #define       bISA_XWRINC_LD_SQRF64                        1
    #define   MSK32ISA_XWRINC_LD_SQRF64                           0x00008000

    #define     BA_ISA_XWRINC_LD_TQRF16Q                       0x000E
    #define     B16ISA_XWRINC_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_XWRINC_LD_TQRF16Q                          16
    #define   LSb16ISA_XWRINC_LD_TQRF16Q                          0
    #define       bISA_XWRINC_LD_TQRF16Q                       1
    #define   MSK32ISA_XWRINC_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_XWRINC_LD_TQRFx4                        0x000E
    #define     B16ISA_XWRINC_LD_TQRFx4                        0x000E
    #define   LSb32ISA_XWRINC_LD_TQRFx4                           17
    #define   LSb16ISA_XWRINC_LD_TQRFx4                           1
    #define       bISA_XWRINC_LD_TQRFx4                        1
    #define   MSK32ISA_XWRINC_LD_TQRFx4                           0x00020000

    #define     BA_ISA_XWRINC_LD_RD                            0x000E
    #define     B16ISA_XWRINC_LD_RD                            0x000E
    #define   LSb32ISA_XWRINC_LD_RD                               18
    #define   LSb16ISA_XWRINC_LD_RD                               2
    #define       bISA_XWRINC_LD_RD                            1
    #define   MSK32ISA_XWRINC_LD_RD                               0x00040000

    #define     BA_ISA_XWRINC_LD_WARF                          0x000E
    #define     B16ISA_XWRINC_LD_WARF                          0x000E
    #define   LSb32ISA_XWRINC_LD_WARF                             19
    #define   LSb16ISA_XWRINC_LD_WARF                             3
    #define       bISA_XWRINC_LD_WARF                          1
    #define   MSK32ISA_XWRINC_LD_WARF                             0x00080000

    #define     BA_ISA_XWRINC_LD_WAK8                          0x000E
    #define     B16ISA_XWRINC_LD_WAK8                          0x000E
    #define   LSb32ISA_XWRINC_LD_WAK8                             20
    #define   LSb16ISA_XWRINC_LD_WAK8                             4
    #define       bISA_XWRINC_LD_WAK8                          1
    #define   MSK32ISA_XWRINC_LD_WAK8                             0x00100000

    #define     BA_ISA_XWRINC_LD_WAK16                         0x000E
    #define     B16ISA_XWRINC_LD_WAK16                         0x000E
    #define   LSb32ISA_XWRINC_LD_WAK16                            21
    #define   LSb16ISA_XWRINC_LD_WAK16                            5
    #define       bISA_XWRINC_LD_WAK16                         1
    #define   MSK32ISA_XWRINC_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_EX                               0x0010

    #define     BA_ISA_XWRINC_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagZ                       0
    #define   LSb16ISA_XWRINC_EX_ALU16FlagZ                       0
    #define       bISA_XWRINC_EX_ALU16FlagZ                    1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_XWRINC_EX_ALU16FlagC                    0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagC                       1
    #define   LSb16ISA_XWRINC_EX_ALU16FlagC                       1
    #define       bISA_XWRINC_EX_ALU16FlagC                    1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_XWRINC_EX_ALU16FlagN                    0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagN                       2
    #define   LSb16ISA_XWRINC_EX_ALU16FlagN                       2
    #define       bISA_XWRINC_EX_ALU16FlagN                    1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_XWRINC_EX_ALU16FlagV                    0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagV                       3
    #define   LSb16ISA_XWRINC_EX_ALU16FlagV                       3
    #define       bISA_XWRINC_EX_ALU16FlagV                    1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_XWRINC_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagTP                      4
    #define   LSb16ISA_XWRINC_EX_ALU16FlagTP                      4
    #define       bISA_XWRINC_EX_ALU16FlagTP                   1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_XWRINC_EX_ALU16MUL                      0x0010
    #define     B16ISA_XWRINC_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16MUL                         5
    #define   LSb16ISA_XWRINC_EX_ALU16MUL                         5
    #define       bISA_XWRINC_EX_ALU16MUL                      1
    #define   MSK32ISA_XWRINC_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_XWRINC_EX_ALU16DIV                      0x0010
    #define     B16ISA_XWRINC_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16DIV                         6
    #define   LSb16ISA_XWRINC_EX_ALU16DIV                         6
    #define       bISA_XWRINC_EX_ALU16DIV                      1
    #define   MSK32ISA_XWRINC_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_XWRINC_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_XWRINC_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16FlagLD                      7
    #define   LSb16ISA_XWRINC_EX_ALU16FlagLD                      7
    #define       bISA_XWRINC_EX_ALU16FlagLD                   1
    #define   MSK32ISA_XWRINC_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_XWRINC_EX_ALU16MDL                      0x0011
    #define     B16ISA_XWRINC_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16MDL                         8
    #define   LSb16ISA_XWRINC_EX_ALU16MDL                         8
    #define       bISA_XWRINC_EX_ALU16MDL                      1
    #define   MSK32ISA_XWRINC_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_XWRINC_EX_ALU16MDH                      0x0011
    #define     B16ISA_XWRINC_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16MDH                         9
    #define   LSb16ISA_XWRINC_EX_ALU16MDH                         9
    #define       bISA_XWRINC_EX_ALU16MDH                      1
    #define   MSK32ISA_XWRINC_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_XWRINC_EX_ALU16ADD                      0x0011
    #define     B16ISA_XWRINC_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16ADD                         10
    #define   LSb16ISA_XWRINC_EX_ALU16ADD                         10
    #define       bISA_XWRINC_EX_ALU16ADD                      1
    #define   MSK32ISA_XWRINC_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_XWRINC_EX_ALU16SUB                      0x0011
    #define     B16ISA_XWRINC_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16SUB                         11
    #define   LSb16ISA_XWRINC_EX_ALU16SUB                         11
    #define       bISA_XWRINC_EX_ALU16SUB                      1
    #define   MSK32ISA_XWRINC_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_XWRINC_EX_ALU16ADDC                     0x0011
    #define     B16ISA_XWRINC_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16ADDC                        12
    #define   LSb16ISA_XWRINC_EX_ALU16ADDC                        12
    #define       bISA_XWRINC_EX_ALU16ADDC                     1
    #define   MSK32ISA_XWRINC_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_XWRINC_EX_ALU16SUBC                     0x0011
    #define     B16ISA_XWRINC_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16SUBC                        13
    #define   LSb16ISA_XWRINC_EX_ALU16SUBC                        13
    #define       bISA_XWRINC_EX_ALU16SUBC                     1
    #define   MSK32ISA_XWRINC_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_XWRINC_EX_ALU16ASR                      0x0011
    #define     B16ISA_XWRINC_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16ASR                         14
    #define   LSb16ISA_XWRINC_EX_ALU16ASR                         14
    #define       bISA_XWRINC_EX_ALU16ASR                      1
    #define   MSK32ISA_XWRINC_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_XWRINC_EX_ALU16SL                       0x0011
    #define     B16ISA_XWRINC_EX_ALU16SL                       0x0010
    #define   LSb32ISA_XWRINC_EX_ALU16SL                          15
    #define   LSb16ISA_XWRINC_EX_ALU16SL                          15
    #define       bISA_XWRINC_EX_ALU16SL                       1
    #define   MSK32ISA_XWRINC_EX_ALU16SL                          0x00008000

    #define     BA_ISA_XWRINC_EX_ALU16SR                       0x0012
    #define     B16ISA_XWRINC_EX_ALU16SR                       0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16SR                          16
    #define   LSb16ISA_XWRINC_EX_ALU16SR                          0
    #define       bISA_XWRINC_EX_ALU16SR                       1
    #define   MSK32ISA_XWRINC_EX_ALU16SR                          0x00010000

    #define     BA_ISA_XWRINC_EX_ALU16GET                      0x0012
    #define     B16ISA_XWRINC_EX_ALU16GET                      0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16GET                         17
    #define   LSb16ISA_XWRINC_EX_ALU16GET                         1
    #define       bISA_XWRINC_EX_ALU16GET                      1
    #define   MSK32ISA_XWRINC_EX_ALU16GET                         0x00020000

    #define     BA_ISA_XWRINC_EX_ALU16SET                      0x0012
    #define     B16ISA_XWRINC_EX_ALU16SET                      0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16SET                         18
    #define   LSb16ISA_XWRINC_EX_ALU16SET                         2
    #define       bISA_XWRINC_EX_ALU16SET                      1
    #define   MSK32ISA_XWRINC_EX_ALU16SET                         0x00040000

    #define     BA_ISA_XWRINC_EX_ALU16SEL                      0x0012
    #define     B16ISA_XWRINC_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16SEL                         19
    #define   LSb16ISA_XWRINC_EX_ALU16SEL                         3
    #define       bISA_XWRINC_EX_ALU16SEL                      1
    #define   MSK32ISA_XWRINC_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_XWRINC_EX_ALU16OR                       0x0012
    #define     B16ISA_XWRINC_EX_ALU16OR                       0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16OR                          20
    #define   LSb16ISA_XWRINC_EX_ALU16OR                          4
    #define       bISA_XWRINC_EX_ALU16OR                       1
    #define   MSK32ISA_XWRINC_EX_ALU16OR                          0x00100000

    #define     BA_ISA_XWRINC_EX_ALU16AND                      0x0012
    #define     B16ISA_XWRINC_EX_ALU16AND                      0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16AND                         21
    #define   LSb16ISA_XWRINC_EX_ALU16AND                         5
    #define       bISA_XWRINC_EX_ALU16AND                      1
    #define   MSK32ISA_XWRINC_EX_ALU16AND                         0x00200000

    #define     BA_ISA_XWRINC_EX_ALU16XOR                      0x0012
    #define     B16ISA_XWRINC_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16XOR                         22
    #define   LSb16ISA_XWRINC_EX_ALU16XOR                         6
    #define       bISA_XWRINC_EX_ALU16XOR                      1
    #define   MSK32ISA_XWRINC_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_XWRINC_EX_ALU16SP                       0x0012
    #define     B16ISA_XWRINC_EX_ALU16SP                       0x0012
    #define   LSb32ISA_XWRINC_EX_ALU16SP                          23
    #define   LSb16ISA_XWRINC_EX_ALU16SP                          7
    #define       bISA_XWRINC_EX_ALU16SP                       1
    #define   MSK32ISA_XWRINC_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_EXX                              0x0014

    #define     BA_ISA_XWRINC_EXX_WRSQ                         0x0014
    #define     B16ISA_XWRINC_EXX_WRSQ                         0x0014
    #define   LSb32ISA_XWRINC_EXX_WRSQ                            0
    #define   LSb16ISA_XWRINC_EXX_WRSQ                            0
    #define       bISA_XWRINC_EXX_WRSQ                         1
    #define   MSK32ISA_XWRINC_EXX_WRSQ                            0x00000001

    #define     BA_ISA_XWRINC_EXX_WR16                         0x0014
    #define     B16ISA_XWRINC_EXX_WR16                         0x0014
    #define   LSb32ISA_XWRINC_EXX_WR16                            1
    #define   LSb16ISA_XWRINC_EXX_WR16                            1
    #define       bISA_XWRINC_EXX_WR16                         1
    #define   MSK32ISA_XWRINC_EXX_WR16                            0x00000002

    #define     BA_ISA_XWRINC_EXX_WRTQ                         0x0014
    #define     B16ISA_XWRINC_EXX_WRTQ                         0x0014
    #define   LSb32ISA_XWRINC_EXX_WRTQ                            2
    #define   LSb16ISA_XWRINC_EXX_WRTQ                            2
    #define       bISA_XWRINC_EXX_WRTQ                         1
    #define   MSK32ISA_XWRINC_EXX_WRTQ                            0x00000004

    #define     BA_ISA_XWRINC_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_XWRINC_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_XWRINC_EXX_ALU64PUSH                       3
    #define   LSb16ISA_XWRINC_EXX_ALU64PUSH                       3
    #define       bISA_XWRINC_EXX_ALU64PUSH                    1
    #define   MSK32ISA_XWRINC_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_XWRINC_EXX_ALU64POP                     0x0014
    #define     B16ISA_XWRINC_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_XWRINC_EXX_ALU64POP                        4
    #define   LSb16ISA_XWRINC_EXX_ALU64POP                        4
    #define       bISA_XWRINC_EXX_ALU64POP                     1
    #define   MSK32ISA_XWRINC_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_XWRINC_EXX_ALU64SQ                      0x0014
    #define     B16ISA_XWRINC_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_XWRINC_EXX_ALU64SQ                         5
    #define   LSb16ISA_XWRINC_EXX_ALU64SQ                         5
    #define       bISA_XWRINC_EXX_ALU64SQ                      1
    #define   MSK32ISA_XWRINC_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_XWRINC_EXX_ALU64TQ                      0x0014
    #define     B16ISA_XWRINC_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_XWRINC_EXX_ALU64TQ                         6
    #define   LSb16ISA_XWRINC_EXX_ALU64TQ                         6
    #define       bISA_XWRINC_EXX_ALU64TQ                      1
    #define   MSK32ISA_XWRINC_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_XWRINC_EXX_ALU64MEM                     0x0014
    #define     B16ISA_XWRINC_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_XWRINC_EXX_ALU64MEM                        7
    #define   LSb16ISA_XWRINC_EXX_ALU64MEM                        7
    #define       bISA_XWRINC_EXX_ALU64MEM                     1
    #define   MSK32ISA_XWRINC_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_XWRINC_EXX_BRANCH                       0x0015
    #define     B16ISA_XWRINC_EXX_BRANCH                       0x0014
    #define   LSb32ISA_XWRINC_EXX_BRANCH                          8
    #define   LSb16ISA_XWRINC_EXX_BRANCH                          8
    #define       bISA_XWRINC_EXX_BRANCH                       1
    #define   MSK32ISA_XWRINC_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XWRINC_WB                               0x0018

    #define     BA_ISA_XWRINC_WB_RF16                          0x0018
    #define     B16ISA_XWRINC_WB_RF16                          0x0018
    #define   LSb32ISA_XWRINC_WB_RF16                             0
    #define   LSb16ISA_XWRINC_WB_RF16                             0
    #define       bISA_XWRINC_WB_RF16                          1
    #define   MSK32ISA_XWRINC_WB_RF16                             0x00000001

    #define     BA_ISA_XWRINC_WB_RF16W0                        0x0018
    #define     B16ISA_XWRINC_WB_RF16W0                        0x0018
    #define   LSb32ISA_XWRINC_WB_RF16W0                           1
    #define   LSb16ISA_XWRINC_WB_RF16W0                           1
    #define       bISA_XWRINC_WB_RF16W0                        1
    #define   MSK32ISA_XWRINC_WB_RF16W0                           0x00000002

    #define     BA_ISA_XWRINC_WB_RF16MEM                       0x0018
    #define     B16ISA_XWRINC_WB_RF16MEM                       0x0018
    #define   LSb32ISA_XWRINC_WB_RF16MEM                          2
    #define   LSb16ISA_XWRINC_WB_RF16MEM                          2
    #define       bISA_XWRINC_WB_RF16MEM                       1
    #define   MSK32ISA_XWRINC_WB_RF16MEM                          0x00000004

    #define     BA_ISA_XWRINC_WB_RF16Q                         0x0018
    #define     B16ISA_XWRINC_WB_RF16Q                         0x0018
    #define   LSb32ISA_XWRINC_WB_RF16Q                            3
    #define   LSb16ISA_XWRINC_WB_RF16Q                            3
    #define       bISA_XWRINC_WB_RF16Q                         1
    #define   MSK32ISA_XWRINC_WB_RF16Q                            0x00000008

    #define     BA_ISA_XWRINC_WB_RF64                          0x0018
    #define     B16ISA_XWRINC_WB_RF64                          0x0018
    #define   LSb32ISA_XWRINC_WB_RF64                             4
    #define   LSb16ISA_XWRINC_WB_RF64                             4
    #define       bISA_XWRINC_WB_RF64                          1
    #define   MSK32ISA_XWRINC_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XWRINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XWRINC_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWRINC_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWRINC_Mask;
            struct w32ISA_XWRINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_XWRINC_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_XWRINC_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XWRINC_Opcode;
            struct w32ISA_XWRINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRINC_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRINC_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRINC_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRINC_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRINC_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRINC_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRINC_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRINC_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRINC_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRINC_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRINC_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRINC_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRINC_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRINC_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRINC_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRINC_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRINC_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRINC_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRINC_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRINC_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWRINC_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XWRINC_ID;
            struct w32ISA_XWRINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRINC_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRINC_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRINC_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRINC_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRINC_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRINC_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRINC_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRINC_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRINC_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRINC_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRINC_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRINC_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRINC_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRINC_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRINC_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRINC_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRINC_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRINC_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRINC_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRINC_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRINC_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRINC_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRINC_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRINC_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWRINC_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWRINC_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWRINC_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWRINC_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWRINC_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_XWRINC_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWRINC_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_XWRINC_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWRINC_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_XWRINC_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWRINC_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_XWRINC_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWRINC_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_XWRINC_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWRINC_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_XWRINC_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWRINC_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_XWRINC_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWRINC_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_XWRINC_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWRINC_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XWRINC_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWRINC_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XWRINC_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWRINC_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_XWRINC_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWRINC_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_XWRINC_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWRINC_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XWRINC_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWRINC_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XWRINC_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWRINC_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_XWRINC_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWRINC_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_XWRINC_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWRINC_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XWRINC_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWRINC_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XWRINC_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWRINC_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XWRINC_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XWRINC_LD;
            struct w32ISA_XWRINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRINC_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRINC_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRINC_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRINC_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRINC_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRINC_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRINC_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRINC_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRINC_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRINC_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRINC_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRINC_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRINC_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRINC_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRINC_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRINC_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRINC_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRINC_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRINC_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XWRINC_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_XWRINC_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XWRINC_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_XWRINC_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XWRINC_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_XWRINC_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_XWRINC_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_XWRINC_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_XWRINC_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_XWRINC_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_XWRINC_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_XWRINC_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_XWRINC_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_XWRINC_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_XWRINC_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_XWRINC_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_XWRINC_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_XWRINC_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_XWRINC_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_XWRINC_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_XWRINC_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_XWRINC_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_XWRINC_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_XWRINC_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_XWRINC_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_XWRINC_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_XWRINC_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_XWRINC_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_XWRINC_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XWRINC_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XWRINC_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_XWRINC_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_XWRINC_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_XWRINC_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_XWRINC_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_XWRINC_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_XWRINC_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_XWRINC_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_XWRINC_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_XWRINC_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_XWRINC_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRINC_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_XWRINC_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_XWRINC_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRINC_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRINC_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_XWRINC_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_XWRINC_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRINC_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XWRINC_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XWRINC_EX;
            struct w32ISA_XWRINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRINC_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRINC_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRINC_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRINC_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRINC_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRINC_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRINC_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRINC_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRINC_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRINC_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XWRINC_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XWRINC_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XWRINC_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XWRINC_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XWRINC_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XWRINC_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XWRINC_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XWRINC_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XWRINC_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XWRINC_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XWRINC_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XWRINC_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XWRINC_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_XWRINC_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XWRINC_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_XWRINC_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XWRINC_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XWRINC_EXX;
            struct w32ISA_XWRINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XWRINC_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XWRINC_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XWRINC_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XWRINC_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XWRINC_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_XWRINC_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XWRINC_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XWRINC_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XWRINC_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XWRINC_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XWRINC_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XWRINC_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XWRINC_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XWRINC_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XWRINC_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XWRINC_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XWRINC_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XWRINC_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XWRINC_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XWRINC_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XWRINC_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XWRINC_WB;
            struct w32ISA_XWRINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XWRINC;

    typedef union  T32ISA_XWRINC_Mask
          { UNSG32 u32;
            struct w32ISA_XWRINC_Mask;
                 } T32ISA_XWRINC_Mask;
    typedef union  T32ISA_XWRINC_Opcode
          { UNSG32 u32;
            struct w32ISA_XWRINC_Opcode;
                 } T32ISA_XWRINC_Opcode;
    typedef union  T32ISA_XWRINC_ID
          { UNSG32 u32;
            struct w32ISA_XWRINC_ID;
                 } T32ISA_XWRINC_ID;
    typedef union  T32ISA_XWRINC_LD
          { UNSG32 u32;
            struct w32ISA_XWRINC_LD;
                 } T32ISA_XWRINC_LD;
    typedef union  T32ISA_XWRINC_EX
          { UNSG32 u32;
            struct w32ISA_XWRINC_EX;
                 } T32ISA_XWRINC_EX;
    typedef union  T32ISA_XWRINC_EXX
          { UNSG32 u32;
            struct w32ISA_XWRINC_EXX;
                 } T32ISA_XWRINC_EXX;
    typedef union  T32ISA_XWRINC_WB
          { UNSG32 u32;
            struct w32ISA_XWRINC_WB;
                 } T32ISA_XWRINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XWRINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_Mask;
                   };
                 } TISA_XWRINC_Mask;
    typedef union  TISA_XWRINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_Opcode;
                   };
                 } TISA_XWRINC_Opcode;
    typedef union  TISA_XWRINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_ID;
                   };
                 } TISA_XWRINC_ID;
    typedef union  TISA_XWRINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_LD;
                   };
                 } TISA_XWRINC_LD;
    typedef union  TISA_XWRINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_EX;
                   };
                 } TISA_XWRINC_EX;
    typedef union  TISA_XWRINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_EXX;
                   };
                 } TISA_XWRINC_EXX;
    typedef union  TISA_XWRINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XWRINC_WB;
                   };
                 } TISA_XWRINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XWRINC_drvrd(SIE_ISA_XWRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XWRINC_drvwr(SIE_ISA_XWRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XWRINC_reset(SIE_ISA_XWRINC *p);
     SIGN32 ISA_XWRINC_cmp  (SIE_ISA_XWRINC *p, SIE_ISA_XWRINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XWRINC_check(p,pie,pfx,hLOG) ISA_XWRINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XWRINC_print(p,    pfx,hLOG) ISA_XWRINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XWRINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XINCWR                               (4,4)
///     ###
///     * Memory write of 64b quad-register.
///     * Using address register with an offset [-128~127].
///     * Address register is also updated with same offset, and no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF0000F
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x50000E
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.INC.WR", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1110" } ,
///                                    * - Usage:
///                                    * -    X.INC.WR %a1, + 8, %x2   ; M64[ %a1 + 8 ] = %x2;
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      0x1
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      0x1
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XINCWR
#define h_ISA_XINCWR (){}

    #define     RA_ISA_XINCWR_Mask                             0x0000

    #define     BA_ISA_XINCWR_Mask_INS                         0x0000
    #define     B16ISA_XINCWR_Mask_INS                         0x0000
    #define   LSb32ISA_XINCWR_Mask_INS                            0
    #define   LSb16ISA_XINCWR_Mask_INS                            0
    #define       bISA_XINCWR_Mask_INS                         24
    #define   MSK32ISA_XINCWR_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_Opcode                           0x0004

    #define     BA_ISA_XINCWR_Opcode_INS                       0x0004
    #define     B16ISA_XINCWR_Opcode_INS                       0x0004
    #define   LSb32ISA_XINCWR_Opcode_INS                          0
    #define   LSb16ISA_XINCWR_Opcode_INS                          0
    #define       bISA_XINCWR_Opcode_INS                       24
    #define   MSK32ISA_XINCWR_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_ID                               0x0008

    #define     BA_ISA_XINCWR_ID_RBRF                          0x0008
    #define     B16ISA_XINCWR_ID_RBRF                          0x0008
    #define   LSb32ISA_XINCWR_ID_RBRF                             0
    #define   LSb16ISA_XINCWR_ID_RBRF                             0
    #define       bISA_XINCWR_ID_RBRF                          1
    #define   MSK32ISA_XINCWR_ID_RBRF                             0x00000001

    #define     BA_ISA_XINCWR_ID_RARF                          0x0008
    #define     B16ISA_XINCWR_ID_RARF                          0x0008
    #define   LSb32ISA_XINCWR_ID_RARF                             1
    #define   LSb16ISA_XINCWR_ID_RARF                             1
    #define       bISA_XINCWR_ID_RARF                          1
    #define   MSK32ISA_XINCWR_ID_RARF                             0x00000002

    #define     BA_ISA_XINCWR_ID_RAK8                          0x0008
    #define     B16ISA_XINCWR_ID_RAK8                          0x0008
    #define   LSb32ISA_XINCWR_ID_RAK8                             2
    #define   LSb16ISA_XINCWR_ID_RAK8                             2
    #define       bISA_XINCWR_ID_RAK8                          1
    #define   MSK32ISA_XINCWR_ID_RAK8                             0x00000004

    #define     BA_ISA_XINCWR_ID_RAI16                         0x0008
    #define     B16ISA_XINCWR_ID_RAI16                         0x0008
    #define   LSb32ISA_XINCWR_ID_RAI16                            3
    #define   LSb16ISA_XINCWR_ID_RAI16                            3
    #define       bISA_XINCWR_ID_RAI16                         1
    #define   MSK32ISA_XINCWR_ID_RAI16                            0x00000008

    #define     BA_ISA_XINCWR_ID_RAK16                         0x0008
    #define     B16ISA_XINCWR_ID_RAK16                         0x0008
    #define   LSb32ISA_XINCWR_ID_RAK16                            4
    #define   LSb16ISA_XINCWR_ID_RAK16                            4
    #define       bISA_XINCWR_ID_RAK16                         1
    #define   MSK32ISA_XINCWR_ID_RAK16                            0x00000010

    #define     BA_ISA_XINCWR_ID_RFSP                          0x0008
    #define     B16ISA_XINCWR_ID_RFSP                          0x0008
    #define   LSb32ISA_XINCWR_ID_RFSP                             5
    #define   LSb16ISA_XINCWR_ID_RFSP                             5
    #define       bISA_XINCWR_ID_RFSP                          1
    #define   MSK32ISA_XINCWR_ID_RFSP                             0x00000020

    #define     BA_ISA_XINCWR_ID_W4D4                          0x0008
    #define     B16ISA_XINCWR_ID_W4D4                          0x0008
    #define   LSb32ISA_XINCWR_ID_W4D4                             6
    #define   LSb16ISA_XINCWR_ID_W4D4                             6
    #define       bISA_XINCWR_ID_W4D4                          1
    #define   MSK32ISA_XINCWR_ID_W4D4                             0x00000040

    #define     BA_ISA_XINCWR_ID_W4S4                          0x0008
    #define     B16ISA_XINCWR_ID_W4S4                          0x0008
    #define   LSb32ISA_XINCWR_ID_W4S4                             7
    #define   LSb16ISA_XINCWR_ID_W4S4                             7
    #define       bISA_XINCWR_ID_W4S4                          1
    #define   MSK32ISA_XINCWR_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_LD                               0x000C

    #define     BA_ISA_XINCWR_LD_SPRF                          0x000C
    #define     B16ISA_XINCWR_LD_SPRF                          0x000C
    #define   LSb32ISA_XINCWR_LD_SPRF                             0
    #define   LSb16ISA_XINCWR_LD_SPRF                             0
    #define       bISA_XINCWR_LD_SPRF                          1
    #define   MSK32ISA_XINCWR_LD_SPRF                             0x00000001

    #define     BA_ISA_XINCWR_LD_SPK8                          0x000C
    #define     B16ISA_XINCWR_LD_SPK8                          0x000C
    #define   LSb32ISA_XINCWR_LD_SPK8                             1
    #define   LSb16ISA_XINCWR_LD_SPK8                             1
    #define       bISA_XINCWR_LD_SPK8                          1
    #define   MSK32ISA_XINCWR_LD_SPK8                             0x00000002

    #define     BA_ISA_XINCWR_LD_SPJ                           0x000C
    #define     B16ISA_XINCWR_LD_SPJ                           0x000C
    #define   LSb32ISA_XINCWR_LD_SPJ                              2
    #define   LSb16ISA_XINCWR_LD_SPJ                              2
    #define       bISA_XINCWR_LD_SPJ                           1
    #define   MSK32ISA_XINCWR_LD_SPJ                              0x00000004

    #define     BA_ISA_XINCWR_LD_SP4S                          0x000C
    #define     B16ISA_XINCWR_LD_SP4S                          0x000C
    #define   LSb32ISA_XINCWR_LD_SP4S                             3
    #define   LSb16ISA_XINCWR_LD_SP4S                             3
    #define       bISA_XINCWR_LD_SP4S                          1
    #define   MSK32ISA_XINCWR_LD_SP4S                             0x00000008

    #define     BA_ISA_XINCWR_LD_SP8S                          0x000C
    #define     B16ISA_XINCWR_LD_SP8S                          0x000C
    #define   LSb32ISA_XINCWR_LD_SP8S                             4
    #define   LSb16ISA_XINCWR_LD_SP8S                             4
    #define       bISA_XINCWR_LD_SP8S                          1
    #define   MSK32ISA_XINCWR_LD_SP8S                             0x00000010

    #define     BA_ISA_XINCWR_LD_SP8U                          0x000C
    #define     B16ISA_XINCWR_LD_SP8U                          0x000C
    #define   LSb32ISA_XINCWR_LD_SP8U                             5
    #define   LSb16ISA_XINCWR_LD_SP8U                             5
    #define       bISA_XINCWR_LD_SP8U                          1
    #define   MSK32ISA_XINCWR_LD_SP8U                             0x00000020

    #define     BA_ISA_XINCWR_LD_SP12S                         0x000C
    #define     B16ISA_XINCWR_LD_SP12S                         0x000C
    #define   LSb32ISA_XINCWR_LD_SP12S                            6
    #define   LSb16ISA_XINCWR_LD_SP12S                            6
    #define       bISA_XINCWR_LD_SP12S                         1
    #define   MSK32ISA_XINCWR_LD_SP12S                            0x00000040

    #define     BA_ISA_XINCWR_LD_SP16                          0x000C
    #define     B16ISA_XINCWR_LD_SP16                          0x000C
    #define   LSb32ISA_XINCWR_LD_SP16                             7
    #define   LSb16ISA_XINCWR_LD_SP16                             7
    #define       bISA_XINCWR_LD_SP16                          1
    #define   MSK32ISA_XINCWR_LD_SP16                             0x00000080

    #define     BA_ISA_XINCWR_LD_TPRF                          0x000D
    #define     B16ISA_XINCWR_LD_TPRF                          0x000C
    #define   LSb32ISA_XINCWR_LD_TPRF                             8
    #define   LSb16ISA_XINCWR_LD_TPRF                             8
    #define       bISA_XINCWR_LD_TPRF                          1
    #define   MSK32ISA_XINCWR_LD_TPRF                             0x00000100

    #define     BA_ISA_XINCWR_LD_TPJ                           0x000D
    #define     B16ISA_XINCWR_LD_TPJ                           0x000C
    #define   LSb32ISA_XINCWR_LD_TPJ                              9
    #define   LSb16ISA_XINCWR_LD_TPJ                              9
    #define       bISA_XINCWR_LD_TPJ                           1
    #define   MSK32ISA_XINCWR_LD_TPJ                              0x00000200

    #define     BA_ISA_XINCWR_LD_TP4S                          0x000D
    #define     B16ISA_XINCWR_LD_TP4S                          0x000C
    #define   LSb32ISA_XINCWR_LD_TP4S                             10
    #define   LSb16ISA_XINCWR_LD_TP4S                             10
    #define       bISA_XINCWR_LD_TP4S                          1
    #define   MSK32ISA_XINCWR_LD_TP4S                             0x00000400

    #define     BA_ISA_XINCWR_LD_TP8L                          0x000D
    #define     B16ISA_XINCWR_LD_TP8L                          0x000C
    #define   LSb32ISA_XINCWR_LD_TP8L                             11
    #define   LSb16ISA_XINCWR_LD_TP8L                             11
    #define       bISA_XINCWR_LD_TP8L                          1
    #define   MSK32ISA_XINCWR_LD_TP8L                             0x00000800

    #define     BA_ISA_XINCWR_LD_TP8H                          0x000D
    #define     B16ISA_XINCWR_LD_TP8H                          0x000C
    #define   LSb32ISA_XINCWR_LD_TP8H                             12
    #define   LSb16ISA_XINCWR_LD_TP8H                             12
    #define       bISA_XINCWR_LD_TP8H                          1
    #define   MSK32ISA_XINCWR_LD_TP8H                             0x00001000

    #define     BA_ISA_XINCWR_LD_TP8LF                         0x000D
    #define     B16ISA_XINCWR_LD_TP8LF                         0x000C
    #define   LSb32ISA_XINCWR_LD_TP8LF                            13
    #define   LSb16ISA_XINCWR_LD_TP8LF                            13
    #define       bISA_XINCWR_LD_TP8LF                         1
    #define   MSK32ISA_XINCWR_LD_TP8LF                            0x00002000

    #define     BA_ISA_XINCWR_LD_TP8HF                         0x000D
    #define     B16ISA_XINCWR_LD_TP8HF                         0x000C
    #define   LSb32ISA_XINCWR_LD_TP8HF                            14
    #define   LSb16ISA_XINCWR_LD_TP8HF                            14
    #define       bISA_XINCWR_LD_TP8HF                         1
    #define   MSK32ISA_XINCWR_LD_TP8HF                            0x00004000

    #define     BA_ISA_XINCWR_LD_SQRF64                        0x000D
    #define     B16ISA_XINCWR_LD_SQRF64                        0x000C
    #define   LSb32ISA_XINCWR_LD_SQRF64                           15
    #define   LSb16ISA_XINCWR_LD_SQRF64                           15
    #define       bISA_XINCWR_LD_SQRF64                        1
    #define   MSK32ISA_XINCWR_LD_SQRF64                           0x00008000

    #define     BA_ISA_XINCWR_LD_TQRF16Q                       0x000E
    #define     B16ISA_XINCWR_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_XINCWR_LD_TQRF16Q                          16
    #define   LSb16ISA_XINCWR_LD_TQRF16Q                          0
    #define       bISA_XINCWR_LD_TQRF16Q                       1
    #define   MSK32ISA_XINCWR_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_XINCWR_LD_TQRFx4                        0x000E
    #define     B16ISA_XINCWR_LD_TQRFx4                        0x000E
    #define   LSb32ISA_XINCWR_LD_TQRFx4                           17
    #define   LSb16ISA_XINCWR_LD_TQRFx4                           1
    #define       bISA_XINCWR_LD_TQRFx4                        1
    #define   MSK32ISA_XINCWR_LD_TQRFx4                           0x00020000

    #define     BA_ISA_XINCWR_LD_RD                            0x000E
    #define     B16ISA_XINCWR_LD_RD                            0x000E
    #define   LSb32ISA_XINCWR_LD_RD                               18
    #define   LSb16ISA_XINCWR_LD_RD                               2
    #define       bISA_XINCWR_LD_RD                            1
    #define   MSK32ISA_XINCWR_LD_RD                               0x00040000

    #define     BA_ISA_XINCWR_LD_WARF                          0x000E
    #define     B16ISA_XINCWR_LD_WARF                          0x000E
    #define   LSb32ISA_XINCWR_LD_WARF                             19
    #define   LSb16ISA_XINCWR_LD_WARF                             3
    #define       bISA_XINCWR_LD_WARF                          1
    #define   MSK32ISA_XINCWR_LD_WARF                             0x00080000

    #define     BA_ISA_XINCWR_LD_WAK8                          0x000E
    #define     B16ISA_XINCWR_LD_WAK8                          0x000E
    #define   LSb32ISA_XINCWR_LD_WAK8                             20
    #define   LSb16ISA_XINCWR_LD_WAK8                             4
    #define       bISA_XINCWR_LD_WAK8                          1
    #define   MSK32ISA_XINCWR_LD_WAK8                             0x00100000

    #define     BA_ISA_XINCWR_LD_WAK16                         0x000E
    #define     B16ISA_XINCWR_LD_WAK16                         0x000E
    #define   LSb32ISA_XINCWR_LD_WAK16                            21
    #define   LSb16ISA_XINCWR_LD_WAK16                            5
    #define       bISA_XINCWR_LD_WAK16                         1
    #define   MSK32ISA_XINCWR_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_EX                               0x0010

    #define     BA_ISA_XINCWR_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagZ                       0
    #define   LSb16ISA_XINCWR_EX_ALU16FlagZ                       0
    #define       bISA_XINCWR_EX_ALU16FlagZ                    1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_XINCWR_EX_ALU16FlagC                    0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagC                       1
    #define   LSb16ISA_XINCWR_EX_ALU16FlagC                       1
    #define       bISA_XINCWR_EX_ALU16FlagC                    1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_XINCWR_EX_ALU16FlagN                    0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagN                       2
    #define   LSb16ISA_XINCWR_EX_ALU16FlagN                       2
    #define       bISA_XINCWR_EX_ALU16FlagN                    1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_XINCWR_EX_ALU16FlagV                    0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagV                       3
    #define   LSb16ISA_XINCWR_EX_ALU16FlagV                       3
    #define       bISA_XINCWR_EX_ALU16FlagV                    1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_XINCWR_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagTP                      4
    #define   LSb16ISA_XINCWR_EX_ALU16FlagTP                      4
    #define       bISA_XINCWR_EX_ALU16FlagTP                   1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_XINCWR_EX_ALU16MUL                      0x0010
    #define     B16ISA_XINCWR_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16MUL                         5
    #define   LSb16ISA_XINCWR_EX_ALU16MUL                         5
    #define       bISA_XINCWR_EX_ALU16MUL                      1
    #define   MSK32ISA_XINCWR_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_XINCWR_EX_ALU16DIV                      0x0010
    #define     B16ISA_XINCWR_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16DIV                         6
    #define   LSb16ISA_XINCWR_EX_ALU16DIV                         6
    #define       bISA_XINCWR_EX_ALU16DIV                      1
    #define   MSK32ISA_XINCWR_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_XINCWR_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_XINCWR_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16FlagLD                      7
    #define   LSb16ISA_XINCWR_EX_ALU16FlagLD                      7
    #define       bISA_XINCWR_EX_ALU16FlagLD                   1
    #define   MSK32ISA_XINCWR_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_XINCWR_EX_ALU16MDL                      0x0011
    #define     B16ISA_XINCWR_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16MDL                         8
    #define   LSb16ISA_XINCWR_EX_ALU16MDL                         8
    #define       bISA_XINCWR_EX_ALU16MDL                      1
    #define   MSK32ISA_XINCWR_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_XINCWR_EX_ALU16MDH                      0x0011
    #define     B16ISA_XINCWR_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16MDH                         9
    #define   LSb16ISA_XINCWR_EX_ALU16MDH                         9
    #define       bISA_XINCWR_EX_ALU16MDH                      1
    #define   MSK32ISA_XINCWR_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_XINCWR_EX_ALU16ADD                      0x0011
    #define     B16ISA_XINCWR_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16ADD                         10
    #define   LSb16ISA_XINCWR_EX_ALU16ADD                         10
    #define       bISA_XINCWR_EX_ALU16ADD                      1
    #define   MSK32ISA_XINCWR_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_XINCWR_EX_ALU16SUB                      0x0011
    #define     B16ISA_XINCWR_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16SUB                         11
    #define   LSb16ISA_XINCWR_EX_ALU16SUB                         11
    #define       bISA_XINCWR_EX_ALU16SUB                      1
    #define   MSK32ISA_XINCWR_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_XINCWR_EX_ALU16ADDC                     0x0011
    #define     B16ISA_XINCWR_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16ADDC                        12
    #define   LSb16ISA_XINCWR_EX_ALU16ADDC                        12
    #define       bISA_XINCWR_EX_ALU16ADDC                     1
    #define   MSK32ISA_XINCWR_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_XINCWR_EX_ALU16SUBC                     0x0011
    #define     B16ISA_XINCWR_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16SUBC                        13
    #define   LSb16ISA_XINCWR_EX_ALU16SUBC                        13
    #define       bISA_XINCWR_EX_ALU16SUBC                     1
    #define   MSK32ISA_XINCWR_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_XINCWR_EX_ALU16ASR                      0x0011
    #define     B16ISA_XINCWR_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16ASR                         14
    #define   LSb16ISA_XINCWR_EX_ALU16ASR                         14
    #define       bISA_XINCWR_EX_ALU16ASR                      1
    #define   MSK32ISA_XINCWR_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_XINCWR_EX_ALU16SL                       0x0011
    #define     B16ISA_XINCWR_EX_ALU16SL                       0x0010
    #define   LSb32ISA_XINCWR_EX_ALU16SL                          15
    #define   LSb16ISA_XINCWR_EX_ALU16SL                          15
    #define       bISA_XINCWR_EX_ALU16SL                       1
    #define   MSK32ISA_XINCWR_EX_ALU16SL                          0x00008000

    #define     BA_ISA_XINCWR_EX_ALU16SR                       0x0012
    #define     B16ISA_XINCWR_EX_ALU16SR                       0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16SR                          16
    #define   LSb16ISA_XINCWR_EX_ALU16SR                          0
    #define       bISA_XINCWR_EX_ALU16SR                       1
    #define   MSK32ISA_XINCWR_EX_ALU16SR                          0x00010000

    #define     BA_ISA_XINCWR_EX_ALU16GET                      0x0012
    #define     B16ISA_XINCWR_EX_ALU16GET                      0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16GET                         17
    #define   LSb16ISA_XINCWR_EX_ALU16GET                         1
    #define       bISA_XINCWR_EX_ALU16GET                      1
    #define   MSK32ISA_XINCWR_EX_ALU16GET                         0x00020000

    #define     BA_ISA_XINCWR_EX_ALU16SET                      0x0012
    #define     B16ISA_XINCWR_EX_ALU16SET                      0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16SET                         18
    #define   LSb16ISA_XINCWR_EX_ALU16SET                         2
    #define       bISA_XINCWR_EX_ALU16SET                      1
    #define   MSK32ISA_XINCWR_EX_ALU16SET                         0x00040000

    #define     BA_ISA_XINCWR_EX_ALU16SEL                      0x0012
    #define     B16ISA_XINCWR_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16SEL                         19
    #define   LSb16ISA_XINCWR_EX_ALU16SEL                         3
    #define       bISA_XINCWR_EX_ALU16SEL                      1
    #define   MSK32ISA_XINCWR_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_XINCWR_EX_ALU16OR                       0x0012
    #define     B16ISA_XINCWR_EX_ALU16OR                       0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16OR                          20
    #define   LSb16ISA_XINCWR_EX_ALU16OR                          4
    #define       bISA_XINCWR_EX_ALU16OR                       1
    #define   MSK32ISA_XINCWR_EX_ALU16OR                          0x00100000

    #define     BA_ISA_XINCWR_EX_ALU16AND                      0x0012
    #define     B16ISA_XINCWR_EX_ALU16AND                      0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16AND                         21
    #define   LSb16ISA_XINCWR_EX_ALU16AND                         5
    #define       bISA_XINCWR_EX_ALU16AND                      1
    #define   MSK32ISA_XINCWR_EX_ALU16AND                         0x00200000

    #define     BA_ISA_XINCWR_EX_ALU16XOR                      0x0012
    #define     B16ISA_XINCWR_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16XOR                         22
    #define   LSb16ISA_XINCWR_EX_ALU16XOR                         6
    #define       bISA_XINCWR_EX_ALU16XOR                      1
    #define   MSK32ISA_XINCWR_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_XINCWR_EX_ALU16SP                       0x0012
    #define     B16ISA_XINCWR_EX_ALU16SP                       0x0012
    #define   LSb32ISA_XINCWR_EX_ALU16SP                          23
    #define   LSb16ISA_XINCWR_EX_ALU16SP                          7
    #define       bISA_XINCWR_EX_ALU16SP                       1
    #define   MSK32ISA_XINCWR_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_EXX                              0x0014

    #define     BA_ISA_XINCWR_EXX_WRSQ                         0x0014
    #define     B16ISA_XINCWR_EXX_WRSQ                         0x0014
    #define   LSb32ISA_XINCWR_EXX_WRSQ                            0
    #define   LSb16ISA_XINCWR_EXX_WRSQ                            0
    #define       bISA_XINCWR_EXX_WRSQ                         1
    #define   MSK32ISA_XINCWR_EXX_WRSQ                            0x00000001

    #define     BA_ISA_XINCWR_EXX_WR16                         0x0014
    #define     B16ISA_XINCWR_EXX_WR16                         0x0014
    #define   LSb32ISA_XINCWR_EXX_WR16                            1
    #define   LSb16ISA_XINCWR_EXX_WR16                            1
    #define       bISA_XINCWR_EXX_WR16                         1
    #define   MSK32ISA_XINCWR_EXX_WR16                            0x00000002

    #define     BA_ISA_XINCWR_EXX_WRTQ                         0x0014
    #define     B16ISA_XINCWR_EXX_WRTQ                         0x0014
    #define   LSb32ISA_XINCWR_EXX_WRTQ                            2
    #define   LSb16ISA_XINCWR_EXX_WRTQ                            2
    #define       bISA_XINCWR_EXX_WRTQ                         1
    #define   MSK32ISA_XINCWR_EXX_WRTQ                            0x00000004

    #define     BA_ISA_XINCWR_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_XINCWR_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_XINCWR_EXX_ALU64PUSH                       3
    #define   LSb16ISA_XINCWR_EXX_ALU64PUSH                       3
    #define       bISA_XINCWR_EXX_ALU64PUSH                    1
    #define   MSK32ISA_XINCWR_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_XINCWR_EXX_ALU64POP                     0x0014
    #define     B16ISA_XINCWR_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_XINCWR_EXX_ALU64POP                        4
    #define   LSb16ISA_XINCWR_EXX_ALU64POP                        4
    #define       bISA_XINCWR_EXX_ALU64POP                     1
    #define   MSK32ISA_XINCWR_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_XINCWR_EXX_ALU64SQ                      0x0014
    #define     B16ISA_XINCWR_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_XINCWR_EXX_ALU64SQ                         5
    #define   LSb16ISA_XINCWR_EXX_ALU64SQ                         5
    #define       bISA_XINCWR_EXX_ALU64SQ                      1
    #define   MSK32ISA_XINCWR_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_XINCWR_EXX_ALU64TQ                      0x0014
    #define     B16ISA_XINCWR_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_XINCWR_EXX_ALU64TQ                         6
    #define   LSb16ISA_XINCWR_EXX_ALU64TQ                         6
    #define       bISA_XINCWR_EXX_ALU64TQ                      1
    #define   MSK32ISA_XINCWR_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_XINCWR_EXX_ALU64MEM                     0x0014
    #define     B16ISA_XINCWR_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_XINCWR_EXX_ALU64MEM                        7
    #define   LSb16ISA_XINCWR_EXX_ALU64MEM                        7
    #define       bISA_XINCWR_EXX_ALU64MEM                     1
    #define   MSK32ISA_XINCWR_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_XINCWR_EXX_BRANCH                       0x0015
    #define     B16ISA_XINCWR_EXX_BRANCH                       0x0014
    #define   LSb32ISA_XINCWR_EXX_BRANCH                          8
    #define   LSb16ISA_XINCWR_EXX_BRANCH                          8
    #define       bISA_XINCWR_EXX_BRANCH                       1
    #define   MSK32ISA_XINCWR_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XINCWR_WB                               0x0018

    #define     BA_ISA_XINCWR_WB_RF16                          0x0018
    #define     B16ISA_XINCWR_WB_RF16                          0x0018
    #define   LSb32ISA_XINCWR_WB_RF16                             0
    #define   LSb16ISA_XINCWR_WB_RF16                             0
    #define       bISA_XINCWR_WB_RF16                          1
    #define   MSK32ISA_XINCWR_WB_RF16                             0x00000001

    #define     BA_ISA_XINCWR_WB_RF16W0                        0x0018
    #define     B16ISA_XINCWR_WB_RF16W0                        0x0018
    #define   LSb32ISA_XINCWR_WB_RF16W0                           1
    #define   LSb16ISA_XINCWR_WB_RF16W0                           1
    #define       bISA_XINCWR_WB_RF16W0                        1
    #define   MSK32ISA_XINCWR_WB_RF16W0                           0x00000002

    #define     BA_ISA_XINCWR_WB_RF16MEM                       0x0018
    #define     B16ISA_XINCWR_WB_RF16MEM                       0x0018
    #define   LSb32ISA_XINCWR_WB_RF16MEM                          2
    #define   LSb16ISA_XINCWR_WB_RF16MEM                          2
    #define       bISA_XINCWR_WB_RF16MEM                       1
    #define   MSK32ISA_XINCWR_WB_RF16MEM                          0x00000004

    #define     BA_ISA_XINCWR_WB_RF16Q                         0x0018
    #define     B16ISA_XINCWR_WB_RF16Q                         0x0018
    #define   LSb32ISA_XINCWR_WB_RF16Q                            3
    #define   LSb16ISA_XINCWR_WB_RF16Q                            3
    #define       bISA_XINCWR_WB_RF16Q                         1
    #define   MSK32ISA_XINCWR_WB_RF16Q                            0x00000008

    #define     BA_ISA_XINCWR_WB_RF64                          0x0018
    #define     B16ISA_XINCWR_WB_RF64                          0x0018
    #define   LSb32ISA_XINCWR_WB_RF64                             4
    #define   LSb16ISA_XINCWR_WB_RF64                             4
    #define       bISA_XINCWR_WB_RF64                          1
    #define   MSK32ISA_XINCWR_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XINCWR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XINCWR_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XINCWR_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XINCWR_Mask;
            struct w32ISA_XINCWR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_XINCWR_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_XINCWR_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XINCWR_Opcode;
            struct w32ISA_XINCWR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XINCWR_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XINCWR_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XINCWR_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XINCWR_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XINCWR_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XINCWR_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XINCWR_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XINCWR_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_XINCWR_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XINCWR_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XINCWR_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XINCWR_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XINCWR_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_XINCWR_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XINCWR_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_XINCWR_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XINCWR_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XINCWR_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XINCWR_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XINCWR_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XINCWR_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XINCWR_ID;
            struct w32ISA_XINCWR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XINCWR_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XINCWR_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XINCWR_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XINCWR_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XINCWR_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XINCWR_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_XINCWR_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XINCWR_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XINCWR_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XINCWR_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XINCWR_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XINCWR_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XINCWR_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XINCWR_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XINCWR_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XINCWR_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XINCWR_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XINCWR_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XINCWR_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XINCWR_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XINCWR_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XINCWR_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XINCWR_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XINCWR_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XINCWR_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_XINCWR_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XINCWR_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_XINCWR_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XINCWR_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_XINCWR_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_XINCWR_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_XINCWR_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_XINCWR_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_XINCWR_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_XINCWR_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_XINCWR_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_XINCWR_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_XINCWR_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_XINCWR_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_XINCWR_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_XINCWR_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_XINCWR_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_XINCWR_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_XINCWR_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_XINCWR_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XINCWR_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XINCWR_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XINCWR_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XINCWR_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_XINCWR_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_XINCWR_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_XINCWR_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_XINCWR_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XINCWR_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XINCWR_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XINCWR_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XINCWR_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_XINCWR_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_XINCWR_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_XINCWR_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_XINCWR_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XINCWR_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XINCWR_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XINCWR_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XINCWR_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XINCWR_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XINCWR_LD;
            struct w32ISA_XINCWR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_XINCWR_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_XINCWR_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_XINCWR_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XINCWR_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_XINCWR_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XINCWR_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XINCWR_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XINCWR_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XINCWR_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XINCWR_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XINCWR_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XINCWR_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_XINCWR_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XINCWR_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_XINCWR_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XINCWR_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_XINCWR_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XINCWR_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_XINCWR_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XINCWR_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_XINCWR_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XINCWR_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_XINCWR_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XINCWR_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_XINCWR_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_XINCWR_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_XINCWR_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_XINCWR_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_XINCWR_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_XINCWR_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_XINCWR_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_XINCWR_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_XINCWR_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_XINCWR_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_XINCWR_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_XINCWR_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_XINCWR_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_XINCWR_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_XINCWR_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_XINCWR_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_XINCWR_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_XINCWR_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_XINCWR_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_XINCWR_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_XINCWR_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_XINCWR_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_XINCWR_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_XINCWR_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XINCWR_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XINCWR_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_XINCWR_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_XINCWR_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_XINCWR_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_XINCWR_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_XINCWR_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_XINCWR_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_XINCWR_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_XINCWR_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_XINCWR_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_XINCWR_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XINCWR_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_XINCWR_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_XINCWR_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XINCWR_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XINCWR_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_XINCWR_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_XINCWR_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XINCWR_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XINCWR_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XINCWR_EX;
            struct w32ISA_XINCWR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_XINCWR_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XINCWR_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_XINCWR_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XINCWR_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XINCWR_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XINCWR_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XINCWR_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XINCWR_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XINCWR_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XINCWR_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XINCWR_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XINCWR_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XINCWR_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XINCWR_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XINCWR_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XINCWR_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XINCWR_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XINCWR_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XINCWR_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XINCWR_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XINCWR_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XINCWR_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XINCWR_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_XINCWR_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XINCWR_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_XINCWR_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XINCWR_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XINCWR_EXX;
            struct w32ISA_XINCWR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XINCWR_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XINCWR_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XINCWR_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XINCWR_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XINCWR_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_XINCWR_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XINCWR_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XINCWR_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XINCWR_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XINCWR_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XINCWR_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XINCWR_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XINCWR_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XINCWR_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XINCWR_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XINCWR_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XINCWR_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XINCWR_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XINCWR_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XINCWR_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XINCWR_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XINCWR_WB;
            struct w32ISA_XINCWR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XINCWR;

    typedef union  T32ISA_XINCWR_Mask
          { UNSG32 u32;
            struct w32ISA_XINCWR_Mask;
                 } T32ISA_XINCWR_Mask;
    typedef union  T32ISA_XINCWR_Opcode
          { UNSG32 u32;
            struct w32ISA_XINCWR_Opcode;
                 } T32ISA_XINCWR_Opcode;
    typedef union  T32ISA_XINCWR_ID
          { UNSG32 u32;
            struct w32ISA_XINCWR_ID;
                 } T32ISA_XINCWR_ID;
    typedef union  T32ISA_XINCWR_LD
          { UNSG32 u32;
            struct w32ISA_XINCWR_LD;
                 } T32ISA_XINCWR_LD;
    typedef union  T32ISA_XINCWR_EX
          { UNSG32 u32;
            struct w32ISA_XINCWR_EX;
                 } T32ISA_XINCWR_EX;
    typedef union  T32ISA_XINCWR_EXX
          { UNSG32 u32;
            struct w32ISA_XINCWR_EXX;
                 } T32ISA_XINCWR_EXX;
    typedef union  T32ISA_XINCWR_WB
          { UNSG32 u32;
            struct w32ISA_XINCWR_WB;
                 } T32ISA_XINCWR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XINCWR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_Mask;
                   };
                 } TISA_XINCWR_Mask;
    typedef union  TISA_XINCWR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_Opcode;
                   };
                 } TISA_XINCWR_Opcode;
    typedef union  TISA_XINCWR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_ID;
                   };
                 } TISA_XINCWR_ID;
    typedef union  TISA_XINCWR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_LD;
                   };
                 } TISA_XINCWR_LD;
    typedef union  TISA_XINCWR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_EX;
                   };
                 } TISA_XINCWR_EX;
    typedef union  TISA_XINCWR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_EXX;
                   };
                 } TISA_XINCWR_EXX;
    typedef union  TISA_XINCWR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XINCWR_WB;
                   };
                 } TISA_XINCWR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XINCWR_drvrd(SIE_ISA_XINCWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XINCWR_drvwr(SIE_ISA_XINCWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XINCWR_reset(SIE_ISA_XINCWR *p);
     SIGN32 ISA_XINCWR_cmp  (SIE_ISA_XINCWR *p, SIE_ISA_XINCWR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XINCWR_check(p,pie,pfx,hLOG) ISA_XINCWR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XINCWR_print(p,    pfx,hLOG) ISA_XINCWR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XINCWR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_QWR                                  (4,4)
///     ###
///     * Memory write of 64b entry from RF64.
///     * Using address register with an offset [-128~127].
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF000C0
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x400080
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.WR"    , "rS,N,qT"     , "0100 NNNN SSSS NNNN 10TT TTTT" } ,
///                                    * - Usage:
///                                    * -    Q.WR     %a1, + 8, %q2   ; M64[ %a1 + 8 ] = %q2;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    0x1
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      0x1
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      0x1
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_QWR
#define h_ISA_QWR (){}

    #define     RA_ISA_QWR_Mask                                0x0000

    #define     BA_ISA_QWR_Mask_INS                            0x0000
    #define     B16ISA_QWR_Mask_INS                            0x0000
    #define   LSb32ISA_QWR_Mask_INS                               0
    #define   LSb16ISA_QWR_Mask_INS                               0
    #define       bISA_QWR_Mask_INS                            24
    #define   MSK32ISA_QWR_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_Opcode                              0x0004

    #define     BA_ISA_QWR_Opcode_INS                          0x0004
    #define     B16ISA_QWR_Opcode_INS                          0x0004
    #define   LSb32ISA_QWR_Opcode_INS                             0
    #define   LSb16ISA_QWR_Opcode_INS                             0
    #define       bISA_QWR_Opcode_INS                          24
    #define   MSK32ISA_QWR_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_ID                                  0x0008

    #define     BA_ISA_QWR_ID_RBRF                             0x0008
    #define     B16ISA_QWR_ID_RBRF                             0x0008
    #define   LSb32ISA_QWR_ID_RBRF                                0
    #define   LSb16ISA_QWR_ID_RBRF                                0
    #define       bISA_QWR_ID_RBRF                             1
    #define   MSK32ISA_QWR_ID_RBRF                                0x00000001

    #define     BA_ISA_QWR_ID_RARF                             0x0008
    #define     B16ISA_QWR_ID_RARF                             0x0008
    #define   LSb32ISA_QWR_ID_RARF                                1
    #define   LSb16ISA_QWR_ID_RARF                                1
    #define       bISA_QWR_ID_RARF                             1
    #define   MSK32ISA_QWR_ID_RARF                                0x00000002

    #define     BA_ISA_QWR_ID_RAK8                             0x0008
    #define     B16ISA_QWR_ID_RAK8                             0x0008
    #define   LSb32ISA_QWR_ID_RAK8                                2
    #define   LSb16ISA_QWR_ID_RAK8                                2
    #define       bISA_QWR_ID_RAK8                             1
    #define   MSK32ISA_QWR_ID_RAK8                                0x00000004

    #define     BA_ISA_QWR_ID_RAI16                            0x0008
    #define     B16ISA_QWR_ID_RAI16                            0x0008
    #define   LSb32ISA_QWR_ID_RAI16                               3
    #define   LSb16ISA_QWR_ID_RAI16                               3
    #define       bISA_QWR_ID_RAI16                            1
    #define   MSK32ISA_QWR_ID_RAI16                               0x00000008

    #define     BA_ISA_QWR_ID_RAK16                            0x0008
    #define     B16ISA_QWR_ID_RAK16                            0x0008
    #define   LSb32ISA_QWR_ID_RAK16                               4
    #define   LSb16ISA_QWR_ID_RAK16                               4
    #define       bISA_QWR_ID_RAK16                            1
    #define   MSK32ISA_QWR_ID_RAK16                               0x00000010

    #define     BA_ISA_QWR_ID_RFSP                             0x0008
    #define     B16ISA_QWR_ID_RFSP                             0x0008
    #define   LSb32ISA_QWR_ID_RFSP                                5
    #define   LSb16ISA_QWR_ID_RFSP                                5
    #define       bISA_QWR_ID_RFSP                             1
    #define   MSK32ISA_QWR_ID_RFSP                                0x00000020

    #define     BA_ISA_QWR_ID_W4D4                             0x0008
    #define     B16ISA_QWR_ID_W4D4                             0x0008
    #define   LSb32ISA_QWR_ID_W4D4                                6
    #define   LSb16ISA_QWR_ID_W4D4                                6
    #define       bISA_QWR_ID_W4D4                             1
    #define   MSK32ISA_QWR_ID_W4D4                                0x00000040

    #define     BA_ISA_QWR_ID_W4S4                             0x0008
    #define     B16ISA_QWR_ID_W4S4                             0x0008
    #define   LSb32ISA_QWR_ID_W4S4                                7
    #define   LSb16ISA_QWR_ID_W4S4                                7
    #define       bISA_QWR_ID_W4S4                             1
    #define   MSK32ISA_QWR_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_LD                                  0x000C

    #define     BA_ISA_QWR_LD_SPRF                             0x000C
    #define     B16ISA_QWR_LD_SPRF                             0x000C
    #define   LSb32ISA_QWR_LD_SPRF                                0
    #define   LSb16ISA_QWR_LD_SPRF                                0
    #define       bISA_QWR_LD_SPRF                             1
    #define   MSK32ISA_QWR_LD_SPRF                                0x00000001

    #define     BA_ISA_QWR_LD_SPK8                             0x000C
    #define     B16ISA_QWR_LD_SPK8                             0x000C
    #define   LSb32ISA_QWR_LD_SPK8                                1
    #define   LSb16ISA_QWR_LD_SPK8                                1
    #define       bISA_QWR_LD_SPK8                             1
    #define   MSK32ISA_QWR_LD_SPK8                                0x00000002

    #define     BA_ISA_QWR_LD_SPJ                              0x000C
    #define     B16ISA_QWR_LD_SPJ                              0x000C
    #define   LSb32ISA_QWR_LD_SPJ                                 2
    #define   LSb16ISA_QWR_LD_SPJ                                 2
    #define       bISA_QWR_LD_SPJ                              1
    #define   MSK32ISA_QWR_LD_SPJ                                 0x00000004

    #define     BA_ISA_QWR_LD_SP4S                             0x000C
    #define     B16ISA_QWR_LD_SP4S                             0x000C
    #define   LSb32ISA_QWR_LD_SP4S                                3
    #define   LSb16ISA_QWR_LD_SP4S                                3
    #define       bISA_QWR_LD_SP4S                             1
    #define   MSK32ISA_QWR_LD_SP4S                                0x00000008

    #define     BA_ISA_QWR_LD_SP8S                             0x000C
    #define     B16ISA_QWR_LD_SP8S                             0x000C
    #define   LSb32ISA_QWR_LD_SP8S                                4
    #define   LSb16ISA_QWR_LD_SP8S                                4
    #define       bISA_QWR_LD_SP8S                             1
    #define   MSK32ISA_QWR_LD_SP8S                                0x00000010

    #define     BA_ISA_QWR_LD_SP8U                             0x000C
    #define     B16ISA_QWR_LD_SP8U                             0x000C
    #define   LSb32ISA_QWR_LD_SP8U                                5
    #define   LSb16ISA_QWR_LD_SP8U                                5
    #define       bISA_QWR_LD_SP8U                             1
    #define   MSK32ISA_QWR_LD_SP8U                                0x00000020

    #define     BA_ISA_QWR_LD_SP12S                            0x000C
    #define     B16ISA_QWR_LD_SP12S                            0x000C
    #define   LSb32ISA_QWR_LD_SP12S                               6
    #define   LSb16ISA_QWR_LD_SP12S                               6
    #define       bISA_QWR_LD_SP12S                            1
    #define   MSK32ISA_QWR_LD_SP12S                               0x00000040

    #define     BA_ISA_QWR_LD_SP16                             0x000C
    #define     B16ISA_QWR_LD_SP16                             0x000C
    #define   LSb32ISA_QWR_LD_SP16                                7
    #define   LSb16ISA_QWR_LD_SP16                                7
    #define       bISA_QWR_LD_SP16                             1
    #define   MSK32ISA_QWR_LD_SP16                                0x00000080

    #define     BA_ISA_QWR_LD_TPRF                             0x000D
    #define     B16ISA_QWR_LD_TPRF                             0x000C
    #define   LSb32ISA_QWR_LD_TPRF                                8
    #define   LSb16ISA_QWR_LD_TPRF                                8
    #define       bISA_QWR_LD_TPRF                             1
    #define   MSK32ISA_QWR_LD_TPRF                                0x00000100

    #define     BA_ISA_QWR_LD_TPJ                              0x000D
    #define     B16ISA_QWR_LD_TPJ                              0x000C
    #define   LSb32ISA_QWR_LD_TPJ                                 9
    #define   LSb16ISA_QWR_LD_TPJ                                 9
    #define       bISA_QWR_LD_TPJ                              1
    #define   MSK32ISA_QWR_LD_TPJ                                 0x00000200

    #define     BA_ISA_QWR_LD_TP4S                             0x000D
    #define     B16ISA_QWR_LD_TP4S                             0x000C
    #define   LSb32ISA_QWR_LD_TP4S                                10
    #define   LSb16ISA_QWR_LD_TP4S                                10
    #define       bISA_QWR_LD_TP4S                             1
    #define   MSK32ISA_QWR_LD_TP4S                                0x00000400

    #define     BA_ISA_QWR_LD_TP8L                             0x000D
    #define     B16ISA_QWR_LD_TP8L                             0x000C
    #define   LSb32ISA_QWR_LD_TP8L                                11
    #define   LSb16ISA_QWR_LD_TP8L                                11
    #define       bISA_QWR_LD_TP8L                             1
    #define   MSK32ISA_QWR_LD_TP8L                                0x00000800

    #define     BA_ISA_QWR_LD_TP8H                             0x000D
    #define     B16ISA_QWR_LD_TP8H                             0x000C
    #define   LSb32ISA_QWR_LD_TP8H                                12
    #define   LSb16ISA_QWR_LD_TP8H                                12
    #define       bISA_QWR_LD_TP8H                             1
    #define   MSK32ISA_QWR_LD_TP8H                                0x00001000

    #define     BA_ISA_QWR_LD_TP8LF                            0x000D
    #define     B16ISA_QWR_LD_TP8LF                            0x000C
    #define   LSb32ISA_QWR_LD_TP8LF                               13
    #define   LSb16ISA_QWR_LD_TP8LF                               13
    #define       bISA_QWR_LD_TP8LF                            1
    #define   MSK32ISA_QWR_LD_TP8LF                               0x00002000

    #define     BA_ISA_QWR_LD_TP8HF                            0x000D
    #define     B16ISA_QWR_LD_TP8HF                            0x000C
    #define   LSb32ISA_QWR_LD_TP8HF                               14
    #define   LSb16ISA_QWR_LD_TP8HF                               14
    #define       bISA_QWR_LD_TP8HF                            1
    #define   MSK32ISA_QWR_LD_TP8HF                               0x00004000

    #define     BA_ISA_QWR_LD_SQRF64                           0x000D
    #define     B16ISA_QWR_LD_SQRF64                           0x000C
    #define   LSb32ISA_QWR_LD_SQRF64                              15
    #define   LSb16ISA_QWR_LD_SQRF64                              15
    #define       bISA_QWR_LD_SQRF64                           1
    #define   MSK32ISA_QWR_LD_SQRF64                              0x00008000

    #define     BA_ISA_QWR_LD_TQRF16Q                          0x000E
    #define     B16ISA_QWR_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_QWR_LD_TQRF16Q                             16
    #define   LSb16ISA_QWR_LD_TQRF16Q                             0
    #define       bISA_QWR_LD_TQRF16Q                          1
    #define   MSK32ISA_QWR_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_QWR_LD_TQRFx4                           0x000E
    #define     B16ISA_QWR_LD_TQRFx4                           0x000E
    #define   LSb32ISA_QWR_LD_TQRFx4                              17
    #define   LSb16ISA_QWR_LD_TQRFx4                              1
    #define       bISA_QWR_LD_TQRFx4                           1
    #define   MSK32ISA_QWR_LD_TQRFx4                              0x00020000

    #define     BA_ISA_QWR_LD_RD                               0x000E
    #define     B16ISA_QWR_LD_RD                               0x000E
    #define   LSb32ISA_QWR_LD_RD                                  18
    #define   LSb16ISA_QWR_LD_RD                                  2
    #define       bISA_QWR_LD_RD                               1
    #define   MSK32ISA_QWR_LD_RD                                  0x00040000

    #define     BA_ISA_QWR_LD_WARF                             0x000E
    #define     B16ISA_QWR_LD_WARF                             0x000E
    #define   LSb32ISA_QWR_LD_WARF                                19
    #define   LSb16ISA_QWR_LD_WARF                                3
    #define       bISA_QWR_LD_WARF                             1
    #define   MSK32ISA_QWR_LD_WARF                                0x00080000

    #define     BA_ISA_QWR_LD_WAK8                             0x000E
    #define     B16ISA_QWR_LD_WAK8                             0x000E
    #define   LSb32ISA_QWR_LD_WAK8                                20
    #define   LSb16ISA_QWR_LD_WAK8                                4
    #define       bISA_QWR_LD_WAK8                             1
    #define   MSK32ISA_QWR_LD_WAK8                                0x00100000

    #define     BA_ISA_QWR_LD_WAK16                            0x000E
    #define     B16ISA_QWR_LD_WAK16                            0x000E
    #define   LSb32ISA_QWR_LD_WAK16                               21
    #define   LSb16ISA_QWR_LD_WAK16                               5
    #define       bISA_QWR_LD_WAK16                            1
    #define   MSK32ISA_QWR_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_EX                                  0x0010

    #define     BA_ISA_QWR_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_QWR_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagZ                          0
    #define   LSb16ISA_QWR_EX_ALU16FlagZ                          0
    #define       bISA_QWR_EX_ALU16FlagZ                       1
    #define   MSK32ISA_QWR_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_QWR_EX_ALU16FlagC                       0x0010
    #define     B16ISA_QWR_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagC                          1
    #define   LSb16ISA_QWR_EX_ALU16FlagC                          1
    #define       bISA_QWR_EX_ALU16FlagC                       1
    #define   MSK32ISA_QWR_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_QWR_EX_ALU16FlagN                       0x0010
    #define     B16ISA_QWR_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagN                          2
    #define   LSb16ISA_QWR_EX_ALU16FlagN                          2
    #define       bISA_QWR_EX_ALU16FlagN                       1
    #define   MSK32ISA_QWR_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_QWR_EX_ALU16FlagV                       0x0010
    #define     B16ISA_QWR_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagV                          3
    #define   LSb16ISA_QWR_EX_ALU16FlagV                          3
    #define       bISA_QWR_EX_ALU16FlagV                       1
    #define   MSK32ISA_QWR_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_QWR_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_QWR_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagTP                         4
    #define   LSb16ISA_QWR_EX_ALU16FlagTP                         4
    #define       bISA_QWR_EX_ALU16FlagTP                      1
    #define   MSK32ISA_QWR_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_QWR_EX_ALU16MUL                         0x0010
    #define     B16ISA_QWR_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16MUL                            5
    #define   LSb16ISA_QWR_EX_ALU16MUL                            5
    #define       bISA_QWR_EX_ALU16MUL                         1
    #define   MSK32ISA_QWR_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_QWR_EX_ALU16DIV                         0x0010
    #define     B16ISA_QWR_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16DIV                            6
    #define   LSb16ISA_QWR_EX_ALU16DIV                            6
    #define       bISA_QWR_EX_ALU16DIV                         1
    #define   MSK32ISA_QWR_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_QWR_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_QWR_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_QWR_EX_ALU16FlagLD                         7
    #define   LSb16ISA_QWR_EX_ALU16FlagLD                         7
    #define       bISA_QWR_EX_ALU16FlagLD                      1
    #define   MSK32ISA_QWR_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_QWR_EX_ALU16MDL                         0x0011
    #define     B16ISA_QWR_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16MDL                            8
    #define   LSb16ISA_QWR_EX_ALU16MDL                            8
    #define       bISA_QWR_EX_ALU16MDL                         1
    #define   MSK32ISA_QWR_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_QWR_EX_ALU16MDH                         0x0011
    #define     B16ISA_QWR_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16MDH                            9
    #define   LSb16ISA_QWR_EX_ALU16MDH                            9
    #define       bISA_QWR_EX_ALU16MDH                         1
    #define   MSK32ISA_QWR_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_QWR_EX_ALU16ADD                         0x0011
    #define     B16ISA_QWR_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16ADD                            10
    #define   LSb16ISA_QWR_EX_ALU16ADD                            10
    #define       bISA_QWR_EX_ALU16ADD                         1
    #define   MSK32ISA_QWR_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_QWR_EX_ALU16SUB                         0x0011
    #define     B16ISA_QWR_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16SUB                            11
    #define   LSb16ISA_QWR_EX_ALU16SUB                            11
    #define       bISA_QWR_EX_ALU16SUB                         1
    #define   MSK32ISA_QWR_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_QWR_EX_ALU16ADDC                        0x0011
    #define     B16ISA_QWR_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_QWR_EX_ALU16ADDC                           12
    #define   LSb16ISA_QWR_EX_ALU16ADDC                           12
    #define       bISA_QWR_EX_ALU16ADDC                        1
    #define   MSK32ISA_QWR_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_QWR_EX_ALU16SUBC                        0x0011
    #define     B16ISA_QWR_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_QWR_EX_ALU16SUBC                           13
    #define   LSb16ISA_QWR_EX_ALU16SUBC                           13
    #define       bISA_QWR_EX_ALU16SUBC                        1
    #define   MSK32ISA_QWR_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_QWR_EX_ALU16ASR                         0x0011
    #define     B16ISA_QWR_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_QWR_EX_ALU16ASR                            14
    #define   LSb16ISA_QWR_EX_ALU16ASR                            14
    #define       bISA_QWR_EX_ALU16ASR                         1
    #define   MSK32ISA_QWR_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_QWR_EX_ALU16SL                          0x0011
    #define     B16ISA_QWR_EX_ALU16SL                          0x0010
    #define   LSb32ISA_QWR_EX_ALU16SL                             15
    #define   LSb16ISA_QWR_EX_ALU16SL                             15
    #define       bISA_QWR_EX_ALU16SL                          1
    #define   MSK32ISA_QWR_EX_ALU16SL                             0x00008000

    #define     BA_ISA_QWR_EX_ALU16SR                          0x0012
    #define     B16ISA_QWR_EX_ALU16SR                          0x0012
    #define   LSb32ISA_QWR_EX_ALU16SR                             16
    #define   LSb16ISA_QWR_EX_ALU16SR                             0
    #define       bISA_QWR_EX_ALU16SR                          1
    #define   MSK32ISA_QWR_EX_ALU16SR                             0x00010000

    #define     BA_ISA_QWR_EX_ALU16GET                         0x0012
    #define     B16ISA_QWR_EX_ALU16GET                         0x0012
    #define   LSb32ISA_QWR_EX_ALU16GET                            17
    #define   LSb16ISA_QWR_EX_ALU16GET                            1
    #define       bISA_QWR_EX_ALU16GET                         1
    #define   MSK32ISA_QWR_EX_ALU16GET                            0x00020000

    #define     BA_ISA_QWR_EX_ALU16SET                         0x0012
    #define     B16ISA_QWR_EX_ALU16SET                         0x0012
    #define   LSb32ISA_QWR_EX_ALU16SET                            18
    #define   LSb16ISA_QWR_EX_ALU16SET                            2
    #define       bISA_QWR_EX_ALU16SET                         1
    #define   MSK32ISA_QWR_EX_ALU16SET                            0x00040000

    #define     BA_ISA_QWR_EX_ALU16SEL                         0x0012
    #define     B16ISA_QWR_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_QWR_EX_ALU16SEL                            19
    #define   LSb16ISA_QWR_EX_ALU16SEL                            3
    #define       bISA_QWR_EX_ALU16SEL                         1
    #define   MSK32ISA_QWR_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_QWR_EX_ALU16OR                          0x0012
    #define     B16ISA_QWR_EX_ALU16OR                          0x0012
    #define   LSb32ISA_QWR_EX_ALU16OR                             20
    #define   LSb16ISA_QWR_EX_ALU16OR                             4
    #define       bISA_QWR_EX_ALU16OR                          1
    #define   MSK32ISA_QWR_EX_ALU16OR                             0x00100000

    #define     BA_ISA_QWR_EX_ALU16AND                         0x0012
    #define     B16ISA_QWR_EX_ALU16AND                         0x0012
    #define   LSb32ISA_QWR_EX_ALU16AND                            21
    #define   LSb16ISA_QWR_EX_ALU16AND                            5
    #define       bISA_QWR_EX_ALU16AND                         1
    #define   MSK32ISA_QWR_EX_ALU16AND                            0x00200000

    #define     BA_ISA_QWR_EX_ALU16XOR                         0x0012
    #define     B16ISA_QWR_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_QWR_EX_ALU16XOR                            22
    #define   LSb16ISA_QWR_EX_ALU16XOR                            6
    #define       bISA_QWR_EX_ALU16XOR                         1
    #define   MSK32ISA_QWR_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_QWR_EX_ALU16SP                          0x0012
    #define     B16ISA_QWR_EX_ALU16SP                          0x0012
    #define   LSb32ISA_QWR_EX_ALU16SP                             23
    #define   LSb16ISA_QWR_EX_ALU16SP                             7
    #define       bISA_QWR_EX_ALU16SP                          1
    #define   MSK32ISA_QWR_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_EXX                                 0x0014

    #define     BA_ISA_QWR_EXX_WRSQ                            0x0014
    #define     B16ISA_QWR_EXX_WRSQ                            0x0014
    #define   LSb32ISA_QWR_EXX_WRSQ                               0
    #define   LSb16ISA_QWR_EXX_WRSQ                               0
    #define       bISA_QWR_EXX_WRSQ                            1
    #define   MSK32ISA_QWR_EXX_WRSQ                               0x00000001

    #define     BA_ISA_QWR_EXX_WR16                            0x0014
    #define     B16ISA_QWR_EXX_WR16                            0x0014
    #define   LSb32ISA_QWR_EXX_WR16                               1
    #define   LSb16ISA_QWR_EXX_WR16                               1
    #define       bISA_QWR_EXX_WR16                            1
    #define   MSK32ISA_QWR_EXX_WR16                               0x00000002

    #define     BA_ISA_QWR_EXX_WRTQ                            0x0014
    #define     B16ISA_QWR_EXX_WRTQ                            0x0014
    #define   LSb32ISA_QWR_EXX_WRTQ                               2
    #define   LSb16ISA_QWR_EXX_WRTQ                               2
    #define       bISA_QWR_EXX_WRTQ                            1
    #define   MSK32ISA_QWR_EXX_WRTQ                               0x00000004

    #define     BA_ISA_QWR_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_QWR_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_QWR_EXX_ALU64PUSH                          3
    #define   LSb16ISA_QWR_EXX_ALU64PUSH                          3
    #define       bISA_QWR_EXX_ALU64PUSH                       1
    #define   MSK32ISA_QWR_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_QWR_EXX_ALU64POP                        0x0014
    #define     B16ISA_QWR_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_QWR_EXX_ALU64POP                           4
    #define   LSb16ISA_QWR_EXX_ALU64POP                           4
    #define       bISA_QWR_EXX_ALU64POP                        1
    #define   MSK32ISA_QWR_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_QWR_EXX_ALU64SQ                         0x0014
    #define     B16ISA_QWR_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_QWR_EXX_ALU64SQ                            5
    #define   LSb16ISA_QWR_EXX_ALU64SQ                            5
    #define       bISA_QWR_EXX_ALU64SQ                         1
    #define   MSK32ISA_QWR_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_QWR_EXX_ALU64TQ                         0x0014
    #define     B16ISA_QWR_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_QWR_EXX_ALU64TQ                            6
    #define   LSb16ISA_QWR_EXX_ALU64TQ                            6
    #define       bISA_QWR_EXX_ALU64TQ                         1
    #define   MSK32ISA_QWR_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_QWR_EXX_ALU64MEM                        0x0014
    #define     B16ISA_QWR_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_QWR_EXX_ALU64MEM                           7
    #define   LSb16ISA_QWR_EXX_ALU64MEM                           7
    #define       bISA_QWR_EXX_ALU64MEM                        1
    #define   MSK32ISA_QWR_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_QWR_EXX_BRANCH                          0x0015
    #define     B16ISA_QWR_EXX_BRANCH                          0x0014
    #define   LSb32ISA_QWR_EXX_BRANCH                             8
    #define   LSb16ISA_QWR_EXX_BRANCH                             8
    #define       bISA_QWR_EXX_BRANCH                          1
    #define   MSK32ISA_QWR_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWR_WB                                  0x0018

    #define     BA_ISA_QWR_WB_RF16                             0x0018
    #define     B16ISA_QWR_WB_RF16                             0x0018
    #define   LSb32ISA_QWR_WB_RF16                                0
    #define   LSb16ISA_QWR_WB_RF16                                0
    #define       bISA_QWR_WB_RF16                             1
    #define   MSK32ISA_QWR_WB_RF16                                0x00000001

    #define     BA_ISA_QWR_WB_RF16W0                           0x0018
    #define     B16ISA_QWR_WB_RF16W0                           0x0018
    #define   LSb32ISA_QWR_WB_RF16W0                              1
    #define   LSb16ISA_QWR_WB_RF16W0                              1
    #define       bISA_QWR_WB_RF16W0                           1
    #define   MSK32ISA_QWR_WB_RF16W0                              0x00000002

    #define     BA_ISA_QWR_WB_RF16MEM                          0x0018
    #define     B16ISA_QWR_WB_RF16MEM                          0x0018
    #define   LSb32ISA_QWR_WB_RF16MEM                             2
    #define   LSb16ISA_QWR_WB_RF16MEM                             2
    #define       bISA_QWR_WB_RF16MEM                          1
    #define   MSK32ISA_QWR_WB_RF16MEM                             0x00000004

    #define     BA_ISA_QWR_WB_RF16Q                            0x0018
    #define     B16ISA_QWR_WB_RF16Q                            0x0018
    #define   LSb32ISA_QWR_WB_RF16Q                               3
    #define   LSb16ISA_QWR_WB_RF16Q                               3
    #define       bISA_QWR_WB_RF16Q                            1
    #define   MSK32ISA_QWR_WB_RF16Q                               0x00000008

    #define     BA_ISA_QWR_WB_RF64                             0x0018
    #define     B16ISA_QWR_WB_RF64                             0x0018
    #define   LSb32ISA_QWR_WB_RF64                                4
    #define   LSb16ISA_QWR_WB_RF64                                4
    #define       bISA_QWR_WB_RF64                             1
    #define   MSK32ISA_QWR_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_QWR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_QWR_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_QWR_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QWR_Mask;
            struct w32ISA_QWR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_QWR_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_QWR_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QWR_Opcode;
            struct w32ISA_QWR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWR_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWR_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWR_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWR_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWR_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWR_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWR_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWR_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWR_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWR_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWR_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWR_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWR_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWR_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWR_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWR_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWR_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWR_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWR_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWR_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QWR_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_QWR_ID;
            struct w32ISA_QWR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWR_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWR_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWR_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWR_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWR_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWR_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWR_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWR_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWR_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWR_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWR_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWR_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWR_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWR_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWR_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWR_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWR_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWR_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWR_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWR_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWR_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWR_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWR_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWR_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QWR_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_QWR_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QWR_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_QWR_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QWR_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_QWR_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_QWR_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_QWR_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_QWR_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_QWR_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_QWR_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_QWR_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_QWR_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_QWR_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_QWR_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_QWR_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_QWR_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_QWR_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_QWR_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_QWR_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_QWR_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_QWR_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_QWR_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_QWR_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_QWR_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_QWR_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_QWR_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_QWR_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_QWR_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_QWR_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_QWR_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_QWR_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_QWR_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_QWR_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_QWR_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_QWR_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_QWR_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_QWR_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_QWR_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_QWR_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_QWR_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_QWR_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_QWR_LD;
            struct w32ISA_QWR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWR_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWR_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWR_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWR_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWR_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWR_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWR_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWR_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWR_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWR_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWR_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWR_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWR_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWR_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWR_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWR_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWR_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWR_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWR_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWR_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWR_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWR_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWR_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWR_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QWR_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_QWR_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QWR_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_QWR_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QWR_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_QWR_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_QWR_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_QWR_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_QWR_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_QWR_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_QWR_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_QWR_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_QWR_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_QWR_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_QWR_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_QWR_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_QWR_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_QWR_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_QWR_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_QWR_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_QWR_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_QWR_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_QWR_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_QWR_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_QWR_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_QWR_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_QWR_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_QWR_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_QWR_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_QWR_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_QWR_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_QWR_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_QWR_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_QWR_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_QWR_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_QWR_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_QWR_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_QWR_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_QWR_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_QWR_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_QWR_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWR_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_QWR_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_QWR_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWR_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWR_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_QWR_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_QWR_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWR_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QWR_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_QWR_EX;
            struct w32ISA_QWR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWR_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWR_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWR_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWR_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWR_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWR_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWR_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWR_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWR_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWR_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWR_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWR_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWR_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWR_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWR_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWR_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWR_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWR_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWR_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWR_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWR_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWR_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWR_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWR_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWR_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWR_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_QWR_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_QWR_EXX;
            struct w32ISA_QWR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWR_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWR_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWR_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWR_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWR_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWR_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWR_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWR_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWR_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWR_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWR_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWR_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWR_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWR_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWR_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWR_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWR_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWR_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWR_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWR_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_QWR_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_QWR_WB;
            struct w32ISA_QWR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_QWR;

    typedef union  T32ISA_QWR_Mask
          { UNSG32 u32;
            struct w32ISA_QWR_Mask;
                 } T32ISA_QWR_Mask;
    typedef union  T32ISA_QWR_Opcode
          { UNSG32 u32;
            struct w32ISA_QWR_Opcode;
                 } T32ISA_QWR_Opcode;
    typedef union  T32ISA_QWR_ID
          { UNSG32 u32;
            struct w32ISA_QWR_ID;
                 } T32ISA_QWR_ID;
    typedef union  T32ISA_QWR_LD
          { UNSG32 u32;
            struct w32ISA_QWR_LD;
                 } T32ISA_QWR_LD;
    typedef union  T32ISA_QWR_EX
          { UNSG32 u32;
            struct w32ISA_QWR_EX;
                 } T32ISA_QWR_EX;
    typedef union  T32ISA_QWR_EXX
          { UNSG32 u32;
            struct w32ISA_QWR_EXX;
                 } T32ISA_QWR_EXX;
    typedef union  T32ISA_QWR_WB
          { UNSG32 u32;
            struct w32ISA_QWR_WB;
                 } T32ISA_QWR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_QWR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_Mask;
                   };
                 } TISA_QWR_Mask;
    typedef union  TISA_QWR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_Opcode;
                   };
                 } TISA_QWR_Opcode;
    typedef union  TISA_QWR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_ID;
                   };
                 } TISA_QWR_ID;
    typedef union  TISA_QWR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_LD;
                   };
                 } TISA_QWR_LD;
    typedef union  TISA_QWR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_EX;
                   };
                 } TISA_QWR_EX;
    typedef union  TISA_QWR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_EXX;
                   };
                 } TISA_QWR_EXX;
    typedef union  TISA_QWR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWR_WB;
                   };
                 } TISA_QWR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_QWR_drvrd(SIE_ISA_QWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_QWR_drvwr(SIE_ISA_QWR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_QWR_reset(SIE_ISA_QWR *p);
     SIGN32 ISA_QWR_cmp  (SIE_ISA_QWR *p, SIE_ISA_QWR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_QWR_check(p,pie,pfx,hLOG) ISA_QWR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_QWR_print(p,    pfx,hLOG) ISA_QWR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_QWR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_QWRINC                               (4,4)
///     ###
///     * Memory write of 64b entry from RF64.
///     * Using a register load write address.
///     * This address register will be updated with an offset of [-128~127] afterwards, no flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF000C0
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x4000C0
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.WR.INC", "rS,N,qT"     , "0100 NNNN SSSS NNNN 11TT TTTT" } ,
///                                    * - Usage:
///                                    * -    Q.WR.INC %a1, + 8, %q0   ; M64[ %a1 ] = %q0;
///                                    * -                             ; %a1 += 8;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      0x1
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    0x1
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      0x1
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      0x1
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_QWRINC
#define h_ISA_QWRINC (){}

    #define     RA_ISA_QWRINC_Mask                             0x0000

    #define     BA_ISA_QWRINC_Mask_INS                         0x0000
    #define     B16ISA_QWRINC_Mask_INS                         0x0000
    #define   LSb32ISA_QWRINC_Mask_INS                            0
    #define   LSb16ISA_QWRINC_Mask_INS                            0
    #define       bISA_QWRINC_Mask_INS                         24
    #define   MSK32ISA_QWRINC_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_Opcode                           0x0004

    #define     BA_ISA_QWRINC_Opcode_INS                       0x0004
    #define     B16ISA_QWRINC_Opcode_INS                       0x0004
    #define   LSb32ISA_QWRINC_Opcode_INS                          0
    #define   LSb16ISA_QWRINC_Opcode_INS                          0
    #define       bISA_QWRINC_Opcode_INS                       24
    #define   MSK32ISA_QWRINC_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_ID                               0x0008

    #define     BA_ISA_QWRINC_ID_RBRF                          0x0008
    #define     B16ISA_QWRINC_ID_RBRF                          0x0008
    #define   LSb32ISA_QWRINC_ID_RBRF                             0
    #define   LSb16ISA_QWRINC_ID_RBRF                             0
    #define       bISA_QWRINC_ID_RBRF                          1
    #define   MSK32ISA_QWRINC_ID_RBRF                             0x00000001

    #define     BA_ISA_QWRINC_ID_RARF                          0x0008
    #define     B16ISA_QWRINC_ID_RARF                          0x0008
    #define   LSb32ISA_QWRINC_ID_RARF                             1
    #define   LSb16ISA_QWRINC_ID_RARF                             1
    #define       bISA_QWRINC_ID_RARF                          1
    #define   MSK32ISA_QWRINC_ID_RARF                             0x00000002

    #define     BA_ISA_QWRINC_ID_RAK8                          0x0008
    #define     B16ISA_QWRINC_ID_RAK8                          0x0008
    #define   LSb32ISA_QWRINC_ID_RAK8                             2
    #define   LSb16ISA_QWRINC_ID_RAK8                             2
    #define       bISA_QWRINC_ID_RAK8                          1
    #define   MSK32ISA_QWRINC_ID_RAK8                             0x00000004

    #define     BA_ISA_QWRINC_ID_RAI16                         0x0008
    #define     B16ISA_QWRINC_ID_RAI16                         0x0008
    #define   LSb32ISA_QWRINC_ID_RAI16                            3
    #define   LSb16ISA_QWRINC_ID_RAI16                            3
    #define       bISA_QWRINC_ID_RAI16                         1
    #define   MSK32ISA_QWRINC_ID_RAI16                            0x00000008

    #define     BA_ISA_QWRINC_ID_RAK16                         0x0008
    #define     B16ISA_QWRINC_ID_RAK16                         0x0008
    #define   LSb32ISA_QWRINC_ID_RAK16                            4
    #define   LSb16ISA_QWRINC_ID_RAK16                            4
    #define       bISA_QWRINC_ID_RAK16                         1
    #define   MSK32ISA_QWRINC_ID_RAK16                            0x00000010

    #define     BA_ISA_QWRINC_ID_RFSP                          0x0008
    #define     B16ISA_QWRINC_ID_RFSP                          0x0008
    #define   LSb32ISA_QWRINC_ID_RFSP                             5
    #define   LSb16ISA_QWRINC_ID_RFSP                             5
    #define       bISA_QWRINC_ID_RFSP                          1
    #define   MSK32ISA_QWRINC_ID_RFSP                             0x00000020

    #define     BA_ISA_QWRINC_ID_W4D4                          0x0008
    #define     B16ISA_QWRINC_ID_W4D4                          0x0008
    #define   LSb32ISA_QWRINC_ID_W4D4                             6
    #define   LSb16ISA_QWRINC_ID_W4D4                             6
    #define       bISA_QWRINC_ID_W4D4                          1
    #define   MSK32ISA_QWRINC_ID_W4D4                             0x00000040

    #define     BA_ISA_QWRINC_ID_W4S4                          0x0008
    #define     B16ISA_QWRINC_ID_W4S4                          0x0008
    #define   LSb32ISA_QWRINC_ID_W4S4                             7
    #define   LSb16ISA_QWRINC_ID_W4S4                             7
    #define       bISA_QWRINC_ID_W4S4                          1
    #define   MSK32ISA_QWRINC_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_LD                               0x000C

    #define     BA_ISA_QWRINC_LD_SPRF                          0x000C
    #define     B16ISA_QWRINC_LD_SPRF                          0x000C
    #define   LSb32ISA_QWRINC_LD_SPRF                             0
    #define   LSb16ISA_QWRINC_LD_SPRF                             0
    #define       bISA_QWRINC_LD_SPRF                          1
    #define   MSK32ISA_QWRINC_LD_SPRF                             0x00000001

    #define     BA_ISA_QWRINC_LD_SPK8                          0x000C
    #define     B16ISA_QWRINC_LD_SPK8                          0x000C
    #define   LSb32ISA_QWRINC_LD_SPK8                             1
    #define   LSb16ISA_QWRINC_LD_SPK8                             1
    #define       bISA_QWRINC_LD_SPK8                          1
    #define   MSK32ISA_QWRINC_LD_SPK8                             0x00000002

    #define     BA_ISA_QWRINC_LD_SPJ                           0x000C
    #define     B16ISA_QWRINC_LD_SPJ                           0x000C
    #define   LSb32ISA_QWRINC_LD_SPJ                              2
    #define   LSb16ISA_QWRINC_LD_SPJ                              2
    #define       bISA_QWRINC_LD_SPJ                           1
    #define   MSK32ISA_QWRINC_LD_SPJ                              0x00000004

    #define     BA_ISA_QWRINC_LD_SP4S                          0x000C
    #define     B16ISA_QWRINC_LD_SP4S                          0x000C
    #define   LSb32ISA_QWRINC_LD_SP4S                             3
    #define   LSb16ISA_QWRINC_LD_SP4S                             3
    #define       bISA_QWRINC_LD_SP4S                          1
    #define   MSK32ISA_QWRINC_LD_SP4S                             0x00000008

    #define     BA_ISA_QWRINC_LD_SP8S                          0x000C
    #define     B16ISA_QWRINC_LD_SP8S                          0x000C
    #define   LSb32ISA_QWRINC_LD_SP8S                             4
    #define   LSb16ISA_QWRINC_LD_SP8S                             4
    #define       bISA_QWRINC_LD_SP8S                          1
    #define   MSK32ISA_QWRINC_LD_SP8S                             0x00000010

    #define     BA_ISA_QWRINC_LD_SP8U                          0x000C
    #define     B16ISA_QWRINC_LD_SP8U                          0x000C
    #define   LSb32ISA_QWRINC_LD_SP8U                             5
    #define   LSb16ISA_QWRINC_LD_SP8U                             5
    #define       bISA_QWRINC_LD_SP8U                          1
    #define   MSK32ISA_QWRINC_LD_SP8U                             0x00000020

    #define     BA_ISA_QWRINC_LD_SP12S                         0x000C
    #define     B16ISA_QWRINC_LD_SP12S                         0x000C
    #define   LSb32ISA_QWRINC_LD_SP12S                            6
    #define   LSb16ISA_QWRINC_LD_SP12S                            6
    #define       bISA_QWRINC_LD_SP12S                         1
    #define   MSK32ISA_QWRINC_LD_SP12S                            0x00000040

    #define     BA_ISA_QWRINC_LD_SP16                          0x000C
    #define     B16ISA_QWRINC_LD_SP16                          0x000C
    #define   LSb32ISA_QWRINC_LD_SP16                             7
    #define   LSb16ISA_QWRINC_LD_SP16                             7
    #define       bISA_QWRINC_LD_SP16                          1
    #define   MSK32ISA_QWRINC_LD_SP16                             0x00000080

    #define     BA_ISA_QWRINC_LD_TPRF                          0x000D
    #define     B16ISA_QWRINC_LD_TPRF                          0x000C
    #define   LSb32ISA_QWRINC_LD_TPRF                             8
    #define   LSb16ISA_QWRINC_LD_TPRF                             8
    #define       bISA_QWRINC_LD_TPRF                          1
    #define   MSK32ISA_QWRINC_LD_TPRF                             0x00000100

    #define     BA_ISA_QWRINC_LD_TPJ                           0x000D
    #define     B16ISA_QWRINC_LD_TPJ                           0x000C
    #define   LSb32ISA_QWRINC_LD_TPJ                              9
    #define   LSb16ISA_QWRINC_LD_TPJ                              9
    #define       bISA_QWRINC_LD_TPJ                           1
    #define   MSK32ISA_QWRINC_LD_TPJ                              0x00000200

    #define     BA_ISA_QWRINC_LD_TP4S                          0x000D
    #define     B16ISA_QWRINC_LD_TP4S                          0x000C
    #define   LSb32ISA_QWRINC_LD_TP4S                             10
    #define   LSb16ISA_QWRINC_LD_TP4S                             10
    #define       bISA_QWRINC_LD_TP4S                          1
    #define   MSK32ISA_QWRINC_LD_TP4S                             0x00000400

    #define     BA_ISA_QWRINC_LD_TP8L                          0x000D
    #define     B16ISA_QWRINC_LD_TP8L                          0x000C
    #define   LSb32ISA_QWRINC_LD_TP8L                             11
    #define   LSb16ISA_QWRINC_LD_TP8L                             11
    #define       bISA_QWRINC_LD_TP8L                          1
    #define   MSK32ISA_QWRINC_LD_TP8L                             0x00000800

    #define     BA_ISA_QWRINC_LD_TP8H                          0x000D
    #define     B16ISA_QWRINC_LD_TP8H                          0x000C
    #define   LSb32ISA_QWRINC_LD_TP8H                             12
    #define   LSb16ISA_QWRINC_LD_TP8H                             12
    #define       bISA_QWRINC_LD_TP8H                          1
    #define   MSK32ISA_QWRINC_LD_TP8H                             0x00001000

    #define     BA_ISA_QWRINC_LD_TP8LF                         0x000D
    #define     B16ISA_QWRINC_LD_TP8LF                         0x000C
    #define   LSb32ISA_QWRINC_LD_TP8LF                            13
    #define   LSb16ISA_QWRINC_LD_TP8LF                            13
    #define       bISA_QWRINC_LD_TP8LF                         1
    #define   MSK32ISA_QWRINC_LD_TP8LF                            0x00002000

    #define     BA_ISA_QWRINC_LD_TP8HF                         0x000D
    #define     B16ISA_QWRINC_LD_TP8HF                         0x000C
    #define   LSb32ISA_QWRINC_LD_TP8HF                            14
    #define   LSb16ISA_QWRINC_LD_TP8HF                            14
    #define       bISA_QWRINC_LD_TP8HF                         1
    #define   MSK32ISA_QWRINC_LD_TP8HF                            0x00004000

    #define     BA_ISA_QWRINC_LD_SQRF64                        0x000D
    #define     B16ISA_QWRINC_LD_SQRF64                        0x000C
    #define   LSb32ISA_QWRINC_LD_SQRF64                           15
    #define   LSb16ISA_QWRINC_LD_SQRF64                           15
    #define       bISA_QWRINC_LD_SQRF64                        1
    #define   MSK32ISA_QWRINC_LD_SQRF64                           0x00008000

    #define     BA_ISA_QWRINC_LD_TQRF16Q                       0x000E
    #define     B16ISA_QWRINC_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_QWRINC_LD_TQRF16Q                          16
    #define   LSb16ISA_QWRINC_LD_TQRF16Q                          0
    #define       bISA_QWRINC_LD_TQRF16Q                       1
    #define   MSK32ISA_QWRINC_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_QWRINC_LD_TQRFx4                        0x000E
    #define     B16ISA_QWRINC_LD_TQRFx4                        0x000E
    #define   LSb32ISA_QWRINC_LD_TQRFx4                           17
    #define   LSb16ISA_QWRINC_LD_TQRFx4                           1
    #define       bISA_QWRINC_LD_TQRFx4                        1
    #define   MSK32ISA_QWRINC_LD_TQRFx4                           0x00020000

    #define     BA_ISA_QWRINC_LD_RD                            0x000E
    #define     B16ISA_QWRINC_LD_RD                            0x000E
    #define   LSb32ISA_QWRINC_LD_RD                               18
    #define   LSb16ISA_QWRINC_LD_RD                               2
    #define       bISA_QWRINC_LD_RD                            1
    #define   MSK32ISA_QWRINC_LD_RD                               0x00040000

    #define     BA_ISA_QWRINC_LD_WARF                          0x000E
    #define     B16ISA_QWRINC_LD_WARF                          0x000E
    #define   LSb32ISA_QWRINC_LD_WARF                             19
    #define   LSb16ISA_QWRINC_LD_WARF                             3
    #define       bISA_QWRINC_LD_WARF                          1
    #define   MSK32ISA_QWRINC_LD_WARF                             0x00080000

    #define     BA_ISA_QWRINC_LD_WAK8                          0x000E
    #define     B16ISA_QWRINC_LD_WAK8                          0x000E
    #define   LSb32ISA_QWRINC_LD_WAK8                             20
    #define   LSb16ISA_QWRINC_LD_WAK8                             4
    #define       bISA_QWRINC_LD_WAK8                          1
    #define   MSK32ISA_QWRINC_LD_WAK8                             0x00100000

    #define     BA_ISA_QWRINC_LD_WAK16                         0x000E
    #define     B16ISA_QWRINC_LD_WAK16                         0x000E
    #define   LSb32ISA_QWRINC_LD_WAK16                            21
    #define   LSb16ISA_QWRINC_LD_WAK16                            5
    #define       bISA_QWRINC_LD_WAK16                         1
    #define   MSK32ISA_QWRINC_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_EX                               0x0010

    #define     BA_ISA_QWRINC_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagZ                       0
    #define   LSb16ISA_QWRINC_EX_ALU16FlagZ                       0
    #define       bISA_QWRINC_EX_ALU16FlagZ                    1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_QWRINC_EX_ALU16FlagC                    0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagC                       1
    #define   LSb16ISA_QWRINC_EX_ALU16FlagC                       1
    #define       bISA_QWRINC_EX_ALU16FlagC                    1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_QWRINC_EX_ALU16FlagN                    0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagN                       2
    #define   LSb16ISA_QWRINC_EX_ALU16FlagN                       2
    #define       bISA_QWRINC_EX_ALU16FlagN                    1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_QWRINC_EX_ALU16FlagV                    0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagV                       3
    #define   LSb16ISA_QWRINC_EX_ALU16FlagV                       3
    #define       bISA_QWRINC_EX_ALU16FlagV                    1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_QWRINC_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagTP                      4
    #define   LSb16ISA_QWRINC_EX_ALU16FlagTP                      4
    #define       bISA_QWRINC_EX_ALU16FlagTP                   1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_QWRINC_EX_ALU16MUL                      0x0010
    #define     B16ISA_QWRINC_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16MUL                         5
    #define   LSb16ISA_QWRINC_EX_ALU16MUL                         5
    #define       bISA_QWRINC_EX_ALU16MUL                      1
    #define   MSK32ISA_QWRINC_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_QWRINC_EX_ALU16DIV                      0x0010
    #define     B16ISA_QWRINC_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16DIV                         6
    #define   LSb16ISA_QWRINC_EX_ALU16DIV                         6
    #define       bISA_QWRINC_EX_ALU16DIV                      1
    #define   MSK32ISA_QWRINC_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_QWRINC_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_QWRINC_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16FlagLD                      7
    #define   LSb16ISA_QWRINC_EX_ALU16FlagLD                      7
    #define       bISA_QWRINC_EX_ALU16FlagLD                   1
    #define   MSK32ISA_QWRINC_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_QWRINC_EX_ALU16MDL                      0x0011
    #define     B16ISA_QWRINC_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16MDL                         8
    #define   LSb16ISA_QWRINC_EX_ALU16MDL                         8
    #define       bISA_QWRINC_EX_ALU16MDL                      1
    #define   MSK32ISA_QWRINC_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_QWRINC_EX_ALU16MDH                      0x0011
    #define     B16ISA_QWRINC_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16MDH                         9
    #define   LSb16ISA_QWRINC_EX_ALU16MDH                         9
    #define       bISA_QWRINC_EX_ALU16MDH                      1
    #define   MSK32ISA_QWRINC_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_QWRINC_EX_ALU16ADD                      0x0011
    #define     B16ISA_QWRINC_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16ADD                         10
    #define   LSb16ISA_QWRINC_EX_ALU16ADD                         10
    #define       bISA_QWRINC_EX_ALU16ADD                      1
    #define   MSK32ISA_QWRINC_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_QWRINC_EX_ALU16SUB                      0x0011
    #define     B16ISA_QWRINC_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16SUB                         11
    #define   LSb16ISA_QWRINC_EX_ALU16SUB                         11
    #define       bISA_QWRINC_EX_ALU16SUB                      1
    #define   MSK32ISA_QWRINC_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_QWRINC_EX_ALU16ADDC                     0x0011
    #define     B16ISA_QWRINC_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16ADDC                        12
    #define   LSb16ISA_QWRINC_EX_ALU16ADDC                        12
    #define       bISA_QWRINC_EX_ALU16ADDC                     1
    #define   MSK32ISA_QWRINC_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_QWRINC_EX_ALU16SUBC                     0x0011
    #define     B16ISA_QWRINC_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16SUBC                        13
    #define   LSb16ISA_QWRINC_EX_ALU16SUBC                        13
    #define       bISA_QWRINC_EX_ALU16SUBC                     1
    #define   MSK32ISA_QWRINC_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_QWRINC_EX_ALU16ASR                      0x0011
    #define     B16ISA_QWRINC_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16ASR                         14
    #define   LSb16ISA_QWRINC_EX_ALU16ASR                         14
    #define       bISA_QWRINC_EX_ALU16ASR                      1
    #define   MSK32ISA_QWRINC_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_QWRINC_EX_ALU16SL                       0x0011
    #define     B16ISA_QWRINC_EX_ALU16SL                       0x0010
    #define   LSb32ISA_QWRINC_EX_ALU16SL                          15
    #define   LSb16ISA_QWRINC_EX_ALU16SL                          15
    #define       bISA_QWRINC_EX_ALU16SL                       1
    #define   MSK32ISA_QWRINC_EX_ALU16SL                          0x00008000

    #define     BA_ISA_QWRINC_EX_ALU16SR                       0x0012
    #define     B16ISA_QWRINC_EX_ALU16SR                       0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16SR                          16
    #define   LSb16ISA_QWRINC_EX_ALU16SR                          0
    #define       bISA_QWRINC_EX_ALU16SR                       1
    #define   MSK32ISA_QWRINC_EX_ALU16SR                          0x00010000

    #define     BA_ISA_QWRINC_EX_ALU16GET                      0x0012
    #define     B16ISA_QWRINC_EX_ALU16GET                      0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16GET                         17
    #define   LSb16ISA_QWRINC_EX_ALU16GET                         1
    #define       bISA_QWRINC_EX_ALU16GET                      1
    #define   MSK32ISA_QWRINC_EX_ALU16GET                         0x00020000

    #define     BA_ISA_QWRINC_EX_ALU16SET                      0x0012
    #define     B16ISA_QWRINC_EX_ALU16SET                      0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16SET                         18
    #define   LSb16ISA_QWRINC_EX_ALU16SET                         2
    #define       bISA_QWRINC_EX_ALU16SET                      1
    #define   MSK32ISA_QWRINC_EX_ALU16SET                         0x00040000

    #define     BA_ISA_QWRINC_EX_ALU16SEL                      0x0012
    #define     B16ISA_QWRINC_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16SEL                         19
    #define   LSb16ISA_QWRINC_EX_ALU16SEL                         3
    #define       bISA_QWRINC_EX_ALU16SEL                      1
    #define   MSK32ISA_QWRINC_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_QWRINC_EX_ALU16OR                       0x0012
    #define     B16ISA_QWRINC_EX_ALU16OR                       0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16OR                          20
    #define   LSb16ISA_QWRINC_EX_ALU16OR                          4
    #define       bISA_QWRINC_EX_ALU16OR                       1
    #define   MSK32ISA_QWRINC_EX_ALU16OR                          0x00100000

    #define     BA_ISA_QWRINC_EX_ALU16AND                      0x0012
    #define     B16ISA_QWRINC_EX_ALU16AND                      0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16AND                         21
    #define   LSb16ISA_QWRINC_EX_ALU16AND                         5
    #define       bISA_QWRINC_EX_ALU16AND                      1
    #define   MSK32ISA_QWRINC_EX_ALU16AND                         0x00200000

    #define     BA_ISA_QWRINC_EX_ALU16XOR                      0x0012
    #define     B16ISA_QWRINC_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16XOR                         22
    #define   LSb16ISA_QWRINC_EX_ALU16XOR                         6
    #define       bISA_QWRINC_EX_ALU16XOR                      1
    #define   MSK32ISA_QWRINC_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_QWRINC_EX_ALU16SP                       0x0012
    #define     B16ISA_QWRINC_EX_ALU16SP                       0x0012
    #define   LSb32ISA_QWRINC_EX_ALU16SP                          23
    #define   LSb16ISA_QWRINC_EX_ALU16SP                          7
    #define       bISA_QWRINC_EX_ALU16SP                       1
    #define   MSK32ISA_QWRINC_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_EXX                              0x0014

    #define     BA_ISA_QWRINC_EXX_WRSQ                         0x0014
    #define     B16ISA_QWRINC_EXX_WRSQ                         0x0014
    #define   LSb32ISA_QWRINC_EXX_WRSQ                            0
    #define   LSb16ISA_QWRINC_EXX_WRSQ                            0
    #define       bISA_QWRINC_EXX_WRSQ                         1
    #define   MSK32ISA_QWRINC_EXX_WRSQ                            0x00000001

    #define     BA_ISA_QWRINC_EXX_WR16                         0x0014
    #define     B16ISA_QWRINC_EXX_WR16                         0x0014
    #define   LSb32ISA_QWRINC_EXX_WR16                            1
    #define   LSb16ISA_QWRINC_EXX_WR16                            1
    #define       bISA_QWRINC_EXX_WR16                         1
    #define   MSK32ISA_QWRINC_EXX_WR16                            0x00000002

    #define     BA_ISA_QWRINC_EXX_WRTQ                         0x0014
    #define     B16ISA_QWRINC_EXX_WRTQ                         0x0014
    #define   LSb32ISA_QWRINC_EXX_WRTQ                            2
    #define   LSb16ISA_QWRINC_EXX_WRTQ                            2
    #define       bISA_QWRINC_EXX_WRTQ                         1
    #define   MSK32ISA_QWRINC_EXX_WRTQ                            0x00000004

    #define     BA_ISA_QWRINC_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_QWRINC_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_QWRINC_EXX_ALU64PUSH                       3
    #define   LSb16ISA_QWRINC_EXX_ALU64PUSH                       3
    #define       bISA_QWRINC_EXX_ALU64PUSH                    1
    #define   MSK32ISA_QWRINC_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_QWRINC_EXX_ALU64POP                     0x0014
    #define     B16ISA_QWRINC_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_QWRINC_EXX_ALU64POP                        4
    #define   LSb16ISA_QWRINC_EXX_ALU64POP                        4
    #define       bISA_QWRINC_EXX_ALU64POP                     1
    #define   MSK32ISA_QWRINC_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_QWRINC_EXX_ALU64SQ                      0x0014
    #define     B16ISA_QWRINC_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_QWRINC_EXX_ALU64SQ                         5
    #define   LSb16ISA_QWRINC_EXX_ALU64SQ                         5
    #define       bISA_QWRINC_EXX_ALU64SQ                      1
    #define   MSK32ISA_QWRINC_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_QWRINC_EXX_ALU64TQ                      0x0014
    #define     B16ISA_QWRINC_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_QWRINC_EXX_ALU64TQ                         6
    #define   LSb16ISA_QWRINC_EXX_ALU64TQ                         6
    #define       bISA_QWRINC_EXX_ALU64TQ                      1
    #define   MSK32ISA_QWRINC_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_QWRINC_EXX_ALU64MEM                     0x0014
    #define     B16ISA_QWRINC_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_QWRINC_EXX_ALU64MEM                        7
    #define   LSb16ISA_QWRINC_EXX_ALU64MEM                        7
    #define       bISA_QWRINC_EXX_ALU64MEM                     1
    #define   MSK32ISA_QWRINC_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_QWRINC_EXX_BRANCH                       0x0015
    #define     B16ISA_QWRINC_EXX_BRANCH                       0x0014
    #define   LSb32ISA_QWRINC_EXX_BRANCH                          8
    #define   LSb16ISA_QWRINC_EXX_BRANCH                          8
    #define       bISA_QWRINC_EXX_BRANCH                       1
    #define   MSK32ISA_QWRINC_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QWRINC_WB                               0x0018

    #define     BA_ISA_QWRINC_WB_RF16                          0x0018
    #define     B16ISA_QWRINC_WB_RF16                          0x0018
    #define   LSb32ISA_QWRINC_WB_RF16                             0
    #define   LSb16ISA_QWRINC_WB_RF16                             0
    #define       bISA_QWRINC_WB_RF16                          1
    #define   MSK32ISA_QWRINC_WB_RF16                             0x00000001

    #define     BA_ISA_QWRINC_WB_RF16W0                        0x0018
    #define     B16ISA_QWRINC_WB_RF16W0                        0x0018
    #define   LSb32ISA_QWRINC_WB_RF16W0                           1
    #define   LSb16ISA_QWRINC_WB_RF16W0                           1
    #define       bISA_QWRINC_WB_RF16W0                        1
    #define   MSK32ISA_QWRINC_WB_RF16W0                           0x00000002

    #define     BA_ISA_QWRINC_WB_RF16MEM                       0x0018
    #define     B16ISA_QWRINC_WB_RF16MEM                       0x0018
    #define   LSb32ISA_QWRINC_WB_RF16MEM                          2
    #define   LSb16ISA_QWRINC_WB_RF16MEM                          2
    #define       bISA_QWRINC_WB_RF16MEM                       1
    #define   MSK32ISA_QWRINC_WB_RF16MEM                          0x00000004

    #define     BA_ISA_QWRINC_WB_RF16Q                         0x0018
    #define     B16ISA_QWRINC_WB_RF16Q                         0x0018
    #define   LSb32ISA_QWRINC_WB_RF16Q                            3
    #define   LSb16ISA_QWRINC_WB_RF16Q                            3
    #define       bISA_QWRINC_WB_RF16Q                         1
    #define   MSK32ISA_QWRINC_WB_RF16Q                            0x00000008

    #define     BA_ISA_QWRINC_WB_RF64                          0x0018
    #define     B16ISA_QWRINC_WB_RF64                          0x0018
    #define   LSb32ISA_QWRINC_WB_RF64                             4
    #define   LSb16ISA_QWRINC_WB_RF64                             4
    #define       bISA_QWRINC_WB_RF64                          1
    #define   MSK32ISA_QWRINC_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_QWRINC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_QWRINC_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_QWRINC_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QWRINC_Mask;
            struct w32ISA_QWRINC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_QWRINC_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_QWRINC_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QWRINC_Opcode;
            struct w32ISA_QWRINC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWRINC_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWRINC_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWRINC_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWRINC_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWRINC_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWRINC_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWRINC_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWRINC_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWRINC_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWRINC_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWRINC_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWRINC_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWRINC_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWRINC_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWRINC_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWRINC_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWRINC_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWRINC_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWRINC_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWRINC_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QWRINC_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_QWRINC_ID;
            struct w32ISA_QWRINC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWRINC_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWRINC_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWRINC_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWRINC_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWRINC_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWRINC_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWRINC_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWRINC_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWRINC_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWRINC_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWRINC_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWRINC_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWRINC_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWRINC_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWRINC_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWRINC_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWRINC_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWRINC_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWRINC_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWRINC_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWRINC_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWRINC_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWRINC_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWRINC_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QWRINC_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_QWRINC_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QWRINC_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_QWRINC_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QWRINC_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_QWRINC_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_QWRINC_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_QWRINC_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_QWRINC_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_QWRINC_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_QWRINC_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_QWRINC_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_QWRINC_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_QWRINC_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_QWRINC_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_QWRINC_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_QWRINC_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_QWRINC_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_QWRINC_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_QWRINC_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_QWRINC_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_QWRINC_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_QWRINC_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_QWRINC_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_QWRINC_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_QWRINC_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_QWRINC_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_QWRINC_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_QWRINC_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QWRINC_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QWRINC_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_QWRINC_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_QWRINC_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_QWRINC_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_QWRINC_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_QWRINC_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_QWRINC_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_QWRINC_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_QWRINC_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_QWRINC_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_QWRINC_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_QWRINC_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_QWRINC_LD;
            struct w32ISA_QWRINC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWRINC_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWRINC_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWRINC_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWRINC_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWRINC_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWRINC_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWRINC_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWRINC_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWRINC_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWRINC_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWRINC_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWRINC_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWRINC_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWRINC_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWRINC_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWRINC_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWRINC_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWRINC_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWRINC_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QWRINC_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_QWRINC_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QWRINC_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_QWRINC_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QWRINC_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_QWRINC_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_QWRINC_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_QWRINC_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_QWRINC_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_QWRINC_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_QWRINC_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_QWRINC_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_QWRINC_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_QWRINC_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_QWRINC_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_QWRINC_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_QWRINC_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_QWRINC_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_QWRINC_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_QWRINC_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_QWRINC_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_QWRINC_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_QWRINC_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_QWRINC_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_QWRINC_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_QWRINC_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_QWRINC_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_QWRINC_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_QWRINC_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QWRINC_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QWRINC_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_QWRINC_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_QWRINC_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_QWRINC_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_QWRINC_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_QWRINC_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_QWRINC_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_QWRINC_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_QWRINC_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_QWRINC_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_QWRINC_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWRINC_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_QWRINC_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_QWRINC_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWRINC_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWRINC_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_QWRINC_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_QWRINC_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWRINC_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QWRINC_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_QWRINC_EX;
            struct w32ISA_QWRINC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWRINC_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWRINC_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWRINC_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWRINC_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWRINC_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWRINC_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWRINC_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWRINC_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWRINC_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWRINC_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QWRINC_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QWRINC_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QWRINC_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QWRINC_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QWRINC_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QWRINC_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QWRINC_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QWRINC_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QWRINC_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_QWRINC_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QWRINC_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_QWRINC_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QWRINC_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_QWRINC_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QWRINC_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_QWRINC_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_QWRINC_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_QWRINC_EXX;
            struct w32ISA_QWRINC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QWRINC_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QWRINC_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QWRINC_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QWRINC_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QWRINC_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_QWRINC_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QWRINC_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QWRINC_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QWRINC_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_QWRINC_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QWRINC_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_QWRINC_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QWRINC_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QWRINC_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QWRINC_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QWRINC_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QWRINC_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QWRINC_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QWRINC_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QWRINC_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_QWRINC_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_QWRINC_WB;
            struct w32ISA_QWRINC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_QWRINC;

    typedef union  T32ISA_QWRINC_Mask
          { UNSG32 u32;
            struct w32ISA_QWRINC_Mask;
                 } T32ISA_QWRINC_Mask;
    typedef union  T32ISA_QWRINC_Opcode
          { UNSG32 u32;
            struct w32ISA_QWRINC_Opcode;
                 } T32ISA_QWRINC_Opcode;
    typedef union  T32ISA_QWRINC_ID
          { UNSG32 u32;
            struct w32ISA_QWRINC_ID;
                 } T32ISA_QWRINC_ID;
    typedef union  T32ISA_QWRINC_LD
          { UNSG32 u32;
            struct w32ISA_QWRINC_LD;
                 } T32ISA_QWRINC_LD;
    typedef union  T32ISA_QWRINC_EX
          { UNSG32 u32;
            struct w32ISA_QWRINC_EX;
                 } T32ISA_QWRINC_EX;
    typedef union  T32ISA_QWRINC_EXX
          { UNSG32 u32;
            struct w32ISA_QWRINC_EXX;
                 } T32ISA_QWRINC_EXX;
    typedef union  T32ISA_QWRINC_WB
          { UNSG32 u32;
            struct w32ISA_QWRINC_WB;
                 } T32ISA_QWRINC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_QWRINC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_Mask;
                   };
                 } TISA_QWRINC_Mask;
    typedef union  TISA_QWRINC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_Opcode;
                   };
                 } TISA_QWRINC_Opcode;
    typedef union  TISA_QWRINC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_ID;
                   };
                 } TISA_QWRINC_ID;
    typedef union  TISA_QWRINC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_LD;
                   };
                 } TISA_QWRINC_LD;
    typedef union  TISA_QWRINC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_EX;
                   };
                 } TISA_QWRINC_EX;
    typedef union  TISA_QWRINC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_EXX;
                   };
                 } TISA_QWRINC_EXX;
    typedef union  TISA_QWRINC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QWRINC_WB;
                   };
                 } TISA_QWRINC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_QWRINC_drvrd(SIE_ISA_QWRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_QWRINC_drvwr(SIE_ISA_QWRINC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_QWRINC_reset(SIE_ISA_QWRINC *p);
     SIGN32 ISA_QWRINC_cmp  (SIE_ISA_QWRINC *p, SIE_ISA_QWRINC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_QWRINC_check(p,pie,pfx,hLOG) ISA_QWRINC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_QWRINC_print(p,    pfx,hLOG) ISA_QWRINC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_QWRINC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_LD                                   (4,4)
///     ###
///     * Load a register with a 16b immediate number.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xB00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "LD"      , "rD,N"        , "1011 NNNN NNNN NNNN NNNN DDDD" } ,
///                                    * - Usage:
///                                    * -    LD       %a1, -1         ; %a1 = -1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      0x1
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   0x1
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_LD
#define h_ISA_LD (){}

    #define     RA_ISA_LD_Mask                                 0x0000

    #define     BA_ISA_LD_Mask_INS                             0x0000
    #define     B16ISA_LD_Mask_INS                             0x0000
    #define   LSb32ISA_LD_Mask_INS                                0
    #define   LSb16ISA_LD_Mask_INS                                0
    #define       bISA_LD_Mask_INS                             24
    #define   MSK32ISA_LD_Mask_INS                                0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_Opcode                               0x0004

    #define     BA_ISA_LD_Opcode_INS                           0x0004
    #define     B16ISA_LD_Opcode_INS                           0x0004
    #define   LSb32ISA_LD_Opcode_INS                              0
    #define   LSb16ISA_LD_Opcode_INS                              0
    #define       bISA_LD_Opcode_INS                           24
    #define   MSK32ISA_LD_Opcode_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_ID                                   0x0008

    #define     BA_ISA_LD_ID_RBRF                              0x0008
    #define     B16ISA_LD_ID_RBRF                              0x0008
    #define   LSb32ISA_LD_ID_RBRF                                 0
    #define   LSb16ISA_LD_ID_RBRF                                 0
    #define       bISA_LD_ID_RBRF                              1
    #define   MSK32ISA_LD_ID_RBRF                                 0x00000001

    #define     BA_ISA_LD_ID_RARF                              0x0008
    #define     B16ISA_LD_ID_RARF                              0x0008
    #define   LSb32ISA_LD_ID_RARF                                 1
    #define   LSb16ISA_LD_ID_RARF                                 1
    #define       bISA_LD_ID_RARF                              1
    #define   MSK32ISA_LD_ID_RARF                                 0x00000002

    #define     BA_ISA_LD_ID_RAK8                              0x0008
    #define     B16ISA_LD_ID_RAK8                              0x0008
    #define   LSb32ISA_LD_ID_RAK8                                 2
    #define   LSb16ISA_LD_ID_RAK8                                 2
    #define       bISA_LD_ID_RAK8                              1
    #define   MSK32ISA_LD_ID_RAK8                                 0x00000004

    #define     BA_ISA_LD_ID_RAI16                             0x0008
    #define     B16ISA_LD_ID_RAI16                             0x0008
    #define   LSb32ISA_LD_ID_RAI16                                3
    #define   LSb16ISA_LD_ID_RAI16                                3
    #define       bISA_LD_ID_RAI16                             1
    #define   MSK32ISA_LD_ID_RAI16                                0x00000008

    #define     BA_ISA_LD_ID_RAK16                             0x0008
    #define     B16ISA_LD_ID_RAK16                             0x0008
    #define   LSb32ISA_LD_ID_RAK16                                4
    #define   LSb16ISA_LD_ID_RAK16                                4
    #define       bISA_LD_ID_RAK16                             1
    #define   MSK32ISA_LD_ID_RAK16                                0x00000010

    #define     BA_ISA_LD_ID_RFSP                              0x0008
    #define     B16ISA_LD_ID_RFSP                              0x0008
    #define   LSb32ISA_LD_ID_RFSP                                 5
    #define   LSb16ISA_LD_ID_RFSP                                 5
    #define       bISA_LD_ID_RFSP                              1
    #define   MSK32ISA_LD_ID_RFSP                                 0x00000020

    #define     BA_ISA_LD_ID_W4D4                              0x0008
    #define     B16ISA_LD_ID_W4D4                              0x0008
    #define   LSb32ISA_LD_ID_W4D4                                 6
    #define   LSb16ISA_LD_ID_W4D4                                 6
    #define       bISA_LD_ID_W4D4                              1
    #define   MSK32ISA_LD_ID_W4D4                                 0x00000040

    #define     BA_ISA_LD_ID_W4S4                              0x0008
    #define     B16ISA_LD_ID_W4S4                              0x0008
    #define   LSb32ISA_LD_ID_W4S4                                 7
    #define   LSb16ISA_LD_ID_W4S4                                 7
    #define       bISA_LD_ID_W4S4                              1
    #define   MSK32ISA_LD_ID_W4S4                                 0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_LD                                   0x000C

    #define     BA_ISA_LD_LD_SPRF                              0x000C
    #define     B16ISA_LD_LD_SPRF                              0x000C
    #define   LSb32ISA_LD_LD_SPRF                                 0
    #define   LSb16ISA_LD_LD_SPRF                                 0
    #define       bISA_LD_LD_SPRF                              1
    #define   MSK32ISA_LD_LD_SPRF                                 0x00000001

    #define     BA_ISA_LD_LD_SPK8                              0x000C
    #define     B16ISA_LD_LD_SPK8                              0x000C
    #define   LSb32ISA_LD_LD_SPK8                                 1
    #define   LSb16ISA_LD_LD_SPK8                                 1
    #define       bISA_LD_LD_SPK8                              1
    #define   MSK32ISA_LD_LD_SPK8                                 0x00000002

    #define     BA_ISA_LD_LD_SPJ                               0x000C
    #define     B16ISA_LD_LD_SPJ                               0x000C
    #define   LSb32ISA_LD_LD_SPJ                                  2
    #define   LSb16ISA_LD_LD_SPJ                                  2
    #define       bISA_LD_LD_SPJ                               1
    #define   MSK32ISA_LD_LD_SPJ                                  0x00000004

    #define     BA_ISA_LD_LD_SP4S                              0x000C
    #define     B16ISA_LD_LD_SP4S                              0x000C
    #define   LSb32ISA_LD_LD_SP4S                                 3
    #define   LSb16ISA_LD_LD_SP4S                                 3
    #define       bISA_LD_LD_SP4S                              1
    #define   MSK32ISA_LD_LD_SP4S                                 0x00000008

    #define     BA_ISA_LD_LD_SP8S                              0x000C
    #define     B16ISA_LD_LD_SP8S                              0x000C
    #define   LSb32ISA_LD_LD_SP8S                                 4
    #define   LSb16ISA_LD_LD_SP8S                                 4
    #define       bISA_LD_LD_SP8S                              1
    #define   MSK32ISA_LD_LD_SP8S                                 0x00000010

    #define     BA_ISA_LD_LD_SP8U                              0x000C
    #define     B16ISA_LD_LD_SP8U                              0x000C
    #define   LSb32ISA_LD_LD_SP8U                                 5
    #define   LSb16ISA_LD_LD_SP8U                                 5
    #define       bISA_LD_LD_SP8U                              1
    #define   MSK32ISA_LD_LD_SP8U                                 0x00000020

    #define     BA_ISA_LD_LD_SP12S                             0x000C
    #define     B16ISA_LD_LD_SP12S                             0x000C
    #define   LSb32ISA_LD_LD_SP12S                                6
    #define   LSb16ISA_LD_LD_SP12S                                6
    #define       bISA_LD_LD_SP12S                             1
    #define   MSK32ISA_LD_LD_SP12S                                0x00000040

    #define     BA_ISA_LD_LD_SP16                              0x000C
    #define     B16ISA_LD_LD_SP16                              0x000C
    #define   LSb32ISA_LD_LD_SP16                                 7
    #define   LSb16ISA_LD_LD_SP16                                 7
    #define       bISA_LD_LD_SP16                              1
    #define   MSK32ISA_LD_LD_SP16                                 0x00000080

    #define     BA_ISA_LD_LD_TPRF                              0x000D
    #define     B16ISA_LD_LD_TPRF                              0x000C
    #define   LSb32ISA_LD_LD_TPRF                                 8
    #define   LSb16ISA_LD_LD_TPRF                                 8
    #define       bISA_LD_LD_TPRF                              1
    #define   MSK32ISA_LD_LD_TPRF                                 0x00000100

    #define     BA_ISA_LD_LD_TPJ                               0x000D
    #define     B16ISA_LD_LD_TPJ                               0x000C
    #define   LSb32ISA_LD_LD_TPJ                                  9
    #define   LSb16ISA_LD_LD_TPJ                                  9
    #define       bISA_LD_LD_TPJ                               1
    #define   MSK32ISA_LD_LD_TPJ                                  0x00000200

    #define     BA_ISA_LD_LD_TP4S                              0x000D
    #define     B16ISA_LD_LD_TP4S                              0x000C
    #define   LSb32ISA_LD_LD_TP4S                                 10
    #define   LSb16ISA_LD_LD_TP4S                                 10
    #define       bISA_LD_LD_TP4S                              1
    #define   MSK32ISA_LD_LD_TP4S                                 0x00000400

    #define     BA_ISA_LD_LD_TP8L                              0x000D
    #define     B16ISA_LD_LD_TP8L                              0x000C
    #define   LSb32ISA_LD_LD_TP8L                                 11
    #define   LSb16ISA_LD_LD_TP8L                                 11
    #define       bISA_LD_LD_TP8L                              1
    #define   MSK32ISA_LD_LD_TP8L                                 0x00000800

    #define     BA_ISA_LD_LD_TP8H                              0x000D
    #define     B16ISA_LD_LD_TP8H                              0x000C
    #define   LSb32ISA_LD_LD_TP8H                                 12
    #define   LSb16ISA_LD_LD_TP8H                                 12
    #define       bISA_LD_LD_TP8H                              1
    #define   MSK32ISA_LD_LD_TP8H                                 0x00001000

    #define     BA_ISA_LD_LD_TP8LF                             0x000D
    #define     B16ISA_LD_LD_TP8LF                             0x000C
    #define   LSb32ISA_LD_LD_TP8LF                                13
    #define   LSb16ISA_LD_LD_TP8LF                                13
    #define       bISA_LD_LD_TP8LF                             1
    #define   MSK32ISA_LD_LD_TP8LF                                0x00002000

    #define     BA_ISA_LD_LD_TP8HF                             0x000D
    #define     B16ISA_LD_LD_TP8HF                             0x000C
    #define   LSb32ISA_LD_LD_TP8HF                                14
    #define   LSb16ISA_LD_LD_TP8HF                                14
    #define       bISA_LD_LD_TP8HF                             1
    #define   MSK32ISA_LD_LD_TP8HF                                0x00004000

    #define     BA_ISA_LD_LD_SQRF64                            0x000D
    #define     B16ISA_LD_LD_SQRF64                            0x000C
    #define   LSb32ISA_LD_LD_SQRF64                               15
    #define   LSb16ISA_LD_LD_SQRF64                               15
    #define       bISA_LD_LD_SQRF64                            1
    #define   MSK32ISA_LD_LD_SQRF64                               0x00008000

    #define     BA_ISA_LD_LD_TQRF16Q                           0x000E
    #define     B16ISA_LD_LD_TQRF16Q                           0x000E
    #define   LSb32ISA_LD_LD_TQRF16Q                              16
    #define   LSb16ISA_LD_LD_TQRF16Q                              0
    #define       bISA_LD_LD_TQRF16Q                           1
    #define   MSK32ISA_LD_LD_TQRF16Q                              0x00010000

    #define     BA_ISA_LD_LD_TQRFx4                            0x000E
    #define     B16ISA_LD_LD_TQRFx4                            0x000E
    #define   LSb32ISA_LD_LD_TQRFx4                               17
    #define   LSb16ISA_LD_LD_TQRFx4                               1
    #define       bISA_LD_LD_TQRFx4                            1
    #define   MSK32ISA_LD_LD_TQRFx4                               0x00020000

    #define     BA_ISA_LD_LD_RD                                0x000E
    #define     B16ISA_LD_LD_RD                                0x000E
    #define   LSb32ISA_LD_LD_RD                                   18
    #define   LSb16ISA_LD_LD_RD                                   2
    #define       bISA_LD_LD_RD                                1
    #define   MSK32ISA_LD_LD_RD                                   0x00040000

    #define     BA_ISA_LD_LD_WARF                              0x000E
    #define     B16ISA_LD_LD_WARF                              0x000E
    #define   LSb32ISA_LD_LD_WARF                                 19
    #define   LSb16ISA_LD_LD_WARF                                 3
    #define       bISA_LD_LD_WARF                              1
    #define   MSK32ISA_LD_LD_WARF                                 0x00080000

    #define     BA_ISA_LD_LD_WAK8                              0x000E
    #define     B16ISA_LD_LD_WAK8                              0x000E
    #define   LSb32ISA_LD_LD_WAK8                                 20
    #define   LSb16ISA_LD_LD_WAK8                                 4
    #define       bISA_LD_LD_WAK8                              1
    #define   MSK32ISA_LD_LD_WAK8                                 0x00100000

    #define     BA_ISA_LD_LD_WAK16                             0x000E
    #define     B16ISA_LD_LD_WAK16                             0x000E
    #define   LSb32ISA_LD_LD_WAK16                                21
    #define   LSb16ISA_LD_LD_WAK16                                5
    #define       bISA_LD_LD_WAK16                             1
    #define   MSK32ISA_LD_LD_WAK16                                0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_EX                                   0x0010

    #define     BA_ISA_LD_EX_ALU16FlagZ                        0x0010
    #define     B16ISA_LD_EX_ALU16FlagZ                        0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagZ                           0
    #define   LSb16ISA_LD_EX_ALU16FlagZ                           0
    #define       bISA_LD_EX_ALU16FlagZ                        1
    #define   MSK32ISA_LD_EX_ALU16FlagZ                           0x00000001

    #define     BA_ISA_LD_EX_ALU16FlagC                        0x0010
    #define     B16ISA_LD_EX_ALU16FlagC                        0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagC                           1
    #define   LSb16ISA_LD_EX_ALU16FlagC                           1
    #define       bISA_LD_EX_ALU16FlagC                        1
    #define   MSK32ISA_LD_EX_ALU16FlagC                           0x00000002

    #define     BA_ISA_LD_EX_ALU16FlagN                        0x0010
    #define     B16ISA_LD_EX_ALU16FlagN                        0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagN                           2
    #define   LSb16ISA_LD_EX_ALU16FlagN                           2
    #define       bISA_LD_EX_ALU16FlagN                        1
    #define   MSK32ISA_LD_EX_ALU16FlagN                           0x00000004

    #define     BA_ISA_LD_EX_ALU16FlagV                        0x0010
    #define     B16ISA_LD_EX_ALU16FlagV                        0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagV                           3
    #define   LSb16ISA_LD_EX_ALU16FlagV                           3
    #define       bISA_LD_EX_ALU16FlagV                        1
    #define   MSK32ISA_LD_EX_ALU16FlagV                           0x00000008

    #define     BA_ISA_LD_EX_ALU16FlagTP                       0x0010
    #define     B16ISA_LD_EX_ALU16FlagTP                       0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagTP                          4
    #define   LSb16ISA_LD_EX_ALU16FlagTP                          4
    #define       bISA_LD_EX_ALU16FlagTP                       1
    #define   MSK32ISA_LD_EX_ALU16FlagTP                          0x00000010

    #define     BA_ISA_LD_EX_ALU16MUL                          0x0010
    #define     B16ISA_LD_EX_ALU16MUL                          0x0010
    #define   LSb32ISA_LD_EX_ALU16MUL                             5
    #define   LSb16ISA_LD_EX_ALU16MUL                             5
    #define       bISA_LD_EX_ALU16MUL                          1
    #define   MSK32ISA_LD_EX_ALU16MUL                             0x00000020

    #define     BA_ISA_LD_EX_ALU16DIV                          0x0010
    #define     B16ISA_LD_EX_ALU16DIV                          0x0010
    #define   LSb32ISA_LD_EX_ALU16DIV                             6
    #define   LSb16ISA_LD_EX_ALU16DIV                             6
    #define       bISA_LD_EX_ALU16DIV                          1
    #define   MSK32ISA_LD_EX_ALU16DIV                             0x00000040

    #define     BA_ISA_LD_EX_ALU16FlagLD                       0x0010
    #define     B16ISA_LD_EX_ALU16FlagLD                       0x0010
    #define   LSb32ISA_LD_EX_ALU16FlagLD                          7
    #define   LSb16ISA_LD_EX_ALU16FlagLD                          7
    #define       bISA_LD_EX_ALU16FlagLD                       1
    #define   MSK32ISA_LD_EX_ALU16FlagLD                          0x00000080

    #define     BA_ISA_LD_EX_ALU16MDL                          0x0011
    #define     B16ISA_LD_EX_ALU16MDL                          0x0010
    #define   LSb32ISA_LD_EX_ALU16MDL                             8
    #define   LSb16ISA_LD_EX_ALU16MDL                             8
    #define       bISA_LD_EX_ALU16MDL                          1
    #define   MSK32ISA_LD_EX_ALU16MDL                             0x00000100

    #define     BA_ISA_LD_EX_ALU16MDH                          0x0011
    #define     B16ISA_LD_EX_ALU16MDH                          0x0010
    #define   LSb32ISA_LD_EX_ALU16MDH                             9
    #define   LSb16ISA_LD_EX_ALU16MDH                             9
    #define       bISA_LD_EX_ALU16MDH                          1
    #define   MSK32ISA_LD_EX_ALU16MDH                             0x00000200

    #define     BA_ISA_LD_EX_ALU16ADD                          0x0011
    #define     B16ISA_LD_EX_ALU16ADD                          0x0010
    #define   LSb32ISA_LD_EX_ALU16ADD                             10
    #define   LSb16ISA_LD_EX_ALU16ADD                             10
    #define       bISA_LD_EX_ALU16ADD                          1
    #define   MSK32ISA_LD_EX_ALU16ADD                             0x00000400

    #define     BA_ISA_LD_EX_ALU16SUB                          0x0011
    #define     B16ISA_LD_EX_ALU16SUB                          0x0010
    #define   LSb32ISA_LD_EX_ALU16SUB                             11
    #define   LSb16ISA_LD_EX_ALU16SUB                             11
    #define       bISA_LD_EX_ALU16SUB                          1
    #define   MSK32ISA_LD_EX_ALU16SUB                             0x00000800

    #define     BA_ISA_LD_EX_ALU16ADDC                         0x0011
    #define     B16ISA_LD_EX_ALU16ADDC                         0x0010
    #define   LSb32ISA_LD_EX_ALU16ADDC                            12
    #define   LSb16ISA_LD_EX_ALU16ADDC                            12
    #define       bISA_LD_EX_ALU16ADDC                         1
    #define   MSK32ISA_LD_EX_ALU16ADDC                            0x00001000

    #define     BA_ISA_LD_EX_ALU16SUBC                         0x0011
    #define     B16ISA_LD_EX_ALU16SUBC                         0x0010
    #define   LSb32ISA_LD_EX_ALU16SUBC                            13
    #define   LSb16ISA_LD_EX_ALU16SUBC                            13
    #define       bISA_LD_EX_ALU16SUBC                         1
    #define   MSK32ISA_LD_EX_ALU16SUBC                            0x00002000

    #define     BA_ISA_LD_EX_ALU16ASR                          0x0011
    #define     B16ISA_LD_EX_ALU16ASR                          0x0010
    #define   LSb32ISA_LD_EX_ALU16ASR                             14
    #define   LSb16ISA_LD_EX_ALU16ASR                             14
    #define       bISA_LD_EX_ALU16ASR                          1
    #define   MSK32ISA_LD_EX_ALU16ASR                             0x00004000

    #define     BA_ISA_LD_EX_ALU16SL                           0x0011
    #define     B16ISA_LD_EX_ALU16SL                           0x0010
    #define   LSb32ISA_LD_EX_ALU16SL                              15
    #define   LSb16ISA_LD_EX_ALU16SL                              15
    #define       bISA_LD_EX_ALU16SL                           1
    #define   MSK32ISA_LD_EX_ALU16SL                              0x00008000

    #define     BA_ISA_LD_EX_ALU16SR                           0x0012
    #define     B16ISA_LD_EX_ALU16SR                           0x0012
    #define   LSb32ISA_LD_EX_ALU16SR                              16
    #define   LSb16ISA_LD_EX_ALU16SR                              0
    #define       bISA_LD_EX_ALU16SR                           1
    #define   MSK32ISA_LD_EX_ALU16SR                              0x00010000

    #define     BA_ISA_LD_EX_ALU16GET                          0x0012
    #define     B16ISA_LD_EX_ALU16GET                          0x0012
    #define   LSb32ISA_LD_EX_ALU16GET                             17
    #define   LSb16ISA_LD_EX_ALU16GET                             1
    #define       bISA_LD_EX_ALU16GET                          1
    #define   MSK32ISA_LD_EX_ALU16GET                             0x00020000

    #define     BA_ISA_LD_EX_ALU16SET                          0x0012
    #define     B16ISA_LD_EX_ALU16SET                          0x0012
    #define   LSb32ISA_LD_EX_ALU16SET                             18
    #define   LSb16ISA_LD_EX_ALU16SET                             2
    #define       bISA_LD_EX_ALU16SET                          1
    #define   MSK32ISA_LD_EX_ALU16SET                             0x00040000

    #define     BA_ISA_LD_EX_ALU16SEL                          0x0012
    #define     B16ISA_LD_EX_ALU16SEL                          0x0012
    #define   LSb32ISA_LD_EX_ALU16SEL                             19
    #define   LSb16ISA_LD_EX_ALU16SEL                             3
    #define       bISA_LD_EX_ALU16SEL                          1
    #define   MSK32ISA_LD_EX_ALU16SEL                             0x00080000

    #define     BA_ISA_LD_EX_ALU16OR                           0x0012
    #define     B16ISA_LD_EX_ALU16OR                           0x0012
    #define   LSb32ISA_LD_EX_ALU16OR                              20
    #define   LSb16ISA_LD_EX_ALU16OR                              4
    #define       bISA_LD_EX_ALU16OR                           1
    #define   MSK32ISA_LD_EX_ALU16OR                              0x00100000

    #define     BA_ISA_LD_EX_ALU16AND                          0x0012
    #define     B16ISA_LD_EX_ALU16AND                          0x0012
    #define   LSb32ISA_LD_EX_ALU16AND                             21
    #define   LSb16ISA_LD_EX_ALU16AND                             5
    #define       bISA_LD_EX_ALU16AND                          1
    #define   MSK32ISA_LD_EX_ALU16AND                             0x00200000

    #define     BA_ISA_LD_EX_ALU16XOR                          0x0012
    #define     B16ISA_LD_EX_ALU16XOR                          0x0012
    #define   LSb32ISA_LD_EX_ALU16XOR                             22
    #define   LSb16ISA_LD_EX_ALU16XOR                             6
    #define       bISA_LD_EX_ALU16XOR                          1
    #define   MSK32ISA_LD_EX_ALU16XOR                             0x00400000

    #define     BA_ISA_LD_EX_ALU16SP                           0x0012
    #define     B16ISA_LD_EX_ALU16SP                           0x0012
    #define   LSb32ISA_LD_EX_ALU16SP                              23
    #define   LSb16ISA_LD_EX_ALU16SP                              7
    #define       bISA_LD_EX_ALU16SP                           1
    #define   MSK32ISA_LD_EX_ALU16SP                              0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_EXX                                  0x0014

    #define     BA_ISA_LD_EXX_WRSQ                             0x0014
    #define     B16ISA_LD_EXX_WRSQ                             0x0014
    #define   LSb32ISA_LD_EXX_WRSQ                                0
    #define   LSb16ISA_LD_EXX_WRSQ                                0
    #define       bISA_LD_EXX_WRSQ                             1
    #define   MSK32ISA_LD_EXX_WRSQ                                0x00000001

    #define     BA_ISA_LD_EXX_WR16                             0x0014
    #define     B16ISA_LD_EXX_WR16                             0x0014
    #define   LSb32ISA_LD_EXX_WR16                                1
    #define   LSb16ISA_LD_EXX_WR16                                1
    #define       bISA_LD_EXX_WR16                             1
    #define   MSK32ISA_LD_EXX_WR16                                0x00000002

    #define     BA_ISA_LD_EXX_WRTQ                             0x0014
    #define     B16ISA_LD_EXX_WRTQ                             0x0014
    #define   LSb32ISA_LD_EXX_WRTQ                                2
    #define   LSb16ISA_LD_EXX_WRTQ                                2
    #define       bISA_LD_EXX_WRTQ                             1
    #define   MSK32ISA_LD_EXX_WRTQ                                0x00000004

    #define     BA_ISA_LD_EXX_ALU64PUSH                        0x0014
    #define     B16ISA_LD_EXX_ALU64PUSH                        0x0014
    #define   LSb32ISA_LD_EXX_ALU64PUSH                           3
    #define   LSb16ISA_LD_EXX_ALU64PUSH                           3
    #define       bISA_LD_EXX_ALU64PUSH                        1
    #define   MSK32ISA_LD_EXX_ALU64PUSH                           0x00000008

    #define     BA_ISA_LD_EXX_ALU64POP                         0x0014
    #define     B16ISA_LD_EXX_ALU64POP                         0x0014
    #define   LSb32ISA_LD_EXX_ALU64POP                            4
    #define   LSb16ISA_LD_EXX_ALU64POP                            4
    #define       bISA_LD_EXX_ALU64POP                         1
    #define   MSK32ISA_LD_EXX_ALU64POP                            0x00000010

    #define     BA_ISA_LD_EXX_ALU64SQ                          0x0014
    #define     B16ISA_LD_EXX_ALU64SQ                          0x0014
    #define   LSb32ISA_LD_EXX_ALU64SQ                             5
    #define   LSb16ISA_LD_EXX_ALU64SQ                             5
    #define       bISA_LD_EXX_ALU64SQ                          1
    #define   MSK32ISA_LD_EXX_ALU64SQ                             0x00000020

    #define     BA_ISA_LD_EXX_ALU64TQ                          0x0014
    #define     B16ISA_LD_EXX_ALU64TQ                          0x0014
    #define   LSb32ISA_LD_EXX_ALU64TQ                             6
    #define   LSb16ISA_LD_EXX_ALU64TQ                             6
    #define       bISA_LD_EXX_ALU64TQ                          1
    #define   MSK32ISA_LD_EXX_ALU64TQ                             0x00000040

    #define     BA_ISA_LD_EXX_ALU64MEM                         0x0014
    #define     B16ISA_LD_EXX_ALU64MEM                         0x0014
    #define   LSb32ISA_LD_EXX_ALU64MEM                            7
    #define   LSb16ISA_LD_EXX_ALU64MEM                            7
    #define       bISA_LD_EXX_ALU64MEM                         1
    #define   MSK32ISA_LD_EXX_ALU64MEM                            0x00000080

    #define     BA_ISA_LD_EXX_BRANCH                           0x0015
    #define     B16ISA_LD_EXX_BRANCH                           0x0014
    #define   LSb32ISA_LD_EXX_BRANCH                              8
    #define   LSb16ISA_LD_EXX_BRANCH                              8
    #define       bISA_LD_EXX_BRANCH                           1
    #define   MSK32ISA_LD_EXX_BRANCH                              0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LD_WB                                   0x0018

    #define     BA_ISA_LD_WB_RF16                              0x0018
    #define     B16ISA_LD_WB_RF16                              0x0018
    #define   LSb32ISA_LD_WB_RF16                                 0
    #define   LSb16ISA_LD_WB_RF16                                 0
    #define       bISA_LD_WB_RF16                              1
    #define   MSK32ISA_LD_WB_RF16                                 0x00000001

    #define     BA_ISA_LD_WB_RF16W0                            0x0018
    #define     B16ISA_LD_WB_RF16W0                            0x0018
    #define   LSb32ISA_LD_WB_RF16W0                               1
    #define   LSb16ISA_LD_WB_RF16W0                               1
    #define       bISA_LD_WB_RF16W0                            1
    #define   MSK32ISA_LD_WB_RF16W0                               0x00000002

    #define     BA_ISA_LD_WB_RF16MEM                           0x0018
    #define     B16ISA_LD_WB_RF16MEM                           0x0018
    #define   LSb32ISA_LD_WB_RF16MEM                              2
    #define   LSb16ISA_LD_WB_RF16MEM                              2
    #define       bISA_LD_WB_RF16MEM                           1
    #define   MSK32ISA_LD_WB_RF16MEM                              0x00000004

    #define     BA_ISA_LD_WB_RF16Q                             0x0018
    #define     B16ISA_LD_WB_RF16Q                             0x0018
    #define   LSb32ISA_LD_WB_RF16Q                                3
    #define   LSb16ISA_LD_WB_RF16Q                                3
    #define       bISA_LD_WB_RF16Q                             1
    #define   MSK32ISA_LD_WB_RF16Q                                0x00000008

    #define     BA_ISA_LD_WB_RF64                              0x0018
    #define     B16ISA_LD_WB_RF64                              0x0018
    #define   LSb32ISA_LD_WB_RF64                                 4
    #define   LSb16ISA_LD_WB_RF64                                 4
    #define       bISA_LD_WB_RF64                              1
    #define   MSK32ISA_LD_WB_RF64                                 0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_LD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_Mask_INS(r32)                        _BFGET_(r32,23, 0)
    #define   SET32ISA_LD_Mask_INS(r32,v)                      _BFSET_(r32,23, 0,v)

    #define     w32ISA_LD_Mask                                 {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LD_Mask;
            struct w32ISA_LD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_Opcode_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_LD_Opcode_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_LD_Opcode                               {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LD_Opcode;
            struct w32ISA_LD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_ID_RBRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_LD_ID_RBRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LD_ID_RBRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_ID_RBRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_ID_RARF(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_LD_ID_RARF(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LD_ID_RARF(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_ID_RARF(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_ID_RAK8(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_LD_ID_RAK8(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LD_ID_RAK8(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_ID_RAK8(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_ID_RAI16(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_LD_ID_RAI16(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LD_ID_RAI16(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_ID_RAI16(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_ID_RAK16(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_LD_ID_RAK16(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LD_ID_RAK16(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_ID_RAK16(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_ID_RFSP(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_LD_ID_RFSP(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LD_ID_RFSP(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_ID_RFSP(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LD_ID_W4D4(r32)                         _BFGET_(r32, 6, 6)
    #define   SET32ISA_LD_ID_W4D4(r32,v)                       _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LD_ID_W4D4(r16)                         _BFGET_(r16, 6, 6)
    #define   SET16ISA_LD_ID_W4D4(r16,v)                       _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LD_ID_W4S4(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_LD_ID_W4S4(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LD_ID_W4S4(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_LD_ID_W4S4(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LD_ID                                   {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_LD_ID;
            struct w32ISA_LD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_LD_SPRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_LD_LD_SPRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LD_LD_SPRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_LD_SPRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_LD_SPK8(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_LD_LD_SPK8(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LD_LD_SPK8(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_LD_SPK8(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_LD_SPJ(r32)                          _BFGET_(r32, 2, 2)
    #define   SET32ISA_LD_LD_SPJ(r32,v)                        _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LD_LD_SPJ(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_LD_SPJ(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_LD_SP4S(r32)                         _BFGET_(r32, 3, 3)
    #define   SET32ISA_LD_LD_SP4S(r32,v)                       _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LD_LD_SP4S(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_LD_SP4S(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_LD_SP8S(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_LD_LD_SP8S(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LD_LD_SP8S(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_LD_SP8S(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_LD_SP8U(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_LD_LD_SP8U(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LD_LD_SP8U(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_LD_SP8U(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LD_LD_SP12S(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_LD_LD_SP12S(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LD_LD_SP12S(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_LD_LD_SP12S(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LD_LD_SP16(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_LD_LD_SP16(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LD_LD_SP16(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_LD_LD_SP16(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LD_LD_TPRF(r32)                         _BFGET_(r32, 8, 8)
    #define   SET32ISA_LD_LD_TPRF(r32,v)                       _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LD_LD_TPRF(r16)                         _BFGET_(r16, 8, 8)
    #define   SET16ISA_LD_LD_TPRF(r16,v)                       _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LD_LD_TPJ(r32)                          _BFGET_(r32, 9, 9)
    #define   SET32ISA_LD_LD_TPJ(r32,v)                        _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LD_LD_TPJ(r16)                          _BFGET_(r16, 9, 9)
    #define   SET16ISA_LD_LD_TPJ(r16,v)                        _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LD_LD_TP4S(r32)                         _BFGET_(r32,10,10)
    #define   SET32ISA_LD_LD_TP4S(r32,v)                       _BFSET_(r32,10,10,v)
    #define   GET16ISA_LD_LD_TP4S(r16)                         _BFGET_(r16,10,10)
    #define   SET16ISA_LD_LD_TP4S(r16,v)                       _BFSET_(r16,10,10,v)

    #define   GET32ISA_LD_LD_TP8L(r32)                         _BFGET_(r32,11,11)
    #define   SET32ISA_LD_LD_TP8L(r32,v)                       _BFSET_(r32,11,11,v)
    #define   GET16ISA_LD_LD_TP8L(r16)                         _BFGET_(r16,11,11)
    #define   SET16ISA_LD_LD_TP8L(r16,v)                       _BFSET_(r16,11,11,v)

    #define   GET32ISA_LD_LD_TP8H(r32)                         _BFGET_(r32,12,12)
    #define   SET32ISA_LD_LD_TP8H(r32,v)                       _BFSET_(r32,12,12,v)
    #define   GET16ISA_LD_LD_TP8H(r16)                         _BFGET_(r16,12,12)
    #define   SET16ISA_LD_LD_TP8H(r16,v)                       _BFSET_(r16,12,12,v)

    #define   GET32ISA_LD_LD_TP8LF(r32)                        _BFGET_(r32,13,13)
    #define   SET32ISA_LD_LD_TP8LF(r32,v)                      _BFSET_(r32,13,13,v)
    #define   GET16ISA_LD_LD_TP8LF(r16)                        _BFGET_(r16,13,13)
    #define   SET16ISA_LD_LD_TP8LF(r16,v)                      _BFSET_(r16,13,13,v)

    #define   GET32ISA_LD_LD_TP8HF(r32)                        _BFGET_(r32,14,14)
    #define   SET32ISA_LD_LD_TP8HF(r32,v)                      _BFSET_(r32,14,14,v)
    #define   GET16ISA_LD_LD_TP8HF(r16)                        _BFGET_(r16,14,14)
    #define   SET16ISA_LD_LD_TP8HF(r16,v)                      _BFSET_(r16,14,14,v)

    #define   GET32ISA_LD_LD_SQRF64(r32)                       _BFGET_(r32,15,15)
    #define   SET32ISA_LD_LD_SQRF64(r32,v)                     _BFSET_(r32,15,15,v)
    #define   GET16ISA_LD_LD_SQRF64(r16)                       _BFGET_(r16,15,15)
    #define   SET16ISA_LD_LD_SQRF64(r16,v)                     _BFSET_(r16,15,15,v)

    #define   GET32ISA_LD_LD_TQRF16Q(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_LD_LD_TQRF16Q(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_LD_LD_TQRF16Q(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_LD_TQRF16Q(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_LD_TQRFx4(r32)                       _BFGET_(r32,17,17)
    #define   SET32ISA_LD_LD_TQRFx4(r32,v)                     _BFSET_(r32,17,17,v)
    #define   GET16ISA_LD_LD_TQRFx4(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_LD_TQRFx4(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_LD_RD(r32)                           _BFGET_(r32,18,18)
    #define   SET32ISA_LD_LD_RD(r32,v)                         _BFSET_(r32,18,18,v)
    #define   GET16ISA_LD_LD_RD(r16)                           _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_LD_RD(r16,v)                         _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_LD_WARF(r32)                         _BFGET_(r32,19,19)
    #define   SET32ISA_LD_LD_WARF(r32,v)                       _BFSET_(r32,19,19,v)
    #define   GET16ISA_LD_LD_WARF(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_LD_WARF(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_LD_WAK8(r32)                         _BFGET_(r32,20,20)
    #define   SET32ISA_LD_LD_WAK8(r32,v)                       _BFSET_(r32,20,20,v)
    #define   GET16ISA_LD_LD_WAK8(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_LD_WAK8(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_LD_WAK16(r32)                        _BFGET_(r32,21,21)
    #define   SET32ISA_LD_LD_WAK16(r32,v)                      _BFSET_(r32,21,21,v)
    #define   GET16ISA_LD_LD_WAK16(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_LD_WAK16(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define     w32ISA_LD_LD                                   {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_LD_LD;
            struct w32ISA_LD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_EX_ALU16FlagZ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_LD_EX_ALU16FlagZ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LD_EX_ALU16FlagZ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_EX_ALU16FlagZ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_EX_ALU16FlagC(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_LD_EX_ALU16FlagC(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LD_EX_ALU16FlagC(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_EX_ALU16FlagC(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_EX_ALU16FlagN(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_LD_EX_ALU16FlagN(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LD_EX_ALU16FlagN(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_EX_ALU16FlagN(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_EX_ALU16FlagV(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_LD_EX_ALU16FlagV(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LD_EX_ALU16FlagV(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_EX_ALU16FlagV(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_EX_ALU16FlagTP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_LD_EX_ALU16FlagTP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LD_EX_ALU16FlagTP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_EX_ALU16FlagTP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_EX_ALU16MUL(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_LD_EX_ALU16MUL(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LD_EX_ALU16MUL(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_EX_ALU16MUL(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LD_EX_ALU16DIV(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_LD_EX_ALU16DIV(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LD_EX_ALU16DIV(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LD_EX_ALU16DIV(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LD_EX_ALU16FlagLD(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_LD_EX_ALU16FlagLD(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LD_EX_ALU16FlagLD(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_LD_EX_ALU16FlagLD(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LD_EX_ALU16MDL(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_LD_EX_ALU16MDL(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LD_EX_ALU16MDL(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_LD_EX_ALU16MDL(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LD_EX_ALU16MDH(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_LD_EX_ALU16MDH(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LD_EX_ALU16MDH(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_LD_EX_ALU16MDH(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LD_EX_ALU16ADD(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_LD_EX_ALU16ADD(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_LD_EX_ALU16ADD(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_LD_EX_ALU16ADD(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_LD_EX_ALU16SUB(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_LD_EX_ALU16SUB(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_LD_EX_ALU16SUB(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_LD_EX_ALU16SUB(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_LD_EX_ALU16ADDC(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_LD_EX_ALU16ADDC(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_LD_EX_ALU16ADDC(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_LD_EX_ALU16ADDC(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_LD_EX_ALU16SUBC(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_LD_EX_ALU16SUBC(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_LD_EX_ALU16SUBC(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_LD_EX_ALU16SUBC(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_LD_EX_ALU16ASR(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_LD_EX_ALU16ASR(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_LD_EX_ALU16ASR(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_LD_EX_ALU16ASR(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_LD_EX_ALU16SL(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_LD_EX_ALU16SL(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_LD_EX_ALU16SL(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_LD_EX_ALU16SL(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_LD_EX_ALU16SR(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_LD_EX_ALU16SR(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_LD_EX_ALU16SR(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_EX_ALU16SR(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_EX_ALU16GET(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_LD_EX_ALU16GET(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_LD_EX_ALU16GET(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_EX_ALU16GET(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_EX_ALU16SET(r32)                     _BFGET_(r32,18,18)
    #define   SET32ISA_LD_EX_ALU16SET(r32,v)                   _BFSET_(r32,18,18,v)
    #define   GET16ISA_LD_EX_ALU16SET(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_EX_ALU16SET(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_EX_ALU16SEL(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_LD_EX_ALU16SEL(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_LD_EX_ALU16SEL(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_EX_ALU16SEL(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_EX_ALU16OR(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_LD_EX_ALU16OR(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_LD_EX_ALU16OR(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_EX_ALU16OR(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_EX_ALU16AND(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_LD_EX_ALU16AND(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_LD_EX_ALU16AND(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_EX_ALU16AND(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LD_EX_ALU16XOR(r32)                     _BFGET_(r32,22,22)
    #define   SET32ISA_LD_EX_ALU16XOR(r32,v)                   _BFSET_(r32,22,22,v)
    #define   GET16ISA_LD_EX_ALU16XOR(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LD_EX_ALU16XOR(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LD_EX_ALU16SP(r32)                      _BFGET_(r32,23,23)
    #define   SET32ISA_LD_EX_ALU16SP(r32,v)                    _BFSET_(r32,23,23,v)
    #define   GET16ISA_LD_EX_ALU16SP(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LD_EX_ALU16SP(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LD_EX                                   {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_LD_EX;
            struct w32ISA_LD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_EXX_WRSQ(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_LD_EXX_WRSQ(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LD_EXX_WRSQ(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_EXX_WRSQ(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_EXX_WR16(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_LD_EXX_WR16(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LD_EXX_WR16(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_EXX_WR16(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_EXX_WRTQ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_LD_EXX_WRTQ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LD_EXX_WRTQ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_EXX_WRTQ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_EXX_ALU64PUSH(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_LD_EXX_ALU64PUSH(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LD_EXX_ALU64PUSH(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_EXX_ALU64PUSH(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_EXX_ALU64POP(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_LD_EXX_ALU64POP(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LD_EXX_ALU64POP(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_EXX_ALU64POP(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LD_EXX_ALU64SQ(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_LD_EXX_ALU64SQ(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LD_EXX_ALU64SQ(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LD_EXX_ALU64SQ(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LD_EXX_ALU64TQ(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_LD_EXX_ALU64TQ(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LD_EXX_ALU64TQ(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LD_EXX_ALU64TQ(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LD_EXX_ALU64MEM(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_LD_EXX_ALU64MEM(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LD_EXX_ALU64MEM(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_LD_EXX_ALU64MEM(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LD_EXX_BRANCH(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_LD_EXX_BRANCH(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LD_EXX_BRANCH(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_LD_EXX_BRANCH(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define     w32ISA_LD_EXX                                  {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_LD_EXX;
            struct w32ISA_LD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LD_WB_RF16(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_LD_WB_RF16(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LD_WB_RF16(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_LD_WB_RF16(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LD_WB_RF16W0(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_LD_WB_RF16W0(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LD_WB_RF16W0(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_LD_WB_RF16W0(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LD_WB_RF16MEM(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_LD_WB_RF16MEM(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LD_WB_RF16MEM(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_LD_WB_RF16MEM(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LD_WB_RF16Q(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_LD_WB_RF16Q(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LD_WB_RF16Q(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_LD_WB_RF16Q(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LD_WB_RF64(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_LD_WB_RF64(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LD_WB_RF64(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_LD_WB_RF64(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define     w32ISA_LD_WB                                   {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_LD_WB;
            struct w32ISA_LD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_LD;

    typedef union  T32ISA_LD_Mask
          { UNSG32 u32;
            struct w32ISA_LD_Mask;
                 } T32ISA_LD_Mask;
    typedef union  T32ISA_LD_Opcode
          { UNSG32 u32;
            struct w32ISA_LD_Opcode;
                 } T32ISA_LD_Opcode;
    typedef union  T32ISA_LD_ID
          { UNSG32 u32;
            struct w32ISA_LD_ID;
                 } T32ISA_LD_ID;
    typedef union  T32ISA_LD_LD
          { UNSG32 u32;
            struct w32ISA_LD_LD;
                 } T32ISA_LD_LD;
    typedef union  T32ISA_LD_EX
          { UNSG32 u32;
            struct w32ISA_LD_EX;
                 } T32ISA_LD_EX;
    typedef union  T32ISA_LD_EXX
          { UNSG32 u32;
            struct w32ISA_LD_EXX;
                 } T32ISA_LD_EXX;
    typedef union  T32ISA_LD_WB
          { UNSG32 u32;
            struct w32ISA_LD_WB;
                 } T32ISA_LD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_LD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_Mask;
                   };
                 } TISA_LD_Mask;
    typedef union  TISA_LD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_Opcode;
                   };
                 } TISA_LD_Opcode;
    typedef union  TISA_LD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_ID;
                   };
                 } TISA_LD_ID;
    typedef union  TISA_LD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_LD;
                   };
                 } TISA_LD_LD;
    typedef union  TISA_LD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_EX;
                   };
                 } TISA_LD_EX;
    typedef union  TISA_LD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_EXX;
                   };
                 } TISA_LD_EXX;
    typedef union  TISA_LD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LD_WB;
                   };
                 } TISA_LD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_LD_drvrd(SIE_ISA_LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_LD_drvwr(SIE_ISA_LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_LD_reset(SIE_ISA_LD *p);
     SIGN32 ISA_LD_cmp  (SIE_ISA_LD *p, SIE_ISA_LD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_LD_check(p,pie,pfx,hLOG) ISA_LD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_LD_print(p,    pfx,hLOG) ISA_LD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_LD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SELx                                 (4,4)
///     ###
///     * Conditional select a register from an immediate number in [0,255] and another register.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xE00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SEL.x"   , "rD,C,K,rT"   , "1110 KKKK KKKK CCCC TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    CMP.i    255, %a1        ; %d1 = (255 < %a1) ? 255 : %a1;
///                                    * -    SEL.x    %d1, `LS, 255, %a1
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      0x1
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  0x1
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SELx
#define h_ISA_SELx (){}

    #define     RA_ISA_SELx_Mask                               0x0000

    #define     BA_ISA_SELx_Mask_INS                           0x0000
    #define     B16ISA_SELx_Mask_INS                           0x0000
    #define   LSb32ISA_SELx_Mask_INS                              0
    #define   LSb16ISA_SELx_Mask_INS                              0
    #define       bISA_SELx_Mask_INS                           24
    #define   MSK32ISA_SELx_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_Opcode                             0x0004

    #define     BA_ISA_SELx_Opcode_INS                         0x0004
    #define     B16ISA_SELx_Opcode_INS                         0x0004
    #define   LSb32ISA_SELx_Opcode_INS                            0
    #define   LSb16ISA_SELx_Opcode_INS                            0
    #define       bISA_SELx_Opcode_INS                         24
    #define   MSK32ISA_SELx_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_ID                                 0x0008

    #define     BA_ISA_SELx_ID_RBRF                            0x0008
    #define     B16ISA_SELx_ID_RBRF                            0x0008
    #define   LSb32ISA_SELx_ID_RBRF                               0
    #define   LSb16ISA_SELx_ID_RBRF                               0
    #define       bISA_SELx_ID_RBRF                            1
    #define   MSK32ISA_SELx_ID_RBRF                               0x00000001

    #define     BA_ISA_SELx_ID_RARF                            0x0008
    #define     B16ISA_SELx_ID_RARF                            0x0008
    #define   LSb32ISA_SELx_ID_RARF                               1
    #define   LSb16ISA_SELx_ID_RARF                               1
    #define       bISA_SELx_ID_RARF                            1
    #define   MSK32ISA_SELx_ID_RARF                               0x00000002

    #define     BA_ISA_SELx_ID_RAK8                            0x0008
    #define     B16ISA_SELx_ID_RAK8                            0x0008
    #define   LSb32ISA_SELx_ID_RAK8                               2
    #define   LSb16ISA_SELx_ID_RAK8                               2
    #define       bISA_SELx_ID_RAK8                            1
    #define   MSK32ISA_SELx_ID_RAK8                               0x00000004

    #define     BA_ISA_SELx_ID_RAI16                           0x0008
    #define     B16ISA_SELx_ID_RAI16                           0x0008
    #define   LSb32ISA_SELx_ID_RAI16                              3
    #define   LSb16ISA_SELx_ID_RAI16                              3
    #define       bISA_SELx_ID_RAI16                           1
    #define   MSK32ISA_SELx_ID_RAI16                              0x00000008

    #define     BA_ISA_SELx_ID_RAK16                           0x0008
    #define     B16ISA_SELx_ID_RAK16                           0x0008
    #define   LSb32ISA_SELx_ID_RAK16                              4
    #define   LSb16ISA_SELx_ID_RAK16                              4
    #define       bISA_SELx_ID_RAK16                           1
    #define   MSK32ISA_SELx_ID_RAK16                              0x00000010

    #define     BA_ISA_SELx_ID_RFSP                            0x0008
    #define     B16ISA_SELx_ID_RFSP                            0x0008
    #define   LSb32ISA_SELx_ID_RFSP                               5
    #define   LSb16ISA_SELx_ID_RFSP                               5
    #define       bISA_SELx_ID_RFSP                            1
    #define   MSK32ISA_SELx_ID_RFSP                               0x00000020

    #define     BA_ISA_SELx_ID_W4D4                            0x0008
    #define     B16ISA_SELx_ID_W4D4                            0x0008
    #define   LSb32ISA_SELx_ID_W4D4                               6
    #define   LSb16ISA_SELx_ID_W4D4                               6
    #define       bISA_SELx_ID_W4D4                            1
    #define   MSK32ISA_SELx_ID_W4D4                               0x00000040

    #define     BA_ISA_SELx_ID_W4S4                            0x0008
    #define     B16ISA_SELx_ID_W4S4                            0x0008
    #define   LSb32ISA_SELx_ID_W4S4                               7
    #define   LSb16ISA_SELx_ID_W4S4                               7
    #define       bISA_SELx_ID_W4S4                            1
    #define   MSK32ISA_SELx_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_LD                                 0x000C

    #define     BA_ISA_SELx_LD_SPRF                            0x000C
    #define     B16ISA_SELx_LD_SPRF                            0x000C
    #define   LSb32ISA_SELx_LD_SPRF                               0
    #define   LSb16ISA_SELx_LD_SPRF                               0
    #define       bISA_SELx_LD_SPRF                            1
    #define   MSK32ISA_SELx_LD_SPRF                               0x00000001

    #define     BA_ISA_SELx_LD_SPK8                            0x000C
    #define     B16ISA_SELx_LD_SPK8                            0x000C
    #define   LSb32ISA_SELx_LD_SPK8                               1
    #define   LSb16ISA_SELx_LD_SPK8                               1
    #define       bISA_SELx_LD_SPK8                            1
    #define   MSK32ISA_SELx_LD_SPK8                               0x00000002

    #define     BA_ISA_SELx_LD_SPJ                             0x000C
    #define     B16ISA_SELx_LD_SPJ                             0x000C
    #define   LSb32ISA_SELx_LD_SPJ                                2
    #define   LSb16ISA_SELx_LD_SPJ                                2
    #define       bISA_SELx_LD_SPJ                             1
    #define   MSK32ISA_SELx_LD_SPJ                                0x00000004

    #define     BA_ISA_SELx_LD_SP4S                            0x000C
    #define     B16ISA_SELx_LD_SP4S                            0x000C
    #define   LSb32ISA_SELx_LD_SP4S                               3
    #define   LSb16ISA_SELx_LD_SP4S                               3
    #define       bISA_SELx_LD_SP4S                            1
    #define   MSK32ISA_SELx_LD_SP4S                               0x00000008

    #define     BA_ISA_SELx_LD_SP8S                            0x000C
    #define     B16ISA_SELx_LD_SP8S                            0x000C
    #define   LSb32ISA_SELx_LD_SP8S                               4
    #define   LSb16ISA_SELx_LD_SP8S                               4
    #define       bISA_SELx_LD_SP8S                            1
    #define   MSK32ISA_SELx_LD_SP8S                               0x00000010

    #define     BA_ISA_SELx_LD_SP8U                            0x000C
    #define     B16ISA_SELx_LD_SP8U                            0x000C
    #define   LSb32ISA_SELx_LD_SP8U                               5
    #define   LSb16ISA_SELx_LD_SP8U                               5
    #define       bISA_SELx_LD_SP8U                            1
    #define   MSK32ISA_SELx_LD_SP8U                               0x00000020

    #define     BA_ISA_SELx_LD_SP12S                           0x000C
    #define     B16ISA_SELx_LD_SP12S                           0x000C
    #define   LSb32ISA_SELx_LD_SP12S                              6
    #define   LSb16ISA_SELx_LD_SP12S                              6
    #define       bISA_SELx_LD_SP12S                           1
    #define   MSK32ISA_SELx_LD_SP12S                              0x00000040

    #define     BA_ISA_SELx_LD_SP16                            0x000C
    #define     B16ISA_SELx_LD_SP16                            0x000C
    #define   LSb32ISA_SELx_LD_SP16                               7
    #define   LSb16ISA_SELx_LD_SP16                               7
    #define       bISA_SELx_LD_SP16                            1
    #define   MSK32ISA_SELx_LD_SP16                               0x00000080

    #define     BA_ISA_SELx_LD_TPRF                            0x000D
    #define     B16ISA_SELx_LD_TPRF                            0x000C
    #define   LSb32ISA_SELx_LD_TPRF                               8
    #define   LSb16ISA_SELx_LD_TPRF                               8
    #define       bISA_SELx_LD_TPRF                            1
    #define   MSK32ISA_SELx_LD_TPRF                               0x00000100

    #define     BA_ISA_SELx_LD_TPJ                             0x000D
    #define     B16ISA_SELx_LD_TPJ                             0x000C
    #define   LSb32ISA_SELx_LD_TPJ                                9
    #define   LSb16ISA_SELx_LD_TPJ                                9
    #define       bISA_SELx_LD_TPJ                             1
    #define   MSK32ISA_SELx_LD_TPJ                                0x00000200

    #define     BA_ISA_SELx_LD_TP4S                            0x000D
    #define     B16ISA_SELx_LD_TP4S                            0x000C
    #define   LSb32ISA_SELx_LD_TP4S                               10
    #define   LSb16ISA_SELx_LD_TP4S                               10
    #define       bISA_SELx_LD_TP4S                            1
    #define   MSK32ISA_SELx_LD_TP4S                               0x00000400

    #define     BA_ISA_SELx_LD_TP8L                            0x000D
    #define     B16ISA_SELx_LD_TP8L                            0x000C
    #define   LSb32ISA_SELx_LD_TP8L                               11
    #define   LSb16ISA_SELx_LD_TP8L                               11
    #define       bISA_SELx_LD_TP8L                            1
    #define   MSK32ISA_SELx_LD_TP8L                               0x00000800

    #define     BA_ISA_SELx_LD_TP8H                            0x000D
    #define     B16ISA_SELx_LD_TP8H                            0x000C
    #define   LSb32ISA_SELx_LD_TP8H                               12
    #define   LSb16ISA_SELx_LD_TP8H                               12
    #define       bISA_SELx_LD_TP8H                            1
    #define   MSK32ISA_SELx_LD_TP8H                               0x00001000

    #define     BA_ISA_SELx_LD_TP8LF                           0x000D
    #define     B16ISA_SELx_LD_TP8LF                           0x000C
    #define   LSb32ISA_SELx_LD_TP8LF                              13
    #define   LSb16ISA_SELx_LD_TP8LF                              13
    #define       bISA_SELx_LD_TP8LF                           1
    #define   MSK32ISA_SELx_LD_TP8LF                              0x00002000

    #define     BA_ISA_SELx_LD_TP8HF                           0x000D
    #define     B16ISA_SELx_LD_TP8HF                           0x000C
    #define   LSb32ISA_SELx_LD_TP8HF                              14
    #define   LSb16ISA_SELx_LD_TP8HF                              14
    #define       bISA_SELx_LD_TP8HF                           1
    #define   MSK32ISA_SELx_LD_TP8HF                              0x00004000

    #define     BA_ISA_SELx_LD_SQRF64                          0x000D
    #define     B16ISA_SELx_LD_SQRF64                          0x000C
    #define   LSb32ISA_SELx_LD_SQRF64                             15
    #define   LSb16ISA_SELx_LD_SQRF64                             15
    #define       bISA_SELx_LD_SQRF64                          1
    #define   MSK32ISA_SELx_LD_SQRF64                             0x00008000

    #define     BA_ISA_SELx_LD_TQRF16Q                         0x000E
    #define     B16ISA_SELx_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_SELx_LD_TQRF16Q                            16
    #define   LSb16ISA_SELx_LD_TQRF16Q                            0
    #define       bISA_SELx_LD_TQRF16Q                         1
    #define   MSK32ISA_SELx_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_SELx_LD_TQRFx4                          0x000E
    #define     B16ISA_SELx_LD_TQRFx4                          0x000E
    #define   LSb32ISA_SELx_LD_TQRFx4                             17
    #define   LSb16ISA_SELx_LD_TQRFx4                             1
    #define       bISA_SELx_LD_TQRFx4                          1
    #define   MSK32ISA_SELx_LD_TQRFx4                             0x00020000

    #define     BA_ISA_SELx_LD_RD                              0x000E
    #define     B16ISA_SELx_LD_RD                              0x000E
    #define   LSb32ISA_SELx_LD_RD                                 18
    #define   LSb16ISA_SELx_LD_RD                                 2
    #define       bISA_SELx_LD_RD                              1
    #define   MSK32ISA_SELx_LD_RD                                 0x00040000

    #define     BA_ISA_SELx_LD_WARF                            0x000E
    #define     B16ISA_SELx_LD_WARF                            0x000E
    #define   LSb32ISA_SELx_LD_WARF                               19
    #define   LSb16ISA_SELx_LD_WARF                               3
    #define       bISA_SELx_LD_WARF                            1
    #define   MSK32ISA_SELx_LD_WARF                               0x00080000

    #define     BA_ISA_SELx_LD_WAK8                            0x000E
    #define     B16ISA_SELx_LD_WAK8                            0x000E
    #define   LSb32ISA_SELx_LD_WAK8                               20
    #define   LSb16ISA_SELx_LD_WAK8                               4
    #define       bISA_SELx_LD_WAK8                            1
    #define   MSK32ISA_SELx_LD_WAK8                               0x00100000

    #define     BA_ISA_SELx_LD_WAK16                           0x000E
    #define     B16ISA_SELx_LD_WAK16                           0x000E
    #define   LSb32ISA_SELx_LD_WAK16                              21
    #define   LSb16ISA_SELx_LD_WAK16                              5
    #define       bISA_SELx_LD_WAK16                           1
    #define   MSK32ISA_SELx_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_EX                                 0x0010

    #define     BA_ISA_SELx_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_SELx_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagZ                         0
    #define   LSb16ISA_SELx_EX_ALU16FlagZ                         0
    #define       bISA_SELx_EX_ALU16FlagZ                      1
    #define   MSK32ISA_SELx_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_SELx_EX_ALU16FlagC                      0x0010
    #define     B16ISA_SELx_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagC                         1
    #define   LSb16ISA_SELx_EX_ALU16FlagC                         1
    #define       bISA_SELx_EX_ALU16FlagC                      1
    #define   MSK32ISA_SELx_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_SELx_EX_ALU16FlagN                      0x0010
    #define     B16ISA_SELx_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagN                         2
    #define   LSb16ISA_SELx_EX_ALU16FlagN                         2
    #define       bISA_SELx_EX_ALU16FlagN                      1
    #define   MSK32ISA_SELx_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_SELx_EX_ALU16FlagV                      0x0010
    #define     B16ISA_SELx_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagV                         3
    #define   LSb16ISA_SELx_EX_ALU16FlagV                         3
    #define       bISA_SELx_EX_ALU16FlagV                      1
    #define   MSK32ISA_SELx_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_SELx_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_SELx_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagTP                        4
    #define   LSb16ISA_SELx_EX_ALU16FlagTP                        4
    #define       bISA_SELx_EX_ALU16FlagTP                     1
    #define   MSK32ISA_SELx_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_SELx_EX_ALU16MUL                        0x0010
    #define     B16ISA_SELx_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16MUL                           5
    #define   LSb16ISA_SELx_EX_ALU16MUL                           5
    #define       bISA_SELx_EX_ALU16MUL                        1
    #define   MSK32ISA_SELx_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_SELx_EX_ALU16DIV                        0x0010
    #define     B16ISA_SELx_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16DIV                           6
    #define   LSb16ISA_SELx_EX_ALU16DIV                           6
    #define       bISA_SELx_EX_ALU16DIV                        1
    #define   MSK32ISA_SELx_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_SELx_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_SELx_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_SELx_EX_ALU16FlagLD                        7
    #define   LSb16ISA_SELx_EX_ALU16FlagLD                        7
    #define       bISA_SELx_EX_ALU16FlagLD                     1
    #define   MSK32ISA_SELx_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_SELx_EX_ALU16MDL                        0x0011
    #define     B16ISA_SELx_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16MDL                           8
    #define   LSb16ISA_SELx_EX_ALU16MDL                           8
    #define       bISA_SELx_EX_ALU16MDL                        1
    #define   MSK32ISA_SELx_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_SELx_EX_ALU16MDH                        0x0011
    #define     B16ISA_SELx_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16MDH                           9
    #define   LSb16ISA_SELx_EX_ALU16MDH                           9
    #define       bISA_SELx_EX_ALU16MDH                        1
    #define   MSK32ISA_SELx_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_SELx_EX_ALU16ADD                        0x0011
    #define     B16ISA_SELx_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16ADD                           10
    #define   LSb16ISA_SELx_EX_ALU16ADD                           10
    #define       bISA_SELx_EX_ALU16ADD                        1
    #define   MSK32ISA_SELx_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_SELx_EX_ALU16SUB                        0x0011
    #define     B16ISA_SELx_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16SUB                           11
    #define   LSb16ISA_SELx_EX_ALU16SUB                           11
    #define       bISA_SELx_EX_ALU16SUB                        1
    #define   MSK32ISA_SELx_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_SELx_EX_ALU16ADDC                       0x0011
    #define     B16ISA_SELx_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_SELx_EX_ALU16ADDC                          12
    #define   LSb16ISA_SELx_EX_ALU16ADDC                          12
    #define       bISA_SELx_EX_ALU16ADDC                       1
    #define   MSK32ISA_SELx_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_SELx_EX_ALU16SUBC                       0x0011
    #define     B16ISA_SELx_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_SELx_EX_ALU16SUBC                          13
    #define   LSb16ISA_SELx_EX_ALU16SUBC                          13
    #define       bISA_SELx_EX_ALU16SUBC                       1
    #define   MSK32ISA_SELx_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_SELx_EX_ALU16ASR                        0x0011
    #define     B16ISA_SELx_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_SELx_EX_ALU16ASR                           14
    #define   LSb16ISA_SELx_EX_ALU16ASR                           14
    #define       bISA_SELx_EX_ALU16ASR                        1
    #define   MSK32ISA_SELx_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_SELx_EX_ALU16SL                         0x0011
    #define     B16ISA_SELx_EX_ALU16SL                         0x0010
    #define   LSb32ISA_SELx_EX_ALU16SL                            15
    #define   LSb16ISA_SELx_EX_ALU16SL                            15
    #define       bISA_SELx_EX_ALU16SL                         1
    #define   MSK32ISA_SELx_EX_ALU16SL                            0x00008000

    #define     BA_ISA_SELx_EX_ALU16SR                         0x0012
    #define     B16ISA_SELx_EX_ALU16SR                         0x0012
    #define   LSb32ISA_SELx_EX_ALU16SR                            16
    #define   LSb16ISA_SELx_EX_ALU16SR                            0
    #define       bISA_SELx_EX_ALU16SR                         1
    #define   MSK32ISA_SELx_EX_ALU16SR                            0x00010000

    #define     BA_ISA_SELx_EX_ALU16GET                        0x0012
    #define     B16ISA_SELx_EX_ALU16GET                        0x0012
    #define   LSb32ISA_SELx_EX_ALU16GET                           17
    #define   LSb16ISA_SELx_EX_ALU16GET                           1
    #define       bISA_SELx_EX_ALU16GET                        1
    #define   MSK32ISA_SELx_EX_ALU16GET                           0x00020000

    #define     BA_ISA_SELx_EX_ALU16SET                        0x0012
    #define     B16ISA_SELx_EX_ALU16SET                        0x0012
    #define   LSb32ISA_SELx_EX_ALU16SET                           18
    #define   LSb16ISA_SELx_EX_ALU16SET                           2
    #define       bISA_SELx_EX_ALU16SET                        1
    #define   MSK32ISA_SELx_EX_ALU16SET                           0x00040000

    #define     BA_ISA_SELx_EX_ALU16SEL                        0x0012
    #define     B16ISA_SELx_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_SELx_EX_ALU16SEL                           19
    #define   LSb16ISA_SELx_EX_ALU16SEL                           3
    #define       bISA_SELx_EX_ALU16SEL                        1
    #define   MSK32ISA_SELx_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_SELx_EX_ALU16OR                         0x0012
    #define     B16ISA_SELx_EX_ALU16OR                         0x0012
    #define   LSb32ISA_SELx_EX_ALU16OR                            20
    #define   LSb16ISA_SELx_EX_ALU16OR                            4
    #define       bISA_SELx_EX_ALU16OR                         1
    #define   MSK32ISA_SELx_EX_ALU16OR                            0x00100000

    #define     BA_ISA_SELx_EX_ALU16AND                        0x0012
    #define     B16ISA_SELx_EX_ALU16AND                        0x0012
    #define   LSb32ISA_SELx_EX_ALU16AND                           21
    #define   LSb16ISA_SELx_EX_ALU16AND                           5
    #define       bISA_SELx_EX_ALU16AND                        1
    #define   MSK32ISA_SELx_EX_ALU16AND                           0x00200000

    #define     BA_ISA_SELx_EX_ALU16XOR                        0x0012
    #define     B16ISA_SELx_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_SELx_EX_ALU16XOR                           22
    #define   LSb16ISA_SELx_EX_ALU16XOR                           6
    #define       bISA_SELx_EX_ALU16XOR                        1
    #define   MSK32ISA_SELx_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_SELx_EX_ALU16SP                         0x0012
    #define     B16ISA_SELx_EX_ALU16SP                         0x0012
    #define   LSb32ISA_SELx_EX_ALU16SP                            23
    #define   LSb16ISA_SELx_EX_ALU16SP                            7
    #define       bISA_SELx_EX_ALU16SP                         1
    #define   MSK32ISA_SELx_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_EXX                                0x0014

    #define     BA_ISA_SELx_EXX_WRSQ                           0x0014
    #define     B16ISA_SELx_EXX_WRSQ                           0x0014
    #define   LSb32ISA_SELx_EXX_WRSQ                              0
    #define   LSb16ISA_SELx_EXX_WRSQ                              0
    #define       bISA_SELx_EXX_WRSQ                           1
    #define   MSK32ISA_SELx_EXX_WRSQ                              0x00000001

    #define     BA_ISA_SELx_EXX_WR16                           0x0014
    #define     B16ISA_SELx_EXX_WR16                           0x0014
    #define   LSb32ISA_SELx_EXX_WR16                              1
    #define   LSb16ISA_SELx_EXX_WR16                              1
    #define       bISA_SELx_EXX_WR16                           1
    #define   MSK32ISA_SELx_EXX_WR16                              0x00000002

    #define     BA_ISA_SELx_EXX_WRTQ                           0x0014
    #define     B16ISA_SELx_EXX_WRTQ                           0x0014
    #define   LSb32ISA_SELx_EXX_WRTQ                              2
    #define   LSb16ISA_SELx_EXX_WRTQ                              2
    #define       bISA_SELx_EXX_WRTQ                           1
    #define   MSK32ISA_SELx_EXX_WRTQ                              0x00000004

    #define     BA_ISA_SELx_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_SELx_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_SELx_EXX_ALU64PUSH                         3
    #define   LSb16ISA_SELx_EXX_ALU64PUSH                         3
    #define       bISA_SELx_EXX_ALU64PUSH                      1
    #define   MSK32ISA_SELx_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_SELx_EXX_ALU64POP                       0x0014
    #define     B16ISA_SELx_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_SELx_EXX_ALU64POP                          4
    #define   LSb16ISA_SELx_EXX_ALU64POP                          4
    #define       bISA_SELx_EXX_ALU64POP                       1
    #define   MSK32ISA_SELx_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_SELx_EXX_ALU64SQ                        0x0014
    #define     B16ISA_SELx_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_SELx_EXX_ALU64SQ                           5
    #define   LSb16ISA_SELx_EXX_ALU64SQ                           5
    #define       bISA_SELx_EXX_ALU64SQ                        1
    #define   MSK32ISA_SELx_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_SELx_EXX_ALU64TQ                        0x0014
    #define     B16ISA_SELx_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_SELx_EXX_ALU64TQ                           6
    #define   LSb16ISA_SELx_EXX_ALU64TQ                           6
    #define       bISA_SELx_EXX_ALU64TQ                        1
    #define   MSK32ISA_SELx_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_SELx_EXX_ALU64MEM                       0x0014
    #define     B16ISA_SELx_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_SELx_EXX_ALU64MEM                          7
    #define   LSb16ISA_SELx_EXX_ALU64MEM                          7
    #define       bISA_SELx_EXX_ALU64MEM                       1
    #define   MSK32ISA_SELx_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_SELx_EXX_BRANCH                         0x0015
    #define     B16ISA_SELx_EXX_BRANCH                         0x0014
    #define   LSb32ISA_SELx_EXX_BRANCH                            8
    #define   LSb16ISA_SELx_EXX_BRANCH                            8
    #define       bISA_SELx_EXX_BRANCH                         1
    #define   MSK32ISA_SELx_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELx_WB                                 0x0018

    #define     BA_ISA_SELx_WB_RF16                            0x0018
    #define     B16ISA_SELx_WB_RF16                            0x0018
    #define   LSb32ISA_SELx_WB_RF16                               0
    #define   LSb16ISA_SELx_WB_RF16                               0
    #define       bISA_SELx_WB_RF16                            1
    #define   MSK32ISA_SELx_WB_RF16                               0x00000001

    #define     BA_ISA_SELx_WB_RF16W0                          0x0018
    #define     B16ISA_SELx_WB_RF16W0                          0x0018
    #define   LSb32ISA_SELx_WB_RF16W0                             1
    #define   LSb16ISA_SELx_WB_RF16W0                             1
    #define       bISA_SELx_WB_RF16W0                          1
    #define   MSK32ISA_SELx_WB_RF16W0                             0x00000002

    #define     BA_ISA_SELx_WB_RF16MEM                         0x0018
    #define     B16ISA_SELx_WB_RF16MEM                         0x0018
    #define   LSb32ISA_SELx_WB_RF16MEM                            2
    #define   LSb16ISA_SELx_WB_RF16MEM                            2
    #define       bISA_SELx_WB_RF16MEM                         1
    #define   MSK32ISA_SELx_WB_RF16MEM                            0x00000004

    #define     BA_ISA_SELx_WB_RF16Q                           0x0018
    #define     B16ISA_SELx_WB_RF16Q                           0x0018
    #define   LSb32ISA_SELx_WB_RF16Q                              3
    #define   LSb16ISA_SELx_WB_RF16Q                              3
    #define       bISA_SELx_WB_RF16Q                           1
    #define   MSK32ISA_SELx_WB_RF16Q                              0x00000008

    #define     BA_ISA_SELx_WB_RF64                            0x0018
    #define     B16ISA_SELx_WB_RF64                            0x0018
    #define   LSb32ISA_SELx_WB_RF64                               4
    #define   LSb16ISA_SELx_WB_RF64                               4
    #define       bISA_SELx_WB_RF64                            1
    #define   MSK32ISA_SELx_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SELx {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SELx_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SELx_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SELx_Mask;
            struct w32ISA_SELx_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_SELx_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_SELx_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SELx_Opcode;
            struct w32ISA_SELx_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELx_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELx_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELx_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELx_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELx_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELx_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELx_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELx_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELx_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELx_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELx_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELx_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELx_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELx_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELx_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELx_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELx_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELx_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELx_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELx_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SELx_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SELx_ID;
            struct w32ISA_SELx_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELx_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELx_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELx_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELx_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELx_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELx_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELx_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELx_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELx_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELx_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELx_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELx_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELx_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELx_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELx_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELx_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELx_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELx_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELx_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELx_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELx_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELx_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELx_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELx_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SELx_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_SELx_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SELx_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_SELx_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SELx_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_SELx_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_SELx_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_SELx_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_SELx_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_SELx_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_SELx_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_SELx_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_SELx_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_SELx_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_SELx_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_SELx_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_SELx_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_SELx_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_SELx_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_SELx_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_SELx_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_SELx_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_SELx_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_SELx_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_SELx_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SELx_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SELx_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SELx_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SELx_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SELx_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SELx_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SELx_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SELx_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_SELx_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_SELx_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_SELx_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_SELx_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_SELx_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_SELx_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_SELx_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_SELx_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SELx_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SELx_LD;
            struct w32ISA_SELx_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELx_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELx_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELx_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELx_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELx_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELx_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELx_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELx_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELx_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELx_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELx_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELx_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELx_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELx_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELx_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELx_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELx_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELx_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELx_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELx_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELx_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELx_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELx_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELx_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SELx_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_SELx_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SELx_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_SELx_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SELx_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_SELx_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_SELx_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_SELx_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_SELx_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_SELx_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_SELx_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_SELx_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_SELx_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_SELx_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_SELx_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_SELx_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_SELx_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_SELx_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_SELx_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_SELx_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_SELx_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_SELx_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_SELx_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_SELx_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_SELx_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_SELx_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_SELx_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_SELx_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_SELx_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SELx_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SELx_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_SELx_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_SELx_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_SELx_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_SELx_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_SELx_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_SELx_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_SELx_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_SELx_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_SELx_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_SELx_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELx_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_SELx_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_SELx_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELx_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELx_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_SELx_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_SELx_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELx_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SELx_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SELx_EX;
            struct w32ISA_SELx_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELx_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELx_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELx_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELx_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELx_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELx_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELx_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELx_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELx_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELx_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELx_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELx_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELx_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELx_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELx_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELx_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELx_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELx_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELx_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELx_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELx_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELx_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELx_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELx_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELx_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELx_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SELx_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SELx_EXX;
            struct w32ISA_SELx_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELx_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELx_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELx_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELx_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELx_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELx_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELx_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELx_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELx_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELx_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELx_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELx_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELx_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELx_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELx_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELx_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELx_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELx_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELx_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELx_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SELx_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SELx_WB;
            struct w32ISA_SELx_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SELx;

    typedef union  T32ISA_SELx_Mask
          { UNSG32 u32;
            struct w32ISA_SELx_Mask;
                 } T32ISA_SELx_Mask;
    typedef union  T32ISA_SELx_Opcode
          { UNSG32 u32;
            struct w32ISA_SELx_Opcode;
                 } T32ISA_SELx_Opcode;
    typedef union  T32ISA_SELx_ID
          { UNSG32 u32;
            struct w32ISA_SELx_ID;
                 } T32ISA_SELx_ID;
    typedef union  T32ISA_SELx_LD
          { UNSG32 u32;
            struct w32ISA_SELx_LD;
                 } T32ISA_SELx_LD;
    typedef union  T32ISA_SELx_EX
          { UNSG32 u32;
            struct w32ISA_SELx_EX;
                 } T32ISA_SELx_EX;
    typedef union  T32ISA_SELx_EXX
          { UNSG32 u32;
            struct w32ISA_SELx_EXX;
                 } T32ISA_SELx_EXX;
    typedef union  T32ISA_SELx_WB
          { UNSG32 u32;
            struct w32ISA_SELx_WB;
                 } T32ISA_SELx_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SELx_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_Mask;
                   };
                 } TISA_SELx_Mask;
    typedef union  TISA_SELx_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_Opcode;
                   };
                 } TISA_SELx_Opcode;
    typedef union  TISA_SELx_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_ID;
                   };
                 } TISA_SELx_ID;
    typedef union  TISA_SELx_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_LD;
                   };
                 } TISA_SELx_LD;
    typedef union  TISA_SELx_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_EX;
                   };
                 } TISA_SELx_EX;
    typedef union  TISA_SELx_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_EXX;
                   };
                 } TISA_SELx_EXX;
    typedef union  TISA_SELx_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELx_WB;
                   };
                 } TISA_SELx_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SELx_drvrd(SIE_ISA_SELx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SELx_drvwr(SIE_ISA_SELx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SELx_reset(SIE_ISA_SELx *p);
     SIGN32 ISA_SELx_cmp  (SIE_ISA_SELx *p, SIE_ISA_SELx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SELx_check(p,pie,pfx,hLOG) ISA_SELx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SELx_print(p,    pfx,hLOG) ISA_SELx_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SELx
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SEL                                  (4,4)
///     ###
///     * Conditional select a register from 2 other registers.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x40000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SEL"     , "rD,C,rS,rT" , "0000 0100 SSSS CCCC TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    CMP      %b1, %a1        ; %d1 = (%b1 > %a1) ? %b1 : %a1;
///                                    * -    SEL      %d1, `GS, %b1, %a1
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  0x1
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SEL
#define h_ISA_SEL (){}

    #define     RA_ISA_SEL_Mask                                0x0000

    #define     BA_ISA_SEL_Mask_INS                            0x0000
    #define     B16ISA_SEL_Mask_INS                            0x0000
    #define   LSb32ISA_SEL_Mask_INS                               0
    #define   LSb16ISA_SEL_Mask_INS                               0
    #define       bISA_SEL_Mask_INS                            24
    #define   MSK32ISA_SEL_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_Opcode                              0x0004

    #define     BA_ISA_SEL_Opcode_INS                          0x0004
    #define     B16ISA_SEL_Opcode_INS                          0x0004
    #define   LSb32ISA_SEL_Opcode_INS                             0
    #define   LSb16ISA_SEL_Opcode_INS                             0
    #define       bISA_SEL_Opcode_INS                          24
    #define   MSK32ISA_SEL_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_ID                                  0x0008

    #define     BA_ISA_SEL_ID_RBRF                             0x0008
    #define     B16ISA_SEL_ID_RBRF                             0x0008
    #define   LSb32ISA_SEL_ID_RBRF                                0
    #define   LSb16ISA_SEL_ID_RBRF                                0
    #define       bISA_SEL_ID_RBRF                             1
    #define   MSK32ISA_SEL_ID_RBRF                                0x00000001

    #define     BA_ISA_SEL_ID_RARF                             0x0008
    #define     B16ISA_SEL_ID_RARF                             0x0008
    #define   LSb32ISA_SEL_ID_RARF                                1
    #define   LSb16ISA_SEL_ID_RARF                                1
    #define       bISA_SEL_ID_RARF                             1
    #define   MSK32ISA_SEL_ID_RARF                                0x00000002

    #define     BA_ISA_SEL_ID_RAK8                             0x0008
    #define     B16ISA_SEL_ID_RAK8                             0x0008
    #define   LSb32ISA_SEL_ID_RAK8                                2
    #define   LSb16ISA_SEL_ID_RAK8                                2
    #define       bISA_SEL_ID_RAK8                             1
    #define   MSK32ISA_SEL_ID_RAK8                                0x00000004

    #define     BA_ISA_SEL_ID_RAI16                            0x0008
    #define     B16ISA_SEL_ID_RAI16                            0x0008
    #define   LSb32ISA_SEL_ID_RAI16                               3
    #define   LSb16ISA_SEL_ID_RAI16                               3
    #define       bISA_SEL_ID_RAI16                            1
    #define   MSK32ISA_SEL_ID_RAI16                               0x00000008

    #define     BA_ISA_SEL_ID_RAK16                            0x0008
    #define     B16ISA_SEL_ID_RAK16                            0x0008
    #define   LSb32ISA_SEL_ID_RAK16                               4
    #define   LSb16ISA_SEL_ID_RAK16                               4
    #define       bISA_SEL_ID_RAK16                            1
    #define   MSK32ISA_SEL_ID_RAK16                               0x00000010

    #define     BA_ISA_SEL_ID_RFSP                             0x0008
    #define     B16ISA_SEL_ID_RFSP                             0x0008
    #define   LSb32ISA_SEL_ID_RFSP                                5
    #define   LSb16ISA_SEL_ID_RFSP                                5
    #define       bISA_SEL_ID_RFSP                             1
    #define   MSK32ISA_SEL_ID_RFSP                                0x00000020

    #define     BA_ISA_SEL_ID_W4D4                             0x0008
    #define     B16ISA_SEL_ID_W4D4                             0x0008
    #define   LSb32ISA_SEL_ID_W4D4                                6
    #define   LSb16ISA_SEL_ID_W4D4                                6
    #define       bISA_SEL_ID_W4D4                             1
    #define   MSK32ISA_SEL_ID_W4D4                                0x00000040

    #define     BA_ISA_SEL_ID_W4S4                             0x0008
    #define     B16ISA_SEL_ID_W4S4                             0x0008
    #define   LSb32ISA_SEL_ID_W4S4                                7
    #define   LSb16ISA_SEL_ID_W4S4                                7
    #define       bISA_SEL_ID_W4S4                             1
    #define   MSK32ISA_SEL_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_LD                                  0x000C

    #define     BA_ISA_SEL_LD_SPRF                             0x000C
    #define     B16ISA_SEL_LD_SPRF                             0x000C
    #define   LSb32ISA_SEL_LD_SPRF                                0
    #define   LSb16ISA_SEL_LD_SPRF                                0
    #define       bISA_SEL_LD_SPRF                             1
    #define   MSK32ISA_SEL_LD_SPRF                                0x00000001

    #define     BA_ISA_SEL_LD_SPK8                             0x000C
    #define     B16ISA_SEL_LD_SPK8                             0x000C
    #define   LSb32ISA_SEL_LD_SPK8                                1
    #define   LSb16ISA_SEL_LD_SPK8                                1
    #define       bISA_SEL_LD_SPK8                             1
    #define   MSK32ISA_SEL_LD_SPK8                                0x00000002

    #define     BA_ISA_SEL_LD_SPJ                              0x000C
    #define     B16ISA_SEL_LD_SPJ                              0x000C
    #define   LSb32ISA_SEL_LD_SPJ                                 2
    #define   LSb16ISA_SEL_LD_SPJ                                 2
    #define       bISA_SEL_LD_SPJ                              1
    #define   MSK32ISA_SEL_LD_SPJ                                 0x00000004

    #define     BA_ISA_SEL_LD_SP4S                             0x000C
    #define     B16ISA_SEL_LD_SP4S                             0x000C
    #define   LSb32ISA_SEL_LD_SP4S                                3
    #define   LSb16ISA_SEL_LD_SP4S                                3
    #define       bISA_SEL_LD_SP4S                             1
    #define   MSK32ISA_SEL_LD_SP4S                                0x00000008

    #define     BA_ISA_SEL_LD_SP8S                             0x000C
    #define     B16ISA_SEL_LD_SP8S                             0x000C
    #define   LSb32ISA_SEL_LD_SP8S                                4
    #define   LSb16ISA_SEL_LD_SP8S                                4
    #define       bISA_SEL_LD_SP8S                             1
    #define   MSK32ISA_SEL_LD_SP8S                                0x00000010

    #define     BA_ISA_SEL_LD_SP8U                             0x000C
    #define     B16ISA_SEL_LD_SP8U                             0x000C
    #define   LSb32ISA_SEL_LD_SP8U                                5
    #define   LSb16ISA_SEL_LD_SP8U                                5
    #define       bISA_SEL_LD_SP8U                             1
    #define   MSK32ISA_SEL_LD_SP8U                                0x00000020

    #define     BA_ISA_SEL_LD_SP12S                            0x000C
    #define     B16ISA_SEL_LD_SP12S                            0x000C
    #define   LSb32ISA_SEL_LD_SP12S                               6
    #define   LSb16ISA_SEL_LD_SP12S                               6
    #define       bISA_SEL_LD_SP12S                            1
    #define   MSK32ISA_SEL_LD_SP12S                               0x00000040

    #define     BA_ISA_SEL_LD_SP16                             0x000C
    #define     B16ISA_SEL_LD_SP16                             0x000C
    #define   LSb32ISA_SEL_LD_SP16                                7
    #define   LSb16ISA_SEL_LD_SP16                                7
    #define       bISA_SEL_LD_SP16                             1
    #define   MSK32ISA_SEL_LD_SP16                                0x00000080

    #define     BA_ISA_SEL_LD_TPRF                             0x000D
    #define     B16ISA_SEL_LD_TPRF                             0x000C
    #define   LSb32ISA_SEL_LD_TPRF                                8
    #define   LSb16ISA_SEL_LD_TPRF                                8
    #define       bISA_SEL_LD_TPRF                             1
    #define   MSK32ISA_SEL_LD_TPRF                                0x00000100

    #define     BA_ISA_SEL_LD_TPJ                              0x000D
    #define     B16ISA_SEL_LD_TPJ                              0x000C
    #define   LSb32ISA_SEL_LD_TPJ                                 9
    #define   LSb16ISA_SEL_LD_TPJ                                 9
    #define       bISA_SEL_LD_TPJ                              1
    #define   MSK32ISA_SEL_LD_TPJ                                 0x00000200

    #define     BA_ISA_SEL_LD_TP4S                             0x000D
    #define     B16ISA_SEL_LD_TP4S                             0x000C
    #define   LSb32ISA_SEL_LD_TP4S                                10
    #define   LSb16ISA_SEL_LD_TP4S                                10
    #define       bISA_SEL_LD_TP4S                             1
    #define   MSK32ISA_SEL_LD_TP4S                                0x00000400

    #define     BA_ISA_SEL_LD_TP8L                             0x000D
    #define     B16ISA_SEL_LD_TP8L                             0x000C
    #define   LSb32ISA_SEL_LD_TP8L                                11
    #define   LSb16ISA_SEL_LD_TP8L                                11
    #define       bISA_SEL_LD_TP8L                             1
    #define   MSK32ISA_SEL_LD_TP8L                                0x00000800

    #define     BA_ISA_SEL_LD_TP8H                             0x000D
    #define     B16ISA_SEL_LD_TP8H                             0x000C
    #define   LSb32ISA_SEL_LD_TP8H                                12
    #define   LSb16ISA_SEL_LD_TP8H                                12
    #define       bISA_SEL_LD_TP8H                             1
    #define   MSK32ISA_SEL_LD_TP8H                                0x00001000

    #define     BA_ISA_SEL_LD_TP8LF                            0x000D
    #define     B16ISA_SEL_LD_TP8LF                            0x000C
    #define   LSb32ISA_SEL_LD_TP8LF                               13
    #define   LSb16ISA_SEL_LD_TP8LF                               13
    #define       bISA_SEL_LD_TP8LF                            1
    #define   MSK32ISA_SEL_LD_TP8LF                               0x00002000

    #define     BA_ISA_SEL_LD_TP8HF                            0x000D
    #define     B16ISA_SEL_LD_TP8HF                            0x000C
    #define   LSb32ISA_SEL_LD_TP8HF                               14
    #define   LSb16ISA_SEL_LD_TP8HF                               14
    #define       bISA_SEL_LD_TP8HF                            1
    #define   MSK32ISA_SEL_LD_TP8HF                               0x00004000

    #define     BA_ISA_SEL_LD_SQRF64                           0x000D
    #define     B16ISA_SEL_LD_SQRF64                           0x000C
    #define   LSb32ISA_SEL_LD_SQRF64                              15
    #define   LSb16ISA_SEL_LD_SQRF64                              15
    #define       bISA_SEL_LD_SQRF64                           1
    #define   MSK32ISA_SEL_LD_SQRF64                              0x00008000

    #define     BA_ISA_SEL_LD_TQRF16Q                          0x000E
    #define     B16ISA_SEL_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_SEL_LD_TQRF16Q                             16
    #define   LSb16ISA_SEL_LD_TQRF16Q                             0
    #define       bISA_SEL_LD_TQRF16Q                          1
    #define   MSK32ISA_SEL_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_SEL_LD_TQRFx4                           0x000E
    #define     B16ISA_SEL_LD_TQRFx4                           0x000E
    #define   LSb32ISA_SEL_LD_TQRFx4                              17
    #define   LSb16ISA_SEL_LD_TQRFx4                              1
    #define       bISA_SEL_LD_TQRFx4                           1
    #define   MSK32ISA_SEL_LD_TQRFx4                              0x00020000

    #define     BA_ISA_SEL_LD_RD                               0x000E
    #define     B16ISA_SEL_LD_RD                               0x000E
    #define   LSb32ISA_SEL_LD_RD                                  18
    #define   LSb16ISA_SEL_LD_RD                                  2
    #define       bISA_SEL_LD_RD                               1
    #define   MSK32ISA_SEL_LD_RD                                  0x00040000

    #define     BA_ISA_SEL_LD_WARF                             0x000E
    #define     B16ISA_SEL_LD_WARF                             0x000E
    #define   LSb32ISA_SEL_LD_WARF                                19
    #define   LSb16ISA_SEL_LD_WARF                                3
    #define       bISA_SEL_LD_WARF                             1
    #define   MSK32ISA_SEL_LD_WARF                                0x00080000

    #define     BA_ISA_SEL_LD_WAK8                             0x000E
    #define     B16ISA_SEL_LD_WAK8                             0x000E
    #define   LSb32ISA_SEL_LD_WAK8                                20
    #define   LSb16ISA_SEL_LD_WAK8                                4
    #define       bISA_SEL_LD_WAK8                             1
    #define   MSK32ISA_SEL_LD_WAK8                                0x00100000

    #define     BA_ISA_SEL_LD_WAK16                            0x000E
    #define     B16ISA_SEL_LD_WAK16                            0x000E
    #define   LSb32ISA_SEL_LD_WAK16                               21
    #define   LSb16ISA_SEL_LD_WAK16                               5
    #define       bISA_SEL_LD_WAK16                            1
    #define   MSK32ISA_SEL_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_EX                                  0x0010

    #define     BA_ISA_SEL_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_SEL_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagZ                          0
    #define   LSb16ISA_SEL_EX_ALU16FlagZ                          0
    #define       bISA_SEL_EX_ALU16FlagZ                       1
    #define   MSK32ISA_SEL_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_SEL_EX_ALU16FlagC                       0x0010
    #define     B16ISA_SEL_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagC                          1
    #define   LSb16ISA_SEL_EX_ALU16FlagC                          1
    #define       bISA_SEL_EX_ALU16FlagC                       1
    #define   MSK32ISA_SEL_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_SEL_EX_ALU16FlagN                       0x0010
    #define     B16ISA_SEL_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagN                          2
    #define   LSb16ISA_SEL_EX_ALU16FlagN                          2
    #define       bISA_SEL_EX_ALU16FlagN                       1
    #define   MSK32ISA_SEL_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_SEL_EX_ALU16FlagV                       0x0010
    #define     B16ISA_SEL_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagV                          3
    #define   LSb16ISA_SEL_EX_ALU16FlagV                          3
    #define       bISA_SEL_EX_ALU16FlagV                       1
    #define   MSK32ISA_SEL_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_SEL_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_SEL_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagTP                         4
    #define   LSb16ISA_SEL_EX_ALU16FlagTP                         4
    #define       bISA_SEL_EX_ALU16FlagTP                      1
    #define   MSK32ISA_SEL_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_SEL_EX_ALU16MUL                         0x0010
    #define     B16ISA_SEL_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16MUL                            5
    #define   LSb16ISA_SEL_EX_ALU16MUL                            5
    #define       bISA_SEL_EX_ALU16MUL                         1
    #define   MSK32ISA_SEL_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_SEL_EX_ALU16DIV                         0x0010
    #define     B16ISA_SEL_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16DIV                            6
    #define   LSb16ISA_SEL_EX_ALU16DIV                            6
    #define       bISA_SEL_EX_ALU16DIV                         1
    #define   MSK32ISA_SEL_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_SEL_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_SEL_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_SEL_EX_ALU16FlagLD                         7
    #define   LSb16ISA_SEL_EX_ALU16FlagLD                         7
    #define       bISA_SEL_EX_ALU16FlagLD                      1
    #define   MSK32ISA_SEL_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_SEL_EX_ALU16MDL                         0x0011
    #define     B16ISA_SEL_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16MDL                            8
    #define   LSb16ISA_SEL_EX_ALU16MDL                            8
    #define       bISA_SEL_EX_ALU16MDL                         1
    #define   MSK32ISA_SEL_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_SEL_EX_ALU16MDH                         0x0011
    #define     B16ISA_SEL_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16MDH                            9
    #define   LSb16ISA_SEL_EX_ALU16MDH                            9
    #define       bISA_SEL_EX_ALU16MDH                         1
    #define   MSK32ISA_SEL_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_SEL_EX_ALU16ADD                         0x0011
    #define     B16ISA_SEL_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16ADD                            10
    #define   LSb16ISA_SEL_EX_ALU16ADD                            10
    #define       bISA_SEL_EX_ALU16ADD                         1
    #define   MSK32ISA_SEL_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_SEL_EX_ALU16SUB                         0x0011
    #define     B16ISA_SEL_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16SUB                            11
    #define   LSb16ISA_SEL_EX_ALU16SUB                            11
    #define       bISA_SEL_EX_ALU16SUB                         1
    #define   MSK32ISA_SEL_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_SEL_EX_ALU16ADDC                        0x0011
    #define     B16ISA_SEL_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_SEL_EX_ALU16ADDC                           12
    #define   LSb16ISA_SEL_EX_ALU16ADDC                           12
    #define       bISA_SEL_EX_ALU16ADDC                        1
    #define   MSK32ISA_SEL_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_SEL_EX_ALU16SUBC                        0x0011
    #define     B16ISA_SEL_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_SEL_EX_ALU16SUBC                           13
    #define   LSb16ISA_SEL_EX_ALU16SUBC                           13
    #define       bISA_SEL_EX_ALU16SUBC                        1
    #define   MSK32ISA_SEL_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_SEL_EX_ALU16ASR                         0x0011
    #define     B16ISA_SEL_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_SEL_EX_ALU16ASR                            14
    #define   LSb16ISA_SEL_EX_ALU16ASR                            14
    #define       bISA_SEL_EX_ALU16ASR                         1
    #define   MSK32ISA_SEL_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_SEL_EX_ALU16SL                          0x0011
    #define     B16ISA_SEL_EX_ALU16SL                          0x0010
    #define   LSb32ISA_SEL_EX_ALU16SL                             15
    #define   LSb16ISA_SEL_EX_ALU16SL                             15
    #define       bISA_SEL_EX_ALU16SL                          1
    #define   MSK32ISA_SEL_EX_ALU16SL                             0x00008000

    #define     BA_ISA_SEL_EX_ALU16SR                          0x0012
    #define     B16ISA_SEL_EX_ALU16SR                          0x0012
    #define   LSb32ISA_SEL_EX_ALU16SR                             16
    #define   LSb16ISA_SEL_EX_ALU16SR                             0
    #define       bISA_SEL_EX_ALU16SR                          1
    #define   MSK32ISA_SEL_EX_ALU16SR                             0x00010000

    #define     BA_ISA_SEL_EX_ALU16GET                         0x0012
    #define     B16ISA_SEL_EX_ALU16GET                         0x0012
    #define   LSb32ISA_SEL_EX_ALU16GET                            17
    #define   LSb16ISA_SEL_EX_ALU16GET                            1
    #define       bISA_SEL_EX_ALU16GET                         1
    #define   MSK32ISA_SEL_EX_ALU16GET                            0x00020000

    #define     BA_ISA_SEL_EX_ALU16SET                         0x0012
    #define     B16ISA_SEL_EX_ALU16SET                         0x0012
    #define   LSb32ISA_SEL_EX_ALU16SET                            18
    #define   LSb16ISA_SEL_EX_ALU16SET                            2
    #define       bISA_SEL_EX_ALU16SET                         1
    #define   MSK32ISA_SEL_EX_ALU16SET                            0x00040000

    #define     BA_ISA_SEL_EX_ALU16SEL                         0x0012
    #define     B16ISA_SEL_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_SEL_EX_ALU16SEL                            19
    #define   LSb16ISA_SEL_EX_ALU16SEL                            3
    #define       bISA_SEL_EX_ALU16SEL                         1
    #define   MSK32ISA_SEL_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_SEL_EX_ALU16OR                          0x0012
    #define     B16ISA_SEL_EX_ALU16OR                          0x0012
    #define   LSb32ISA_SEL_EX_ALU16OR                             20
    #define   LSb16ISA_SEL_EX_ALU16OR                             4
    #define       bISA_SEL_EX_ALU16OR                          1
    #define   MSK32ISA_SEL_EX_ALU16OR                             0x00100000

    #define     BA_ISA_SEL_EX_ALU16AND                         0x0012
    #define     B16ISA_SEL_EX_ALU16AND                         0x0012
    #define   LSb32ISA_SEL_EX_ALU16AND                            21
    #define   LSb16ISA_SEL_EX_ALU16AND                            5
    #define       bISA_SEL_EX_ALU16AND                         1
    #define   MSK32ISA_SEL_EX_ALU16AND                            0x00200000

    #define     BA_ISA_SEL_EX_ALU16XOR                         0x0012
    #define     B16ISA_SEL_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_SEL_EX_ALU16XOR                            22
    #define   LSb16ISA_SEL_EX_ALU16XOR                            6
    #define       bISA_SEL_EX_ALU16XOR                         1
    #define   MSK32ISA_SEL_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_SEL_EX_ALU16SP                          0x0012
    #define     B16ISA_SEL_EX_ALU16SP                          0x0012
    #define   LSb32ISA_SEL_EX_ALU16SP                             23
    #define   LSb16ISA_SEL_EX_ALU16SP                             7
    #define       bISA_SEL_EX_ALU16SP                          1
    #define   MSK32ISA_SEL_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_EXX                                 0x0014

    #define     BA_ISA_SEL_EXX_WRSQ                            0x0014
    #define     B16ISA_SEL_EXX_WRSQ                            0x0014
    #define   LSb32ISA_SEL_EXX_WRSQ                               0
    #define   LSb16ISA_SEL_EXX_WRSQ                               0
    #define       bISA_SEL_EXX_WRSQ                            1
    #define   MSK32ISA_SEL_EXX_WRSQ                               0x00000001

    #define     BA_ISA_SEL_EXX_WR16                            0x0014
    #define     B16ISA_SEL_EXX_WR16                            0x0014
    #define   LSb32ISA_SEL_EXX_WR16                               1
    #define   LSb16ISA_SEL_EXX_WR16                               1
    #define       bISA_SEL_EXX_WR16                            1
    #define   MSK32ISA_SEL_EXX_WR16                               0x00000002

    #define     BA_ISA_SEL_EXX_WRTQ                            0x0014
    #define     B16ISA_SEL_EXX_WRTQ                            0x0014
    #define   LSb32ISA_SEL_EXX_WRTQ                               2
    #define   LSb16ISA_SEL_EXX_WRTQ                               2
    #define       bISA_SEL_EXX_WRTQ                            1
    #define   MSK32ISA_SEL_EXX_WRTQ                               0x00000004

    #define     BA_ISA_SEL_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_SEL_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_SEL_EXX_ALU64PUSH                          3
    #define   LSb16ISA_SEL_EXX_ALU64PUSH                          3
    #define       bISA_SEL_EXX_ALU64PUSH                       1
    #define   MSK32ISA_SEL_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_SEL_EXX_ALU64POP                        0x0014
    #define     B16ISA_SEL_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_SEL_EXX_ALU64POP                           4
    #define   LSb16ISA_SEL_EXX_ALU64POP                           4
    #define       bISA_SEL_EXX_ALU64POP                        1
    #define   MSK32ISA_SEL_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_SEL_EXX_ALU64SQ                         0x0014
    #define     B16ISA_SEL_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_SEL_EXX_ALU64SQ                            5
    #define   LSb16ISA_SEL_EXX_ALU64SQ                            5
    #define       bISA_SEL_EXX_ALU64SQ                         1
    #define   MSK32ISA_SEL_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_SEL_EXX_ALU64TQ                         0x0014
    #define     B16ISA_SEL_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_SEL_EXX_ALU64TQ                            6
    #define   LSb16ISA_SEL_EXX_ALU64TQ                            6
    #define       bISA_SEL_EXX_ALU64TQ                         1
    #define   MSK32ISA_SEL_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_SEL_EXX_ALU64MEM                        0x0014
    #define     B16ISA_SEL_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_SEL_EXX_ALU64MEM                           7
    #define   LSb16ISA_SEL_EXX_ALU64MEM                           7
    #define       bISA_SEL_EXX_ALU64MEM                        1
    #define   MSK32ISA_SEL_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_SEL_EXX_BRANCH                          0x0015
    #define     B16ISA_SEL_EXX_BRANCH                          0x0014
    #define   LSb32ISA_SEL_EXX_BRANCH                             8
    #define   LSb16ISA_SEL_EXX_BRANCH                             8
    #define       bISA_SEL_EXX_BRANCH                          1
    #define   MSK32ISA_SEL_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SEL_WB                                  0x0018

    #define     BA_ISA_SEL_WB_RF16                             0x0018
    #define     B16ISA_SEL_WB_RF16                             0x0018
    #define   LSb32ISA_SEL_WB_RF16                                0
    #define   LSb16ISA_SEL_WB_RF16                                0
    #define       bISA_SEL_WB_RF16                             1
    #define   MSK32ISA_SEL_WB_RF16                                0x00000001

    #define     BA_ISA_SEL_WB_RF16W0                           0x0018
    #define     B16ISA_SEL_WB_RF16W0                           0x0018
    #define   LSb32ISA_SEL_WB_RF16W0                              1
    #define   LSb16ISA_SEL_WB_RF16W0                              1
    #define       bISA_SEL_WB_RF16W0                           1
    #define   MSK32ISA_SEL_WB_RF16W0                              0x00000002

    #define     BA_ISA_SEL_WB_RF16MEM                          0x0018
    #define     B16ISA_SEL_WB_RF16MEM                          0x0018
    #define   LSb32ISA_SEL_WB_RF16MEM                             2
    #define   LSb16ISA_SEL_WB_RF16MEM                             2
    #define       bISA_SEL_WB_RF16MEM                          1
    #define   MSK32ISA_SEL_WB_RF16MEM                             0x00000004

    #define     BA_ISA_SEL_WB_RF16Q                            0x0018
    #define     B16ISA_SEL_WB_RF16Q                            0x0018
    #define   LSb32ISA_SEL_WB_RF16Q                               3
    #define   LSb16ISA_SEL_WB_RF16Q                               3
    #define       bISA_SEL_WB_RF16Q                            1
    #define   MSK32ISA_SEL_WB_RF16Q                               0x00000008

    #define     BA_ISA_SEL_WB_RF64                             0x0018
    #define     B16ISA_SEL_WB_RF64                             0x0018
    #define   LSb32ISA_SEL_WB_RF64                                4
    #define   LSb16ISA_SEL_WB_RF64                                4
    #define       bISA_SEL_WB_RF64                             1
    #define   MSK32ISA_SEL_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SEL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_SEL_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_SEL_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SEL_Mask;
            struct w32ISA_SEL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_SEL_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_SEL_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SEL_Opcode;
            struct w32ISA_SEL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SEL_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SEL_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SEL_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SEL_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SEL_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SEL_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SEL_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SEL_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SEL_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SEL_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SEL_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SEL_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SEL_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SEL_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SEL_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SEL_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SEL_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SEL_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SEL_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SEL_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SEL_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SEL_ID;
            struct w32ISA_SEL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SEL_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SEL_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SEL_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SEL_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SEL_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SEL_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SEL_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SEL_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SEL_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SEL_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SEL_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SEL_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SEL_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SEL_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SEL_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SEL_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SEL_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SEL_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SEL_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SEL_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SEL_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_SEL_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SEL_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_SEL_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SEL_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_SEL_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SEL_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_SEL_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SEL_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_SEL_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_SEL_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_SEL_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_SEL_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_SEL_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_SEL_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_SEL_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_SEL_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_SEL_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_SEL_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_SEL_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_SEL_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_SEL_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_SEL_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_SEL_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_SEL_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_SEL_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_SEL_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_SEL_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_SEL_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SEL_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SEL_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SEL_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SEL_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SEL_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SEL_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_SEL_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_SEL_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_SEL_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_SEL_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_SEL_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_SEL_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_SEL_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_SEL_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_SEL_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_SEL_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SEL_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SEL_LD;
            struct w32ISA_SEL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_SEL_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SEL_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_SEL_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SEL_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_SEL_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SEL_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SEL_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SEL_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_SEL_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SEL_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SEL_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SEL_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SEL_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SEL_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SEL_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SEL_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SEL_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_SEL_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SEL_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_SEL_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SEL_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SEL_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SEL_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SEL_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SEL_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_SEL_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SEL_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_SEL_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SEL_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_SEL_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_SEL_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_SEL_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_SEL_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_SEL_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_SEL_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_SEL_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_SEL_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_SEL_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_SEL_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_SEL_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_SEL_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_SEL_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_SEL_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_SEL_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_SEL_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_SEL_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_SEL_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_SEL_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_SEL_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SEL_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SEL_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SEL_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SEL_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SEL_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SEL_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_SEL_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_SEL_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_SEL_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_SEL_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_SEL_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_SEL_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_SEL_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_SEL_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_SEL_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_SEL_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SEL_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_SEL_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_SEL_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SEL_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SEL_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_SEL_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_SEL_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_SEL_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SEL_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SEL_EX;
            struct w32ISA_SEL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SEL_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SEL_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SEL_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SEL_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SEL_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SEL_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SEL_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SEL_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_SEL_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SEL_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SEL_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SEL_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SEL_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SEL_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SEL_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SEL_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SEL_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SEL_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SEL_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_SEL_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SEL_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_SEL_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SEL_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SEL_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SEL_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SEL_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SEL_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SEL_EXX;
            struct w32ISA_SEL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SEL_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SEL_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SEL_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SEL_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SEL_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SEL_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SEL_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SEL_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SEL_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_SEL_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SEL_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SEL_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SEL_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SEL_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SEL_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SEL_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SEL_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SEL_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SEL_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SEL_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SEL_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SEL_WB;
            struct w32ISA_SEL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SEL;

    typedef union  T32ISA_SEL_Mask
          { UNSG32 u32;
            struct w32ISA_SEL_Mask;
                 } T32ISA_SEL_Mask;
    typedef union  T32ISA_SEL_Opcode
          { UNSG32 u32;
            struct w32ISA_SEL_Opcode;
                 } T32ISA_SEL_Opcode;
    typedef union  T32ISA_SEL_ID
          { UNSG32 u32;
            struct w32ISA_SEL_ID;
                 } T32ISA_SEL_ID;
    typedef union  T32ISA_SEL_LD
          { UNSG32 u32;
            struct w32ISA_SEL_LD;
                 } T32ISA_SEL_LD;
    typedef union  T32ISA_SEL_EX
          { UNSG32 u32;
            struct w32ISA_SEL_EX;
                 } T32ISA_SEL_EX;
    typedef union  T32ISA_SEL_EXX
          { UNSG32 u32;
            struct w32ISA_SEL_EXX;
                 } T32ISA_SEL_EXX;
    typedef union  T32ISA_SEL_WB
          { UNSG32 u32;
            struct w32ISA_SEL_WB;
                 } T32ISA_SEL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SEL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_Mask;
                   };
                 } TISA_SEL_Mask;
    typedef union  TISA_SEL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_Opcode;
                   };
                 } TISA_SEL_Opcode;
    typedef union  TISA_SEL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_ID;
                   };
                 } TISA_SEL_ID;
    typedef union  TISA_SEL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_LD;
                   };
                 } TISA_SEL_LD;
    typedef union  TISA_SEL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_EX;
                   };
                 } TISA_SEL_EX;
    typedef union  TISA_SEL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_EXX;
                   };
                 } TISA_SEL_EXX;
    typedef union  TISA_SEL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SEL_WB;
                   };
                 } TISA_SEL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SEL_drvrd(SIE_ISA_SEL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SEL_drvwr(SIE_ISA_SEL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SEL_reset(SIE_ISA_SEL *p);
     SIGN32 ISA_SEL_cmp  (SIE_ISA_SEL *p, SIE_ISA_SEL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SEL_check(p,pie,pfx,hLOG) ISA_SEL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SEL_print(p,    pfx,hLOG) ISA_SEL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SEL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SELi                                 (4,4)
///     ###
///     * Conditional select a register from 2 immediate numbers in [-8,7].
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x50000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SEL.i"   , "rD,C,N,M"    , "0000 0101 NNNN CCCC MMMM DDDD" } ,
///                                    * - Usage:
///                                    * -    CMP      %b1, %a1        ; %d1 = (%b1 > %a1) ? -1 : 1;
///                                    * -    SEL.i    %d1, `GS, -1, 1
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      0x1
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      0x1
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  0x1
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SELi
#define h_ISA_SELi (){}

    #define     RA_ISA_SELi_Mask                               0x0000

    #define     BA_ISA_SELi_Mask_INS                           0x0000
    #define     B16ISA_SELi_Mask_INS                           0x0000
    #define   LSb32ISA_SELi_Mask_INS                              0
    #define   LSb16ISA_SELi_Mask_INS                              0
    #define       bISA_SELi_Mask_INS                           24
    #define   MSK32ISA_SELi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_Opcode                             0x0004

    #define     BA_ISA_SELi_Opcode_INS                         0x0004
    #define     B16ISA_SELi_Opcode_INS                         0x0004
    #define   LSb32ISA_SELi_Opcode_INS                            0
    #define   LSb16ISA_SELi_Opcode_INS                            0
    #define       bISA_SELi_Opcode_INS                         24
    #define   MSK32ISA_SELi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_ID                                 0x0008

    #define     BA_ISA_SELi_ID_RBRF                            0x0008
    #define     B16ISA_SELi_ID_RBRF                            0x0008
    #define   LSb32ISA_SELi_ID_RBRF                               0
    #define   LSb16ISA_SELi_ID_RBRF                               0
    #define       bISA_SELi_ID_RBRF                            1
    #define   MSK32ISA_SELi_ID_RBRF                               0x00000001

    #define     BA_ISA_SELi_ID_RARF                            0x0008
    #define     B16ISA_SELi_ID_RARF                            0x0008
    #define   LSb32ISA_SELi_ID_RARF                               1
    #define   LSb16ISA_SELi_ID_RARF                               1
    #define       bISA_SELi_ID_RARF                            1
    #define   MSK32ISA_SELi_ID_RARF                               0x00000002

    #define     BA_ISA_SELi_ID_RAK8                            0x0008
    #define     B16ISA_SELi_ID_RAK8                            0x0008
    #define   LSb32ISA_SELi_ID_RAK8                               2
    #define   LSb16ISA_SELi_ID_RAK8                               2
    #define       bISA_SELi_ID_RAK8                            1
    #define   MSK32ISA_SELi_ID_RAK8                               0x00000004

    #define     BA_ISA_SELi_ID_RAI16                           0x0008
    #define     B16ISA_SELi_ID_RAI16                           0x0008
    #define   LSb32ISA_SELi_ID_RAI16                              3
    #define   LSb16ISA_SELi_ID_RAI16                              3
    #define       bISA_SELi_ID_RAI16                           1
    #define   MSK32ISA_SELi_ID_RAI16                              0x00000008

    #define     BA_ISA_SELi_ID_RAK16                           0x0008
    #define     B16ISA_SELi_ID_RAK16                           0x0008
    #define   LSb32ISA_SELi_ID_RAK16                              4
    #define   LSb16ISA_SELi_ID_RAK16                              4
    #define       bISA_SELi_ID_RAK16                           1
    #define   MSK32ISA_SELi_ID_RAK16                              0x00000010

    #define     BA_ISA_SELi_ID_RFSP                            0x0008
    #define     B16ISA_SELi_ID_RFSP                            0x0008
    #define   LSb32ISA_SELi_ID_RFSP                               5
    #define   LSb16ISA_SELi_ID_RFSP                               5
    #define       bISA_SELi_ID_RFSP                            1
    #define   MSK32ISA_SELi_ID_RFSP                               0x00000020

    #define     BA_ISA_SELi_ID_W4D4                            0x0008
    #define     B16ISA_SELi_ID_W4D4                            0x0008
    #define   LSb32ISA_SELi_ID_W4D4                               6
    #define   LSb16ISA_SELi_ID_W4D4                               6
    #define       bISA_SELi_ID_W4D4                            1
    #define   MSK32ISA_SELi_ID_W4D4                               0x00000040

    #define     BA_ISA_SELi_ID_W4S4                            0x0008
    #define     B16ISA_SELi_ID_W4S4                            0x0008
    #define   LSb32ISA_SELi_ID_W4S4                               7
    #define   LSb16ISA_SELi_ID_W4S4                               7
    #define       bISA_SELi_ID_W4S4                            1
    #define   MSK32ISA_SELi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_LD                                 0x000C

    #define     BA_ISA_SELi_LD_SPRF                            0x000C
    #define     B16ISA_SELi_LD_SPRF                            0x000C
    #define   LSb32ISA_SELi_LD_SPRF                               0
    #define   LSb16ISA_SELi_LD_SPRF                               0
    #define       bISA_SELi_LD_SPRF                            1
    #define   MSK32ISA_SELi_LD_SPRF                               0x00000001

    #define     BA_ISA_SELi_LD_SPK8                            0x000C
    #define     B16ISA_SELi_LD_SPK8                            0x000C
    #define   LSb32ISA_SELi_LD_SPK8                               1
    #define   LSb16ISA_SELi_LD_SPK8                               1
    #define       bISA_SELi_LD_SPK8                            1
    #define   MSK32ISA_SELi_LD_SPK8                               0x00000002

    #define     BA_ISA_SELi_LD_SPJ                             0x000C
    #define     B16ISA_SELi_LD_SPJ                             0x000C
    #define   LSb32ISA_SELi_LD_SPJ                                2
    #define   LSb16ISA_SELi_LD_SPJ                                2
    #define       bISA_SELi_LD_SPJ                             1
    #define   MSK32ISA_SELi_LD_SPJ                                0x00000004

    #define     BA_ISA_SELi_LD_SP4S                            0x000C
    #define     B16ISA_SELi_LD_SP4S                            0x000C
    #define   LSb32ISA_SELi_LD_SP4S                               3
    #define   LSb16ISA_SELi_LD_SP4S                               3
    #define       bISA_SELi_LD_SP4S                            1
    #define   MSK32ISA_SELi_LD_SP4S                               0x00000008

    #define     BA_ISA_SELi_LD_SP8S                            0x000C
    #define     B16ISA_SELi_LD_SP8S                            0x000C
    #define   LSb32ISA_SELi_LD_SP8S                               4
    #define   LSb16ISA_SELi_LD_SP8S                               4
    #define       bISA_SELi_LD_SP8S                            1
    #define   MSK32ISA_SELi_LD_SP8S                               0x00000010

    #define     BA_ISA_SELi_LD_SP8U                            0x000C
    #define     B16ISA_SELi_LD_SP8U                            0x000C
    #define   LSb32ISA_SELi_LD_SP8U                               5
    #define   LSb16ISA_SELi_LD_SP8U                               5
    #define       bISA_SELi_LD_SP8U                            1
    #define   MSK32ISA_SELi_LD_SP8U                               0x00000020

    #define     BA_ISA_SELi_LD_SP12S                           0x000C
    #define     B16ISA_SELi_LD_SP12S                           0x000C
    #define   LSb32ISA_SELi_LD_SP12S                              6
    #define   LSb16ISA_SELi_LD_SP12S                              6
    #define       bISA_SELi_LD_SP12S                           1
    #define   MSK32ISA_SELi_LD_SP12S                              0x00000040

    #define     BA_ISA_SELi_LD_SP16                            0x000C
    #define     B16ISA_SELi_LD_SP16                            0x000C
    #define   LSb32ISA_SELi_LD_SP16                               7
    #define   LSb16ISA_SELi_LD_SP16                               7
    #define       bISA_SELi_LD_SP16                            1
    #define   MSK32ISA_SELi_LD_SP16                               0x00000080

    #define     BA_ISA_SELi_LD_TPRF                            0x000D
    #define     B16ISA_SELi_LD_TPRF                            0x000C
    #define   LSb32ISA_SELi_LD_TPRF                               8
    #define   LSb16ISA_SELi_LD_TPRF                               8
    #define       bISA_SELi_LD_TPRF                            1
    #define   MSK32ISA_SELi_LD_TPRF                               0x00000100

    #define     BA_ISA_SELi_LD_TPJ                             0x000D
    #define     B16ISA_SELi_LD_TPJ                             0x000C
    #define   LSb32ISA_SELi_LD_TPJ                                9
    #define   LSb16ISA_SELi_LD_TPJ                                9
    #define       bISA_SELi_LD_TPJ                             1
    #define   MSK32ISA_SELi_LD_TPJ                                0x00000200

    #define     BA_ISA_SELi_LD_TP4S                            0x000D
    #define     B16ISA_SELi_LD_TP4S                            0x000C
    #define   LSb32ISA_SELi_LD_TP4S                               10
    #define   LSb16ISA_SELi_LD_TP4S                               10
    #define       bISA_SELi_LD_TP4S                            1
    #define   MSK32ISA_SELi_LD_TP4S                               0x00000400

    #define     BA_ISA_SELi_LD_TP8L                            0x000D
    #define     B16ISA_SELi_LD_TP8L                            0x000C
    #define   LSb32ISA_SELi_LD_TP8L                               11
    #define   LSb16ISA_SELi_LD_TP8L                               11
    #define       bISA_SELi_LD_TP8L                            1
    #define   MSK32ISA_SELi_LD_TP8L                               0x00000800

    #define     BA_ISA_SELi_LD_TP8H                            0x000D
    #define     B16ISA_SELi_LD_TP8H                            0x000C
    #define   LSb32ISA_SELi_LD_TP8H                               12
    #define   LSb16ISA_SELi_LD_TP8H                               12
    #define       bISA_SELi_LD_TP8H                            1
    #define   MSK32ISA_SELi_LD_TP8H                               0x00001000

    #define     BA_ISA_SELi_LD_TP8LF                           0x000D
    #define     B16ISA_SELi_LD_TP8LF                           0x000C
    #define   LSb32ISA_SELi_LD_TP8LF                              13
    #define   LSb16ISA_SELi_LD_TP8LF                              13
    #define       bISA_SELi_LD_TP8LF                           1
    #define   MSK32ISA_SELi_LD_TP8LF                              0x00002000

    #define     BA_ISA_SELi_LD_TP8HF                           0x000D
    #define     B16ISA_SELi_LD_TP8HF                           0x000C
    #define   LSb32ISA_SELi_LD_TP8HF                              14
    #define   LSb16ISA_SELi_LD_TP8HF                              14
    #define       bISA_SELi_LD_TP8HF                           1
    #define   MSK32ISA_SELi_LD_TP8HF                              0x00004000

    #define     BA_ISA_SELi_LD_SQRF64                          0x000D
    #define     B16ISA_SELi_LD_SQRF64                          0x000C
    #define   LSb32ISA_SELi_LD_SQRF64                             15
    #define   LSb16ISA_SELi_LD_SQRF64                             15
    #define       bISA_SELi_LD_SQRF64                          1
    #define   MSK32ISA_SELi_LD_SQRF64                             0x00008000

    #define     BA_ISA_SELi_LD_TQRF16Q                         0x000E
    #define     B16ISA_SELi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_SELi_LD_TQRF16Q                            16
    #define   LSb16ISA_SELi_LD_TQRF16Q                            0
    #define       bISA_SELi_LD_TQRF16Q                         1
    #define   MSK32ISA_SELi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_SELi_LD_TQRFx4                          0x000E
    #define     B16ISA_SELi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_SELi_LD_TQRFx4                             17
    #define   LSb16ISA_SELi_LD_TQRFx4                             1
    #define       bISA_SELi_LD_TQRFx4                          1
    #define   MSK32ISA_SELi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_SELi_LD_RD                              0x000E
    #define     B16ISA_SELi_LD_RD                              0x000E
    #define   LSb32ISA_SELi_LD_RD                                 18
    #define   LSb16ISA_SELi_LD_RD                                 2
    #define       bISA_SELi_LD_RD                              1
    #define   MSK32ISA_SELi_LD_RD                                 0x00040000

    #define     BA_ISA_SELi_LD_WARF                            0x000E
    #define     B16ISA_SELi_LD_WARF                            0x000E
    #define   LSb32ISA_SELi_LD_WARF                               19
    #define   LSb16ISA_SELi_LD_WARF                               3
    #define       bISA_SELi_LD_WARF                            1
    #define   MSK32ISA_SELi_LD_WARF                               0x00080000

    #define     BA_ISA_SELi_LD_WAK8                            0x000E
    #define     B16ISA_SELi_LD_WAK8                            0x000E
    #define   LSb32ISA_SELi_LD_WAK8                               20
    #define   LSb16ISA_SELi_LD_WAK8                               4
    #define       bISA_SELi_LD_WAK8                            1
    #define   MSK32ISA_SELi_LD_WAK8                               0x00100000

    #define     BA_ISA_SELi_LD_WAK16                           0x000E
    #define     B16ISA_SELi_LD_WAK16                           0x000E
    #define   LSb32ISA_SELi_LD_WAK16                              21
    #define   LSb16ISA_SELi_LD_WAK16                              5
    #define       bISA_SELi_LD_WAK16                           1
    #define   MSK32ISA_SELi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_EX                                 0x0010

    #define     BA_ISA_SELi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_SELi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_SELi_EX_ALU16FlagZ                         0
    #define       bISA_SELi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_SELi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_SELi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_SELi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagC                         1
    #define   LSb16ISA_SELi_EX_ALU16FlagC                         1
    #define       bISA_SELi_EX_ALU16FlagC                      1
    #define   MSK32ISA_SELi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_SELi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_SELi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagN                         2
    #define   LSb16ISA_SELi_EX_ALU16FlagN                         2
    #define       bISA_SELi_EX_ALU16FlagN                      1
    #define   MSK32ISA_SELi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_SELi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_SELi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagV                         3
    #define   LSb16ISA_SELi_EX_ALU16FlagV                         3
    #define       bISA_SELi_EX_ALU16FlagV                      1
    #define   MSK32ISA_SELi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_SELi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_SELi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_SELi_EX_ALU16FlagTP                        4
    #define       bISA_SELi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_SELi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_SELi_EX_ALU16MUL                        0x0010
    #define     B16ISA_SELi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16MUL                           5
    #define   LSb16ISA_SELi_EX_ALU16MUL                           5
    #define       bISA_SELi_EX_ALU16MUL                        1
    #define   MSK32ISA_SELi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_SELi_EX_ALU16DIV                        0x0010
    #define     B16ISA_SELi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16DIV                           6
    #define   LSb16ISA_SELi_EX_ALU16DIV                           6
    #define       bISA_SELi_EX_ALU16DIV                        1
    #define   MSK32ISA_SELi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_SELi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_SELi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_SELi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_SELi_EX_ALU16FlagLD                        7
    #define       bISA_SELi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_SELi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_SELi_EX_ALU16MDL                        0x0011
    #define     B16ISA_SELi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16MDL                           8
    #define   LSb16ISA_SELi_EX_ALU16MDL                           8
    #define       bISA_SELi_EX_ALU16MDL                        1
    #define   MSK32ISA_SELi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_SELi_EX_ALU16MDH                        0x0011
    #define     B16ISA_SELi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16MDH                           9
    #define   LSb16ISA_SELi_EX_ALU16MDH                           9
    #define       bISA_SELi_EX_ALU16MDH                        1
    #define   MSK32ISA_SELi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_SELi_EX_ALU16ADD                        0x0011
    #define     B16ISA_SELi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16ADD                           10
    #define   LSb16ISA_SELi_EX_ALU16ADD                           10
    #define       bISA_SELi_EX_ALU16ADD                        1
    #define   MSK32ISA_SELi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_SELi_EX_ALU16SUB                        0x0011
    #define     B16ISA_SELi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16SUB                           11
    #define   LSb16ISA_SELi_EX_ALU16SUB                           11
    #define       bISA_SELi_EX_ALU16SUB                        1
    #define   MSK32ISA_SELi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_SELi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_SELi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_SELi_EX_ALU16ADDC                          12
    #define   LSb16ISA_SELi_EX_ALU16ADDC                          12
    #define       bISA_SELi_EX_ALU16ADDC                       1
    #define   MSK32ISA_SELi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_SELi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_SELi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_SELi_EX_ALU16SUBC                          13
    #define   LSb16ISA_SELi_EX_ALU16SUBC                          13
    #define       bISA_SELi_EX_ALU16SUBC                       1
    #define   MSK32ISA_SELi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_SELi_EX_ALU16ASR                        0x0011
    #define     B16ISA_SELi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_SELi_EX_ALU16ASR                           14
    #define   LSb16ISA_SELi_EX_ALU16ASR                           14
    #define       bISA_SELi_EX_ALU16ASR                        1
    #define   MSK32ISA_SELi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_SELi_EX_ALU16SL                         0x0011
    #define     B16ISA_SELi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_SELi_EX_ALU16SL                            15
    #define   LSb16ISA_SELi_EX_ALU16SL                            15
    #define       bISA_SELi_EX_ALU16SL                         1
    #define   MSK32ISA_SELi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_SELi_EX_ALU16SR                         0x0012
    #define     B16ISA_SELi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_SELi_EX_ALU16SR                            16
    #define   LSb16ISA_SELi_EX_ALU16SR                            0
    #define       bISA_SELi_EX_ALU16SR                         1
    #define   MSK32ISA_SELi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_SELi_EX_ALU16GET                        0x0012
    #define     B16ISA_SELi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_SELi_EX_ALU16GET                           17
    #define   LSb16ISA_SELi_EX_ALU16GET                           1
    #define       bISA_SELi_EX_ALU16GET                        1
    #define   MSK32ISA_SELi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_SELi_EX_ALU16SET                        0x0012
    #define     B16ISA_SELi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_SELi_EX_ALU16SET                           18
    #define   LSb16ISA_SELi_EX_ALU16SET                           2
    #define       bISA_SELi_EX_ALU16SET                        1
    #define   MSK32ISA_SELi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_SELi_EX_ALU16SEL                        0x0012
    #define     B16ISA_SELi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_SELi_EX_ALU16SEL                           19
    #define   LSb16ISA_SELi_EX_ALU16SEL                           3
    #define       bISA_SELi_EX_ALU16SEL                        1
    #define   MSK32ISA_SELi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_SELi_EX_ALU16OR                         0x0012
    #define     B16ISA_SELi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_SELi_EX_ALU16OR                            20
    #define   LSb16ISA_SELi_EX_ALU16OR                            4
    #define       bISA_SELi_EX_ALU16OR                         1
    #define   MSK32ISA_SELi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_SELi_EX_ALU16AND                        0x0012
    #define     B16ISA_SELi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_SELi_EX_ALU16AND                           21
    #define   LSb16ISA_SELi_EX_ALU16AND                           5
    #define       bISA_SELi_EX_ALU16AND                        1
    #define   MSK32ISA_SELi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_SELi_EX_ALU16XOR                        0x0012
    #define     B16ISA_SELi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_SELi_EX_ALU16XOR                           22
    #define   LSb16ISA_SELi_EX_ALU16XOR                           6
    #define       bISA_SELi_EX_ALU16XOR                        1
    #define   MSK32ISA_SELi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_SELi_EX_ALU16SP                         0x0012
    #define     B16ISA_SELi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_SELi_EX_ALU16SP                            23
    #define   LSb16ISA_SELi_EX_ALU16SP                            7
    #define       bISA_SELi_EX_ALU16SP                         1
    #define   MSK32ISA_SELi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_EXX                                0x0014

    #define     BA_ISA_SELi_EXX_WRSQ                           0x0014
    #define     B16ISA_SELi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_SELi_EXX_WRSQ                              0
    #define   LSb16ISA_SELi_EXX_WRSQ                              0
    #define       bISA_SELi_EXX_WRSQ                           1
    #define   MSK32ISA_SELi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_SELi_EXX_WR16                           0x0014
    #define     B16ISA_SELi_EXX_WR16                           0x0014
    #define   LSb32ISA_SELi_EXX_WR16                              1
    #define   LSb16ISA_SELi_EXX_WR16                              1
    #define       bISA_SELi_EXX_WR16                           1
    #define   MSK32ISA_SELi_EXX_WR16                              0x00000002

    #define     BA_ISA_SELi_EXX_WRTQ                           0x0014
    #define     B16ISA_SELi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_SELi_EXX_WRTQ                              2
    #define   LSb16ISA_SELi_EXX_WRTQ                              2
    #define       bISA_SELi_EXX_WRTQ                           1
    #define   MSK32ISA_SELi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_SELi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_SELi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_SELi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_SELi_EXX_ALU64PUSH                         3
    #define       bISA_SELi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_SELi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_SELi_EXX_ALU64POP                       0x0014
    #define     B16ISA_SELi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_SELi_EXX_ALU64POP                          4
    #define   LSb16ISA_SELi_EXX_ALU64POP                          4
    #define       bISA_SELi_EXX_ALU64POP                       1
    #define   MSK32ISA_SELi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_SELi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_SELi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_SELi_EXX_ALU64SQ                           5
    #define   LSb16ISA_SELi_EXX_ALU64SQ                           5
    #define       bISA_SELi_EXX_ALU64SQ                        1
    #define   MSK32ISA_SELi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_SELi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_SELi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_SELi_EXX_ALU64TQ                           6
    #define   LSb16ISA_SELi_EXX_ALU64TQ                           6
    #define       bISA_SELi_EXX_ALU64TQ                        1
    #define   MSK32ISA_SELi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_SELi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_SELi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_SELi_EXX_ALU64MEM                          7
    #define   LSb16ISA_SELi_EXX_ALU64MEM                          7
    #define       bISA_SELi_EXX_ALU64MEM                       1
    #define   MSK32ISA_SELi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_SELi_EXX_BRANCH                         0x0015
    #define     B16ISA_SELi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_SELi_EXX_BRANCH                            8
    #define   LSb16ISA_SELi_EXX_BRANCH                            8
    #define       bISA_SELi_EXX_BRANCH                         1
    #define   MSK32ISA_SELi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SELi_WB                                 0x0018

    #define     BA_ISA_SELi_WB_RF16                            0x0018
    #define     B16ISA_SELi_WB_RF16                            0x0018
    #define   LSb32ISA_SELi_WB_RF16                               0
    #define   LSb16ISA_SELi_WB_RF16                               0
    #define       bISA_SELi_WB_RF16                            1
    #define   MSK32ISA_SELi_WB_RF16                               0x00000001

    #define     BA_ISA_SELi_WB_RF16W0                          0x0018
    #define     B16ISA_SELi_WB_RF16W0                          0x0018
    #define   LSb32ISA_SELi_WB_RF16W0                             1
    #define   LSb16ISA_SELi_WB_RF16W0                             1
    #define       bISA_SELi_WB_RF16W0                          1
    #define   MSK32ISA_SELi_WB_RF16W0                             0x00000002

    #define     BA_ISA_SELi_WB_RF16MEM                         0x0018
    #define     B16ISA_SELi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_SELi_WB_RF16MEM                            2
    #define   LSb16ISA_SELi_WB_RF16MEM                            2
    #define       bISA_SELi_WB_RF16MEM                         1
    #define   MSK32ISA_SELi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_SELi_WB_RF16Q                           0x0018
    #define     B16ISA_SELi_WB_RF16Q                           0x0018
    #define   LSb32ISA_SELi_WB_RF16Q                              3
    #define   LSb16ISA_SELi_WB_RF16Q                              3
    #define       bISA_SELi_WB_RF16Q                           1
    #define   MSK32ISA_SELi_WB_RF16Q                              0x00000008

    #define     BA_ISA_SELi_WB_RF64                            0x0018
    #define     B16ISA_SELi_WB_RF64                            0x0018
    #define   LSb32ISA_SELi_WB_RF64                               4
    #define   LSb16ISA_SELi_WB_RF64                               4
    #define       bISA_SELi_WB_RF64                            1
    #define   MSK32ISA_SELi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SELi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SELi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SELi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SELi_Mask;
            struct w32ISA_SELi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_SELi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_SELi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SELi_Opcode;
            struct w32ISA_SELi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SELi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SELi_ID;
            struct w32ISA_SELi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SELi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_SELi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SELi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_SELi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SELi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_SELi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_SELi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_SELi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_SELi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_SELi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_SELi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_SELi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_SELi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_SELi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_SELi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_SELi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_SELi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_SELi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_SELi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_SELi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_SELi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_SELi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_SELi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_SELi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_SELi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SELi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SELi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SELi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SELi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SELi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SELi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SELi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SELi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_SELi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_SELi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_SELi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_SELi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_SELi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_SELi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_SELi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_SELi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SELi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SELi_LD;
            struct w32ISA_SELi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SELi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_SELi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SELi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_SELi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SELi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_SELi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_SELi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_SELi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_SELi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_SELi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_SELi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_SELi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_SELi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_SELi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_SELi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_SELi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_SELi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_SELi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_SELi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_SELi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_SELi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_SELi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_SELi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_SELi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_SELi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_SELi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_SELi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_SELi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_SELi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SELi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SELi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_SELi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_SELi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_SELi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_SELi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_SELi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_SELi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_SELi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_SELi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_SELi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_SELi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_SELi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_SELi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_SELi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_SELi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SELi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SELi_EX;
            struct w32ISA_SELi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SELi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SELi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SELi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SELi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SELi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SELi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SELi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SELi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SELi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SELi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SELi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SELi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SELi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SELi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SELi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SELi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SELi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SELi_EXX;
            struct w32ISA_SELi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SELi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SELi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SELi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SELi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SELi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_SELi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SELi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SELi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SELi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_SELi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SELi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SELi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SELi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SELi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SELi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SELi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SELi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SELi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SELi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SELi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SELi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SELi_WB;
            struct w32ISA_SELi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SELi;

    typedef union  T32ISA_SELi_Mask
          { UNSG32 u32;
            struct w32ISA_SELi_Mask;
                 } T32ISA_SELi_Mask;
    typedef union  T32ISA_SELi_Opcode
          { UNSG32 u32;
            struct w32ISA_SELi_Opcode;
                 } T32ISA_SELi_Opcode;
    typedef union  T32ISA_SELi_ID
          { UNSG32 u32;
            struct w32ISA_SELi_ID;
                 } T32ISA_SELi_ID;
    typedef union  T32ISA_SELi_LD
          { UNSG32 u32;
            struct w32ISA_SELi_LD;
                 } T32ISA_SELi_LD;
    typedef union  T32ISA_SELi_EX
          { UNSG32 u32;
            struct w32ISA_SELi_EX;
                 } T32ISA_SELi_EX;
    typedef union  T32ISA_SELi_EXX
          { UNSG32 u32;
            struct w32ISA_SELi_EXX;
                 } T32ISA_SELi_EXX;
    typedef union  T32ISA_SELi_WB
          { UNSG32 u32;
            struct w32ISA_SELi_WB;
                 } T32ISA_SELi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SELi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_Mask;
                   };
                 } TISA_SELi_Mask;
    typedef union  TISA_SELi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_Opcode;
                   };
                 } TISA_SELi_Opcode;
    typedef union  TISA_SELi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_ID;
                   };
                 } TISA_SELi_ID;
    typedef union  TISA_SELi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_LD;
                   };
                 } TISA_SELi_LD;
    typedef union  TISA_SELi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_EX;
                   };
                 } TISA_SELi_EX;
    typedef union  TISA_SELi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_EXX;
                   };
                 } TISA_SELi_EXX;
    typedef union  TISA_SELi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SELi_WB;
                   };
                 } TISA_SELi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SELi_drvrd(SIE_ISA_SELi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SELi_drvwr(SIE_ISA_SELi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SELi_reset(SIE_ISA_SELi *p);
     SIGN32 ISA_SELi_cmp  (SIE_ISA_SELi *p, SIE_ISA_SELi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SELi_check(p,pie,pfx,hLOG) ISA_SELi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SELi_print(p,    pfx,hLOG) ISA_SELi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SELi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_X2Q                                  (4,4)
///     ###
///     * Load a RF64 entry with a 64b quad-register from RF16.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x320000
///                                    ###
///                                    * -                                                                 
///                                    * - { "X2Q"     , "qS,xT"       , "0011 0010 ---- ---- TTSS SSSS" } ,
///                                    * - Usage:
///                                    * -    X2Q      %q0, %x2        ; %q0 = %x2;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   0x1
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      0x1
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_X2Q
#define h_ISA_X2Q (){}

    #define     RA_ISA_X2Q_Mask                                0x0000

    #define     BA_ISA_X2Q_Mask_INS                            0x0000
    #define     B16ISA_X2Q_Mask_INS                            0x0000
    #define   LSb32ISA_X2Q_Mask_INS                               0
    #define   LSb16ISA_X2Q_Mask_INS                               0
    #define       bISA_X2Q_Mask_INS                            24
    #define   MSK32ISA_X2Q_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_Opcode                              0x0004

    #define     BA_ISA_X2Q_Opcode_INS                          0x0004
    #define     B16ISA_X2Q_Opcode_INS                          0x0004
    #define   LSb32ISA_X2Q_Opcode_INS                             0
    #define   LSb16ISA_X2Q_Opcode_INS                             0
    #define       bISA_X2Q_Opcode_INS                          24
    #define   MSK32ISA_X2Q_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_ID                                  0x0008

    #define     BA_ISA_X2Q_ID_RBRF                             0x0008
    #define     B16ISA_X2Q_ID_RBRF                             0x0008
    #define   LSb32ISA_X2Q_ID_RBRF                                0
    #define   LSb16ISA_X2Q_ID_RBRF                                0
    #define       bISA_X2Q_ID_RBRF                             1
    #define   MSK32ISA_X2Q_ID_RBRF                                0x00000001

    #define     BA_ISA_X2Q_ID_RARF                             0x0008
    #define     B16ISA_X2Q_ID_RARF                             0x0008
    #define   LSb32ISA_X2Q_ID_RARF                                1
    #define   LSb16ISA_X2Q_ID_RARF                                1
    #define       bISA_X2Q_ID_RARF                             1
    #define   MSK32ISA_X2Q_ID_RARF                                0x00000002

    #define     BA_ISA_X2Q_ID_RAK8                             0x0008
    #define     B16ISA_X2Q_ID_RAK8                             0x0008
    #define   LSb32ISA_X2Q_ID_RAK8                                2
    #define   LSb16ISA_X2Q_ID_RAK8                                2
    #define       bISA_X2Q_ID_RAK8                             1
    #define   MSK32ISA_X2Q_ID_RAK8                                0x00000004

    #define     BA_ISA_X2Q_ID_RAI16                            0x0008
    #define     B16ISA_X2Q_ID_RAI16                            0x0008
    #define   LSb32ISA_X2Q_ID_RAI16                               3
    #define   LSb16ISA_X2Q_ID_RAI16                               3
    #define       bISA_X2Q_ID_RAI16                            1
    #define   MSK32ISA_X2Q_ID_RAI16                               0x00000008

    #define     BA_ISA_X2Q_ID_RAK16                            0x0008
    #define     B16ISA_X2Q_ID_RAK16                            0x0008
    #define   LSb32ISA_X2Q_ID_RAK16                               4
    #define   LSb16ISA_X2Q_ID_RAK16                               4
    #define       bISA_X2Q_ID_RAK16                            1
    #define   MSK32ISA_X2Q_ID_RAK16                               0x00000010

    #define     BA_ISA_X2Q_ID_RFSP                             0x0008
    #define     B16ISA_X2Q_ID_RFSP                             0x0008
    #define   LSb32ISA_X2Q_ID_RFSP                                5
    #define   LSb16ISA_X2Q_ID_RFSP                                5
    #define       bISA_X2Q_ID_RFSP                             1
    #define   MSK32ISA_X2Q_ID_RFSP                                0x00000020

    #define     BA_ISA_X2Q_ID_W4D4                             0x0008
    #define     B16ISA_X2Q_ID_W4D4                             0x0008
    #define   LSb32ISA_X2Q_ID_W4D4                                6
    #define   LSb16ISA_X2Q_ID_W4D4                                6
    #define       bISA_X2Q_ID_W4D4                             1
    #define   MSK32ISA_X2Q_ID_W4D4                                0x00000040

    #define     BA_ISA_X2Q_ID_W4S4                             0x0008
    #define     B16ISA_X2Q_ID_W4S4                             0x0008
    #define   LSb32ISA_X2Q_ID_W4S4                                7
    #define   LSb16ISA_X2Q_ID_W4S4                                7
    #define       bISA_X2Q_ID_W4S4                             1
    #define   MSK32ISA_X2Q_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_LD                                  0x000C

    #define     BA_ISA_X2Q_LD_SPRF                             0x000C
    #define     B16ISA_X2Q_LD_SPRF                             0x000C
    #define   LSb32ISA_X2Q_LD_SPRF                                0
    #define   LSb16ISA_X2Q_LD_SPRF                                0
    #define       bISA_X2Q_LD_SPRF                             1
    #define   MSK32ISA_X2Q_LD_SPRF                                0x00000001

    #define     BA_ISA_X2Q_LD_SPK8                             0x000C
    #define     B16ISA_X2Q_LD_SPK8                             0x000C
    #define   LSb32ISA_X2Q_LD_SPK8                                1
    #define   LSb16ISA_X2Q_LD_SPK8                                1
    #define       bISA_X2Q_LD_SPK8                             1
    #define   MSK32ISA_X2Q_LD_SPK8                                0x00000002

    #define     BA_ISA_X2Q_LD_SPJ                              0x000C
    #define     B16ISA_X2Q_LD_SPJ                              0x000C
    #define   LSb32ISA_X2Q_LD_SPJ                                 2
    #define   LSb16ISA_X2Q_LD_SPJ                                 2
    #define       bISA_X2Q_LD_SPJ                              1
    #define   MSK32ISA_X2Q_LD_SPJ                                 0x00000004

    #define     BA_ISA_X2Q_LD_SP4S                             0x000C
    #define     B16ISA_X2Q_LD_SP4S                             0x000C
    #define   LSb32ISA_X2Q_LD_SP4S                                3
    #define   LSb16ISA_X2Q_LD_SP4S                                3
    #define       bISA_X2Q_LD_SP4S                             1
    #define   MSK32ISA_X2Q_LD_SP4S                                0x00000008

    #define     BA_ISA_X2Q_LD_SP8S                             0x000C
    #define     B16ISA_X2Q_LD_SP8S                             0x000C
    #define   LSb32ISA_X2Q_LD_SP8S                                4
    #define   LSb16ISA_X2Q_LD_SP8S                                4
    #define       bISA_X2Q_LD_SP8S                             1
    #define   MSK32ISA_X2Q_LD_SP8S                                0x00000010

    #define     BA_ISA_X2Q_LD_SP8U                             0x000C
    #define     B16ISA_X2Q_LD_SP8U                             0x000C
    #define   LSb32ISA_X2Q_LD_SP8U                                5
    #define   LSb16ISA_X2Q_LD_SP8U                                5
    #define       bISA_X2Q_LD_SP8U                             1
    #define   MSK32ISA_X2Q_LD_SP8U                                0x00000020

    #define     BA_ISA_X2Q_LD_SP12S                            0x000C
    #define     B16ISA_X2Q_LD_SP12S                            0x000C
    #define   LSb32ISA_X2Q_LD_SP12S                               6
    #define   LSb16ISA_X2Q_LD_SP12S                               6
    #define       bISA_X2Q_LD_SP12S                            1
    #define   MSK32ISA_X2Q_LD_SP12S                               0x00000040

    #define     BA_ISA_X2Q_LD_SP16                             0x000C
    #define     B16ISA_X2Q_LD_SP16                             0x000C
    #define   LSb32ISA_X2Q_LD_SP16                                7
    #define   LSb16ISA_X2Q_LD_SP16                                7
    #define       bISA_X2Q_LD_SP16                             1
    #define   MSK32ISA_X2Q_LD_SP16                                0x00000080

    #define     BA_ISA_X2Q_LD_TPRF                             0x000D
    #define     B16ISA_X2Q_LD_TPRF                             0x000C
    #define   LSb32ISA_X2Q_LD_TPRF                                8
    #define   LSb16ISA_X2Q_LD_TPRF                                8
    #define       bISA_X2Q_LD_TPRF                             1
    #define   MSK32ISA_X2Q_LD_TPRF                                0x00000100

    #define     BA_ISA_X2Q_LD_TPJ                              0x000D
    #define     B16ISA_X2Q_LD_TPJ                              0x000C
    #define   LSb32ISA_X2Q_LD_TPJ                                 9
    #define   LSb16ISA_X2Q_LD_TPJ                                 9
    #define       bISA_X2Q_LD_TPJ                              1
    #define   MSK32ISA_X2Q_LD_TPJ                                 0x00000200

    #define     BA_ISA_X2Q_LD_TP4S                             0x000D
    #define     B16ISA_X2Q_LD_TP4S                             0x000C
    #define   LSb32ISA_X2Q_LD_TP4S                                10
    #define   LSb16ISA_X2Q_LD_TP4S                                10
    #define       bISA_X2Q_LD_TP4S                             1
    #define   MSK32ISA_X2Q_LD_TP4S                                0x00000400

    #define     BA_ISA_X2Q_LD_TP8L                             0x000D
    #define     B16ISA_X2Q_LD_TP8L                             0x000C
    #define   LSb32ISA_X2Q_LD_TP8L                                11
    #define   LSb16ISA_X2Q_LD_TP8L                                11
    #define       bISA_X2Q_LD_TP8L                             1
    #define   MSK32ISA_X2Q_LD_TP8L                                0x00000800

    #define     BA_ISA_X2Q_LD_TP8H                             0x000D
    #define     B16ISA_X2Q_LD_TP8H                             0x000C
    #define   LSb32ISA_X2Q_LD_TP8H                                12
    #define   LSb16ISA_X2Q_LD_TP8H                                12
    #define       bISA_X2Q_LD_TP8H                             1
    #define   MSK32ISA_X2Q_LD_TP8H                                0x00001000

    #define     BA_ISA_X2Q_LD_TP8LF                            0x000D
    #define     B16ISA_X2Q_LD_TP8LF                            0x000C
    #define   LSb32ISA_X2Q_LD_TP8LF                               13
    #define   LSb16ISA_X2Q_LD_TP8LF                               13
    #define       bISA_X2Q_LD_TP8LF                            1
    #define   MSK32ISA_X2Q_LD_TP8LF                               0x00002000

    #define     BA_ISA_X2Q_LD_TP8HF                            0x000D
    #define     B16ISA_X2Q_LD_TP8HF                            0x000C
    #define   LSb32ISA_X2Q_LD_TP8HF                               14
    #define   LSb16ISA_X2Q_LD_TP8HF                               14
    #define       bISA_X2Q_LD_TP8HF                            1
    #define   MSK32ISA_X2Q_LD_TP8HF                               0x00004000

    #define     BA_ISA_X2Q_LD_SQRF64                           0x000D
    #define     B16ISA_X2Q_LD_SQRF64                           0x000C
    #define   LSb32ISA_X2Q_LD_SQRF64                              15
    #define   LSb16ISA_X2Q_LD_SQRF64                              15
    #define       bISA_X2Q_LD_SQRF64                           1
    #define   MSK32ISA_X2Q_LD_SQRF64                              0x00008000

    #define     BA_ISA_X2Q_LD_TQRF16Q                          0x000E
    #define     B16ISA_X2Q_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_X2Q_LD_TQRF16Q                             16
    #define   LSb16ISA_X2Q_LD_TQRF16Q                             0
    #define       bISA_X2Q_LD_TQRF16Q                          1
    #define   MSK32ISA_X2Q_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_X2Q_LD_TQRFx4                           0x000E
    #define     B16ISA_X2Q_LD_TQRFx4                           0x000E
    #define   LSb32ISA_X2Q_LD_TQRFx4                              17
    #define   LSb16ISA_X2Q_LD_TQRFx4                              1
    #define       bISA_X2Q_LD_TQRFx4                           1
    #define   MSK32ISA_X2Q_LD_TQRFx4                              0x00020000

    #define     BA_ISA_X2Q_LD_RD                               0x000E
    #define     B16ISA_X2Q_LD_RD                               0x000E
    #define   LSb32ISA_X2Q_LD_RD                                  18
    #define   LSb16ISA_X2Q_LD_RD                                  2
    #define       bISA_X2Q_LD_RD                               1
    #define   MSK32ISA_X2Q_LD_RD                                  0x00040000

    #define     BA_ISA_X2Q_LD_WARF                             0x000E
    #define     B16ISA_X2Q_LD_WARF                             0x000E
    #define   LSb32ISA_X2Q_LD_WARF                                19
    #define   LSb16ISA_X2Q_LD_WARF                                3
    #define       bISA_X2Q_LD_WARF                             1
    #define   MSK32ISA_X2Q_LD_WARF                                0x00080000

    #define     BA_ISA_X2Q_LD_WAK8                             0x000E
    #define     B16ISA_X2Q_LD_WAK8                             0x000E
    #define   LSb32ISA_X2Q_LD_WAK8                                20
    #define   LSb16ISA_X2Q_LD_WAK8                                4
    #define       bISA_X2Q_LD_WAK8                             1
    #define   MSK32ISA_X2Q_LD_WAK8                                0x00100000

    #define     BA_ISA_X2Q_LD_WAK16                            0x000E
    #define     B16ISA_X2Q_LD_WAK16                            0x000E
    #define   LSb32ISA_X2Q_LD_WAK16                               21
    #define   LSb16ISA_X2Q_LD_WAK16                               5
    #define       bISA_X2Q_LD_WAK16                            1
    #define   MSK32ISA_X2Q_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_EX                                  0x0010

    #define     BA_ISA_X2Q_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagZ                          0
    #define   LSb16ISA_X2Q_EX_ALU16FlagZ                          0
    #define       bISA_X2Q_EX_ALU16FlagZ                       1
    #define   MSK32ISA_X2Q_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_X2Q_EX_ALU16FlagC                       0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagC                          1
    #define   LSb16ISA_X2Q_EX_ALU16FlagC                          1
    #define       bISA_X2Q_EX_ALU16FlagC                       1
    #define   MSK32ISA_X2Q_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_X2Q_EX_ALU16FlagN                       0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagN                          2
    #define   LSb16ISA_X2Q_EX_ALU16FlagN                          2
    #define       bISA_X2Q_EX_ALU16FlagN                       1
    #define   MSK32ISA_X2Q_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_X2Q_EX_ALU16FlagV                       0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagV                          3
    #define   LSb16ISA_X2Q_EX_ALU16FlagV                          3
    #define       bISA_X2Q_EX_ALU16FlagV                       1
    #define   MSK32ISA_X2Q_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_X2Q_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagTP                         4
    #define   LSb16ISA_X2Q_EX_ALU16FlagTP                         4
    #define       bISA_X2Q_EX_ALU16FlagTP                      1
    #define   MSK32ISA_X2Q_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_X2Q_EX_ALU16MUL                         0x0010
    #define     B16ISA_X2Q_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16MUL                            5
    #define   LSb16ISA_X2Q_EX_ALU16MUL                            5
    #define       bISA_X2Q_EX_ALU16MUL                         1
    #define   MSK32ISA_X2Q_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_X2Q_EX_ALU16DIV                         0x0010
    #define     B16ISA_X2Q_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16DIV                            6
    #define   LSb16ISA_X2Q_EX_ALU16DIV                            6
    #define       bISA_X2Q_EX_ALU16DIV                         1
    #define   MSK32ISA_X2Q_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_X2Q_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_X2Q_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_X2Q_EX_ALU16FlagLD                         7
    #define   LSb16ISA_X2Q_EX_ALU16FlagLD                         7
    #define       bISA_X2Q_EX_ALU16FlagLD                      1
    #define   MSK32ISA_X2Q_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_X2Q_EX_ALU16MDL                         0x0011
    #define     B16ISA_X2Q_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16MDL                            8
    #define   LSb16ISA_X2Q_EX_ALU16MDL                            8
    #define       bISA_X2Q_EX_ALU16MDL                         1
    #define   MSK32ISA_X2Q_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_X2Q_EX_ALU16MDH                         0x0011
    #define     B16ISA_X2Q_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16MDH                            9
    #define   LSb16ISA_X2Q_EX_ALU16MDH                            9
    #define       bISA_X2Q_EX_ALU16MDH                         1
    #define   MSK32ISA_X2Q_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_X2Q_EX_ALU16ADD                         0x0011
    #define     B16ISA_X2Q_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16ADD                            10
    #define   LSb16ISA_X2Q_EX_ALU16ADD                            10
    #define       bISA_X2Q_EX_ALU16ADD                         1
    #define   MSK32ISA_X2Q_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_X2Q_EX_ALU16SUB                         0x0011
    #define     B16ISA_X2Q_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16SUB                            11
    #define   LSb16ISA_X2Q_EX_ALU16SUB                            11
    #define       bISA_X2Q_EX_ALU16SUB                         1
    #define   MSK32ISA_X2Q_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_X2Q_EX_ALU16ADDC                        0x0011
    #define     B16ISA_X2Q_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_X2Q_EX_ALU16ADDC                           12
    #define   LSb16ISA_X2Q_EX_ALU16ADDC                           12
    #define       bISA_X2Q_EX_ALU16ADDC                        1
    #define   MSK32ISA_X2Q_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_X2Q_EX_ALU16SUBC                        0x0011
    #define     B16ISA_X2Q_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_X2Q_EX_ALU16SUBC                           13
    #define   LSb16ISA_X2Q_EX_ALU16SUBC                           13
    #define       bISA_X2Q_EX_ALU16SUBC                        1
    #define   MSK32ISA_X2Q_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_X2Q_EX_ALU16ASR                         0x0011
    #define     B16ISA_X2Q_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_X2Q_EX_ALU16ASR                            14
    #define   LSb16ISA_X2Q_EX_ALU16ASR                            14
    #define       bISA_X2Q_EX_ALU16ASR                         1
    #define   MSK32ISA_X2Q_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_X2Q_EX_ALU16SL                          0x0011
    #define     B16ISA_X2Q_EX_ALU16SL                          0x0010
    #define   LSb32ISA_X2Q_EX_ALU16SL                             15
    #define   LSb16ISA_X2Q_EX_ALU16SL                             15
    #define       bISA_X2Q_EX_ALU16SL                          1
    #define   MSK32ISA_X2Q_EX_ALU16SL                             0x00008000

    #define     BA_ISA_X2Q_EX_ALU16SR                          0x0012
    #define     B16ISA_X2Q_EX_ALU16SR                          0x0012
    #define   LSb32ISA_X2Q_EX_ALU16SR                             16
    #define   LSb16ISA_X2Q_EX_ALU16SR                             0
    #define       bISA_X2Q_EX_ALU16SR                          1
    #define   MSK32ISA_X2Q_EX_ALU16SR                             0x00010000

    #define     BA_ISA_X2Q_EX_ALU16GET                         0x0012
    #define     B16ISA_X2Q_EX_ALU16GET                         0x0012
    #define   LSb32ISA_X2Q_EX_ALU16GET                            17
    #define   LSb16ISA_X2Q_EX_ALU16GET                            1
    #define       bISA_X2Q_EX_ALU16GET                         1
    #define   MSK32ISA_X2Q_EX_ALU16GET                            0x00020000

    #define     BA_ISA_X2Q_EX_ALU16SET                         0x0012
    #define     B16ISA_X2Q_EX_ALU16SET                         0x0012
    #define   LSb32ISA_X2Q_EX_ALU16SET                            18
    #define   LSb16ISA_X2Q_EX_ALU16SET                            2
    #define       bISA_X2Q_EX_ALU16SET                         1
    #define   MSK32ISA_X2Q_EX_ALU16SET                            0x00040000

    #define     BA_ISA_X2Q_EX_ALU16SEL                         0x0012
    #define     B16ISA_X2Q_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_X2Q_EX_ALU16SEL                            19
    #define   LSb16ISA_X2Q_EX_ALU16SEL                            3
    #define       bISA_X2Q_EX_ALU16SEL                         1
    #define   MSK32ISA_X2Q_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_X2Q_EX_ALU16OR                          0x0012
    #define     B16ISA_X2Q_EX_ALU16OR                          0x0012
    #define   LSb32ISA_X2Q_EX_ALU16OR                             20
    #define   LSb16ISA_X2Q_EX_ALU16OR                             4
    #define       bISA_X2Q_EX_ALU16OR                          1
    #define   MSK32ISA_X2Q_EX_ALU16OR                             0x00100000

    #define     BA_ISA_X2Q_EX_ALU16AND                         0x0012
    #define     B16ISA_X2Q_EX_ALU16AND                         0x0012
    #define   LSb32ISA_X2Q_EX_ALU16AND                            21
    #define   LSb16ISA_X2Q_EX_ALU16AND                            5
    #define       bISA_X2Q_EX_ALU16AND                         1
    #define   MSK32ISA_X2Q_EX_ALU16AND                            0x00200000

    #define     BA_ISA_X2Q_EX_ALU16XOR                         0x0012
    #define     B16ISA_X2Q_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_X2Q_EX_ALU16XOR                            22
    #define   LSb16ISA_X2Q_EX_ALU16XOR                            6
    #define       bISA_X2Q_EX_ALU16XOR                         1
    #define   MSK32ISA_X2Q_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_X2Q_EX_ALU16SP                          0x0012
    #define     B16ISA_X2Q_EX_ALU16SP                          0x0012
    #define   LSb32ISA_X2Q_EX_ALU16SP                             23
    #define   LSb16ISA_X2Q_EX_ALU16SP                             7
    #define       bISA_X2Q_EX_ALU16SP                          1
    #define   MSK32ISA_X2Q_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_EXX                                 0x0014

    #define     BA_ISA_X2Q_EXX_WRSQ                            0x0014
    #define     B16ISA_X2Q_EXX_WRSQ                            0x0014
    #define   LSb32ISA_X2Q_EXX_WRSQ                               0
    #define   LSb16ISA_X2Q_EXX_WRSQ                               0
    #define       bISA_X2Q_EXX_WRSQ                            1
    #define   MSK32ISA_X2Q_EXX_WRSQ                               0x00000001

    #define     BA_ISA_X2Q_EXX_WR16                            0x0014
    #define     B16ISA_X2Q_EXX_WR16                            0x0014
    #define   LSb32ISA_X2Q_EXX_WR16                               1
    #define   LSb16ISA_X2Q_EXX_WR16                               1
    #define       bISA_X2Q_EXX_WR16                            1
    #define   MSK32ISA_X2Q_EXX_WR16                               0x00000002

    #define     BA_ISA_X2Q_EXX_WRTQ                            0x0014
    #define     B16ISA_X2Q_EXX_WRTQ                            0x0014
    #define   LSb32ISA_X2Q_EXX_WRTQ                               2
    #define   LSb16ISA_X2Q_EXX_WRTQ                               2
    #define       bISA_X2Q_EXX_WRTQ                            1
    #define   MSK32ISA_X2Q_EXX_WRTQ                               0x00000004

    #define     BA_ISA_X2Q_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_X2Q_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_X2Q_EXX_ALU64PUSH                          3
    #define   LSb16ISA_X2Q_EXX_ALU64PUSH                          3
    #define       bISA_X2Q_EXX_ALU64PUSH                       1
    #define   MSK32ISA_X2Q_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_X2Q_EXX_ALU64POP                        0x0014
    #define     B16ISA_X2Q_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_X2Q_EXX_ALU64POP                           4
    #define   LSb16ISA_X2Q_EXX_ALU64POP                           4
    #define       bISA_X2Q_EXX_ALU64POP                        1
    #define   MSK32ISA_X2Q_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_X2Q_EXX_ALU64SQ                         0x0014
    #define     B16ISA_X2Q_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_X2Q_EXX_ALU64SQ                            5
    #define   LSb16ISA_X2Q_EXX_ALU64SQ                            5
    #define       bISA_X2Q_EXX_ALU64SQ                         1
    #define   MSK32ISA_X2Q_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_X2Q_EXX_ALU64TQ                         0x0014
    #define     B16ISA_X2Q_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_X2Q_EXX_ALU64TQ                            6
    #define   LSb16ISA_X2Q_EXX_ALU64TQ                            6
    #define       bISA_X2Q_EXX_ALU64TQ                         1
    #define   MSK32ISA_X2Q_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_X2Q_EXX_ALU64MEM                        0x0014
    #define     B16ISA_X2Q_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_X2Q_EXX_ALU64MEM                           7
    #define   LSb16ISA_X2Q_EXX_ALU64MEM                           7
    #define       bISA_X2Q_EXX_ALU64MEM                        1
    #define   MSK32ISA_X2Q_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_X2Q_EXX_BRANCH                          0x0015
    #define     B16ISA_X2Q_EXX_BRANCH                          0x0014
    #define   LSb32ISA_X2Q_EXX_BRANCH                             8
    #define   LSb16ISA_X2Q_EXX_BRANCH                             8
    #define       bISA_X2Q_EXX_BRANCH                          1
    #define   MSK32ISA_X2Q_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_X2Q_WB                                  0x0018

    #define     BA_ISA_X2Q_WB_RF16                             0x0018
    #define     B16ISA_X2Q_WB_RF16                             0x0018
    #define   LSb32ISA_X2Q_WB_RF16                                0
    #define   LSb16ISA_X2Q_WB_RF16                                0
    #define       bISA_X2Q_WB_RF16                             1
    #define   MSK32ISA_X2Q_WB_RF16                                0x00000001

    #define     BA_ISA_X2Q_WB_RF16W0                           0x0018
    #define     B16ISA_X2Q_WB_RF16W0                           0x0018
    #define   LSb32ISA_X2Q_WB_RF16W0                              1
    #define   LSb16ISA_X2Q_WB_RF16W0                              1
    #define       bISA_X2Q_WB_RF16W0                           1
    #define   MSK32ISA_X2Q_WB_RF16W0                              0x00000002

    #define     BA_ISA_X2Q_WB_RF16MEM                          0x0018
    #define     B16ISA_X2Q_WB_RF16MEM                          0x0018
    #define   LSb32ISA_X2Q_WB_RF16MEM                             2
    #define   LSb16ISA_X2Q_WB_RF16MEM                             2
    #define       bISA_X2Q_WB_RF16MEM                          1
    #define   MSK32ISA_X2Q_WB_RF16MEM                             0x00000004

    #define     BA_ISA_X2Q_WB_RF16Q                            0x0018
    #define     B16ISA_X2Q_WB_RF16Q                            0x0018
    #define   LSb32ISA_X2Q_WB_RF16Q                               3
    #define   LSb16ISA_X2Q_WB_RF16Q                               3
    #define       bISA_X2Q_WB_RF16Q                            1
    #define   MSK32ISA_X2Q_WB_RF16Q                               0x00000008

    #define     BA_ISA_X2Q_WB_RF64                             0x0018
    #define     B16ISA_X2Q_WB_RF64                             0x0018
    #define   LSb32ISA_X2Q_WB_RF64                                4
    #define   LSb16ISA_X2Q_WB_RF64                                4
    #define       bISA_X2Q_WB_RF64                             1
    #define   MSK32ISA_X2Q_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_X2Q {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_X2Q_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_X2Q_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_X2Q_Mask;
            struct w32ISA_X2Q_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_X2Q_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_X2Q_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_X2Q_Opcode;
            struct w32ISA_X2Q_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_X2Q_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_X2Q_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_X2Q_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_X2Q_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_X2Q_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_X2Q_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_X2Q_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_X2Q_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_X2Q_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_X2Q_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_X2Q_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_X2Q_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_X2Q_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_X2Q_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_X2Q_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_X2Q_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_X2Q_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_X2Q_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_X2Q_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_X2Q_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_X2Q_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_X2Q_ID;
            struct w32ISA_X2Q_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_X2Q_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_X2Q_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_X2Q_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_X2Q_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_X2Q_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_X2Q_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_X2Q_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_X2Q_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_X2Q_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_X2Q_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_X2Q_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_X2Q_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_X2Q_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_X2Q_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_X2Q_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_X2Q_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_X2Q_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_X2Q_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_X2Q_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_X2Q_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_X2Q_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_X2Q_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_X2Q_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_X2Q_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_X2Q_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_X2Q_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_X2Q_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_X2Q_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_X2Q_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_X2Q_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_X2Q_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_X2Q_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_X2Q_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_X2Q_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_X2Q_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_X2Q_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_X2Q_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_X2Q_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_X2Q_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_X2Q_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_X2Q_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_X2Q_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_X2Q_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_X2Q_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_X2Q_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_X2Q_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_X2Q_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_X2Q_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_X2Q_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_X2Q_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_X2Q_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_X2Q_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_X2Q_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_X2Q_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_X2Q_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_X2Q_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_X2Q_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_X2Q_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_X2Q_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_X2Q_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_X2Q_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_X2Q_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_X2Q_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_X2Q_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_X2Q_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_X2Q_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_X2Q_LD;
            struct w32ISA_X2Q_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_X2Q_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_X2Q_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_X2Q_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_X2Q_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_X2Q_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_X2Q_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_X2Q_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_X2Q_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_X2Q_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_X2Q_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_X2Q_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_X2Q_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_X2Q_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_X2Q_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_X2Q_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_X2Q_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_X2Q_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_X2Q_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_X2Q_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_X2Q_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_X2Q_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_X2Q_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_X2Q_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_X2Q_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_X2Q_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_X2Q_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_X2Q_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_X2Q_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_X2Q_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_X2Q_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_X2Q_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_X2Q_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_X2Q_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_X2Q_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_X2Q_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_X2Q_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_X2Q_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_X2Q_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_X2Q_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_X2Q_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_X2Q_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_X2Q_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_X2Q_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_X2Q_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_X2Q_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_X2Q_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_X2Q_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_X2Q_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_X2Q_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_X2Q_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_X2Q_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_X2Q_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_X2Q_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_X2Q_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_X2Q_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_X2Q_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_X2Q_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_X2Q_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_X2Q_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_X2Q_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_X2Q_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_X2Q_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_X2Q_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_X2Q_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_X2Q_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_X2Q_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_X2Q_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_X2Q_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_X2Q_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_X2Q_EX;
            struct w32ISA_X2Q_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_X2Q_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_X2Q_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_X2Q_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_X2Q_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_X2Q_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_X2Q_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_X2Q_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_X2Q_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_X2Q_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_X2Q_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_X2Q_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_X2Q_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_X2Q_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_X2Q_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_X2Q_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_X2Q_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_X2Q_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_X2Q_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_X2Q_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_X2Q_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_X2Q_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_X2Q_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_X2Q_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_X2Q_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_X2Q_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_X2Q_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_X2Q_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_X2Q_EXX;
            struct w32ISA_X2Q_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_X2Q_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_X2Q_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_X2Q_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_X2Q_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_X2Q_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_X2Q_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_X2Q_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_X2Q_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_X2Q_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_X2Q_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_X2Q_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_X2Q_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_X2Q_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_X2Q_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_X2Q_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_X2Q_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_X2Q_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_X2Q_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_X2Q_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_X2Q_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_X2Q_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_X2Q_WB;
            struct w32ISA_X2Q_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_X2Q;

    typedef union  T32ISA_X2Q_Mask
          { UNSG32 u32;
            struct w32ISA_X2Q_Mask;
                 } T32ISA_X2Q_Mask;
    typedef union  T32ISA_X2Q_Opcode
          { UNSG32 u32;
            struct w32ISA_X2Q_Opcode;
                 } T32ISA_X2Q_Opcode;
    typedef union  T32ISA_X2Q_ID
          { UNSG32 u32;
            struct w32ISA_X2Q_ID;
                 } T32ISA_X2Q_ID;
    typedef union  T32ISA_X2Q_LD
          { UNSG32 u32;
            struct w32ISA_X2Q_LD;
                 } T32ISA_X2Q_LD;
    typedef union  T32ISA_X2Q_EX
          { UNSG32 u32;
            struct w32ISA_X2Q_EX;
                 } T32ISA_X2Q_EX;
    typedef union  T32ISA_X2Q_EXX
          { UNSG32 u32;
            struct w32ISA_X2Q_EXX;
                 } T32ISA_X2Q_EXX;
    typedef union  T32ISA_X2Q_WB
          { UNSG32 u32;
            struct w32ISA_X2Q_WB;
                 } T32ISA_X2Q_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_X2Q_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_Mask;
                   };
                 } TISA_X2Q_Mask;
    typedef union  TISA_X2Q_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_Opcode;
                   };
                 } TISA_X2Q_Opcode;
    typedef union  TISA_X2Q_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_ID;
                   };
                 } TISA_X2Q_ID;
    typedef union  TISA_X2Q_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_LD;
                   };
                 } TISA_X2Q_LD;
    typedef union  TISA_X2Q_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_EX;
                   };
                 } TISA_X2Q_EX;
    typedef union  TISA_X2Q_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_EXX;
                   };
                 } TISA_X2Q_EXX;
    typedef union  TISA_X2Q_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_X2Q_WB;
                   };
                 } TISA_X2Q_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_X2Q_drvrd(SIE_ISA_X2Q *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_X2Q_drvwr(SIE_ISA_X2Q *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_X2Q_reset(SIE_ISA_X2Q *p);
     SIGN32 ISA_X2Q_cmp  (SIE_ISA_X2Q *p, SIE_ISA_X2Q *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_X2Q_check(p,pie,pfx,hLOG) ISA_X2Q_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_X2Q_print(p,    pfx,hLOG) ISA_X2Q_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_X2Q
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_Q2X                                  (4,4)
///     ###
///     * Load a 64b quad-register in RF16 from a RF64 entry.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x330000
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q2X"     , "xT,qS"       , "0011 0011 ---- ---- TTSS SSSS" } ,
///                                    * - Usage:
///                                    * -    Q2X      %x2, %q0        ; %x2 = %q0;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    0x1
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   0x1
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     0x1
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_Q2X
#define h_ISA_Q2X (){}

    #define     RA_ISA_Q2X_Mask                                0x0000

    #define     BA_ISA_Q2X_Mask_INS                            0x0000
    #define     B16ISA_Q2X_Mask_INS                            0x0000
    #define   LSb32ISA_Q2X_Mask_INS                               0
    #define   LSb16ISA_Q2X_Mask_INS                               0
    #define       bISA_Q2X_Mask_INS                            24
    #define   MSK32ISA_Q2X_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_Opcode                              0x0004

    #define     BA_ISA_Q2X_Opcode_INS                          0x0004
    #define     B16ISA_Q2X_Opcode_INS                          0x0004
    #define   LSb32ISA_Q2X_Opcode_INS                             0
    #define   LSb16ISA_Q2X_Opcode_INS                             0
    #define       bISA_Q2X_Opcode_INS                          24
    #define   MSK32ISA_Q2X_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_ID                                  0x0008

    #define     BA_ISA_Q2X_ID_RBRF                             0x0008
    #define     B16ISA_Q2X_ID_RBRF                             0x0008
    #define   LSb32ISA_Q2X_ID_RBRF                                0
    #define   LSb16ISA_Q2X_ID_RBRF                                0
    #define       bISA_Q2X_ID_RBRF                             1
    #define   MSK32ISA_Q2X_ID_RBRF                                0x00000001

    #define     BA_ISA_Q2X_ID_RARF                             0x0008
    #define     B16ISA_Q2X_ID_RARF                             0x0008
    #define   LSb32ISA_Q2X_ID_RARF                                1
    #define   LSb16ISA_Q2X_ID_RARF                                1
    #define       bISA_Q2X_ID_RARF                             1
    #define   MSK32ISA_Q2X_ID_RARF                                0x00000002

    #define     BA_ISA_Q2X_ID_RAK8                             0x0008
    #define     B16ISA_Q2X_ID_RAK8                             0x0008
    #define   LSb32ISA_Q2X_ID_RAK8                                2
    #define   LSb16ISA_Q2X_ID_RAK8                                2
    #define       bISA_Q2X_ID_RAK8                             1
    #define   MSK32ISA_Q2X_ID_RAK8                                0x00000004

    #define     BA_ISA_Q2X_ID_RAI16                            0x0008
    #define     B16ISA_Q2X_ID_RAI16                            0x0008
    #define   LSb32ISA_Q2X_ID_RAI16                               3
    #define   LSb16ISA_Q2X_ID_RAI16                               3
    #define       bISA_Q2X_ID_RAI16                            1
    #define   MSK32ISA_Q2X_ID_RAI16                               0x00000008

    #define     BA_ISA_Q2X_ID_RAK16                            0x0008
    #define     B16ISA_Q2X_ID_RAK16                            0x0008
    #define   LSb32ISA_Q2X_ID_RAK16                               4
    #define   LSb16ISA_Q2X_ID_RAK16                               4
    #define       bISA_Q2X_ID_RAK16                            1
    #define   MSK32ISA_Q2X_ID_RAK16                               0x00000010

    #define     BA_ISA_Q2X_ID_RFSP                             0x0008
    #define     B16ISA_Q2X_ID_RFSP                             0x0008
    #define   LSb32ISA_Q2X_ID_RFSP                                5
    #define   LSb16ISA_Q2X_ID_RFSP                                5
    #define       bISA_Q2X_ID_RFSP                             1
    #define   MSK32ISA_Q2X_ID_RFSP                                0x00000020

    #define     BA_ISA_Q2X_ID_W4D4                             0x0008
    #define     B16ISA_Q2X_ID_W4D4                             0x0008
    #define   LSb32ISA_Q2X_ID_W4D4                                6
    #define   LSb16ISA_Q2X_ID_W4D4                                6
    #define       bISA_Q2X_ID_W4D4                             1
    #define   MSK32ISA_Q2X_ID_W4D4                                0x00000040

    #define     BA_ISA_Q2X_ID_W4S4                             0x0008
    #define     B16ISA_Q2X_ID_W4S4                             0x0008
    #define   LSb32ISA_Q2X_ID_W4S4                                7
    #define   LSb16ISA_Q2X_ID_W4S4                                7
    #define       bISA_Q2X_ID_W4S4                             1
    #define   MSK32ISA_Q2X_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_LD                                  0x000C

    #define     BA_ISA_Q2X_LD_SPRF                             0x000C
    #define     B16ISA_Q2X_LD_SPRF                             0x000C
    #define   LSb32ISA_Q2X_LD_SPRF                                0
    #define   LSb16ISA_Q2X_LD_SPRF                                0
    #define       bISA_Q2X_LD_SPRF                             1
    #define   MSK32ISA_Q2X_LD_SPRF                                0x00000001

    #define     BA_ISA_Q2X_LD_SPK8                             0x000C
    #define     B16ISA_Q2X_LD_SPK8                             0x000C
    #define   LSb32ISA_Q2X_LD_SPK8                                1
    #define   LSb16ISA_Q2X_LD_SPK8                                1
    #define       bISA_Q2X_LD_SPK8                             1
    #define   MSK32ISA_Q2X_LD_SPK8                                0x00000002

    #define     BA_ISA_Q2X_LD_SPJ                              0x000C
    #define     B16ISA_Q2X_LD_SPJ                              0x000C
    #define   LSb32ISA_Q2X_LD_SPJ                                 2
    #define   LSb16ISA_Q2X_LD_SPJ                                 2
    #define       bISA_Q2X_LD_SPJ                              1
    #define   MSK32ISA_Q2X_LD_SPJ                                 0x00000004

    #define     BA_ISA_Q2X_LD_SP4S                             0x000C
    #define     B16ISA_Q2X_LD_SP4S                             0x000C
    #define   LSb32ISA_Q2X_LD_SP4S                                3
    #define   LSb16ISA_Q2X_LD_SP4S                                3
    #define       bISA_Q2X_LD_SP4S                             1
    #define   MSK32ISA_Q2X_LD_SP4S                                0x00000008

    #define     BA_ISA_Q2X_LD_SP8S                             0x000C
    #define     B16ISA_Q2X_LD_SP8S                             0x000C
    #define   LSb32ISA_Q2X_LD_SP8S                                4
    #define   LSb16ISA_Q2X_LD_SP8S                                4
    #define       bISA_Q2X_LD_SP8S                             1
    #define   MSK32ISA_Q2X_LD_SP8S                                0x00000010

    #define     BA_ISA_Q2X_LD_SP8U                             0x000C
    #define     B16ISA_Q2X_LD_SP8U                             0x000C
    #define   LSb32ISA_Q2X_LD_SP8U                                5
    #define   LSb16ISA_Q2X_LD_SP8U                                5
    #define       bISA_Q2X_LD_SP8U                             1
    #define   MSK32ISA_Q2X_LD_SP8U                                0x00000020

    #define     BA_ISA_Q2X_LD_SP12S                            0x000C
    #define     B16ISA_Q2X_LD_SP12S                            0x000C
    #define   LSb32ISA_Q2X_LD_SP12S                               6
    #define   LSb16ISA_Q2X_LD_SP12S                               6
    #define       bISA_Q2X_LD_SP12S                            1
    #define   MSK32ISA_Q2X_LD_SP12S                               0x00000040

    #define     BA_ISA_Q2X_LD_SP16                             0x000C
    #define     B16ISA_Q2X_LD_SP16                             0x000C
    #define   LSb32ISA_Q2X_LD_SP16                                7
    #define   LSb16ISA_Q2X_LD_SP16                                7
    #define       bISA_Q2X_LD_SP16                             1
    #define   MSK32ISA_Q2X_LD_SP16                                0x00000080

    #define     BA_ISA_Q2X_LD_TPRF                             0x000D
    #define     B16ISA_Q2X_LD_TPRF                             0x000C
    #define   LSb32ISA_Q2X_LD_TPRF                                8
    #define   LSb16ISA_Q2X_LD_TPRF                                8
    #define       bISA_Q2X_LD_TPRF                             1
    #define   MSK32ISA_Q2X_LD_TPRF                                0x00000100

    #define     BA_ISA_Q2X_LD_TPJ                              0x000D
    #define     B16ISA_Q2X_LD_TPJ                              0x000C
    #define   LSb32ISA_Q2X_LD_TPJ                                 9
    #define   LSb16ISA_Q2X_LD_TPJ                                 9
    #define       bISA_Q2X_LD_TPJ                              1
    #define   MSK32ISA_Q2X_LD_TPJ                                 0x00000200

    #define     BA_ISA_Q2X_LD_TP4S                             0x000D
    #define     B16ISA_Q2X_LD_TP4S                             0x000C
    #define   LSb32ISA_Q2X_LD_TP4S                                10
    #define   LSb16ISA_Q2X_LD_TP4S                                10
    #define       bISA_Q2X_LD_TP4S                             1
    #define   MSK32ISA_Q2X_LD_TP4S                                0x00000400

    #define     BA_ISA_Q2X_LD_TP8L                             0x000D
    #define     B16ISA_Q2X_LD_TP8L                             0x000C
    #define   LSb32ISA_Q2X_LD_TP8L                                11
    #define   LSb16ISA_Q2X_LD_TP8L                                11
    #define       bISA_Q2X_LD_TP8L                             1
    #define   MSK32ISA_Q2X_LD_TP8L                                0x00000800

    #define     BA_ISA_Q2X_LD_TP8H                             0x000D
    #define     B16ISA_Q2X_LD_TP8H                             0x000C
    #define   LSb32ISA_Q2X_LD_TP8H                                12
    #define   LSb16ISA_Q2X_LD_TP8H                                12
    #define       bISA_Q2X_LD_TP8H                             1
    #define   MSK32ISA_Q2X_LD_TP8H                                0x00001000

    #define     BA_ISA_Q2X_LD_TP8LF                            0x000D
    #define     B16ISA_Q2X_LD_TP8LF                            0x000C
    #define   LSb32ISA_Q2X_LD_TP8LF                               13
    #define   LSb16ISA_Q2X_LD_TP8LF                               13
    #define       bISA_Q2X_LD_TP8LF                            1
    #define   MSK32ISA_Q2X_LD_TP8LF                               0x00002000

    #define     BA_ISA_Q2X_LD_TP8HF                            0x000D
    #define     B16ISA_Q2X_LD_TP8HF                            0x000C
    #define   LSb32ISA_Q2X_LD_TP8HF                               14
    #define   LSb16ISA_Q2X_LD_TP8HF                               14
    #define       bISA_Q2X_LD_TP8HF                            1
    #define   MSK32ISA_Q2X_LD_TP8HF                               0x00004000

    #define     BA_ISA_Q2X_LD_SQRF64                           0x000D
    #define     B16ISA_Q2X_LD_SQRF64                           0x000C
    #define   LSb32ISA_Q2X_LD_SQRF64                              15
    #define   LSb16ISA_Q2X_LD_SQRF64                              15
    #define       bISA_Q2X_LD_SQRF64                           1
    #define   MSK32ISA_Q2X_LD_SQRF64                              0x00008000

    #define     BA_ISA_Q2X_LD_TQRF16Q                          0x000E
    #define     B16ISA_Q2X_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_Q2X_LD_TQRF16Q                             16
    #define   LSb16ISA_Q2X_LD_TQRF16Q                             0
    #define       bISA_Q2X_LD_TQRF16Q                          1
    #define   MSK32ISA_Q2X_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_Q2X_LD_TQRFx4                           0x000E
    #define     B16ISA_Q2X_LD_TQRFx4                           0x000E
    #define   LSb32ISA_Q2X_LD_TQRFx4                              17
    #define   LSb16ISA_Q2X_LD_TQRFx4                              1
    #define       bISA_Q2X_LD_TQRFx4                           1
    #define   MSK32ISA_Q2X_LD_TQRFx4                              0x00020000

    #define     BA_ISA_Q2X_LD_RD                               0x000E
    #define     B16ISA_Q2X_LD_RD                               0x000E
    #define   LSb32ISA_Q2X_LD_RD                                  18
    #define   LSb16ISA_Q2X_LD_RD                                  2
    #define       bISA_Q2X_LD_RD                               1
    #define   MSK32ISA_Q2X_LD_RD                                  0x00040000

    #define     BA_ISA_Q2X_LD_WARF                             0x000E
    #define     B16ISA_Q2X_LD_WARF                             0x000E
    #define   LSb32ISA_Q2X_LD_WARF                                19
    #define   LSb16ISA_Q2X_LD_WARF                                3
    #define       bISA_Q2X_LD_WARF                             1
    #define   MSK32ISA_Q2X_LD_WARF                                0x00080000

    #define     BA_ISA_Q2X_LD_WAK8                             0x000E
    #define     B16ISA_Q2X_LD_WAK8                             0x000E
    #define   LSb32ISA_Q2X_LD_WAK8                                20
    #define   LSb16ISA_Q2X_LD_WAK8                                4
    #define       bISA_Q2X_LD_WAK8                             1
    #define   MSK32ISA_Q2X_LD_WAK8                                0x00100000

    #define     BA_ISA_Q2X_LD_WAK16                            0x000E
    #define     B16ISA_Q2X_LD_WAK16                            0x000E
    #define   LSb32ISA_Q2X_LD_WAK16                               21
    #define   LSb16ISA_Q2X_LD_WAK16                               5
    #define       bISA_Q2X_LD_WAK16                            1
    #define   MSK32ISA_Q2X_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_EX                                  0x0010

    #define     BA_ISA_Q2X_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagZ                          0
    #define   LSb16ISA_Q2X_EX_ALU16FlagZ                          0
    #define       bISA_Q2X_EX_ALU16FlagZ                       1
    #define   MSK32ISA_Q2X_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_Q2X_EX_ALU16FlagC                       0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagC                          1
    #define   LSb16ISA_Q2X_EX_ALU16FlagC                          1
    #define       bISA_Q2X_EX_ALU16FlagC                       1
    #define   MSK32ISA_Q2X_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_Q2X_EX_ALU16FlagN                       0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagN                          2
    #define   LSb16ISA_Q2X_EX_ALU16FlagN                          2
    #define       bISA_Q2X_EX_ALU16FlagN                       1
    #define   MSK32ISA_Q2X_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_Q2X_EX_ALU16FlagV                       0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagV                          3
    #define   LSb16ISA_Q2X_EX_ALU16FlagV                          3
    #define       bISA_Q2X_EX_ALU16FlagV                       1
    #define   MSK32ISA_Q2X_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_Q2X_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagTP                         4
    #define   LSb16ISA_Q2X_EX_ALU16FlagTP                         4
    #define       bISA_Q2X_EX_ALU16FlagTP                      1
    #define   MSK32ISA_Q2X_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_Q2X_EX_ALU16MUL                         0x0010
    #define     B16ISA_Q2X_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16MUL                            5
    #define   LSb16ISA_Q2X_EX_ALU16MUL                            5
    #define       bISA_Q2X_EX_ALU16MUL                         1
    #define   MSK32ISA_Q2X_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_Q2X_EX_ALU16DIV                         0x0010
    #define     B16ISA_Q2X_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16DIV                            6
    #define   LSb16ISA_Q2X_EX_ALU16DIV                            6
    #define       bISA_Q2X_EX_ALU16DIV                         1
    #define   MSK32ISA_Q2X_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_Q2X_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_Q2X_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_Q2X_EX_ALU16FlagLD                         7
    #define   LSb16ISA_Q2X_EX_ALU16FlagLD                         7
    #define       bISA_Q2X_EX_ALU16FlagLD                      1
    #define   MSK32ISA_Q2X_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_Q2X_EX_ALU16MDL                         0x0011
    #define     B16ISA_Q2X_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16MDL                            8
    #define   LSb16ISA_Q2X_EX_ALU16MDL                            8
    #define       bISA_Q2X_EX_ALU16MDL                         1
    #define   MSK32ISA_Q2X_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_Q2X_EX_ALU16MDH                         0x0011
    #define     B16ISA_Q2X_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16MDH                            9
    #define   LSb16ISA_Q2X_EX_ALU16MDH                            9
    #define       bISA_Q2X_EX_ALU16MDH                         1
    #define   MSK32ISA_Q2X_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_Q2X_EX_ALU16ADD                         0x0011
    #define     B16ISA_Q2X_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16ADD                            10
    #define   LSb16ISA_Q2X_EX_ALU16ADD                            10
    #define       bISA_Q2X_EX_ALU16ADD                         1
    #define   MSK32ISA_Q2X_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_Q2X_EX_ALU16SUB                         0x0011
    #define     B16ISA_Q2X_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16SUB                            11
    #define   LSb16ISA_Q2X_EX_ALU16SUB                            11
    #define       bISA_Q2X_EX_ALU16SUB                         1
    #define   MSK32ISA_Q2X_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_Q2X_EX_ALU16ADDC                        0x0011
    #define     B16ISA_Q2X_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_Q2X_EX_ALU16ADDC                           12
    #define   LSb16ISA_Q2X_EX_ALU16ADDC                           12
    #define       bISA_Q2X_EX_ALU16ADDC                        1
    #define   MSK32ISA_Q2X_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_Q2X_EX_ALU16SUBC                        0x0011
    #define     B16ISA_Q2X_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_Q2X_EX_ALU16SUBC                           13
    #define   LSb16ISA_Q2X_EX_ALU16SUBC                           13
    #define       bISA_Q2X_EX_ALU16SUBC                        1
    #define   MSK32ISA_Q2X_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_Q2X_EX_ALU16ASR                         0x0011
    #define     B16ISA_Q2X_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_Q2X_EX_ALU16ASR                            14
    #define   LSb16ISA_Q2X_EX_ALU16ASR                            14
    #define       bISA_Q2X_EX_ALU16ASR                         1
    #define   MSK32ISA_Q2X_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_Q2X_EX_ALU16SL                          0x0011
    #define     B16ISA_Q2X_EX_ALU16SL                          0x0010
    #define   LSb32ISA_Q2X_EX_ALU16SL                             15
    #define   LSb16ISA_Q2X_EX_ALU16SL                             15
    #define       bISA_Q2X_EX_ALU16SL                          1
    #define   MSK32ISA_Q2X_EX_ALU16SL                             0x00008000

    #define     BA_ISA_Q2X_EX_ALU16SR                          0x0012
    #define     B16ISA_Q2X_EX_ALU16SR                          0x0012
    #define   LSb32ISA_Q2X_EX_ALU16SR                             16
    #define   LSb16ISA_Q2X_EX_ALU16SR                             0
    #define       bISA_Q2X_EX_ALU16SR                          1
    #define   MSK32ISA_Q2X_EX_ALU16SR                             0x00010000

    #define     BA_ISA_Q2X_EX_ALU16GET                         0x0012
    #define     B16ISA_Q2X_EX_ALU16GET                         0x0012
    #define   LSb32ISA_Q2X_EX_ALU16GET                            17
    #define   LSb16ISA_Q2X_EX_ALU16GET                            1
    #define       bISA_Q2X_EX_ALU16GET                         1
    #define   MSK32ISA_Q2X_EX_ALU16GET                            0x00020000

    #define     BA_ISA_Q2X_EX_ALU16SET                         0x0012
    #define     B16ISA_Q2X_EX_ALU16SET                         0x0012
    #define   LSb32ISA_Q2X_EX_ALU16SET                            18
    #define   LSb16ISA_Q2X_EX_ALU16SET                            2
    #define       bISA_Q2X_EX_ALU16SET                         1
    #define   MSK32ISA_Q2X_EX_ALU16SET                            0x00040000

    #define     BA_ISA_Q2X_EX_ALU16SEL                         0x0012
    #define     B16ISA_Q2X_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_Q2X_EX_ALU16SEL                            19
    #define   LSb16ISA_Q2X_EX_ALU16SEL                            3
    #define       bISA_Q2X_EX_ALU16SEL                         1
    #define   MSK32ISA_Q2X_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_Q2X_EX_ALU16OR                          0x0012
    #define     B16ISA_Q2X_EX_ALU16OR                          0x0012
    #define   LSb32ISA_Q2X_EX_ALU16OR                             20
    #define   LSb16ISA_Q2X_EX_ALU16OR                             4
    #define       bISA_Q2X_EX_ALU16OR                          1
    #define   MSK32ISA_Q2X_EX_ALU16OR                             0x00100000

    #define     BA_ISA_Q2X_EX_ALU16AND                         0x0012
    #define     B16ISA_Q2X_EX_ALU16AND                         0x0012
    #define   LSb32ISA_Q2X_EX_ALU16AND                            21
    #define   LSb16ISA_Q2X_EX_ALU16AND                            5
    #define       bISA_Q2X_EX_ALU16AND                         1
    #define   MSK32ISA_Q2X_EX_ALU16AND                            0x00200000

    #define     BA_ISA_Q2X_EX_ALU16XOR                         0x0012
    #define     B16ISA_Q2X_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_Q2X_EX_ALU16XOR                            22
    #define   LSb16ISA_Q2X_EX_ALU16XOR                            6
    #define       bISA_Q2X_EX_ALU16XOR                         1
    #define   MSK32ISA_Q2X_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_Q2X_EX_ALU16SP                          0x0012
    #define     B16ISA_Q2X_EX_ALU16SP                          0x0012
    #define   LSb32ISA_Q2X_EX_ALU16SP                             23
    #define   LSb16ISA_Q2X_EX_ALU16SP                             7
    #define       bISA_Q2X_EX_ALU16SP                          1
    #define   MSK32ISA_Q2X_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_EXX                                 0x0014

    #define     BA_ISA_Q2X_EXX_WRSQ                            0x0014
    #define     B16ISA_Q2X_EXX_WRSQ                            0x0014
    #define   LSb32ISA_Q2X_EXX_WRSQ                               0
    #define   LSb16ISA_Q2X_EXX_WRSQ                               0
    #define       bISA_Q2X_EXX_WRSQ                            1
    #define   MSK32ISA_Q2X_EXX_WRSQ                               0x00000001

    #define     BA_ISA_Q2X_EXX_WR16                            0x0014
    #define     B16ISA_Q2X_EXX_WR16                            0x0014
    #define   LSb32ISA_Q2X_EXX_WR16                               1
    #define   LSb16ISA_Q2X_EXX_WR16                               1
    #define       bISA_Q2X_EXX_WR16                            1
    #define   MSK32ISA_Q2X_EXX_WR16                               0x00000002

    #define     BA_ISA_Q2X_EXX_WRTQ                            0x0014
    #define     B16ISA_Q2X_EXX_WRTQ                            0x0014
    #define   LSb32ISA_Q2X_EXX_WRTQ                               2
    #define   LSb16ISA_Q2X_EXX_WRTQ                               2
    #define       bISA_Q2X_EXX_WRTQ                            1
    #define   MSK32ISA_Q2X_EXX_WRTQ                               0x00000004

    #define     BA_ISA_Q2X_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_Q2X_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_Q2X_EXX_ALU64PUSH                          3
    #define   LSb16ISA_Q2X_EXX_ALU64PUSH                          3
    #define       bISA_Q2X_EXX_ALU64PUSH                       1
    #define   MSK32ISA_Q2X_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_Q2X_EXX_ALU64POP                        0x0014
    #define     B16ISA_Q2X_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_Q2X_EXX_ALU64POP                           4
    #define   LSb16ISA_Q2X_EXX_ALU64POP                           4
    #define       bISA_Q2X_EXX_ALU64POP                        1
    #define   MSK32ISA_Q2X_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_Q2X_EXX_ALU64SQ                         0x0014
    #define     B16ISA_Q2X_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_Q2X_EXX_ALU64SQ                            5
    #define   LSb16ISA_Q2X_EXX_ALU64SQ                            5
    #define       bISA_Q2X_EXX_ALU64SQ                         1
    #define   MSK32ISA_Q2X_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_Q2X_EXX_ALU64TQ                         0x0014
    #define     B16ISA_Q2X_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_Q2X_EXX_ALU64TQ                            6
    #define   LSb16ISA_Q2X_EXX_ALU64TQ                            6
    #define       bISA_Q2X_EXX_ALU64TQ                         1
    #define   MSK32ISA_Q2X_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_Q2X_EXX_ALU64MEM                        0x0014
    #define     B16ISA_Q2X_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_Q2X_EXX_ALU64MEM                           7
    #define   LSb16ISA_Q2X_EXX_ALU64MEM                           7
    #define       bISA_Q2X_EXX_ALU64MEM                        1
    #define   MSK32ISA_Q2X_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_Q2X_EXX_BRANCH                          0x0015
    #define     B16ISA_Q2X_EXX_BRANCH                          0x0014
    #define   LSb32ISA_Q2X_EXX_BRANCH                             8
    #define   LSb16ISA_Q2X_EXX_BRANCH                             8
    #define       bISA_Q2X_EXX_BRANCH                          1
    #define   MSK32ISA_Q2X_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_Q2X_WB                                  0x0018

    #define     BA_ISA_Q2X_WB_RF16                             0x0018
    #define     B16ISA_Q2X_WB_RF16                             0x0018
    #define   LSb32ISA_Q2X_WB_RF16                                0
    #define   LSb16ISA_Q2X_WB_RF16                                0
    #define       bISA_Q2X_WB_RF16                             1
    #define   MSK32ISA_Q2X_WB_RF16                                0x00000001

    #define     BA_ISA_Q2X_WB_RF16W0                           0x0018
    #define     B16ISA_Q2X_WB_RF16W0                           0x0018
    #define   LSb32ISA_Q2X_WB_RF16W0                              1
    #define   LSb16ISA_Q2X_WB_RF16W0                              1
    #define       bISA_Q2X_WB_RF16W0                           1
    #define   MSK32ISA_Q2X_WB_RF16W0                              0x00000002

    #define     BA_ISA_Q2X_WB_RF16MEM                          0x0018
    #define     B16ISA_Q2X_WB_RF16MEM                          0x0018
    #define   LSb32ISA_Q2X_WB_RF16MEM                             2
    #define   LSb16ISA_Q2X_WB_RF16MEM                             2
    #define       bISA_Q2X_WB_RF16MEM                          1
    #define   MSK32ISA_Q2X_WB_RF16MEM                             0x00000004

    #define     BA_ISA_Q2X_WB_RF16Q                            0x0018
    #define     B16ISA_Q2X_WB_RF16Q                            0x0018
    #define   LSb32ISA_Q2X_WB_RF16Q                               3
    #define   LSb16ISA_Q2X_WB_RF16Q                               3
    #define       bISA_Q2X_WB_RF16Q                            1
    #define   MSK32ISA_Q2X_WB_RF16Q                               0x00000008

    #define     BA_ISA_Q2X_WB_RF64                             0x0018
    #define     B16ISA_Q2X_WB_RF64                             0x0018
    #define   LSb32ISA_Q2X_WB_RF64                                4
    #define   LSb16ISA_Q2X_WB_RF64                                4
    #define       bISA_Q2X_WB_RF64                             1
    #define   MSK32ISA_Q2X_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_Q2X {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_Q2X_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_Q2X_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_Q2X_Mask;
            struct w32ISA_Q2X_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_Q2X_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_Q2X_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_Q2X_Opcode;
            struct w32ISA_Q2X_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_Q2X_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_Q2X_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_Q2X_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_Q2X_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_Q2X_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_Q2X_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_Q2X_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_Q2X_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_Q2X_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_Q2X_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_Q2X_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_Q2X_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_Q2X_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_Q2X_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_Q2X_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_Q2X_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_Q2X_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_Q2X_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_Q2X_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_Q2X_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_Q2X_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_Q2X_ID;
            struct w32ISA_Q2X_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_Q2X_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_Q2X_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_Q2X_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_Q2X_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_Q2X_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_Q2X_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_Q2X_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_Q2X_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_Q2X_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_Q2X_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_Q2X_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_Q2X_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_Q2X_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_Q2X_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_Q2X_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_Q2X_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_Q2X_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_Q2X_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_Q2X_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_Q2X_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_Q2X_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_Q2X_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_Q2X_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_Q2X_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_Q2X_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_Q2X_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_Q2X_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_Q2X_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_Q2X_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_Q2X_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_Q2X_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_Q2X_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_Q2X_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_Q2X_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_Q2X_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_Q2X_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_Q2X_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_Q2X_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_Q2X_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_Q2X_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_Q2X_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_Q2X_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_Q2X_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_Q2X_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_Q2X_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_Q2X_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_Q2X_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_Q2X_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_Q2X_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_Q2X_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_Q2X_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_Q2X_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_Q2X_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_Q2X_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_Q2X_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_Q2X_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_Q2X_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_Q2X_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_Q2X_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_Q2X_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_Q2X_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_Q2X_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_Q2X_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_Q2X_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_Q2X_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_Q2X_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_Q2X_LD;
            struct w32ISA_Q2X_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_Q2X_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_Q2X_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_Q2X_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_Q2X_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_Q2X_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_Q2X_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_Q2X_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_Q2X_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_Q2X_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_Q2X_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_Q2X_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_Q2X_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_Q2X_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_Q2X_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_Q2X_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_Q2X_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_Q2X_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_Q2X_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_Q2X_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_Q2X_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_Q2X_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_Q2X_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_Q2X_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_Q2X_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_Q2X_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_Q2X_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_Q2X_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_Q2X_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_Q2X_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_Q2X_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_Q2X_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_Q2X_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_Q2X_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_Q2X_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_Q2X_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_Q2X_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_Q2X_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_Q2X_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_Q2X_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_Q2X_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_Q2X_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_Q2X_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_Q2X_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_Q2X_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_Q2X_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_Q2X_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_Q2X_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_Q2X_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_Q2X_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_Q2X_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_Q2X_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_Q2X_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_Q2X_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_Q2X_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_Q2X_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_Q2X_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_Q2X_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_Q2X_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_Q2X_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_Q2X_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_Q2X_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_Q2X_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_Q2X_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_Q2X_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_Q2X_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_Q2X_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_Q2X_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_Q2X_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_Q2X_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_Q2X_EX;
            struct w32ISA_Q2X_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_Q2X_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_Q2X_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_Q2X_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_Q2X_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_Q2X_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_Q2X_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_Q2X_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_Q2X_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_Q2X_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_Q2X_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_Q2X_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_Q2X_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_Q2X_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_Q2X_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_Q2X_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_Q2X_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_Q2X_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_Q2X_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_Q2X_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_Q2X_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_Q2X_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_Q2X_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_Q2X_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_Q2X_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_Q2X_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_Q2X_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_Q2X_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_Q2X_EXX;
            struct w32ISA_Q2X_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_Q2X_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_Q2X_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_Q2X_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_Q2X_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_Q2X_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_Q2X_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_Q2X_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_Q2X_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_Q2X_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_Q2X_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_Q2X_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_Q2X_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_Q2X_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_Q2X_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_Q2X_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_Q2X_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_Q2X_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_Q2X_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_Q2X_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_Q2X_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_Q2X_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_Q2X_WB;
            struct w32ISA_Q2X_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_Q2X;

    typedef union  T32ISA_Q2X_Mask
          { UNSG32 u32;
            struct w32ISA_Q2X_Mask;
                 } T32ISA_Q2X_Mask;
    typedef union  T32ISA_Q2X_Opcode
          { UNSG32 u32;
            struct w32ISA_Q2X_Opcode;
                 } T32ISA_Q2X_Opcode;
    typedef union  T32ISA_Q2X_ID
          { UNSG32 u32;
            struct w32ISA_Q2X_ID;
                 } T32ISA_Q2X_ID;
    typedef union  T32ISA_Q2X_LD
          { UNSG32 u32;
            struct w32ISA_Q2X_LD;
                 } T32ISA_Q2X_LD;
    typedef union  T32ISA_Q2X_EX
          { UNSG32 u32;
            struct w32ISA_Q2X_EX;
                 } T32ISA_Q2X_EX;
    typedef union  T32ISA_Q2X_EXX
          { UNSG32 u32;
            struct w32ISA_Q2X_EXX;
                 } T32ISA_Q2X_EXX;
    typedef union  T32ISA_Q2X_WB
          { UNSG32 u32;
            struct w32ISA_Q2X_WB;
                 } T32ISA_Q2X_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_Q2X_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_Mask;
                   };
                 } TISA_Q2X_Mask;
    typedef union  TISA_Q2X_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_Opcode;
                   };
                 } TISA_Q2X_Opcode;
    typedef union  TISA_Q2X_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_ID;
                   };
                 } TISA_Q2X_ID;
    typedef union  TISA_Q2X_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_LD;
                   };
                 } TISA_Q2X_LD;
    typedef union  TISA_Q2X_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_EX;
                   };
                 } TISA_Q2X_EX;
    typedef union  TISA_Q2X_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_EXX;
                   };
                 } TISA_Q2X_EXX;
    typedef union  TISA_Q2X_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_Q2X_WB;
                   };
                 } TISA_Q2X_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_Q2X_drvrd(SIE_ISA_Q2X *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_Q2X_drvwr(SIE_ISA_Q2X *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_Q2X_reset(SIE_ISA_Q2X *p);
     SIGN32 ISA_Q2X_cmp  (SIE_ISA_Q2X *p, SIE_ISA_Q2X *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_Q2X_check(p,pie,pfx,hLOG) ISA_Q2X_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_Q2X_print(p,    pfx,hLOG) ISA_Q2X_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_Q2X
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_STFLG                                (4,4)
///     ###
///     * Force ALU16 flags by a register.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x90000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ST.FLG" , "rT"          , "0000 1001 ---- ---- TTTT ----" } ,
///                                    * - Usage:
///                                    * -    ST.FLG   %a1             ; { V,N,C,Z } = %a1[3:0];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               0x1
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_STFLG
#define h_ISA_STFLG (){}

    #define     RA_ISA_STFLG_Mask                              0x0000

    #define     BA_ISA_STFLG_Mask_INS                          0x0000
    #define     B16ISA_STFLG_Mask_INS                          0x0000
    #define   LSb32ISA_STFLG_Mask_INS                             0
    #define   LSb16ISA_STFLG_Mask_INS                             0
    #define       bISA_STFLG_Mask_INS                          24
    #define   MSK32ISA_STFLG_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_Opcode                            0x0004

    #define     BA_ISA_STFLG_Opcode_INS                        0x0004
    #define     B16ISA_STFLG_Opcode_INS                        0x0004
    #define   LSb32ISA_STFLG_Opcode_INS                           0
    #define   LSb16ISA_STFLG_Opcode_INS                           0
    #define       bISA_STFLG_Opcode_INS                        24
    #define   MSK32ISA_STFLG_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_ID                                0x0008

    #define     BA_ISA_STFLG_ID_RBRF                           0x0008
    #define     B16ISA_STFLG_ID_RBRF                           0x0008
    #define   LSb32ISA_STFLG_ID_RBRF                              0
    #define   LSb16ISA_STFLG_ID_RBRF                              0
    #define       bISA_STFLG_ID_RBRF                           1
    #define   MSK32ISA_STFLG_ID_RBRF                              0x00000001

    #define     BA_ISA_STFLG_ID_RARF                           0x0008
    #define     B16ISA_STFLG_ID_RARF                           0x0008
    #define   LSb32ISA_STFLG_ID_RARF                              1
    #define   LSb16ISA_STFLG_ID_RARF                              1
    #define       bISA_STFLG_ID_RARF                           1
    #define   MSK32ISA_STFLG_ID_RARF                              0x00000002

    #define     BA_ISA_STFLG_ID_RAK8                           0x0008
    #define     B16ISA_STFLG_ID_RAK8                           0x0008
    #define   LSb32ISA_STFLG_ID_RAK8                              2
    #define   LSb16ISA_STFLG_ID_RAK8                              2
    #define       bISA_STFLG_ID_RAK8                           1
    #define   MSK32ISA_STFLG_ID_RAK8                              0x00000004

    #define     BA_ISA_STFLG_ID_RAI16                          0x0008
    #define     B16ISA_STFLG_ID_RAI16                          0x0008
    #define   LSb32ISA_STFLG_ID_RAI16                             3
    #define   LSb16ISA_STFLG_ID_RAI16                             3
    #define       bISA_STFLG_ID_RAI16                          1
    #define   MSK32ISA_STFLG_ID_RAI16                             0x00000008

    #define     BA_ISA_STFLG_ID_RAK16                          0x0008
    #define     B16ISA_STFLG_ID_RAK16                          0x0008
    #define   LSb32ISA_STFLG_ID_RAK16                             4
    #define   LSb16ISA_STFLG_ID_RAK16                             4
    #define       bISA_STFLG_ID_RAK16                          1
    #define   MSK32ISA_STFLG_ID_RAK16                             0x00000010

    #define     BA_ISA_STFLG_ID_RFSP                           0x0008
    #define     B16ISA_STFLG_ID_RFSP                           0x0008
    #define   LSb32ISA_STFLG_ID_RFSP                              5
    #define   LSb16ISA_STFLG_ID_RFSP                              5
    #define       bISA_STFLG_ID_RFSP                           1
    #define   MSK32ISA_STFLG_ID_RFSP                              0x00000020

    #define     BA_ISA_STFLG_ID_W4D4                           0x0008
    #define     B16ISA_STFLG_ID_W4D4                           0x0008
    #define   LSb32ISA_STFLG_ID_W4D4                              6
    #define   LSb16ISA_STFLG_ID_W4D4                              6
    #define       bISA_STFLG_ID_W4D4                           1
    #define   MSK32ISA_STFLG_ID_W4D4                              0x00000040

    #define     BA_ISA_STFLG_ID_W4S4                           0x0008
    #define     B16ISA_STFLG_ID_W4S4                           0x0008
    #define   LSb32ISA_STFLG_ID_W4S4                              7
    #define   LSb16ISA_STFLG_ID_W4S4                              7
    #define       bISA_STFLG_ID_W4S4                           1
    #define   MSK32ISA_STFLG_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_LD                                0x000C

    #define     BA_ISA_STFLG_LD_SPRF                           0x000C
    #define     B16ISA_STFLG_LD_SPRF                           0x000C
    #define   LSb32ISA_STFLG_LD_SPRF                              0
    #define   LSb16ISA_STFLG_LD_SPRF                              0
    #define       bISA_STFLG_LD_SPRF                           1
    #define   MSK32ISA_STFLG_LD_SPRF                              0x00000001

    #define     BA_ISA_STFLG_LD_SPK8                           0x000C
    #define     B16ISA_STFLG_LD_SPK8                           0x000C
    #define   LSb32ISA_STFLG_LD_SPK8                              1
    #define   LSb16ISA_STFLG_LD_SPK8                              1
    #define       bISA_STFLG_LD_SPK8                           1
    #define   MSK32ISA_STFLG_LD_SPK8                              0x00000002

    #define     BA_ISA_STFLG_LD_SPJ                            0x000C
    #define     B16ISA_STFLG_LD_SPJ                            0x000C
    #define   LSb32ISA_STFLG_LD_SPJ                               2
    #define   LSb16ISA_STFLG_LD_SPJ                               2
    #define       bISA_STFLG_LD_SPJ                            1
    #define   MSK32ISA_STFLG_LD_SPJ                               0x00000004

    #define     BA_ISA_STFLG_LD_SP4S                           0x000C
    #define     B16ISA_STFLG_LD_SP4S                           0x000C
    #define   LSb32ISA_STFLG_LD_SP4S                              3
    #define   LSb16ISA_STFLG_LD_SP4S                              3
    #define       bISA_STFLG_LD_SP4S                           1
    #define   MSK32ISA_STFLG_LD_SP4S                              0x00000008

    #define     BA_ISA_STFLG_LD_SP8S                           0x000C
    #define     B16ISA_STFLG_LD_SP8S                           0x000C
    #define   LSb32ISA_STFLG_LD_SP8S                              4
    #define   LSb16ISA_STFLG_LD_SP8S                              4
    #define       bISA_STFLG_LD_SP8S                           1
    #define   MSK32ISA_STFLG_LD_SP8S                              0x00000010

    #define     BA_ISA_STFLG_LD_SP8U                           0x000C
    #define     B16ISA_STFLG_LD_SP8U                           0x000C
    #define   LSb32ISA_STFLG_LD_SP8U                              5
    #define   LSb16ISA_STFLG_LD_SP8U                              5
    #define       bISA_STFLG_LD_SP8U                           1
    #define   MSK32ISA_STFLG_LD_SP8U                              0x00000020

    #define     BA_ISA_STFLG_LD_SP12S                          0x000C
    #define     B16ISA_STFLG_LD_SP12S                          0x000C
    #define   LSb32ISA_STFLG_LD_SP12S                             6
    #define   LSb16ISA_STFLG_LD_SP12S                             6
    #define       bISA_STFLG_LD_SP12S                          1
    #define   MSK32ISA_STFLG_LD_SP12S                             0x00000040

    #define     BA_ISA_STFLG_LD_SP16                           0x000C
    #define     B16ISA_STFLG_LD_SP16                           0x000C
    #define   LSb32ISA_STFLG_LD_SP16                              7
    #define   LSb16ISA_STFLG_LD_SP16                              7
    #define       bISA_STFLG_LD_SP16                           1
    #define   MSK32ISA_STFLG_LD_SP16                              0x00000080

    #define     BA_ISA_STFLG_LD_TPRF                           0x000D
    #define     B16ISA_STFLG_LD_TPRF                           0x000C
    #define   LSb32ISA_STFLG_LD_TPRF                              8
    #define   LSb16ISA_STFLG_LD_TPRF                              8
    #define       bISA_STFLG_LD_TPRF                           1
    #define   MSK32ISA_STFLG_LD_TPRF                              0x00000100

    #define     BA_ISA_STFLG_LD_TPJ                            0x000D
    #define     B16ISA_STFLG_LD_TPJ                            0x000C
    #define   LSb32ISA_STFLG_LD_TPJ                               9
    #define   LSb16ISA_STFLG_LD_TPJ                               9
    #define       bISA_STFLG_LD_TPJ                            1
    #define   MSK32ISA_STFLG_LD_TPJ                               0x00000200

    #define     BA_ISA_STFLG_LD_TP4S                           0x000D
    #define     B16ISA_STFLG_LD_TP4S                           0x000C
    #define   LSb32ISA_STFLG_LD_TP4S                              10
    #define   LSb16ISA_STFLG_LD_TP4S                              10
    #define       bISA_STFLG_LD_TP4S                           1
    #define   MSK32ISA_STFLG_LD_TP4S                              0x00000400

    #define     BA_ISA_STFLG_LD_TP8L                           0x000D
    #define     B16ISA_STFLG_LD_TP8L                           0x000C
    #define   LSb32ISA_STFLG_LD_TP8L                              11
    #define   LSb16ISA_STFLG_LD_TP8L                              11
    #define       bISA_STFLG_LD_TP8L                           1
    #define   MSK32ISA_STFLG_LD_TP8L                              0x00000800

    #define     BA_ISA_STFLG_LD_TP8H                           0x000D
    #define     B16ISA_STFLG_LD_TP8H                           0x000C
    #define   LSb32ISA_STFLG_LD_TP8H                              12
    #define   LSb16ISA_STFLG_LD_TP8H                              12
    #define       bISA_STFLG_LD_TP8H                           1
    #define   MSK32ISA_STFLG_LD_TP8H                              0x00001000

    #define     BA_ISA_STFLG_LD_TP8LF                          0x000D
    #define     B16ISA_STFLG_LD_TP8LF                          0x000C
    #define   LSb32ISA_STFLG_LD_TP8LF                             13
    #define   LSb16ISA_STFLG_LD_TP8LF                             13
    #define       bISA_STFLG_LD_TP8LF                          1
    #define   MSK32ISA_STFLG_LD_TP8LF                             0x00002000

    #define     BA_ISA_STFLG_LD_TP8HF                          0x000D
    #define     B16ISA_STFLG_LD_TP8HF                          0x000C
    #define   LSb32ISA_STFLG_LD_TP8HF                             14
    #define   LSb16ISA_STFLG_LD_TP8HF                             14
    #define       bISA_STFLG_LD_TP8HF                          1
    #define   MSK32ISA_STFLG_LD_TP8HF                             0x00004000

    #define     BA_ISA_STFLG_LD_SQRF64                         0x000D
    #define     B16ISA_STFLG_LD_SQRF64                         0x000C
    #define   LSb32ISA_STFLG_LD_SQRF64                            15
    #define   LSb16ISA_STFLG_LD_SQRF64                            15
    #define       bISA_STFLG_LD_SQRF64                         1
    #define   MSK32ISA_STFLG_LD_SQRF64                            0x00008000

    #define     BA_ISA_STFLG_LD_TQRF16Q                        0x000E
    #define     B16ISA_STFLG_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_STFLG_LD_TQRF16Q                           16
    #define   LSb16ISA_STFLG_LD_TQRF16Q                           0
    #define       bISA_STFLG_LD_TQRF16Q                        1
    #define   MSK32ISA_STFLG_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_STFLG_LD_TQRFx4                         0x000E
    #define     B16ISA_STFLG_LD_TQRFx4                         0x000E
    #define   LSb32ISA_STFLG_LD_TQRFx4                            17
    #define   LSb16ISA_STFLG_LD_TQRFx4                            1
    #define       bISA_STFLG_LD_TQRFx4                         1
    #define   MSK32ISA_STFLG_LD_TQRFx4                            0x00020000

    #define     BA_ISA_STFLG_LD_RD                             0x000E
    #define     B16ISA_STFLG_LD_RD                             0x000E
    #define   LSb32ISA_STFLG_LD_RD                                18
    #define   LSb16ISA_STFLG_LD_RD                                2
    #define       bISA_STFLG_LD_RD                             1
    #define   MSK32ISA_STFLG_LD_RD                                0x00040000

    #define     BA_ISA_STFLG_LD_WARF                           0x000E
    #define     B16ISA_STFLG_LD_WARF                           0x000E
    #define   LSb32ISA_STFLG_LD_WARF                              19
    #define   LSb16ISA_STFLG_LD_WARF                              3
    #define       bISA_STFLG_LD_WARF                           1
    #define   MSK32ISA_STFLG_LD_WARF                              0x00080000

    #define     BA_ISA_STFLG_LD_WAK8                           0x000E
    #define     B16ISA_STFLG_LD_WAK8                           0x000E
    #define   LSb32ISA_STFLG_LD_WAK8                              20
    #define   LSb16ISA_STFLG_LD_WAK8                              4
    #define       bISA_STFLG_LD_WAK8                           1
    #define   MSK32ISA_STFLG_LD_WAK8                              0x00100000

    #define     BA_ISA_STFLG_LD_WAK16                          0x000E
    #define     B16ISA_STFLG_LD_WAK16                          0x000E
    #define   LSb32ISA_STFLG_LD_WAK16                             21
    #define   LSb16ISA_STFLG_LD_WAK16                             5
    #define       bISA_STFLG_LD_WAK16                          1
    #define   MSK32ISA_STFLG_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_EX                                0x0010

    #define     BA_ISA_STFLG_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagZ                        0
    #define   LSb16ISA_STFLG_EX_ALU16FlagZ                        0
    #define       bISA_STFLG_EX_ALU16FlagZ                     1
    #define   MSK32ISA_STFLG_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_STFLG_EX_ALU16FlagC                     0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagC                        1
    #define   LSb16ISA_STFLG_EX_ALU16FlagC                        1
    #define       bISA_STFLG_EX_ALU16FlagC                     1
    #define   MSK32ISA_STFLG_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_STFLG_EX_ALU16FlagN                     0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagN                        2
    #define   LSb16ISA_STFLG_EX_ALU16FlagN                        2
    #define       bISA_STFLG_EX_ALU16FlagN                     1
    #define   MSK32ISA_STFLG_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_STFLG_EX_ALU16FlagV                     0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagV                        3
    #define   LSb16ISA_STFLG_EX_ALU16FlagV                        3
    #define       bISA_STFLG_EX_ALU16FlagV                     1
    #define   MSK32ISA_STFLG_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_STFLG_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagTP                       4
    #define   LSb16ISA_STFLG_EX_ALU16FlagTP                       4
    #define       bISA_STFLG_EX_ALU16FlagTP                    1
    #define   MSK32ISA_STFLG_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_STFLG_EX_ALU16MUL                       0x0010
    #define     B16ISA_STFLG_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16MUL                          5
    #define   LSb16ISA_STFLG_EX_ALU16MUL                          5
    #define       bISA_STFLG_EX_ALU16MUL                       1
    #define   MSK32ISA_STFLG_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_STFLG_EX_ALU16DIV                       0x0010
    #define     B16ISA_STFLG_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16DIV                          6
    #define   LSb16ISA_STFLG_EX_ALU16DIV                          6
    #define       bISA_STFLG_EX_ALU16DIV                       1
    #define   MSK32ISA_STFLG_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_STFLG_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_STFLG_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_STFLG_EX_ALU16FlagLD                       7
    #define   LSb16ISA_STFLG_EX_ALU16FlagLD                       7
    #define       bISA_STFLG_EX_ALU16FlagLD                    1
    #define   MSK32ISA_STFLG_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_STFLG_EX_ALU16MDL                       0x0011
    #define     B16ISA_STFLG_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16MDL                          8
    #define   LSb16ISA_STFLG_EX_ALU16MDL                          8
    #define       bISA_STFLG_EX_ALU16MDL                       1
    #define   MSK32ISA_STFLG_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_STFLG_EX_ALU16MDH                       0x0011
    #define     B16ISA_STFLG_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16MDH                          9
    #define   LSb16ISA_STFLG_EX_ALU16MDH                          9
    #define       bISA_STFLG_EX_ALU16MDH                       1
    #define   MSK32ISA_STFLG_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_STFLG_EX_ALU16ADD                       0x0011
    #define     B16ISA_STFLG_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16ADD                          10
    #define   LSb16ISA_STFLG_EX_ALU16ADD                          10
    #define       bISA_STFLG_EX_ALU16ADD                       1
    #define   MSK32ISA_STFLG_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_STFLG_EX_ALU16SUB                       0x0011
    #define     B16ISA_STFLG_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16SUB                          11
    #define   LSb16ISA_STFLG_EX_ALU16SUB                          11
    #define       bISA_STFLG_EX_ALU16SUB                       1
    #define   MSK32ISA_STFLG_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_STFLG_EX_ALU16ADDC                      0x0011
    #define     B16ISA_STFLG_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_STFLG_EX_ALU16ADDC                         12
    #define   LSb16ISA_STFLG_EX_ALU16ADDC                         12
    #define       bISA_STFLG_EX_ALU16ADDC                      1
    #define   MSK32ISA_STFLG_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_STFLG_EX_ALU16SUBC                      0x0011
    #define     B16ISA_STFLG_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_STFLG_EX_ALU16SUBC                         13
    #define   LSb16ISA_STFLG_EX_ALU16SUBC                         13
    #define       bISA_STFLG_EX_ALU16SUBC                      1
    #define   MSK32ISA_STFLG_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_STFLG_EX_ALU16ASR                       0x0011
    #define     B16ISA_STFLG_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_STFLG_EX_ALU16ASR                          14
    #define   LSb16ISA_STFLG_EX_ALU16ASR                          14
    #define       bISA_STFLG_EX_ALU16ASR                       1
    #define   MSK32ISA_STFLG_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_STFLG_EX_ALU16SL                        0x0011
    #define     B16ISA_STFLG_EX_ALU16SL                        0x0010
    #define   LSb32ISA_STFLG_EX_ALU16SL                           15
    #define   LSb16ISA_STFLG_EX_ALU16SL                           15
    #define       bISA_STFLG_EX_ALU16SL                        1
    #define   MSK32ISA_STFLG_EX_ALU16SL                           0x00008000

    #define     BA_ISA_STFLG_EX_ALU16SR                        0x0012
    #define     B16ISA_STFLG_EX_ALU16SR                        0x0012
    #define   LSb32ISA_STFLG_EX_ALU16SR                           16
    #define   LSb16ISA_STFLG_EX_ALU16SR                           0
    #define       bISA_STFLG_EX_ALU16SR                        1
    #define   MSK32ISA_STFLG_EX_ALU16SR                           0x00010000

    #define     BA_ISA_STFLG_EX_ALU16GET                       0x0012
    #define     B16ISA_STFLG_EX_ALU16GET                       0x0012
    #define   LSb32ISA_STFLG_EX_ALU16GET                          17
    #define   LSb16ISA_STFLG_EX_ALU16GET                          1
    #define       bISA_STFLG_EX_ALU16GET                       1
    #define   MSK32ISA_STFLG_EX_ALU16GET                          0x00020000

    #define     BA_ISA_STFLG_EX_ALU16SET                       0x0012
    #define     B16ISA_STFLG_EX_ALU16SET                       0x0012
    #define   LSb32ISA_STFLG_EX_ALU16SET                          18
    #define   LSb16ISA_STFLG_EX_ALU16SET                          2
    #define       bISA_STFLG_EX_ALU16SET                       1
    #define   MSK32ISA_STFLG_EX_ALU16SET                          0x00040000

    #define     BA_ISA_STFLG_EX_ALU16SEL                       0x0012
    #define     B16ISA_STFLG_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_STFLG_EX_ALU16SEL                          19
    #define   LSb16ISA_STFLG_EX_ALU16SEL                          3
    #define       bISA_STFLG_EX_ALU16SEL                       1
    #define   MSK32ISA_STFLG_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_STFLG_EX_ALU16OR                        0x0012
    #define     B16ISA_STFLG_EX_ALU16OR                        0x0012
    #define   LSb32ISA_STFLG_EX_ALU16OR                           20
    #define   LSb16ISA_STFLG_EX_ALU16OR                           4
    #define       bISA_STFLG_EX_ALU16OR                        1
    #define   MSK32ISA_STFLG_EX_ALU16OR                           0x00100000

    #define     BA_ISA_STFLG_EX_ALU16AND                       0x0012
    #define     B16ISA_STFLG_EX_ALU16AND                       0x0012
    #define   LSb32ISA_STFLG_EX_ALU16AND                          21
    #define   LSb16ISA_STFLG_EX_ALU16AND                          5
    #define       bISA_STFLG_EX_ALU16AND                       1
    #define   MSK32ISA_STFLG_EX_ALU16AND                          0x00200000

    #define     BA_ISA_STFLG_EX_ALU16XOR                       0x0012
    #define     B16ISA_STFLG_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_STFLG_EX_ALU16XOR                          22
    #define   LSb16ISA_STFLG_EX_ALU16XOR                          6
    #define       bISA_STFLG_EX_ALU16XOR                       1
    #define   MSK32ISA_STFLG_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_STFLG_EX_ALU16SP                        0x0012
    #define     B16ISA_STFLG_EX_ALU16SP                        0x0012
    #define   LSb32ISA_STFLG_EX_ALU16SP                           23
    #define   LSb16ISA_STFLG_EX_ALU16SP                           7
    #define       bISA_STFLG_EX_ALU16SP                        1
    #define   MSK32ISA_STFLG_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_EXX                               0x0014

    #define     BA_ISA_STFLG_EXX_WRSQ                          0x0014
    #define     B16ISA_STFLG_EXX_WRSQ                          0x0014
    #define   LSb32ISA_STFLG_EXX_WRSQ                             0
    #define   LSb16ISA_STFLG_EXX_WRSQ                             0
    #define       bISA_STFLG_EXX_WRSQ                          1
    #define   MSK32ISA_STFLG_EXX_WRSQ                             0x00000001

    #define     BA_ISA_STFLG_EXX_WR16                          0x0014
    #define     B16ISA_STFLG_EXX_WR16                          0x0014
    #define   LSb32ISA_STFLG_EXX_WR16                             1
    #define   LSb16ISA_STFLG_EXX_WR16                             1
    #define       bISA_STFLG_EXX_WR16                          1
    #define   MSK32ISA_STFLG_EXX_WR16                             0x00000002

    #define     BA_ISA_STFLG_EXX_WRTQ                          0x0014
    #define     B16ISA_STFLG_EXX_WRTQ                          0x0014
    #define   LSb32ISA_STFLG_EXX_WRTQ                             2
    #define   LSb16ISA_STFLG_EXX_WRTQ                             2
    #define       bISA_STFLG_EXX_WRTQ                          1
    #define   MSK32ISA_STFLG_EXX_WRTQ                             0x00000004

    #define     BA_ISA_STFLG_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_STFLG_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_STFLG_EXX_ALU64PUSH                        3
    #define   LSb16ISA_STFLG_EXX_ALU64PUSH                        3
    #define       bISA_STFLG_EXX_ALU64PUSH                     1
    #define   MSK32ISA_STFLG_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_STFLG_EXX_ALU64POP                      0x0014
    #define     B16ISA_STFLG_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_STFLG_EXX_ALU64POP                         4
    #define   LSb16ISA_STFLG_EXX_ALU64POP                         4
    #define       bISA_STFLG_EXX_ALU64POP                      1
    #define   MSK32ISA_STFLG_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_STFLG_EXX_ALU64SQ                       0x0014
    #define     B16ISA_STFLG_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_STFLG_EXX_ALU64SQ                          5
    #define   LSb16ISA_STFLG_EXX_ALU64SQ                          5
    #define       bISA_STFLG_EXX_ALU64SQ                       1
    #define   MSK32ISA_STFLG_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_STFLG_EXX_ALU64TQ                       0x0014
    #define     B16ISA_STFLG_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_STFLG_EXX_ALU64TQ                          6
    #define   LSb16ISA_STFLG_EXX_ALU64TQ                          6
    #define       bISA_STFLG_EXX_ALU64TQ                       1
    #define   MSK32ISA_STFLG_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_STFLG_EXX_ALU64MEM                      0x0014
    #define     B16ISA_STFLG_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_STFLG_EXX_ALU64MEM                         7
    #define   LSb16ISA_STFLG_EXX_ALU64MEM                         7
    #define       bISA_STFLG_EXX_ALU64MEM                      1
    #define   MSK32ISA_STFLG_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_STFLG_EXX_BRANCH                        0x0015
    #define     B16ISA_STFLG_EXX_BRANCH                        0x0014
    #define   LSb32ISA_STFLG_EXX_BRANCH                           8
    #define   LSb16ISA_STFLG_EXX_BRANCH                           8
    #define       bISA_STFLG_EXX_BRANCH                        1
    #define   MSK32ISA_STFLG_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_STFLG_WB                                0x0018

    #define     BA_ISA_STFLG_WB_RF16                           0x0018
    #define     B16ISA_STFLG_WB_RF16                           0x0018
    #define   LSb32ISA_STFLG_WB_RF16                              0
    #define   LSb16ISA_STFLG_WB_RF16                              0
    #define       bISA_STFLG_WB_RF16                           1
    #define   MSK32ISA_STFLG_WB_RF16                              0x00000001

    #define     BA_ISA_STFLG_WB_RF16W0                         0x0018
    #define     B16ISA_STFLG_WB_RF16W0                         0x0018
    #define   LSb32ISA_STFLG_WB_RF16W0                            1
    #define   LSb16ISA_STFLG_WB_RF16W0                            1
    #define       bISA_STFLG_WB_RF16W0                         1
    #define   MSK32ISA_STFLG_WB_RF16W0                            0x00000002

    #define     BA_ISA_STFLG_WB_RF16MEM                        0x0018
    #define     B16ISA_STFLG_WB_RF16MEM                        0x0018
    #define   LSb32ISA_STFLG_WB_RF16MEM                           2
    #define   LSb16ISA_STFLG_WB_RF16MEM                           2
    #define       bISA_STFLG_WB_RF16MEM                        1
    #define   MSK32ISA_STFLG_WB_RF16MEM                           0x00000004

    #define     BA_ISA_STFLG_WB_RF16Q                          0x0018
    #define     B16ISA_STFLG_WB_RF16Q                          0x0018
    #define   LSb32ISA_STFLG_WB_RF16Q                             3
    #define   LSb16ISA_STFLG_WB_RF16Q                             3
    #define       bISA_STFLG_WB_RF16Q                          1
    #define   MSK32ISA_STFLG_WB_RF16Q                             0x00000008

    #define     BA_ISA_STFLG_WB_RF64                           0x0018
    #define     B16ISA_STFLG_WB_RF64                           0x0018
    #define   LSb32ISA_STFLG_WB_RF64                              4
    #define   LSb16ISA_STFLG_WB_RF64                              4
    #define       bISA_STFLG_WB_RF64                           1
    #define   MSK32ISA_STFLG_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_STFLG {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_STFLG_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_STFLG_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_STFLG_Mask;
            struct w32ISA_STFLG_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_STFLG_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_STFLG_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_STFLG_Opcode;
            struct w32ISA_STFLG_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_STFLG_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_STFLG_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_STFLG_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_STFLG_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_STFLG_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_STFLG_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_STFLG_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_STFLG_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_STFLG_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_STFLG_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_STFLG_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_STFLG_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_STFLG_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_STFLG_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_STFLG_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_STFLG_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_STFLG_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_STFLG_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_STFLG_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_STFLG_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_STFLG_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_STFLG_ID;
            struct w32ISA_STFLG_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_STFLG_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_STFLG_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_STFLG_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_STFLG_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_STFLG_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_STFLG_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_STFLG_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_STFLG_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_STFLG_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_STFLG_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_STFLG_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_STFLG_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_STFLG_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_STFLG_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_STFLG_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_STFLG_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_STFLG_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_STFLG_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_STFLG_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_STFLG_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_STFLG_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_STFLG_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_STFLG_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_STFLG_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_STFLG_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_STFLG_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_STFLG_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_STFLG_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_STFLG_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_STFLG_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_STFLG_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_STFLG_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_STFLG_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_STFLG_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_STFLG_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_STFLG_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_STFLG_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_STFLG_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_STFLG_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_STFLG_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_STFLG_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_STFLG_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_STFLG_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_STFLG_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_STFLG_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_STFLG_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_STFLG_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_STFLG_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_STFLG_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_STFLG_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_STFLG_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_STFLG_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_STFLG_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_STFLG_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_STFLG_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_STFLG_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_STFLG_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_STFLG_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_STFLG_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_STFLG_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_STFLG_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_STFLG_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_STFLG_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_STFLG_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_STFLG_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_STFLG_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_STFLG_LD;
            struct w32ISA_STFLG_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_STFLG_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_STFLG_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_STFLG_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_STFLG_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_STFLG_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_STFLG_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_STFLG_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_STFLG_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_STFLG_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_STFLG_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_STFLG_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_STFLG_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_STFLG_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_STFLG_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_STFLG_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_STFLG_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_STFLG_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_STFLG_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_STFLG_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_STFLG_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_STFLG_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_STFLG_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_STFLG_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_STFLG_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_STFLG_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_STFLG_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_STFLG_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_STFLG_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_STFLG_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_STFLG_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_STFLG_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_STFLG_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_STFLG_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_STFLG_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_STFLG_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_STFLG_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_STFLG_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_STFLG_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_STFLG_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_STFLG_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_STFLG_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_STFLG_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_STFLG_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_STFLG_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_STFLG_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_STFLG_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_STFLG_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_STFLG_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_STFLG_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_STFLG_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_STFLG_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_STFLG_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_STFLG_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_STFLG_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_STFLG_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_STFLG_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_STFLG_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_STFLG_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_STFLG_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_STFLG_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_STFLG_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_STFLG_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_STFLG_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_STFLG_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_STFLG_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_STFLG_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_STFLG_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_STFLG_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_STFLG_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_STFLG_EX;
            struct w32ISA_STFLG_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_STFLG_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_STFLG_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_STFLG_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_STFLG_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_STFLG_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_STFLG_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_STFLG_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_STFLG_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_STFLG_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_STFLG_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_STFLG_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_STFLG_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_STFLG_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_STFLG_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_STFLG_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_STFLG_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_STFLG_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_STFLG_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_STFLG_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_STFLG_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_STFLG_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_STFLG_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_STFLG_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_STFLG_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_STFLG_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_STFLG_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_STFLG_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_STFLG_EXX;
            struct w32ISA_STFLG_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_STFLG_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_STFLG_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_STFLG_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_STFLG_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_STFLG_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_STFLG_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_STFLG_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_STFLG_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_STFLG_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_STFLG_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_STFLG_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_STFLG_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_STFLG_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_STFLG_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_STFLG_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_STFLG_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_STFLG_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_STFLG_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_STFLG_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_STFLG_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_STFLG_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_STFLG_WB;
            struct w32ISA_STFLG_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_STFLG;

    typedef union  T32ISA_STFLG_Mask
          { UNSG32 u32;
            struct w32ISA_STFLG_Mask;
                 } T32ISA_STFLG_Mask;
    typedef union  T32ISA_STFLG_Opcode
          { UNSG32 u32;
            struct w32ISA_STFLG_Opcode;
                 } T32ISA_STFLG_Opcode;
    typedef union  T32ISA_STFLG_ID
          { UNSG32 u32;
            struct w32ISA_STFLG_ID;
                 } T32ISA_STFLG_ID;
    typedef union  T32ISA_STFLG_LD
          { UNSG32 u32;
            struct w32ISA_STFLG_LD;
                 } T32ISA_STFLG_LD;
    typedef union  T32ISA_STFLG_EX
          { UNSG32 u32;
            struct w32ISA_STFLG_EX;
                 } T32ISA_STFLG_EX;
    typedef union  T32ISA_STFLG_EXX
          { UNSG32 u32;
            struct w32ISA_STFLG_EXX;
                 } T32ISA_STFLG_EXX;
    typedef union  T32ISA_STFLG_WB
          { UNSG32 u32;
            struct w32ISA_STFLG_WB;
                 } T32ISA_STFLG_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_STFLG_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_Mask;
                   };
                 } TISA_STFLG_Mask;
    typedef union  TISA_STFLG_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_Opcode;
                   };
                 } TISA_STFLG_Opcode;
    typedef union  TISA_STFLG_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_ID;
                   };
                 } TISA_STFLG_ID;
    typedef union  TISA_STFLG_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_LD;
                   };
                 } TISA_STFLG_LD;
    typedef union  TISA_STFLG_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_EX;
                   };
                 } TISA_STFLG_EX;
    typedef union  TISA_STFLG_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_EXX;
                   };
                 } TISA_STFLG_EXX;
    typedef union  TISA_STFLG_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_STFLG_WB;
                   };
                 } TISA_STFLG_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_STFLG_drvrd(SIE_ISA_STFLG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_STFLG_drvwr(SIE_ISA_STFLG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_STFLG_reset(SIE_ISA_STFLG *p);
     SIGN32 ISA_STFLG_cmp  (SIE_ISA_STFLG *p, SIE_ISA_STFLG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_STFLG_check(p,pie,pfx,hLOG) ISA_STFLG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_STFLG_print(p,    pfx,hLOG) ISA_STFLG_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_STFLG
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_LDFLG                                (4,4)
///     ###
///     * Load ALU16 flags to a register.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xD0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "LD.FLG" , "rD"          , "0000 1101 ---- ---- ---- DDDD" } ,
///                                    * - Usage:
///                                    * -    LD.FLG   %a1             ; %a1 = flags[15:0];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               0x1
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_LDFLG
#define h_ISA_LDFLG (){}

    #define     RA_ISA_LDFLG_Mask                              0x0000

    #define     BA_ISA_LDFLG_Mask_INS                          0x0000
    #define     B16ISA_LDFLG_Mask_INS                          0x0000
    #define   LSb32ISA_LDFLG_Mask_INS                             0
    #define   LSb16ISA_LDFLG_Mask_INS                             0
    #define       bISA_LDFLG_Mask_INS                          24
    #define   MSK32ISA_LDFLG_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_Opcode                            0x0004

    #define     BA_ISA_LDFLG_Opcode_INS                        0x0004
    #define     B16ISA_LDFLG_Opcode_INS                        0x0004
    #define   LSb32ISA_LDFLG_Opcode_INS                           0
    #define   LSb16ISA_LDFLG_Opcode_INS                           0
    #define       bISA_LDFLG_Opcode_INS                        24
    #define   MSK32ISA_LDFLG_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_ID                                0x0008

    #define     BA_ISA_LDFLG_ID_RBRF                           0x0008
    #define     B16ISA_LDFLG_ID_RBRF                           0x0008
    #define   LSb32ISA_LDFLG_ID_RBRF                              0
    #define   LSb16ISA_LDFLG_ID_RBRF                              0
    #define       bISA_LDFLG_ID_RBRF                           1
    #define   MSK32ISA_LDFLG_ID_RBRF                              0x00000001

    #define     BA_ISA_LDFLG_ID_RARF                           0x0008
    #define     B16ISA_LDFLG_ID_RARF                           0x0008
    #define   LSb32ISA_LDFLG_ID_RARF                              1
    #define   LSb16ISA_LDFLG_ID_RARF                              1
    #define       bISA_LDFLG_ID_RARF                           1
    #define   MSK32ISA_LDFLG_ID_RARF                              0x00000002

    #define     BA_ISA_LDFLG_ID_RAK8                           0x0008
    #define     B16ISA_LDFLG_ID_RAK8                           0x0008
    #define   LSb32ISA_LDFLG_ID_RAK8                              2
    #define   LSb16ISA_LDFLG_ID_RAK8                              2
    #define       bISA_LDFLG_ID_RAK8                           1
    #define   MSK32ISA_LDFLG_ID_RAK8                              0x00000004

    #define     BA_ISA_LDFLG_ID_RAI16                          0x0008
    #define     B16ISA_LDFLG_ID_RAI16                          0x0008
    #define   LSb32ISA_LDFLG_ID_RAI16                             3
    #define   LSb16ISA_LDFLG_ID_RAI16                             3
    #define       bISA_LDFLG_ID_RAI16                          1
    #define   MSK32ISA_LDFLG_ID_RAI16                             0x00000008

    #define     BA_ISA_LDFLG_ID_RAK16                          0x0008
    #define     B16ISA_LDFLG_ID_RAK16                          0x0008
    #define   LSb32ISA_LDFLG_ID_RAK16                             4
    #define   LSb16ISA_LDFLG_ID_RAK16                             4
    #define       bISA_LDFLG_ID_RAK16                          1
    #define   MSK32ISA_LDFLG_ID_RAK16                             0x00000010

    #define     BA_ISA_LDFLG_ID_RFSP                           0x0008
    #define     B16ISA_LDFLG_ID_RFSP                           0x0008
    #define   LSb32ISA_LDFLG_ID_RFSP                              5
    #define   LSb16ISA_LDFLG_ID_RFSP                              5
    #define       bISA_LDFLG_ID_RFSP                           1
    #define   MSK32ISA_LDFLG_ID_RFSP                              0x00000020

    #define     BA_ISA_LDFLG_ID_W4D4                           0x0008
    #define     B16ISA_LDFLG_ID_W4D4                           0x0008
    #define   LSb32ISA_LDFLG_ID_W4D4                              6
    #define   LSb16ISA_LDFLG_ID_W4D4                              6
    #define       bISA_LDFLG_ID_W4D4                           1
    #define   MSK32ISA_LDFLG_ID_W4D4                              0x00000040

    #define     BA_ISA_LDFLG_ID_W4S4                           0x0008
    #define     B16ISA_LDFLG_ID_W4S4                           0x0008
    #define   LSb32ISA_LDFLG_ID_W4S4                              7
    #define   LSb16ISA_LDFLG_ID_W4S4                              7
    #define       bISA_LDFLG_ID_W4S4                           1
    #define   MSK32ISA_LDFLG_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_LD                                0x000C

    #define     BA_ISA_LDFLG_LD_SPRF                           0x000C
    #define     B16ISA_LDFLG_LD_SPRF                           0x000C
    #define   LSb32ISA_LDFLG_LD_SPRF                              0
    #define   LSb16ISA_LDFLG_LD_SPRF                              0
    #define       bISA_LDFLG_LD_SPRF                           1
    #define   MSK32ISA_LDFLG_LD_SPRF                              0x00000001

    #define     BA_ISA_LDFLG_LD_SPK8                           0x000C
    #define     B16ISA_LDFLG_LD_SPK8                           0x000C
    #define   LSb32ISA_LDFLG_LD_SPK8                              1
    #define   LSb16ISA_LDFLG_LD_SPK8                              1
    #define       bISA_LDFLG_LD_SPK8                           1
    #define   MSK32ISA_LDFLG_LD_SPK8                              0x00000002

    #define     BA_ISA_LDFLG_LD_SPJ                            0x000C
    #define     B16ISA_LDFLG_LD_SPJ                            0x000C
    #define   LSb32ISA_LDFLG_LD_SPJ                               2
    #define   LSb16ISA_LDFLG_LD_SPJ                               2
    #define       bISA_LDFLG_LD_SPJ                            1
    #define   MSK32ISA_LDFLG_LD_SPJ                               0x00000004

    #define     BA_ISA_LDFLG_LD_SP4S                           0x000C
    #define     B16ISA_LDFLG_LD_SP4S                           0x000C
    #define   LSb32ISA_LDFLG_LD_SP4S                              3
    #define   LSb16ISA_LDFLG_LD_SP4S                              3
    #define       bISA_LDFLG_LD_SP4S                           1
    #define   MSK32ISA_LDFLG_LD_SP4S                              0x00000008

    #define     BA_ISA_LDFLG_LD_SP8S                           0x000C
    #define     B16ISA_LDFLG_LD_SP8S                           0x000C
    #define   LSb32ISA_LDFLG_LD_SP8S                              4
    #define   LSb16ISA_LDFLG_LD_SP8S                              4
    #define       bISA_LDFLG_LD_SP8S                           1
    #define   MSK32ISA_LDFLG_LD_SP8S                              0x00000010

    #define     BA_ISA_LDFLG_LD_SP8U                           0x000C
    #define     B16ISA_LDFLG_LD_SP8U                           0x000C
    #define   LSb32ISA_LDFLG_LD_SP8U                              5
    #define   LSb16ISA_LDFLG_LD_SP8U                              5
    #define       bISA_LDFLG_LD_SP8U                           1
    #define   MSK32ISA_LDFLG_LD_SP8U                              0x00000020

    #define     BA_ISA_LDFLG_LD_SP12S                          0x000C
    #define     B16ISA_LDFLG_LD_SP12S                          0x000C
    #define   LSb32ISA_LDFLG_LD_SP12S                             6
    #define   LSb16ISA_LDFLG_LD_SP12S                             6
    #define       bISA_LDFLG_LD_SP12S                          1
    #define   MSK32ISA_LDFLG_LD_SP12S                             0x00000040

    #define     BA_ISA_LDFLG_LD_SP16                           0x000C
    #define     B16ISA_LDFLG_LD_SP16                           0x000C
    #define   LSb32ISA_LDFLG_LD_SP16                              7
    #define   LSb16ISA_LDFLG_LD_SP16                              7
    #define       bISA_LDFLG_LD_SP16                           1
    #define   MSK32ISA_LDFLG_LD_SP16                              0x00000080

    #define     BA_ISA_LDFLG_LD_TPRF                           0x000D
    #define     B16ISA_LDFLG_LD_TPRF                           0x000C
    #define   LSb32ISA_LDFLG_LD_TPRF                              8
    #define   LSb16ISA_LDFLG_LD_TPRF                              8
    #define       bISA_LDFLG_LD_TPRF                           1
    #define   MSK32ISA_LDFLG_LD_TPRF                              0x00000100

    #define     BA_ISA_LDFLG_LD_TPJ                            0x000D
    #define     B16ISA_LDFLG_LD_TPJ                            0x000C
    #define   LSb32ISA_LDFLG_LD_TPJ                               9
    #define   LSb16ISA_LDFLG_LD_TPJ                               9
    #define       bISA_LDFLG_LD_TPJ                            1
    #define   MSK32ISA_LDFLG_LD_TPJ                               0x00000200

    #define     BA_ISA_LDFLG_LD_TP4S                           0x000D
    #define     B16ISA_LDFLG_LD_TP4S                           0x000C
    #define   LSb32ISA_LDFLG_LD_TP4S                              10
    #define   LSb16ISA_LDFLG_LD_TP4S                              10
    #define       bISA_LDFLG_LD_TP4S                           1
    #define   MSK32ISA_LDFLG_LD_TP4S                              0x00000400

    #define     BA_ISA_LDFLG_LD_TP8L                           0x000D
    #define     B16ISA_LDFLG_LD_TP8L                           0x000C
    #define   LSb32ISA_LDFLG_LD_TP8L                              11
    #define   LSb16ISA_LDFLG_LD_TP8L                              11
    #define       bISA_LDFLG_LD_TP8L                           1
    #define   MSK32ISA_LDFLG_LD_TP8L                              0x00000800

    #define     BA_ISA_LDFLG_LD_TP8H                           0x000D
    #define     B16ISA_LDFLG_LD_TP8H                           0x000C
    #define   LSb32ISA_LDFLG_LD_TP8H                              12
    #define   LSb16ISA_LDFLG_LD_TP8H                              12
    #define       bISA_LDFLG_LD_TP8H                           1
    #define   MSK32ISA_LDFLG_LD_TP8H                              0x00001000

    #define     BA_ISA_LDFLG_LD_TP8LF                          0x000D
    #define     B16ISA_LDFLG_LD_TP8LF                          0x000C
    #define   LSb32ISA_LDFLG_LD_TP8LF                             13
    #define   LSb16ISA_LDFLG_LD_TP8LF                             13
    #define       bISA_LDFLG_LD_TP8LF                          1
    #define   MSK32ISA_LDFLG_LD_TP8LF                             0x00002000

    #define     BA_ISA_LDFLG_LD_TP8HF                          0x000D
    #define     B16ISA_LDFLG_LD_TP8HF                          0x000C
    #define   LSb32ISA_LDFLG_LD_TP8HF                             14
    #define   LSb16ISA_LDFLG_LD_TP8HF                             14
    #define       bISA_LDFLG_LD_TP8HF                          1
    #define   MSK32ISA_LDFLG_LD_TP8HF                             0x00004000

    #define     BA_ISA_LDFLG_LD_SQRF64                         0x000D
    #define     B16ISA_LDFLG_LD_SQRF64                         0x000C
    #define   LSb32ISA_LDFLG_LD_SQRF64                            15
    #define   LSb16ISA_LDFLG_LD_SQRF64                            15
    #define       bISA_LDFLG_LD_SQRF64                         1
    #define   MSK32ISA_LDFLG_LD_SQRF64                            0x00008000

    #define     BA_ISA_LDFLG_LD_TQRF16Q                        0x000E
    #define     B16ISA_LDFLG_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_LDFLG_LD_TQRF16Q                           16
    #define   LSb16ISA_LDFLG_LD_TQRF16Q                           0
    #define       bISA_LDFLG_LD_TQRF16Q                        1
    #define   MSK32ISA_LDFLG_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_LDFLG_LD_TQRFx4                         0x000E
    #define     B16ISA_LDFLG_LD_TQRFx4                         0x000E
    #define   LSb32ISA_LDFLG_LD_TQRFx4                            17
    #define   LSb16ISA_LDFLG_LD_TQRFx4                            1
    #define       bISA_LDFLG_LD_TQRFx4                         1
    #define   MSK32ISA_LDFLG_LD_TQRFx4                            0x00020000

    #define     BA_ISA_LDFLG_LD_RD                             0x000E
    #define     B16ISA_LDFLG_LD_RD                             0x000E
    #define   LSb32ISA_LDFLG_LD_RD                                18
    #define   LSb16ISA_LDFLG_LD_RD                                2
    #define       bISA_LDFLG_LD_RD                             1
    #define   MSK32ISA_LDFLG_LD_RD                                0x00040000

    #define     BA_ISA_LDFLG_LD_WARF                           0x000E
    #define     B16ISA_LDFLG_LD_WARF                           0x000E
    #define   LSb32ISA_LDFLG_LD_WARF                              19
    #define   LSb16ISA_LDFLG_LD_WARF                              3
    #define       bISA_LDFLG_LD_WARF                           1
    #define   MSK32ISA_LDFLG_LD_WARF                              0x00080000

    #define     BA_ISA_LDFLG_LD_WAK8                           0x000E
    #define     B16ISA_LDFLG_LD_WAK8                           0x000E
    #define   LSb32ISA_LDFLG_LD_WAK8                              20
    #define   LSb16ISA_LDFLG_LD_WAK8                              4
    #define       bISA_LDFLG_LD_WAK8                           1
    #define   MSK32ISA_LDFLG_LD_WAK8                              0x00100000

    #define     BA_ISA_LDFLG_LD_WAK16                          0x000E
    #define     B16ISA_LDFLG_LD_WAK16                          0x000E
    #define   LSb32ISA_LDFLG_LD_WAK16                             21
    #define   LSb16ISA_LDFLG_LD_WAK16                             5
    #define       bISA_LDFLG_LD_WAK16                          1
    #define   MSK32ISA_LDFLG_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_EX                                0x0010

    #define     BA_ISA_LDFLG_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagZ                        0
    #define   LSb16ISA_LDFLG_EX_ALU16FlagZ                        0
    #define       bISA_LDFLG_EX_ALU16FlagZ                     1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_LDFLG_EX_ALU16FlagC                     0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagC                        1
    #define   LSb16ISA_LDFLG_EX_ALU16FlagC                        1
    #define       bISA_LDFLG_EX_ALU16FlagC                     1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_LDFLG_EX_ALU16FlagN                     0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagN                        2
    #define   LSb16ISA_LDFLG_EX_ALU16FlagN                        2
    #define       bISA_LDFLG_EX_ALU16FlagN                     1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_LDFLG_EX_ALU16FlagV                     0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagV                        3
    #define   LSb16ISA_LDFLG_EX_ALU16FlagV                        3
    #define       bISA_LDFLG_EX_ALU16FlagV                     1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_LDFLG_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagTP                       4
    #define   LSb16ISA_LDFLG_EX_ALU16FlagTP                       4
    #define       bISA_LDFLG_EX_ALU16FlagTP                    1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_LDFLG_EX_ALU16MUL                       0x0010
    #define     B16ISA_LDFLG_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16MUL                          5
    #define   LSb16ISA_LDFLG_EX_ALU16MUL                          5
    #define       bISA_LDFLG_EX_ALU16MUL                       1
    #define   MSK32ISA_LDFLG_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_LDFLG_EX_ALU16DIV                       0x0010
    #define     B16ISA_LDFLG_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16DIV                          6
    #define   LSb16ISA_LDFLG_EX_ALU16DIV                          6
    #define       bISA_LDFLG_EX_ALU16DIV                       1
    #define   MSK32ISA_LDFLG_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_LDFLG_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_LDFLG_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16FlagLD                       7
    #define   LSb16ISA_LDFLG_EX_ALU16FlagLD                       7
    #define       bISA_LDFLG_EX_ALU16FlagLD                    1
    #define   MSK32ISA_LDFLG_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_LDFLG_EX_ALU16MDL                       0x0011
    #define     B16ISA_LDFLG_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16MDL                          8
    #define   LSb16ISA_LDFLG_EX_ALU16MDL                          8
    #define       bISA_LDFLG_EX_ALU16MDL                       1
    #define   MSK32ISA_LDFLG_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_LDFLG_EX_ALU16MDH                       0x0011
    #define     B16ISA_LDFLG_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16MDH                          9
    #define   LSb16ISA_LDFLG_EX_ALU16MDH                          9
    #define       bISA_LDFLG_EX_ALU16MDH                       1
    #define   MSK32ISA_LDFLG_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_LDFLG_EX_ALU16ADD                       0x0011
    #define     B16ISA_LDFLG_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16ADD                          10
    #define   LSb16ISA_LDFLG_EX_ALU16ADD                          10
    #define       bISA_LDFLG_EX_ALU16ADD                       1
    #define   MSK32ISA_LDFLG_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_LDFLG_EX_ALU16SUB                       0x0011
    #define     B16ISA_LDFLG_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16SUB                          11
    #define   LSb16ISA_LDFLG_EX_ALU16SUB                          11
    #define       bISA_LDFLG_EX_ALU16SUB                       1
    #define   MSK32ISA_LDFLG_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_LDFLG_EX_ALU16ADDC                      0x0011
    #define     B16ISA_LDFLG_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16ADDC                         12
    #define   LSb16ISA_LDFLG_EX_ALU16ADDC                         12
    #define       bISA_LDFLG_EX_ALU16ADDC                      1
    #define   MSK32ISA_LDFLG_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_LDFLG_EX_ALU16SUBC                      0x0011
    #define     B16ISA_LDFLG_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16SUBC                         13
    #define   LSb16ISA_LDFLG_EX_ALU16SUBC                         13
    #define       bISA_LDFLG_EX_ALU16SUBC                      1
    #define   MSK32ISA_LDFLG_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_LDFLG_EX_ALU16ASR                       0x0011
    #define     B16ISA_LDFLG_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16ASR                          14
    #define   LSb16ISA_LDFLG_EX_ALU16ASR                          14
    #define       bISA_LDFLG_EX_ALU16ASR                       1
    #define   MSK32ISA_LDFLG_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_LDFLG_EX_ALU16SL                        0x0011
    #define     B16ISA_LDFLG_EX_ALU16SL                        0x0010
    #define   LSb32ISA_LDFLG_EX_ALU16SL                           15
    #define   LSb16ISA_LDFLG_EX_ALU16SL                           15
    #define       bISA_LDFLG_EX_ALU16SL                        1
    #define   MSK32ISA_LDFLG_EX_ALU16SL                           0x00008000

    #define     BA_ISA_LDFLG_EX_ALU16SR                        0x0012
    #define     B16ISA_LDFLG_EX_ALU16SR                        0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16SR                           16
    #define   LSb16ISA_LDFLG_EX_ALU16SR                           0
    #define       bISA_LDFLG_EX_ALU16SR                        1
    #define   MSK32ISA_LDFLG_EX_ALU16SR                           0x00010000

    #define     BA_ISA_LDFLG_EX_ALU16GET                       0x0012
    #define     B16ISA_LDFLG_EX_ALU16GET                       0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16GET                          17
    #define   LSb16ISA_LDFLG_EX_ALU16GET                          1
    #define       bISA_LDFLG_EX_ALU16GET                       1
    #define   MSK32ISA_LDFLG_EX_ALU16GET                          0x00020000

    #define     BA_ISA_LDFLG_EX_ALU16SET                       0x0012
    #define     B16ISA_LDFLG_EX_ALU16SET                       0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16SET                          18
    #define   LSb16ISA_LDFLG_EX_ALU16SET                          2
    #define       bISA_LDFLG_EX_ALU16SET                       1
    #define   MSK32ISA_LDFLG_EX_ALU16SET                          0x00040000

    #define     BA_ISA_LDFLG_EX_ALU16SEL                       0x0012
    #define     B16ISA_LDFLG_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16SEL                          19
    #define   LSb16ISA_LDFLG_EX_ALU16SEL                          3
    #define       bISA_LDFLG_EX_ALU16SEL                       1
    #define   MSK32ISA_LDFLG_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_LDFLG_EX_ALU16OR                        0x0012
    #define     B16ISA_LDFLG_EX_ALU16OR                        0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16OR                           20
    #define   LSb16ISA_LDFLG_EX_ALU16OR                           4
    #define       bISA_LDFLG_EX_ALU16OR                        1
    #define   MSK32ISA_LDFLG_EX_ALU16OR                           0x00100000

    #define     BA_ISA_LDFLG_EX_ALU16AND                       0x0012
    #define     B16ISA_LDFLG_EX_ALU16AND                       0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16AND                          21
    #define   LSb16ISA_LDFLG_EX_ALU16AND                          5
    #define       bISA_LDFLG_EX_ALU16AND                       1
    #define   MSK32ISA_LDFLG_EX_ALU16AND                          0x00200000

    #define     BA_ISA_LDFLG_EX_ALU16XOR                       0x0012
    #define     B16ISA_LDFLG_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16XOR                          22
    #define   LSb16ISA_LDFLG_EX_ALU16XOR                          6
    #define       bISA_LDFLG_EX_ALU16XOR                       1
    #define   MSK32ISA_LDFLG_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_LDFLG_EX_ALU16SP                        0x0012
    #define     B16ISA_LDFLG_EX_ALU16SP                        0x0012
    #define   LSb32ISA_LDFLG_EX_ALU16SP                           23
    #define   LSb16ISA_LDFLG_EX_ALU16SP                           7
    #define       bISA_LDFLG_EX_ALU16SP                        1
    #define   MSK32ISA_LDFLG_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_EXX                               0x0014

    #define     BA_ISA_LDFLG_EXX_WRSQ                          0x0014
    #define     B16ISA_LDFLG_EXX_WRSQ                          0x0014
    #define   LSb32ISA_LDFLG_EXX_WRSQ                             0
    #define   LSb16ISA_LDFLG_EXX_WRSQ                             0
    #define       bISA_LDFLG_EXX_WRSQ                          1
    #define   MSK32ISA_LDFLG_EXX_WRSQ                             0x00000001

    #define     BA_ISA_LDFLG_EXX_WR16                          0x0014
    #define     B16ISA_LDFLG_EXX_WR16                          0x0014
    #define   LSb32ISA_LDFLG_EXX_WR16                             1
    #define   LSb16ISA_LDFLG_EXX_WR16                             1
    #define       bISA_LDFLG_EXX_WR16                          1
    #define   MSK32ISA_LDFLG_EXX_WR16                             0x00000002

    #define     BA_ISA_LDFLG_EXX_WRTQ                          0x0014
    #define     B16ISA_LDFLG_EXX_WRTQ                          0x0014
    #define   LSb32ISA_LDFLG_EXX_WRTQ                             2
    #define   LSb16ISA_LDFLG_EXX_WRTQ                             2
    #define       bISA_LDFLG_EXX_WRTQ                          1
    #define   MSK32ISA_LDFLG_EXX_WRTQ                             0x00000004

    #define     BA_ISA_LDFLG_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_LDFLG_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_LDFLG_EXX_ALU64PUSH                        3
    #define   LSb16ISA_LDFLG_EXX_ALU64PUSH                        3
    #define       bISA_LDFLG_EXX_ALU64PUSH                     1
    #define   MSK32ISA_LDFLG_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_LDFLG_EXX_ALU64POP                      0x0014
    #define     B16ISA_LDFLG_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_LDFLG_EXX_ALU64POP                         4
    #define   LSb16ISA_LDFLG_EXX_ALU64POP                         4
    #define       bISA_LDFLG_EXX_ALU64POP                      1
    #define   MSK32ISA_LDFLG_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_LDFLG_EXX_ALU64SQ                       0x0014
    #define     B16ISA_LDFLG_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_LDFLG_EXX_ALU64SQ                          5
    #define   LSb16ISA_LDFLG_EXX_ALU64SQ                          5
    #define       bISA_LDFLG_EXX_ALU64SQ                       1
    #define   MSK32ISA_LDFLG_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_LDFLG_EXX_ALU64TQ                       0x0014
    #define     B16ISA_LDFLG_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_LDFLG_EXX_ALU64TQ                          6
    #define   LSb16ISA_LDFLG_EXX_ALU64TQ                          6
    #define       bISA_LDFLG_EXX_ALU64TQ                       1
    #define   MSK32ISA_LDFLG_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_LDFLG_EXX_ALU64MEM                      0x0014
    #define     B16ISA_LDFLG_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_LDFLG_EXX_ALU64MEM                         7
    #define   LSb16ISA_LDFLG_EXX_ALU64MEM                         7
    #define       bISA_LDFLG_EXX_ALU64MEM                      1
    #define   MSK32ISA_LDFLG_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_LDFLG_EXX_BRANCH                        0x0015
    #define     B16ISA_LDFLG_EXX_BRANCH                        0x0014
    #define   LSb32ISA_LDFLG_EXX_BRANCH                           8
    #define   LSb16ISA_LDFLG_EXX_BRANCH                           8
    #define       bISA_LDFLG_EXX_BRANCH                        1
    #define   MSK32ISA_LDFLG_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDFLG_WB                                0x0018

    #define     BA_ISA_LDFLG_WB_RF16                           0x0018
    #define     B16ISA_LDFLG_WB_RF16                           0x0018
    #define   LSb32ISA_LDFLG_WB_RF16                              0
    #define   LSb16ISA_LDFLG_WB_RF16                              0
    #define       bISA_LDFLG_WB_RF16                           1
    #define   MSK32ISA_LDFLG_WB_RF16                              0x00000001

    #define     BA_ISA_LDFLG_WB_RF16W0                         0x0018
    #define     B16ISA_LDFLG_WB_RF16W0                         0x0018
    #define   LSb32ISA_LDFLG_WB_RF16W0                            1
    #define   LSb16ISA_LDFLG_WB_RF16W0                            1
    #define       bISA_LDFLG_WB_RF16W0                         1
    #define   MSK32ISA_LDFLG_WB_RF16W0                            0x00000002

    #define     BA_ISA_LDFLG_WB_RF16MEM                        0x0018
    #define     B16ISA_LDFLG_WB_RF16MEM                        0x0018
    #define   LSb32ISA_LDFLG_WB_RF16MEM                           2
    #define   LSb16ISA_LDFLG_WB_RF16MEM                           2
    #define       bISA_LDFLG_WB_RF16MEM                        1
    #define   MSK32ISA_LDFLG_WB_RF16MEM                           0x00000004

    #define     BA_ISA_LDFLG_WB_RF16Q                          0x0018
    #define     B16ISA_LDFLG_WB_RF16Q                          0x0018
    #define   LSb32ISA_LDFLG_WB_RF16Q                             3
    #define   LSb16ISA_LDFLG_WB_RF16Q                             3
    #define       bISA_LDFLG_WB_RF16Q                          1
    #define   MSK32ISA_LDFLG_WB_RF16Q                             0x00000008

    #define     BA_ISA_LDFLG_WB_RF64                           0x0018
    #define     B16ISA_LDFLG_WB_RF64                           0x0018
    #define   LSb32ISA_LDFLG_WB_RF64                              4
    #define   LSb16ISA_LDFLG_WB_RF64                              4
    #define       bISA_LDFLG_WB_RF64                           1
    #define   MSK32ISA_LDFLG_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_LDFLG {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_LDFLG_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDFLG_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDFLG_Mask;
            struct w32ISA_LDFLG_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_LDFLG_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDFLG_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDFLG_Opcode;
            struct w32ISA_LDFLG_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDFLG_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDFLG_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDFLG_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDFLG_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDFLG_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDFLG_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDFLG_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDFLG_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDFLG_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDFLG_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDFLG_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDFLG_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDFLG_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDFLG_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDFLG_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDFLG_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDFLG_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDFLG_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDFLG_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDFLG_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDFLG_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_LDFLG_ID;
            struct w32ISA_LDFLG_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDFLG_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDFLG_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDFLG_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDFLG_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDFLG_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDFLG_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDFLG_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDFLG_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDFLG_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDFLG_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDFLG_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDFLG_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDFLG_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDFLG_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDFLG_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDFLG_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDFLG_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDFLG_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDFLG_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDFLG_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDFLG_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDFLG_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDFLG_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDFLG_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDFLG_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDFLG_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDFLG_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDFLG_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDFLG_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_LDFLG_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDFLG_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_LDFLG_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDFLG_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_LDFLG_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDFLG_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_LDFLG_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDFLG_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_LDFLG_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDFLG_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_LDFLG_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDFLG_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_LDFLG_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDFLG_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_LDFLG_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDFLG_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_LDFLG_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDFLG_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_LDFLG_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDFLG_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_LDFLG_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDFLG_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_LDFLG_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDFLG_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDFLG_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDFLG_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_LDFLG_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDFLG_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_LDFLG_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDFLG_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_LDFLG_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDFLG_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_LDFLG_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDFLG_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_LDFLG_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDFLG_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_LDFLG_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_LDFLG_LD;
            struct w32ISA_LDFLG_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDFLG_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDFLG_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDFLG_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDFLG_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDFLG_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDFLG_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDFLG_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDFLG_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDFLG_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDFLG_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDFLG_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDFLG_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDFLG_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDFLG_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDFLG_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDFLG_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDFLG_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDFLG_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDFLG_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDFLG_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDFLG_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDFLG_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDFLG_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDFLG_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_LDFLG_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDFLG_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_LDFLG_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDFLG_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_LDFLG_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDFLG_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_LDFLG_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDFLG_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_LDFLG_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDFLG_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_LDFLG_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDFLG_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_LDFLG_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDFLG_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_LDFLG_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDFLG_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_LDFLG_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDFLG_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_LDFLG_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDFLG_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_LDFLG_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDFLG_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_LDFLG_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDFLG_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDFLG_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDFLG_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_LDFLG_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDFLG_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_LDFLG_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDFLG_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_LDFLG_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDFLG_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_LDFLG_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDFLG_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_LDFLG_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDFLG_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDFLG_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_LDFLG_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_LDFLG_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDFLG_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDFLG_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_LDFLG_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_LDFLG_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDFLG_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDFLG_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_LDFLG_EX;
            struct w32ISA_LDFLG_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDFLG_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDFLG_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDFLG_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDFLG_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDFLG_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDFLG_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDFLG_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDFLG_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDFLG_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDFLG_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDFLG_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDFLG_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDFLG_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDFLG_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDFLG_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDFLG_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDFLG_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDFLG_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDFLG_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDFLG_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDFLG_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDFLG_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDFLG_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDFLG_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDFLG_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDFLG_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_LDFLG_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_LDFLG_EXX;
            struct w32ISA_LDFLG_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDFLG_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDFLG_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDFLG_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDFLG_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDFLG_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDFLG_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDFLG_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDFLG_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDFLG_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDFLG_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDFLG_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDFLG_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDFLG_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDFLG_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDFLG_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDFLG_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDFLG_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDFLG_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDFLG_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDFLG_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_LDFLG_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_LDFLG_WB;
            struct w32ISA_LDFLG_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_LDFLG;

    typedef union  T32ISA_LDFLG_Mask
          { UNSG32 u32;
            struct w32ISA_LDFLG_Mask;
                 } T32ISA_LDFLG_Mask;
    typedef union  T32ISA_LDFLG_Opcode
          { UNSG32 u32;
            struct w32ISA_LDFLG_Opcode;
                 } T32ISA_LDFLG_Opcode;
    typedef union  T32ISA_LDFLG_ID
          { UNSG32 u32;
            struct w32ISA_LDFLG_ID;
                 } T32ISA_LDFLG_ID;
    typedef union  T32ISA_LDFLG_LD
          { UNSG32 u32;
            struct w32ISA_LDFLG_LD;
                 } T32ISA_LDFLG_LD;
    typedef union  T32ISA_LDFLG_EX
          { UNSG32 u32;
            struct w32ISA_LDFLG_EX;
                 } T32ISA_LDFLG_EX;
    typedef union  T32ISA_LDFLG_EXX
          { UNSG32 u32;
            struct w32ISA_LDFLG_EXX;
                 } T32ISA_LDFLG_EXX;
    typedef union  T32ISA_LDFLG_WB
          { UNSG32 u32;
            struct w32ISA_LDFLG_WB;
                 } T32ISA_LDFLG_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_LDFLG_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_Mask;
                   };
                 } TISA_LDFLG_Mask;
    typedef union  TISA_LDFLG_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_Opcode;
                   };
                 } TISA_LDFLG_Opcode;
    typedef union  TISA_LDFLG_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_ID;
                   };
                 } TISA_LDFLG_ID;
    typedef union  TISA_LDFLG_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_LD;
                   };
                 } TISA_LDFLG_LD;
    typedef union  TISA_LDFLG_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_EX;
                   };
                 } TISA_LDFLG_EX;
    typedef union  TISA_LDFLG_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_EXX;
                   };
                 } TISA_LDFLG_EXX;
    typedef union  TISA_LDFLG_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDFLG_WB;
                   };
                 } TISA_LDFLG_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_LDFLG_drvrd(SIE_ISA_LDFLG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_LDFLG_drvwr(SIE_ISA_LDFLG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_LDFLG_reset(SIE_ISA_LDFLG *p);
     SIGN32 ISA_LDFLG_cmp  (SIE_ISA_LDFLG *p, SIE_ISA_LDFLG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_LDFLG_check(p,pie,pfx,hLOG) ISA_LDFLG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_LDFLG_print(p,    pfx,hLOG) ISA_LDFLG_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_LDFLG
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ADDi                                 (4,4)
///     ###
///     * Add an immediate number in [-2048,2047] with a register to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xD00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ADD.i"   , "rD,N,rT"     , "1101 NNNN NNNN NNNN TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    ADD.i    %d1, -1, %a1    ; %d1 = -1 + %a1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     0x1
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  0x1
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ADDi
#define h_ISA_ADDi (){}

    #define     RA_ISA_ADDi_Mask                               0x0000

    #define     BA_ISA_ADDi_Mask_INS                           0x0000
    #define     B16ISA_ADDi_Mask_INS                           0x0000
    #define   LSb32ISA_ADDi_Mask_INS                              0
    #define   LSb16ISA_ADDi_Mask_INS                              0
    #define       bISA_ADDi_Mask_INS                           24
    #define   MSK32ISA_ADDi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_Opcode                             0x0004

    #define     BA_ISA_ADDi_Opcode_INS                         0x0004
    #define     B16ISA_ADDi_Opcode_INS                         0x0004
    #define   LSb32ISA_ADDi_Opcode_INS                            0
    #define   LSb16ISA_ADDi_Opcode_INS                            0
    #define       bISA_ADDi_Opcode_INS                         24
    #define   MSK32ISA_ADDi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_ID                                 0x0008

    #define     BA_ISA_ADDi_ID_RBRF                            0x0008
    #define     B16ISA_ADDi_ID_RBRF                            0x0008
    #define   LSb32ISA_ADDi_ID_RBRF                               0
    #define   LSb16ISA_ADDi_ID_RBRF                               0
    #define       bISA_ADDi_ID_RBRF                            1
    #define   MSK32ISA_ADDi_ID_RBRF                               0x00000001

    #define     BA_ISA_ADDi_ID_RARF                            0x0008
    #define     B16ISA_ADDi_ID_RARF                            0x0008
    #define   LSb32ISA_ADDi_ID_RARF                               1
    #define   LSb16ISA_ADDi_ID_RARF                               1
    #define       bISA_ADDi_ID_RARF                            1
    #define   MSK32ISA_ADDi_ID_RARF                               0x00000002

    #define     BA_ISA_ADDi_ID_RAK8                            0x0008
    #define     B16ISA_ADDi_ID_RAK8                            0x0008
    #define   LSb32ISA_ADDi_ID_RAK8                               2
    #define   LSb16ISA_ADDi_ID_RAK8                               2
    #define       bISA_ADDi_ID_RAK8                            1
    #define   MSK32ISA_ADDi_ID_RAK8                               0x00000004

    #define     BA_ISA_ADDi_ID_RAI16                           0x0008
    #define     B16ISA_ADDi_ID_RAI16                           0x0008
    #define   LSb32ISA_ADDi_ID_RAI16                              3
    #define   LSb16ISA_ADDi_ID_RAI16                              3
    #define       bISA_ADDi_ID_RAI16                           1
    #define   MSK32ISA_ADDi_ID_RAI16                              0x00000008

    #define     BA_ISA_ADDi_ID_RAK16                           0x0008
    #define     B16ISA_ADDi_ID_RAK16                           0x0008
    #define   LSb32ISA_ADDi_ID_RAK16                              4
    #define   LSb16ISA_ADDi_ID_RAK16                              4
    #define       bISA_ADDi_ID_RAK16                           1
    #define   MSK32ISA_ADDi_ID_RAK16                              0x00000010

    #define     BA_ISA_ADDi_ID_RFSP                            0x0008
    #define     B16ISA_ADDi_ID_RFSP                            0x0008
    #define   LSb32ISA_ADDi_ID_RFSP                               5
    #define   LSb16ISA_ADDi_ID_RFSP                               5
    #define       bISA_ADDi_ID_RFSP                            1
    #define   MSK32ISA_ADDi_ID_RFSP                               0x00000020

    #define     BA_ISA_ADDi_ID_W4D4                            0x0008
    #define     B16ISA_ADDi_ID_W4D4                            0x0008
    #define   LSb32ISA_ADDi_ID_W4D4                               6
    #define   LSb16ISA_ADDi_ID_W4D4                               6
    #define       bISA_ADDi_ID_W4D4                            1
    #define   MSK32ISA_ADDi_ID_W4D4                               0x00000040

    #define     BA_ISA_ADDi_ID_W4S4                            0x0008
    #define     B16ISA_ADDi_ID_W4S4                            0x0008
    #define   LSb32ISA_ADDi_ID_W4S4                               7
    #define   LSb16ISA_ADDi_ID_W4S4                               7
    #define       bISA_ADDi_ID_W4S4                            1
    #define   MSK32ISA_ADDi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_LD                                 0x000C

    #define     BA_ISA_ADDi_LD_SPRF                            0x000C
    #define     B16ISA_ADDi_LD_SPRF                            0x000C
    #define   LSb32ISA_ADDi_LD_SPRF                               0
    #define   LSb16ISA_ADDi_LD_SPRF                               0
    #define       bISA_ADDi_LD_SPRF                            1
    #define   MSK32ISA_ADDi_LD_SPRF                               0x00000001

    #define     BA_ISA_ADDi_LD_SPK8                            0x000C
    #define     B16ISA_ADDi_LD_SPK8                            0x000C
    #define   LSb32ISA_ADDi_LD_SPK8                               1
    #define   LSb16ISA_ADDi_LD_SPK8                               1
    #define       bISA_ADDi_LD_SPK8                            1
    #define   MSK32ISA_ADDi_LD_SPK8                               0x00000002

    #define     BA_ISA_ADDi_LD_SPJ                             0x000C
    #define     B16ISA_ADDi_LD_SPJ                             0x000C
    #define   LSb32ISA_ADDi_LD_SPJ                                2
    #define   LSb16ISA_ADDi_LD_SPJ                                2
    #define       bISA_ADDi_LD_SPJ                             1
    #define   MSK32ISA_ADDi_LD_SPJ                                0x00000004

    #define     BA_ISA_ADDi_LD_SP4S                            0x000C
    #define     B16ISA_ADDi_LD_SP4S                            0x000C
    #define   LSb32ISA_ADDi_LD_SP4S                               3
    #define   LSb16ISA_ADDi_LD_SP4S                               3
    #define       bISA_ADDi_LD_SP4S                            1
    #define   MSK32ISA_ADDi_LD_SP4S                               0x00000008

    #define     BA_ISA_ADDi_LD_SP8S                            0x000C
    #define     B16ISA_ADDi_LD_SP8S                            0x000C
    #define   LSb32ISA_ADDi_LD_SP8S                               4
    #define   LSb16ISA_ADDi_LD_SP8S                               4
    #define       bISA_ADDi_LD_SP8S                            1
    #define   MSK32ISA_ADDi_LD_SP8S                               0x00000010

    #define     BA_ISA_ADDi_LD_SP8U                            0x000C
    #define     B16ISA_ADDi_LD_SP8U                            0x000C
    #define   LSb32ISA_ADDi_LD_SP8U                               5
    #define   LSb16ISA_ADDi_LD_SP8U                               5
    #define       bISA_ADDi_LD_SP8U                            1
    #define   MSK32ISA_ADDi_LD_SP8U                               0x00000020

    #define     BA_ISA_ADDi_LD_SP12S                           0x000C
    #define     B16ISA_ADDi_LD_SP12S                           0x000C
    #define   LSb32ISA_ADDi_LD_SP12S                              6
    #define   LSb16ISA_ADDi_LD_SP12S                              6
    #define       bISA_ADDi_LD_SP12S                           1
    #define   MSK32ISA_ADDi_LD_SP12S                              0x00000040

    #define     BA_ISA_ADDi_LD_SP16                            0x000C
    #define     B16ISA_ADDi_LD_SP16                            0x000C
    #define   LSb32ISA_ADDi_LD_SP16                               7
    #define   LSb16ISA_ADDi_LD_SP16                               7
    #define       bISA_ADDi_LD_SP16                            1
    #define   MSK32ISA_ADDi_LD_SP16                               0x00000080

    #define     BA_ISA_ADDi_LD_TPRF                            0x000D
    #define     B16ISA_ADDi_LD_TPRF                            0x000C
    #define   LSb32ISA_ADDi_LD_TPRF                               8
    #define   LSb16ISA_ADDi_LD_TPRF                               8
    #define       bISA_ADDi_LD_TPRF                            1
    #define   MSK32ISA_ADDi_LD_TPRF                               0x00000100

    #define     BA_ISA_ADDi_LD_TPJ                             0x000D
    #define     B16ISA_ADDi_LD_TPJ                             0x000C
    #define   LSb32ISA_ADDi_LD_TPJ                                9
    #define   LSb16ISA_ADDi_LD_TPJ                                9
    #define       bISA_ADDi_LD_TPJ                             1
    #define   MSK32ISA_ADDi_LD_TPJ                                0x00000200

    #define     BA_ISA_ADDi_LD_TP4S                            0x000D
    #define     B16ISA_ADDi_LD_TP4S                            0x000C
    #define   LSb32ISA_ADDi_LD_TP4S                               10
    #define   LSb16ISA_ADDi_LD_TP4S                               10
    #define       bISA_ADDi_LD_TP4S                            1
    #define   MSK32ISA_ADDi_LD_TP4S                               0x00000400

    #define     BA_ISA_ADDi_LD_TP8L                            0x000D
    #define     B16ISA_ADDi_LD_TP8L                            0x000C
    #define   LSb32ISA_ADDi_LD_TP8L                               11
    #define   LSb16ISA_ADDi_LD_TP8L                               11
    #define       bISA_ADDi_LD_TP8L                            1
    #define   MSK32ISA_ADDi_LD_TP8L                               0x00000800

    #define     BA_ISA_ADDi_LD_TP8H                            0x000D
    #define     B16ISA_ADDi_LD_TP8H                            0x000C
    #define   LSb32ISA_ADDi_LD_TP8H                               12
    #define   LSb16ISA_ADDi_LD_TP8H                               12
    #define       bISA_ADDi_LD_TP8H                            1
    #define   MSK32ISA_ADDi_LD_TP8H                               0x00001000

    #define     BA_ISA_ADDi_LD_TP8LF                           0x000D
    #define     B16ISA_ADDi_LD_TP8LF                           0x000C
    #define   LSb32ISA_ADDi_LD_TP8LF                              13
    #define   LSb16ISA_ADDi_LD_TP8LF                              13
    #define       bISA_ADDi_LD_TP8LF                           1
    #define   MSK32ISA_ADDi_LD_TP8LF                              0x00002000

    #define     BA_ISA_ADDi_LD_TP8HF                           0x000D
    #define     B16ISA_ADDi_LD_TP8HF                           0x000C
    #define   LSb32ISA_ADDi_LD_TP8HF                              14
    #define   LSb16ISA_ADDi_LD_TP8HF                              14
    #define       bISA_ADDi_LD_TP8HF                           1
    #define   MSK32ISA_ADDi_LD_TP8HF                              0x00004000

    #define     BA_ISA_ADDi_LD_SQRF64                          0x000D
    #define     B16ISA_ADDi_LD_SQRF64                          0x000C
    #define   LSb32ISA_ADDi_LD_SQRF64                             15
    #define   LSb16ISA_ADDi_LD_SQRF64                             15
    #define       bISA_ADDi_LD_SQRF64                          1
    #define   MSK32ISA_ADDi_LD_SQRF64                             0x00008000

    #define     BA_ISA_ADDi_LD_TQRF16Q                         0x000E
    #define     B16ISA_ADDi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_ADDi_LD_TQRF16Q                            16
    #define   LSb16ISA_ADDi_LD_TQRF16Q                            0
    #define       bISA_ADDi_LD_TQRF16Q                         1
    #define   MSK32ISA_ADDi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_ADDi_LD_TQRFx4                          0x000E
    #define     B16ISA_ADDi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_ADDi_LD_TQRFx4                             17
    #define   LSb16ISA_ADDi_LD_TQRFx4                             1
    #define       bISA_ADDi_LD_TQRFx4                          1
    #define   MSK32ISA_ADDi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_ADDi_LD_RD                              0x000E
    #define     B16ISA_ADDi_LD_RD                              0x000E
    #define   LSb32ISA_ADDi_LD_RD                                 18
    #define   LSb16ISA_ADDi_LD_RD                                 2
    #define       bISA_ADDi_LD_RD                              1
    #define   MSK32ISA_ADDi_LD_RD                                 0x00040000

    #define     BA_ISA_ADDi_LD_WARF                            0x000E
    #define     B16ISA_ADDi_LD_WARF                            0x000E
    #define   LSb32ISA_ADDi_LD_WARF                               19
    #define   LSb16ISA_ADDi_LD_WARF                               3
    #define       bISA_ADDi_LD_WARF                            1
    #define   MSK32ISA_ADDi_LD_WARF                               0x00080000

    #define     BA_ISA_ADDi_LD_WAK8                            0x000E
    #define     B16ISA_ADDi_LD_WAK8                            0x000E
    #define   LSb32ISA_ADDi_LD_WAK8                               20
    #define   LSb16ISA_ADDi_LD_WAK8                               4
    #define       bISA_ADDi_LD_WAK8                            1
    #define   MSK32ISA_ADDi_LD_WAK8                               0x00100000

    #define     BA_ISA_ADDi_LD_WAK16                           0x000E
    #define     B16ISA_ADDi_LD_WAK16                           0x000E
    #define   LSb32ISA_ADDi_LD_WAK16                              21
    #define   LSb16ISA_ADDi_LD_WAK16                              5
    #define       bISA_ADDi_LD_WAK16                           1
    #define   MSK32ISA_ADDi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_EX                                 0x0010

    #define     BA_ISA_ADDi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_ADDi_EX_ALU16FlagZ                         0
    #define       bISA_ADDi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_ADDi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_ADDi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagC                         1
    #define   LSb16ISA_ADDi_EX_ALU16FlagC                         1
    #define       bISA_ADDi_EX_ALU16FlagC                      1
    #define   MSK32ISA_ADDi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_ADDi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagN                         2
    #define   LSb16ISA_ADDi_EX_ALU16FlagN                         2
    #define       bISA_ADDi_EX_ALU16FlagN                      1
    #define   MSK32ISA_ADDi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_ADDi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagV                         3
    #define   LSb16ISA_ADDi_EX_ALU16FlagV                         3
    #define       bISA_ADDi_EX_ALU16FlagV                      1
    #define   MSK32ISA_ADDi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_ADDi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_ADDi_EX_ALU16FlagTP                        4
    #define       bISA_ADDi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_ADDi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_ADDi_EX_ALU16MUL                        0x0010
    #define     B16ISA_ADDi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16MUL                           5
    #define   LSb16ISA_ADDi_EX_ALU16MUL                           5
    #define       bISA_ADDi_EX_ALU16MUL                        1
    #define   MSK32ISA_ADDi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_ADDi_EX_ALU16DIV                        0x0010
    #define     B16ISA_ADDi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16DIV                           6
    #define   LSb16ISA_ADDi_EX_ALU16DIV                           6
    #define       bISA_ADDi_EX_ALU16DIV                        1
    #define   MSK32ISA_ADDi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_ADDi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_ADDi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_ADDi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_ADDi_EX_ALU16FlagLD                        7
    #define       bISA_ADDi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_ADDi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_ADDi_EX_ALU16MDL                        0x0011
    #define     B16ISA_ADDi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16MDL                           8
    #define   LSb16ISA_ADDi_EX_ALU16MDL                           8
    #define       bISA_ADDi_EX_ALU16MDL                        1
    #define   MSK32ISA_ADDi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_ADDi_EX_ALU16MDH                        0x0011
    #define     B16ISA_ADDi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16MDH                           9
    #define   LSb16ISA_ADDi_EX_ALU16MDH                           9
    #define       bISA_ADDi_EX_ALU16MDH                        1
    #define   MSK32ISA_ADDi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_ADDi_EX_ALU16ADD                        0x0011
    #define     B16ISA_ADDi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16ADD                           10
    #define   LSb16ISA_ADDi_EX_ALU16ADD                           10
    #define       bISA_ADDi_EX_ALU16ADD                        1
    #define   MSK32ISA_ADDi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_ADDi_EX_ALU16SUB                        0x0011
    #define     B16ISA_ADDi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16SUB                           11
    #define   LSb16ISA_ADDi_EX_ALU16SUB                           11
    #define       bISA_ADDi_EX_ALU16SUB                        1
    #define   MSK32ISA_ADDi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_ADDi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_ADDi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_ADDi_EX_ALU16ADDC                          12
    #define   LSb16ISA_ADDi_EX_ALU16ADDC                          12
    #define       bISA_ADDi_EX_ALU16ADDC                       1
    #define   MSK32ISA_ADDi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_ADDi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_ADDi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_ADDi_EX_ALU16SUBC                          13
    #define   LSb16ISA_ADDi_EX_ALU16SUBC                          13
    #define       bISA_ADDi_EX_ALU16SUBC                       1
    #define   MSK32ISA_ADDi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_ADDi_EX_ALU16ASR                        0x0011
    #define     B16ISA_ADDi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_ADDi_EX_ALU16ASR                           14
    #define   LSb16ISA_ADDi_EX_ALU16ASR                           14
    #define       bISA_ADDi_EX_ALU16ASR                        1
    #define   MSK32ISA_ADDi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_ADDi_EX_ALU16SL                         0x0011
    #define     B16ISA_ADDi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_ADDi_EX_ALU16SL                            15
    #define   LSb16ISA_ADDi_EX_ALU16SL                            15
    #define       bISA_ADDi_EX_ALU16SL                         1
    #define   MSK32ISA_ADDi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_ADDi_EX_ALU16SR                         0x0012
    #define     B16ISA_ADDi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_ADDi_EX_ALU16SR                            16
    #define   LSb16ISA_ADDi_EX_ALU16SR                            0
    #define       bISA_ADDi_EX_ALU16SR                         1
    #define   MSK32ISA_ADDi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_ADDi_EX_ALU16GET                        0x0012
    #define     B16ISA_ADDi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_ADDi_EX_ALU16GET                           17
    #define   LSb16ISA_ADDi_EX_ALU16GET                           1
    #define       bISA_ADDi_EX_ALU16GET                        1
    #define   MSK32ISA_ADDi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_ADDi_EX_ALU16SET                        0x0012
    #define     B16ISA_ADDi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_ADDi_EX_ALU16SET                           18
    #define   LSb16ISA_ADDi_EX_ALU16SET                           2
    #define       bISA_ADDi_EX_ALU16SET                        1
    #define   MSK32ISA_ADDi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_ADDi_EX_ALU16SEL                        0x0012
    #define     B16ISA_ADDi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_ADDi_EX_ALU16SEL                           19
    #define   LSb16ISA_ADDi_EX_ALU16SEL                           3
    #define       bISA_ADDi_EX_ALU16SEL                        1
    #define   MSK32ISA_ADDi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_ADDi_EX_ALU16OR                         0x0012
    #define     B16ISA_ADDi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_ADDi_EX_ALU16OR                            20
    #define   LSb16ISA_ADDi_EX_ALU16OR                            4
    #define       bISA_ADDi_EX_ALU16OR                         1
    #define   MSK32ISA_ADDi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_ADDi_EX_ALU16AND                        0x0012
    #define     B16ISA_ADDi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_ADDi_EX_ALU16AND                           21
    #define   LSb16ISA_ADDi_EX_ALU16AND                           5
    #define       bISA_ADDi_EX_ALU16AND                        1
    #define   MSK32ISA_ADDi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_ADDi_EX_ALU16XOR                        0x0012
    #define     B16ISA_ADDi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_ADDi_EX_ALU16XOR                           22
    #define   LSb16ISA_ADDi_EX_ALU16XOR                           6
    #define       bISA_ADDi_EX_ALU16XOR                        1
    #define   MSK32ISA_ADDi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_ADDi_EX_ALU16SP                         0x0012
    #define     B16ISA_ADDi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_ADDi_EX_ALU16SP                            23
    #define   LSb16ISA_ADDi_EX_ALU16SP                            7
    #define       bISA_ADDi_EX_ALU16SP                         1
    #define   MSK32ISA_ADDi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_EXX                                0x0014

    #define     BA_ISA_ADDi_EXX_WRSQ                           0x0014
    #define     B16ISA_ADDi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_ADDi_EXX_WRSQ                              0
    #define   LSb16ISA_ADDi_EXX_WRSQ                              0
    #define       bISA_ADDi_EXX_WRSQ                           1
    #define   MSK32ISA_ADDi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_ADDi_EXX_WR16                           0x0014
    #define     B16ISA_ADDi_EXX_WR16                           0x0014
    #define   LSb32ISA_ADDi_EXX_WR16                              1
    #define   LSb16ISA_ADDi_EXX_WR16                              1
    #define       bISA_ADDi_EXX_WR16                           1
    #define   MSK32ISA_ADDi_EXX_WR16                              0x00000002

    #define     BA_ISA_ADDi_EXX_WRTQ                           0x0014
    #define     B16ISA_ADDi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_ADDi_EXX_WRTQ                              2
    #define   LSb16ISA_ADDi_EXX_WRTQ                              2
    #define       bISA_ADDi_EXX_WRTQ                           1
    #define   MSK32ISA_ADDi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_ADDi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_ADDi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_ADDi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_ADDi_EXX_ALU64PUSH                         3
    #define       bISA_ADDi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_ADDi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_ADDi_EXX_ALU64POP                       0x0014
    #define     B16ISA_ADDi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_ADDi_EXX_ALU64POP                          4
    #define   LSb16ISA_ADDi_EXX_ALU64POP                          4
    #define       bISA_ADDi_EXX_ALU64POP                       1
    #define   MSK32ISA_ADDi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_ADDi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_ADDi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_ADDi_EXX_ALU64SQ                           5
    #define   LSb16ISA_ADDi_EXX_ALU64SQ                           5
    #define       bISA_ADDi_EXX_ALU64SQ                        1
    #define   MSK32ISA_ADDi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_ADDi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_ADDi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_ADDi_EXX_ALU64TQ                           6
    #define   LSb16ISA_ADDi_EXX_ALU64TQ                           6
    #define       bISA_ADDi_EXX_ALU64TQ                        1
    #define   MSK32ISA_ADDi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_ADDi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_ADDi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_ADDi_EXX_ALU64MEM                          7
    #define   LSb16ISA_ADDi_EXX_ALU64MEM                          7
    #define       bISA_ADDi_EXX_ALU64MEM                       1
    #define   MSK32ISA_ADDi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_ADDi_EXX_BRANCH                         0x0015
    #define     B16ISA_ADDi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_ADDi_EXX_BRANCH                            8
    #define   LSb16ISA_ADDi_EXX_BRANCH                            8
    #define       bISA_ADDi_EXX_BRANCH                         1
    #define   MSK32ISA_ADDi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDi_WB                                 0x0018

    #define     BA_ISA_ADDi_WB_RF16                            0x0018
    #define     B16ISA_ADDi_WB_RF16                            0x0018
    #define   LSb32ISA_ADDi_WB_RF16                               0
    #define   LSb16ISA_ADDi_WB_RF16                               0
    #define       bISA_ADDi_WB_RF16                            1
    #define   MSK32ISA_ADDi_WB_RF16                               0x00000001

    #define     BA_ISA_ADDi_WB_RF16W0                          0x0018
    #define     B16ISA_ADDi_WB_RF16W0                          0x0018
    #define   LSb32ISA_ADDi_WB_RF16W0                             1
    #define   LSb16ISA_ADDi_WB_RF16W0                             1
    #define       bISA_ADDi_WB_RF16W0                          1
    #define   MSK32ISA_ADDi_WB_RF16W0                             0x00000002

    #define     BA_ISA_ADDi_WB_RF16MEM                         0x0018
    #define     B16ISA_ADDi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_ADDi_WB_RF16MEM                            2
    #define   LSb16ISA_ADDi_WB_RF16MEM                            2
    #define       bISA_ADDi_WB_RF16MEM                         1
    #define   MSK32ISA_ADDi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_ADDi_WB_RF16Q                           0x0018
    #define     B16ISA_ADDi_WB_RF16Q                           0x0018
    #define   LSb32ISA_ADDi_WB_RF16Q                              3
    #define   LSb16ISA_ADDi_WB_RF16Q                              3
    #define       bISA_ADDi_WB_RF16Q                           1
    #define   MSK32ISA_ADDi_WB_RF16Q                              0x00000008

    #define     BA_ISA_ADDi_WB_RF64                            0x0018
    #define     B16ISA_ADDi_WB_RF64                            0x0018
    #define   LSb32ISA_ADDi_WB_RF64                               4
    #define   LSb16ISA_ADDi_WB_RF64                               4
    #define       bISA_ADDi_WB_RF64                            1
    #define   MSK32ISA_ADDi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ADDi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_ADDi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADDi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADDi_Mask;
            struct w32ISA_ADDi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_ADDi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADDi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADDi_Opcode;
            struct w32ISA_ADDi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADDi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ADDi_ID;
            struct w32ISA_ADDi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADDi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADDi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADDi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADDi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADDi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_ADDi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADDi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_ADDi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADDi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_ADDi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADDi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_ADDi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADDi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_ADDi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADDi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_ADDi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADDi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_ADDi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADDi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_ADDi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADDi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_ADDi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADDi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_ADDi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADDi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ADDi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADDi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ADDi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADDi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ADDi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADDi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_ADDi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADDi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_ADDi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADDi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_ADDi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADDi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_ADDi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADDi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_ADDi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADDi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ADDi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ADDi_LD;
            struct w32ISA_ADDi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADDi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADDi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADDi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADDi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADDi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_ADDi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADDi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_ADDi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADDi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_ADDi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADDi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_ADDi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADDi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_ADDi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADDi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_ADDi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADDi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_ADDi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADDi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_ADDi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADDi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_ADDi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADDi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_ADDi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADDi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_ADDi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADDi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_ADDi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADDi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ADDi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADDi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_ADDi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADDi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_ADDi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADDi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_ADDi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADDi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_ADDi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADDi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_ADDi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADDi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_ADDi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_ADDi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_ADDi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_ADDi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADDi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ADDi_EX;
            struct w32ISA_ADDi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ADDi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ADDi_EXX;
            struct w32ISA_ADDi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ADDi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ADDi_WB;
            struct w32ISA_ADDi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ADDi;

    typedef union  T32ISA_ADDi_Mask
          { UNSG32 u32;
            struct w32ISA_ADDi_Mask;
                 } T32ISA_ADDi_Mask;
    typedef union  T32ISA_ADDi_Opcode
          { UNSG32 u32;
            struct w32ISA_ADDi_Opcode;
                 } T32ISA_ADDi_Opcode;
    typedef union  T32ISA_ADDi_ID
          { UNSG32 u32;
            struct w32ISA_ADDi_ID;
                 } T32ISA_ADDi_ID;
    typedef union  T32ISA_ADDi_LD
          { UNSG32 u32;
            struct w32ISA_ADDi_LD;
                 } T32ISA_ADDi_LD;
    typedef union  T32ISA_ADDi_EX
          { UNSG32 u32;
            struct w32ISA_ADDi_EX;
                 } T32ISA_ADDi_EX;
    typedef union  T32ISA_ADDi_EXX
          { UNSG32 u32;
            struct w32ISA_ADDi_EXX;
                 } T32ISA_ADDi_EXX;
    typedef union  T32ISA_ADDi_WB
          { UNSG32 u32;
            struct w32ISA_ADDi_WB;
                 } T32ISA_ADDi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ADDi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_Mask;
                   };
                 } TISA_ADDi_Mask;
    typedef union  TISA_ADDi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_Opcode;
                   };
                 } TISA_ADDi_Opcode;
    typedef union  TISA_ADDi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_ID;
                   };
                 } TISA_ADDi_ID;
    typedef union  TISA_ADDi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_LD;
                   };
                 } TISA_ADDi_LD;
    typedef union  TISA_ADDi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_EX;
                   };
                 } TISA_ADDi_EX;
    typedef union  TISA_ADDi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_EXX;
                   };
                 } TISA_ADDi_EXX;
    typedef union  TISA_ADDi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDi_WB;
                   };
                 } TISA_ADDi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ADDi_drvrd(SIE_ISA_ADDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ADDi_drvwr(SIE_ISA_ADDi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ADDi_reset(SIE_ISA_ADDi *p);
     SIGN32 ISA_ADDi_cmp  (SIE_ISA_ADDi *p, SIE_ISA_ADDi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ADDi_check(p,pie,pfx,hLOG) ISA_ADDi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ADDi_print(p,    pfx,hLOG) ISA_ADDi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ADDi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ADD                                  (4,4)
///     ###
///     * Add 2 registers to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x100000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ADD"     , "rD,rS,rT"    , "0001 0000 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    ADD      %d1, %b1, %a1    ; %d1 = %b1 + %a1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  0x1
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ADD
#define h_ISA_ADD (){}

    #define     RA_ISA_ADD_Mask                                0x0000

    #define     BA_ISA_ADD_Mask_INS                            0x0000
    #define     B16ISA_ADD_Mask_INS                            0x0000
    #define   LSb32ISA_ADD_Mask_INS                               0
    #define   LSb16ISA_ADD_Mask_INS                               0
    #define       bISA_ADD_Mask_INS                            24
    #define   MSK32ISA_ADD_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_Opcode                              0x0004

    #define     BA_ISA_ADD_Opcode_INS                          0x0004
    #define     B16ISA_ADD_Opcode_INS                          0x0004
    #define   LSb32ISA_ADD_Opcode_INS                             0
    #define   LSb16ISA_ADD_Opcode_INS                             0
    #define       bISA_ADD_Opcode_INS                          24
    #define   MSK32ISA_ADD_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_ID                                  0x0008

    #define     BA_ISA_ADD_ID_RBRF                             0x0008
    #define     B16ISA_ADD_ID_RBRF                             0x0008
    #define   LSb32ISA_ADD_ID_RBRF                                0
    #define   LSb16ISA_ADD_ID_RBRF                                0
    #define       bISA_ADD_ID_RBRF                             1
    #define   MSK32ISA_ADD_ID_RBRF                                0x00000001

    #define     BA_ISA_ADD_ID_RARF                             0x0008
    #define     B16ISA_ADD_ID_RARF                             0x0008
    #define   LSb32ISA_ADD_ID_RARF                                1
    #define   LSb16ISA_ADD_ID_RARF                                1
    #define       bISA_ADD_ID_RARF                             1
    #define   MSK32ISA_ADD_ID_RARF                                0x00000002

    #define     BA_ISA_ADD_ID_RAK8                             0x0008
    #define     B16ISA_ADD_ID_RAK8                             0x0008
    #define   LSb32ISA_ADD_ID_RAK8                                2
    #define   LSb16ISA_ADD_ID_RAK8                                2
    #define       bISA_ADD_ID_RAK8                             1
    #define   MSK32ISA_ADD_ID_RAK8                                0x00000004

    #define     BA_ISA_ADD_ID_RAI16                            0x0008
    #define     B16ISA_ADD_ID_RAI16                            0x0008
    #define   LSb32ISA_ADD_ID_RAI16                               3
    #define   LSb16ISA_ADD_ID_RAI16                               3
    #define       bISA_ADD_ID_RAI16                            1
    #define   MSK32ISA_ADD_ID_RAI16                               0x00000008

    #define     BA_ISA_ADD_ID_RAK16                            0x0008
    #define     B16ISA_ADD_ID_RAK16                            0x0008
    #define   LSb32ISA_ADD_ID_RAK16                               4
    #define   LSb16ISA_ADD_ID_RAK16                               4
    #define       bISA_ADD_ID_RAK16                            1
    #define   MSK32ISA_ADD_ID_RAK16                               0x00000010

    #define     BA_ISA_ADD_ID_RFSP                             0x0008
    #define     B16ISA_ADD_ID_RFSP                             0x0008
    #define   LSb32ISA_ADD_ID_RFSP                                5
    #define   LSb16ISA_ADD_ID_RFSP                                5
    #define       bISA_ADD_ID_RFSP                             1
    #define   MSK32ISA_ADD_ID_RFSP                                0x00000020

    #define     BA_ISA_ADD_ID_W4D4                             0x0008
    #define     B16ISA_ADD_ID_W4D4                             0x0008
    #define   LSb32ISA_ADD_ID_W4D4                                6
    #define   LSb16ISA_ADD_ID_W4D4                                6
    #define       bISA_ADD_ID_W4D4                             1
    #define   MSK32ISA_ADD_ID_W4D4                                0x00000040

    #define     BA_ISA_ADD_ID_W4S4                             0x0008
    #define     B16ISA_ADD_ID_W4S4                             0x0008
    #define   LSb32ISA_ADD_ID_W4S4                                7
    #define   LSb16ISA_ADD_ID_W4S4                                7
    #define       bISA_ADD_ID_W4S4                             1
    #define   MSK32ISA_ADD_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_LD                                  0x000C

    #define     BA_ISA_ADD_LD_SPRF                             0x000C
    #define     B16ISA_ADD_LD_SPRF                             0x000C
    #define   LSb32ISA_ADD_LD_SPRF                                0
    #define   LSb16ISA_ADD_LD_SPRF                                0
    #define       bISA_ADD_LD_SPRF                             1
    #define   MSK32ISA_ADD_LD_SPRF                                0x00000001

    #define     BA_ISA_ADD_LD_SPK8                             0x000C
    #define     B16ISA_ADD_LD_SPK8                             0x000C
    #define   LSb32ISA_ADD_LD_SPK8                                1
    #define   LSb16ISA_ADD_LD_SPK8                                1
    #define       bISA_ADD_LD_SPK8                             1
    #define   MSK32ISA_ADD_LD_SPK8                                0x00000002

    #define     BA_ISA_ADD_LD_SPJ                              0x000C
    #define     B16ISA_ADD_LD_SPJ                              0x000C
    #define   LSb32ISA_ADD_LD_SPJ                                 2
    #define   LSb16ISA_ADD_LD_SPJ                                 2
    #define       bISA_ADD_LD_SPJ                              1
    #define   MSK32ISA_ADD_LD_SPJ                                 0x00000004

    #define     BA_ISA_ADD_LD_SP4S                             0x000C
    #define     B16ISA_ADD_LD_SP4S                             0x000C
    #define   LSb32ISA_ADD_LD_SP4S                                3
    #define   LSb16ISA_ADD_LD_SP4S                                3
    #define       bISA_ADD_LD_SP4S                             1
    #define   MSK32ISA_ADD_LD_SP4S                                0x00000008

    #define     BA_ISA_ADD_LD_SP8S                             0x000C
    #define     B16ISA_ADD_LD_SP8S                             0x000C
    #define   LSb32ISA_ADD_LD_SP8S                                4
    #define   LSb16ISA_ADD_LD_SP8S                                4
    #define       bISA_ADD_LD_SP8S                             1
    #define   MSK32ISA_ADD_LD_SP8S                                0x00000010

    #define     BA_ISA_ADD_LD_SP8U                             0x000C
    #define     B16ISA_ADD_LD_SP8U                             0x000C
    #define   LSb32ISA_ADD_LD_SP8U                                5
    #define   LSb16ISA_ADD_LD_SP8U                                5
    #define       bISA_ADD_LD_SP8U                             1
    #define   MSK32ISA_ADD_LD_SP8U                                0x00000020

    #define     BA_ISA_ADD_LD_SP12S                            0x000C
    #define     B16ISA_ADD_LD_SP12S                            0x000C
    #define   LSb32ISA_ADD_LD_SP12S                               6
    #define   LSb16ISA_ADD_LD_SP12S                               6
    #define       bISA_ADD_LD_SP12S                            1
    #define   MSK32ISA_ADD_LD_SP12S                               0x00000040

    #define     BA_ISA_ADD_LD_SP16                             0x000C
    #define     B16ISA_ADD_LD_SP16                             0x000C
    #define   LSb32ISA_ADD_LD_SP16                                7
    #define   LSb16ISA_ADD_LD_SP16                                7
    #define       bISA_ADD_LD_SP16                             1
    #define   MSK32ISA_ADD_LD_SP16                                0x00000080

    #define     BA_ISA_ADD_LD_TPRF                             0x000D
    #define     B16ISA_ADD_LD_TPRF                             0x000C
    #define   LSb32ISA_ADD_LD_TPRF                                8
    #define   LSb16ISA_ADD_LD_TPRF                                8
    #define       bISA_ADD_LD_TPRF                             1
    #define   MSK32ISA_ADD_LD_TPRF                                0x00000100

    #define     BA_ISA_ADD_LD_TPJ                              0x000D
    #define     B16ISA_ADD_LD_TPJ                              0x000C
    #define   LSb32ISA_ADD_LD_TPJ                                 9
    #define   LSb16ISA_ADD_LD_TPJ                                 9
    #define       bISA_ADD_LD_TPJ                              1
    #define   MSK32ISA_ADD_LD_TPJ                                 0x00000200

    #define     BA_ISA_ADD_LD_TP4S                             0x000D
    #define     B16ISA_ADD_LD_TP4S                             0x000C
    #define   LSb32ISA_ADD_LD_TP4S                                10
    #define   LSb16ISA_ADD_LD_TP4S                                10
    #define       bISA_ADD_LD_TP4S                             1
    #define   MSK32ISA_ADD_LD_TP4S                                0x00000400

    #define     BA_ISA_ADD_LD_TP8L                             0x000D
    #define     B16ISA_ADD_LD_TP8L                             0x000C
    #define   LSb32ISA_ADD_LD_TP8L                                11
    #define   LSb16ISA_ADD_LD_TP8L                                11
    #define       bISA_ADD_LD_TP8L                             1
    #define   MSK32ISA_ADD_LD_TP8L                                0x00000800

    #define     BA_ISA_ADD_LD_TP8H                             0x000D
    #define     B16ISA_ADD_LD_TP8H                             0x000C
    #define   LSb32ISA_ADD_LD_TP8H                                12
    #define   LSb16ISA_ADD_LD_TP8H                                12
    #define       bISA_ADD_LD_TP8H                             1
    #define   MSK32ISA_ADD_LD_TP8H                                0x00001000

    #define     BA_ISA_ADD_LD_TP8LF                            0x000D
    #define     B16ISA_ADD_LD_TP8LF                            0x000C
    #define   LSb32ISA_ADD_LD_TP8LF                               13
    #define   LSb16ISA_ADD_LD_TP8LF                               13
    #define       bISA_ADD_LD_TP8LF                            1
    #define   MSK32ISA_ADD_LD_TP8LF                               0x00002000

    #define     BA_ISA_ADD_LD_TP8HF                            0x000D
    #define     B16ISA_ADD_LD_TP8HF                            0x000C
    #define   LSb32ISA_ADD_LD_TP8HF                               14
    #define   LSb16ISA_ADD_LD_TP8HF                               14
    #define       bISA_ADD_LD_TP8HF                            1
    #define   MSK32ISA_ADD_LD_TP8HF                               0x00004000

    #define     BA_ISA_ADD_LD_SQRF64                           0x000D
    #define     B16ISA_ADD_LD_SQRF64                           0x000C
    #define   LSb32ISA_ADD_LD_SQRF64                              15
    #define   LSb16ISA_ADD_LD_SQRF64                              15
    #define       bISA_ADD_LD_SQRF64                           1
    #define   MSK32ISA_ADD_LD_SQRF64                              0x00008000

    #define     BA_ISA_ADD_LD_TQRF16Q                          0x000E
    #define     B16ISA_ADD_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_ADD_LD_TQRF16Q                             16
    #define   LSb16ISA_ADD_LD_TQRF16Q                             0
    #define       bISA_ADD_LD_TQRF16Q                          1
    #define   MSK32ISA_ADD_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_ADD_LD_TQRFx4                           0x000E
    #define     B16ISA_ADD_LD_TQRFx4                           0x000E
    #define   LSb32ISA_ADD_LD_TQRFx4                              17
    #define   LSb16ISA_ADD_LD_TQRFx4                              1
    #define       bISA_ADD_LD_TQRFx4                           1
    #define   MSK32ISA_ADD_LD_TQRFx4                              0x00020000

    #define     BA_ISA_ADD_LD_RD                               0x000E
    #define     B16ISA_ADD_LD_RD                               0x000E
    #define   LSb32ISA_ADD_LD_RD                                  18
    #define   LSb16ISA_ADD_LD_RD                                  2
    #define       bISA_ADD_LD_RD                               1
    #define   MSK32ISA_ADD_LD_RD                                  0x00040000

    #define     BA_ISA_ADD_LD_WARF                             0x000E
    #define     B16ISA_ADD_LD_WARF                             0x000E
    #define   LSb32ISA_ADD_LD_WARF                                19
    #define   LSb16ISA_ADD_LD_WARF                                3
    #define       bISA_ADD_LD_WARF                             1
    #define   MSK32ISA_ADD_LD_WARF                                0x00080000

    #define     BA_ISA_ADD_LD_WAK8                             0x000E
    #define     B16ISA_ADD_LD_WAK8                             0x000E
    #define   LSb32ISA_ADD_LD_WAK8                                20
    #define   LSb16ISA_ADD_LD_WAK8                                4
    #define       bISA_ADD_LD_WAK8                             1
    #define   MSK32ISA_ADD_LD_WAK8                                0x00100000

    #define     BA_ISA_ADD_LD_WAK16                            0x000E
    #define     B16ISA_ADD_LD_WAK16                            0x000E
    #define   LSb32ISA_ADD_LD_WAK16                               21
    #define   LSb16ISA_ADD_LD_WAK16                               5
    #define       bISA_ADD_LD_WAK16                            1
    #define   MSK32ISA_ADD_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_EX                                  0x0010

    #define     BA_ISA_ADD_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_ADD_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagZ                          0
    #define   LSb16ISA_ADD_EX_ALU16FlagZ                          0
    #define       bISA_ADD_EX_ALU16FlagZ                       1
    #define   MSK32ISA_ADD_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_ADD_EX_ALU16FlagC                       0x0010
    #define     B16ISA_ADD_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagC                          1
    #define   LSb16ISA_ADD_EX_ALU16FlagC                          1
    #define       bISA_ADD_EX_ALU16FlagC                       1
    #define   MSK32ISA_ADD_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_ADD_EX_ALU16FlagN                       0x0010
    #define     B16ISA_ADD_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagN                          2
    #define   LSb16ISA_ADD_EX_ALU16FlagN                          2
    #define       bISA_ADD_EX_ALU16FlagN                       1
    #define   MSK32ISA_ADD_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_ADD_EX_ALU16FlagV                       0x0010
    #define     B16ISA_ADD_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagV                          3
    #define   LSb16ISA_ADD_EX_ALU16FlagV                          3
    #define       bISA_ADD_EX_ALU16FlagV                       1
    #define   MSK32ISA_ADD_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_ADD_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_ADD_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagTP                         4
    #define   LSb16ISA_ADD_EX_ALU16FlagTP                         4
    #define       bISA_ADD_EX_ALU16FlagTP                      1
    #define   MSK32ISA_ADD_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_ADD_EX_ALU16MUL                         0x0010
    #define     B16ISA_ADD_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16MUL                            5
    #define   LSb16ISA_ADD_EX_ALU16MUL                            5
    #define       bISA_ADD_EX_ALU16MUL                         1
    #define   MSK32ISA_ADD_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_ADD_EX_ALU16DIV                         0x0010
    #define     B16ISA_ADD_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16DIV                            6
    #define   LSb16ISA_ADD_EX_ALU16DIV                            6
    #define       bISA_ADD_EX_ALU16DIV                         1
    #define   MSK32ISA_ADD_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_ADD_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_ADD_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_ADD_EX_ALU16FlagLD                         7
    #define   LSb16ISA_ADD_EX_ALU16FlagLD                         7
    #define       bISA_ADD_EX_ALU16FlagLD                      1
    #define   MSK32ISA_ADD_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_ADD_EX_ALU16MDL                         0x0011
    #define     B16ISA_ADD_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16MDL                            8
    #define   LSb16ISA_ADD_EX_ALU16MDL                            8
    #define       bISA_ADD_EX_ALU16MDL                         1
    #define   MSK32ISA_ADD_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_ADD_EX_ALU16MDH                         0x0011
    #define     B16ISA_ADD_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16MDH                            9
    #define   LSb16ISA_ADD_EX_ALU16MDH                            9
    #define       bISA_ADD_EX_ALU16MDH                         1
    #define   MSK32ISA_ADD_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_ADD_EX_ALU16ADD                         0x0011
    #define     B16ISA_ADD_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16ADD                            10
    #define   LSb16ISA_ADD_EX_ALU16ADD                            10
    #define       bISA_ADD_EX_ALU16ADD                         1
    #define   MSK32ISA_ADD_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_ADD_EX_ALU16SUB                         0x0011
    #define     B16ISA_ADD_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16SUB                            11
    #define   LSb16ISA_ADD_EX_ALU16SUB                            11
    #define       bISA_ADD_EX_ALU16SUB                         1
    #define   MSK32ISA_ADD_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_ADD_EX_ALU16ADDC                        0x0011
    #define     B16ISA_ADD_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_ADD_EX_ALU16ADDC                           12
    #define   LSb16ISA_ADD_EX_ALU16ADDC                           12
    #define       bISA_ADD_EX_ALU16ADDC                        1
    #define   MSK32ISA_ADD_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_ADD_EX_ALU16SUBC                        0x0011
    #define     B16ISA_ADD_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_ADD_EX_ALU16SUBC                           13
    #define   LSb16ISA_ADD_EX_ALU16SUBC                           13
    #define       bISA_ADD_EX_ALU16SUBC                        1
    #define   MSK32ISA_ADD_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_ADD_EX_ALU16ASR                         0x0011
    #define     B16ISA_ADD_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_ADD_EX_ALU16ASR                            14
    #define   LSb16ISA_ADD_EX_ALU16ASR                            14
    #define       bISA_ADD_EX_ALU16ASR                         1
    #define   MSK32ISA_ADD_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_ADD_EX_ALU16SL                          0x0011
    #define     B16ISA_ADD_EX_ALU16SL                          0x0010
    #define   LSb32ISA_ADD_EX_ALU16SL                             15
    #define   LSb16ISA_ADD_EX_ALU16SL                             15
    #define       bISA_ADD_EX_ALU16SL                          1
    #define   MSK32ISA_ADD_EX_ALU16SL                             0x00008000

    #define     BA_ISA_ADD_EX_ALU16SR                          0x0012
    #define     B16ISA_ADD_EX_ALU16SR                          0x0012
    #define   LSb32ISA_ADD_EX_ALU16SR                             16
    #define   LSb16ISA_ADD_EX_ALU16SR                             0
    #define       bISA_ADD_EX_ALU16SR                          1
    #define   MSK32ISA_ADD_EX_ALU16SR                             0x00010000

    #define     BA_ISA_ADD_EX_ALU16GET                         0x0012
    #define     B16ISA_ADD_EX_ALU16GET                         0x0012
    #define   LSb32ISA_ADD_EX_ALU16GET                            17
    #define   LSb16ISA_ADD_EX_ALU16GET                            1
    #define       bISA_ADD_EX_ALU16GET                         1
    #define   MSK32ISA_ADD_EX_ALU16GET                            0x00020000

    #define     BA_ISA_ADD_EX_ALU16SET                         0x0012
    #define     B16ISA_ADD_EX_ALU16SET                         0x0012
    #define   LSb32ISA_ADD_EX_ALU16SET                            18
    #define   LSb16ISA_ADD_EX_ALU16SET                            2
    #define       bISA_ADD_EX_ALU16SET                         1
    #define   MSK32ISA_ADD_EX_ALU16SET                            0x00040000

    #define     BA_ISA_ADD_EX_ALU16SEL                         0x0012
    #define     B16ISA_ADD_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_ADD_EX_ALU16SEL                            19
    #define   LSb16ISA_ADD_EX_ALU16SEL                            3
    #define       bISA_ADD_EX_ALU16SEL                         1
    #define   MSK32ISA_ADD_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_ADD_EX_ALU16OR                          0x0012
    #define     B16ISA_ADD_EX_ALU16OR                          0x0012
    #define   LSb32ISA_ADD_EX_ALU16OR                             20
    #define   LSb16ISA_ADD_EX_ALU16OR                             4
    #define       bISA_ADD_EX_ALU16OR                          1
    #define   MSK32ISA_ADD_EX_ALU16OR                             0x00100000

    #define     BA_ISA_ADD_EX_ALU16AND                         0x0012
    #define     B16ISA_ADD_EX_ALU16AND                         0x0012
    #define   LSb32ISA_ADD_EX_ALU16AND                            21
    #define   LSb16ISA_ADD_EX_ALU16AND                            5
    #define       bISA_ADD_EX_ALU16AND                         1
    #define   MSK32ISA_ADD_EX_ALU16AND                            0x00200000

    #define     BA_ISA_ADD_EX_ALU16XOR                         0x0012
    #define     B16ISA_ADD_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_ADD_EX_ALU16XOR                            22
    #define   LSb16ISA_ADD_EX_ALU16XOR                            6
    #define       bISA_ADD_EX_ALU16XOR                         1
    #define   MSK32ISA_ADD_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_ADD_EX_ALU16SP                          0x0012
    #define     B16ISA_ADD_EX_ALU16SP                          0x0012
    #define   LSb32ISA_ADD_EX_ALU16SP                             23
    #define   LSb16ISA_ADD_EX_ALU16SP                             7
    #define       bISA_ADD_EX_ALU16SP                          1
    #define   MSK32ISA_ADD_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_EXX                                 0x0014

    #define     BA_ISA_ADD_EXX_WRSQ                            0x0014
    #define     B16ISA_ADD_EXX_WRSQ                            0x0014
    #define   LSb32ISA_ADD_EXX_WRSQ                               0
    #define   LSb16ISA_ADD_EXX_WRSQ                               0
    #define       bISA_ADD_EXX_WRSQ                            1
    #define   MSK32ISA_ADD_EXX_WRSQ                               0x00000001

    #define     BA_ISA_ADD_EXX_WR16                            0x0014
    #define     B16ISA_ADD_EXX_WR16                            0x0014
    #define   LSb32ISA_ADD_EXX_WR16                               1
    #define   LSb16ISA_ADD_EXX_WR16                               1
    #define       bISA_ADD_EXX_WR16                            1
    #define   MSK32ISA_ADD_EXX_WR16                               0x00000002

    #define     BA_ISA_ADD_EXX_WRTQ                            0x0014
    #define     B16ISA_ADD_EXX_WRTQ                            0x0014
    #define   LSb32ISA_ADD_EXX_WRTQ                               2
    #define   LSb16ISA_ADD_EXX_WRTQ                               2
    #define       bISA_ADD_EXX_WRTQ                            1
    #define   MSK32ISA_ADD_EXX_WRTQ                               0x00000004

    #define     BA_ISA_ADD_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_ADD_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_ADD_EXX_ALU64PUSH                          3
    #define   LSb16ISA_ADD_EXX_ALU64PUSH                          3
    #define       bISA_ADD_EXX_ALU64PUSH                       1
    #define   MSK32ISA_ADD_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_ADD_EXX_ALU64POP                        0x0014
    #define     B16ISA_ADD_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_ADD_EXX_ALU64POP                           4
    #define   LSb16ISA_ADD_EXX_ALU64POP                           4
    #define       bISA_ADD_EXX_ALU64POP                        1
    #define   MSK32ISA_ADD_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_ADD_EXX_ALU64SQ                         0x0014
    #define     B16ISA_ADD_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_ADD_EXX_ALU64SQ                            5
    #define   LSb16ISA_ADD_EXX_ALU64SQ                            5
    #define       bISA_ADD_EXX_ALU64SQ                         1
    #define   MSK32ISA_ADD_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_ADD_EXX_ALU64TQ                         0x0014
    #define     B16ISA_ADD_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_ADD_EXX_ALU64TQ                            6
    #define   LSb16ISA_ADD_EXX_ALU64TQ                            6
    #define       bISA_ADD_EXX_ALU64TQ                         1
    #define   MSK32ISA_ADD_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_ADD_EXX_ALU64MEM                        0x0014
    #define     B16ISA_ADD_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_ADD_EXX_ALU64MEM                           7
    #define   LSb16ISA_ADD_EXX_ALU64MEM                           7
    #define       bISA_ADD_EXX_ALU64MEM                        1
    #define   MSK32ISA_ADD_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_ADD_EXX_BRANCH                          0x0015
    #define     B16ISA_ADD_EXX_BRANCH                          0x0014
    #define   LSb32ISA_ADD_EXX_BRANCH                             8
    #define   LSb16ISA_ADD_EXX_BRANCH                             8
    #define       bISA_ADD_EXX_BRANCH                          1
    #define   MSK32ISA_ADD_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADD_WB                                  0x0018

    #define     BA_ISA_ADD_WB_RF16                             0x0018
    #define     B16ISA_ADD_WB_RF16                             0x0018
    #define   LSb32ISA_ADD_WB_RF16                                0
    #define   LSb16ISA_ADD_WB_RF16                                0
    #define       bISA_ADD_WB_RF16                             1
    #define   MSK32ISA_ADD_WB_RF16                                0x00000001

    #define     BA_ISA_ADD_WB_RF16W0                           0x0018
    #define     B16ISA_ADD_WB_RF16W0                           0x0018
    #define   LSb32ISA_ADD_WB_RF16W0                              1
    #define   LSb16ISA_ADD_WB_RF16W0                              1
    #define       bISA_ADD_WB_RF16W0                           1
    #define   MSK32ISA_ADD_WB_RF16W0                              0x00000002

    #define     BA_ISA_ADD_WB_RF16MEM                          0x0018
    #define     B16ISA_ADD_WB_RF16MEM                          0x0018
    #define   LSb32ISA_ADD_WB_RF16MEM                             2
    #define   LSb16ISA_ADD_WB_RF16MEM                             2
    #define       bISA_ADD_WB_RF16MEM                          1
    #define   MSK32ISA_ADD_WB_RF16MEM                             0x00000004

    #define     BA_ISA_ADD_WB_RF16Q                            0x0018
    #define     B16ISA_ADD_WB_RF16Q                            0x0018
    #define   LSb32ISA_ADD_WB_RF16Q                               3
    #define   LSb16ISA_ADD_WB_RF16Q                               3
    #define       bISA_ADD_WB_RF16Q                            1
    #define   MSK32ISA_ADD_WB_RF16Q                               0x00000008

    #define     BA_ISA_ADD_WB_RF64                             0x0018
    #define     B16ISA_ADD_WB_RF64                             0x0018
    #define   LSb32ISA_ADD_WB_RF64                                4
    #define   LSb16ISA_ADD_WB_RF64                                4
    #define       bISA_ADD_WB_RF64                             1
    #define   MSK32ISA_ADD_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ADD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_ADD_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADD_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADD_Mask;
            struct w32ISA_ADD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_ADD_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADD_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADD_Opcode;
            struct w32ISA_ADD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADD_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADD_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADD_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADD_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADD_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADD_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADD_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADD_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADD_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADD_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADD_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADD_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADD_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADD_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADD_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADD_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADD_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADD_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADD_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADD_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADD_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ADD_ID;
            struct w32ISA_ADD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADD_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADD_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADD_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADD_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADD_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADD_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADD_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADD_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADD_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADD_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADD_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADD_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADD_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADD_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADD_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADD_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADD_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADD_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADD_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADD_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADD_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADD_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADD_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADD_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADD_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADD_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADD_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADD_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADD_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_ADD_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADD_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_ADD_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADD_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_ADD_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADD_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_ADD_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADD_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_ADD_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADD_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_ADD_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADD_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_ADD_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADD_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_ADD_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADD_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_ADD_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADD_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_ADD_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADD_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_ADD_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADD_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_ADD_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADD_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ADD_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADD_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_ADD_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADD_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_ADD_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADD_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_ADD_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADD_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_ADD_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADD_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_ADD_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADD_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ADD_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ADD_LD;
            struct w32ISA_ADD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADD_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADD_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADD_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADD_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADD_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADD_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADD_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADD_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADD_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADD_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADD_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADD_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADD_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADD_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADD_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADD_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADD_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADD_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADD_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADD_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADD_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADD_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADD_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADD_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADD_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADD_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADD_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADD_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADD_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_ADD_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADD_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_ADD_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADD_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_ADD_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADD_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_ADD_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADD_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_ADD_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADD_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_ADD_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADD_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_ADD_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADD_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_ADD_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADD_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_ADD_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADD_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_ADD_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADD_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ADD_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADD_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ADD_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADD_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ADD_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADD_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_ADD_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADD_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_ADD_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADD_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_ADD_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADD_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_ADD_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADD_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_ADD_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADD_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADD_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_ADD_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_ADD_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADD_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADD_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_ADD_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_ADD_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADD_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADD_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ADD_EX;
            struct w32ISA_ADD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADD_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADD_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADD_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADD_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADD_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADD_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADD_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADD_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADD_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADD_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADD_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADD_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADD_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADD_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADD_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADD_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADD_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADD_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADD_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADD_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADD_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADD_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADD_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADD_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADD_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADD_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ADD_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ADD_EXX;
            struct w32ISA_ADD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADD_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADD_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADD_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADD_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADD_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADD_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADD_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADD_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADD_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADD_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADD_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADD_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADD_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADD_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADD_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADD_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADD_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADD_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADD_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADD_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ADD_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ADD_WB;
            struct w32ISA_ADD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ADD;

    typedef union  T32ISA_ADD_Mask
          { UNSG32 u32;
            struct w32ISA_ADD_Mask;
                 } T32ISA_ADD_Mask;
    typedef union  T32ISA_ADD_Opcode
          { UNSG32 u32;
            struct w32ISA_ADD_Opcode;
                 } T32ISA_ADD_Opcode;
    typedef union  T32ISA_ADD_ID
          { UNSG32 u32;
            struct w32ISA_ADD_ID;
                 } T32ISA_ADD_ID;
    typedef union  T32ISA_ADD_LD
          { UNSG32 u32;
            struct w32ISA_ADD_LD;
                 } T32ISA_ADD_LD;
    typedef union  T32ISA_ADD_EX
          { UNSG32 u32;
            struct w32ISA_ADD_EX;
                 } T32ISA_ADD_EX;
    typedef union  T32ISA_ADD_EXX
          { UNSG32 u32;
            struct w32ISA_ADD_EXX;
                 } T32ISA_ADD_EXX;
    typedef union  T32ISA_ADD_WB
          { UNSG32 u32;
            struct w32ISA_ADD_WB;
                 } T32ISA_ADD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ADD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_Mask;
                   };
                 } TISA_ADD_Mask;
    typedef union  TISA_ADD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_Opcode;
                   };
                 } TISA_ADD_Opcode;
    typedef union  TISA_ADD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_ID;
                   };
                 } TISA_ADD_ID;
    typedef union  TISA_ADD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_LD;
                   };
                 } TISA_ADD_LD;
    typedef union  TISA_ADD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_EX;
                   };
                 } TISA_ADD_EX;
    typedef union  TISA_ADD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_EXX;
                   };
                 } TISA_ADD_EXX;
    typedef union  TISA_ADD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADD_WB;
                   };
                 } TISA_ADD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ADD_drvrd(SIE_ISA_ADD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ADD_drvwr(SIE_ISA_ADD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ADD_reset(SIE_ISA_ADD *p);
     SIGN32 ISA_ADD_cmp  (SIE_ISA_ADD *p, SIE_ISA_ADD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ADD_check(p,pie,pfx,hLOG) ISA_ADD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ADD_print(p,    pfx,hLOG) ISA_ADD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ADD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ADDC                                 (4,4)
///     ###
///     * Add 2 registers with carry bit to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x110000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ADDC"    , "rD,rS,rT"    , "0001 0001 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    ADDC     %d1, %b1, %a1    ; %d1 = %b1 + %a1 + c;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 0x1
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ADDC
#define h_ISA_ADDC (){}

    #define     RA_ISA_ADDC_Mask                               0x0000

    #define     BA_ISA_ADDC_Mask_INS                           0x0000
    #define     B16ISA_ADDC_Mask_INS                           0x0000
    #define   LSb32ISA_ADDC_Mask_INS                              0
    #define   LSb16ISA_ADDC_Mask_INS                              0
    #define       bISA_ADDC_Mask_INS                           24
    #define   MSK32ISA_ADDC_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_Opcode                             0x0004

    #define     BA_ISA_ADDC_Opcode_INS                         0x0004
    #define     B16ISA_ADDC_Opcode_INS                         0x0004
    #define   LSb32ISA_ADDC_Opcode_INS                            0
    #define   LSb16ISA_ADDC_Opcode_INS                            0
    #define       bISA_ADDC_Opcode_INS                         24
    #define   MSK32ISA_ADDC_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_ID                                 0x0008

    #define     BA_ISA_ADDC_ID_RBRF                            0x0008
    #define     B16ISA_ADDC_ID_RBRF                            0x0008
    #define   LSb32ISA_ADDC_ID_RBRF                               0
    #define   LSb16ISA_ADDC_ID_RBRF                               0
    #define       bISA_ADDC_ID_RBRF                            1
    #define   MSK32ISA_ADDC_ID_RBRF                               0x00000001

    #define     BA_ISA_ADDC_ID_RARF                            0x0008
    #define     B16ISA_ADDC_ID_RARF                            0x0008
    #define   LSb32ISA_ADDC_ID_RARF                               1
    #define   LSb16ISA_ADDC_ID_RARF                               1
    #define       bISA_ADDC_ID_RARF                            1
    #define   MSK32ISA_ADDC_ID_RARF                               0x00000002

    #define     BA_ISA_ADDC_ID_RAK8                            0x0008
    #define     B16ISA_ADDC_ID_RAK8                            0x0008
    #define   LSb32ISA_ADDC_ID_RAK8                               2
    #define   LSb16ISA_ADDC_ID_RAK8                               2
    #define       bISA_ADDC_ID_RAK8                            1
    #define   MSK32ISA_ADDC_ID_RAK8                               0x00000004

    #define     BA_ISA_ADDC_ID_RAI16                           0x0008
    #define     B16ISA_ADDC_ID_RAI16                           0x0008
    #define   LSb32ISA_ADDC_ID_RAI16                              3
    #define   LSb16ISA_ADDC_ID_RAI16                              3
    #define       bISA_ADDC_ID_RAI16                           1
    #define   MSK32ISA_ADDC_ID_RAI16                              0x00000008

    #define     BA_ISA_ADDC_ID_RAK16                           0x0008
    #define     B16ISA_ADDC_ID_RAK16                           0x0008
    #define   LSb32ISA_ADDC_ID_RAK16                              4
    #define   LSb16ISA_ADDC_ID_RAK16                              4
    #define       bISA_ADDC_ID_RAK16                           1
    #define   MSK32ISA_ADDC_ID_RAK16                              0x00000010

    #define     BA_ISA_ADDC_ID_RFSP                            0x0008
    #define     B16ISA_ADDC_ID_RFSP                            0x0008
    #define   LSb32ISA_ADDC_ID_RFSP                               5
    #define   LSb16ISA_ADDC_ID_RFSP                               5
    #define       bISA_ADDC_ID_RFSP                            1
    #define   MSK32ISA_ADDC_ID_RFSP                               0x00000020

    #define     BA_ISA_ADDC_ID_W4D4                            0x0008
    #define     B16ISA_ADDC_ID_W4D4                            0x0008
    #define   LSb32ISA_ADDC_ID_W4D4                               6
    #define   LSb16ISA_ADDC_ID_W4D4                               6
    #define       bISA_ADDC_ID_W4D4                            1
    #define   MSK32ISA_ADDC_ID_W4D4                               0x00000040

    #define     BA_ISA_ADDC_ID_W4S4                            0x0008
    #define     B16ISA_ADDC_ID_W4S4                            0x0008
    #define   LSb32ISA_ADDC_ID_W4S4                               7
    #define   LSb16ISA_ADDC_ID_W4S4                               7
    #define       bISA_ADDC_ID_W4S4                            1
    #define   MSK32ISA_ADDC_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_LD                                 0x000C

    #define     BA_ISA_ADDC_LD_SPRF                            0x000C
    #define     B16ISA_ADDC_LD_SPRF                            0x000C
    #define   LSb32ISA_ADDC_LD_SPRF                               0
    #define   LSb16ISA_ADDC_LD_SPRF                               0
    #define       bISA_ADDC_LD_SPRF                            1
    #define   MSK32ISA_ADDC_LD_SPRF                               0x00000001

    #define     BA_ISA_ADDC_LD_SPK8                            0x000C
    #define     B16ISA_ADDC_LD_SPK8                            0x000C
    #define   LSb32ISA_ADDC_LD_SPK8                               1
    #define   LSb16ISA_ADDC_LD_SPK8                               1
    #define       bISA_ADDC_LD_SPK8                            1
    #define   MSK32ISA_ADDC_LD_SPK8                               0x00000002

    #define     BA_ISA_ADDC_LD_SPJ                             0x000C
    #define     B16ISA_ADDC_LD_SPJ                             0x000C
    #define   LSb32ISA_ADDC_LD_SPJ                                2
    #define   LSb16ISA_ADDC_LD_SPJ                                2
    #define       bISA_ADDC_LD_SPJ                             1
    #define   MSK32ISA_ADDC_LD_SPJ                                0x00000004

    #define     BA_ISA_ADDC_LD_SP4S                            0x000C
    #define     B16ISA_ADDC_LD_SP4S                            0x000C
    #define   LSb32ISA_ADDC_LD_SP4S                               3
    #define   LSb16ISA_ADDC_LD_SP4S                               3
    #define       bISA_ADDC_LD_SP4S                            1
    #define   MSK32ISA_ADDC_LD_SP4S                               0x00000008

    #define     BA_ISA_ADDC_LD_SP8S                            0x000C
    #define     B16ISA_ADDC_LD_SP8S                            0x000C
    #define   LSb32ISA_ADDC_LD_SP8S                               4
    #define   LSb16ISA_ADDC_LD_SP8S                               4
    #define       bISA_ADDC_LD_SP8S                            1
    #define   MSK32ISA_ADDC_LD_SP8S                               0x00000010

    #define     BA_ISA_ADDC_LD_SP8U                            0x000C
    #define     B16ISA_ADDC_LD_SP8U                            0x000C
    #define   LSb32ISA_ADDC_LD_SP8U                               5
    #define   LSb16ISA_ADDC_LD_SP8U                               5
    #define       bISA_ADDC_LD_SP8U                            1
    #define   MSK32ISA_ADDC_LD_SP8U                               0x00000020

    #define     BA_ISA_ADDC_LD_SP12S                           0x000C
    #define     B16ISA_ADDC_LD_SP12S                           0x000C
    #define   LSb32ISA_ADDC_LD_SP12S                              6
    #define   LSb16ISA_ADDC_LD_SP12S                              6
    #define       bISA_ADDC_LD_SP12S                           1
    #define   MSK32ISA_ADDC_LD_SP12S                              0x00000040

    #define     BA_ISA_ADDC_LD_SP16                            0x000C
    #define     B16ISA_ADDC_LD_SP16                            0x000C
    #define   LSb32ISA_ADDC_LD_SP16                               7
    #define   LSb16ISA_ADDC_LD_SP16                               7
    #define       bISA_ADDC_LD_SP16                            1
    #define   MSK32ISA_ADDC_LD_SP16                               0x00000080

    #define     BA_ISA_ADDC_LD_TPRF                            0x000D
    #define     B16ISA_ADDC_LD_TPRF                            0x000C
    #define   LSb32ISA_ADDC_LD_TPRF                               8
    #define   LSb16ISA_ADDC_LD_TPRF                               8
    #define       bISA_ADDC_LD_TPRF                            1
    #define   MSK32ISA_ADDC_LD_TPRF                               0x00000100

    #define     BA_ISA_ADDC_LD_TPJ                             0x000D
    #define     B16ISA_ADDC_LD_TPJ                             0x000C
    #define   LSb32ISA_ADDC_LD_TPJ                                9
    #define   LSb16ISA_ADDC_LD_TPJ                                9
    #define       bISA_ADDC_LD_TPJ                             1
    #define   MSK32ISA_ADDC_LD_TPJ                                0x00000200

    #define     BA_ISA_ADDC_LD_TP4S                            0x000D
    #define     B16ISA_ADDC_LD_TP4S                            0x000C
    #define   LSb32ISA_ADDC_LD_TP4S                               10
    #define   LSb16ISA_ADDC_LD_TP4S                               10
    #define       bISA_ADDC_LD_TP4S                            1
    #define   MSK32ISA_ADDC_LD_TP4S                               0x00000400

    #define     BA_ISA_ADDC_LD_TP8L                            0x000D
    #define     B16ISA_ADDC_LD_TP8L                            0x000C
    #define   LSb32ISA_ADDC_LD_TP8L                               11
    #define   LSb16ISA_ADDC_LD_TP8L                               11
    #define       bISA_ADDC_LD_TP8L                            1
    #define   MSK32ISA_ADDC_LD_TP8L                               0x00000800

    #define     BA_ISA_ADDC_LD_TP8H                            0x000D
    #define     B16ISA_ADDC_LD_TP8H                            0x000C
    #define   LSb32ISA_ADDC_LD_TP8H                               12
    #define   LSb16ISA_ADDC_LD_TP8H                               12
    #define       bISA_ADDC_LD_TP8H                            1
    #define   MSK32ISA_ADDC_LD_TP8H                               0x00001000

    #define     BA_ISA_ADDC_LD_TP8LF                           0x000D
    #define     B16ISA_ADDC_LD_TP8LF                           0x000C
    #define   LSb32ISA_ADDC_LD_TP8LF                              13
    #define   LSb16ISA_ADDC_LD_TP8LF                              13
    #define       bISA_ADDC_LD_TP8LF                           1
    #define   MSK32ISA_ADDC_LD_TP8LF                              0x00002000

    #define     BA_ISA_ADDC_LD_TP8HF                           0x000D
    #define     B16ISA_ADDC_LD_TP8HF                           0x000C
    #define   LSb32ISA_ADDC_LD_TP8HF                              14
    #define   LSb16ISA_ADDC_LD_TP8HF                              14
    #define       bISA_ADDC_LD_TP8HF                           1
    #define   MSK32ISA_ADDC_LD_TP8HF                              0x00004000

    #define     BA_ISA_ADDC_LD_SQRF64                          0x000D
    #define     B16ISA_ADDC_LD_SQRF64                          0x000C
    #define   LSb32ISA_ADDC_LD_SQRF64                             15
    #define   LSb16ISA_ADDC_LD_SQRF64                             15
    #define       bISA_ADDC_LD_SQRF64                          1
    #define   MSK32ISA_ADDC_LD_SQRF64                             0x00008000

    #define     BA_ISA_ADDC_LD_TQRF16Q                         0x000E
    #define     B16ISA_ADDC_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_ADDC_LD_TQRF16Q                            16
    #define   LSb16ISA_ADDC_LD_TQRF16Q                            0
    #define       bISA_ADDC_LD_TQRF16Q                         1
    #define   MSK32ISA_ADDC_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_ADDC_LD_TQRFx4                          0x000E
    #define     B16ISA_ADDC_LD_TQRFx4                          0x000E
    #define   LSb32ISA_ADDC_LD_TQRFx4                             17
    #define   LSb16ISA_ADDC_LD_TQRFx4                             1
    #define       bISA_ADDC_LD_TQRFx4                          1
    #define   MSK32ISA_ADDC_LD_TQRFx4                             0x00020000

    #define     BA_ISA_ADDC_LD_RD                              0x000E
    #define     B16ISA_ADDC_LD_RD                              0x000E
    #define   LSb32ISA_ADDC_LD_RD                                 18
    #define   LSb16ISA_ADDC_LD_RD                                 2
    #define       bISA_ADDC_LD_RD                              1
    #define   MSK32ISA_ADDC_LD_RD                                 0x00040000

    #define     BA_ISA_ADDC_LD_WARF                            0x000E
    #define     B16ISA_ADDC_LD_WARF                            0x000E
    #define   LSb32ISA_ADDC_LD_WARF                               19
    #define   LSb16ISA_ADDC_LD_WARF                               3
    #define       bISA_ADDC_LD_WARF                            1
    #define   MSK32ISA_ADDC_LD_WARF                               0x00080000

    #define     BA_ISA_ADDC_LD_WAK8                            0x000E
    #define     B16ISA_ADDC_LD_WAK8                            0x000E
    #define   LSb32ISA_ADDC_LD_WAK8                               20
    #define   LSb16ISA_ADDC_LD_WAK8                               4
    #define       bISA_ADDC_LD_WAK8                            1
    #define   MSK32ISA_ADDC_LD_WAK8                               0x00100000

    #define     BA_ISA_ADDC_LD_WAK16                           0x000E
    #define     B16ISA_ADDC_LD_WAK16                           0x000E
    #define   LSb32ISA_ADDC_LD_WAK16                              21
    #define   LSb16ISA_ADDC_LD_WAK16                              5
    #define       bISA_ADDC_LD_WAK16                           1
    #define   MSK32ISA_ADDC_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_EX                                 0x0010

    #define     BA_ISA_ADDC_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagZ                         0
    #define   LSb16ISA_ADDC_EX_ALU16FlagZ                         0
    #define       bISA_ADDC_EX_ALU16FlagZ                      1
    #define   MSK32ISA_ADDC_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_ADDC_EX_ALU16FlagC                      0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagC                         1
    #define   LSb16ISA_ADDC_EX_ALU16FlagC                         1
    #define       bISA_ADDC_EX_ALU16FlagC                      1
    #define   MSK32ISA_ADDC_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_ADDC_EX_ALU16FlagN                      0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagN                         2
    #define   LSb16ISA_ADDC_EX_ALU16FlagN                         2
    #define       bISA_ADDC_EX_ALU16FlagN                      1
    #define   MSK32ISA_ADDC_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_ADDC_EX_ALU16FlagV                      0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagV                         3
    #define   LSb16ISA_ADDC_EX_ALU16FlagV                         3
    #define       bISA_ADDC_EX_ALU16FlagV                      1
    #define   MSK32ISA_ADDC_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_ADDC_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagTP                        4
    #define   LSb16ISA_ADDC_EX_ALU16FlagTP                        4
    #define       bISA_ADDC_EX_ALU16FlagTP                     1
    #define   MSK32ISA_ADDC_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_ADDC_EX_ALU16MUL                        0x0010
    #define     B16ISA_ADDC_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16MUL                           5
    #define   LSb16ISA_ADDC_EX_ALU16MUL                           5
    #define       bISA_ADDC_EX_ALU16MUL                        1
    #define   MSK32ISA_ADDC_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_ADDC_EX_ALU16DIV                        0x0010
    #define     B16ISA_ADDC_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16DIV                           6
    #define   LSb16ISA_ADDC_EX_ALU16DIV                           6
    #define       bISA_ADDC_EX_ALU16DIV                        1
    #define   MSK32ISA_ADDC_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_ADDC_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_ADDC_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_ADDC_EX_ALU16FlagLD                        7
    #define   LSb16ISA_ADDC_EX_ALU16FlagLD                        7
    #define       bISA_ADDC_EX_ALU16FlagLD                     1
    #define   MSK32ISA_ADDC_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_ADDC_EX_ALU16MDL                        0x0011
    #define     B16ISA_ADDC_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16MDL                           8
    #define   LSb16ISA_ADDC_EX_ALU16MDL                           8
    #define       bISA_ADDC_EX_ALU16MDL                        1
    #define   MSK32ISA_ADDC_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_ADDC_EX_ALU16MDH                        0x0011
    #define     B16ISA_ADDC_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16MDH                           9
    #define   LSb16ISA_ADDC_EX_ALU16MDH                           9
    #define       bISA_ADDC_EX_ALU16MDH                        1
    #define   MSK32ISA_ADDC_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_ADDC_EX_ALU16ADD                        0x0011
    #define     B16ISA_ADDC_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16ADD                           10
    #define   LSb16ISA_ADDC_EX_ALU16ADD                           10
    #define       bISA_ADDC_EX_ALU16ADD                        1
    #define   MSK32ISA_ADDC_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_ADDC_EX_ALU16SUB                        0x0011
    #define     B16ISA_ADDC_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16SUB                           11
    #define   LSb16ISA_ADDC_EX_ALU16SUB                           11
    #define       bISA_ADDC_EX_ALU16SUB                        1
    #define   MSK32ISA_ADDC_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_ADDC_EX_ALU16ADDC                       0x0011
    #define     B16ISA_ADDC_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_ADDC_EX_ALU16ADDC                          12
    #define   LSb16ISA_ADDC_EX_ALU16ADDC                          12
    #define       bISA_ADDC_EX_ALU16ADDC                       1
    #define   MSK32ISA_ADDC_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_ADDC_EX_ALU16SUBC                       0x0011
    #define     B16ISA_ADDC_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_ADDC_EX_ALU16SUBC                          13
    #define   LSb16ISA_ADDC_EX_ALU16SUBC                          13
    #define       bISA_ADDC_EX_ALU16SUBC                       1
    #define   MSK32ISA_ADDC_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_ADDC_EX_ALU16ASR                        0x0011
    #define     B16ISA_ADDC_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_ADDC_EX_ALU16ASR                           14
    #define   LSb16ISA_ADDC_EX_ALU16ASR                           14
    #define       bISA_ADDC_EX_ALU16ASR                        1
    #define   MSK32ISA_ADDC_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_ADDC_EX_ALU16SL                         0x0011
    #define     B16ISA_ADDC_EX_ALU16SL                         0x0010
    #define   LSb32ISA_ADDC_EX_ALU16SL                            15
    #define   LSb16ISA_ADDC_EX_ALU16SL                            15
    #define       bISA_ADDC_EX_ALU16SL                         1
    #define   MSK32ISA_ADDC_EX_ALU16SL                            0x00008000

    #define     BA_ISA_ADDC_EX_ALU16SR                         0x0012
    #define     B16ISA_ADDC_EX_ALU16SR                         0x0012
    #define   LSb32ISA_ADDC_EX_ALU16SR                            16
    #define   LSb16ISA_ADDC_EX_ALU16SR                            0
    #define       bISA_ADDC_EX_ALU16SR                         1
    #define   MSK32ISA_ADDC_EX_ALU16SR                            0x00010000

    #define     BA_ISA_ADDC_EX_ALU16GET                        0x0012
    #define     B16ISA_ADDC_EX_ALU16GET                        0x0012
    #define   LSb32ISA_ADDC_EX_ALU16GET                           17
    #define   LSb16ISA_ADDC_EX_ALU16GET                           1
    #define       bISA_ADDC_EX_ALU16GET                        1
    #define   MSK32ISA_ADDC_EX_ALU16GET                           0x00020000

    #define     BA_ISA_ADDC_EX_ALU16SET                        0x0012
    #define     B16ISA_ADDC_EX_ALU16SET                        0x0012
    #define   LSb32ISA_ADDC_EX_ALU16SET                           18
    #define   LSb16ISA_ADDC_EX_ALU16SET                           2
    #define       bISA_ADDC_EX_ALU16SET                        1
    #define   MSK32ISA_ADDC_EX_ALU16SET                           0x00040000

    #define     BA_ISA_ADDC_EX_ALU16SEL                        0x0012
    #define     B16ISA_ADDC_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_ADDC_EX_ALU16SEL                           19
    #define   LSb16ISA_ADDC_EX_ALU16SEL                           3
    #define       bISA_ADDC_EX_ALU16SEL                        1
    #define   MSK32ISA_ADDC_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_ADDC_EX_ALU16OR                         0x0012
    #define     B16ISA_ADDC_EX_ALU16OR                         0x0012
    #define   LSb32ISA_ADDC_EX_ALU16OR                            20
    #define   LSb16ISA_ADDC_EX_ALU16OR                            4
    #define       bISA_ADDC_EX_ALU16OR                         1
    #define   MSK32ISA_ADDC_EX_ALU16OR                            0x00100000

    #define     BA_ISA_ADDC_EX_ALU16AND                        0x0012
    #define     B16ISA_ADDC_EX_ALU16AND                        0x0012
    #define   LSb32ISA_ADDC_EX_ALU16AND                           21
    #define   LSb16ISA_ADDC_EX_ALU16AND                           5
    #define       bISA_ADDC_EX_ALU16AND                        1
    #define   MSK32ISA_ADDC_EX_ALU16AND                           0x00200000

    #define     BA_ISA_ADDC_EX_ALU16XOR                        0x0012
    #define     B16ISA_ADDC_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_ADDC_EX_ALU16XOR                           22
    #define   LSb16ISA_ADDC_EX_ALU16XOR                           6
    #define       bISA_ADDC_EX_ALU16XOR                        1
    #define   MSK32ISA_ADDC_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_ADDC_EX_ALU16SP                         0x0012
    #define     B16ISA_ADDC_EX_ALU16SP                         0x0012
    #define   LSb32ISA_ADDC_EX_ALU16SP                            23
    #define   LSb16ISA_ADDC_EX_ALU16SP                            7
    #define       bISA_ADDC_EX_ALU16SP                         1
    #define   MSK32ISA_ADDC_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_EXX                                0x0014

    #define     BA_ISA_ADDC_EXX_WRSQ                           0x0014
    #define     B16ISA_ADDC_EXX_WRSQ                           0x0014
    #define   LSb32ISA_ADDC_EXX_WRSQ                              0
    #define   LSb16ISA_ADDC_EXX_WRSQ                              0
    #define       bISA_ADDC_EXX_WRSQ                           1
    #define   MSK32ISA_ADDC_EXX_WRSQ                              0x00000001

    #define     BA_ISA_ADDC_EXX_WR16                           0x0014
    #define     B16ISA_ADDC_EXX_WR16                           0x0014
    #define   LSb32ISA_ADDC_EXX_WR16                              1
    #define   LSb16ISA_ADDC_EXX_WR16                              1
    #define       bISA_ADDC_EXX_WR16                           1
    #define   MSK32ISA_ADDC_EXX_WR16                              0x00000002

    #define     BA_ISA_ADDC_EXX_WRTQ                           0x0014
    #define     B16ISA_ADDC_EXX_WRTQ                           0x0014
    #define   LSb32ISA_ADDC_EXX_WRTQ                              2
    #define   LSb16ISA_ADDC_EXX_WRTQ                              2
    #define       bISA_ADDC_EXX_WRTQ                           1
    #define   MSK32ISA_ADDC_EXX_WRTQ                              0x00000004

    #define     BA_ISA_ADDC_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_ADDC_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_ADDC_EXX_ALU64PUSH                         3
    #define   LSb16ISA_ADDC_EXX_ALU64PUSH                         3
    #define       bISA_ADDC_EXX_ALU64PUSH                      1
    #define   MSK32ISA_ADDC_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_ADDC_EXX_ALU64POP                       0x0014
    #define     B16ISA_ADDC_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_ADDC_EXX_ALU64POP                          4
    #define   LSb16ISA_ADDC_EXX_ALU64POP                          4
    #define       bISA_ADDC_EXX_ALU64POP                       1
    #define   MSK32ISA_ADDC_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_ADDC_EXX_ALU64SQ                        0x0014
    #define     B16ISA_ADDC_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_ADDC_EXX_ALU64SQ                           5
    #define   LSb16ISA_ADDC_EXX_ALU64SQ                           5
    #define       bISA_ADDC_EXX_ALU64SQ                        1
    #define   MSK32ISA_ADDC_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_ADDC_EXX_ALU64TQ                        0x0014
    #define     B16ISA_ADDC_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_ADDC_EXX_ALU64TQ                           6
    #define   LSb16ISA_ADDC_EXX_ALU64TQ                           6
    #define       bISA_ADDC_EXX_ALU64TQ                        1
    #define   MSK32ISA_ADDC_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_ADDC_EXX_ALU64MEM                       0x0014
    #define     B16ISA_ADDC_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_ADDC_EXX_ALU64MEM                          7
    #define   LSb16ISA_ADDC_EXX_ALU64MEM                          7
    #define       bISA_ADDC_EXX_ALU64MEM                       1
    #define   MSK32ISA_ADDC_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_ADDC_EXX_BRANCH                         0x0015
    #define     B16ISA_ADDC_EXX_BRANCH                         0x0014
    #define   LSb32ISA_ADDC_EXX_BRANCH                            8
    #define   LSb16ISA_ADDC_EXX_BRANCH                            8
    #define       bISA_ADDC_EXX_BRANCH                         1
    #define   MSK32ISA_ADDC_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ADDC_WB                                 0x0018

    #define     BA_ISA_ADDC_WB_RF16                            0x0018
    #define     B16ISA_ADDC_WB_RF16                            0x0018
    #define   LSb32ISA_ADDC_WB_RF16                               0
    #define   LSb16ISA_ADDC_WB_RF16                               0
    #define       bISA_ADDC_WB_RF16                            1
    #define   MSK32ISA_ADDC_WB_RF16                               0x00000001

    #define     BA_ISA_ADDC_WB_RF16W0                          0x0018
    #define     B16ISA_ADDC_WB_RF16W0                          0x0018
    #define   LSb32ISA_ADDC_WB_RF16W0                             1
    #define   LSb16ISA_ADDC_WB_RF16W0                             1
    #define       bISA_ADDC_WB_RF16W0                          1
    #define   MSK32ISA_ADDC_WB_RF16W0                             0x00000002

    #define     BA_ISA_ADDC_WB_RF16MEM                         0x0018
    #define     B16ISA_ADDC_WB_RF16MEM                         0x0018
    #define   LSb32ISA_ADDC_WB_RF16MEM                            2
    #define   LSb16ISA_ADDC_WB_RF16MEM                            2
    #define       bISA_ADDC_WB_RF16MEM                         1
    #define   MSK32ISA_ADDC_WB_RF16MEM                            0x00000004

    #define     BA_ISA_ADDC_WB_RF16Q                           0x0018
    #define     B16ISA_ADDC_WB_RF16Q                           0x0018
    #define   LSb32ISA_ADDC_WB_RF16Q                              3
    #define   LSb16ISA_ADDC_WB_RF16Q                              3
    #define       bISA_ADDC_WB_RF16Q                           1
    #define   MSK32ISA_ADDC_WB_RF16Q                              0x00000008

    #define     BA_ISA_ADDC_WB_RF64                            0x0018
    #define     B16ISA_ADDC_WB_RF64                            0x0018
    #define   LSb32ISA_ADDC_WB_RF64                               4
    #define   LSb16ISA_ADDC_WB_RF64                               4
    #define       bISA_ADDC_WB_RF64                            1
    #define   MSK32ISA_ADDC_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ADDC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_ADDC_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADDC_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADDC_Mask;
            struct w32ISA_ADDC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_ADDC_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_ADDC_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ADDC_Opcode;
            struct w32ISA_ADDC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDC_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDC_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDC_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDC_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDC_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDC_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDC_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDC_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDC_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDC_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDC_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDC_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDC_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDC_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDC_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDC_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDC_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDC_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDC_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDC_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADDC_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ADDC_ID;
            struct w32ISA_ADDC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDC_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDC_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDC_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDC_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDC_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDC_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDC_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDC_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDC_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDC_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDC_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDC_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDC_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDC_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDC_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDC_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDC_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDC_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDC_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDC_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDC_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDC_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDC_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDC_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADDC_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADDC_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADDC_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADDC_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADDC_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_ADDC_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADDC_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_ADDC_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADDC_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_ADDC_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADDC_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_ADDC_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADDC_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_ADDC_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADDC_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_ADDC_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADDC_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_ADDC_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADDC_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_ADDC_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADDC_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_ADDC_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADDC_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_ADDC_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADDC_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ADDC_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADDC_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ADDC_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADDC_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ADDC_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADDC_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_ADDC_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADDC_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_ADDC_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADDC_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_ADDC_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADDC_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_ADDC_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADDC_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_ADDC_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADDC_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ADDC_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ADDC_LD;
            struct w32ISA_ADDC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDC_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDC_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDC_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDC_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDC_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDC_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDC_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDC_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDC_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDC_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDC_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDC_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDC_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDC_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDC_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDC_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDC_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDC_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDC_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ADDC_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_ADDC_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ADDC_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_ADDC_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ADDC_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_ADDC_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_ADDC_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_ADDC_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_ADDC_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_ADDC_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_ADDC_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_ADDC_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_ADDC_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_ADDC_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_ADDC_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_ADDC_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_ADDC_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_ADDC_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_ADDC_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_ADDC_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_ADDC_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_ADDC_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_ADDC_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_ADDC_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_ADDC_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_ADDC_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_ADDC_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_ADDC_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_ADDC_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ADDC_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ADDC_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_ADDC_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_ADDC_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_ADDC_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_ADDC_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_ADDC_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_ADDC_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_ADDC_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_ADDC_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_ADDC_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_ADDC_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDC_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_ADDC_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_ADDC_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDC_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDC_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_ADDC_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_ADDC_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDC_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ADDC_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ADDC_EX;
            struct w32ISA_ADDC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDC_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDC_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDC_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDC_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDC_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDC_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDC_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDC_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDC_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDC_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ADDC_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ADDC_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ADDC_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ADDC_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ADDC_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ADDC_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ADDC_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ADDC_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ADDC_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_ADDC_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ADDC_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_ADDC_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ADDC_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ADDC_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ADDC_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ADDC_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ADDC_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ADDC_EXX;
            struct w32ISA_ADDC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ADDC_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ADDC_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ADDC_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ADDC_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ADDC_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_ADDC_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ADDC_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ADDC_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ADDC_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_ADDC_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ADDC_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ADDC_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ADDC_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ADDC_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ADDC_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ADDC_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ADDC_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ADDC_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ADDC_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ADDC_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ADDC_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ADDC_WB;
            struct w32ISA_ADDC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ADDC;

    typedef union  T32ISA_ADDC_Mask
          { UNSG32 u32;
            struct w32ISA_ADDC_Mask;
                 } T32ISA_ADDC_Mask;
    typedef union  T32ISA_ADDC_Opcode
          { UNSG32 u32;
            struct w32ISA_ADDC_Opcode;
                 } T32ISA_ADDC_Opcode;
    typedef union  T32ISA_ADDC_ID
          { UNSG32 u32;
            struct w32ISA_ADDC_ID;
                 } T32ISA_ADDC_ID;
    typedef union  T32ISA_ADDC_LD
          { UNSG32 u32;
            struct w32ISA_ADDC_LD;
                 } T32ISA_ADDC_LD;
    typedef union  T32ISA_ADDC_EX
          { UNSG32 u32;
            struct w32ISA_ADDC_EX;
                 } T32ISA_ADDC_EX;
    typedef union  T32ISA_ADDC_EXX
          { UNSG32 u32;
            struct w32ISA_ADDC_EXX;
                 } T32ISA_ADDC_EXX;
    typedef union  T32ISA_ADDC_WB
          { UNSG32 u32;
            struct w32ISA_ADDC_WB;
                 } T32ISA_ADDC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ADDC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_Mask;
                   };
                 } TISA_ADDC_Mask;
    typedef union  TISA_ADDC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_Opcode;
                   };
                 } TISA_ADDC_Opcode;
    typedef union  TISA_ADDC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_ID;
                   };
                 } TISA_ADDC_ID;
    typedef union  TISA_ADDC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_LD;
                   };
                 } TISA_ADDC_LD;
    typedef union  TISA_ADDC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_EX;
                   };
                 } TISA_ADDC_EX;
    typedef union  TISA_ADDC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_EXX;
                   };
                 } TISA_ADDC_EXX;
    typedef union  TISA_ADDC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ADDC_WB;
                   };
                 } TISA_ADDC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ADDC_drvrd(SIE_ISA_ADDC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ADDC_drvwr(SIE_ISA_ADDC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ADDC_reset(SIE_ISA_ADDC *p);
     SIGN32 ISA_ADDC_cmp  (SIE_ISA_ADDC *p, SIE_ISA_ADDC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ADDC_check(p,pie,pfx,hLOG) ISA_ADDC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ADDC_print(p,    pfx,hLOG) ISA_ADDC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ADDC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SUBi                                 (4,4)
///     ###
///     * Subtract an immediate number in [-2048,2047] by a register to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xC00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SUB.i"   , "rD,N,rT"     , "1100 NNNN NNNN NNNN TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    SUB.i    %d1, 0, %a1     ; %d1 = 0 - %a1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     0x1
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  0x1
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SUBi
#define h_ISA_SUBi (){}

    #define     RA_ISA_SUBi_Mask                               0x0000

    #define     BA_ISA_SUBi_Mask_INS                           0x0000
    #define     B16ISA_SUBi_Mask_INS                           0x0000
    #define   LSb32ISA_SUBi_Mask_INS                              0
    #define   LSb16ISA_SUBi_Mask_INS                              0
    #define       bISA_SUBi_Mask_INS                           24
    #define   MSK32ISA_SUBi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_Opcode                             0x0004

    #define     BA_ISA_SUBi_Opcode_INS                         0x0004
    #define     B16ISA_SUBi_Opcode_INS                         0x0004
    #define   LSb32ISA_SUBi_Opcode_INS                            0
    #define   LSb16ISA_SUBi_Opcode_INS                            0
    #define       bISA_SUBi_Opcode_INS                         24
    #define   MSK32ISA_SUBi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_ID                                 0x0008

    #define     BA_ISA_SUBi_ID_RBRF                            0x0008
    #define     B16ISA_SUBi_ID_RBRF                            0x0008
    #define   LSb32ISA_SUBi_ID_RBRF                               0
    #define   LSb16ISA_SUBi_ID_RBRF                               0
    #define       bISA_SUBi_ID_RBRF                            1
    #define   MSK32ISA_SUBi_ID_RBRF                               0x00000001

    #define     BA_ISA_SUBi_ID_RARF                            0x0008
    #define     B16ISA_SUBi_ID_RARF                            0x0008
    #define   LSb32ISA_SUBi_ID_RARF                               1
    #define   LSb16ISA_SUBi_ID_RARF                               1
    #define       bISA_SUBi_ID_RARF                            1
    #define   MSK32ISA_SUBi_ID_RARF                               0x00000002

    #define     BA_ISA_SUBi_ID_RAK8                            0x0008
    #define     B16ISA_SUBi_ID_RAK8                            0x0008
    #define   LSb32ISA_SUBi_ID_RAK8                               2
    #define   LSb16ISA_SUBi_ID_RAK8                               2
    #define       bISA_SUBi_ID_RAK8                            1
    #define   MSK32ISA_SUBi_ID_RAK8                               0x00000004

    #define     BA_ISA_SUBi_ID_RAI16                           0x0008
    #define     B16ISA_SUBi_ID_RAI16                           0x0008
    #define   LSb32ISA_SUBi_ID_RAI16                              3
    #define   LSb16ISA_SUBi_ID_RAI16                              3
    #define       bISA_SUBi_ID_RAI16                           1
    #define   MSK32ISA_SUBi_ID_RAI16                              0x00000008

    #define     BA_ISA_SUBi_ID_RAK16                           0x0008
    #define     B16ISA_SUBi_ID_RAK16                           0x0008
    #define   LSb32ISA_SUBi_ID_RAK16                              4
    #define   LSb16ISA_SUBi_ID_RAK16                              4
    #define       bISA_SUBi_ID_RAK16                           1
    #define   MSK32ISA_SUBi_ID_RAK16                              0x00000010

    #define     BA_ISA_SUBi_ID_RFSP                            0x0008
    #define     B16ISA_SUBi_ID_RFSP                            0x0008
    #define   LSb32ISA_SUBi_ID_RFSP                               5
    #define   LSb16ISA_SUBi_ID_RFSP                               5
    #define       bISA_SUBi_ID_RFSP                            1
    #define   MSK32ISA_SUBi_ID_RFSP                               0x00000020

    #define     BA_ISA_SUBi_ID_W4D4                            0x0008
    #define     B16ISA_SUBi_ID_W4D4                            0x0008
    #define   LSb32ISA_SUBi_ID_W4D4                               6
    #define   LSb16ISA_SUBi_ID_W4D4                               6
    #define       bISA_SUBi_ID_W4D4                            1
    #define   MSK32ISA_SUBi_ID_W4D4                               0x00000040

    #define     BA_ISA_SUBi_ID_W4S4                            0x0008
    #define     B16ISA_SUBi_ID_W4S4                            0x0008
    #define   LSb32ISA_SUBi_ID_W4S4                               7
    #define   LSb16ISA_SUBi_ID_W4S4                               7
    #define       bISA_SUBi_ID_W4S4                            1
    #define   MSK32ISA_SUBi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_LD                                 0x000C

    #define     BA_ISA_SUBi_LD_SPRF                            0x000C
    #define     B16ISA_SUBi_LD_SPRF                            0x000C
    #define   LSb32ISA_SUBi_LD_SPRF                               0
    #define   LSb16ISA_SUBi_LD_SPRF                               0
    #define       bISA_SUBi_LD_SPRF                            1
    #define   MSK32ISA_SUBi_LD_SPRF                               0x00000001

    #define     BA_ISA_SUBi_LD_SPK8                            0x000C
    #define     B16ISA_SUBi_LD_SPK8                            0x000C
    #define   LSb32ISA_SUBi_LD_SPK8                               1
    #define   LSb16ISA_SUBi_LD_SPK8                               1
    #define       bISA_SUBi_LD_SPK8                            1
    #define   MSK32ISA_SUBi_LD_SPK8                               0x00000002

    #define     BA_ISA_SUBi_LD_SPJ                             0x000C
    #define     B16ISA_SUBi_LD_SPJ                             0x000C
    #define   LSb32ISA_SUBi_LD_SPJ                                2
    #define   LSb16ISA_SUBi_LD_SPJ                                2
    #define       bISA_SUBi_LD_SPJ                             1
    #define   MSK32ISA_SUBi_LD_SPJ                                0x00000004

    #define     BA_ISA_SUBi_LD_SP4S                            0x000C
    #define     B16ISA_SUBi_LD_SP4S                            0x000C
    #define   LSb32ISA_SUBi_LD_SP4S                               3
    #define   LSb16ISA_SUBi_LD_SP4S                               3
    #define       bISA_SUBi_LD_SP4S                            1
    #define   MSK32ISA_SUBi_LD_SP4S                               0x00000008

    #define     BA_ISA_SUBi_LD_SP8S                            0x000C
    #define     B16ISA_SUBi_LD_SP8S                            0x000C
    #define   LSb32ISA_SUBi_LD_SP8S                               4
    #define   LSb16ISA_SUBi_LD_SP8S                               4
    #define       bISA_SUBi_LD_SP8S                            1
    #define   MSK32ISA_SUBi_LD_SP8S                               0x00000010

    #define     BA_ISA_SUBi_LD_SP8U                            0x000C
    #define     B16ISA_SUBi_LD_SP8U                            0x000C
    #define   LSb32ISA_SUBi_LD_SP8U                               5
    #define   LSb16ISA_SUBi_LD_SP8U                               5
    #define       bISA_SUBi_LD_SP8U                            1
    #define   MSK32ISA_SUBi_LD_SP8U                               0x00000020

    #define     BA_ISA_SUBi_LD_SP12S                           0x000C
    #define     B16ISA_SUBi_LD_SP12S                           0x000C
    #define   LSb32ISA_SUBi_LD_SP12S                              6
    #define   LSb16ISA_SUBi_LD_SP12S                              6
    #define       bISA_SUBi_LD_SP12S                           1
    #define   MSK32ISA_SUBi_LD_SP12S                              0x00000040

    #define     BA_ISA_SUBi_LD_SP16                            0x000C
    #define     B16ISA_SUBi_LD_SP16                            0x000C
    #define   LSb32ISA_SUBi_LD_SP16                               7
    #define   LSb16ISA_SUBi_LD_SP16                               7
    #define       bISA_SUBi_LD_SP16                            1
    #define   MSK32ISA_SUBi_LD_SP16                               0x00000080

    #define     BA_ISA_SUBi_LD_TPRF                            0x000D
    #define     B16ISA_SUBi_LD_TPRF                            0x000C
    #define   LSb32ISA_SUBi_LD_TPRF                               8
    #define   LSb16ISA_SUBi_LD_TPRF                               8
    #define       bISA_SUBi_LD_TPRF                            1
    #define   MSK32ISA_SUBi_LD_TPRF                               0x00000100

    #define     BA_ISA_SUBi_LD_TPJ                             0x000D
    #define     B16ISA_SUBi_LD_TPJ                             0x000C
    #define   LSb32ISA_SUBi_LD_TPJ                                9
    #define   LSb16ISA_SUBi_LD_TPJ                                9
    #define       bISA_SUBi_LD_TPJ                             1
    #define   MSK32ISA_SUBi_LD_TPJ                                0x00000200

    #define     BA_ISA_SUBi_LD_TP4S                            0x000D
    #define     B16ISA_SUBi_LD_TP4S                            0x000C
    #define   LSb32ISA_SUBi_LD_TP4S                               10
    #define   LSb16ISA_SUBi_LD_TP4S                               10
    #define       bISA_SUBi_LD_TP4S                            1
    #define   MSK32ISA_SUBi_LD_TP4S                               0x00000400

    #define     BA_ISA_SUBi_LD_TP8L                            0x000D
    #define     B16ISA_SUBi_LD_TP8L                            0x000C
    #define   LSb32ISA_SUBi_LD_TP8L                               11
    #define   LSb16ISA_SUBi_LD_TP8L                               11
    #define       bISA_SUBi_LD_TP8L                            1
    #define   MSK32ISA_SUBi_LD_TP8L                               0x00000800

    #define     BA_ISA_SUBi_LD_TP8H                            0x000D
    #define     B16ISA_SUBi_LD_TP8H                            0x000C
    #define   LSb32ISA_SUBi_LD_TP8H                               12
    #define   LSb16ISA_SUBi_LD_TP8H                               12
    #define       bISA_SUBi_LD_TP8H                            1
    #define   MSK32ISA_SUBi_LD_TP8H                               0x00001000

    #define     BA_ISA_SUBi_LD_TP8LF                           0x000D
    #define     B16ISA_SUBi_LD_TP8LF                           0x000C
    #define   LSb32ISA_SUBi_LD_TP8LF                              13
    #define   LSb16ISA_SUBi_LD_TP8LF                              13
    #define       bISA_SUBi_LD_TP8LF                           1
    #define   MSK32ISA_SUBi_LD_TP8LF                              0x00002000

    #define     BA_ISA_SUBi_LD_TP8HF                           0x000D
    #define     B16ISA_SUBi_LD_TP8HF                           0x000C
    #define   LSb32ISA_SUBi_LD_TP8HF                              14
    #define   LSb16ISA_SUBi_LD_TP8HF                              14
    #define       bISA_SUBi_LD_TP8HF                           1
    #define   MSK32ISA_SUBi_LD_TP8HF                              0x00004000

    #define     BA_ISA_SUBi_LD_SQRF64                          0x000D
    #define     B16ISA_SUBi_LD_SQRF64                          0x000C
    #define   LSb32ISA_SUBi_LD_SQRF64                             15
    #define   LSb16ISA_SUBi_LD_SQRF64                             15
    #define       bISA_SUBi_LD_SQRF64                          1
    #define   MSK32ISA_SUBi_LD_SQRF64                             0x00008000

    #define     BA_ISA_SUBi_LD_TQRF16Q                         0x000E
    #define     B16ISA_SUBi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_SUBi_LD_TQRF16Q                            16
    #define   LSb16ISA_SUBi_LD_TQRF16Q                            0
    #define       bISA_SUBi_LD_TQRF16Q                         1
    #define   MSK32ISA_SUBi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_SUBi_LD_TQRFx4                          0x000E
    #define     B16ISA_SUBi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_SUBi_LD_TQRFx4                             17
    #define   LSb16ISA_SUBi_LD_TQRFx4                             1
    #define       bISA_SUBi_LD_TQRFx4                          1
    #define   MSK32ISA_SUBi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_SUBi_LD_RD                              0x000E
    #define     B16ISA_SUBi_LD_RD                              0x000E
    #define   LSb32ISA_SUBi_LD_RD                                 18
    #define   LSb16ISA_SUBi_LD_RD                                 2
    #define       bISA_SUBi_LD_RD                              1
    #define   MSK32ISA_SUBi_LD_RD                                 0x00040000

    #define     BA_ISA_SUBi_LD_WARF                            0x000E
    #define     B16ISA_SUBi_LD_WARF                            0x000E
    #define   LSb32ISA_SUBi_LD_WARF                               19
    #define   LSb16ISA_SUBi_LD_WARF                               3
    #define       bISA_SUBi_LD_WARF                            1
    #define   MSK32ISA_SUBi_LD_WARF                               0x00080000

    #define     BA_ISA_SUBi_LD_WAK8                            0x000E
    #define     B16ISA_SUBi_LD_WAK8                            0x000E
    #define   LSb32ISA_SUBi_LD_WAK8                               20
    #define   LSb16ISA_SUBi_LD_WAK8                               4
    #define       bISA_SUBi_LD_WAK8                            1
    #define   MSK32ISA_SUBi_LD_WAK8                               0x00100000

    #define     BA_ISA_SUBi_LD_WAK16                           0x000E
    #define     B16ISA_SUBi_LD_WAK16                           0x000E
    #define   LSb32ISA_SUBi_LD_WAK16                              21
    #define   LSb16ISA_SUBi_LD_WAK16                              5
    #define       bISA_SUBi_LD_WAK16                           1
    #define   MSK32ISA_SUBi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_EX                                 0x0010

    #define     BA_ISA_SUBi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_SUBi_EX_ALU16FlagZ                         0
    #define       bISA_SUBi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_SUBi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_SUBi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagC                         1
    #define   LSb16ISA_SUBi_EX_ALU16FlagC                         1
    #define       bISA_SUBi_EX_ALU16FlagC                      1
    #define   MSK32ISA_SUBi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_SUBi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagN                         2
    #define   LSb16ISA_SUBi_EX_ALU16FlagN                         2
    #define       bISA_SUBi_EX_ALU16FlagN                      1
    #define   MSK32ISA_SUBi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_SUBi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagV                         3
    #define   LSb16ISA_SUBi_EX_ALU16FlagV                         3
    #define       bISA_SUBi_EX_ALU16FlagV                      1
    #define   MSK32ISA_SUBi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_SUBi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_SUBi_EX_ALU16FlagTP                        4
    #define       bISA_SUBi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_SUBi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_SUBi_EX_ALU16MUL                        0x0010
    #define     B16ISA_SUBi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16MUL                           5
    #define   LSb16ISA_SUBi_EX_ALU16MUL                           5
    #define       bISA_SUBi_EX_ALU16MUL                        1
    #define   MSK32ISA_SUBi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_SUBi_EX_ALU16DIV                        0x0010
    #define     B16ISA_SUBi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16DIV                           6
    #define   LSb16ISA_SUBi_EX_ALU16DIV                           6
    #define       bISA_SUBi_EX_ALU16DIV                        1
    #define   MSK32ISA_SUBi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_SUBi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_SUBi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_SUBi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_SUBi_EX_ALU16FlagLD                        7
    #define       bISA_SUBi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_SUBi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_SUBi_EX_ALU16MDL                        0x0011
    #define     B16ISA_SUBi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16MDL                           8
    #define   LSb16ISA_SUBi_EX_ALU16MDL                           8
    #define       bISA_SUBi_EX_ALU16MDL                        1
    #define   MSK32ISA_SUBi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_SUBi_EX_ALU16MDH                        0x0011
    #define     B16ISA_SUBi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16MDH                           9
    #define   LSb16ISA_SUBi_EX_ALU16MDH                           9
    #define       bISA_SUBi_EX_ALU16MDH                        1
    #define   MSK32ISA_SUBi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_SUBi_EX_ALU16ADD                        0x0011
    #define     B16ISA_SUBi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16ADD                           10
    #define   LSb16ISA_SUBi_EX_ALU16ADD                           10
    #define       bISA_SUBi_EX_ALU16ADD                        1
    #define   MSK32ISA_SUBi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_SUBi_EX_ALU16SUB                        0x0011
    #define     B16ISA_SUBi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16SUB                           11
    #define   LSb16ISA_SUBi_EX_ALU16SUB                           11
    #define       bISA_SUBi_EX_ALU16SUB                        1
    #define   MSK32ISA_SUBi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_SUBi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_SUBi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_SUBi_EX_ALU16ADDC                          12
    #define   LSb16ISA_SUBi_EX_ALU16ADDC                          12
    #define       bISA_SUBi_EX_ALU16ADDC                       1
    #define   MSK32ISA_SUBi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_SUBi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_SUBi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_SUBi_EX_ALU16SUBC                          13
    #define   LSb16ISA_SUBi_EX_ALU16SUBC                          13
    #define       bISA_SUBi_EX_ALU16SUBC                       1
    #define   MSK32ISA_SUBi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_SUBi_EX_ALU16ASR                        0x0011
    #define     B16ISA_SUBi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_SUBi_EX_ALU16ASR                           14
    #define   LSb16ISA_SUBi_EX_ALU16ASR                           14
    #define       bISA_SUBi_EX_ALU16ASR                        1
    #define   MSK32ISA_SUBi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_SUBi_EX_ALU16SL                         0x0011
    #define     B16ISA_SUBi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_SUBi_EX_ALU16SL                            15
    #define   LSb16ISA_SUBi_EX_ALU16SL                            15
    #define       bISA_SUBi_EX_ALU16SL                         1
    #define   MSK32ISA_SUBi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_SUBi_EX_ALU16SR                         0x0012
    #define     B16ISA_SUBi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_SUBi_EX_ALU16SR                            16
    #define   LSb16ISA_SUBi_EX_ALU16SR                            0
    #define       bISA_SUBi_EX_ALU16SR                         1
    #define   MSK32ISA_SUBi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_SUBi_EX_ALU16GET                        0x0012
    #define     B16ISA_SUBi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_SUBi_EX_ALU16GET                           17
    #define   LSb16ISA_SUBi_EX_ALU16GET                           1
    #define       bISA_SUBi_EX_ALU16GET                        1
    #define   MSK32ISA_SUBi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_SUBi_EX_ALU16SET                        0x0012
    #define     B16ISA_SUBi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_SUBi_EX_ALU16SET                           18
    #define   LSb16ISA_SUBi_EX_ALU16SET                           2
    #define       bISA_SUBi_EX_ALU16SET                        1
    #define   MSK32ISA_SUBi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_SUBi_EX_ALU16SEL                        0x0012
    #define     B16ISA_SUBi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_SUBi_EX_ALU16SEL                           19
    #define   LSb16ISA_SUBi_EX_ALU16SEL                           3
    #define       bISA_SUBi_EX_ALU16SEL                        1
    #define   MSK32ISA_SUBi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_SUBi_EX_ALU16OR                         0x0012
    #define     B16ISA_SUBi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_SUBi_EX_ALU16OR                            20
    #define   LSb16ISA_SUBi_EX_ALU16OR                            4
    #define       bISA_SUBi_EX_ALU16OR                         1
    #define   MSK32ISA_SUBi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_SUBi_EX_ALU16AND                        0x0012
    #define     B16ISA_SUBi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_SUBi_EX_ALU16AND                           21
    #define   LSb16ISA_SUBi_EX_ALU16AND                           5
    #define       bISA_SUBi_EX_ALU16AND                        1
    #define   MSK32ISA_SUBi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_SUBi_EX_ALU16XOR                        0x0012
    #define     B16ISA_SUBi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_SUBi_EX_ALU16XOR                           22
    #define   LSb16ISA_SUBi_EX_ALU16XOR                           6
    #define       bISA_SUBi_EX_ALU16XOR                        1
    #define   MSK32ISA_SUBi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_SUBi_EX_ALU16SP                         0x0012
    #define     B16ISA_SUBi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_SUBi_EX_ALU16SP                            23
    #define   LSb16ISA_SUBi_EX_ALU16SP                            7
    #define       bISA_SUBi_EX_ALU16SP                         1
    #define   MSK32ISA_SUBi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_EXX                                0x0014

    #define     BA_ISA_SUBi_EXX_WRSQ                           0x0014
    #define     B16ISA_SUBi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_SUBi_EXX_WRSQ                              0
    #define   LSb16ISA_SUBi_EXX_WRSQ                              0
    #define       bISA_SUBi_EXX_WRSQ                           1
    #define   MSK32ISA_SUBi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_SUBi_EXX_WR16                           0x0014
    #define     B16ISA_SUBi_EXX_WR16                           0x0014
    #define   LSb32ISA_SUBi_EXX_WR16                              1
    #define   LSb16ISA_SUBi_EXX_WR16                              1
    #define       bISA_SUBi_EXX_WR16                           1
    #define   MSK32ISA_SUBi_EXX_WR16                              0x00000002

    #define     BA_ISA_SUBi_EXX_WRTQ                           0x0014
    #define     B16ISA_SUBi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_SUBi_EXX_WRTQ                              2
    #define   LSb16ISA_SUBi_EXX_WRTQ                              2
    #define       bISA_SUBi_EXX_WRTQ                           1
    #define   MSK32ISA_SUBi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_SUBi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_SUBi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_SUBi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_SUBi_EXX_ALU64PUSH                         3
    #define       bISA_SUBi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_SUBi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_SUBi_EXX_ALU64POP                       0x0014
    #define     B16ISA_SUBi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_SUBi_EXX_ALU64POP                          4
    #define   LSb16ISA_SUBi_EXX_ALU64POP                          4
    #define       bISA_SUBi_EXX_ALU64POP                       1
    #define   MSK32ISA_SUBi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_SUBi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_SUBi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_SUBi_EXX_ALU64SQ                           5
    #define   LSb16ISA_SUBi_EXX_ALU64SQ                           5
    #define       bISA_SUBi_EXX_ALU64SQ                        1
    #define   MSK32ISA_SUBi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_SUBi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_SUBi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_SUBi_EXX_ALU64TQ                           6
    #define   LSb16ISA_SUBi_EXX_ALU64TQ                           6
    #define       bISA_SUBi_EXX_ALU64TQ                        1
    #define   MSK32ISA_SUBi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_SUBi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_SUBi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_SUBi_EXX_ALU64MEM                          7
    #define   LSb16ISA_SUBi_EXX_ALU64MEM                          7
    #define       bISA_SUBi_EXX_ALU64MEM                       1
    #define   MSK32ISA_SUBi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_SUBi_EXX_BRANCH                         0x0015
    #define     B16ISA_SUBi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_SUBi_EXX_BRANCH                            8
    #define   LSb16ISA_SUBi_EXX_BRANCH                            8
    #define       bISA_SUBi_EXX_BRANCH                         1
    #define   MSK32ISA_SUBi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBi_WB                                 0x0018

    #define     BA_ISA_SUBi_WB_RF16                            0x0018
    #define     B16ISA_SUBi_WB_RF16                            0x0018
    #define   LSb32ISA_SUBi_WB_RF16                               0
    #define   LSb16ISA_SUBi_WB_RF16                               0
    #define       bISA_SUBi_WB_RF16                            1
    #define   MSK32ISA_SUBi_WB_RF16                               0x00000001

    #define     BA_ISA_SUBi_WB_RF16W0                          0x0018
    #define     B16ISA_SUBi_WB_RF16W0                          0x0018
    #define   LSb32ISA_SUBi_WB_RF16W0                             1
    #define   LSb16ISA_SUBi_WB_RF16W0                             1
    #define       bISA_SUBi_WB_RF16W0                          1
    #define   MSK32ISA_SUBi_WB_RF16W0                             0x00000002

    #define     BA_ISA_SUBi_WB_RF16MEM                         0x0018
    #define     B16ISA_SUBi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_SUBi_WB_RF16MEM                            2
    #define   LSb16ISA_SUBi_WB_RF16MEM                            2
    #define       bISA_SUBi_WB_RF16MEM                         1
    #define   MSK32ISA_SUBi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_SUBi_WB_RF16Q                           0x0018
    #define     B16ISA_SUBi_WB_RF16Q                           0x0018
    #define   LSb32ISA_SUBi_WB_RF16Q                              3
    #define   LSb16ISA_SUBi_WB_RF16Q                              3
    #define       bISA_SUBi_WB_RF16Q                           1
    #define   MSK32ISA_SUBi_WB_RF16Q                              0x00000008

    #define     BA_ISA_SUBi_WB_RF64                            0x0018
    #define     B16ISA_SUBi_WB_RF64                            0x0018
    #define   LSb32ISA_SUBi_WB_RF64                               4
    #define   LSb16ISA_SUBi_WB_RF64                               4
    #define       bISA_SUBi_WB_RF64                            1
    #define   MSK32ISA_SUBi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SUBi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SUBi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUBi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUBi_Mask;
            struct w32ISA_SUBi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_SUBi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUBi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUBi_Opcode;
            struct w32ISA_SUBi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUBi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SUBi_ID;
            struct w32ISA_SUBi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUBi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUBi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUBi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUBi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUBi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_SUBi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUBi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_SUBi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUBi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_SUBi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUBi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_SUBi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUBi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_SUBi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUBi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_SUBi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUBi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_SUBi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUBi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_SUBi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUBi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_SUBi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUBi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_SUBi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUBi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SUBi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUBi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SUBi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUBi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SUBi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUBi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SUBi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUBi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_SUBi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUBi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_SUBi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUBi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_SUBi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUBi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_SUBi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUBi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SUBi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SUBi_LD;
            struct w32ISA_SUBi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUBi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUBi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUBi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUBi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUBi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_SUBi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUBi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_SUBi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUBi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_SUBi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUBi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_SUBi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUBi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_SUBi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUBi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_SUBi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUBi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_SUBi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUBi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_SUBi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUBi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_SUBi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUBi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_SUBi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUBi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_SUBi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUBi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_SUBi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUBi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SUBi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUBi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_SUBi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUBi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_SUBi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUBi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_SUBi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUBi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_SUBi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUBi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_SUBi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUBi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_SUBi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_SUBi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_SUBi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_SUBi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUBi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SUBi_EX;
            struct w32ISA_SUBi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SUBi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SUBi_EXX;
            struct w32ISA_SUBi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SUBi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SUBi_WB;
            struct w32ISA_SUBi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SUBi;

    typedef union  T32ISA_SUBi_Mask
          { UNSG32 u32;
            struct w32ISA_SUBi_Mask;
                 } T32ISA_SUBi_Mask;
    typedef union  T32ISA_SUBi_Opcode
          { UNSG32 u32;
            struct w32ISA_SUBi_Opcode;
                 } T32ISA_SUBi_Opcode;
    typedef union  T32ISA_SUBi_ID
          { UNSG32 u32;
            struct w32ISA_SUBi_ID;
                 } T32ISA_SUBi_ID;
    typedef union  T32ISA_SUBi_LD
          { UNSG32 u32;
            struct w32ISA_SUBi_LD;
                 } T32ISA_SUBi_LD;
    typedef union  T32ISA_SUBi_EX
          { UNSG32 u32;
            struct w32ISA_SUBi_EX;
                 } T32ISA_SUBi_EX;
    typedef union  T32ISA_SUBi_EXX
          { UNSG32 u32;
            struct w32ISA_SUBi_EXX;
                 } T32ISA_SUBi_EXX;
    typedef union  T32ISA_SUBi_WB
          { UNSG32 u32;
            struct w32ISA_SUBi_WB;
                 } T32ISA_SUBi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SUBi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_Mask;
                   };
                 } TISA_SUBi_Mask;
    typedef union  TISA_SUBi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_Opcode;
                   };
                 } TISA_SUBi_Opcode;
    typedef union  TISA_SUBi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_ID;
                   };
                 } TISA_SUBi_ID;
    typedef union  TISA_SUBi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_LD;
                   };
                 } TISA_SUBi_LD;
    typedef union  TISA_SUBi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_EX;
                   };
                 } TISA_SUBi_EX;
    typedef union  TISA_SUBi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_EXX;
                   };
                 } TISA_SUBi_EXX;
    typedef union  TISA_SUBi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBi_WB;
                   };
                 } TISA_SUBi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SUBi_drvrd(SIE_ISA_SUBi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SUBi_drvwr(SIE_ISA_SUBi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SUBi_reset(SIE_ISA_SUBi *p);
     SIGN32 ISA_SUBi_cmp  (SIE_ISA_SUBi *p, SIE_ISA_SUBi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SUBi_check(p,pie,pfx,hLOG) ISA_SUBi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SUBi_print(p,    pfx,hLOG) ISA_SUBi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SUBi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SUB                                  (4,4)
///     ###
///     * Subtract 2 registers to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x120000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SUB"     , "rD,rS,rT"    , "0001 0010 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    SUB      %d1, %b1, %a1    ; %d1 = %b1 - %a1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  0x1
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SUB
#define h_ISA_SUB (){}

    #define     RA_ISA_SUB_Mask                                0x0000

    #define     BA_ISA_SUB_Mask_INS                            0x0000
    #define     B16ISA_SUB_Mask_INS                            0x0000
    #define   LSb32ISA_SUB_Mask_INS                               0
    #define   LSb16ISA_SUB_Mask_INS                               0
    #define       bISA_SUB_Mask_INS                            24
    #define   MSK32ISA_SUB_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_Opcode                              0x0004

    #define     BA_ISA_SUB_Opcode_INS                          0x0004
    #define     B16ISA_SUB_Opcode_INS                          0x0004
    #define   LSb32ISA_SUB_Opcode_INS                             0
    #define   LSb16ISA_SUB_Opcode_INS                             0
    #define       bISA_SUB_Opcode_INS                          24
    #define   MSK32ISA_SUB_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_ID                                  0x0008

    #define     BA_ISA_SUB_ID_RBRF                             0x0008
    #define     B16ISA_SUB_ID_RBRF                             0x0008
    #define   LSb32ISA_SUB_ID_RBRF                                0
    #define   LSb16ISA_SUB_ID_RBRF                                0
    #define       bISA_SUB_ID_RBRF                             1
    #define   MSK32ISA_SUB_ID_RBRF                                0x00000001

    #define     BA_ISA_SUB_ID_RARF                             0x0008
    #define     B16ISA_SUB_ID_RARF                             0x0008
    #define   LSb32ISA_SUB_ID_RARF                                1
    #define   LSb16ISA_SUB_ID_RARF                                1
    #define       bISA_SUB_ID_RARF                             1
    #define   MSK32ISA_SUB_ID_RARF                                0x00000002

    #define     BA_ISA_SUB_ID_RAK8                             0x0008
    #define     B16ISA_SUB_ID_RAK8                             0x0008
    #define   LSb32ISA_SUB_ID_RAK8                                2
    #define   LSb16ISA_SUB_ID_RAK8                                2
    #define       bISA_SUB_ID_RAK8                             1
    #define   MSK32ISA_SUB_ID_RAK8                                0x00000004

    #define     BA_ISA_SUB_ID_RAI16                            0x0008
    #define     B16ISA_SUB_ID_RAI16                            0x0008
    #define   LSb32ISA_SUB_ID_RAI16                               3
    #define   LSb16ISA_SUB_ID_RAI16                               3
    #define       bISA_SUB_ID_RAI16                            1
    #define   MSK32ISA_SUB_ID_RAI16                               0x00000008

    #define     BA_ISA_SUB_ID_RAK16                            0x0008
    #define     B16ISA_SUB_ID_RAK16                            0x0008
    #define   LSb32ISA_SUB_ID_RAK16                               4
    #define   LSb16ISA_SUB_ID_RAK16                               4
    #define       bISA_SUB_ID_RAK16                            1
    #define   MSK32ISA_SUB_ID_RAK16                               0x00000010

    #define     BA_ISA_SUB_ID_RFSP                             0x0008
    #define     B16ISA_SUB_ID_RFSP                             0x0008
    #define   LSb32ISA_SUB_ID_RFSP                                5
    #define   LSb16ISA_SUB_ID_RFSP                                5
    #define       bISA_SUB_ID_RFSP                             1
    #define   MSK32ISA_SUB_ID_RFSP                                0x00000020

    #define     BA_ISA_SUB_ID_W4D4                             0x0008
    #define     B16ISA_SUB_ID_W4D4                             0x0008
    #define   LSb32ISA_SUB_ID_W4D4                                6
    #define   LSb16ISA_SUB_ID_W4D4                                6
    #define       bISA_SUB_ID_W4D4                             1
    #define   MSK32ISA_SUB_ID_W4D4                                0x00000040

    #define     BA_ISA_SUB_ID_W4S4                             0x0008
    #define     B16ISA_SUB_ID_W4S4                             0x0008
    #define   LSb32ISA_SUB_ID_W4S4                                7
    #define   LSb16ISA_SUB_ID_W4S4                                7
    #define       bISA_SUB_ID_W4S4                             1
    #define   MSK32ISA_SUB_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_LD                                  0x000C

    #define     BA_ISA_SUB_LD_SPRF                             0x000C
    #define     B16ISA_SUB_LD_SPRF                             0x000C
    #define   LSb32ISA_SUB_LD_SPRF                                0
    #define   LSb16ISA_SUB_LD_SPRF                                0
    #define       bISA_SUB_LD_SPRF                             1
    #define   MSK32ISA_SUB_LD_SPRF                                0x00000001

    #define     BA_ISA_SUB_LD_SPK8                             0x000C
    #define     B16ISA_SUB_LD_SPK8                             0x000C
    #define   LSb32ISA_SUB_LD_SPK8                                1
    #define   LSb16ISA_SUB_LD_SPK8                                1
    #define       bISA_SUB_LD_SPK8                             1
    #define   MSK32ISA_SUB_LD_SPK8                                0x00000002

    #define     BA_ISA_SUB_LD_SPJ                              0x000C
    #define     B16ISA_SUB_LD_SPJ                              0x000C
    #define   LSb32ISA_SUB_LD_SPJ                                 2
    #define   LSb16ISA_SUB_LD_SPJ                                 2
    #define       bISA_SUB_LD_SPJ                              1
    #define   MSK32ISA_SUB_LD_SPJ                                 0x00000004

    #define     BA_ISA_SUB_LD_SP4S                             0x000C
    #define     B16ISA_SUB_LD_SP4S                             0x000C
    #define   LSb32ISA_SUB_LD_SP4S                                3
    #define   LSb16ISA_SUB_LD_SP4S                                3
    #define       bISA_SUB_LD_SP4S                             1
    #define   MSK32ISA_SUB_LD_SP4S                                0x00000008

    #define     BA_ISA_SUB_LD_SP8S                             0x000C
    #define     B16ISA_SUB_LD_SP8S                             0x000C
    #define   LSb32ISA_SUB_LD_SP8S                                4
    #define   LSb16ISA_SUB_LD_SP8S                                4
    #define       bISA_SUB_LD_SP8S                             1
    #define   MSK32ISA_SUB_LD_SP8S                                0x00000010

    #define     BA_ISA_SUB_LD_SP8U                             0x000C
    #define     B16ISA_SUB_LD_SP8U                             0x000C
    #define   LSb32ISA_SUB_LD_SP8U                                5
    #define   LSb16ISA_SUB_LD_SP8U                                5
    #define       bISA_SUB_LD_SP8U                             1
    #define   MSK32ISA_SUB_LD_SP8U                                0x00000020

    #define     BA_ISA_SUB_LD_SP12S                            0x000C
    #define     B16ISA_SUB_LD_SP12S                            0x000C
    #define   LSb32ISA_SUB_LD_SP12S                               6
    #define   LSb16ISA_SUB_LD_SP12S                               6
    #define       bISA_SUB_LD_SP12S                            1
    #define   MSK32ISA_SUB_LD_SP12S                               0x00000040

    #define     BA_ISA_SUB_LD_SP16                             0x000C
    #define     B16ISA_SUB_LD_SP16                             0x000C
    #define   LSb32ISA_SUB_LD_SP16                                7
    #define   LSb16ISA_SUB_LD_SP16                                7
    #define       bISA_SUB_LD_SP16                             1
    #define   MSK32ISA_SUB_LD_SP16                                0x00000080

    #define     BA_ISA_SUB_LD_TPRF                             0x000D
    #define     B16ISA_SUB_LD_TPRF                             0x000C
    #define   LSb32ISA_SUB_LD_TPRF                                8
    #define   LSb16ISA_SUB_LD_TPRF                                8
    #define       bISA_SUB_LD_TPRF                             1
    #define   MSK32ISA_SUB_LD_TPRF                                0x00000100

    #define     BA_ISA_SUB_LD_TPJ                              0x000D
    #define     B16ISA_SUB_LD_TPJ                              0x000C
    #define   LSb32ISA_SUB_LD_TPJ                                 9
    #define   LSb16ISA_SUB_LD_TPJ                                 9
    #define       bISA_SUB_LD_TPJ                              1
    #define   MSK32ISA_SUB_LD_TPJ                                 0x00000200

    #define     BA_ISA_SUB_LD_TP4S                             0x000D
    #define     B16ISA_SUB_LD_TP4S                             0x000C
    #define   LSb32ISA_SUB_LD_TP4S                                10
    #define   LSb16ISA_SUB_LD_TP4S                                10
    #define       bISA_SUB_LD_TP4S                             1
    #define   MSK32ISA_SUB_LD_TP4S                                0x00000400

    #define     BA_ISA_SUB_LD_TP8L                             0x000D
    #define     B16ISA_SUB_LD_TP8L                             0x000C
    #define   LSb32ISA_SUB_LD_TP8L                                11
    #define   LSb16ISA_SUB_LD_TP8L                                11
    #define       bISA_SUB_LD_TP8L                             1
    #define   MSK32ISA_SUB_LD_TP8L                                0x00000800

    #define     BA_ISA_SUB_LD_TP8H                             0x000D
    #define     B16ISA_SUB_LD_TP8H                             0x000C
    #define   LSb32ISA_SUB_LD_TP8H                                12
    #define   LSb16ISA_SUB_LD_TP8H                                12
    #define       bISA_SUB_LD_TP8H                             1
    #define   MSK32ISA_SUB_LD_TP8H                                0x00001000

    #define     BA_ISA_SUB_LD_TP8LF                            0x000D
    #define     B16ISA_SUB_LD_TP8LF                            0x000C
    #define   LSb32ISA_SUB_LD_TP8LF                               13
    #define   LSb16ISA_SUB_LD_TP8LF                               13
    #define       bISA_SUB_LD_TP8LF                            1
    #define   MSK32ISA_SUB_LD_TP8LF                               0x00002000

    #define     BA_ISA_SUB_LD_TP8HF                            0x000D
    #define     B16ISA_SUB_LD_TP8HF                            0x000C
    #define   LSb32ISA_SUB_LD_TP8HF                               14
    #define   LSb16ISA_SUB_LD_TP8HF                               14
    #define       bISA_SUB_LD_TP8HF                            1
    #define   MSK32ISA_SUB_LD_TP8HF                               0x00004000

    #define     BA_ISA_SUB_LD_SQRF64                           0x000D
    #define     B16ISA_SUB_LD_SQRF64                           0x000C
    #define   LSb32ISA_SUB_LD_SQRF64                              15
    #define   LSb16ISA_SUB_LD_SQRF64                              15
    #define       bISA_SUB_LD_SQRF64                           1
    #define   MSK32ISA_SUB_LD_SQRF64                              0x00008000

    #define     BA_ISA_SUB_LD_TQRF16Q                          0x000E
    #define     B16ISA_SUB_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_SUB_LD_TQRF16Q                             16
    #define   LSb16ISA_SUB_LD_TQRF16Q                             0
    #define       bISA_SUB_LD_TQRF16Q                          1
    #define   MSK32ISA_SUB_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_SUB_LD_TQRFx4                           0x000E
    #define     B16ISA_SUB_LD_TQRFx4                           0x000E
    #define   LSb32ISA_SUB_LD_TQRFx4                              17
    #define   LSb16ISA_SUB_LD_TQRFx4                              1
    #define       bISA_SUB_LD_TQRFx4                           1
    #define   MSK32ISA_SUB_LD_TQRFx4                              0x00020000

    #define     BA_ISA_SUB_LD_RD                               0x000E
    #define     B16ISA_SUB_LD_RD                               0x000E
    #define   LSb32ISA_SUB_LD_RD                                  18
    #define   LSb16ISA_SUB_LD_RD                                  2
    #define       bISA_SUB_LD_RD                               1
    #define   MSK32ISA_SUB_LD_RD                                  0x00040000

    #define     BA_ISA_SUB_LD_WARF                             0x000E
    #define     B16ISA_SUB_LD_WARF                             0x000E
    #define   LSb32ISA_SUB_LD_WARF                                19
    #define   LSb16ISA_SUB_LD_WARF                                3
    #define       bISA_SUB_LD_WARF                             1
    #define   MSK32ISA_SUB_LD_WARF                                0x00080000

    #define     BA_ISA_SUB_LD_WAK8                             0x000E
    #define     B16ISA_SUB_LD_WAK8                             0x000E
    #define   LSb32ISA_SUB_LD_WAK8                                20
    #define   LSb16ISA_SUB_LD_WAK8                                4
    #define       bISA_SUB_LD_WAK8                             1
    #define   MSK32ISA_SUB_LD_WAK8                                0x00100000

    #define     BA_ISA_SUB_LD_WAK16                            0x000E
    #define     B16ISA_SUB_LD_WAK16                            0x000E
    #define   LSb32ISA_SUB_LD_WAK16                               21
    #define   LSb16ISA_SUB_LD_WAK16                               5
    #define       bISA_SUB_LD_WAK16                            1
    #define   MSK32ISA_SUB_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_EX                                  0x0010

    #define     BA_ISA_SUB_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_SUB_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagZ                          0
    #define   LSb16ISA_SUB_EX_ALU16FlagZ                          0
    #define       bISA_SUB_EX_ALU16FlagZ                       1
    #define   MSK32ISA_SUB_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_SUB_EX_ALU16FlagC                       0x0010
    #define     B16ISA_SUB_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagC                          1
    #define   LSb16ISA_SUB_EX_ALU16FlagC                          1
    #define       bISA_SUB_EX_ALU16FlagC                       1
    #define   MSK32ISA_SUB_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_SUB_EX_ALU16FlagN                       0x0010
    #define     B16ISA_SUB_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagN                          2
    #define   LSb16ISA_SUB_EX_ALU16FlagN                          2
    #define       bISA_SUB_EX_ALU16FlagN                       1
    #define   MSK32ISA_SUB_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_SUB_EX_ALU16FlagV                       0x0010
    #define     B16ISA_SUB_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagV                          3
    #define   LSb16ISA_SUB_EX_ALU16FlagV                          3
    #define       bISA_SUB_EX_ALU16FlagV                       1
    #define   MSK32ISA_SUB_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_SUB_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_SUB_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagTP                         4
    #define   LSb16ISA_SUB_EX_ALU16FlagTP                         4
    #define       bISA_SUB_EX_ALU16FlagTP                      1
    #define   MSK32ISA_SUB_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_SUB_EX_ALU16MUL                         0x0010
    #define     B16ISA_SUB_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16MUL                            5
    #define   LSb16ISA_SUB_EX_ALU16MUL                            5
    #define       bISA_SUB_EX_ALU16MUL                         1
    #define   MSK32ISA_SUB_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_SUB_EX_ALU16DIV                         0x0010
    #define     B16ISA_SUB_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16DIV                            6
    #define   LSb16ISA_SUB_EX_ALU16DIV                            6
    #define       bISA_SUB_EX_ALU16DIV                         1
    #define   MSK32ISA_SUB_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_SUB_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_SUB_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_SUB_EX_ALU16FlagLD                         7
    #define   LSb16ISA_SUB_EX_ALU16FlagLD                         7
    #define       bISA_SUB_EX_ALU16FlagLD                      1
    #define   MSK32ISA_SUB_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_SUB_EX_ALU16MDL                         0x0011
    #define     B16ISA_SUB_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16MDL                            8
    #define   LSb16ISA_SUB_EX_ALU16MDL                            8
    #define       bISA_SUB_EX_ALU16MDL                         1
    #define   MSK32ISA_SUB_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_SUB_EX_ALU16MDH                         0x0011
    #define     B16ISA_SUB_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16MDH                            9
    #define   LSb16ISA_SUB_EX_ALU16MDH                            9
    #define       bISA_SUB_EX_ALU16MDH                         1
    #define   MSK32ISA_SUB_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_SUB_EX_ALU16ADD                         0x0011
    #define     B16ISA_SUB_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16ADD                            10
    #define   LSb16ISA_SUB_EX_ALU16ADD                            10
    #define       bISA_SUB_EX_ALU16ADD                         1
    #define   MSK32ISA_SUB_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_SUB_EX_ALU16SUB                         0x0011
    #define     B16ISA_SUB_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16SUB                            11
    #define   LSb16ISA_SUB_EX_ALU16SUB                            11
    #define       bISA_SUB_EX_ALU16SUB                         1
    #define   MSK32ISA_SUB_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_SUB_EX_ALU16ADDC                        0x0011
    #define     B16ISA_SUB_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_SUB_EX_ALU16ADDC                           12
    #define   LSb16ISA_SUB_EX_ALU16ADDC                           12
    #define       bISA_SUB_EX_ALU16ADDC                        1
    #define   MSK32ISA_SUB_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_SUB_EX_ALU16SUBC                        0x0011
    #define     B16ISA_SUB_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_SUB_EX_ALU16SUBC                           13
    #define   LSb16ISA_SUB_EX_ALU16SUBC                           13
    #define       bISA_SUB_EX_ALU16SUBC                        1
    #define   MSK32ISA_SUB_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_SUB_EX_ALU16ASR                         0x0011
    #define     B16ISA_SUB_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_SUB_EX_ALU16ASR                            14
    #define   LSb16ISA_SUB_EX_ALU16ASR                            14
    #define       bISA_SUB_EX_ALU16ASR                         1
    #define   MSK32ISA_SUB_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_SUB_EX_ALU16SL                          0x0011
    #define     B16ISA_SUB_EX_ALU16SL                          0x0010
    #define   LSb32ISA_SUB_EX_ALU16SL                             15
    #define   LSb16ISA_SUB_EX_ALU16SL                             15
    #define       bISA_SUB_EX_ALU16SL                          1
    #define   MSK32ISA_SUB_EX_ALU16SL                             0x00008000

    #define     BA_ISA_SUB_EX_ALU16SR                          0x0012
    #define     B16ISA_SUB_EX_ALU16SR                          0x0012
    #define   LSb32ISA_SUB_EX_ALU16SR                             16
    #define   LSb16ISA_SUB_EX_ALU16SR                             0
    #define       bISA_SUB_EX_ALU16SR                          1
    #define   MSK32ISA_SUB_EX_ALU16SR                             0x00010000

    #define     BA_ISA_SUB_EX_ALU16GET                         0x0012
    #define     B16ISA_SUB_EX_ALU16GET                         0x0012
    #define   LSb32ISA_SUB_EX_ALU16GET                            17
    #define   LSb16ISA_SUB_EX_ALU16GET                            1
    #define       bISA_SUB_EX_ALU16GET                         1
    #define   MSK32ISA_SUB_EX_ALU16GET                            0x00020000

    #define     BA_ISA_SUB_EX_ALU16SET                         0x0012
    #define     B16ISA_SUB_EX_ALU16SET                         0x0012
    #define   LSb32ISA_SUB_EX_ALU16SET                            18
    #define   LSb16ISA_SUB_EX_ALU16SET                            2
    #define       bISA_SUB_EX_ALU16SET                         1
    #define   MSK32ISA_SUB_EX_ALU16SET                            0x00040000

    #define     BA_ISA_SUB_EX_ALU16SEL                         0x0012
    #define     B16ISA_SUB_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_SUB_EX_ALU16SEL                            19
    #define   LSb16ISA_SUB_EX_ALU16SEL                            3
    #define       bISA_SUB_EX_ALU16SEL                         1
    #define   MSK32ISA_SUB_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_SUB_EX_ALU16OR                          0x0012
    #define     B16ISA_SUB_EX_ALU16OR                          0x0012
    #define   LSb32ISA_SUB_EX_ALU16OR                             20
    #define   LSb16ISA_SUB_EX_ALU16OR                             4
    #define       bISA_SUB_EX_ALU16OR                          1
    #define   MSK32ISA_SUB_EX_ALU16OR                             0x00100000

    #define     BA_ISA_SUB_EX_ALU16AND                         0x0012
    #define     B16ISA_SUB_EX_ALU16AND                         0x0012
    #define   LSb32ISA_SUB_EX_ALU16AND                            21
    #define   LSb16ISA_SUB_EX_ALU16AND                            5
    #define       bISA_SUB_EX_ALU16AND                         1
    #define   MSK32ISA_SUB_EX_ALU16AND                            0x00200000

    #define     BA_ISA_SUB_EX_ALU16XOR                         0x0012
    #define     B16ISA_SUB_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_SUB_EX_ALU16XOR                            22
    #define   LSb16ISA_SUB_EX_ALU16XOR                            6
    #define       bISA_SUB_EX_ALU16XOR                         1
    #define   MSK32ISA_SUB_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_SUB_EX_ALU16SP                          0x0012
    #define     B16ISA_SUB_EX_ALU16SP                          0x0012
    #define   LSb32ISA_SUB_EX_ALU16SP                             23
    #define   LSb16ISA_SUB_EX_ALU16SP                             7
    #define       bISA_SUB_EX_ALU16SP                          1
    #define   MSK32ISA_SUB_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_EXX                                 0x0014

    #define     BA_ISA_SUB_EXX_WRSQ                            0x0014
    #define     B16ISA_SUB_EXX_WRSQ                            0x0014
    #define   LSb32ISA_SUB_EXX_WRSQ                               0
    #define   LSb16ISA_SUB_EXX_WRSQ                               0
    #define       bISA_SUB_EXX_WRSQ                            1
    #define   MSK32ISA_SUB_EXX_WRSQ                               0x00000001

    #define     BA_ISA_SUB_EXX_WR16                            0x0014
    #define     B16ISA_SUB_EXX_WR16                            0x0014
    #define   LSb32ISA_SUB_EXX_WR16                               1
    #define   LSb16ISA_SUB_EXX_WR16                               1
    #define       bISA_SUB_EXX_WR16                            1
    #define   MSK32ISA_SUB_EXX_WR16                               0x00000002

    #define     BA_ISA_SUB_EXX_WRTQ                            0x0014
    #define     B16ISA_SUB_EXX_WRTQ                            0x0014
    #define   LSb32ISA_SUB_EXX_WRTQ                               2
    #define   LSb16ISA_SUB_EXX_WRTQ                               2
    #define       bISA_SUB_EXX_WRTQ                            1
    #define   MSK32ISA_SUB_EXX_WRTQ                               0x00000004

    #define     BA_ISA_SUB_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_SUB_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_SUB_EXX_ALU64PUSH                          3
    #define   LSb16ISA_SUB_EXX_ALU64PUSH                          3
    #define       bISA_SUB_EXX_ALU64PUSH                       1
    #define   MSK32ISA_SUB_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_SUB_EXX_ALU64POP                        0x0014
    #define     B16ISA_SUB_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_SUB_EXX_ALU64POP                           4
    #define   LSb16ISA_SUB_EXX_ALU64POP                           4
    #define       bISA_SUB_EXX_ALU64POP                        1
    #define   MSK32ISA_SUB_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_SUB_EXX_ALU64SQ                         0x0014
    #define     B16ISA_SUB_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_SUB_EXX_ALU64SQ                            5
    #define   LSb16ISA_SUB_EXX_ALU64SQ                            5
    #define       bISA_SUB_EXX_ALU64SQ                         1
    #define   MSK32ISA_SUB_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_SUB_EXX_ALU64TQ                         0x0014
    #define     B16ISA_SUB_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_SUB_EXX_ALU64TQ                            6
    #define   LSb16ISA_SUB_EXX_ALU64TQ                            6
    #define       bISA_SUB_EXX_ALU64TQ                         1
    #define   MSK32ISA_SUB_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_SUB_EXX_ALU64MEM                        0x0014
    #define     B16ISA_SUB_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_SUB_EXX_ALU64MEM                           7
    #define   LSb16ISA_SUB_EXX_ALU64MEM                           7
    #define       bISA_SUB_EXX_ALU64MEM                        1
    #define   MSK32ISA_SUB_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_SUB_EXX_BRANCH                          0x0015
    #define     B16ISA_SUB_EXX_BRANCH                          0x0014
    #define   LSb32ISA_SUB_EXX_BRANCH                             8
    #define   LSb16ISA_SUB_EXX_BRANCH                             8
    #define       bISA_SUB_EXX_BRANCH                          1
    #define   MSK32ISA_SUB_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUB_WB                                  0x0018

    #define     BA_ISA_SUB_WB_RF16                             0x0018
    #define     B16ISA_SUB_WB_RF16                             0x0018
    #define   LSb32ISA_SUB_WB_RF16                                0
    #define   LSb16ISA_SUB_WB_RF16                                0
    #define       bISA_SUB_WB_RF16                             1
    #define   MSK32ISA_SUB_WB_RF16                                0x00000001

    #define     BA_ISA_SUB_WB_RF16W0                           0x0018
    #define     B16ISA_SUB_WB_RF16W0                           0x0018
    #define   LSb32ISA_SUB_WB_RF16W0                              1
    #define   LSb16ISA_SUB_WB_RF16W0                              1
    #define       bISA_SUB_WB_RF16W0                           1
    #define   MSK32ISA_SUB_WB_RF16W0                              0x00000002

    #define     BA_ISA_SUB_WB_RF16MEM                          0x0018
    #define     B16ISA_SUB_WB_RF16MEM                          0x0018
    #define   LSb32ISA_SUB_WB_RF16MEM                             2
    #define   LSb16ISA_SUB_WB_RF16MEM                             2
    #define       bISA_SUB_WB_RF16MEM                          1
    #define   MSK32ISA_SUB_WB_RF16MEM                             0x00000004

    #define     BA_ISA_SUB_WB_RF16Q                            0x0018
    #define     B16ISA_SUB_WB_RF16Q                            0x0018
    #define   LSb32ISA_SUB_WB_RF16Q                               3
    #define   LSb16ISA_SUB_WB_RF16Q                               3
    #define       bISA_SUB_WB_RF16Q                            1
    #define   MSK32ISA_SUB_WB_RF16Q                               0x00000008

    #define     BA_ISA_SUB_WB_RF64                             0x0018
    #define     B16ISA_SUB_WB_RF64                             0x0018
    #define   LSb32ISA_SUB_WB_RF64                                4
    #define   LSb16ISA_SUB_WB_RF64                                4
    #define       bISA_SUB_WB_RF64                             1
    #define   MSK32ISA_SUB_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SUB {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_SUB_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUB_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUB_Mask;
            struct w32ISA_SUB_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_SUB_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUB_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUB_Opcode;
            struct w32ISA_SUB_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUB_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUB_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUB_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUB_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUB_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUB_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUB_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUB_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUB_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUB_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUB_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUB_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUB_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUB_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUB_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUB_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUB_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUB_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUB_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUB_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUB_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SUB_ID;
            struct w32ISA_SUB_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUB_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUB_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUB_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUB_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUB_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUB_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUB_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUB_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUB_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUB_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUB_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUB_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUB_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUB_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUB_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUB_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUB_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUB_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUB_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUB_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUB_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUB_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUB_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUB_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUB_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUB_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUB_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUB_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUB_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_SUB_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUB_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_SUB_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUB_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_SUB_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUB_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_SUB_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUB_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_SUB_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUB_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_SUB_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUB_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_SUB_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUB_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_SUB_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUB_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_SUB_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUB_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_SUB_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUB_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SUB_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUB_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SUB_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUB_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SUB_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUB_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_SUB_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUB_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_SUB_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUB_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_SUB_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUB_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_SUB_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUB_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_SUB_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUB_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SUB_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SUB_LD;
            struct w32ISA_SUB_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUB_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUB_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUB_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUB_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUB_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUB_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUB_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUB_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUB_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUB_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUB_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUB_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUB_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUB_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUB_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUB_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUB_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUB_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUB_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUB_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUB_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUB_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUB_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUB_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUB_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUB_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUB_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUB_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUB_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_SUB_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUB_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_SUB_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUB_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_SUB_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUB_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_SUB_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUB_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_SUB_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUB_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_SUB_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUB_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_SUB_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUB_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_SUB_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUB_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_SUB_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUB_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_SUB_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUB_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SUB_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUB_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SUB_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUB_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SUB_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUB_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_SUB_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUB_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_SUB_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUB_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_SUB_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUB_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_SUB_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUB_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_SUB_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUB_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUB_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_SUB_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_SUB_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUB_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUB_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_SUB_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_SUB_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUB_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUB_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SUB_EX;
            struct w32ISA_SUB_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUB_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUB_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUB_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUB_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUB_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUB_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUB_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUB_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUB_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUB_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUB_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUB_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUB_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUB_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUB_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUB_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUB_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUB_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUB_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUB_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUB_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUB_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUB_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUB_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUB_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUB_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SUB_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SUB_EXX;
            struct w32ISA_SUB_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUB_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUB_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUB_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUB_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUB_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUB_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUB_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUB_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUB_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUB_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUB_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUB_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUB_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUB_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUB_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUB_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUB_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUB_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUB_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUB_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SUB_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SUB_WB;
            struct w32ISA_SUB_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SUB;

    typedef union  T32ISA_SUB_Mask
          { UNSG32 u32;
            struct w32ISA_SUB_Mask;
                 } T32ISA_SUB_Mask;
    typedef union  T32ISA_SUB_Opcode
          { UNSG32 u32;
            struct w32ISA_SUB_Opcode;
                 } T32ISA_SUB_Opcode;
    typedef union  T32ISA_SUB_ID
          { UNSG32 u32;
            struct w32ISA_SUB_ID;
                 } T32ISA_SUB_ID;
    typedef union  T32ISA_SUB_LD
          { UNSG32 u32;
            struct w32ISA_SUB_LD;
                 } T32ISA_SUB_LD;
    typedef union  T32ISA_SUB_EX
          { UNSG32 u32;
            struct w32ISA_SUB_EX;
                 } T32ISA_SUB_EX;
    typedef union  T32ISA_SUB_EXX
          { UNSG32 u32;
            struct w32ISA_SUB_EXX;
                 } T32ISA_SUB_EXX;
    typedef union  T32ISA_SUB_WB
          { UNSG32 u32;
            struct w32ISA_SUB_WB;
                 } T32ISA_SUB_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SUB_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_Mask;
                   };
                 } TISA_SUB_Mask;
    typedef union  TISA_SUB_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_Opcode;
                   };
                 } TISA_SUB_Opcode;
    typedef union  TISA_SUB_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_ID;
                   };
                 } TISA_SUB_ID;
    typedef union  TISA_SUB_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_LD;
                   };
                 } TISA_SUB_LD;
    typedef union  TISA_SUB_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_EX;
                   };
                 } TISA_SUB_EX;
    typedef union  TISA_SUB_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_EXX;
                   };
                 } TISA_SUB_EXX;
    typedef union  TISA_SUB_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUB_WB;
                   };
                 } TISA_SUB_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SUB_drvrd(SIE_ISA_SUB *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SUB_drvwr(SIE_ISA_SUB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SUB_reset(SIE_ISA_SUB *p);
     SIGN32 ISA_SUB_cmp  (SIE_ISA_SUB *p, SIE_ISA_SUB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SUB_check(p,pie,pfx,hLOG) ISA_SUB_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SUB_print(p,    pfx,hLOG) ISA_SUB_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SUB
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SUBC                                 (4,4)
///     ###
///     * Subtract 2 registers with carry bit to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x130000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SUBC"    , "rD,rS,rT"    , "0001 0011 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    SUBC     %d1, %b1, %a1    ; %d1 = %b1 + %a1 - c;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                0x1
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                0x1
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 0x1
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SUBC
#define h_ISA_SUBC (){}

    #define     RA_ISA_SUBC_Mask                               0x0000

    #define     BA_ISA_SUBC_Mask_INS                           0x0000
    #define     B16ISA_SUBC_Mask_INS                           0x0000
    #define   LSb32ISA_SUBC_Mask_INS                              0
    #define   LSb16ISA_SUBC_Mask_INS                              0
    #define       bISA_SUBC_Mask_INS                           24
    #define   MSK32ISA_SUBC_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_Opcode                             0x0004

    #define     BA_ISA_SUBC_Opcode_INS                         0x0004
    #define     B16ISA_SUBC_Opcode_INS                         0x0004
    #define   LSb32ISA_SUBC_Opcode_INS                            0
    #define   LSb16ISA_SUBC_Opcode_INS                            0
    #define       bISA_SUBC_Opcode_INS                         24
    #define   MSK32ISA_SUBC_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_ID                                 0x0008

    #define     BA_ISA_SUBC_ID_RBRF                            0x0008
    #define     B16ISA_SUBC_ID_RBRF                            0x0008
    #define   LSb32ISA_SUBC_ID_RBRF                               0
    #define   LSb16ISA_SUBC_ID_RBRF                               0
    #define       bISA_SUBC_ID_RBRF                            1
    #define   MSK32ISA_SUBC_ID_RBRF                               0x00000001

    #define     BA_ISA_SUBC_ID_RARF                            0x0008
    #define     B16ISA_SUBC_ID_RARF                            0x0008
    #define   LSb32ISA_SUBC_ID_RARF                               1
    #define   LSb16ISA_SUBC_ID_RARF                               1
    #define       bISA_SUBC_ID_RARF                            1
    #define   MSK32ISA_SUBC_ID_RARF                               0x00000002

    #define     BA_ISA_SUBC_ID_RAK8                            0x0008
    #define     B16ISA_SUBC_ID_RAK8                            0x0008
    #define   LSb32ISA_SUBC_ID_RAK8                               2
    #define   LSb16ISA_SUBC_ID_RAK8                               2
    #define       bISA_SUBC_ID_RAK8                            1
    #define   MSK32ISA_SUBC_ID_RAK8                               0x00000004

    #define     BA_ISA_SUBC_ID_RAI16                           0x0008
    #define     B16ISA_SUBC_ID_RAI16                           0x0008
    #define   LSb32ISA_SUBC_ID_RAI16                              3
    #define   LSb16ISA_SUBC_ID_RAI16                              3
    #define       bISA_SUBC_ID_RAI16                           1
    #define   MSK32ISA_SUBC_ID_RAI16                              0x00000008

    #define     BA_ISA_SUBC_ID_RAK16                           0x0008
    #define     B16ISA_SUBC_ID_RAK16                           0x0008
    #define   LSb32ISA_SUBC_ID_RAK16                              4
    #define   LSb16ISA_SUBC_ID_RAK16                              4
    #define       bISA_SUBC_ID_RAK16                           1
    #define   MSK32ISA_SUBC_ID_RAK16                              0x00000010

    #define     BA_ISA_SUBC_ID_RFSP                            0x0008
    #define     B16ISA_SUBC_ID_RFSP                            0x0008
    #define   LSb32ISA_SUBC_ID_RFSP                               5
    #define   LSb16ISA_SUBC_ID_RFSP                               5
    #define       bISA_SUBC_ID_RFSP                            1
    #define   MSK32ISA_SUBC_ID_RFSP                               0x00000020

    #define     BA_ISA_SUBC_ID_W4D4                            0x0008
    #define     B16ISA_SUBC_ID_W4D4                            0x0008
    #define   LSb32ISA_SUBC_ID_W4D4                               6
    #define   LSb16ISA_SUBC_ID_W4D4                               6
    #define       bISA_SUBC_ID_W4D4                            1
    #define   MSK32ISA_SUBC_ID_W4D4                               0x00000040

    #define     BA_ISA_SUBC_ID_W4S4                            0x0008
    #define     B16ISA_SUBC_ID_W4S4                            0x0008
    #define   LSb32ISA_SUBC_ID_W4S4                               7
    #define   LSb16ISA_SUBC_ID_W4S4                               7
    #define       bISA_SUBC_ID_W4S4                            1
    #define   MSK32ISA_SUBC_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_LD                                 0x000C

    #define     BA_ISA_SUBC_LD_SPRF                            0x000C
    #define     B16ISA_SUBC_LD_SPRF                            0x000C
    #define   LSb32ISA_SUBC_LD_SPRF                               0
    #define   LSb16ISA_SUBC_LD_SPRF                               0
    #define       bISA_SUBC_LD_SPRF                            1
    #define   MSK32ISA_SUBC_LD_SPRF                               0x00000001

    #define     BA_ISA_SUBC_LD_SPK8                            0x000C
    #define     B16ISA_SUBC_LD_SPK8                            0x000C
    #define   LSb32ISA_SUBC_LD_SPK8                               1
    #define   LSb16ISA_SUBC_LD_SPK8                               1
    #define       bISA_SUBC_LD_SPK8                            1
    #define   MSK32ISA_SUBC_LD_SPK8                               0x00000002

    #define     BA_ISA_SUBC_LD_SPJ                             0x000C
    #define     B16ISA_SUBC_LD_SPJ                             0x000C
    #define   LSb32ISA_SUBC_LD_SPJ                                2
    #define   LSb16ISA_SUBC_LD_SPJ                                2
    #define       bISA_SUBC_LD_SPJ                             1
    #define   MSK32ISA_SUBC_LD_SPJ                                0x00000004

    #define     BA_ISA_SUBC_LD_SP4S                            0x000C
    #define     B16ISA_SUBC_LD_SP4S                            0x000C
    #define   LSb32ISA_SUBC_LD_SP4S                               3
    #define   LSb16ISA_SUBC_LD_SP4S                               3
    #define       bISA_SUBC_LD_SP4S                            1
    #define   MSK32ISA_SUBC_LD_SP4S                               0x00000008

    #define     BA_ISA_SUBC_LD_SP8S                            0x000C
    #define     B16ISA_SUBC_LD_SP8S                            0x000C
    #define   LSb32ISA_SUBC_LD_SP8S                               4
    #define   LSb16ISA_SUBC_LD_SP8S                               4
    #define       bISA_SUBC_LD_SP8S                            1
    #define   MSK32ISA_SUBC_LD_SP8S                               0x00000010

    #define     BA_ISA_SUBC_LD_SP8U                            0x000C
    #define     B16ISA_SUBC_LD_SP8U                            0x000C
    #define   LSb32ISA_SUBC_LD_SP8U                               5
    #define   LSb16ISA_SUBC_LD_SP8U                               5
    #define       bISA_SUBC_LD_SP8U                            1
    #define   MSK32ISA_SUBC_LD_SP8U                               0x00000020

    #define     BA_ISA_SUBC_LD_SP12S                           0x000C
    #define     B16ISA_SUBC_LD_SP12S                           0x000C
    #define   LSb32ISA_SUBC_LD_SP12S                              6
    #define   LSb16ISA_SUBC_LD_SP12S                              6
    #define       bISA_SUBC_LD_SP12S                           1
    #define   MSK32ISA_SUBC_LD_SP12S                              0x00000040

    #define     BA_ISA_SUBC_LD_SP16                            0x000C
    #define     B16ISA_SUBC_LD_SP16                            0x000C
    #define   LSb32ISA_SUBC_LD_SP16                               7
    #define   LSb16ISA_SUBC_LD_SP16                               7
    #define       bISA_SUBC_LD_SP16                            1
    #define   MSK32ISA_SUBC_LD_SP16                               0x00000080

    #define     BA_ISA_SUBC_LD_TPRF                            0x000D
    #define     B16ISA_SUBC_LD_TPRF                            0x000C
    #define   LSb32ISA_SUBC_LD_TPRF                               8
    #define   LSb16ISA_SUBC_LD_TPRF                               8
    #define       bISA_SUBC_LD_TPRF                            1
    #define   MSK32ISA_SUBC_LD_TPRF                               0x00000100

    #define     BA_ISA_SUBC_LD_TPJ                             0x000D
    #define     B16ISA_SUBC_LD_TPJ                             0x000C
    #define   LSb32ISA_SUBC_LD_TPJ                                9
    #define   LSb16ISA_SUBC_LD_TPJ                                9
    #define       bISA_SUBC_LD_TPJ                             1
    #define   MSK32ISA_SUBC_LD_TPJ                                0x00000200

    #define     BA_ISA_SUBC_LD_TP4S                            0x000D
    #define     B16ISA_SUBC_LD_TP4S                            0x000C
    #define   LSb32ISA_SUBC_LD_TP4S                               10
    #define   LSb16ISA_SUBC_LD_TP4S                               10
    #define       bISA_SUBC_LD_TP4S                            1
    #define   MSK32ISA_SUBC_LD_TP4S                               0x00000400

    #define     BA_ISA_SUBC_LD_TP8L                            0x000D
    #define     B16ISA_SUBC_LD_TP8L                            0x000C
    #define   LSb32ISA_SUBC_LD_TP8L                               11
    #define   LSb16ISA_SUBC_LD_TP8L                               11
    #define       bISA_SUBC_LD_TP8L                            1
    #define   MSK32ISA_SUBC_LD_TP8L                               0x00000800

    #define     BA_ISA_SUBC_LD_TP8H                            0x000D
    #define     B16ISA_SUBC_LD_TP8H                            0x000C
    #define   LSb32ISA_SUBC_LD_TP8H                               12
    #define   LSb16ISA_SUBC_LD_TP8H                               12
    #define       bISA_SUBC_LD_TP8H                            1
    #define   MSK32ISA_SUBC_LD_TP8H                               0x00001000

    #define     BA_ISA_SUBC_LD_TP8LF                           0x000D
    #define     B16ISA_SUBC_LD_TP8LF                           0x000C
    #define   LSb32ISA_SUBC_LD_TP8LF                              13
    #define   LSb16ISA_SUBC_LD_TP8LF                              13
    #define       bISA_SUBC_LD_TP8LF                           1
    #define   MSK32ISA_SUBC_LD_TP8LF                              0x00002000

    #define     BA_ISA_SUBC_LD_TP8HF                           0x000D
    #define     B16ISA_SUBC_LD_TP8HF                           0x000C
    #define   LSb32ISA_SUBC_LD_TP8HF                              14
    #define   LSb16ISA_SUBC_LD_TP8HF                              14
    #define       bISA_SUBC_LD_TP8HF                           1
    #define   MSK32ISA_SUBC_LD_TP8HF                              0x00004000

    #define     BA_ISA_SUBC_LD_SQRF64                          0x000D
    #define     B16ISA_SUBC_LD_SQRF64                          0x000C
    #define   LSb32ISA_SUBC_LD_SQRF64                             15
    #define   LSb16ISA_SUBC_LD_SQRF64                             15
    #define       bISA_SUBC_LD_SQRF64                          1
    #define   MSK32ISA_SUBC_LD_SQRF64                             0x00008000

    #define     BA_ISA_SUBC_LD_TQRF16Q                         0x000E
    #define     B16ISA_SUBC_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_SUBC_LD_TQRF16Q                            16
    #define   LSb16ISA_SUBC_LD_TQRF16Q                            0
    #define       bISA_SUBC_LD_TQRF16Q                         1
    #define   MSK32ISA_SUBC_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_SUBC_LD_TQRFx4                          0x000E
    #define     B16ISA_SUBC_LD_TQRFx4                          0x000E
    #define   LSb32ISA_SUBC_LD_TQRFx4                             17
    #define   LSb16ISA_SUBC_LD_TQRFx4                             1
    #define       bISA_SUBC_LD_TQRFx4                          1
    #define   MSK32ISA_SUBC_LD_TQRFx4                             0x00020000

    #define     BA_ISA_SUBC_LD_RD                              0x000E
    #define     B16ISA_SUBC_LD_RD                              0x000E
    #define   LSb32ISA_SUBC_LD_RD                                 18
    #define   LSb16ISA_SUBC_LD_RD                                 2
    #define       bISA_SUBC_LD_RD                              1
    #define   MSK32ISA_SUBC_LD_RD                                 0x00040000

    #define     BA_ISA_SUBC_LD_WARF                            0x000E
    #define     B16ISA_SUBC_LD_WARF                            0x000E
    #define   LSb32ISA_SUBC_LD_WARF                               19
    #define   LSb16ISA_SUBC_LD_WARF                               3
    #define       bISA_SUBC_LD_WARF                            1
    #define   MSK32ISA_SUBC_LD_WARF                               0x00080000

    #define     BA_ISA_SUBC_LD_WAK8                            0x000E
    #define     B16ISA_SUBC_LD_WAK8                            0x000E
    #define   LSb32ISA_SUBC_LD_WAK8                               20
    #define   LSb16ISA_SUBC_LD_WAK8                               4
    #define       bISA_SUBC_LD_WAK8                            1
    #define   MSK32ISA_SUBC_LD_WAK8                               0x00100000

    #define     BA_ISA_SUBC_LD_WAK16                           0x000E
    #define     B16ISA_SUBC_LD_WAK16                           0x000E
    #define   LSb32ISA_SUBC_LD_WAK16                              21
    #define   LSb16ISA_SUBC_LD_WAK16                              5
    #define       bISA_SUBC_LD_WAK16                           1
    #define   MSK32ISA_SUBC_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_EX                                 0x0010

    #define     BA_ISA_SUBC_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagZ                         0
    #define   LSb16ISA_SUBC_EX_ALU16FlagZ                         0
    #define       bISA_SUBC_EX_ALU16FlagZ                      1
    #define   MSK32ISA_SUBC_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_SUBC_EX_ALU16FlagC                      0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagC                         1
    #define   LSb16ISA_SUBC_EX_ALU16FlagC                         1
    #define       bISA_SUBC_EX_ALU16FlagC                      1
    #define   MSK32ISA_SUBC_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_SUBC_EX_ALU16FlagN                      0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagN                         2
    #define   LSb16ISA_SUBC_EX_ALU16FlagN                         2
    #define       bISA_SUBC_EX_ALU16FlagN                      1
    #define   MSK32ISA_SUBC_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_SUBC_EX_ALU16FlagV                      0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagV                         3
    #define   LSb16ISA_SUBC_EX_ALU16FlagV                         3
    #define       bISA_SUBC_EX_ALU16FlagV                      1
    #define   MSK32ISA_SUBC_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_SUBC_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagTP                        4
    #define   LSb16ISA_SUBC_EX_ALU16FlagTP                        4
    #define       bISA_SUBC_EX_ALU16FlagTP                     1
    #define   MSK32ISA_SUBC_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_SUBC_EX_ALU16MUL                        0x0010
    #define     B16ISA_SUBC_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16MUL                           5
    #define   LSb16ISA_SUBC_EX_ALU16MUL                           5
    #define       bISA_SUBC_EX_ALU16MUL                        1
    #define   MSK32ISA_SUBC_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_SUBC_EX_ALU16DIV                        0x0010
    #define     B16ISA_SUBC_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16DIV                           6
    #define   LSb16ISA_SUBC_EX_ALU16DIV                           6
    #define       bISA_SUBC_EX_ALU16DIV                        1
    #define   MSK32ISA_SUBC_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_SUBC_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_SUBC_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_SUBC_EX_ALU16FlagLD                        7
    #define   LSb16ISA_SUBC_EX_ALU16FlagLD                        7
    #define       bISA_SUBC_EX_ALU16FlagLD                     1
    #define   MSK32ISA_SUBC_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_SUBC_EX_ALU16MDL                        0x0011
    #define     B16ISA_SUBC_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16MDL                           8
    #define   LSb16ISA_SUBC_EX_ALU16MDL                           8
    #define       bISA_SUBC_EX_ALU16MDL                        1
    #define   MSK32ISA_SUBC_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_SUBC_EX_ALU16MDH                        0x0011
    #define     B16ISA_SUBC_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16MDH                           9
    #define   LSb16ISA_SUBC_EX_ALU16MDH                           9
    #define       bISA_SUBC_EX_ALU16MDH                        1
    #define   MSK32ISA_SUBC_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_SUBC_EX_ALU16ADD                        0x0011
    #define     B16ISA_SUBC_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16ADD                           10
    #define   LSb16ISA_SUBC_EX_ALU16ADD                           10
    #define       bISA_SUBC_EX_ALU16ADD                        1
    #define   MSK32ISA_SUBC_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_SUBC_EX_ALU16SUB                        0x0011
    #define     B16ISA_SUBC_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16SUB                           11
    #define   LSb16ISA_SUBC_EX_ALU16SUB                           11
    #define       bISA_SUBC_EX_ALU16SUB                        1
    #define   MSK32ISA_SUBC_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_SUBC_EX_ALU16ADDC                       0x0011
    #define     B16ISA_SUBC_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_SUBC_EX_ALU16ADDC                          12
    #define   LSb16ISA_SUBC_EX_ALU16ADDC                          12
    #define       bISA_SUBC_EX_ALU16ADDC                       1
    #define   MSK32ISA_SUBC_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_SUBC_EX_ALU16SUBC                       0x0011
    #define     B16ISA_SUBC_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_SUBC_EX_ALU16SUBC                          13
    #define   LSb16ISA_SUBC_EX_ALU16SUBC                          13
    #define       bISA_SUBC_EX_ALU16SUBC                       1
    #define   MSK32ISA_SUBC_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_SUBC_EX_ALU16ASR                        0x0011
    #define     B16ISA_SUBC_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_SUBC_EX_ALU16ASR                           14
    #define   LSb16ISA_SUBC_EX_ALU16ASR                           14
    #define       bISA_SUBC_EX_ALU16ASR                        1
    #define   MSK32ISA_SUBC_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_SUBC_EX_ALU16SL                         0x0011
    #define     B16ISA_SUBC_EX_ALU16SL                         0x0010
    #define   LSb32ISA_SUBC_EX_ALU16SL                            15
    #define   LSb16ISA_SUBC_EX_ALU16SL                            15
    #define       bISA_SUBC_EX_ALU16SL                         1
    #define   MSK32ISA_SUBC_EX_ALU16SL                            0x00008000

    #define     BA_ISA_SUBC_EX_ALU16SR                         0x0012
    #define     B16ISA_SUBC_EX_ALU16SR                         0x0012
    #define   LSb32ISA_SUBC_EX_ALU16SR                            16
    #define   LSb16ISA_SUBC_EX_ALU16SR                            0
    #define       bISA_SUBC_EX_ALU16SR                         1
    #define   MSK32ISA_SUBC_EX_ALU16SR                            0x00010000

    #define     BA_ISA_SUBC_EX_ALU16GET                        0x0012
    #define     B16ISA_SUBC_EX_ALU16GET                        0x0012
    #define   LSb32ISA_SUBC_EX_ALU16GET                           17
    #define   LSb16ISA_SUBC_EX_ALU16GET                           1
    #define       bISA_SUBC_EX_ALU16GET                        1
    #define   MSK32ISA_SUBC_EX_ALU16GET                           0x00020000

    #define     BA_ISA_SUBC_EX_ALU16SET                        0x0012
    #define     B16ISA_SUBC_EX_ALU16SET                        0x0012
    #define   LSb32ISA_SUBC_EX_ALU16SET                           18
    #define   LSb16ISA_SUBC_EX_ALU16SET                           2
    #define       bISA_SUBC_EX_ALU16SET                        1
    #define   MSK32ISA_SUBC_EX_ALU16SET                           0x00040000

    #define     BA_ISA_SUBC_EX_ALU16SEL                        0x0012
    #define     B16ISA_SUBC_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_SUBC_EX_ALU16SEL                           19
    #define   LSb16ISA_SUBC_EX_ALU16SEL                           3
    #define       bISA_SUBC_EX_ALU16SEL                        1
    #define   MSK32ISA_SUBC_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_SUBC_EX_ALU16OR                         0x0012
    #define     B16ISA_SUBC_EX_ALU16OR                         0x0012
    #define   LSb32ISA_SUBC_EX_ALU16OR                            20
    #define   LSb16ISA_SUBC_EX_ALU16OR                            4
    #define       bISA_SUBC_EX_ALU16OR                         1
    #define   MSK32ISA_SUBC_EX_ALU16OR                            0x00100000

    #define     BA_ISA_SUBC_EX_ALU16AND                        0x0012
    #define     B16ISA_SUBC_EX_ALU16AND                        0x0012
    #define   LSb32ISA_SUBC_EX_ALU16AND                           21
    #define   LSb16ISA_SUBC_EX_ALU16AND                           5
    #define       bISA_SUBC_EX_ALU16AND                        1
    #define   MSK32ISA_SUBC_EX_ALU16AND                           0x00200000

    #define     BA_ISA_SUBC_EX_ALU16XOR                        0x0012
    #define     B16ISA_SUBC_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_SUBC_EX_ALU16XOR                           22
    #define   LSb16ISA_SUBC_EX_ALU16XOR                           6
    #define       bISA_SUBC_EX_ALU16XOR                        1
    #define   MSK32ISA_SUBC_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_SUBC_EX_ALU16SP                         0x0012
    #define     B16ISA_SUBC_EX_ALU16SP                         0x0012
    #define   LSb32ISA_SUBC_EX_ALU16SP                            23
    #define   LSb16ISA_SUBC_EX_ALU16SP                            7
    #define       bISA_SUBC_EX_ALU16SP                         1
    #define   MSK32ISA_SUBC_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_EXX                                0x0014

    #define     BA_ISA_SUBC_EXX_WRSQ                           0x0014
    #define     B16ISA_SUBC_EXX_WRSQ                           0x0014
    #define   LSb32ISA_SUBC_EXX_WRSQ                              0
    #define   LSb16ISA_SUBC_EXX_WRSQ                              0
    #define       bISA_SUBC_EXX_WRSQ                           1
    #define   MSK32ISA_SUBC_EXX_WRSQ                              0x00000001

    #define     BA_ISA_SUBC_EXX_WR16                           0x0014
    #define     B16ISA_SUBC_EXX_WR16                           0x0014
    #define   LSb32ISA_SUBC_EXX_WR16                              1
    #define   LSb16ISA_SUBC_EXX_WR16                              1
    #define       bISA_SUBC_EXX_WR16                           1
    #define   MSK32ISA_SUBC_EXX_WR16                              0x00000002

    #define     BA_ISA_SUBC_EXX_WRTQ                           0x0014
    #define     B16ISA_SUBC_EXX_WRTQ                           0x0014
    #define   LSb32ISA_SUBC_EXX_WRTQ                              2
    #define   LSb16ISA_SUBC_EXX_WRTQ                              2
    #define       bISA_SUBC_EXX_WRTQ                           1
    #define   MSK32ISA_SUBC_EXX_WRTQ                              0x00000004

    #define     BA_ISA_SUBC_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_SUBC_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_SUBC_EXX_ALU64PUSH                         3
    #define   LSb16ISA_SUBC_EXX_ALU64PUSH                         3
    #define       bISA_SUBC_EXX_ALU64PUSH                      1
    #define   MSK32ISA_SUBC_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_SUBC_EXX_ALU64POP                       0x0014
    #define     B16ISA_SUBC_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_SUBC_EXX_ALU64POP                          4
    #define   LSb16ISA_SUBC_EXX_ALU64POP                          4
    #define       bISA_SUBC_EXX_ALU64POP                       1
    #define   MSK32ISA_SUBC_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_SUBC_EXX_ALU64SQ                        0x0014
    #define     B16ISA_SUBC_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_SUBC_EXX_ALU64SQ                           5
    #define   LSb16ISA_SUBC_EXX_ALU64SQ                           5
    #define       bISA_SUBC_EXX_ALU64SQ                        1
    #define   MSK32ISA_SUBC_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_SUBC_EXX_ALU64TQ                        0x0014
    #define     B16ISA_SUBC_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_SUBC_EXX_ALU64TQ                           6
    #define   LSb16ISA_SUBC_EXX_ALU64TQ                           6
    #define       bISA_SUBC_EXX_ALU64TQ                        1
    #define   MSK32ISA_SUBC_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_SUBC_EXX_ALU64MEM                       0x0014
    #define     B16ISA_SUBC_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_SUBC_EXX_ALU64MEM                          7
    #define   LSb16ISA_SUBC_EXX_ALU64MEM                          7
    #define       bISA_SUBC_EXX_ALU64MEM                       1
    #define   MSK32ISA_SUBC_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_SUBC_EXX_BRANCH                         0x0015
    #define     B16ISA_SUBC_EXX_BRANCH                         0x0014
    #define   LSb32ISA_SUBC_EXX_BRANCH                            8
    #define   LSb16ISA_SUBC_EXX_BRANCH                            8
    #define       bISA_SUBC_EXX_BRANCH                         1
    #define   MSK32ISA_SUBC_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SUBC_WB                                 0x0018

    #define     BA_ISA_SUBC_WB_RF16                            0x0018
    #define     B16ISA_SUBC_WB_RF16                            0x0018
    #define   LSb32ISA_SUBC_WB_RF16                               0
    #define   LSb16ISA_SUBC_WB_RF16                               0
    #define       bISA_SUBC_WB_RF16                            1
    #define   MSK32ISA_SUBC_WB_RF16                               0x00000001

    #define     BA_ISA_SUBC_WB_RF16W0                          0x0018
    #define     B16ISA_SUBC_WB_RF16W0                          0x0018
    #define   LSb32ISA_SUBC_WB_RF16W0                             1
    #define   LSb16ISA_SUBC_WB_RF16W0                             1
    #define       bISA_SUBC_WB_RF16W0                          1
    #define   MSK32ISA_SUBC_WB_RF16W0                             0x00000002

    #define     BA_ISA_SUBC_WB_RF16MEM                         0x0018
    #define     B16ISA_SUBC_WB_RF16MEM                         0x0018
    #define   LSb32ISA_SUBC_WB_RF16MEM                            2
    #define   LSb16ISA_SUBC_WB_RF16MEM                            2
    #define       bISA_SUBC_WB_RF16MEM                         1
    #define   MSK32ISA_SUBC_WB_RF16MEM                            0x00000004

    #define     BA_ISA_SUBC_WB_RF16Q                           0x0018
    #define     B16ISA_SUBC_WB_RF16Q                           0x0018
    #define   LSb32ISA_SUBC_WB_RF16Q                              3
    #define   LSb16ISA_SUBC_WB_RF16Q                              3
    #define       bISA_SUBC_WB_RF16Q                           1
    #define   MSK32ISA_SUBC_WB_RF16Q                              0x00000008

    #define     BA_ISA_SUBC_WB_RF64                            0x0018
    #define     B16ISA_SUBC_WB_RF64                            0x0018
    #define   LSb32ISA_SUBC_WB_RF64                               4
    #define   LSb16ISA_SUBC_WB_RF64                               4
    #define       bISA_SUBC_WB_RF64                            1
    #define   MSK32ISA_SUBC_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SUBC {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SUBC_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUBC_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUBC_Mask;
            struct w32ISA_SUBC_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_SUBC_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_SUBC_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SUBC_Opcode;
            struct w32ISA_SUBC_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBC_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBC_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBC_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBC_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBC_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBC_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBC_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBC_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBC_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBC_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBC_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBC_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBC_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBC_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBC_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBC_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBC_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBC_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBC_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBC_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUBC_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SUBC_ID;
            struct w32ISA_SUBC_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBC_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBC_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBC_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBC_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBC_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBC_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBC_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBC_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBC_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBC_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBC_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBC_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBC_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBC_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBC_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBC_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBC_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBC_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBC_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBC_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBC_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBC_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBC_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBC_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUBC_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUBC_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUBC_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUBC_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUBC_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_SUBC_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUBC_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_SUBC_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUBC_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_SUBC_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUBC_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_SUBC_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUBC_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_SUBC_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUBC_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_SUBC_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUBC_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_SUBC_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUBC_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_SUBC_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUBC_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_SUBC_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUBC_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_SUBC_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUBC_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SUBC_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUBC_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SUBC_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUBC_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SUBC_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUBC_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SUBC_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUBC_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_SUBC_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUBC_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_SUBC_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUBC_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_SUBC_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUBC_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_SUBC_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUBC_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SUBC_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SUBC_LD;
            struct w32ISA_SUBC_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBC_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBC_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBC_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBC_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBC_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBC_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBC_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBC_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBC_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBC_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBC_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBC_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBC_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBC_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBC_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBC_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBC_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBC_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBC_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SUBC_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_SUBC_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SUBC_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_SUBC_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SUBC_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_SUBC_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_SUBC_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_SUBC_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_SUBC_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_SUBC_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_SUBC_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_SUBC_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_SUBC_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_SUBC_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_SUBC_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_SUBC_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_SUBC_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_SUBC_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_SUBC_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_SUBC_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_SUBC_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_SUBC_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_SUBC_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_SUBC_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_SUBC_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_SUBC_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_SUBC_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_SUBC_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_SUBC_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_SUBC_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_SUBC_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_SUBC_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_SUBC_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_SUBC_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_SUBC_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_SUBC_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_SUBC_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_SUBC_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_SUBC_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_SUBC_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_SUBC_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBC_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_SUBC_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_SUBC_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBC_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBC_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_SUBC_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_SUBC_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBC_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SUBC_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SUBC_EX;
            struct w32ISA_SUBC_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBC_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBC_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBC_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBC_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBC_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBC_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBC_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBC_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBC_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBC_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SUBC_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_SUBC_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SUBC_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SUBC_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SUBC_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SUBC_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SUBC_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SUBC_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SUBC_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SUBC_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SUBC_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SUBC_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SUBC_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SUBC_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SUBC_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SUBC_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SUBC_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SUBC_EXX;
            struct w32ISA_SUBC_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SUBC_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SUBC_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SUBC_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SUBC_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SUBC_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_SUBC_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SUBC_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SUBC_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SUBC_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_SUBC_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SUBC_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SUBC_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SUBC_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_SUBC_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SUBC_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_SUBC_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SUBC_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SUBC_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SUBC_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SUBC_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SUBC_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SUBC_WB;
            struct w32ISA_SUBC_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SUBC;

    typedef union  T32ISA_SUBC_Mask
          { UNSG32 u32;
            struct w32ISA_SUBC_Mask;
                 } T32ISA_SUBC_Mask;
    typedef union  T32ISA_SUBC_Opcode
          { UNSG32 u32;
            struct w32ISA_SUBC_Opcode;
                 } T32ISA_SUBC_Opcode;
    typedef union  T32ISA_SUBC_ID
          { UNSG32 u32;
            struct w32ISA_SUBC_ID;
                 } T32ISA_SUBC_ID;
    typedef union  T32ISA_SUBC_LD
          { UNSG32 u32;
            struct w32ISA_SUBC_LD;
                 } T32ISA_SUBC_LD;
    typedef union  T32ISA_SUBC_EX
          { UNSG32 u32;
            struct w32ISA_SUBC_EX;
                 } T32ISA_SUBC_EX;
    typedef union  T32ISA_SUBC_EXX
          { UNSG32 u32;
            struct w32ISA_SUBC_EXX;
                 } T32ISA_SUBC_EXX;
    typedef union  T32ISA_SUBC_WB
          { UNSG32 u32;
            struct w32ISA_SUBC_WB;
                 } T32ISA_SUBC_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SUBC_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_Mask;
                   };
                 } TISA_SUBC_Mask;
    typedef union  TISA_SUBC_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_Opcode;
                   };
                 } TISA_SUBC_Opcode;
    typedef union  TISA_SUBC_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_ID;
                   };
                 } TISA_SUBC_ID;
    typedef union  TISA_SUBC_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_LD;
                   };
                 } TISA_SUBC_LD;
    typedef union  TISA_SUBC_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_EX;
                   };
                 } TISA_SUBC_EX;
    typedef union  TISA_SUBC_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_EXX;
                   };
                 } TISA_SUBC_EXX;
    typedef union  TISA_SUBC_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SUBC_WB;
                   };
                 } TISA_SUBC_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SUBC_drvrd(SIE_ISA_SUBC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SUBC_drvwr(SIE_ISA_SUBC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SUBC_reset(SIE_ISA_SUBC *p);
     SIGN32 ISA_SUBC_cmp  (SIE_ISA_SUBC *p, SIE_ISA_SUBC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SUBC_check(p,pie,pfx,hLOG) ISA_SUBC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SUBC_print(p,    pfx,hLOG) ISA_SUBC_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SUBC
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_MULi                                 (4,4)
///     ###
///     * Multiply a register with an immediate number in [0,255], store result to { MDH[15:0], MDL[15:0] }.
///     * Note: multiplication is a multi-stage operation, without output destination.
///     * It doesn't stall pipeline, will provide valid bit along with its result when ready.
///     * If another MUL/DIV instruction comes, the previous result (ready or not ready) will be discarded.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2E0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "MUL.i"   , "rS,C"        , "0010 1110 SSSS CCCC CCCC ----" } ,
///                                    * - Usage:
///                                    * -    MUL.i    %a1, 3          ; {MDH,MDL} = %a1 * 3;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  0x1
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_MULi
#define h_ISA_MULi (){}

    #define     RA_ISA_MULi_Mask                               0x0000

    #define     BA_ISA_MULi_Mask_INS                           0x0000
    #define     B16ISA_MULi_Mask_INS                           0x0000
    #define   LSb32ISA_MULi_Mask_INS                              0
    #define   LSb16ISA_MULi_Mask_INS                              0
    #define       bISA_MULi_Mask_INS                           24
    #define   MSK32ISA_MULi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_Opcode                             0x0004

    #define     BA_ISA_MULi_Opcode_INS                         0x0004
    #define     B16ISA_MULi_Opcode_INS                         0x0004
    #define   LSb32ISA_MULi_Opcode_INS                            0
    #define   LSb16ISA_MULi_Opcode_INS                            0
    #define       bISA_MULi_Opcode_INS                         24
    #define   MSK32ISA_MULi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_ID                                 0x0008

    #define     BA_ISA_MULi_ID_RBRF                            0x0008
    #define     B16ISA_MULi_ID_RBRF                            0x0008
    #define   LSb32ISA_MULi_ID_RBRF                               0
    #define   LSb16ISA_MULi_ID_RBRF                               0
    #define       bISA_MULi_ID_RBRF                            1
    #define   MSK32ISA_MULi_ID_RBRF                               0x00000001

    #define     BA_ISA_MULi_ID_RARF                            0x0008
    #define     B16ISA_MULi_ID_RARF                            0x0008
    #define   LSb32ISA_MULi_ID_RARF                               1
    #define   LSb16ISA_MULi_ID_RARF                               1
    #define       bISA_MULi_ID_RARF                            1
    #define   MSK32ISA_MULi_ID_RARF                               0x00000002

    #define     BA_ISA_MULi_ID_RAK8                            0x0008
    #define     B16ISA_MULi_ID_RAK8                            0x0008
    #define   LSb32ISA_MULi_ID_RAK8                               2
    #define   LSb16ISA_MULi_ID_RAK8                               2
    #define       bISA_MULi_ID_RAK8                            1
    #define   MSK32ISA_MULi_ID_RAK8                               0x00000004

    #define     BA_ISA_MULi_ID_RAI16                           0x0008
    #define     B16ISA_MULi_ID_RAI16                           0x0008
    #define   LSb32ISA_MULi_ID_RAI16                              3
    #define   LSb16ISA_MULi_ID_RAI16                              3
    #define       bISA_MULi_ID_RAI16                           1
    #define   MSK32ISA_MULi_ID_RAI16                              0x00000008

    #define     BA_ISA_MULi_ID_RAK16                           0x0008
    #define     B16ISA_MULi_ID_RAK16                           0x0008
    #define   LSb32ISA_MULi_ID_RAK16                              4
    #define   LSb16ISA_MULi_ID_RAK16                              4
    #define       bISA_MULi_ID_RAK16                           1
    #define   MSK32ISA_MULi_ID_RAK16                              0x00000010

    #define     BA_ISA_MULi_ID_RFSP                            0x0008
    #define     B16ISA_MULi_ID_RFSP                            0x0008
    #define   LSb32ISA_MULi_ID_RFSP                               5
    #define   LSb16ISA_MULi_ID_RFSP                               5
    #define       bISA_MULi_ID_RFSP                            1
    #define   MSK32ISA_MULi_ID_RFSP                               0x00000020

    #define     BA_ISA_MULi_ID_W4D4                            0x0008
    #define     B16ISA_MULi_ID_W4D4                            0x0008
    #define   LSb32ISA_MULi_ID_W4D4                               6
    #define   LSb16ISA_MULi_ID_W4D4                               6
    #define       bISA_MULi_ID_W4D4                            1
    #define   MSK32ISA_MULi_ID_W4D4                               0x00000040

    #define     BA_ISA_MULi_ID_W4S4                            0x0008
    #define     B16ISA_MULi_ID_W4S4                            0x0008
    #define   LSb32ISA_MULi_ID_W4S4                               7
    #define   LSb16ISA_MULi_ID_W4S4                               7
    #define       bISA_MULi_ID_W4S4                            1
    #define   MSK32ISA_MULi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_LD                                 0x000C

    #define     BA_ISA_MULi_LD_SPRF                            0x000C
    #define     B16ISA_MULi_LD_SPRF                            0x000C
    #define   LSb32ISA_MULi_LD_SPRF                               0
    #define   LSb16ISA_MULi_LD_SPRF                               0
    #define       bISA_MULi_LD_SPRF                            1
    #define   MSK32ISA_MULi_LD_SPRF                               0x00000001

    #define     BA_ISA_MULi_LD_SPK8                            0x000C
    #define     B16ISA_MULi_LD_SPK8                            0x000C
    #define   LSb32ISA_MULi_LD_SPK8                               1
    #define   LSb16ISA_MULi_LD_SPK8                               1
    #define       bISA_MULi_LD_SPK8                            1
    #define   MSK32ISA_MULi_LD_SPK8                               0x00000002

    #define     BA_ISA_MULi_LD_SPJ                             0x000C
    #define     B16ISA_MULi_LD_SPJ                             0x000C
    #define   LSb32ISA_MULi_LD_SPJ                                2
    #define   LSb16ISA_MULi_LD_SPJ                                2
    #define       bISA_MULi_LD_SPJ                             1
    #define   MSK32ISA_MULi_LD_SPJ                                0x00000004

    #define     BA_ISA_MULi_LD_SP4S                            0x000C
    #define     B16ISA_MULi_LD_SP4S                            0x000C
    #define   LSb32ISA_MULi_LD_SP4S                               3
    #define   LSb16ISA_MULi_LD_SP4S                               3
    #define       bISA_MULi_LD_SP4S                            1
    #define   MSK32ISA_MULi_LD_SP4S                               0x00000008

    #define     BA_ISA_MULi_LD_SP8S                            0x000C
    #define     B16ISA_MULi_LD_SP8S                            0x000C
    #define   LSb32ISA_MULi_LD_SP8S                               4
    #define   LSb16ISA_MULi_LD_SP8S                               4
    #define       bISA_MULi_LD_SP8S                            1
    #define   MSK32ISA_MULi_LD_SP8S                               0x00000010

    #define     BA_ISA_MULi_LD_SP8U                            0x000C
    #define     B16ISA_MULi_LD_SP8U                            0x000C
    #define   LSb32ISA_MULi_LD_SP8U                               5
    #define   LSb16ISA_MULi_LD_SP8U                               5
    #define       bISA_MULi_LD_SP8U                            1
    #define   MSK32ISA_MULi_LD_SP8U                               0x00000020

    #define     BA_ISA_MULi_LD_SP12S                           0x000C
    #define     B16ISA_MULi_LD_SP12S                           0x000C
    #define   LSb32ISA_MULi_LD_SP12S                              6
    #define   LSb16ISA_MULi_LD_SP12S                              6
    #define       bISA_MULi_LD_SP12S                           1
    #define   MSK32ISA_MULi_LD_SP12S                              0x00000040

    #define     BA_ISA_MULi_LD_SP16                            0x000C
    #define     B16ISA_MULi_LD_SP16                            0x000C
    #define   LSb32ISA_MULi_LD_SP16                               7
    #define   LSb16ISA_MULi_LD_SP16                               7
    #define       bISA_MULi_LD_SP16                            1
    #define   MSK32ISA_MULi_LD_SP16                               0x00000080

    #define     BA_ISA_MULi_LD_TPRF                            0x000D
    #define     B16ISA_MULi_LD_TPRF                            0x000C
    #define   LSb32ISA_MULi_LD_TPRF                               8
    #define   LSb16ISA_MULi_LD_TPRF                               8
    #define       bISA_MULi_LD_TPRF                            1
    #define   MSK32ISA_MULi_LD_TPRF                               0x00000100

    #define     BA_ISA_MULi_LD_TPJ                             0x000D
    #define     B16ISA_MULi_LD_TPJ                             0x000C
    #define   LSb32ISA_MULi_LD_TPJ                                9
    #define   LSb16ISA_MULi_LD_TPJ                                9
    #define       bISA_MULi_LD_TPJ                             1
    #define   MSK32ISA_MULi_LD_TPJ                                0x00000200

    #define     BA_ISA_MULi_LD_TP4S                            0x000D
    #define     B16ISA_MULi_LD_TP4S                            0x000C
    #define   LSb32ISA_MULi_LD_TP4S                               10
    #define   LSb16ISA_MULi_LD_TP4S                               10
    #define       bISA_MULi_LD_TP4S                            1
    #define   MSK32ISA_MULi_LD_TP4S                               0x00000400

    #define     BA_ISA_MULi_LD_TP8L                            0x000D
    #define     B16ISA_MULi_LD_TP8L                            0x000C
    #define   LSb32ISA_MULi_LD_TP8L                               11
    #define   LSb16ISA_MULi_LD_TP8L                               11
    #define       bISA_MULi_LD_TP8L                            1
    #define   MSK32ISA_MULi_LD_TP8L                               0x00000800

    #define     BA_ISA_MULi_LD_TP8H                            0x000D
    #define     B16ISA_MULi_LD_TP8H                            0x000C
    #define   LSb32ISA_MULi_LD_TP8H                               12
    #define   LSb16ISA_MULi_LD_TP8H                               12
    #define       bISA_MULi_LD_TP8H                            1
    #define   MSK32ISA_MULi_LD_TP8H                               0x00001000

    #define     BA_ISA_MULi_LD_TP8LF                           0x000D
    #define     B16ISA_MULi_LD_TP8LF                           0x000C
    #define   LSb32ISA_MULi_LD_TP8LF                              13
    #define   LSb16ISA_MULi_LD_TP8LF                              13
    #define       bISA_MULi_LD_TP8LF                           1
    #define   MSK32ISA_MULi_LD_TP8LF                              0x00002000

    #define     BA_ISA_MULi_LD_TP8HF                           0x000D
    #define     B16ISA_MULi_LD_TP8HF                           0x000C
    #define   LSb32ISA_MULi_LD_TP8HF                              14
    #define   LSb16ISA_MULi_LD_TP8HF                              14
    #define       bISA_MULi_LD_TP8HF                           1
    #define   MSK32ISA_MULi_LD_TP8HF                              0x00004000

    #define     BA_ISA_MULi_LD_SQRF64                          0x000D
    #define     B16ISA_MULi_LD_SQRF64                          0x000C
    #define   LSb32ISA_MULi_LD_SQRF64                             15
    #define   LSb16ISA_MULi_LD_SQRF64                             15
    #define       bISA_MULi_LD_SQRF64                          1
    #define   MSK32ISA_MULi_LD_SQRF64                             0x00008000

    #define     BA_ISA_MULi_LD_TQRF16Q                         0x000E
    #define     B16ISA_MULi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_MULi_LD_TQRF16Q                            16
    #define   LSb16ISA_MULi_LD_TQRF16Q                            0
    #define       bISA_MULi_LD_TQRF16Q                         1
    #define   MSK32ISA_MULi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_MULi_LD_TQRFx4                          0x000E
    #define     B16ISA_MULi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_MULi_LD_TQRFx4                             17
    #define   LSb16ISA_MULi_LD_TQRFx4                             1
    #define       bISA_MULi_LD_TQRFx4                          1
    #define   MSK32ISA_MULi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_MULi_LD_RD                              0x000E
    #define     B16ISA_MULi_LD_RD                              0x000E
    #define   LSb32ISA_MULi_LD_RD                                 18
    #define   LSb16ISA_MULi_LD_RD                                 2
    #define       bISA_MULi_LD_RD                              1
    #define   MSK32ISA_MULi_LD_RD                                 0x00040000

    #define     BA_ISA_MULi_LD_WARF                            0x000E
    #define     B16ISA_MULi_LD_WARF                            0x000E
    #define   LSb32ISA_MULi_LD_WARF                               19
    #define   LSb16ISA_MULi_LD_WARF                               3
    #define       bISA_MULi_LD_WARF                            1
    #define   MSK32ISA_MULi_LD_WARF                               0x00080000

    #define     BA_ISA_MULi_LD_WAK8                            0x000E
    #define     B16ISA_MULi_LD_WAK8                            0x000E
    #define   LSb32ISA_MULi_LD_WAK8                               20
    #define   LSb16ISA_MULi_LD_WAK8                               4
    #define       bISA_MULi_LD_WAK8                            1
    #define   MSK32ISA_MULi_LD_WAK8                               0x00100000

    #define     BA_ISA_MULi_LD_WAK16                           0x000E
    #define     B16ISA_MULi_LD_WAK16                           0x000E
    #define   LSb32ISA_MULi_LD_WAK16                              21
    #define   LSb16ISA_MULi_LD_WAK16                              5
    #define       bISA_MULi_LD_WAK16                           1
    #define   MSK32ISA_MULi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_EX                                 0x0010

    #define     BA_ISA_MULi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_MULi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_MULi_EX_ALU16FlagZ                         0
    #define       bISA_MULi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_MULi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_MULi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_MULi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagC                         1
    #define   LSb16ISA_MULi_EX_ALU16FlagC                         1
    #define       bISA_MULi_EX_ALU16FlagC                      1
    #define   MSK32ISA_MULi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_MULi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_MULi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagN                         2
    #define   LSb16ISA_MULi_EX_ALU16FlagN                         2
    #define       bISA_MULi_EX_ALU16FlagN                      1
    #define   MSK32ISA_MULi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_MULi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_MULi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagV                         3
    #define   LSb16ISA_MULi_EX_ALU16FlagV                         3
    #define       bISA_MULi_EX_ALU16FlagV                      1
    #define   MSK32ISA_MULi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_MULi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_MULi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_MULi_EX_ALU16FlagTP                        4
    #define       bISA_MULi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_MULi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_MULi_EX_ALU16MUL                        0x0010
    #define     B16ISA_MULi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16MUL                           5
    #define   LSb16ISA_MULi_EX_ALU16MUL                           5
    #define       bISA_MULi_EX_ALU16MUL                        1
    #define   MSK32ISA_MULi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_MULi_EX_ALU16DIV                        0x0010
    #define     B16ISA_MULi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16DIV                           6
    #define   LSb16ISA_MULi_EX_ALU16DIV                           6
    #define       bISA_MULi_EX_ALU16DIV                        1
    #define   MSK32ISA_MULi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_MULi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_MULi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_MULi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_MULi_EX_ALU16FlagLD                        7
    #define       bISA_MULi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_MULi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_MULi_EX_ALU16MDL                        0x0011
    #define     B16ISA_MULi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16MDL                           8
    #define   LSb16ISA_MULi_EX_ALU16MDL                           8
    #define       bISA_MULi_EX_ALU16MDL                        1
    #define   MSK32ISA_MULi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_MULi_EX_ALU16MDH                        0x0011
    #define     B16ISA_MULi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16MDH                           9
    #define   LSb16ISA_MULi_EX_ALU16MDH                           9
    #define       bISA_MULi_EX_ALU16MDH                        1
    #define   MSK32ISA_MULi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_MULi_EX_ALU16ADD                        0x0011
    #define     B16ISA_MULi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16ADD                           10
    #define   LSb16ISA_MULi_EX_ALU16ADD                           10
    #define       bISA_MULi_EX_ALU16ADD                        1
    #define   MSK32ISA_MULi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_MULi_EX_ALU16SUB                        0x0011
    #define     B16ISA_MULi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16SUB                           11
    #define   LSb16ISA_MULi_EX_ALU16SUB                           11
    #define       bISA_MULi_EX_ALU16SUB                        1
    #define   MSK32ISA_MULi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_MULi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_MULi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_MULi_EX_ALU16ADDC                          12
    #define   LSb16ISA_MULi_EX_ALU16ADDC                          12
    #define       bISA_MULi_EX_ALU16ADDC                       1
    #define   MSK32ISA_MULi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_MULi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_MULi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_MULi_EX_ALU16SUBC                          13
    #define   LSb16ISA_MULi_EX_ALU16SUBC                          13
    #define       bISA_MULi_EX_ALU16SUBC                       1
    #define   MSK32ISA_MULi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_MULi_EX_ALU16ASR                        0x0011
    #define     B16ISA_MULi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_MULi_EX_ALU16ASR                           14
    #define   LSb16ISA_MULi_EX_ALU16ASR                           14
    #define       bISA_MULi_EX_ALU16ASR                        1
    #define   MSK32ISA_MULi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_MULi_EX_ALU16SL                         0x0011
    #define     B16ISA_MULi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_MULi_EX_ALU16SL                            15
    #define   LSb16ISA_MULi_EX_ALU16SL                            15
    #define       bISA_MULi_EX_ALU16SL                         1
    #define   MSK32ISA_MULi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_MULi_EX_ALU16SR                         0x0012
    #define     B16ISA_MULi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_MULi_EX_ALU16SR                            16
    #define   LSb16ISA_MULi_EX_ALU16SR                            0
    #define       bISA_MULi_EX_ALU16SR                         1
    #define   MSK32ISA_MULi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_MULi_EX_ALU16GET                        0x0012
    #define     B16ISA_MULi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_MULi_EX_ALU16GET                           17
    #define   LSb16ISA_MULi_EX_ALU16GET                           1
    #define       bISA_MULi_EX_ALU16GET                        1
    #define   MSK32ISA_MULi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_MULi_EX_ALU16SET                        0x0012
    #define     B16ISA_MULi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_MULi_EX_ALU16SET                           18
    #define   LSb16ISA_MULi_EX_ALU16SET                           2
    #define       bISA_MULi_EX_ALU16SET                        1
    #define   MSK32ISA_MULi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_MULi_EX_ALU16SEL                        0x0012
    #define     B16ISA_MULi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_MULi_EX_ALU16SEL                           19
    #define   LSb16ISA_MULi_EX_ALU16SEL                           3
    #define       bISA_MULi_EX_ALU16SEL                        1
    #define   MSK32ISA_MULi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_MULi_EX_ALU16OR                         0x0012
    #define     B16ISA_MULi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_MULi_EX_ALU16OR                            20
    #define   LSb16ISA_MULi_EX_ALU16OR                            4
    #define       bISA_MULi_EX_ALU16OR                         1
    #define   MSK32ISA_MULi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_MULi_EX_ALU16AND                        0x0012
    #define     B16ISA_MULi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_MULi_EX_ALU16AND                           21
    #define   LSb16ISA_MULi_EX_ALU16AND                           5
    #define       bISA_MULi_EX_ALU16AND                        1
    #define   MSK32ISA_MULi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_MULi_EX_ALU16XOR                        0x0012
    #define     B16ISA_MULi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_MULi_EX_ALU16XOR                           22
    #define   LSb16ISA_MULi_EX_ALU16XOR                           6
    #define       bISA_MULi_EX_ALU16XOR                        1
    #define   MSK32ISA_MULi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_MULi_EX_ALU16SP                         0x0012
    #define     B16ISA_MULi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_MULi_EX_ALU16SP                            23
    #define   LSb16ISA_MULi_EX_ALU16SP                            7
    #define       bISA_MULi_EX_ALU16SP                         1
    #define   MSK32ISA_MULi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_EXX                                0x0014

    #define     BA_ISA_MULi_EXX_WRSQ                           0x0014
    #define     B16ISA_MULi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_MULi_EXX_WRSQ                              0
    #define   LSb16ISA_MULi_EXX_WRSQ                              0
    #define       bISA_MULi_EXX_WRSQ                           1
    #define   MSK32ISA_MULi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_MULi_EXX_WR16                           0x0014
    #define     B16ISA_MULi_EXX_WR16                           0x0014
    #define   LSb32ISA_MULi_EXX_WR16                              1
    #define   LSb16ISA_MULi_EXX_WR16                              1
    #define       bISA_MULi_EXX_WR16                           1
    #define   MSK32ISA_MULi_EXX_WR16                              0x00000002

    #define     BA_ISA_MULi_EXX_WRTQ                           0x0014
    #define     B16ISA_MULi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_MULi_EXX_WRTQ                              2
    #define   LSb16ISA_MULi_EXX_WRTQ                              2
    #define       bISA_MULi_EXX_WRTQ                           1
    #define   MSK32ISA_MULi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_MULi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_MULi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_MULi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_MULi_EXX_ALU64PUSH                         3
    #define       bISA_MULi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_MULi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_MULi_EXX_ALU64POP                       0x0014
    #define     B16ISA_MULi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_MULi_EXX_ALU64POP                          4
    #define   LSb16ISA_MULi_EXX_ALU64POP                          4
    #define       bISA_MULi_EXX_ALU64POP                       1
    #define   MSK32ISA_MULi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_MULi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_MULi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_MULi_EXX_ALU64SQ                           5
    #define   LSb16ISA_MULi_EXX_ALU64SQ                           5
    #define       bISA_MULi_EXX_ALU64SQ                        1
    #define   MSK32ISA_MULi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_MULi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_MULi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_MULi_EXX_ALU64TQ                           6
    #define   LSb16ISA_MULi_EXX_ALU64TQ                           6
    #define       bISA_MULi_EXX_ALU64TQ                        1
    #define   MSK32ISA_MULi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_MULi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_MULi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_MULi_EXX_ALU64MEM                          7
    #define   LSb16ISA_MULi_EXX_ALU64MEM                          7
    #define       bISA_MULi_EXX_ALU64MEM                       1
    #define   MSK32ISA_MULi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_MULi_EXX_BRANCH                         0x0015
    #define     B16ISA_MULi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_MULi_EXX_BRANCH                            8
    #define   LSb16ISA_MULi_EXX_BRANCH                            8
    #define       bISA_MULi_EXX_BRANCH                         1
    #define   MSK32ISA_MULi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MULi_WB                                 0x0018

    #define     BA_ISA_MULi_WB_RF16                            0x0018
    #define     B16ISA_MULi_WB_RF16                            0x0018
    #define   LSb32ISA_MULi_WB_RF16                               0
    #define   LSb16ISA_MULi_WB_RF16                               0
    #define       bISA_MULi_WB_RF16                            1
    #define   MSK32ISA_MULi_WB_RF16                               0x00000001

    #define     BA_ISA_MULi_WB_RF16W0                          0x0018
    #define     B16ISA_MULi_WB_RF16W0                          0x0018
    #define   LSb32ISA_MULi_WB_RF16W0                             1
    #define   LSb16ISA_MULi_WB_RF16W0                             1
    #define       bISA_MULi_WB_RF16W0                          1
    #define   MSK32ISA_MULi_WB_RF16W0                             0x00000002

    #define     BA_ISA_MULi_WB_RF16MEM                         0x0018
    #define     B16ISA_MULi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_MULi_WB_RF16MEM                            2
    #define   LSb16ISA_MULi_WB_RF16MEM                            2
    #define       bISA_MULi_WB_RF16MEM                         1
    #define   MSK32ISA_MULi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_MULi_WB_RF16Q                           0x0018
    #define     B16ISA_MULi_WB_RF16Q                           0x0018
    #define   LSb32ISA_MULi_WB_RF16Q                              3
    #define   LSb16ISA_MULi_WB_RF16Q                              3
    #define       bISA_MULi_WB_RF16Q                           1
    #define   MSK32ISA_MULi_WB_RF16Q                              0x00000008

    #define     BA_ISA_MULi_WB_RF64                            0x0018
    #define     B16ISA_MULi_WB_RF64                            0x0018
    #define   LSb32ISA_MULi_WB_RF64                               4
    #define   LSb16ISA_MULi_WB_RF64                               4
    #define       bISA_MULi_WB_RF64                            1
    #define   MSK32ISA_MULi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_MULi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_MULi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_MULi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_MULi_Mask;
            struct w32ISA_MULi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_MULi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_MULi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_MULi_Opcode;
            struct w32ISA_MULi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_MULi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MULi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_MULi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MULi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_MULi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MULi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_MULi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MULi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_MULi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MULi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_MULi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MULi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MULi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_MULi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MULi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_MULi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MULi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_MULi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MULi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_MULi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_MULi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_MULi_ID;
            struct w32ISA_MULi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_MULi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MULi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_MULi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MULi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_MULi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MULi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_MULi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MULi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_MULi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MULi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_MULi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MULi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MULi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_MULi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MULi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_MULi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MULi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_MULi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MULi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_MULi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MULi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_MULi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MULi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_MULi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_MULi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_MULi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_MULi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_MULi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_MULi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_MULi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_MULi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_MULi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_MULi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_MULi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_MULi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_MULi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_MULi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_MULi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_MULi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_MULi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_MULi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_MULi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_MULi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_MULi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_MULi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_MULi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_MULi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_MULi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_MULi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_MULi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_MULi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_MULi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_MULi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_MULi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_MULi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_MULi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_MULi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_MULi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_MULi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_MULi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_MULi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_MULi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_MULi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_MULi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_MULi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_MULi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_MULi_LD;
            struct w32ISA_MULi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_MULi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MULi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_MULi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MULi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_MULi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MULi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_MULi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MULi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_MULi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MULi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_MULi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MULi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MULi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_MULi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MULi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_MULi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MULi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_MULi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MULi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_MULi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MULi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_MULi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MULi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_MULi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_MULi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_MULi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_MULi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_MULi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_MULi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_MULi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_MULi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_MULi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_MULi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_MULi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_MULi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_MULi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_MULi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_MULi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_MULi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_MULi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_MULi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_MULi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_MULi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_MULi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_MULi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_MULi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_MULi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_MULi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_MULi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_MULi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_MULi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_MULi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_MULi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_MULi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_MULi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_MULi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_MULi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_MULi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_MULi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_MULi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_MULi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_MULi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_MULi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_MULi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_MULi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MULi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_MULi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_MULi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_MULi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MULi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_MULi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_MULi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_MULi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_MULi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_MULi_EX;
            struct w32ISA_MULi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_MULi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MULi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_MULi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MULi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_MULi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MULi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_MULi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MULi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_MULi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MULi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MULi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_MULi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MULi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_MULi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MULi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_MULi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MULi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_MULi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MULi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_MULi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MULi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_MULi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MULi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_MULi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MULi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_MULi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_MULi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_MULi_EXX;
            struct w32ISA_MULi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MULi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_MULi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MULi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_MULi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MULi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_MULi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MULi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_MULi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MULi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_MULi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MULi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_MULi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MULi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_MULi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MULi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_MULi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MULi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_MULi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MULi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_MULi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_MULi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_MULi_WB;
            struct w32ISA_MULi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_MULi;

    typedef union  T32ISA_MULi_Mask
          { UNSG32 u32;
            struct w32ISA_MULi_Mask;
                 } T32ISA_MULi_Mask;
    typedef union  T32ISA_MULi_Opcode
          { UNSG32 u32;
            struct w32ISA_MULi_Opcode;
                 } T32ISA_MULi_Opcode;
    typedef union  T32ISA_MULi_ID
          { UNSG32 u32;
            struct w32ISA_MULi_ID;
                 } T32ISA_MULi_ID;
    typedef union  T32ISA_MULi_LD
          { UNSG32 u32;
            struct w32ISA_MULi_LD;
                 } T32ISA_MULi_LD;
    typedef union  T32ISA_MULi_EX
          { UNSG32 u32;
            struct w32ISA_MULi_EX;
                 } T32ISA_MULi_EX;
    typedef union  T32ISA_MULi_EXX
          { UNSG32 u32;
            struct w32ISA_MULi_EXX;
                 } T32ISA_MULi_EXX;
    typedef union  T32ISA_MULi_WB
          { UNSG32 u32;
            struct w32ISA_MULi_WB;
                 } T32ISA_MULi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_MULi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_Mask;
                   };
                 } TISA_MULi_Mask;
    typedef union  TISA_MULi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_Opcode;
                   };
                 } TISA_MULi_Opcode;
    typedef union  TISA_MULi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_ID;
                   };
                 } TISA_MULi_ID;
    typedef union  TISA_MULi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_LD;
                   };
                 } TISA_MULi_LD;
    typedef union  TISA_MULi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_EX;
                   };
                 } TISA_MULi_EX;
    typedef union  TISA_MULi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_EXX;
                   };
                 } TISA_MULi_EXX;
    typedef union  TISA_MULi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MULi_WB;
                   };
                 } TISA_MULi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_MULi_drvrd(SIE_ISA_MULi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_MULi_drvwr(SIE_ISA_MULi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_MULi_reset(SIE_ISA_MULi *p);
     SIGN32 ISA_MULi_cmp  (SIE_ISA_MULi *p, SIE_ISA_MULi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_MULi_check(p,pie,pfx,hLOG) ISA_MULi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_MULi_print(p,    pfx,hLOG) ISA_MULi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_MULi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_MUL                                  (4,4)
///     ###
///     * Multiply a register with another register, store result to { MDH[15:0], MDL[15:0] }.
///     * Note: multiplication is a multi-stage operation, without output destination.
///     * It doesn't stall pipeline, will provide valid bit along with its result when ready.
///     * If another MUL/DIV instruction comes, the previous result (ready or not ready) will be discarded.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x20000
///                                    ###
///                                    * -                                                                 
///                                    * - { "MUL"     , "rS,rT"       , "0000 0010 SSSS ---- TTTT ----" } ,
///                                    * - Usage:
///                                    * -    MUL      %a1, %b1        ; {MDH,MDL} = %a1 * %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  0x1
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_MUL
#define h_ISA_MUL (){}

    #define     RA_ISA_MUL_Mask                                0x0000

    #define     BA_ISA_MUL_Mask_INS                            0x0000
    #define     B16ISA_MUL_Mask_INS                            0x0000
    #define   LSb32ISA_MUL_Mask_INS                               0
    #define   LSb16ISA_MUL_Mask_INS                               0
    #define       bISA_MUL_Mask_INS                            24
    #define   MSK32ISA_MUL_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_Opcode                              0x0004

    #define     BA_ISA_MUL_Opcode_INS                          0x0004
    #define     B16ISA_MUL_Opcode_INS                          0x0004
    #define   LSb32ISA_MUL_Opcode_INS                             0
    #define   LSb16ISA_MUL_Opcode_INS                             0
    #define       bISA_MUL_Opcode_INS                          24
    #define   MSK32ISA_MUL_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_ID                                  0x0008

    #define     BA_ISA_MUL_ID_RBRF                             0x0008
    #define     B16ISA_MUL_ID_RBRF                             0x0008
    #define   LSb32ISA_MUL_ID_RBRF                                0
    #define   LSb16ISA_MUL_ID_RBRF                                0
    #define       bISA_MUL_ID_RBRF                             1
    #define   MSK32ISA_MUL_ID_RBRF                                0x00000001

    #define     BA_ISA_MUL_ID_RARF                             0x0008
    #define     B16ISA_MUL_ID_RARF                             0x0008
    #define   LSb32ISA_MUL_ID_RARF                                1
    #define   LSb16ISA_MUL_ID_RARF                                1
    #define       bISA_MUL_ID_RARF                             1
    #define   MSK32ISA_MUL_ID_RARF                                0x00000002

    #define     BA_ISA_MUL_ID_RAK8                             0x0008
    #define     B16ISA_MUL_ID_RAK8                             0x0008
    #define   LSb32ISA_MUL_ID_RAK8                                2
    #define   LSb16ISA_MUL_ID_RAK8                                2
    #define       bISA_MUL_ID_RAK8                             1
    #define   MSK32ISA_MUL_ID_RAK8                                0x00000004

    #define     BA_ISA_MUL_ID_RAI16                            0x0008
    #define     B16ISA_MUL_ID_RAI16                            0x0008
    #define   LSb32ISA_MUL_ID_RAI16                               3
    #define   LSb16ISA_MUL_ID_RAI16                               3
    #define       bISA_MUL_ID_RAI16                            1
    #define   MSK32ISA_MUL_ID_RAI16                               0x00000008

    #define     BA_ISA_MUL_ID_RAK16                            0x0008
    #define     B16ISA_MUL_ID_RAK16                            0x0008
    #define   LSb32ISA_MUL_ID_RAK16                               4
    #define   LSb16ISA_MUL_ID_RAK16                               4
    #define       bISA_MUL_ID_RAK16                            1
    #define   MSK32ISA_MUL_ID_RAK16                               0x00000010

    #define     BA_ISA_MUL_ID_RFSP                             0x0008
    #define     B16ISA_MUL_ID_RFSP                             0x0008
    #define   LSb32ISA_MUL_ID_RFSP                                5
    #define   LSb16ISA_MUL_ID_RFSP                                5
    #define       bISA_MUL_ID_RFSP                             1
    #define   MSK32ISA_MUL_ID_RFSP                                0x00000020

    #define     BA_ISA_MUL_ID_W4D4                             0x0008
    #define     B16ISA_MUL_ID_W4D4                             0x0008
    #define   LSb32ISA_MUL_ID_W4D4                                6
    #define   LSb16ISA_MUL_ID_W4D4                                6
    #define       bISA_MUL_ID_W4D4                             1
    #define   MSK32ISA_MUL_ID_W4D4                                0x00000040

    #define     BA_ISA_MUL_ID_W4S4                             0x0008
    #define     B16ISA_MUL_ID_W4S4                             0x0008
    #define   LSb32ISA_MUL_ID_W4S4                                7
    #define   LSb16ISA_MUL_ID_W4S4                                7
    #define       bISA_MUL_ID_W4S4                             1
    #define   MSK32ISA_MUL_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_LD                                  0x000C

    #define     BA_ISA_MUL_LD_SPRF                             0x000C
    #define     B16ISA_MUL_LD_SPRF                             0x000C
    #define   LSb32ISA_MUL_LD_SPRF                                0
    #define   LSb16ISA_MUL_LD_SPRF                                0
    #define       bISA_MUL_LD_SPRF                             1
    #define   MSK32ISA_MUL_LD_SPRF                                0x00000001

    #define     BA_ISA_MUL_LD_SPK8                             0x000C
    #define     B16ISA_MUL_LD_SPK8                             0x000C
    #define   LSb32ISA_MUL_LD_SPK8                                1
    #define   LSb16ISA_MUL_LD_SPK8                                1
    #define       bISA_MUL_LD_SPK8                             1
    #define   MSK32ISA_MUL_LD_SPK8                                0x00000002

    #define     BA_ISA_MUL_LD_SPJ                              0x000C
    #define     B16ISA_MUL_LD_SPJ                              0x000C
    #define   LSb32ISA_MUL_LD_SPJ                                 2
    #define   LSb16ISA_MUL_LD_SPJ                                 2
    #define       bISA_MUL_LD_SPJ                              1
    #define   MSK32ISA_MUL_LD_SPJ                                 0x00000004

    #define     BA_ISA_MUL_LD_SP4S                             0x000C
    #define     B16ISA_MUL_LD_SP4S                             0x000C
    #define   LSb32ISA_MUL_LD_SP4S                                3
    #define   LSb16ISA_MUL_LD_SP4S                                3
    #define       bISA_MUL_LD_SP4S                             1
    #define   MSK32ISA_MUL_LD_SP4S                                0x00000008

    #define     BA_ISA_MUL_LD_SP8S                             0x000C
    #define     B16ISA_MUL_LD_SP8S                             0x000C
    #define   LSb32ISA_MUL_LD_SP8S                                4
    #define   LSb16ISA_MUL_LD_SP8S                                4
    #define       bISA_MUL_LD_SP8S                             1
    #define   MSK32ISA_MUL_LD_SP8S                                0x00000010

    #define     BA_ISA_MUL_LD_SP8U                             0x000C
    #define     B16ISA_MUL_LD_SP8U                             0x000C
    #define   LSb32ISA_MUL_LD_SP8U                                5
    #define   LSb16ISA_MUL_LD_SP8U                                5
    #define       bISA_MUL_LD_SP8U                             1
    #define   MSK32ISA_MUL_LD_SP8U                                0x00000020

    #define     BA_ISA_MUL_LD_SP12S                            0x000C
    #define     B16ISA_MUL_LD_SP12S                            0x000C
    #define   LSb32ISA_MUL_LD_SP12S                               6
    #define   LSb16ISA_MUL_LD_SP12S                               6
    #define       bISA_MUL_LD_SP12S                            1
    #define   MSK32ISA_MUL_LD_SP12S                               0x00000040

    #define     BA_ISA_MUL_LD_SP16                             0x000C
    #define     B16ISA_MUL_LD_SP16                             0x000C
    #define   LSb32ISA_MUL_LD_SP16                                7
    #define   LSb16ISA_MUL_LD_SP16                                7
    #define       bISA_MUL_LD_SP16                             1
    #define   MSK32ISA_MUL_LD_SP16                                0x00000080

    #define     BA_ISA_MUL_LD_TPRF                             0x000D
    #define     B16ISA_MUL_LD_TPRF                             0x000C
    #define   LSb32ISA_MUL_LD_TPRF                                8
    #define   LSb16ISA_MUL_LD_TPRF                                8
    #define       bISA_MUL_LD_TPRF                             1
    #define   MSK32ISA_MUL_LD_TPRF                                0x00000100

    #define     BA_ISA_MUL_LD_TPJ                              0x000D
    #define     B16ISA_MUL_LD_TPJ                              0x000C
    #define   LSb32ISA_MUL_LD_TPJ                                 9
    #define   LSb16ISA_MUL_LD_TPJ                                 9
    #define       bISA_MUL_LD_TPJ                              1
    #define   MSK32ISA_MUL_LD_TPJ                                 0x00000200

    #define     BA_ISA_MUL_LD_TP4S                             0x000D
    #define     B16ISA_MUL_LD_TP4S                             0x000C
    #define   LSb32ISA_MUL_LD_TP4S                                10
    #define   LSb16ISA_MUL_LD_TP4S                                10
    #define       bISA_MUL_LD_TP4S                             1
    #define   MSK32ISA_MUL_LD_TP4S                                0x00000400

    #define     BA_ISA_MUL_LD_TP8L                             0x000D
    #define     B16ISA_MUL_LD_TP8L                             0x000C
    #define   LSb32ISA_MUL_LD_TP8L                                11
    #define   LSb16ISA_MUL_LD_TP8L                                11
    #define       bISA_MUL_LD_TP8L                             1
    #define   MSK32ISA_MUL_LD_TP8L                                0x00000800

    #define     BA_ISA_MUL_LD_TP8H                             0x000D
    #define     B16ISA_MUL_LD_TP8H                             0x000C
    #define   LSb32ISA_MUL_LD_TP8H                                12
    #define   LSb16ISA_MUL_LD_TP8H                                12
    #define       bISA_MUL_LD_TP8H                             1
    #define   MSK32ISA_MUL_LD_TP8H                                0x00001000

    #define     BA_ISA_MUL_LD_TP8LF                            0x000D
    #define     B16ISA_MUL_LD_TP8LF                            0x000C
    #define   LSb32ISA_MUL_LD_TP8LF                               13
    #define   LSb16ISA_MUL_LD_TP8LF                               13
    #define       bISA_MUL_LD_TP8LF                            1
    #define   MSK32ISA_MUL_LD_TP8LF                               0x00002000

    #define     BA_ISA_MUL_LD_TP8HF                            0x000D
    #define     B16ISA_MUL_LD_TP8HF                            0x000C
    #define   LSb32ISA_MUL_LD_TP8HF                               14
    #define   LSb16ISA_MUL_LD_TP8HF                               14
    #define       bISA_MUL_LD_TP8HF                            1
    #define   MSK32ISA_MUL_LD_TP8HF                               0x00004000

    #define     BA_ISA_MUL_LD_SQRF64                           0x000D
    #define     B16ISA_MUL_LD_SQRF64                           0x000C
    #define   LSb32ISA_MUL_LD_SQRF64                              15
    #define   LSb16ISA_MUL_LD_SQRF64                              15
    #define       bISA_MUL_LD_SQRF64                           1
    #define   MSK32ISA_MUL_LD_SQRF64                              0x00008000

    #define     BA_ISA_MUL_LD_TQRF16Q                          0x000E
    #define     B16ISA_MUL_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_MUL_LD_TQRF16Q                             16
    #define   LSb16ISA_MUL_LD_TQRF16Q                             0
    #define       bISA_MUL_LD_TQRF16Q                          1
    #define   MSK32ISA_MUL_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_MUL_LD_TQRFx4                           0x000E
    #define     B16ISA_MUL_LD_TQRFx4                           0x000E
    #define   LSb32ISA_MUL_LD_TQRFx4                              17
    #define   LSb16ISA_MUL_LD_TQRFx4                              1
    #define       bISA_MUL_LD_TQRFx4                           1
    #define   MSK32ISA_MUL_LD_TQRFx4                              0x00020000

    #define     BA_ISA_MUL_LD_RD                               0x000E
    #define     B16ISA_MUL_LD_RD                               0x000E
    #define   LSb32ISA_MUL_LD_RD                                  18
    #define   LSb16ISA_MUL_LD_RD                                  2
    #define       bISA_MUL_LD_RD                               1
    #define   MSK32ISA_MUL_LD_RD                                  0x00040000

    #define     BA_ISA_MUL_LD_WARF                             0x000E
    #define     B16ISA_MUL_LD_WARF                             0x000E
    #define   LSb32ISA_MUL_LD_WARF                                19
    #define   LSb16ISA_MUL_LD_WARF                                3
    #define       bISA_MUL_LD_WARF                             1
    #define   MSK32ISA_MUL_LD_WARF                                0x00080000

    #define     BA_ISA_MUL_LD_WAK8                             0x000E
    #define     B16ISA_MUL_LD_WAK8                             0x000E
    #define   LSb32ISA_MUL_LD_WAK8                                20
    #define   LSb16ISA_MUL_LD_WAK8                                4
    #define       bISA_MUL_LD_WAK8                             1
    #define   MSK32ISA_MUL_LD_WAK8                                0x00100000

    #define     BA_ISA_MUL_LD_WAK16                            0x000E
    #define     B16ISA_MUL_LD_WAK16                            0x000E
    #define   LSb32ISA_MUL_LD_WAK16                               21
    #define   LSb16ISA_MUL_LD_WAK16                               5
    #define       bISA_MUL_LD_WAK16                            1
    #define   MSK32ISA_MUL_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_EX                                  0x0010

    #define     BA_ISA_MUL_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_MUL_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagZ                          0
    #define   LSb16ISA_MUL_EX_ALU16FlagZ                          0
    #define       bISA_MUL_EX_ALU16FlagZ                       1
    #define   MSK32ISA_MUL_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_MUL_EX_ALU16FlagC                       0x0010
    #define     B16ISA_MUL_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagC                          1
    #define   LSb16ISA_MUL_EX_ALU16FlagC                          1
    #define       bISA_MUL_EX_ALU16FlagC                       1
    #define   MSK32ISA_MUL_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_MUL_EX_ALU16FlagN                       0x0010
    #define     B16ISA_MUL_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagN                          2
    #define   LSb16ISA_MUL_EX_ALU16FlagN                          2
    #define       bISA_MUL_EX_ALU16FlagN                       1
    #define   MSK32ISA_MUL_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_MUL_EX_ALU16FlagV                       0x0010
    #define     B16ISA_MUL_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagV                          3
    #define   LSb16ISA_MUL_EX_ALU16FlagV                          3
    #define       bISA_MUL_EX_ALU16FlagV                       1
    #define   MSK32ISA_MUL_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_MUL_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_MUL_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagTP                         4
    #define   LSb16ISA_MUL_EX_ALU16FlagTP                         4
    #define       bISA_MUL_EX_ALU16FlagTP                      1
    #define   MSK32ISA_MUL_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_MUL_EX_ALU16MUL                         0x0010
    #define     B16ISA_MUL_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16MUL                            5
    #define   LSb16ISA_MUL_EX_ALU16MUL                            5
    #define       bISA_MUL_EX_ALU16MUL                         1
    #define   MSK32ISA_MUL_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_MUL_EX_ALU16DIV                         0x0010
    #define     B16ISA_MUL_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16DIV                            6
    #define   LSb16ISA_MUL_EX_ALU16DIV                            6
    #define       bISA_MUL_EX_ALU16DIV                         1
    #define   MSK32ISA_MUL_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_MUL_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_MUL_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_MUL_EX_ALU16FlagLD                         7
    #define   LSb16ISA_MUL_EX_ALU16FlagLD                         7
    #define       bISA_MUL_EX_ALU16FlagLD                      1
    #define   MSK32ISA_MUL_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_MUL_EX_ALU16MDL                         0x0011
    #define     B16ISA_MUL_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16MDL                            8
    #define   LSb16ISA_MUL_EX_ALU16MDL                            8
    #define       bISA_MUL_EX_ALU16MDL                         1
    #define   MSK32ISA_MUL_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_MUL_EX_ALU16MDH                         0x0011
    #define     B16ISA_MUL_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16MDH                            9
    #define   LSb16ISA_MUL_EX_ALU16MDH                            9
    #define       bISA_MUL_EX_ALU16MDH                         1
    #define   MSK32ISA_MUL_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_MUL_EX_ALU16ADD                         0x0011
    #define     B16ISA_MUL_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16ADD                            10
    #define   LSb16ISA_MUL_EX_ALU16ADD                            10
    #define       bISA_MUL_EX_ALU16ADD                         1
    #define   MSK32ISA_MUL_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_MUL_EX_ALU16SUB                         0x0011
    #define     B16ISA_MUL_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16SUB                            11
    #define   LSb16ISA_MUL_EX_ALU16SUB                            11
    #define       bISA_MUL_EX_ALU16SUB                         1
    #define   MSK32ISA_MUL_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_MUL_EX_ALU16ADDC                        0x0011
    #define     B16ISA_MUL_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_MUL_EX_ALU16ADDC                           12
    #define   LSb16ISA_MUL_EX_ALU16ADDC                           12
    #define       bISA_MUL_EX_ALU16ADDC                        1
    #define   MSK32ISA_MUL_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_MUL_EX_ALU16SUBC                        0x0011
    #define     B16ISA_MUL_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_MUL_EX_ALU16SUBC                           13
    #define   LSb16ISA_MUL_EX_ALU16SUBC                           13
    #define       bISA_MUL_EX_ALU16SUBC                        1
    #define   MSK32ISA_MUL_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_MUL_EX_ALU16ASR                         0x0011
    #define     B16ISA_MUL_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_MUL_EX_ALU16ASR                            14
    #define   LSb16ISA_MUL_EX_ALU16ASR                            14
    #define       bISA_MUL_EX_ALU16ASR                         1
    #define   MSK32ISA_MUL_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_MUL_EX_ALU16SL                          0x0011
    #define     B16ISA_MUL_EX_ALU16SL                          0x0010
    #define   LSb32ISA_MUL_EX_ALU16SL                             15
    #define   LSb16ISA_MUL_EX_ALU16SL                             15
    #define       bISA_MUL_EX_ALU16SL                          1
    #define   MSK32ISA_MUL_EX_ALU16SL                             0x00008000

    #define     BA_ISA_MUL_EX_ALU16SR                          0x0012
    #define     B16ISA_MUL_EX_ALU16SR                          0x0012
    #define   LSb32ISA_MUL_EX_ALU16SR                             16
    #define   LSb16ISA_MUL_EX_ALU16SR                             0
    #define       bISA_MUL_EX_ALU16SR                          1
    #define   MSK32ISA_MUL_EX_ALU16SR                             0x00010000

    #define     BA_ISA_MUL_EX_ALU16GET                         0x0012
    #define     B16ISA_MUL_EX_ALU16GET                         0x0012
    #define   LSb32ISA_MUL_EX_ALU16GET                            17
    #define   LSb16ISA_MUL_EX_ALU16GET                            1
    #define       bISA_MUL_EX_ALU16GET                         1
    #define   MSK32ISA_MUL_EX_ALU16GET                            0x00020000

    #define     BA_ISA_MUL_EX_ALU16SET                         0x0012
    #define     B16ISA_MUL_EX_ALU16SET                         0x0012
    #define   LSb32ISA_MUL_EX_ALU16SET                            18
    #define   LSb16ISA_MUL_EX_ALU16SET                            2
    #define       bISA_MUL_EX_ALU16SET                         1
    #define   MSK32ISA_MUL_EX_ALU16SET                            0x00040000

    #define     BA_ISA_MUL_EX_ALU16SEL                         0x0012
    #define     B16ISA_MUL_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_MUL_EX_ALU16SEL                            19
    #define   LSb16ISA_MUL_EX_ALU16SEL                            3
    #define       bISA_MUL_EX_ALU16SEL                         1
    #define   MSK32ISA_MUL_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_MUL_EX_ALU16OR                          0x0012
    #define     B16ISA_MUL_EX_ALU16OR                          0x0012
    #define   LSb32ISA_MUL_EX_ALU16OR                             20
    #define   LSb16ISA_MUL_EX_ALU16OR                             4
    #define       bISA_MUL_EX_ALU16OR                          1
    #define   MSK32ISA_MUL_EX_ALU16OR                             0x00100000

    #define     BA_ISA_MUL_EX_ALU16AND                         0x0012
    #define     B16ISA_MUL_EX_ALU16AND                         0x0012
    #define   LSb32ISA_MUL_EX_ALU16AND                            21
    #define   LSb16ISA_MUL_EX_ALU16AND                            5
    #define       bISA_MUL_EX_ALU16AND                         1
    #define   MSK32ISA_MUL_EX_ALU16AND                            0x00200000

    #define     BA_ISA_MUL_EX_ALU16XOR                         0x0012
    #define     B16ISA_MUL_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_MUL_EX_ALU16XOR                            22
    #define   LSb16ISA_MUL_EX_ALU16XOR                            6
    #define       bISA_MUL_EX_ALU16XOR                         1
    #define   MSK32ISA_MUL_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_MUL_EX_ALU16SP                          0x0012
    #define     B16ISA_MUL_EX_ALU16SP                          0x0012
    #define   LSb32ISA_MUL_EX_ALU16SP                             23
    #define   LSb16ISA_MUL_EX_ALU16SP                             7
    #define       bISA_MUL_EX_ALU16SP                          1
    #define   MSK32ISA_MUL_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_EXX                                 0x0014

    #define     BA_ISA_MUL_EXX_WRSQ                            0x0014
    #define     B16ISA_MUL_EXX_WRSQ                            0x0014
    #define   LSb32ISA_MUL_EXX_WRSQ                               0
    #define   LSb16ISA_MUL_EXX_WRSQ                               0
    #define       bISA_MUL_EXX_WRSQ                            1
    #define   MSK32ISA_MUL_EXX_WRSQ                               0x00000001

    #define     BA_ISA_MUL_EXX_WR16                            0x0014
    #define     B16ISA_MUL_EXX_WR16                            0x0014
    #define   LSb32ISA_MUL_EXX_WR16                               1
    #define   LSb16ISA_MUL_EXX_WR16                               1
    #define       bISA_MUL_EXX_WR16                            1
    #define   MSK32ISA_MUL_EXX_WR16                               0x00000002

    #define     BA_ISA_MUL_EXX_WRTQ                            0x0014
    #define     B16ISA_MUL_EXX_WRTQ                            0x0014
    #define   LSb32ISA_MUL_EXX_WRTQ                               2
    #define   LSb16ISA_MUL_EXX_WRTQ                               2
    #define       bISA_MUL_EXX_WRTQ                            1
    #define   MSK32ISA_MUL_EXX_WRTQ                               0x00000004

    #define     BA_ISA_MUL_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_MUL_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_MUL_EXX_ALU64PUSH                          3
    #define   LSb16ISA_MUL_EXX_ALU64PUSH                          3
    #define       bISA_MUL_EXX_ALU64PUSH                       1
    #define   MSK32ISA_MUL_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_MUL_EXX_ALU64POP                        0x0014
    #define     B16ISA_MUL_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_MUL_EXX_ALU64POP                           4
    #define   LSb16ISA_MUL_EXX_ALU64POP                           4
    #define       bISA_MUL_EXX_ALU64POP                        1
    #define   MSK32ISA_MUL_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_MUL_EXX_ALU64SQ                         0x0014
    #define     B16ISA_MUL_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_MUL_EXX_ALU64SQ                            5
    #define   LSb16ISA_MUL_EXX_ALU64SQ                            5
    #define       bISA_MUL_EXX_ALU64SQ                         1
    #define   MSK32ISA_MUL_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_MUL_EXX_ALU64TQ                         0x0014
    #define     B16ISA_MUL_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_MUL_EXX_ALU64TQ                            6
    #define   LSb16ISA_MUL_EXX_ALU64TQ                            6
    #define       bISA_MUL_EXX_ALU64TQ                         1
    #define   MSK32ISA_MUL_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_MUL_EXX_ALU64MEM                        0x0014
    #define     B16ISA_MUL_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_MUL_EXX_ALU64MEM                           7
    #define   LSb16ISA_MUL_EXX_ALU64MEM                           7
    #define       bISA_MUL_EXX_ALU64MEM                        1
    #define   MSK32ISA_MUL_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_MUL_EXX_BRANCH                          0x0015
    #define     B16ISA_MUL_EXX_BRANCH                          0x0014
    #define   LSb32ISA_MUL_EXX_BRANCH                             8
    #define   LSb16ISA_MUL_EXX_BRANCH                             8
    #define       bISA_MUL_EXX_BRANCH                          1
    #define   MSK32ISA_MUL_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_MUL_WB                                  0x0018

    #define     BA_ISA_MUL_WB_RF16                             0x0018
    #define     B16ISA_MUL_WB_RF16                             0x0018
    #define   LSb32ISA_MUL_WB_RF16                                0
    #define   LSb16ISA_MUL_WB_RF16                                0
    #define       bISA_MUL_WB_RF16                             1
    #define   MSK32ISA_MUL_WB_RF16                                0x00000001

    #define     BA_ISA_MUL_WB_RF16W0                           0x0018
    #define     B16ISA_MUL_WB_RF16W0                           0x0018
    #define   LSb32ISA_MUL_WB_RF16W0                              1
    #define   LSb16ISA_MUL_WB_RF16W0                              1
    #define       bISA_MUL_WB_RF16W0                           1
    #define   MSK32ISA_MUL_WB_RF16W0                              0x00000002

    #define     BA_ISA_MUL_WB_RF16MEM                          0x0018
    #define     B16ISA_MUL_WB_RF16MEM                          0x0018
    #define   LSb32ISA_MUL_WB_RF16MEM                             2
    #define   LSb16ISA_MUL_WB_RF16MEM                             2
    #define       bISA_MUL_WB_RF16MEM                          1
    #define   MSK32ISA_MUL_WB_RF16MEM                             0x00000004

    #define     BA_ISA_MUL_WB_RF16Q                            0x0018
    #define     B16ISA_MUL_WB_RF16Q                            0x0018
    #define   LSb32ISA_MUL_WB_RF16Q                               3
    #define   LSb16ISA_MUL_WB_RF16Q                               3
    #define       bISA_MUL_WB_RF16Q                            1
    #define   MSK32ISA_MUL_WB_RF16Q                               0x00000008

    #define     BA_ISA_MUL_WB_RF64                             0x0018
    #define     B16ISA_MUL_WB_RF64                             0x0018
    #define   LSb32ISA_MUL_WB_RF64                                4
    #define   LSb16ISA_MUL_WB_RF64                                4
    #define       bISA_MUL_WB_RF64                             1
    #define   MSK32ISA_MUL_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_MUL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_MUL_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_MUL_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_MUL_Mask;
            struct w32ISA_MUL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_MUL_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_MUL_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_MUL_Opcode;
            struct w32ISA_MUL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_MUL_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MUL_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_MUL_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MUL_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_MUL_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MUL_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_MUL_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MUL_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_MUL_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MUL_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_MUL_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MUL_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MUL_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_MUL_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MUL_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_MUL_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MUL_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_MUL_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MUL_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_MUL_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_MUL_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_MUL_ID;
            struct w32ISA_MUL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_MUL_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MUL_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_MUL_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MUL_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_MUL_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MUL_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_MUL_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MUL_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_MUL_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MUL_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_MUL_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MUL_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MUL_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_MUL_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MUL_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_MUL_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MUL_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_MUL_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MUL_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_MUL_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MUL_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_MUL_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MUL_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_MUL_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_MUL_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_MUL_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_MUL_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_MUL_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_MUL_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_MUL_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_MUL_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_MUL_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_MUL_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_MUL_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_MUL_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_MUL_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_MUL_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_MUL_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_MUL_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_MUL_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_MUL_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_MUL_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_MUL_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_MUL_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_MUL_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_MUL_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_MUL_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_MUL_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_MUL_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_MUL_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_MUL_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_MUL_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_MUL_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_MUL_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_MUL_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_MUL_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_MUL_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_MUL_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_MUL_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_MUL_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_MUL_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_MUL_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_MUL_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_MUL_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_MUL_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_MUL_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_MUL_LD;
            struct w32ISA_MUL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_MUL_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MUL_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_MUL_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MUL_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_MUL_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MUL_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_MUL_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MUL_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_MUL_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MUL_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_MUL_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MUL_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MUL_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_MUL_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MUL_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_MUL_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MUL_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_MUL_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MUL_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_MUL_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MUL_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_MUL_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MUL_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_MUL_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_MUL_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_MUL_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_MUL_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_MUL_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_MUL_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_MUL_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_MUL_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_MUL_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_MUL_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_MUL_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_MUL_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_MUL_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_MUL_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_MUL_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_MUL_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_MUL_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_MUL_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_MUL_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_MUL_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_MUL_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_MUL_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_MUL_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_MUL_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_MUL_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_MUL_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_MUL_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_MUL_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_MUL_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_MUL_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_MUL_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_MUL_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_MUL_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_MUL_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_MUL_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_MUL_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_MUL_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_MUL_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_MUL_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_MUL_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_MUL_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_MUL_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MUL_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_MUL_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_MUL_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_MUL_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MUL_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_MUL_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_MUL_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_MUL_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_MUL_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_MUL_EX;
            struct w32ISA_MUL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_MUL_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MUL_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_MUL_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MUL_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_MUL_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MUL_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_MUL_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MUL_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_MUL_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MUL_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_MUL_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_MUL_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_MUL_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_MUL_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_MUL_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_MUL_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_MUL_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_MUL_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_MUL_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_MUL_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_MUL_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_MUL_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_MUL_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_MUL_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_MUL_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_MUL_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_MUL_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_MUL_EXX;
            struct w32ISA_MUL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_MUL_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_MUL_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_MUL_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_MUL_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_MUL_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_MUL_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_MUL_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_MUL_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_MUL_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_MUL_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_MUL_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_MUL_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_MUL_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_MUL_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_MUL_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_MUL_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_MUL_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_MUL_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_MUL_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_MUL_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_MUL_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_MUL_WB;
            struct w32ISA_MUL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_MUL;

    typedef union  T32ISA_MUL_Mask
          { UNSG32 u32;
            struct w32ISA_MUL_Mask;
                 } T32ISA_MUL_Mask;
    typedef union  T32ISA_MUL_Opcode
          { UNSG32 u32;
            struct w32ISA_MUL_Opcode;
                 } T32ISA_MUL_Opcode;
    typedef union  T32ISA_MUL_ID
          { UNSG32 u32;
            struct w32ISA_MUL_ID;
                 } T32ISA_MUL_ID;
    typedef union  T32ISA_MUL_LD
          { UNSG32 u32;
            struct w32ISA_MUL_LD;
                 } T32ISA_MUL_LD;
    typedef union  T32ISA_MUL_EX
          { UNSG32 u32;
            struct w32ISA_MUL_EX;
                 } T32ISA_MUL_EX;
    typedef union  T32ISA_MUL_EXX
          { UNSG32 u32;
            struct w32ISA_MUL_EXX;
                 } T32ISA_MUL_EXX;
    typedef union  T32ISA_MUL_WB
          { UNSG32 u32;
            struct w32ISA_MUL_WB;
                 } T32ISA_MUL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_MUL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_Mask;
                   };
                 } TISA_MUL_Mask;
    typedef union  TISA_MUL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_Opcode;
                   };
                 } TISA_MUL_Opcode;
    typedef union  TISA_MUL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_ID;
                   };
                 } TISA_MUL_ID;
    typedef union  TISA_MUL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_LD;
                   };
                 } TISA_MUL_LD;
    typedef union  TISA_MUL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_EX;
                   };
                 } TISA_MUL_EX;
    typedef union  TISA_MUL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_EXX;
                   };
                 } TISA_MUL_EXX;
    typedef union  TISA_MUL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_MUL_WB;
                   };
                 } TISA_MUL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_MUL_drvrd(SIE_ISA_MUL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_MUL_drvwr(SIE_ISA_MUL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_MUL_reset(SIE_ISA_MUL *p);
     SIGN32 ISA_MUL_cmp  (SIE_ISA_MUL *p, SIE_ISA_MUL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_MUL_check(p,pie,pfx,hLOG) ISA_MUL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_MUL_print(p,    pfx,hLOG) ISA_MUL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_MUL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_DIVi                                 (4,4)
///     ###
///     * Divide a register by an immediate number in [1,255], store result to { MDH[15:0], MDL[15:0] }.
///     * Note: division is a multi-stage operation, without output destination.
///     * It doesn't stall pipeline, will provide valid bit along with its result when ready.
///     * If another MUL/DIV instruction comes, the previous result (ready or not ready) will be discarded.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2F0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "DIV.i"   , "rS,C"        , "0010 1111 SSSS CCCC CCCC ----" } ,
///                                    * - Usage:
///                                    * -    DIV.i    %a1, 3          ; MDH = %a1 / 3; MDL = %a1 % 3;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  0x1
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_DIVi
#define h_ISA_DIVi (){}

    #define     RA_ISA_DIVi_Mask                               0x0000

    #define     BA_ISA_DIVi_Mask_INS                           0x0000
    #define     B16ISA_DIVi_Mask_INS                           0x0000
    #define   LSb32ISA_DIVi_Mask_INS                              0
    #define   LSb16ISA_DIVi_Mask_INS                              0
    #define       bISA_DIVi_Mask_INS                           24
    #define   MSK32ISA_DIVi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_Opcode                             0x0004

    #define     BA_ISA_DIVi_Opcode_INS                         0x0004
    #define     B16ISA_DIVi_Opcode_INS                         0x0004
    #define   LSb32ISA_DIVi_Opcode_INS                            0
    #define   LSb16ISA_DIVi_Opcode_INS                            0
    #define       bISA_DIVi_Opcode_INS                         24
    #define   MSK32ISA_DIVi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_ID                                 0x0008

    #define     BA_ISA_DIVi_ID_RBRF                            0x0008
    #define     B16ISA_DIVi_ID_RBRF                            0x0008
    #define   LSb32ISA_DIVi_ID_RBRF                               0
    #define   LSb16ISA_DIVi_ID_RBRF                               0
    #define       bISA_DIVi_ID_RBRF                            1
    #define   MSK32ISA_DIVi_ID_RBRF                               0x00000001

    #define     BA_ISA_DIVi_ID_RARF                            0x0008
    #define     B16ISA_DIVi_ID_RARF                            0x0008
    #define   LSb32ISA_DIVi_ID_RARF                               1
    #define   LSb16ISA_DIVi_ID_RARF                               1
    #define       bISA_DIVi_ID_RARF                            1
    #define   MSK32ISA_DIVi_ID_RARF                               0x00000002

    #define     BA_ISA_DIVi_ID_RAK8                            0x0008
    #define     B16ISA_DIVi_ID_RAK8                            0x0008
    #define   LSb32ISA_DIVi_ID_RAK8                               2
    #define   LSb16ISA_DIVi_ID_RAK8                               2
    #define       bISA_DIVi_ID_RAK8                            1
    #define   MSK32ISA_DIVi_ID_RAK8                               0x00000004

    #define     BA_ISA_DIVi_ID_RAI16                           0x0008
    #define     B16ISA_DIVi_ID_RAI16                           0x0008
    #define   LSb32ISA_DIVi_ID_RAI16                              3
    #define   LSb16ISA_DIVi_ID_RAI16                              3
    #define       bISA_DIVi_ID_RAI16                           1
    #define   MSK32ISA_DIVi_ID_RAI16                              0x00000008

    #define     BA_ISA_DIVi_ID_RAK16                           0x0008
    #define     B16ISA_DIVi_ID_RAK16                           0x0008
    #define   LSb32ISA_DIVi_ID_RAK16                              4
    #define   LSb16ISA_DIVi_ID_RAK16                              4
    #define       bISA_DIVi_ID_RAK16                           1
    #define   MSK32ISA_DIVi_ID_RAK16                              0x00000010

    #define     BA_ISA_DIVi_ID_RFSP                            0x0008
    #define     B16ISA_DIVi_ID_RFSP                            0x0008
    #define   LSb32ISA_DIVi_ID_RFSP                               5
    #define   LSb16ISA_DIVi_ID_RFSP                               5
    #define       bISA_DIVi_ID_RFSP                            1
    #define   MSK32ISA_DIVi_ID_RFSP                               0x00000020

    #define     BA_ISA_DIVi_ID_W4D4                            0x0008
    #define     B16ISA_DIVi_ID_W4D4                            0x0008
    #define   LSb32ISA_DIVi_ID_W4D4                               6
    #define   LSb16ISA_DIVi_ID_W4D4                               6
    #define       bISA_DIVi_ID_W4D4                            1
    #define   MSK32ISA_DIVi_ID_W4D4                               0x00000040

    #define     BA_ISA_DIVi_ID_W4S4                            0x0008
    #define     B16ISA_DIVi_ID_W4S4                            0x0008
    #define   LSb32ISA_DIVi_ID_W4S4                               7
    #define   LSb16ISA_DIVi_ID_W4S4                               7
    #define       bISA_DIVi_ID_W4S4                            1
    #define   MSK32ISA_DIVi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_LD                                 0x000C

    #define     BA_ISA_DIVi_LD_SPRF                            0x000C
    #define     B16ISA_DIVi_LD_SPRF                            0x000C
    #define   LSb32ISA_DIVi_LD_SPRF                               0
    #define   LSb16ISA_DIVi_LD_SPRF                               0
    #define       bISA_DIVi_LD_SPRF                            1
    #define   MSK32ISA_DIVi_LD_SPRF                               0x00000001

    #define     BA_ISA_DIVi_LD_SPK8                            0x000C
    #define     B16ISA_DIVi_LD_SPK8                            0x000C
    #define   LSb32ISA_DIVi_LD_SPK8                               1
    #define   LSb16ISA_DIVi_LD_SPK8                               1
    #define       bISA_DIVi_LD_SPK8                            1
    #define   MSK32ISA_DIVi_LD_SPK8                               0x00000002

    #define     BA_ISA_DIVi_LD_SPJ                             0x000C
    #define     B16ISA_DIVi_LD_SPJ                             0x000C
    #define   LSb32ISA_DIVi_LD_SPJ                                2
    #define   LSb16ISA_DIVi_LD_SPJ                                2
    #define       bISA_DIVi_LD_SPJ                             1
    #define   MSK32ISA_DIVi_LD_SPJ                                0x00000004

    #define     BA_ISA_DIVi_LD_SP4S                            0x000C
    #define     B16ISA_DIVi_LD_SP4S                            0x000C
    #define   LSb32ISA_DIVi_LD_SP4S                               3
    #define   LSb16ISA_DIVi_LD_SP4S                               3
    #define       bISA_DIVi_LD_SP4S                            1
    #define   MSK32ISA_DIVi_LD_SP4S                               0x00000008

    #define     BA_ISA_DIVi_LD_SP8S                            0x000C
    #define     B16ISA_DIVi_LD_SP8S                            0x000C
    #define   LSb32ISA_DIVi_LD_SP8S                               4
    #define   LSb16ISA_DIVi_LD_SP8S                               4
    #define       bISA_DIVi_LD_SP8S                            1
    #define   MSK32ISA_DIVi_LD_SP8S                               0x00000010

    #define     BA_ISA_DIVi_LD_SP8U                            0x000C
    #define     B16ISA_DIVi_LD_SP8U                            0x000C
    #define   LSb32ISA_DIVi_LD_SP8U                               5
    #define   LSb16ISA_DIVi_LD_SP8U                               5
    #define       bISA_DIVi_LD_SP8U                            1
    #define   MSK32ISA_DIVi_LD_SP8U                               0x00000020

    #define     BA_ISA_DIVi_LD_SP12S                           0x000C
    #define     B16ISA_DIVi_LD_SP12S                           0x000C
    #define   LSb32ISA_DIVi_LD_SP12S                              6
    #define   LSb16ISA_DIVi_LD_SP12S                              6
    #define       bISA_DIVi_LD_SP12S                           1
    #define   MSK32ISA_DIVi_LD_SP12S                              0x00000040

    #define     BA_ISA_DIVi_LD_SP16                            0x000C
    #define     B16ISA_DIVi_LD_SP16                            0x000C
    #define   LSb32ISA_DIVi_LD_SP16                               7
    #define   LSb16ISA_DIVi_LD_SP16                               7
    #define       bISA_DIVi_LD_SP16                            1
    #define   MSK32ISA_DIVi_LD_SP16                               0x00000080

    #define     BA_ISA_DIVi_LD_TPRF                            0x000D
    #define     B16ISA_DIVi_LD_TPRF                            0x000C
    #define   LSb32ISA_DIVi_LD_TPRF                               8
    #define   LSb16ISA_DIVi_LD_TPRF                               8
    #define       bISA_DIVi_LD_TPRF                            1
    #define   MSK32ISA_DIVi_LD_TPRF                               0x00000100

    #define     BA_ISA_DIVi_LD_TPJ                             0x000D
    #define     B16ISA_DIVi_LD_TPJ                             0x000C
    #define   LSb32ISA_DIVi_LD_TPJ                                9
    #define   LSb16ISA_DIVi_LD_TPJ                                9
    #define       bISA_DIVi_LD_TPJ                             1
    #define   MSK32ISA_DIVi_LD_TPJ                                0x00000200

    #define     BA_ISA_DIVi_LD_TP4S                            0x000D
    #define     B16ISA_DIVi_LD_TP4S                            0x000C
    #define   LSb32ISA_DIVi_LD_TP4S                               10
    #define   LSb16ISA_DIVi_LD_TP4S                               10
    #define       bISA_DIVi_LD_TP4S                            1
    #define   MSK32ISA_DIVi_LD_TP4S                               0x00000400

    #define     BA_ISA_DIVi_LD_TP8L                            0x000D
    #define     B16ISA_DIVi_LD_TP8L                            0x000C
    #define   LSb32ISA_DIVi_LD_TP8L                               11
    #define   LSb16ISA_DIVi_LD_TP8L                               11
    #define       bISA_DIVi_LD_TP8L                            1
    #define   MSK32ISA_DIVi_LD_TP8L                               0x00000800

    #define     BA_ISA_DIVi_LD_TP8H                            0x000D
    #define     B16ISA_DIVi_LD_TP8H                            0x000C
    #define   LSb32ISA_DIVi_LD_TP8H                               12
    #define   LSb16ISA_DIVi_LD_TP8H                               12
    #define       bISA_DIVi_LD_TP8H                            1
    #define   MSK32ISA_DIVi_LD_TP8H                               0x00001000

    #define     BA_ISA_DIVi_LD_TP8LF                           0x000D
    #define     B16ISA_DIVi_LD_TP8LF                           0x000C
    #define   LSb32ISA_DIVi_LD_TP8LF                              13
    #define   LSb16ISA_DIVi_LD_TP8LF                              13
    #define       bISA_DIVi_LD_TP8LF                           1
    #define   MSK32ISA_DIVi_LD_TP8LF                              0x00002000

    #define     BA_ISA_DIVi_LD_TP8HF                           0x000D
    #define     B16ISA_DIVi_LD_TP8HF                           0x000C
    #define   LSb32ISA_DIVi_LD_TP8HF                              14
    #define   LSb16ISA_DIVi_LD_TP8HF                              14
    #define       bISA_DIVi_LD_TP8HF                           1
    #define   MSK32ISA_DIVi_LD_TP8HF                              0x00004000

    #define     BA_ISA_DIVi_LD_SQRF64                          0x000D
    #define     B16ISA_DIVi_LD_SQRF64                          0x000C
    #define   LSb32ISA_DIVi_LD_SQRF64                             15
    #define   LSb16ISA_DIVi_LD_SQRF64                             15
    #define       bISA_DIVi_LD_SQRF64                          1
    #define   MSK32ISA_DIVi_LD_SQRF64                             0x00008000

    #define     BA_ISA_DIVi_LD_TQRF16Q                         0x000E
    #define     B16ISA_DIVi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_DIVi_LD_TQRF16Q                            16
    #define   LSb16ISA_DIVi_LD_TQRF16Q                            0
    #define       bISA_DIVi_LD_TQRF16Q                         1
    #define   MSK32ISA_DIVi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_DIVi_LD_TQRFx4                          0x000E
    #define     B16ISA_DIVi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_DIVi_LD_TQRFx4                             17
    #define   LSb16ISA_DIVi_LD_TQRFx4                             1
    #define       bISA_DIVi_LD_TQRFx4                          1
    #define   MSK32ISA_DIVi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_DIVi_LD_RD                              0x000E
    #define     B16ISA_DIVi_LD_RD                              0x000E
    #define   LSb32ISA_DIVi_LD_RD                                 18
    #define   LSb16ISA_DIVi_LD_RD                                 2
    #define       bISA_DIVi_LD_RD                              1
    #define   MSK32ISA_DIVi_LD_RD                                 0x00040000

    #define     BA_ISA_DIVi_LD_WARF                            0x000E
    #define     B16ISA_DIVi_LD_WARF                            0x000E
    #define   LSb32ISA_DIVi_LD_WARF                               19
    #define   LSb16ISA_DIVi_LD_WARF                               3
    #define       bISA_DIVi_LD_WARF                            1
    #define   MSK32ISA_DIVi_LD_WARF                               0x00080000

    #define     BA_ISA_DIVi_LD_WAK8                            0x000E
    #define     B16ISA_DIVi_LD_WAK8                            0x000E
    #define   LSb32ISA_DIVi_LD_WAK8                               20
    #define   LSb16ISA_DIVi_LD_WAK8                               4
    #define       bISA_DIVi_LD_WAK8                            1
    #define   MSK32ISA_DIVi_LD_WAK8                               0x00100000

    #define     BA_ISA_DIVi_LD_WAK16                           0x000E
    #define     B16ISA_DIVi_LD_WAK16                           0x000E
    #define   LSb32ISA_DIVi_LD_WAK16                              21
    #define   LSb16ISA_DIVi_LD_WAK16                              5
    #define       bISA_DIVi_LD_WAK16                           1
    #define   MSK32ISA_DIVi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_EX                                 0x0010

    #define     BA_ISA_DIVi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_DIVi_EX_ALU16FlagZ                         0
    #define       bISA_DIVi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_DIVi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_DIVi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagC                         1
    #define   LSb16ISA_DIVi_EX_ALU16FlagC                         1
    #define       bISA_DIVi_EX_ALU16FlagC                      1
    #define   MSK32ISA_DIVi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_DIVi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagN                         2
    #define   LSb16ISA_DIVi_EX_ALU16FlagN                         2
    #define       bISA_DIVi_EX_ALU16FlagN                      1
    #define   MSK32ISA_DIVi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_DIVi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagV                         3
    #define   LSb16ISA_DIVi_EX_ALU16FlagV                         3
    #define       bISA_DIVi_EX_ALU16FlagV                      1
    #define   MSK32ISA_DIVi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_DIVi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_DIVi_EX_ALU16FlagTP                        4
    #define       bISA_DIVi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_DIVi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_DIVi_EX_ALU16MUL                        0x0010
    #define     B16ISA_DIVi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16MUL                           5
    #define   LSb16ISA_DIVi_EX_ALU16MUL                           5
    #define       bISA_DIVi_EX_ALU16MUL                        1
    #define   MSK32ISA_DIVi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_DIVi_EX_ALU16DIV                        0x0010
    #define     B16ISA_DIVi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16DIV                           6
    #define   LSb16ISA_DIVi_EX_ALU16DIV                           6
    #define       bISA_DIVi_EX_ALU16DIV                        1
    #define   MSK32ISA_DIVi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_DIVi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_DIVi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_DIVi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_DIVi_EX_ALU16FlagLD                        7
    #define       bISA_DIVi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_DIVi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_DIVi_EX_ALU16MDL                        0x0011
    #define     B16ISA_DIVi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16MDL                           8
    #define   LSb16ISA_DIVi_EX_ALU16MDL                           8
    #define       bISA_DIVi_EX_ALU16MDL                        1
    #define   MSK32ISA_DIVi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_DIVi_EX_ALU16MDH                        0x0011
    #define     B16ISA_DIVi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16MDH                           9
    #define   LSb16ISA_DIVi_EX_ALU16MDH                           9
    #define       bISA_DIVi_EX_ALU16MDH                        1
    #define   MSK32ISA_DIVi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_DIVi_EX_ALU16ADD                        0x0011
    #define     B16ISA_DIVi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16ADD                           10
    #define   LSb16ISA_DIVi_EX_ALU16ADD                           10
    #define       bISA_DIVi_EX_ALU16ADD                        1
    #define   MSK32ISA_DIVi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_DIVi_EX_ALU16SUB                        0x0011
    #define     B16ISA_DIVi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16SUB                           11
    #define   LSb16ISA_DIVi_EX_ALU16SUB                           11
    #define       bISA_DIVi_EX_ALU16SUB                        1
    #define   MSK32ISA_DIVi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_DIVi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_DIVi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_DIVi_EX_ALU16ADDC                          12
    #define   LSb16ISA_DIVi_EX_ALU16ADDC                          12
    #define       bISA_DIVi_EX_ALU16ADDC                       1
    #define   MSK32ISA_DIVi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_DIVi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_DIVi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_DIVi_EX_ALU16SUBC                          13
    #define   LSb16ISA_DIVi_EX_ALU16SUBC                          13
    #define       bISA_DIVi_EX_ALU16SUBC                       1
    #define   MSK32ISA_DIVi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_DIVi_EX_ALU16ASR                        0x0011
    #define     B16ISA_DIVi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_DIVi_EX_ALU16ASR                           14
    #define   LSb16ISA_DIVi_EX_ALU16ASR                           14
    #define       bISA_DIVi_EX_ALU16ASR                        1
    #define   MSK32ISA_DIVi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_DIVi_EX_ALU16SL                         0x0011
    #define     B16ISA_DIVi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_DIVi_EX_ALU16SL                            15
    #define   LSb16ISA_DIVi_EX_ALU16SL                            15
    #define       bISA_DIVi_EX_ALU16SL                         1
    #define   MSK32ISA_DIVi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_DIVi_EX_ALU16SR                         0x0012
    #define     B16ISA_DIVi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_DIVi_EX_ALU16SR                            16
    #define   LSb16ISA_DIVi_EX_ALU16SR                            0
    #define       bISA_DIVi_EX_ALU16SR                         1
    #define   MSK32ISA_DIVi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_DIVi_EX_ALU16GET                        0x0012
    #define     B16ISA_DIVi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_DIVi_EX_ALU16GET                           17
    #define   LSb16ISA_DIVi_EX_ALU16GET                           1
    #define       bISA_DIVi_EX_ALU16GET                        1
    #define   MSK32ISA_DIVi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_DIVi_EX_ALU16SET                        0x0012
    #define     B16ISA_DIVi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_DIVi_EX_ALU16SET                           18
    #define   LSb16ISA_DIVi_EX_ALU16SET                           2
    #define       bISA_DIVi_EX_ALU16SET                        1
    #define   MSK32ISA_DIVi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_DIVi_EX_ALU16SEL                        0x0012
    #define     B16ISA_DIVi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_DIVi_EX_ALU16SEL                           19
    #define   LSb16ISA_DIVi_EX_ALU16SEL                           3
    #define       bISA_DIVi_EX_ALU16SEL                        1
    #define   MSK32ISA_DIVi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_DIVi_EX_ALU16OR                         0x0012
    #define     B16ISA_DIVi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_DIVi_EX_ALU16OR                            20
    #define   LSb16ISA_DIVi_EX_ALU16OR                            4
    #define       bISA_DIVi_EX_ALU16OR                         1
    #define   MSK32ISA_DIVi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_DIVi_EX_ALU16AND                        0x0012
    #define     B16ISA_DIVi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_DIVi_EX_ALU16AND                           21
    #define   LSb16ISA_DIVi_EX_ALU16AND                           5
    #define       bISA_DIVi_EX_ALU16AND                        1
    #define   MSK32ISA_DIVi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_DIVi_EX_ALU16XOR                        0x0012
    #define     B16ISA_DIVi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_DIVi_EX_ALU16XOR                           22
    #define   LSb16ISA_DIVi_EX_ALU16XOR                           6
    #define       bISA_DIVi_EX_ALU16XOR                        1
    #define   MSK32ISA_DIVi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_DIVi_EX_ALU16SP                         0x0012
    #define     B16ISA_DIVi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_DIVi_EX_ALU16SP                            23
    #define   LSb16ISA_DIVi_EX_ALU16SP                            7
    #define       bISA_DIVi_EX_ALU16SP                         1
    #define   MSK32ISA_DIVi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_EXX                                0x0014

    #define     BA_ISA_DIVi_EXX_WRSQ                           0x0014
    #define     B16ISA_DIVi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_DIVi_EXX_WRSQ                              0
    #define   LSb16ISA_DIVi_EXX_WRSQ                              0
    #define       bISA_DIVi_EXX_WRSQ                           1
    #define   MSK32ISA_DIVi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_DIVi_EXX_WR16                           0x0014
    #define     B16ISA_DIVi_EXX_WR16                           0x0014
    #define   LSb32ISA_DIVi_EXX_WR16                              1
    #define   LSb16ISA_DIVi_EXX_WR16                              1
    #define       bISA_DIVi_EXX_WR16                           1
    #define   MSK32ISA_DIVi_EXX_WR16                              0x00000002

    #define     BA_ISA_DIVi_EXX_WRTQ                           0x0014
    #define     B16ISA_DIVi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_DIVi_EXX_WRTQ                              2
    #define   LSb16ISA_DIVi_EXX_WRTQ                              2
    #define       bISA_DIVi_EXX_WRTQ                           1
    #define   MSK32ISA_DIVi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_DIVi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_DIVi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_DIVi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_DIVi_EXX_ALU64PUSH                         3
    #define       bISA_DIVi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_DIVi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_DIVi_EXX_ALU64POP                       0x0014
    #define     B16ISA_DIVi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_DIVi_EXX_ALU64POP                          4
    #define   LSb16ISA_DIVi_EXX_ALU64POP                          4
    #define       bISA_DIVi_EXX_ALU64POP                       1
    #define   MSK32ISA_DIVi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_DIVi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_DIVi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_DIVi_EXX_ALU64SQ                           5
    #define   LSb16ISA_DIVi_EXX_ALU64SQ                           5
    #define       bISA_DIVi_EXX_ALU64SQ                        1
    #define   MSK32ISA_DIVi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_DIVi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_DIVi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_DIVi_EXX_ALU64TQ                           6
    #define   LSb16ISA_DIVi_EXX_ALU64TQ                           6
    #define       bISA_DIVi_EXX_ALU64TQ                        1
    #define   MSK32ISA_DIVi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_DIVi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_DIVi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_DIVi_EXX_ALU64MEM                          7
    #define   LSb16ISA_DIVi_EXX_ALU64MEM                          7
    #define       bISA_DIVi_EXX_ALU64MEM                       1
    #define   MSK32ISA_DIVi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_DIVi_EXX_BRANCH                         0x0015
    #define     B16ISA_DIVi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_DIVi_EXX_BRANCH                            8
    #define   LSb16ISA_DIVi_EXX_BRANCH                            8
    #define       bISA_DIVi_EXX_BRANCH                         1
    #define   MSK32ISA_DIVi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIVi_WB                                 0x0018

    #define     BA_ISA_DIVi_WB_RF16                            0x0018
    #define     B16ISA_DIVi_WB_RF16                            0x0018
    #define   LSb32ISA_DIVi_WB_RF16                               0
    #define   LSb16ISA_DIVi_WB_RF16                               0
    #define       bISA_DIVi_WB_RF16                            1
    #define   MSK32ISA_DIVi_WB_RF16                               0x00000001

    #define     BA_ISA_DIVi_WB_RF16W0                          0x0018
    #define     B16ISA_DIVi_WB_RF16W0                          0x0018
    #define   LSb32ISA_DIVi_WB_RF16W0                             1
    #define   LSb16ISA_DIVi_WB_RF16W0                             1
    #define       bISA_DIVi_WB_RF16W0                          1
    #define   MSK32ISA_DIVi_WB_RF16W0                             0x00000002

    #define     BA_ISA_DIVi_WB_RF16MEM                         0x0018
    #define     B16ISA_DIVi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_DIVi_WB_RF16MEM                            2
    #define   LSb16ISA_DIVi_WB_RF16MEM                            2
    #define       bISA_DIVi_WB_RF16MEM                         1
    #define   MSK32ISA_DIVi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_DIVi_WB_RF16Q                           0x0018
    #define     B16ISA_DIVi_WB_RF16Q                           0x0018
    #define   LSb32ISA_DIVi_WB_RF16Q                              3
    #define   LSb16ISA_DIVi_WB_RF16Q                              3
    #define       bISA_DIVi_WB_RF16Q                           1
    #define   MSK32ISA_DIVi_WB_RF16Q                              0x00000008

    #define     BA_ISA_DIVi_WB_RF64                            0x0018
    #define     B16ISA_DIVi_WB_RF64                            0x0018
    #define   LSb32ISA_DIVi_WB_RF64                               4
    #define   LSb16ISA_DIVi_WB_RF64                               4
    #define       bISA_DIVi_WB_RF64                            1
    #define   MSK32ISA_DIVi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_DIVi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_DIVi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_DIVi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_DIVi_Mask;
            struct w32ISA_DIVi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_DIVi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_DIVi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_DIVi_Opcode;
            struct w32ISA_DIVi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIVi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIVi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIVi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIVi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIVi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIVi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIVi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIVi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIVi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIVi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIVi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIVi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIVi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIVi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIVi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIVi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIVi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIVi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIVi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIVi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_DIVi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_DIVi_ID;
            struct w32ISA_DIVi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIVi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIVi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIVi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIVi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIVi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIVi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIVi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIVi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIVi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIVi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIVi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIVi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIVi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIVi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIVi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIVi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIVi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIVi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIVi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIVi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIVi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIVi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIVi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIVi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_DIVi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_DIVi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_DIVi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_DIVi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_DIVi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_DIVi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_DIVi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_DIVi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_DIVi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_DIVi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_DIVi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_DIVi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_DIVi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_DIVi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_DIVi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_DIVi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_DIVi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_DIVi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_DIVi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_DIVi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_DIVi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_DIVi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_DIVi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_DIVi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_DIVi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_DIVi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_DIVi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_DIVi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_DIVi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_DIVi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_DIVi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_DIVi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_DIVi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_DIVi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_DIVi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_DIVi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_DIVi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_DIVi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_DIVi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_DIVi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_DIVi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_DIVi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_DIVi_LD;
            struct w32ISA_DIVi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIVi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIVi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIVi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIVi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIVi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIVi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIVi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIVi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIVi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIVi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIVi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIVi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIVi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIVi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIVi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIVi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIVi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIVi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIVi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_DIVi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_DIVi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_DIVi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_DIVi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_DIVi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_DIVi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_DIVi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_DIVi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_DIVi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_DIVi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_DIVi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_DIVi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_DIVi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_DIVi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_DIVi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_DIVi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_DIVi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_DIVi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_DIVi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_DIVi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_DIVi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_DIVi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_DIVi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_DIVi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_DIVi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_DIVi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_DIVi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_DIVi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_DIVi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_DIVi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_DIVi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_DIVi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_DIVi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_DIVi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_DIVi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_DIVi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_DIVi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_DIVi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_DIVi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_DIVi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_DIVi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIVi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_DIVi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_DIVi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIVi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIVi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_DIVi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_DIVi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIVi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_DIVi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_DIVi_EX;
            struct w32ISA_DIVi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIVi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIVi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIVi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIVi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIVi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIVi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIVi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIVi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIVi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIVi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIVi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIVi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIVi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIVi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIVi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIVi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIVi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIVi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIVi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIVi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIVi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIVi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIVi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIVi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIVi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIVi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_DIVi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_DIVi_EXX;
            struct w32ISA_DIVi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIVi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIVi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIVi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIVi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIVi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIVi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIVi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIVi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIVi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIVi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIVi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIVi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIVi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIVi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIVi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIVi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIVi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIVi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIVi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIVi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_DIVi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_DIVi_WB;
            struct w32ISA_DIVi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_DIVi;

    typedef union  T32ISA_DIVi_Mask
          { UNSG32 u32;
            struct w32ISA_DIVi_Mask;
                 } T32ISA_DIVi_Mask;
    typedef union  T32ISA_DIVi_Opcode
          { UNSG32 u32;
            struct w32ISA_DIVi_Opcode;
                 } T32ISA_DIVi_Opcode;
    typedef union  T32ISA_DIVi_ID
          { UNSG32 u32;
            struct w32ISA_DIVi_ID;
                 } T32ISA_DIVi_ID;
    typedef union  T32ISA_DIVi_LD
          { UNSG32 u32;
            struct w32ISA_DIVi_LD;
                 } T32ISA_DIVi_LD;
    typedef union  T32ISA_DIVi_EX
          { UNSG32 u32;
            struct w32ISA_DIVi_EX;
                 } T32ISA_DIVi_EX;
    typedef union  T32ISA_DIVi_EXX
          { UNSG32 u32;
            struct w32ISA_DIVi_EXX;
                 } T32ISA_DIVi_EXX;
    typedef union  T32ISA_DIVi_WB
          { UNSG32 u32;
            struct w32ISA_DIVi_WB;
                 } T32ISA_DIVi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_DIVi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_Mask;
                   };
                 } TISA_DIVi_Mask;
    typedef union  TISA_DIVi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_Opcode;
                   };
                 } TISA_DIVi_Opcode;
    typedef union  TISA_DIVi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_ID;
                   };
                 } TISA_DIVi_ID;
    typedef union  TISA_DIVi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_LD;
                   };
                 } TISA_DIVi_LD;
    typedef union  TISA_DIVi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_EX;
                   };
                 } TISA_DIVi_EX;
    typedef union  TISA_DIVi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_EXX;
                   };
                 } TISA_DIVi_EXX;
    typedef union  TISA_DIVi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIVi_WB;
                   };
                 } TISA_DIVi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_DIVi_drvrd(SIE_ISA_DIVi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_DIVi_drvwr(SIE_ISA_DIVi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_DIVi_reset(SIE_ISA_DIVi *p);
     SIGN32 ISA_DIVi_cmp  (SIE_ISA_DIVi *p, SIE_ISA_DIVi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_DIVi_check(p,pie,pfx,hLOG) ISA_DIVi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_DIVi_print(p,    pfx,hLOG) ISA_DIVi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_DIVi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_DIV                                  (4,4)
///     ###
///     * Divide a register with another register, store result to { MDH[15:0], MDL[15:0] }.
///     * Note: division is a multi-stage operation, without output destination.
///     * It doesn't stall pipeline, will provide valid bit along with its result when ready.
///     * If another MUL/DIV instruction comes, the previous result (ready or not ready) will be discarded.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x30000
///                                    ###
///                                    * -                                                                 
///                                    * - { "DIV"     , "rS,rT"       , "0000 0011 SSSS ---- TTTT ----" } ,
///                                    * - Usage:
///                                    * -    DIV      %a1, %b1        ; MDH = %a1 / %b1; MDL = %a1 % %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  0x1
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_DIV
#define h_ISA_DIV (){}

    #define     RA_ISA_DIV_Mask                                0x0000

    #define     BA_ISA_DIV_Mask_INS                            0x0000
    #define     B16ISA_DIV_Mask_INS                            0x0000
    #define   LSb32ISA_DIV_Mask_INS                               0
    #define   LSb16ISA_DIV_Mask_INS                               0
    #define       bISA_DIV_Mask_INS                            24
    #define   MSK32ISA_DIV_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_Opcode                              0x0004

    #define     BA_ISA_DIV_Opcode_INS                          0x0004
    #define     B16ISA_DIV_Opcode_INS                          0x0004
    #define   LSb32ISA_DIV_Opcode_INS                             0
    #define   LSb16ISA_DIV_Opcode_INS                             0
    #define       bISA_DIV_Opcode_INS                          24
    #define   MSK32ISA_DIV_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_ID                                  0x0008

    #define     BA_ISA_DIV_ID_RBRF                             0x0008
    #define     B16ISA_DIV_ID_RBRF                             0x0008
    #define   LSb32ISA_DIV_ID_RBRF                                0
    #define   LSb16ISA_DIV_ID_RBRF                                0
    #define       bISA_DIV_ID_RBRF                             1
    #define   MSK32ISA_DIV_ID_RBRF                                0x00000001

    #define     BA_ISA_DIV_ID_RARF                             0x0008
    #define     B16ISA_DIV_ID_RARF                             0x0008
    #define   LSb32ISA_DIV_ID_RARF                                1
    #define   LSb16ISA_DIV_ID_RARF                                1
    #define       bISA_DIV_ID_RARF                             1
    #define   MSK32ISA_DIV_ID_RARF                                0x00000002

    #define     BA_ISA_DIV_ID_RAK8                             0x0008
    #define     B16ISA_DIV_ID_RAK8                             0x0008
    #define   LSb32ISA_DIV_ID_RAK8                                2
    #define   LSb16ISA_DIV_ID_RAK8                                2
    #define       bISA_DIV_ID_RAK8                             1
    #define   MSK32ISA_DIV_ID_RAK8                                0x00000004

    #define     BA_ISA_DIV_ID_RAI16                            0x0008
    #define     B16ISA_DIV_ID_RAI16                            0x0008
    #define   LSb32ISA_DIV_ID_RAI16                               3
    #define   LSb16ISA_DIV_ID_RAI16                               3
    #define       bISA_DIV_ID_RAI16                            1
    #define   MSK32ISA_DIV_ID_RAI16                               0x00000008

    #define     BA_ISA_DIV_ID_RAK16                            0x0008
    #define     B16ISA_DIV_ID_RAK16                            0x0008
    #define   LSb32ISA_DIV_ID_RAK16                               4
    #define   LSb16ISA_DIV_ID_RAK16                               4
    #define       bISA_DIV_ID_RAK16                            1
    #define   MSK32ISA_DIV_ID_RAK16                               0x00000010

    #define     BA_ISA_DIV_ID_RFSP                             0x0008
    #define     B16ISA_DIV_ID_RFSP                             0x0008
    #define   LSb32ISA_DIV_ID_RFSP                                5
    #define   LSb16ISA_DIV_ID_RFSP                                5
    #define       bISA_DIV_ID_RFSP                             1
    #define   MSK32ISA_DIV_ID_RFSP                                0x00000020

    #define     BA_ISA_DIV_ID_W4D4                             0x0008
    #define     B16ISA_DIV_ID_W4D4                             0x0008
    #define   LSb32ISA_DIV_ID_W4D4                                6
    #define   LSb16ISA_DIV_ID_W4D4                                6
    #define       bISA_DIV_ID_W4D4                             1
    #define   MSK32ISA_DIV_ID_W4D4                                0x00000040

    #define     BA_ISA_DIV_ID_W4S4                             0x0008
    #define     B16ISA_DIV_ID_W4S4                             0x0008
    #define   LSb32ISA_DIV_ID_W4S4                                7
    #define   LSb16ISA_DIV_ID_W4S4                                7
    #define       bISA_DIV_ID_W4S4                             1
    #define   MSK32ISA_DIV_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_LD                                  0x000C

    #define     BA_ISA_DIV_LD_SPRF                             0x000C
    #define     B16ISA_DIV_LD_SPRF                             0x000C
    #define   LSb32ISA_DIV_LD_SPRF                                0
    #define   LSb16ISA_DIV_LD_SPRF                                0
    #define       bISA_DIV_LD_SPRF                             1
    #define   MSK32ISA_DIV_LD_SPRF                                0x00000001

    #define     BA_ISA_DIV_LD_SPK8                             0x000C
    #define     B16ISA_DIV_LD_SPK8                             0x000C
    #define   LSb32ISA_DIV_LD_SPK8                                1
    #define   LSb16ISA_DIV_LD_SPK8                                1
    #define       bISA_DIV_LD_SPK8                             1
    #define   MSK32ISA_DIV_LD_SPK8                                0x00000002

    #define     BA_ISA_DIV_LD_SPJ                              0x000C
    #define     B16ISA_DIV_LD_SPJ                              0x000C
    #define   LSb32ISA_DIV_LD_SPJ                                 2
    #define   LSb16ISA_DIV_LD_SPJ                                 2
    #define       bISA_DIV_LD_SPJ                              1
    #define   MSK32ISA_DIV_LD_SPJ                                 0x00000004

    #define     BA_ISA_DIV_LD_SP4S                             0x000C
    #define     B16ISA_DIV_LD_SP4S                             0x000C
    #define   LSb32ISA_DIV_LD_SP4S                                3
    #define   LSb16ISA_DIV_LD_SP4S                                3
    #define       bISA_DIV_LD_SP4S                             1
    #define   MSK32ISA_DIV_LD_SP4S                                0x00000008

    #define     BA_ISA_DIV_LD_SP8S                             0x000C
    #define     B16ISA_DIV_LD_SP8S                             0x000C
    #define   LSb32ISA_DIV_LD_SP8S                                4
    #define   LSb16ISA_DIV_LD_SP8S                                4
    #define       bISA_DIV_LD_SP8S                             1
    #define   MSK32ISA_DIV_LD_SP8S                                0x00000010

    #define     BA_ISA_DIV_LD_SP8U                             0x000C
    #define     B16ISA_DIV_LD_SP8U                             0x000C
    #define   LSb32ISA_DIV_LD_SP8U                                5
    #define   LSb16ISA_DIV_LD_SP8U                                5
    #define       bISA_DIV_LD_SP8U                             1
    #define   MSK32ISA_DIV_LD_SP8U                                0x00000020

    #define     BA_ISA_DIV_LD_SP12S                            0x000C
    #define     B16ISA_DIV_LD_SP12S                            0x000C
    #define   LSb32ISA_DIV_LD_SP12S                               6
    #define   LSb16ISA_DIV_LD_SP12S                               6
    #define       bISA_DIV_LD_SP12S                            1
    #define   MSK32ISA_DIV_LD_SP12S                               0x00000040

    #define     BA_ISA_DIV_LD_SP16                             0x000C
    #define     B16ISA_DIV_LD_SP16                             0x000C
    #define   LSb32ISA_DIV_LD_SP16                                7
    #define   LSb16ISA_DIV_LD_SP16                                7
    #define       bISA_DIV_LD_SP16                             1
    #define   MSK32ISA_DIV_LD_SP16                                0x00000080

    #define     BA_ISA_DIV_LD_TPRF                             0x000D
    #define     B16ISA_DIV_LD_TPRF                             0x000C
    #define   LSb32ISA_DIV_LD_TPRF                                8
    #define   LSb16ISA_DIV_LD_TPRF                                8
    #define       bISA_DIV_LD_TPRF                             1
    #define   MSK32ISA_DIV_LD_TPRF                                0x00000100

    #define     BA_ISA_DIV_LD_TPJ                              0x000D
    #define     B16ISA_DIV_LD_TPJ                              0x000C
    #define   LSb32ISA_DIV_LD_TPJ                                 9
    #define   LSb16ISA_DIV_LD_TPJ                                 9
    #define       bISA_DIV_LD_TPJ                              1
    #define   MSK32ISA_DIV_LD_TPJ                                 0x00000200

    #define     BA_ISA_DIV_LD_TP4S                             0x000D
    #define     B16ISA_DIV_LD_TP4S                             0x000C
    #define   LSb32ISA_DIV_LD_TP4S                                10
    #define   LSb16ISA_DIV_LD_TP4S                                10
    #define       bISA_DIV_LD_TP4S                             1
    #define   MSK32ISA_DIV_LD_TP4S                                0x00000400

    #define     BA_ISA_DIV_LD_TP8L                             0x000D
    #define     B16ISA_DIV_LD_TP8L                             0x000C
    #define   LSb32ISA_DIV_LD_TP8L                                11
    #define   LSb16ISA_DIV_LD_TP8L                                11
    #define       bISA_DIV_LD_TP8L                             1
    #define   MSK32ISA_DIV_LD_TP8L                                0x00000800

    #define     BA_ISA_DIV_LD_TP8H                             0x000D
    #define     B16ISA_DIV_LD_TP8H                             0x000C
    #define   LSb32ISA_DIV_LD_TP8H                                12
    #define   LSb16ISA_DIV_LD_TP8H                                12
    #define       bISA_DIV_LD_TP8H                             1
    #define   MSK32ISA_DIV_LD_TP8H                                0x00001000

    #define     BA_ISA_DIV_LD_TP8LF                            0x000D
    #define     B16ISA_DIV_LD_TP8LF                            0x000C
    #define   LSb32ISA_DIV_LD_TP8LF                               13
    #define   LSb16ISA_DIV_LD_TP8LF                               13
    #define       bISA_DIV_LD_TP8LF                            1
    #define   MSK32ISA_DIV_LD_TP8LF                               0x00002000

    #define     BA_ISA_DIV_LD_TP8HF                            0x000D
    #define     B16ISA_DIV_LD_TP8HF                            0x000C
    #define   LSb32ISA_DIV_LD_TP8HF                               14
    #define   LSb16ISA_DIV_LD_TP8HF                               14
    #define       bISA_DIV_LD_TP8HF                            1
    #define   MSK32ISA_DIV_LD_TP8HF                               0x00004000

    #define     BA_ISA_DIV_LD_SQRF64                           0x000D
    #define     B16ISA_DIV_LD_SQRF64                           0x000C
    #define   LSb32ISA_DIV_LD_SQRF64                              15
    #define   LSb16ISA_DIV_LD_SQRF64                              15
    #define       bISA_DIV_LD_SQRF64                           1
    #define   MSK32ISA_DIV_LD_SQRF64                              0x00008000

    #define     BA_ISA_DIV_LD_TQRF16Q                          0x000E
    #define     B16ISA_DIV_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_DIV_LD_TQRF16Q                             16
    #define   LSb16ISA_DIV_LD_TQRF16Q                             0
    #define       bISA_DIV_LD_TQRF16Q                          1
    #define   MSK32ISA_DIV_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_DIV_LD_TQRFx4                           0x000E
    #define     B16ISA_DIV_LD_TQRFx4                           0x000E
    #define   LSb32ISA_DIV_LD_TQRFx4                              17
    #define   LSb16ISA_DIV_LD_TQRFx4                              1
    #define       bISA_DIV_LD_TQRFx4                           1
    #define   MSK32ISA_DIV_LD_TQRFx4                              0x00020000

    #define     BA_ISA_DIV_LD_RD                               0x000E
    #define     B16ISA_DIV_LD_RD                               0x000E
    #define   LSb32ISA_DIV_LD_RD                                  18
    #define   LSb16ISA_DIV_LD_RD                                  2
    #define       bISA_DIV_LD_RD                               1
    #define   MSK32ISA_DIV_LD_RD                                  0x00040000

    #define     BA_ISA_DIV_LD_WARF                             0x000E
    #define     B16ISA_DIV_LD_WARF                             0x000E
    #define   LSb32ISA_DIV_LD_WARF                                19
    #define   LSb16ISA_DIV_LD_WARF                                3
    #define       bISA_DIV_LD_WARF                             1
    #define   MSK32ISA_DIV_LD_WARF                                0x00080000

    #define     BA_ISA_DIV_LD_WAK8                             0x000E
    #define     B16ISA_DIV_LD_WAK8                             0x000E
    #define   LSb32ISA_DIV_LD_WAK8                                20
    #define   LSb16ISA_DIV_LD_WAK8                                4
    #define       bISA_DIV_LD_WAK8                             1
    #define   MSK32ISA_DIV_LD_WAK8                                0x00100000

    #define     BA_ISA_DIV_LD_WAK16                            0x000E
    #define     B16ISA_DIV_LD_WAK16                            0x000E
    #define   LSb32ISA_DIV_LD_WAK16                               21
    #define   LSb16ISA_DIV_LD_WAK16                               5
    #define       bISA_DIV_LD_WAK16                            1
    #define   MSK32ISA_DIV_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_EX                                  0x0010

    #define     BA_ISA_DIV_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_DIV_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagZ                          0
    #define   LSb16ISA_DIV_EX_ALU16FlagZ                          0
    #define       bISA_DIV_EX_ALU16FlagZ                       1
    #define   MSK32ISA_DIV_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_DIV_EX_ALU16FlagC                       0x0010
    #define     B16ISA_DIV_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagC                          1
    #define   LSb16ISA_DIV_EX_ALU16FlagC                          1
    #define       bISA_DIV_EX_ALU16FlagC                       1
    #define   MSK32ISA_DIV_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_DIV_EX_ALU16FlagN                       0x0010
    #define     B16ISA_DIV_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagN                          2
    #define   LSb16ISA_DIV_EX_ALU16FlagN                          2
    #define       bISA_DIV_EX_ALU16FlagN                       1
    #define   MSK32ISA_DIV_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_DIV_EX_ALU16FlagV                       0x0010
    #define     B16ISA_DIV_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagV                          3
    #define   LSb16ISA_DIV_EX_ALU16FlagV                          3
    #define       bISA_DIV_EX_ALU16FlagV                       1
    #define   MSK32ISA_DIV_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_DIV_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_DIV_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagTP                         4
    #define   LSb16ISA_DIV_EX_ALU16FlagTP                         4
    #define       bISA_DIV_EX_ALU16FlagTP                      1
    #define   MSK32ISA_DIV_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_DIV_EX_ALU16MUL                         0x0010
    #define     B16ISA_DIV_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16MUL                            5
    #define   LSb16ISA_DIV_EX_ALU16MUL                            5
    #define       bISA_DIV_EX_ALU16MUL                         1
    #define   MSK32ISA_DIV_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_DIV_EX_ALU16DIV                         0x0010
    #define     B16ISA_DIV_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16DIV                            6
    #define   LSb16ISA_DIV_EX_ALU16DIV                            6
    #define       bISA_DIV_EX_ALU16DIV                         1
    #define   MSK32ISA_DIV_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_DIV_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_DIV_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_DIV_EX_ALU16FlagLD                         7
    #define   LSb16ISA_DIV_EX_ALU16FlagLD                         7
    #define       bISA_DIV_EX_ALU16FlagLD                      1
    #define   MSK32ISA_DIV_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_DIV_EX_ALU16MDL                         0x0011
    #define     B16ISA_DIV_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16MDL                            8
    #define   LSb16ISA_DIV_EX_ALU16MDL                            8
    #define       bISA_DIV_EX_ALU16MDL                         1
    #define   MSK32ISA_DIV_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_DIV_EX_ALU16MDH                         0x0011
    #define     B16ISA_DIV_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16MDH                            9
    #define   LSb16ISA_DIV_EX_ALU16MDH                            9
    #define       bISA_DIV_EX_ALU16MDH                         1
    #define   MSK32ISA_DIV_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_DIV_EX_ALU16ADD                         0x0011
    #define     B16ISA_DIV_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16ADD                            10
    #define   LSb16ISA_DIV_EX_ALU16ADD                            10
    #define       bISA_DIV_EX_ALU16ADD                         1
    #define   MSK32ISA_DIV_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_DIV_EX_ALU16SUB                         0x0011
    #define     B16ISA_DIV_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16SUB                            11
    #define   LSb16ISA_DIV_EX_ALU16SUB                            11
    #define       bISA_DIV_EX_ALU16SUB                         1
    #define   MSK32ISA_DIV_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_DIV_EX_ALU16ADDC                        0x0011
    #define     B16ISA_DIV_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_DIV_EX_ALU16ADDC                           12
    #define   LSb16ISA_DIV_EX_ALU16ADDC                           12
    #define       bISA_DIV_EX_ALU16ADDC                        1
    #define   MSK32ISA_DIV_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_DIV_EX_ALU16SUBC                        0x0011
    #define     B16ISA_DIV_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_DIV_EX_ALU16SUBC                           13
    #define   LSb16ISA_DIV_EX_ALU16SUBC                           13
    #define       bISA_DIV_EX_ALU16SUBC                        1
    #define   MSK32ISA_DIV_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_DIV_EX_ALU16ASR                         0x0011
    #define     B16ISA_DIV_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_DIV_EX_ALU16ASR                            14
    #define   LSb16ISA_DIV_EX_ALU16ASR                            14
    #define       bISA_DIV_EX_ALU16ASR                         1
    #define   MSK32ISA_DIV_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_DIV_EX_ALU16SL                          0x0011
    #define     B16ISA_DIV_EX_ALU16SL                          0x0010
    #define   LSb32ISA_DIV_EX_ALU16SL                             15
    #define   LSb16ISA_DIV_EX_ALU16SL                             15
    #define       bISA_DIV_EX_ALU16SL                          1
    #define   MSK32ISA_DIV_EX_ALU16SL                             0x00008000

    #define     BA_ISA_DIV_EX_ALU16SR                          0x0012
    #define     B16ISA_DIV_EX_ALU16SR                          0x0012
    #define   LSb32ISA_DIV_EX_ALU16SR                             16
    #define   LSb16ISA_DIV_EX_ALU16SR                             0
    #define       bISA_DIV_EX_ALU16SR                          1
    #define   MSK32ISA_DIV_EX_ALU16SR                             0x00010000

    #define     BA_ISA_DIV_EX_ALU16GET                         0x0012
    #define     B16ISA_DIV_EX_ALU16GET                         0x0012
    #define   LSb32ISA_DIV_EX_ALU16GET                            17
    #define   LSb16ISA_DIV_EX_ALU16GET                            1
    #define       bISA_DIV_EX_ALU16GET                         1
    #define   MSK32ISA_DIV_EX_ALU16GET                            0x00020000

    #define     BA_ISA_DIV_EX_ALU16SET                         0x0012
    #define     B16ISA_DIV_EX_ALU16SET                         0x0012
    #define   LSb32ISA_DIV_EX_ALU16SET                            18
    #define   LSb16ISA_DIV_EX_ALU16SET                            2
    #define       bISA_DIV_EX_ALU16SET                         1
    #define   MSK32ISA_DIV_EX_ALU16SET                            0x00040000

    #define     BA_ISA_DIV_EX_ALU16SEL                         0x0012
    #define     B16ISA_DIV_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_DIV_EX_ALU16SEL                            19
    #define   LSb16ISA_DIV_EX_ALU16SEL                            3
    #define       bISA_DIV_EX_ALU16SEL                         1
    #define   MSK32ISA_DIV_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_DIV_EX_ALU16OR                          0x0012
    #define     B16ISA_DIV_EX_ALU16OR                          0x0012
    #define   LSb32ISA_DIV_EX_ALU16OR                             20
    #define   LSb16ISA_DIV_EX_ALU16OR                             4
    #define       bISA_DIV_EX_ALU16OR                          1
    #define   MSK32ISA_DIV_EX_ALU16OR                             0x00100000

    #define     BA_ISA_DIV_EX_ALU16AND                         0x0012
    #define     B16ISA_DIV_EX_ALU16AND                         0x0012
    #define   LSb32ISA_DIV_EX_ALU16AND                            21
    #define   LSb16ISA_DIV_EX_ALU16AND                            5
    #define       bISA_DIV_EX_ALU16AND                         1
    #define   MSK32ISA_DIV_EX_ALU16AND                            0x00200000

    #define     BA_ISA_DIV_EX_ALU16XOR                         0x0012
    #define     B16ISA_DIV_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_DIV_EX_ALU16XOR                            22
    #define   LSb16ISA_DIV_EX_ALU16XOR                            6
    #define       bISA_DIV_EX_ALU16XOR                         1
    #define   MSK32ISA_DIV_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_DIV_EX_ALU16SP                          0x0012
    #define     B16ISA_DIV_EX_ALU16SP                          0x0012
    #define   LSb32ISA_DIV_EX_ALU16SP                             23
    #define   LSb16ISA_DIV_EX_ALU16SP                             7
    #define       bISA_DIV_EX_ALU16SP                          1
    #define   MSK32ISA_DIV_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_EXX                                 0x0014

    #define     BA_ISA_DIV_EXX_WRSQ                            0x0014
    #define     B16ISA_DIV_EXX_WRSQ                            0x0014
    #define   LSb32ISA_DIV_EXX_WRSQ                               0
    #define   LSb16ISA_DIV_EXX_WRSQ                               0
    #define       bISA_DIV_EXX_WRSQ                            1
    #define   MSK32ISA_DIV_EXX_WRSQ                               0x00000001

    #define     BA_ISA_DIV_EXX_WR16                            0x0014
    #define     B16ISA_DIV_EXX_WR16                            0x0014
    #define   LSb32ISA_DIV_EXX_WR16                               1
    #define   LSb16ISA_DIV_EXX_WR16                               1
    #define       bISA_DIV_EXX_WR16                            1
    #define   MSK32ISA_DIV_EXX_WR16                               0x00000002

    #define     BA_ISA_DIV_EXX_WRTQ                            0x0014
    #define     B16ISA_DIV_EXX_WRTQ                            0x0014
    #define   LSb32ISA_DIV_EXX_WRTQ                               2
    #define   LSb16ISA_DIV_EXX_WRTQ                               2
    #define       bISA_DIV_EXX_WRTQ                            1
    #define   MSK32ISA_DIV_EXX_WRTQ                               0x00000004

    #define     BA_ISA_DIV_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_DIV_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_DIV_EXX_ALU64PUSH                          3
    #define   LSb16ISA_DIV_EXX_ALU64PUSH                          3
    #define       bISA_DIV_EXX_ALU64PUSH                       1
    #define   MSK32ISA_DIV_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_DIV_EXX_ALU64POP                        0x0014
    #define     B16ISA_DIV_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_DIV_EXX_ALU64POP                           4
    #define   LSb16ISA_DIV_EXX_ALU64POP                           4
    #define       bISA_DIV_EXX_ALU64POP                        1
    #define   MSK32ISA_DIV_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_DIV_EXX_ALU64SQ                         0x0014
    #define     B16ISA_DIV_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_DIV_EXX_ALU64SQ                            5
    #define   LSb16ISA_DIV_EXX_ALU64SQ                            5
    #define       bISA_DIV_EXX_ALU64SQ                         1
    #define   MSK32ISA_DIV_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_DIV_EXX_ALU64TQ                         0x0014
    #define     B16ISA_DIV_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_DIV_EXX_ALU64TQ                            6
    #define   LSb16ISA_DIV_EXX_ALU64TQ                            6
    #define       bISA_DIV_EXX_ALU64TQ                         1
    #define   MSK32ISA_DIV_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_DIV_EXX_ALU64MEM                        0x0014
    #define     B16ISA_DIV_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_DIV_EXX_ALU64MEM                           7
    #define   LSb16ISA_DIV_EXX_ALU64MEM                           7
    #define       bISA_DIV_EXX_ALU64MEM                        1
    #define   MSK32ISA_DIV_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_DIV_EXX_BRANCH                          0x0015
    #define     B16ISA_DIV_EXX_BRANCH                          0x0014
    #define   LSb32ISA_DIV_EXX_BRANCH                             8
    #define   LSb16ISA_DIV_EXX_BRANCH                             8
    #define       bISA_DIV_EXX_BRANCH                          1
    #define   MSK32ISA_DIV_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_DIV_WB                                  0x0018

    #define     BA_ISA_DIV_WB_RF16                             0x0018
    #define     B16ISA_DIV_WB_RF16                             0x0018
    #define   LSb32ISA_DIV_WB_RF16                                0
    #define   LSb16ISA_DIV_WB_RF16                                0
    #define       bISA_DIV_WB_RF16                             1
    #define   MSK32ISA_DIV_WB_RF16                                0x00000001

    #define     BA_ISA_DIV_WB_RF16W0                           0x0018
    #define     B16ISA_DIV_WB_RF16W0                           0x0018
    #define   LSb32ISA_DIV_WB_RF16W0                              1
    #define   LSb16ISA_DIV_WB_RF16W0                              1
    #define       bISA_DIV_WB_RF16W0                           1
    #define   MSK32ISA_DIV_WB_RF16W0                              0x00000002

    #define     BA_ISA_DIV_WB_RF16MEM                          0x0018
    #define     B16ISA_DIV_WB_RF16MEM                          0x0018
    #define   LSb32ISA_DIV_WB_RF16MEM                             2
    #define   LSb16ISA_DIV_WB_RF16MEM                             2
    #define       bISA_DIV_WB_RF16MEM                          1
    #define   MSK32ISA_DIV_WB_RF16MEM                             0x00000004

    #define     BA_ISA_DIV_WB_RF16Q                            0x0018
    #define     B16ISA_DIV_WB_RF16Q                            0x0018
    #define   LSb32ISA_DIV_WB_RF16Q                               3
    #define   LSb16ISA_DIV_WB_RF16Q                               3
    #define       bISA_DIV_WB_RF16Q                            1
    #define   MSK32ISA_DIV_WB_RF16Q                               0x00000008

    #define     BA_ISA_DIV_WB_RF64                             0x0018
    #define     B16ISA_DIV_WB_RF64                             0x0018
    #define   LSb32ISA_DIV_WB_RF64                                4
    #define   LSb16ISA_DIV_WB_RF64                                4
    #define       bISA_DIV_WB_RF64                             1
    #define   MSK32ISA_DIV_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_DIV {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_DIV_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_DIV_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_DIV_Mask;
            struct w32ISA_DIV_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_DIV_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_DIV_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_DIV_Opcode;
            struct w32ISA_DIV_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIV_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIV_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIV_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIV_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIV_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIV_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIV_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIV_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIV_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIV_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIV_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIV_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIV_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIV_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIV_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIV_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIV_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIV_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIV_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIV_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_DIV_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_DIV_ID;
            struct w32ISA_DIV_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIV_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIV_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIV_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIV_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIV_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIV_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIV_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIV_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIV_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIV_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIV_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIV_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIV_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIV_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIV_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIV_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIV_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIV_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIV_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIV_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIV_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIV_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIV_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIV_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_DIV_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_DIV_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_DIV_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_DIV_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_DIV_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_DIV_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_DIV_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_DIV_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_DIV_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_DIV_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_DIV_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_DIV_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_DIV_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_DIV_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_DIV_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_DIV_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_DIV_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_DIV_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_DIV_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_DIV_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_DIV_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_DIV_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_DIV_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_DIV_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_DIV_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_DIV_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_DIV_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_DIV_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_DIV_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_DIV_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_DIV_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_DIV_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_DIV_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_DIV_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_DIV_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_DIV_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_DIV_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_DIV_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_DIV_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_DIV_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_DIV_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_DIV_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_DIV_LD;
            struct w32ISA_DIV_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIV_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIV_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIV_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIV_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIV_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIV_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIV_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIV_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIV_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIV_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIV_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIV_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIV_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIV_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIV_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIV_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIV_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIV_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIV_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIV_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIV_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIV_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIV_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIV_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_DIV_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_DIV_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_DIV_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_DIV_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_DIV_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_DIV_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_DIV_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_DIV_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_DIV_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_DIV_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_DIV_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_DIV_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_DIV_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_DIV_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_DIV_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_DIV_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_DIV_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_DIV_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_DIV_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_DIV_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_DIV_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_DIV_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_DIV_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_DIV_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_DIV_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_DIV_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_DIV_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_DIV_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_DIV_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_DIV_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_DIV_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_DIV_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_DIV_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_DIV_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_DIV_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_DIV_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_DIV_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_DIV_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_DIV_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_DIV_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_DIV_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIV_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_DIV_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_DIV_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIV_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIV_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_DIV_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_DIV_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIV_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_DIV_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_DIV_EX;
            struct w32ISA_DIV_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIV_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIV_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIV_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIV_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIV_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIV_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIV_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIV_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIV_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIV_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_DIV_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_DIV_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_DIV_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_DIV_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_DIV_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_DIV_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_DIV_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_DIV_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_DIV_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_DIV_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_DIV_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_DIV_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_DIV_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_DIV_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_DIV_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_DIV_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_DIV_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_DIV_EXX;
            struct w32ISA_DIV_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_DIV_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_DIV_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_DIV_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_DIV_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_DIV_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_DIV_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_DIV_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_DIV_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_DIV_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_DIV_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_DIV_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_DIV_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_DIV_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_DIV_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_DIV_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_DIV_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_DIV_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_DIV_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_DIV_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_DIV_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_DIV_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_DIV_WB;
            struct w32ISA_DIV_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_DIV;

    typedef union  T32ISA_DIV_Mask
          { UNSG32 u32;
            struct w32ISA_DIV_Mask;
                 } T32ISA_DIV_Mask;
    typedef union  T32ISA_DIV_Opcode
          { UNSG32 u32;
            struct w32ISA_DIV_Opcode;
                 } T32ISA_DIV_Opcode;
    typedef union  T32ISA_DIV_ID
          { UNSG32 u32;
            struct w32ISA_DIV_ID;
                 } T32ISA_DIV_ID;
    typedef union  T32ISA_DIV_LD
          { UNSG32 u32;
            struct w32ISA_DIV_LD;
                 } T32ISA_DIV_LD;
    typedef union  T32ISA_DIV_EX
          { UNSG32 u32;
            struct w32ISA_DIV_EX;
                 } T32ISA_DIV_EX;
    typedef union  T32ISA_DIV_EXX
          { UNSG32 u32;
            struct w32ISA_DIV_EXX;
                 } T32ISA_DIV_EXX;
    typedef union  T32ISA_DIV_WB
          { UNSG32 u32;
            struct w32ISA_DIV_WB;
                 } T32ISA_DIV_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_DIV_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_Mask;
                   };
                 } TISA_DIV_Mask;
    typedef union  TISA_DIV_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_Opcode;
                   };
                 } TISA_DIV_Opcode;
    typedef union  TISA_DIV_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_ID;
                   };
                 } TISA_DIV_ID;
    typedef union  TISA_DIV_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_LD;
                   };
                 } TISA_DIV_LD;
    typedef union  TISA_DIV_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_EX;
                   };
                 } TISA_DIV_EX;
    typedef union  TISA_DIV_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_EXX;
                   };
                 } TISA_DIV_EXX;
    typedef union  TISA_DIV_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_DIV_WB;
                   };
                 } TISA_DIV_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_DIV_drvrd(SIE_ISA_DIV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_DIV_drvwr(SIE_ISA_DIV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_DIV_reset(SIE_ISA_DIV *p);
     SIGN32 ISA_DIV_cmp  (SIE_ISA_DIV *p, SIE_ISA_DIV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_DIV_check(p,pie,pfx,hLOG) ISA_DIV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_DIV_print(p,    pfx,hLOG) ISA_DIV_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_DIV
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_LDMDL                                (4,4)
///     ###
///     * Load MDU result MDL[15:0] to a register.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xE0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "LD.MDL" , "rD"          , "0000 1110 ---- ---- ---- DDDD" } ,
///                                    * - Usage:
///                                    * -    LD.MDL   %a1             ; %a1 = MDL[15:0];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  0x1
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_LDMDL
#define h_ISA_LDMDL (){}

    #define     RA_ISA_LDMDL_Mask                              0x0000

    #define     BA_ISA_LDMDL_Mask_INS                          0x0000
    #define     B16ISA_LDMDL_Mask_INS                          0x0000
    #define   LSb32ISA_LDMDL_Mask_INS                             0
    #define   LSb16ISA_LDMDL_Mask_INS                             0
    #define       bISA_LDMDL_Mask_INS                          24
    #define   MSK32ISA_LDMDL_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_Opcode                            0x0004

    #define     BA_ISA_LDMDL_Opcode_INS                        0x0004
    #define     B16ISA_LDMDL_Opcode_INS                        0x0004
    #define   LSb32ISA_LDMDL_Opcode_INS                           0
    #define   LSb16ISA_LDMDL_Opcode_INS                           0
    #define       bISA_LDMDL_Opcode_INS                        24
    #define   MSK32ISA_LDMDL_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_ID                                0x0008

    #define     BA_ISA_LDMDL_ID_RBRF                           0x0008
    #define     B16ISA_LDMDL_ID_RBRF                           0x0008
    #define   LSb32ISA_LDMDL_ID_RBRF                              0
    #define   LSb16ISA_LDMDL_ID_RBRF                              0
    #define       bISA_LDMDL_ID_RBRF                           1
    #define   MSK32ISA_LDMDL_ID_RBRF                              0x00000001

    #define     BA_ISA_LDMDL_ID_RARF                           0x0008
    #define     B16ISA_LDMDL_ID_RARF                           0x0008
    #define   LSb32ISA_LDMDL_ID_RARF                              1
    #define   LSb16ISA_LDMDL_ID_RARF                              1
    #define       bISA_LDMDL_ID_RARF                           1
    #define   MSK32ISA_LDMDL_ID_RARF                              0x00000002

    #define     BA_ISA_LDMDL_ID_RAK8                           0x0008
    #define     B16ISA_LDMDL_ID_RAK8                           0x0008
    #define   LSb32ISA_LDMDL_ID_RAK8                              2
    #define   LSb16ISA_LDMDL_ID_RAK8                              2
    #define       bISA_LDMDL_ID_RAK8                           1
    #define   MSK32ISA_LDMDL_ID_RAK8                              0x00000004

    #define     BA_ISA_LDMDL_ID_RAI16                          0x0008
    #define     B16ISA_LDMDL_ID_RAI16                          0x0008
    #define   LSb32ISA_LDMDL_ID_RAI16                             3
    #define   LSb16ISA_LDMDL_ID_RAI16                             3
    #define       bISA_LDMDL_ID_RAI16                          1
    #define   MSK32ISA_LDMDL_ID_RAI16                             0x00000008

    #define     BA_ISA_LDMDL_ID_RAK16                          0x0008
    #define     B16ISA_LDMDL_ID_RAK16                          0x0008
    #define   LSb32ISA_LDMDL_ID_RAK16                             4
    #define   LSb16ISA_LDMDL_ID_RAK16                             4
    #define       bISA_LDMDL_ID_RAK16                          1
    #define   MSK32ISA_LDMDL_ID_RAK16                             0x00000010

    #define     BA_ISA_LDMDL_ID_RFSP                           0x0008
    #define     B16ISA_LDMDL_ID_RFSP                           0x0008
    #define   LSb32ISA_LDMDL_ID_RFSP                              5
    #define   LSb16ISA_LDMDL_ID_RFSP                              5
    #define       bISA_LDMDL_ID_RFSP                           1
    #define   MSK32ISA_LDMDL_ID_RFSP                              0x00000020

    #define     BA_ISA_LDMDL_ID_W4D4                           0x0008
    #define     B16ISA_LDMDL_ID_W4D4                           0x0008
    #define   LSb32ISA_LDMDL_ID_W4D4                              6
    #define   LSb16ISA_LDMDL_ID_W4D4                              6
    #define       bISA_LDMDL_ID_W4D4                           1
    #define   MSK32ISA_LDMDL_ID_W4D4                              0x00000040

    #define     BA_ISA_LDMDL_ID_W4S4                           0x0008
    #define     B16ISA_LDMDL_ID_W4S4                           0x0008
    #define   LSb32ISA_LDMDL_ID_W4S4                              7
    #define   LSb16ISA_LDMDL_ID_W4S4                              7
    #define       bISA_LDMDL_ID_W4S4                           1
    #define   MSK32ISA_LDMDL_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_LD                                0x000C

    #define     BA_ISA_LDMDL_LD_SPRF                           0x000C
    #define     B16ISA_LDMDL_LD_SPRF                           0x000C
    #define   LSb32ISA_LDMDL_LD_SPRF                              0
    #define   LSb16ISA_LDMDL_LD_SPRF                              0
    #define       bISA_LDMDL_LD_SPRF                           1
    #define   MSK32ISA_LDMDL_LD_SPRF                              0x00000001

    #define     BA_ISA_LDMDL_LD_SPK8                           0x000C
    #define     B16ISA_LDMDL_LD_SPK8                           0x000C
    #define   LSb32ISA_LDMDL_LD_SPK8                              1
    #define   LSb16ISA_LDMDL_LD_SPK8                              1
    #define       bISA_LDMDL_LD_SPK8                           1
    #define   MSK32ISA_LDMDL_LD_SPK8                              0x00000002

    #define     BA_ISA_LDMDL_LD_SPJ                            0x000C
    #define     B16ISA_LDMDL_LD_SPJ                            0x000C
    #define   LSb32ISA_LDMDL_LD_SPJ                               2
    #define   LSb16ISA_LDMDL_LD_SPJ                               2
    #define       bISA_LDMDL_LD_SPJ                            1
    #define   MSK32ISA_LDMDL_LD_SPJ                               0x00000004

    #define     BA_ISA_LDMDL_LD_SP4S                           0x000C
    #define     B16ISA_LDMDL_LD_SP4S                           0x000C
    #define   LSb32ISA_LDMDL_LD_SP4S                              3
    #define   LSb16ISA_LDMDL_LD_SP4S                              3
    #define       bISA_LDMDL_LD_SP4S                           1
    #define   MSK32ISA_LDMDL_LD_SP4S                              0x00000008

    #define     BA_ISA_LDMDL_LD_SP8S                           0x000C
    #define     B16ISA_LDMDL_LD_SP8S                           0x000C
    #define   LSb32ISA_LDMDL_LD_SP8S                              4
    #define   LSb16ISA_LDMDL_LD_SP8S                              4
    #define       bISA_LDMDL_LD_SP8S                           1
    #define   MSK32ISA_LDMDL_LD_SP8S                              0x00000010

    #define     BA_ISA_LDMDL_LD_SP8U                           0x000C
    #define     B16ISA_LDMDL_LD_SP8U                           0x000C
    #define   LSb32ISA_LDMDL_LD_SP8U                              5
    #define   LSb16ISA_LDMDL_LD_SP8U                              5
    #define       bISA_LDMDL_LD_SP8U                           1
    #define   MSK32ISA_LDMDL_LD_SP8U                              0x00000020

    #define     BA_ISA_LDMDL_LD_SP12S                          0x000C
    #define     B16ISA_LDMDL_LD_SP12S                          0x000C
    #define   LSb32ISA_LDMDL_LD_SP12S                             6
    #define   LSb16ISA_LDMDL_LD_SP12S                             6
    #define       bISA_LDMDL_LD_SP12S                          1
    #define   MSK32ISA_LDMDL_LD_SP12S                             0x00000040

    #define     BA_ISA_LDMDL_LD_SP16                           0x000C
    #define     B16ISA_LDMDL_LD_SP16                           0x000C
    #define   LSb32ISA_LDMDL_LD_SP16                              7
    #define   LSb16ISA_LDMDL_LD_SP16                              7
    #define       bISA_LDMDL_LD_SP16                           1
    #define   MSK32ISA_LDMDL_LD_SP16                              0x00000080

    #define     BA_ISA_LDMDL_LD_TPRF                           0x000D
    #define     B16ISA_LDMDL_LD_TPRF                           0x000C
    #define   LSb32ISA_LDMDL_LD_TPRF                              8
    #define   LSb16ISA_LDMDL_LD_TPRF                              8
    #define       bISA_LDMDL_LD_TPRF                           1
    #define   MSK32ISA_LDMDL_LD_TPRF                              0x00000100

    #define     BA_ISA_LDMDL_LD_TPJ                            0x000D
    #define     B16ISA_LDMDL_LD_TPJ                            0x000C
    #define   LSb32ISA_LDMDL_LD_TPJ                               9
    #define   LSb16ISA_LDMDL_LD_TPJ                               9
    #define       bISA_LDMDL_LD_TPJ                            1
    #define   MSK32ISA_LDMDL_LD_TPJ                               0x00000200

    #define     BA_ISA_LDMDL_LD_TP4S                           0x000D
    #define     B16ISA_LDMDL_LD_TP4S                           0x000C
    #define   LSb32ISA_LDMDL_LD_TP4S                              10
    #define   LSb16ISA_LDMDL_LD_TP4S                              10
    #define       bISA_LDMDL_LD_TP4S                           1
    #define   MSK32ISA_LDMDL_LD_TP4S                              0x00000400

    #define     BA_ISA_LDMDL_LD_TP8L                           0x000D
    #define     B16ISA_LDMDL_LD_TP8L                           0x000C
    #define   LSb32ISA_LDMDL_LD_TP8L                              11
    #define   LSb16ISA_LDMDL_LD_TP8L                              11
    #define       bISA_LDMDL_LD_TP8L                           1
    #define   MSK32ISA_LDMDL_LD_TP8L                              0x00000800

    #define     BA_ISA_LDMDL_LD_TP8H                           0x000D
    #define     B16ISA_LDMDL_LD_TP8H                           0x000C
    #define   LSb32ISA_LDMDL_LD_TP8H                              12
    #define   LSb16ISA_LDMDL_LD_TP8H                              12
    #define       bISA_LDMDL_LD_TP8H                           1
    #define   MSK32ISA_LDMDL_LD_TP8H                              0x00001000

    #define     BA_ISA_LDMDL_LD_TP8LF                          0x000D
    #define     B16ISA_LDMDL_LD_TP8LF                          0x000C
    #define   LSb32ISA_LDMDL_LD_TP8LF                             13
    #define   LSb16ISA_LDMDL_LD_TP8LF                             13
    #define       bISA_LDMDL_LD_TP8LF                          1
    #define   MSK32ISA_LDMDL_LD_TP8LF                             0x00002000

    #define     BA_ISA_LDMDL_LD_TP8HF                          0x000D
    #define     B16ISA_LDMDL_LD_TP8HF                          0x000C
    #define   LSb32ISA_LDMDL_LD_TP8HF                             14
    #define   LSb16ISA_LDMDL_LD_TP8HF                             14
    #define       bISA_LDMDL_LD_TP8HF                          1
    #define   MSK32ISA_LDMDL_LD_TP8HF                             0x00004000

    #define     BA_ISA_LDMDL_LD_SQRF64                         0x000D
    #define     B16ISA_LDMDL_LD_SQRF64                         0x000C
    #define   LSb32ISA_LDMDL_LD_SQRF64                            15
    #define   LSb16ISA_LDMDL_LD_SQRF64                            15
    #define       bISA_LDMDL_LD_SQRF64                         1
    #define   MSK32ISA_LDMDL_LD_SQRF64                            0x00008000

    #define     BA_ISA_LDMDL_LD_TQRF16Q                        0x000E
    #define     B16ISA_LDMDL_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_LDMDL_LD_TQRF16Q                           16
    #define   LSb16ISA_LDMDL_LD_TQRF16Q                           0
    #define       bISA_LDMDL_LD_TQRF16Q                        1
    #define   MSK32ISA_LDMDL_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_LDMDL_LD_TQRFx4                         0x000E
    #define     B16ISA_LDMDL_LD_TQRFx4                         0x000E
    #define   LSb32ISA_LDMDL_LD_TQRFx4                            17
    #define   LSb16ISA_LDMDL_LD_TQRFx4                            1
    #define       bISA_LDMDL_LD_TQRFx4                         1
    #define   MSK32ISA_LDMDL_LD_TQRFx4                            0x00020000

    #define     BA_ISA_LDMDL_LD_RD                             0x000E
    #define     B16ISA_LDMDL_LD_RD                             0x000E
    #define   LSb32ISA_LDMDL_LD_RD                                18
    #define   LSb16ISA_LDMDL_LD_RD                                2
    #define       bISA_LDMDL_LD_RD                             1
    #define   MSK32ISA_LDMDL_LD_RD                                0x00040000

    #define     BA_ISA_LDMDL_LD_WARF                           0x000E
    #define     B16ISA_LDMDL_LD_WARF                           0x000E
    #define   LSb32ISA_LDMDL_LD_WARF                              19
    #define   LSb16ISA_LDMDL_LD_WARF                              3
    #define       bISA_LDMDL_LD_WARF                           1
    #define   MSK32ISA_LDMDL_LD_WARF                              0x00080000

    #define     BA_ISA_LDMDL_LD_WAK8                           0x000E
    #define     B16ISA_LDMDL_LD_WAK8                           0x000E
    #define   LSb32ISA_LDMDL_LD_WAK8                              20
    #define   LSb16ISA_LDMDL_LD_WAK8                              4
    #define       bISA_LDMDL_LD_WAK8                           1
    #define   MSK32ISA_LDMDL_LD_WAK8                              0x00100000

    #define     BA_ISA_LDMDL_LD_WAK16                          0x000E
    #define     B16ISA_LDMDL_LD_WAK16                          0x000E
    #define   LSb32ISA_LDMDL_LD_WAK16                             21
    #define   LSb16ISA_LDMDL_LD_WAK16                             5
    #define       bISA_LDMDL_LD_WAK16                          1
    #define   MSK32ISA_LDMDL_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_EX                                0x0010

    #define     BA_ISA_LDMDL_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagZ                        0
    #define   LSb16ISA_LDMDL_EX_ALU16FlagZ                        0
    #define       bISA_LDMDL_EX_ALU16FlagZ                     1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_LDMDL_EX_ALU16FlagC                     0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagC                        1
    #define   LSb16ISA_LDMDL_EX_ALU16FlagC                        1
    #define       bISA_LDMDL_EX_ALU16FlagC                     1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_LDMDL_EX_ALU16FlagN                     0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagN                        2
    #define   LSb16ISA_LDMDL_EX_ALU16FlagN                        2
    #define       bISA_LDMDL_EX_ALU16FlagN                     1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_LDMDL_EX_ALU16FlagV                     0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagV                        3
    #define   LSb16ISA_LDMDL_EX_ALU16FlagV                        3
    #define       bISA_LDMDL_EX_ALU16FlagV                     1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_LDMDL_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagTP                       4
    #define   LSb16ISA_LDMDL_EX_ALU16FlagTP                       4
    #define       bISA_LDMDL_EX_ALU16FlagTP                    1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_LDMDL_EX_ALU16MUL                       0x0010
    #define     B16ISA_LDMDL_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16MUL                          5
    #define   LSb16ISA_LDMDL_EX_ALU16MUL                          5
    #define       bISA_LDMDL_EX_ALU16MUL                       1
    #define   MSK32ISA_LDMDL_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_LDMDL_EX_ALU16DIV                       0x0010
    #define     B16ISA_LDMDL_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16DIV                          6
    #define   LSb16ISA_LDMDL_EX_ALU16DIV                          6
    #define       bISA_LDMDL_EX_ALU16DIV                       1
    #define   MSK32ISA_LDMDL_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_LDMDL_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_LDMDL_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16FlagLD                       7
    #define   LSb16ISA_LDMDL_EX_ALU16FlagLD                       7
    #define       bISA_LDMDL_EX_ALU16FlagLD                    1
    #define   MSK32ISA_LDMDL_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_LDMDL_EX_ALU16MDL                       0x0011
    #define     B16ISA_LDMDL_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16MDL                          8
    #define   LSb16ISA_LDMDL_EX_ALU16MDL                          8
    #define       bISA_LDMDL_EX_ALU16MDL                       1
    #define   MSK32ISA_LDMDL_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_LDMDL_EX_ALU16MDH                       0x0011
    #define     B16ISA_LDMDL_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16MDH                          9
    #define   LSb16ISA_LDMDL_EX_ALU16MDH                          9
    #define       bISA_LDMDL_EX_ALU16MDH                       1
    #define   MSK32ISA_LDMDL_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_LDMDL_EX_ALU16ADD                       0x0011
    #define     B16ISA_LDMDL_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16ADD                          10
    #define   LSb16ISA_LDMDL_EX_ALU16ADD                          10
    #define       bISA_LDMDL_EX_ALU16ADD                       1
    #define   MSK32ISA_LDMDL_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_LDMDL_EX_ALU16SUB                       0x0011
    #define     B16ISA_LDMDL_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16SUB                          11
    #define   LSb16ISA_LDMDL_EX_ALU16SUB                          11
    #define       bISA_LDMDL_EX_ALU16SUB                       1
    #define   MSK32ISA_LDMDL_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_LDMDL_EX_ALU16ADDC                      0x0011
    #define     B16ISA_LDMDL_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16ADDC                         12
    #define   LSb16ISA_LDMDL_EX_ALU16ADDC                         12
    #define       bISA_LDMDL_EX_ALU16ADDC                      1
    #define   MSK32ISA_LDMDL_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_LDMDL_EX_ALU16SUBC                      0x0011
    #define     B16ISA_LDMDL_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16SUBC                         13
    #define   LSb16ISA_LDMDL_EX_ALU16SUBC                         13
    #define       bISA_LDMDL_EX_ALU16SUBC                      1
    #define   MSK32ISA_LDMDL_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_LDMDL_EX_ALU16ASR                       0x0011
    #define     B16ISA_LDMDL_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16ASR                          14
    #define   LSb16ISA_LDMDL_EX_ALU16ASR                          14
    #define       bISA_LDMDL_EX_ALU16ASR                       1
    #define   MSK32ISA_LDMDL_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_LDMDL_EX_ALU16SL                        0x0011
    #define     B16ISA_LDMDL_EX_ALU16SL                        0x0010
    #define   LSb32ISA_LDMDL_EX_ALU16SL                           15
    #define   LSb16ISA_LDMDL_EX_ALU16SL                           15
    #define       bISA_LDMDL_EX_ALU16SL                        1
    #define   MSK32ISA_LDMDL_EX_ALU16SL                           0x00008000

    #define     BA_ISA_LDMDL_EX_ALU16SR                        0x0012
    #define     B16ISA_LDMDL_EX_ALU16SR                        0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16SR                           16
    #define   LSb16ISA_LDMDL_EX_ALU16SR                           0
    #define       bISA_LDMDL_EX_ALU16SR                        1
    #define   MSK32ISA_LDMDL_EX_ALU16SR                           0x00010000

    #define     BA_ISA_LDMDL_EX_ALU16GET                       0x0012
    #define     B16ISA_LDMDL_EX_ALU16GET                       0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16GET                          17
    #define   LSb16ISA_LDMDL_EX_ALU16GET                          1
    #define       bISA_LDMDL_EX_ALU16GET                       1
    #define   MSK32ISA_LDMDL_EX_ALU16GET                          0x00020000

    #define     BA_ISA_LDMDL_EX_ALU16SET                       0x0012
    #define     B16ISA_LDMDL_EX_ALU16SET                       0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16SET                          18
    #define   LSb16ISA_LDMDL_EX_ALU16SET                          2
    #define       bISA_LDMDL_EX_ALU16SET                       1
    #define   MSK32ISA_LDMDL_EX_ALU16SET                          0x00040000

    #define     BA_ISA_LDMDL_EX_ALU16SEL                       0x0012
    #define     B16ISA_LDMDL_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16SEL                          19
    #define   LSb16ISA_LDMDL_EX_ALU16SEL                          3
    #define       bISA_LDMDL_EX_ALU16SEL                       1
    #define   MSK32ISA_LDMDL_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_LDMDL_EX_ALU16OR                        0x0012
    #define     B16ISA_LDMDL_EX_ALU16OR                        0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16OR                           20
    #define   LSb16ISA_LDMDL_EX_ALU16OR                           4
    #define       bISA_LDMDL_EX_ALU16OR                        1
    #define   MSK32ISA_LDMDL_EX_ALU16OR                           0x00100000

    #define     BA_ISA_LDMDL_EX_ALU16AND                       0x0012
    #define     B16ISA_LDMDL_EX_ALU16AND                       0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16AND                          21
    #define   LSb16ISA_LDMDL_EX_ALU16AND                          5
    #define       bISA_LDMDL_EX_ALU16AND                       1
    #define   MSK32ISA_LDMDL_EX_ALU16AND                          0x00200000

    #define     BA_ISA_LDMDL_EX_ALU16XOR                       0x0012
    #define     B16ISA_LDMDL_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16XOR                          22
    #define   LSb16ISA_LDMDL_EX_ALU16XOR                          6
    #define       bISA_LDMDL_EX_ALU16XOR                       1
    #define   MSK32ISA_LDMDL_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_LDMDL_EX_ALU16SP                        0x0012
    #define     B16ISA_LDMDL_EX_ALU16SP                        0x0012
    #define   LSb32ISA_LDMDL_EX_ALU16SP                           23
    #define   LSb16ISA_LDMDL_EX_ALU16SP                           7
    #define       bISA_LDMDL_EX_ALU16SP                        1
    #define   MSK32ISA_LDMDL_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_EXX                               0x0014

    #define     BA_ISA_LDMDL_EXX_WRSQ                          0x0014
    #define     B16ISA_LDMDL_EXX_WRSQ                          0x0014
    #define   LSb32ISA_LDMDL_EXX_WRSQ                             0
    #define   LSb16ISA_LDMDL_EXX_WRSQ                             0
    #define       bISA_LDMDL_EXX_WRSQ                          1
    #define   MSK32ISA_LDMDL_EXX_WRSQ                             0x00000001

    #define     BA_ISA_LDMDL_EXX_WR16                          0x0014
    #define     B16ISA_LDMDL_EXX_WR16                          0x0014
    #define   LSb32ISA_LDMDL_EXX_WR16                             1
    #define   LSb16ISA_LDMDL_EXX_WR16                             1
    #define       bISA_LDMDL_EXX_WR16                          1
    #define   MSK32ISA_LDMDL_EXX_WR16                             0x00000002

    #define     BA_ISA_LDMDL_EXX_WRTQ                          0x0014
    #define     B16ISA_LDMDL_EXX_WRTQ                          0x0014
    #define   LSb32ISA_LDMDL_EXX_WRTQ                             2
    #define   LSb16ISA_LDMDL_EXX_WRTQ                             2
    #define       bISA_LDMDL_EXX_WRTQ                          1
    #define   MSK32ISA_LDMDL_EXX_WRTQ                             0x00000004

    #define     BA_ISA_LDMDL_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_LDMDL_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_LDMDL_EXX_ALU64PUSH                        3
    #define   LSb16ISA_LDMDL_EXX_ALU64PUSH                        3
    #define       bISA_LDMDL_EXX_ALU64PUSH                     1
    #define   MSK32ISA_LDMDL_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_LDMDL_EXX_ALU64POP                      0x0014
    #define     B16ISA_LDMDL_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_LDMDL_EXX_ALU64POP                         4
    #define   LSb16ISA_LDMDL_EXX_ALU64POP                         4
    #define       bISA_LDMDL_EXX_ALU64POP                      1
    #define   MSK32ISA_LDMDL_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_LDMDL_EXX_ALU64SQ                       0x0014
    #define     B16ISA_LDMDL_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_LDMDL_EXX_ALU64SQ                          5
    #define   LSb16ISA_LDMDL_EXX_ALU64SQ                          5
    #define       bISA_LDMDL_EXX_ALU64SQ                       1
    #define   MSK32ISA_LDMDL_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_LDMDL_EXX_ALU64TQ                       0x0014
    #define     B16ISA_LDMDL_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_LDMDL_EXX_ALU64TQ                          6
    #define   LSb16ISA_LDMDL_EXX_ALU64TQ                          6
    #define       bISA_LDMDL_EXX_ALU64TQ                       1
    #define   MSK32ISA_LDMDL_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_LDMDL_EXX_ALU64MEM                      0x0014
    #define     B16ISA_LDMDL_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_LDMDL_EXX_ALU64MEM                         7
    #define   LSb16ISA_LDMDL_EXX_ALU64MEM                         7
    #define       bISA_LDMDL_EXX_ALU64MEM                      1
    #define   MSK32ISA_LDMDL_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_LDMDL_EXX_BRANCH                        0x0015
    #define     B16ISA_LDMDL_EXX_BRANCH                        0x0014
    #define   LSb32ISA_LDMDL_EXX_BRANCH                           8
    #define   LSb16ISA_LDMDL_EXX_BRANCH                           8
    #define       bISA_LDMDL_EXX_BRANCH                        1
    #define   MSK32ISA_LDMDL_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDL_WB                                0x0018

    #define     BA_ISA_LDMDL_WB_RF16                           0x0018
    #define     B16ISA_LDMDL_WB_RF16                           0x0018
    #define   LSb32ISA_LDMDL_WB_RF16                              0
    #define   LSb16ISA_LDMDL_WB_RF16                              0
    #define       bISA_LDMDL_WB_RF16                           1
    #define   MSK32ISA_LDMDL_WB_RF16                              0x00000001

    #define     BA_ISA_LDMDL_WB_RF16W0                         0x0018
    #define     B16ISA_LDMDL_WB_RF16W0                         0x0018
    #define   LSb32ISA_LDMDL_WB_RF16W0                            1
    #define   LSb16ISA_LDMDL_WB_RF16W0                            1
    #define       bISA_LDMDL_WB_RF16W0                         1
    #define   MSK32ISA_LDMDL_WB_RF16W0                            0x00000002

    #define     BA_ISA_LDMDL_WB_RF16MEM                        0x0018
    #define     B16ISA_LDMDL_WB_RF16MEM                        0x0018
    #define   LSb32ISA_LDMDL_WB_RF16MEM                           2
    #define   LSb16ISA_LDMDL_WB_RF16MEM                           2
    #define       bISA_LDMDL_WB_RF16MEM                        1
    #define   MSK32ISA_LDMDL_WB_RF16MEM                           0x00000004

    #define     BA_ISA_LDMDL_WB_RF16Q                          0x0018
    #define     B16ISA_LDMDL_WB_RF16Q                          0x0018
    #define   LSb32ISA_LDMDL_WB_RF16Q                             3
    #define   LSb16ISA_LDMDL_WB_RF16Q                             3
    #define       bISA_LDMDL_WB_RF16Q                          1
    #define   MSK32ISA_LDMDL_WB_RF16Q                             0x00000008

    #define     BA_ISA_LDMDL_WB_RF64                           0x0018
    #define     B16ISA_LDMDL_WB_RF64                           0x0018
    #define   LSb32ISA_LDMDL_WB_RF64                              4
    #define   LSb16ISA_LDMDL_WB_RF64                              4
    #define       bISA_LDMDL_WB_RF64                           1
    #define   MSK32ISA_LDMDL_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_LDMDL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_LDMDL_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDMDL_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDMDL_Mask;
            struct w32ISA_LDMDL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_LDMDL_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDMDL_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDMDL_Opcode;
            struct w32ISA_LDMDL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDL_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDL_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDL_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDL_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDL_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDL_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDL_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDL_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDL_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDL_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDL_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDL_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDL_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDL_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDL_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDL_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDL_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDL_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDL_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDL_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDMDL_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_LDMDL_ID;
            struct w32ISA_LDMDL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDL_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDL_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDL_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDL_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDL_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDL_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDL_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDL_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDL_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDL_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDL_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDL_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDL_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDL_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDL_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDL_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDL_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDL_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDL_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDL_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDL_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDL_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDL_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDL_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDMDL_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDMDL_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDMDL_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDMDL_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDMDL_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_LDMDL_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDMDL_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_LDMDL_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDMDL_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_LDMDL_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDMDL_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_LDMDL_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDMDL_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_LDMDL_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDMDL_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_LDMDL_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDMDL_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_LDMDL_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDMDL_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_LDMDL_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDMDL_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_LDMDL_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDMDL_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_LDMDL_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDMDL_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_LDMDL_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDMDL_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_LDMDL_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDMDL_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDMDL_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDMDL_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_LDMDL_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDMDL_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_LDMDL_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDMDL_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_LDMDL_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDMDL_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_LDMDL_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDMDL_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_LDMDL_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDMDL_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_LDMDL_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_LDMDL_LD;
            struct w32ISA_LDMDL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDL_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDL_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDL_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDL_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDL_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDL_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDL_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDL_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDL_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDL_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDL_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDL_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDL_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDL_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDL_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDL_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDL_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDL_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDL_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDMDL_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDMDL_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDMDL_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDMDL_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDMDL_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_LDMDL_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDMDL_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_LDMDL_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDMDL_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_LDMDL_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDMDL_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_LDMDL_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDMDL_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_LDMDL_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDMDL_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_LDMDL_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDMDL_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_LDMDL_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDMDL_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_LDMDL_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDMDL_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_LDMDL_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDMDL_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_LDMDL_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDMDL_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_LDMDL_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDMDL_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_LDMDL_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDMDL_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDMDL_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDMDL_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_LDMDL_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDMDL_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_LDMDL_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDMDL_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_LDMDL_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDMDL_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_LDMDL_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDMDL_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_LDMDL_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDMDL_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDL_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_LDMDL_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_LDMDL_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDL_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDL_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_LDMDL_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_LDMDL_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDL_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDMDL_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_LDMDL_EX;
            struct w32ISA_LDMDL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDL_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDL_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDL_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDL_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDL_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDL_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDL_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDL_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDL_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDL_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDL_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDL_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDL_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDL_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDL_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDL_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDL_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDL_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDL_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDL_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDL_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDL_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDL_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDL_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDL_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDL_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_LDMDL_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_LDMDL_EXX;
            struct w32ISA_LDMDL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDL_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDL_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDL_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDL_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDL_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDL_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDL_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDL_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDL_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDL_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDL_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDL_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDL_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDL_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDL_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDL_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDL_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDL_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDL_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDL_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_LDMDL_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_LDMDL_WB;
            struct w32ISA_LDMDL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_LDMDL;

    typedef union  T32ISA_LDMDL_Mask
          { UNSG32 u32;
            struct w32ISA_LDMDL_Mask;
                 } T32ISA_LDMDL_Mask;
    typedef union  T32ISA_LDMDL_Opcode
          { UNSG32 u32;
            struct w32ISA_LDMDL_Opcode;
                 } T32ISA_LDMDL_Opcode;
    typedef union  T32ISA_LDMDL_ID
          { UNSG32 u32;
            struct w32ISA_LDMDL_ID;
                 } T32ISA_LDMDL_ID;
    typedef union  T32ISA_LDMDL_LD
          { UNSG32 u32;
            struct w32ISA_LDMDL_LD;
                 } T32ISA_LDMDL_LD;
    typedef union  T32ISA_LDMDL_EX
          { UNSG32 u32;
            struct w32ISA_LDMDL_EX;
                 } T32ISA_LDMDL_EX;
    typedef union  T32ISA_LDMDL_EXX
          { UNSG32 u32;
            struct w32ISA_LDMDL_EXX;
                 } T32ISA_LDMDL_EXX;
    typedef union  T32ISA_LDMDL_WB
          { UNSG32 u32;
            struct w32ISA_LDMDL_WB;
                 } T32ISA_LDMDL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_LDMDL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_Mask;
                   };
                 } TISA_LDMDL_Mask;
    typedef union  TISA_LDMDL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_Opcode;
                   };
                 } TISA_LDMDL_Opcode;
    typedef union  TISA_LDMDL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_ID;
                   };
                 } TISA_LDMDL_ID;
    typedef union  TISA_LDMDL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_LD;
                   };
                 } TISA_LDMDL_LD;
    typedef union  TISA_LDMDL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_EX;
                   };
                 } TISA_LDMDL_EX;
    typedef union  TISA_LDMDL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_EXX;
                   };
                 } TISA_LDMDL_EXX;
    typedef union  TISA_LDMDL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDL_WB;
                   };
                 } TISA_LDMDL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_LDMDL_drvrd(SIE_ISA_LDMDL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_LDMDL_drvwr(SIE_ISA_LDMDL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_LDMDL_reset(SIE_ISA_LDMDL *p);
     SIGN32 ISA_LDMDL_cmp  (SIE_ISA_LDMDL *p, SIE_ISA_LDMDL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_LDMDL_check(p,pie,pfx,hLOG) ISA_LDMDL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_LDMDL_print(p,    pfx,hLOG) ISA_LDMDL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_LDMDL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_LDMDH                                (4,4)
///     ###
///     * Load MDU result MDH[15:0] to a register.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xF0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "LD.MDH" , "rD"          , "0000 1111 ---- ---- ---- DDDD" } ,
///                                    * - Usage:
///                                    * -    LD.MDH   %a1             ; %a1 = MDH[15:0];
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  0x1
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_LDMDH
#define h_ISA_LDMDH (){}

    #define     RA_ISA_LDMDH_Mask                              0x0000

    #define     BA_ISA_LDMDH_Mask_INS                          0x0000
    #define     B16ISA_LDMDH_Mask_INS                          0x0000
    #define   LSb32ISA_LDMDH_Mask_INS                             0
    #define   LSb16ISA_LDMDH_Mask_INS                             0
    #define       bISA_LDMDH_Mask_INS                          24
    #define   MSK32ISA_LDMDH_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_Opcode                            0x0004

    #define     BA_ISA_LDMDH_Opcode_INS                        0x0004
    #define     B16ISA_LDMDH_Opcode_INS                        0x0004
    #define   LSb32ISA_LDMDH_Opcode_INS                           0
    #define   LSb16ISA_LDMDH_Opcode_INS                           0
    #define       bISA_LDMDH_Opcode_INS                        24
    #define   MSK32ISA_LDMDH_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_ID                                0x0008

    #define     BA_ISA_LDMDH_ID_RBRF                           0x0008
    #define     B16ISA_LDMDH_ID_RBRF                           0x0008
    #define   LSb32ISA_LDMDH_ID_RBRF                              0
    #define   LSb16ISA_LDMDH_ID_RBRF                              0
    #define       bISA_LDMDH_ID_RBRF                           1
    #define   MSK32ISA_LDMDH_ID_RBRF                              0x00000001

    #define     BA_ISA_LDMDH_ID_RARF                           0x0008
    #define     B16ISA_LDMDH_ID_RARF                           0x0008
    #define   LSb32ISA_LDMDH_ID_RARF                              1
    #define   LSb16ISA_LDMDH_ID_RARF                              1
    #define       bISA_LDMDH_ID_RARF                           1
    #define   MSK32ISA_LDMDH_ID_RARF                              0x00000002

    #define     BA_ISA_LDMDH_ID_RAK8                           0x0008
    #define     B16ISA_LDMDH_ID_RAK8                           0x0008
    #define   LSb32ISA_LDMDH_ID_RAK8                              2
    #define   LSb16ISA_LDMDH_ID_RAK8                              2
    #define       bISA_LDMDH_ID_RAK8                           1
    #define   MSK32ISA_LDMDH_ID_RAK8                              0x00000004

    #define     BA_ISA_LDMDH_ID_RAI16                          0x0008
    #define     B16ISA_LDMDH_ID_RAI16                          0x0008
    #define   LSb32ISA_LDMDH_ID_RAI16                             3
    #define   LSb16ISA_LDMDH_ID_RAI16                             3
    #define       bISA_LDMDH_ID_RAI16                          1
    #define   MSK32ISA_LDMDH_ID_RAI16                             0x00000008

    #define     BA_ISA_LDMDH_ID_RAK16                          0x0008
    #define     B16ISA_LDMDH_ID_RAK16                          0x0008
    #define   LSb32ISA_LDMDH_ID_RAK16                             4
    #define   LSb16ISA_LDMDH_ID_RAK16                             4
    #define       bISA_LDMDH_ID_RAK16                          1
    #define   MSK32ISA_LDMDH_ID_RAK16                             0x00000010

    #define     BA_ISA_LDMDH_ID_RFSP                           0x0008
    #define     B16ISA_LDMDH_ID_RFSP                           0x0008
    #define   LSb32ISA_LDMDH_ID_RFSP                              5
    #define   LSb16ISA_LDMDH_ID_RFSP                              5
    #define       bISA_LDMDH_ID_RFSP                           1
    #define   MSK32ISA_LDMDH_ID_RFSP                              0x00000020

    #define     BA_ISA_LDMDH_ID_W4D4                           0x0008
    #define     B16ISA_LDMDH_ID_W4D4                           0x0008
    #define   LSb32ISA_LDMDH_ID_W4D4                              6
    #define   LSb16ISA_LDMDH_ID_W4D4                              6
    #define       bISA_LDMDH_ID_W4D4                           1
    #define   MSK32ISA_LDMDH_ID_W4D4                              0x00000040

    #define     BA_ISA_LDMDH_ID_W4S4                           0x0008
    #define     B16ISA_LDMDH_ID_W4S4                           0x0008
    #define   LSb32ISA_LDMDH_ID_W4S4                              7
    #define   LSb16ISA_LDMDH_ID_W4S4                              7
    #define       bISA_LDMDH_ID_W4S4                           1
    #define   MSK32ISA_LDMDH_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_LD                                0x000C

    #define     BA_ISA_LDMDH_LD_SPRF                           0x000C
    #define     B16ISA_LDMDH_LD_SPRF                           0x000C
    #define   LSb32ISA_LDMDH_LD_SPRF                              0
    #define   LSb16ISA_LDMDH_LD_SPRF                              0
    #define       bISA_LDMDH_LD_SPRF                           1
    #define   MSK32ISA_LDMDH_LD_SPRF                              0x00000001

    #define     BA_ISA_LDMDH_LD_SPK8                           0x000C
    #define     B16ISA_LDMDH_LD_SPK8                           0x000C
    #define   LSb32ISA_LDMDH_LD_SPK8                              1
    #define   LSb16ISA_LDMDH_LD_SPK8                              1
    #define       bISA_LDMDH_LD_SPK8                           1
    #define   MSK32ISA_LDMDH_LD_SPK8                              0x00000002

    #define     BA_ISA_LDMDH_LD_SPJ                            0x000C
    #define     B16ISA_LDMDH_LD_SPJ                            0x000C
    #define   LSb32ISA_LDMDH_LD_SPJ                               2
    #define   LSb16ISA_LDMDH_LD_SPJ                               2
    #define       bISA_LDMDH_LD_SPJ                            1
    #define   MSK32ISA_LDMDH_LD_SPJ                               0x00000004

    #define     BA_ISA_LDMDH_LD_SP4S                           0x000C
    #define     B16ISA_LDMDH_LD_SP4S                           0x000C
    #define   LSb32ISA_LDMDH_LD_SP4S                              3
    #define   LSb16ISA_LDMDH_LD_SP4S                              3
    #define       bISA_LDMDH_LD_SP4S                           1
    #define   MSK32ISA_LDMDH_LD_SP4S                              0x00000008

    #define     BA_ISA_LDMDH_LD_SP8S                           0x000C
    #define     B16ISA_LDMDH_LD_SP8S                           0x000C
    #define   LSb32ISA_LDMDH_LD_SP8S                              4
    #define   LSb16ISA_LDMDH_LD_SP8S                              4
    #define       bISA_LDMDH_LD_SP8S                           1
    #define   MSK32ISA_LDMDH_LD_SP8S                              0x00000010

    #define     BA_ISA_LDMDH_LD_SP8U                           0x000C
    #define     B16ISA_LDMDH_LD_SP8U                           0x000C
    #define   LSb32ISA_LDMDH_LD_SP8U                              5
    #define   LSb16ISA_LDMDH_LD_SP8U                              5
    #define       bISA_LDMDH_LD_SP8U                           1
    #define   MSK32ISA_LDMDH_LD_SP8U                              0x00000020

    #define     BA_ISA_LDMDH_LD_SP12S                          0x000C
    #define     B16ISA_LDMDH_LD_SP12S                          0x000C
    #define   LSb32ISA_LDMDH_LD_SP12S                             6
    #define   LSb16ISA_LDMDH_LD_SP12S                             6
    #define       bISA_LDMDH_LD_SP12S                          1
    #define   MSK32ISA_LDMDH_LD_SP12S                             0x00000040

    #define     BA_ISA_LDMDH_LD_SP16                           0x000C
    #define     B16ISA_LDMDH_LD_SP16                           0x000C
    #define   LSb32ISA_LDMDH_LD_SP16                              7
    #define   LSb16ISA_LDMDH_LD_SP16                              7
    #define       bISA_LDMDH_LD_SP16                           1
    #define   MSK32ISA_LDMDH_LD_SP16                              0x00000080

    #define     BA_ISA_LDMDH_LD_TPRF                           0x000D
    #define     B16ISA_LDMDH_LD_TPRF                           0x000C
    #define   LSb32ISA_LDMDH_LD_TPRF                              8
    #define   LSb16ISA_LDMDH_LD_TPRF                              8
    #define       bISA_LDMDH_LD_TPRF                           1
    #define   MSK32ISA_LDMDH_LD_TPRF                              0x00000100

    #define     BA_ISA_LDMDH_LD_TPJ                            0x000D
    #define     B16ISA_LDMDH_LD_TPJ                            0x000C
    #define   LSb32ISA_LDMDH_LD_TPJ                               9
    #define   LSb16ISA_LDMDH_LD_TPJ                               9
    #define       bISA_LDMDH_LD_TPJ                            1
    #define   MSK32ISA_LDMDH_LD_TPJ                               0x00000200

    #define     BA_ISA_LDMDH_LD_TP4S                           0x000D
    #define     B16ISA_LDMDH_LD_TP4S                           0x000C
    #define   LSb32ISA_LDMDH_LD_TP4S                              10
    #define   LSb16ISA_LDMDH_LD_TP4S                              10
    #define       bISA_LDMDH_LD_TP4S                           1
    #define   MSK32ISA_LDMDH_LD_TP4S                              0x00000400

    #define     BA_ISA_LDMDH_LD_TP8L                           0x000D
    #define     B16ISA_LDMDH_LD_TP8L                           0x000C
    #define   LSb32ISA_LDMDH_LD_TP8L                              11
    #define   LSb16ISA_LDMDH_LD_TP8L                              11
    #define       bISA_LDMDH_LD_TP8L                           1
    #define   MSK32ISA_LDMDH_LD_TP8L                              0x00000800

    #define     BA_ISA_LDMDH_LD_TP8H                           0x000D
    #define     B16ISA_LDMDH_LD_TP8H                           0x000C
    #define   LSb32ISA_LDMDH_LD_TP8H                              12
    #define   LSb16ISA_LDMDH_LD_TP8H                              12
    #define       bISA_LDMDH_LD_TP8H                           1
    #define   MSK32ISA_LDMDH_LD_TP8H                              0x00001000

    #define     BA_ISA_LDMDH_LD_TP8LF                          0x000D
    #define     B16ISA_LDMDH_LD_TP8LF                          0x000C
    #define   LSb32ISA_LDMDH_LD_TP8LF                             13
    #define   LSb16ISA_LDMDH_LD_TP8LF                             13
    #define       bISA_LDMDH_LD_TP8LF                          1
    #define   MSK32ISA_LDMDH_LD_TP8LF                             0x00002000

    #define     BA_ISA_LDMDH_LD_TP8HF                          0x000D
    #define     B16ISA_LDMDH_LD_TP8HF                          0x000C
    #define   LSb32ISA_LDMDH_LD_TP8HF                             14
    #define   LSb16ISA_LDMDH_LD_TP8HF                             14
    #define       bISA_LDMDH_LD_TP8HF                          1
    #define   MSK32ISA_LDMDH_LD_TP8HF                             0x00004000

    #define     BA_ISA_LDMDH_LD_SQRF64                         0x000D
    #define     B16ISA_LDMDH_LD_SQRF64                         0x000C
    #define   LSb32ISA_LDMDH_LD_SQRF64                            15
    #define   LSb16ISA_LDMDH_LD_SQRF64                            15
    #define       bISA_LDMDH_LD_SQRF64                         1
    #define   MSK32ISA_LDMDH_LD_SQRF64                            0x00008000

    #define     BA_ISA_LDMDH_LD_TQRF16Q                        0x000E
    #define     B16ISA_LDMDH_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_LDMDH_LD_TQRF16Q                           16
    #define   LSb16ISA_LDMDH_LD_TQRF16Q                           0
    #define       bISA_LDMDH_LD_TQRF16Q                        1
    #define   MSK32ISA_LDMDH_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_LDMDH_LD_TQRFx4                         0x000E
    #define     B16ISA_LDMDH_LD_TQRFx4                         0x000E
    #define   LSb32ISA_LDMDH_LD_TQRFx4                            17
    #define   LSb16ISA_LDMDH_LD_TQRFx4                            1
    #define       bISA_LDMDH_LD_TQRFx4                         1
    #define   MSK32ISA_LDMDH_LD_TQRFx4                            0x00020000

    #define     BA_ISA_LDMDH_LD_RD                             0x000E
    #define     B16ISA_LDMDH_LD_RD                             0x000E
    #define   LSb32ISA_LDMDH_LD_RD                                18
    #define   LSb16ISA_LDMDH_LD_RD                                2
    #define       bISA_LDMDH_LD_RD                             1
    #define   MSK32ISA_LDMDH_LD_RD                                0x00040000

    #define     BA_ISA_LDMDH_LD_WARF                           0x000E
    #define     B16ISA_LDMDH_LD_WARF                           0x000E
    #define   LSb32ISA_LDMDH_LD_WARF                              19
    #define   LSb16ISA_LDMDH_LD_WARF                              3
    #define       bISA_LDMDH_LD_WARF                           1
    #define   MSK32ISA_LDMDH_LD_WARF                              0x00080000

    #define     BA_ISA_LDMDH_LD_WAK8                           0x000E
    #define     B16ISA_LDMDH_LD_WAK8                           0x000E
    #define   LSb32ISA_LDMDH_LD_WAK8                              20
    #define   LSb16ISA_LDMDH_LD_WAK8                              4
    #define       bISA_LDMDH_LD_WAK8                           1
    #define   MSK32ISA_LDMDH_LD_WAK8                              0x00100000

    #define     BA_ISA_LDMDH_LD_WAK16                          0x000E
    #define     B16ISA_LDMDH_LD_WAK16                          0x000E
    #define   LSb32ISA_LDMDH_LD_WAK16                             21
    #define   LSb16ISA_LDMDH_LD_WAK16                             5
    #define       bISA_LDMDH_LD_WAK16                          1
    #define   MSK32ISA_LDMDH_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_EX                                0x0010

    #define     BA_ISA_LDMDH_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagZ                        0
    #define   LSb16ISA_LDMDH_EX_ALU16FlagZ                        0
    #define       bISA_LDMDH_EX_ALU16FlagZ                     1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_LDMDH_EX_ALU16FlagC                     0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagC                        1
    #define   LSb16ISA_LDMDH_EX_ALU16FlagC                        1
    #define       bISA_LDMDH_EX_ALU16FlagC                     1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_LDMDH_EX_ALU16FlagN                     0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagN                        2
    #define   LSb16ISA_LDMDH_EX_ALU16FlagN                        2
    #define       bISA_LDMDH_EX_ALU16FlagN                     1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_LDMDH_EX_ALU16FlagV                     0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagV                        3
    #define   LSb16ISA_LDMDH_EX_ALU16FlagV                        3
    #define       bISA_LDMDH_EX_ALU16FlagV                     1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_LDMDH_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagTP                       4
    #define   LSb16ISA_LDMDH_EX_ALU16FlagTP                       4
    #define       bISA_LDMDH_EX_ALU16FlagTP                    1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_LDMDH_EX_ALU16MUL                       0x0010
    #define     B16ISA_LDMDH_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16MUL                          5
    #define   LSb16ISA_LDMDH_EX_ALU16MUL                          5
    #define       bISA_LDMDH_EX_ALU16MUL                       1
    #define   MSK32ISA_LDMDH_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_LDMDH_EX_ALU16DIV                       0x0010
    #define     B16ISA_LDMDH_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16DIV                          6
    #define   LSb16ISA_LDMDH_EX_ALU16DIV                          6
    #define       bISA_LDMDH_EX_ALU16DIV                       1
    #define   MSK32ISA_LDMDH_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_LDMDH_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_LDMDH_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16FlagLD                       7
    #define   LSb16ISA_LDMDH_EX_ALU16FlagLD                       7
    #define       bISA_LDMDH_EX_ALU16FlagLD                    1
    #define   MSK32ISA_LDMDH_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_LDMDH_EX_ALU16MDL                       0x0011
    #define     B16ISA_LDMDH_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16MDL                          8
    #define   LSb16ISA_LDMDH_EX_ALU16MDL                          8
    #define       bISA_LDMDH_EX_ALU16MDL                       1
    #define   MSK32ISA_LDMDH_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_LDMDH_EX_ALU16MDH                       0x0011
    #define     B16ISA_LDMDH_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16MDH                          9
    #define   LSb16ISA_LDMDH_EX_ALU16MDH                          9
    #define       bISA_LDMDH_EX_ALU16MDH                       1
    #define   MSK32ISA_LDMDH_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_LDMDH_EX_ALU16ADD                       0x0011
    #define     B16ISA_LDMDH_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16ADD                          10
    #define   LSb16ISA_LDMDH_EX_ALU16ADD                          10
    #define       bISA_LDMDH_EX_ALU16ADD                       1
    #define   MSK32ISA_LDMDH_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_LDMDH_EX_ALU16SUB                       0x0011
    #define     B16ISA_LDMDH_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16SUB                          11
    #define   LSb16ISA_LDMDH_EX_ALU16SUB                          11
    #define       bISA_LDMDH_EX_ALU16SUB                       1
    #define   MSK32ISA_LDMDH_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_LDMDH_EX_ALU16ADDC                      0x0011
    #define     B16ISA_LDMDH_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16ADDC                         12
    #define   LSb16ISA_LDMDH_EX_ALU16ADDC                         12
    #define       bISA_LDMDH_EX_ALU16ADDC                      1
    #define   MSK32ISA_LDMDH_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_LDMDH_EX_ALU16SUBC                      0x0011
    #define     B16ISA_LDMDH_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16SUBC                         13
    #define   LSb16ISA_LDMDH_EX_ALU16SUBC                         13
    #define       bISA_LDMDH_EX_ALU16SUBC                      1
    #define   MSK32ISA_LDMDH_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_LDMDH_EX_ALU16ASR                       0x0011
    #define     B16ISA_LDMDH_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16ASR                          14
    #define   LSb16ISA_LDMDH_EX_ALU16ASR                          14
    #define       bISA_LDMDH_EX_ALU16ASR                       1
    #define   MSK32ISA_LDMDH_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_LDMDH_EX_ALU16SL                        0x0011
    #define     B16ISA_LDMDH_EX_ALU16SL                        0x0010
    #define   LSb32ISA_LDMDH_EX_ALU16SL                           15
    #define   LSb16ISA_LDMDH_EX_ALU16SL                           15
    #define       bISA_LDMDH_EX_ALU16SL                        1
    #define   MSK32ISA_LDMDH_EX_ALU16SL                           0x00008000

    #define     BA_ISA_LDMDH_EX_ALU16SR                        0x0012
    #define     B16ISA_LDMDH_EX_ALU16SR                        0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16SR                           16
    #define   LSb16ISA_LDMDH_EX_ALU16SR                           0
    #define       bISA_LDMDH_EX_ALU16SR                        1
    #define   MSK32ISA_LDMDH_EX_ALU16SR                           0x00010000

    #define     BA_ISA_LDMDH_EX_ALU16GET                       0x0012
    #define     B16ISA_LDMDH_EX_ALU16GET                       0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16GET                          17
    #define   LSb16ISA_LDMDH_EX_ALU16GET                          1
    #define       bISA_LDMDH_EX_ALU16GET                       1
    #define   MSK32ISA_LDMDH_EX_ALU16GET                          0x00020000

    #define     BA_ISA_LDMDH_EX_ALU16SET                       0x0012
    #define     B16ISA_LDMDH_EX_ALU16SET                       0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16SET                          18
    #define   LSb16ISA_LDMDH_EX_ALU16SET                          2
    #define       bISA_LDMDH_EX_ALU16SET                       1
    #define   MSK32ISA_LDMDH_EX_ALU16SET                          0x00040000

    #define     BA_ISA_LDMDH_EX_ALU16SEL                       0x0012
    #define     B16ISA_LDMDH_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16SEL                          19
    #define   LSb16ISA_LDMDH_EX_ALU16SEL                          3
    #define       bISA_LDMDH_EX_ALU16SEL                       1
    #define   MSK32ISA_LDMDH_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_LDMDH_EX_ALU16OR                        0x0012
    #define     B16ISA_LDMDH_EX_ALU16OR                        0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16OR                           20
    #define   LSb16ISA_LDMDH_EX_ALU16OR                           4
    #define       bISA_LDMDH_EX_ALU16OR                        1
    #define   MSK32ISA_LDMDH_EX_ALU16OR                           0x00100000

    #define     BA_ISA_LDMDH_EX_ALU16AND                       0x0012
    #define     B16ISA_LDMDH_EX_ALU16AND                       0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16AND                          21
    #define   LSb16ISA_LDMDH_EX_ALU16AND                          5
    #define       bISA_LDMDH_EX_ALU16AND                       1
    #define   MSK32ISA_LDMDH_EX_ALU16AND                          0x00200000

    #define     BA_ISA_LDMDH_EX_ALU16XOR                       0x0012
    #define     B16ISA_LDMDH_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16XOR                          22
    #define   LSb16ISA_LDMDH_EX_ALU16XOR                          6
    #define       bISA_LDMDH_EX_ALU16XOR                       1
    #define   MSK32ISA_LDMDH_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_LDMDH_EX_ALU16SP                        0x0012
    #define     B16ISA_LDMDH_EX_ALU16SP                        0x0012
    #define   LSb32ISA_LDMDH_EX_ALU16SP                           23
    #define   LSb16ISA_LDMDH_EX_ALU16SP                           7
    #define       bISA_LDMDH_EX_ALU16SP                        1
    #define   MSK32ISA_LDMDH_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_EXX                               0x0014

    #define     BA_ISA_LDMDH_EXX_WRSQ                          0x0014
    #define     B16ISA_LDMDH_EXX_WRSQ                          0x0014
    #define   LSb32ISA_LDMDH_EXX_WRSQ                             0
    #define   LSb16ISA_LDMDH_EXX_WRSQ                             0
    #define       bISA_LDMDH_EXX_WRSQ                          1
    #define   MSK32ISA_LDMDH_EXX_WRSQ                             0x00000001

    #define     BA_ISA_LDMDH_EXX_WR16                          0x0014
    #define     B16ISA_LDMDH_EXX_WR16                          0x0014
    #define   LSb32ISA_LDMDH_EXX_WR16                             1
    #define   LSb16ISA_LDMDH_EXX_WR16                             1
    #define       bISA_LDMDH_EXX_WR16                          1
    #define   MSK32ISA_LDMDH_EXX_WR16                             0x00000002

    #define     BA_ISA_LDMDH_EXX_WRTQ                          0x0014
    #define     B16ISA_LDMDH_EXX_WRTQ                          0x0014
    #define   LSb32ISA_LDMDH_EXX_WRTQ                             2
    #define   LSb16ISA_LDMDH_EXX_WRTQ                             2
    #define       bISA_LDMDH_EXX_WRTQ                          1
    #define   MSK32ISA_LDMDH_EXX_WRTQ                             0x00000004

    #define     BA_ISA_LDMDH_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_LDMDH_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_LDMDH_EXX_ALU64PUSH                        3
    #define   LSb16ISA_LDMDH_EXX_ALU64PUSH                        3
    #define       bISA_LDMDH_EXX_ALU64PUSH                     1
    #define   MSK32ISA_LDMDH_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_LDMDH_EXX_ALU64POP                      0x0014
    #define     B16ISA_LDMDH_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_LDMDH_EXX_ALU64POP                         4
    #define   LSb16ISA_LDMDH_EXX_ALU64POP                         4
    #define       bISA_LDMDH_EXX_ALU64POP                      1
    #define   MSK32ISA_LDMDH_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_LDMDH_EXX_ALU64SQ                       0x0014
    #define     B16ISA_LDMDH_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_LDMDH_EXX_ALU64SQ                          5
    #define   LSb16ISA_LDMDH_EXX_ALU64SQ                          5
    #define       bISA_LDMDH_EXX_ALU64SQ                       1
    #define   MSK32ISA_LDMDH_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_LDMDH_EXX_ALU64TQ                       0x0014
    #define     B16ISA_LDMDH_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_LDMDH_EXX_ALU64TQ                          6
    #define   LSb16ISA_LDMDH_EXX_ALU64TQ                          6
    #define       bISA_LDMDH_EXX_ALU64TQ                       1
    #define   MSK32ISA_LDMDH_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_LDMDH_EXX_ALU64MEM                      0x0014
    #define     B16ISA_LDMDH_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_LDMDH_EXX_ALU64MEM                         7
    #define   LSb16ISA_LDMDH_EXX_ALU64MEM                         7
    #define       bISA_LDMDH_EXX_ALU64MEM                      1
    #define   MSK32ISA_LDMDH_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_LDMDH_EXX_BRANCH                        0x0015
    #define     B16ISA_LDMDH_EXX_BRANCH                        0x0014
    #define   LSb32ISA_LDMDH_EXX_BRANCH                           8
    #define   LSb16ISA_LDMDH_EXX_BRANCH                           8
    #define       bISA_LDMDH_EXX_BRANCH                        1
    #define   MSK32ISA_LDMDH_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_LDMDH_WB                                0x0018

    #define     BA_ISA_LDMDH_WB_RF16                           0x0018
    #define     B16ISA_LDMDH_WB_RF16                           0x0018
    #define   LSb32ISA_LDMDH_WB_RF16                              0
    #define   LSb16ISA_LDMDH_WB_RF16                              0
    #define       bISA_LDMDH_WB_RF16                           1
    #define   MSK32ISA_LDMDH_WB_RF16                              0x00000001

    #define     BA_ISA_LDMDH_WB_RF16W0                         0x0018
    #define     B16ISA_LDMDH_WB_RF16W0                         0x0018
    #define   LSb32ISA_LDMDH_WB_RF16W0                            1
    #define   LSb16ISA_LDMDH_WB_RF16W0                            1
    #define       bISA_LDMDH_WB_RF16W0                         1
    #define   MSK32ISA_LDMDH_WB_RF16W0                            0x00000002

    #define     BA_ISA_LDMDH_WB_RF16MEM                        0x0018
    #define     B16ISA_LDMDH_WB_RF16MEM                        0x0018
    #define   LSb32ISA_LDMDH_WB_RF16MEM                           2
    #define   LSb16ISA_LDMDH_WB_RF16MEM                           2
    #define       bISA_LDMDH_WB_RF16MEM                        1
    #define   MSK32ISA_LDMDH_WB_RF16MEM                           0x00000004

    #define     BA_ISA_LDMDH_WB_RF16Q                          0x0018
    #define     B16ISA_LDMDH_WB_RF16Q                          0x0018
    #define   LSb32ISA_LDMDH_WB_RF16Q                             3
    #define   LSb16ISA_LDMDH_WB_RF16Q                             3
    #define       bISA_LDMDH_WB_RF16Q                          1
    #define   MSK32ISA_LDMDH_WB_RF16Q                             0x00000008

    #define     BA_ISA_LDMDH_WB_RF64                           0x0018
    #define     B16ISA_LDMDH_WB_RF64                           0x0018
    #define   LSb32ISA_LDMDH_WB_RF64                              4
    #define   LSb16ISA_LDMDH_WB_RF64                              4
    #define       bISA_LDMDH_WB_RF64                           1
    #define   MSK32ISA_LDMDH_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_LDMDH {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_LDMDH_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDMDH_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDMDH_Mask;
            struct w32ISA_LDMDH_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_LDMDH_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_LDMDH_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_LDMDH_Opcode;
            struct w32ISA_LDMDH_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDH_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDH_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDH_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDH_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDH_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDH_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDH_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDH_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDH_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDH_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDH_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDH_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDH_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDH_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDH_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDH_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDH_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDH_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDH_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDH_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDMDH_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_LDMDH_ID;
            struct w32ISA_LDMDH_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDH_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDH_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDH_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDH_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDH_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDH_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDH_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDH_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDH_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDH_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDH_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDH_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDH_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDH_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDH_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDH_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDH_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDH_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDH_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDH_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDH_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDH_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDH_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDH_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDMDH_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDMDH_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDMDH_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDMDH_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDMDH_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_LDMDH_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDMDH_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_LDMDH_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDMDH_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_LDMDH_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDMDH_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_LDMDH_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDMDH_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_LDMDH_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDMDH_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_LDMDH_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDMDH_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_LDMDH_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDMDH_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_LDMDH_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDMDH_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_LDMDH_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDMDH_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_LDMDH_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDMDH_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_LDMDH_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDMDH_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_LDMDH_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDMDH_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDMDH_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDMDH_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_LDMDH_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDMDH_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_LDMDH_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDMDH_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_LDMDH_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDMDH_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_LDMDH_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDMDH_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_LDMDH_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDMDH_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_LDMDH_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_LDMDH_LD;
            struct w32ISA_LDMDH_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDH_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDH_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDH_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDH_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDH_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDH_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDH_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDH_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDH_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDH_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDH_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDH_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDH_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDH_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDH_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDH_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDH_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDH_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDH_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_LDMDH_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_LDMDH_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_LDMDH_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_LDMDH_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_LDMDH_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_LDMDH_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_LDMDH_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_LDMDH_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_LDMDH_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_LDMDH_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_LDMDH_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_LDMDH_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_LDMDH_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_LDMDH_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_LDMDH_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_LDMDH_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_LDMDH_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_LDMDH_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_LDMDH_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_LDMDH_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_LDMDH_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_LDMDH_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_LDMDH_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_LDMDH_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_LDMDH_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_LDMDH_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_LDMDH_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_LDMDH_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_LDMDH_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_LDMDH_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_LDMDH_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_LDMDH_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_LDMDH_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_LDMDH_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_LDMDH_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_LDMDH_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_LDMDH_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_LDMDH_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_LDMDH_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_LDMDH_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_LDMDH_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDH_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_LDMDH_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_LDMDH_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDH_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDH_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_LDMDH_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_LDMDH_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDH_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_LDMDH_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_LDMDH_EX;
            struct w32ISA_LDMDH_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDH_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDH_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDH_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDH_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDH_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDH_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDH_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDH_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDH_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDH_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_LDMDH_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_LDMDH_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_LDMDH_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_LDMDH_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_LDMDH_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_LDMDH_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_LDMDH_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_LDMDH_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_LDMDH_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_LDMDH_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_LDMDH_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_LDMDH_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_LDMDH_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_LDMDH_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_LDMDH_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_LDMDH_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_LDMDH_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_LDMDH_EXX;
            struct w32ISA_LDMDH_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_LDMDH_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_LDMDH_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_LDMDH_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_LDMDH_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_LDMDH_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_LDMDH_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_LDMDH_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_LDMDH_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_LDMDH_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_LDMDH_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_LDMDH_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_LDMDH_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_LDMDH_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_LDMDH_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_LDMDH_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_LDMDH_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_LDMDH_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_LDMDH_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_LDMDH_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_LDMDH_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_LDMDH_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_LDMDH_WB;
            struct w32ISA_LDMDH_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_LDMDH;

    typedef union  T32ISA_LDMDH_Mask
          { UNSG32 u32;
            struct w32ISA_LDMDH_Mask;
                 } T32ISA_LDMDH_Mask;
    typedef union  T32ISA_LDMDH_Opcode
          { UNSG32 u32;
            struct w32ISA_LDMDH_Opcode;
                 } T32ISA_LDMDH_Opcode;
    typedef union  T32ISA_LDMDH_ID
          { UNSG32 u32;
            struct w32ISA_LDMDH_ID;
                 } T32ISA_LDMDH_ID;
    typedef union  T32ISA_LDMDH_LD
          { UNSG32 u32;
            struct w32ISA_LDMDH_LD;
                 } T32ISA_LDMDH_LD;
    typedef union  T32ISA_LDMDH_EX
          { UNSG32 u32;
            struct w32ISA_LDMDH_EX;
                 } T32ISA_LDMDH_EX;
    typedef union  T32ISA_LDMDH_EXX
          { UNSG32 u32;
            struct w32ISA_LDMDH_EXX;
                 } T32ISA_LDMDH_EXX;
    typedef union  T32ISA_LDMDH_WB
          { UNSG32 u32;
            struct w32ISA_LDMDH_WB;
                 } T32ISA_LDMDH_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_LDMDH_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_Mask;
                   };
                 } TISA_LDMDH_Mask;
    typedef union  TISA_LDMDH_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_Opcode;
                   };
                 } TISA_LDMDH_Opcode;
    typedef union  TISA_LDMDH_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_ID;
                   };
                 } TISA_LDMDH_ID;
    typedef union  TISA_LDMDH_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_LD;
                   };
                 } TISA_LDMDH_LD;
    typedef union  TISA_LDMDH_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_EX;
                   };
                 } TISA_LDMDH_EX;
    typedef union  TISA_LDMDH_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_EXX;
                   };
                 } TISA_LDMDH_EXX;
    typedef union  TISA_LDMDH_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_LDMDH_WB;
                   };
                 } TISA_LDMDH_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_LDMDH_drvrd(SIE_ISA_LDMDH *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_LDMDH_drvwr(SIE_ISA_LDMDH *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_LDMDH_reset(SIE_ISA_LDMDH *p);
     SIGN32 ISA_LDMDH_cmp  (SIE_ISA_LDMDH *p, SIE_ISA_LDMDH *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_LDMDH_check(p,pie,pfx,hLOG) ISA_LDMDH_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_LDMDH_print(p,    pfx,hLOG) ISA_LDMDH_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_LDMDH
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ORL                                  (4,4)
///     ###
///     * Or a register low 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x280000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ORL"     , "rD,rS,C"     , "0010 1000 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    ORL      %d1, %a1, 0x01 ; %d1 = %a1 | 0x0001;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   0x1
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ORL
#define h_ISA_ORL (){}

    #define     RA_ISA_ORL_Mask                                0x0000

    #define     BA_ISA_ORL_Mask_INS                            0x0000
    #define     B16ISA_ORL_Mask_INS                            0x0000
    #define   LSb32ISA_ORL_Mask_INS                               0
    #define   LSb16ISA_ORL_Mask_INS                               0
    #define       bISA_ORL_Mask_INS                            24
    #define   MSK32ISA_ORL_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_Opcode                              0x0004

    #define     BA_ISA_ORL_Opcode_INS                          0x0004
    #define     B16ISA_ORL_Opcode_INS                          0x0004
    #define   LSb32ISA_ORL_Opcode_INS                             0
    #define   LSb16ISA_ORL_Opcode_INS                             0
    #define       bISA_ORL_Opcode_INS                          24
    #define   MSK32ISA_ORL_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_ID                                  0x0008

    #define     BA_ISA_ORL_ID_RBRF                             0x0008
    #define     B16ISA_ORL_ID_RBRF                             0x0008
    #define   LSb32ISA_ORL_ID_RBRF                                0
    #define   LSb16ISA_ORL_ID_RBRF                                0
    #define       bISA_ORL_ID_RBRF                             1
    #define   MSK32ISA_ORL_ID_RBRF                                0x00000001

    #define     BA_ISA_ORL_ID_RARF                             0x0008
    #define     B16ISA_ORL_ID_RARF                             0x0008
    #define   LSb32ISA_ORL_ID_RARF                                1
    #define   LSb16ISA_ORL_ID_RARF                                1
    #define       bISA_ORL_ID_RARF                             1
    #define   MSK32ISA_ORL_ID_RARF                                0x00000002

    #define     BA_ISA_ORL_ID_RAK8                             0x0008
    #define     B16ISA_ORL_ID_RAK8                             0x0008
    #define   LSb32ISA_ORL_ID_RAK8                                2
    #define   LSb16ISA_ORL_ID_RAK8                                2
    #define       bISA_ORL_ID_RAK8                             1
    #define   MSK32ISA_ORL_ID_RAK8                                0x00000004

    #define     BA_ISA_ORL_ID_RAI16                            0x0008
    #define     B16ISA_ORL_ID_RAI16                            0x0008
    #define   LSb32ISA_ORL_ID_RAI16                               3
    #define   LSb16ISA_ORL_ID_RAI16                               3
    #define       bISA_ORL_ID_RAI16                            1
    #define   MSK32ISA_ORL_ID_RAI16                               0x00000008

    #define     BA_ISA_ORL_ID_RAK16                            0x0008
    #define     B16ISA_ORL_ID_RAK16                            0x0008
    #define   LSb32ISA_ORL_ID_RAK16                               4
    #define   LSb16ISA_ORL_ID_RAK16                               4
    #define       bISA_ORL_ID_RAK16                            1
    #define   MSK32ISA_ORL_ID_RAK16                               0x00000010

    #define     BA_ISA_ORL_ID_RFSP                             0x0008
    #define     B16ISA_ORL_ID_RFSP                             0x0008
    #define   LSb32ISA_ORL_ID_RFSP                                5
    #define   LSb16ISA_ORL_ID_RFSP                                5
    #define       bISA_ORL_ID_RFSP                             1
    #define   MSK32ISA_ORL_ID_RFSP                                0x00000020

    #define     BA_ISA_ORL_ID_W4D4                             0x0008
    #define     B16ISA_ORL_ID_W4D4                             0x0008
    #define   LSb32ISA_ORL_ID_W4D4                                6
    #define   LSb16ISA_ORL_ID_W4D4                                6
    #define       bISA_ORL_ID_W4D4                             1
    #define   MSK32ISA_ORL_ID_W4D4                                0x00000040

    #define     BA_ISA_ORL_ID_W4S4                             0x0008
    #define     B16ISA_ORL_ID_W4S4                             0x0008
    #define   LSb32ISA_ORL_ID_W4S4                                7
    #define   LSb16ISA_ORL_ID_W4S4                                7
    #define       bISA_ORL_ID_W4S4                             1
    #define   MSK32ISA_ORL_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_LD                                  0x000C

    #define     BA_ISA_ORL_LD_SPRF                             0x000C
    #define     B16ISA_ORL_LD_SPRF                             0x000C
    #define   LSb32ISA_ORL_LD_SPRF                                0
    #define   LSb16ISA_ORL_LD_SPRF                                0
    #define       bISA_ORL_LD_SPRF                             1
    #define   MSK32ISA_ORL_LD_SPRF                                0x00000001

    #define     BA_ISA_ORL_LD_SPK8                             0x000C
    #define     B16ISA_ORL_LD_SPK8                             0x000C
    #define   LSb32ISA_ORL_LD_SPK8                                1
    #define   LSb16ISA_ORL_LD_SPK8                                1
    #define       bISA_ORL_LD_SPK8                             1
    #define   MSK32ISA_ORL_LD_SPK8                                0x00000002

    #define     BA_ISA_ORL_LD_SPJ                              0x000C
    #define     B16ISA_ORL_LD_SPJ                              0x000C
    #define   LSb32ISA_ORL_LD_SPJ                                 2
    #define   LSb16ISA_ORL_LD_SPJ                                 2
    #define       bISA_ORL_LD_SPJ                              1
    #define   MSK32ISA_ORL_LD_SPJ                                 0x00000004

    #define     BA_ISA_ORL_LD_SP4S                             0x000C
    #define     B16ISA_ORL_LD_SP4S                             0x000C
    #define   LSb32ISA_ORL_LD_SP4S                                3
    #define   LSb16ISA_ORL_LD_SP4S                                3
    #define       bISA_ORL_LD_SP4S                             1
    #define   MSK32ISA_ORL_LD_SP4S                                0x00000008

    #define     BA_ISA_ORL_LD_SP8S                             0x000C
    #define     B16ISA_ORL_LD_SP8S                             0x000C
    #define   LSb32ISA_ORL_LD_SP8S                                4
    #define   LSb16ISA_ORL_LD_SP8S                                4
    #define       bISA_ORL_LD_SP8S                             1
    #define   MSK32ISA_ORL_LD_SP8S                                0x00000010

    #define     BA_ISA_ORL_LD_SP8U                             0x000C
    #define     B16ISA_ORL_LD_SP8U                             0x000C
    #define   LSb32ISA_ORL_LD_SP8U                                5
    #define   LSb16ISA_ORL_LD_SP8U                                5
    #define       bISA_ORL_LD_SP8U                             1
    #define   MSK32ISA_ORL_LD_SP8U                                0x00000020

    #define     BA_ISA_ORL_LD_SP12S                            0x000C
    #define     B16ISA_ORL_LD_SP12S                            0x000C
    #define   LSb32ISA_ORL_LD_SP12S                               6
    #define   LSb16ISA_ORL_LD_SP12S                               6
    #define       bISA_ORL_LD_SP12S                            1
    #define   MSK32ISA_ORL_LD_SP12S                               0x00000040

    #define     BA_ISA_ORL_LD_SP16                             0x000C
    #define     B16ISA_ORL_LD_SP16                             0x000C
    #define   LSb32ISA_ORL_LD_SP16                                7
    #define   LSb16ISA_ORL_LD_SP16                                7
    #define       bISA_ORL_LD_SP16                             1
    #define   MSK32ISA_ORL_LD_SP16                                0x00000080

    #define     BA_ISA_ORL_LD_TPRF                             0x000D
    #define     B16ISA_ORL_LD_TPRF                             0x000C
    #define   LSb32ISA_ORL_LD_TPRF                                8
    #define   LSb16ISA_ORL_LD_TPRF                                8
    #define       bISA_ORL_LD_TPRF                             1
    #define   MSK32ISA_ORL_LD_TPRF                                0x00000100

    #define     BA_ISA_ORL_LD_TPJ                              0x000D
    #define     B16ISA_ORL_LD_TPJ                              0x000C
    #define   LSb32ISA_ORL_LD_TPJ                                 9
    #define   LSb16ISA_ORL_LD_TPJ                                 9
    #define       bISA_ORL_LD_TPJ                              1
    #define   MSK32ISA_ORL_LD_TPJ                                 0x00000200

    #define     BA_ISA_ORL_LD_TP4S                             0x000D
    #define     B16ISA_ORL_LD_TP4S                             0x000C
    #define   LSb32ISA_ORL_LD_TP4S                                10
    #define   LSb16ISA_ORL_LD_TP4S                                10
    #define       bISA_ORL_LD_TP4S                             1
    #define   MSK32ISA_ORL_LD_TP4S                                0x00000400

    #define     BA_ISA_ORL_LD_TP8L                             0x000D
    #define     B16ISA_ORL_LD_TP8L                             0x000C
    #define   LSb32ISA_ORL_LD_TP8L                                11
    #define   LSb16ISA_ORL_LD_TP8L                                11
    #define       bISA_ORL_LD_TP8L                             1
    #define   MSK32ISA_ORL_LD_TP8L                                0x00000800

    #define     BA_ISA_ORL_LD_TP8H                             0x000D
    #define     B16ISA_ORL_LD_TP8H                             0x000C
    #define   LSb32ISA_ORL_LD_TP8H                                12
    #define   LSb16ISA_ORL_LD_TP8H                                12
    #define       bISA_ORL_LD_TP8H                             1
    #define   MSK32ISA_ORL_LD_TP8H                                0x00001000

    #define     BA_ISA_ORL_LD_TP8LF                            0x000D
    #define     B16ISA_ORL_LD_TP8LF                            0x000C
    #define   LSb32ISA_ORL_LD_TP8LF                               13
    #define   LSb16ISA_ORL_LD_TP8LF                               13
    #define       bISA_ORL_LD_TP8LF                            1
    #define   MSK32ISA_ORL_LD_TP8LF                               0x00002000

    #define     BA_ISA_ORL_LD_TP8HF                            0x000D
    #define     B16ISA_ORL_LD_TP8HF                            0x000C
    #define   LSb32ISA_ORL_LD_TP8HF                               14
    #define   LSb16ISA_ORL_LD_TP8HF                               14
    #define       bISA_ORL_LD_TP8HF                            1
    #define   MSK32ISA_ORL_LD_TP8HF                               0x00004000

    #define     BA_ISA_ORL_LD_SQRF64                           0x000D
    #define     B16ISA_ORL_LD_SQRF64                           0x000C
    #define   LSb32ISA_ORL_LD_SQRF64                              15
    #define   LSb16ISA_ORL_LD_SQRF64                              15
    #define       bISA_ORL_LD_SQRF64                           1
    #define   MSK32ISA_ORL_LD_SQRF64                              0x00008000

    #define     BA_ISA_ORL_LD_TQRF16Q                          0x000E
    #define     B16ISA_ORL_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_ORL_LD_TQRF16Q                             16
    #define   LSb16ISA_ORL_LD_TQRF16Q                             0
    #define       bISA_ORL_LD_TQRF16Q                          1
    #define   MSK32ISA_ORL_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_ORL_LD_TQRFx4                           0x000E
    #define     B16ISA_ORL_LD_TQRFx4                           0x000E
    #define   LSb32ISA_ORL_LD_TQRFx4                              17
    #define   LSb16ISA_ORL_LD_TQRFx4                              1
    #define       bISA_ORL_LD_TQRFx4                           1
    #define   MSK32ISA_ORL_LD_TQRFx4                              0x00020000

    #define     BA_ISA_ORL_LD_RD                               0x000E
    #define     B16ISA_ORL_LD_RD                               0x000E
    #define   LSb32ISA_ORL_LD_RD                                  18
    #define   LSb16ISA_ORL_LD_RD                                  2
    #define       bISA_ORL_LD_RD                               1
    #define   MSK32ISA_ORL_LD_RD                                  0x00040000

    #define     BA_ISA_ORL_LD_WARF                             0x000E
    #define     B16ISA_ORL_LD_WARF                             0x000E
    #define   LSb32ISA_ORL_LD_WARF                                19
    #define   LSb16ISA_ORL_LD_WARF                                3
    #define       bISA_ORL_LD_WARF                             1
    #define   MSK32ISA_ORL_LD_WARF                                0x00080000

    #define     BA_ISA_ORL_LD_WAK8                             0x000E
    #define     B16ISA_ORL_LD_WAK8                             0x000E
    #define   LSb32ISA_ORL_LD_WAK8                                20
    #define   LSb16ISA_ORL_LD_WAK8                                4
    #define       bISA_ORL_LD_WAK8                             1
    #define   MSK32ISA_ORL_LD_WAK8                                0x00100000

    #define     BA_ISA_ORL_LD_WAK16                            0x000E
    #define     B16ISA_ORL_LD_WAK16                            0x000E
    #define   LSb32ISA_ORL_LD_WAK16                               21
    #define   LSb16ISA_ORL_LD_WAK16                               5
    #define       bISA_ORL_LD_WAK16                            1
    #define   MSK32ISA_ORL_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_EX                                  0x0010

    #define     BA_ISA_ORL_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_ORL_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagZ                          0
    #define   LSb16ISA_ORL_EX_ALU16FlagZ                          0
    #define       bISA_ORL_EX_ALU16FlagZ                       1
    #define   MSK32ISA_ORL_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_ORL_EX_ALU16FlagC                       0x0010
    #define     B16ISA_ORL_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagC                          1
    #define   LSb16ISA_ORL_EX_ALU16FlagC                          1
    #define       bISA_ORL_EX_ALU16FlagC                       1
    #define   MSK32ISA_ORL_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_ORL_EX_ALU16FlagN                       0x0010
    #define     B16ISA_ORL_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagN                          2
    #define   LSb16ISA_ORL_EX_ALU16FlagN                          2
    #define       bISA_ORL_EX_ALU16FlagN                       1
    #define   MSK32ISA_ORL_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_ORL_EX_ALU16FlagV                       0x0010
    #define     B16ISA_ORL_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagV                          3
    #define   LSb16ISA_ORL_EX_ALU16FlagV                          3
    #define       bISA_ORL_EX_ALU16FlagV                       1
    #define   MSK32ISA_ORL_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_ORL_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_ORL_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagTP                         4
    #define   LSb16ISA_ORL_EX_ALU16FlagTP                         4
    #define       bISA_ORL_EX_ALU16FlagTP                      1
    #define   MSK32ISA_ORL_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_ORL_EX_ALU16MUL                         0x0010
    #define     B16ISA_ORL_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16MUL                            5
    #define   LSb16ISA_ORL_EX_ALU16MUL                            5
    #define       bISA_ORL_EX_ALU16MUL                         1
    #define   MSK32ISA_ORL_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_ORL_EX_ALU16DIV                         0x0010
    #define     B16ISA_ORL_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16DIV                            6
    #define   LSb16ISA_ORL_EX_ALU16DIV                            6
    #define       bISA_ORL_EX_ALU16DIV                         1
    #define   MSK32ISA_ORL_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_ORL_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_ORL_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_ORL_EX_ALU16FlagLD                         7
    #define   LSb16ISA_ORL_EX_ALU16FlagLD                         7
    #define       bISA_ORL_EX_ALU16FlagLD                      1
    #define   MSK32ISA_ORL_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_ORL_EX_ALU16MDL                         0x0011
    #define     B16ISA_ORL_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16MDL                            8
    #define   LSb16ISA_ORL_EX_ALU16MDL                            8
    #define       bISA_ORL_EX_ALU16MDL                         1
    #define   MSK32ISA_ORL_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_ORL_EX_ALU16MDH                         0x0011
    #define     B16ISA_ORL_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16MDH                            9
    #define   LSb16ISA_ORL_EX_ALU16MDH                            9
    #define       bISA_ORL_EX_ALU16MDH                         1
    #define   MSK32ISA_ORL_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_ORL_EX_ALU16ADD                         0x0011
    #define     B16ISA_ORL_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16ADD                            10
    #define   LSb16ISA_ORL_EX_ALU16ADD                            10
    #define       bISA_ORL_EX_ALU16ADD                         1
    #define   MSK32ISA_ORL_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_ORL_EX_ALU16SUB                         0x0011
    #define     B16ISA_ORL_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16SUB                            11
    #define   LSb16ISA_ORL_EX_ALU16SUB                            11
    #define       bISA_ORL_EX_ALU16SUB                         1
    #define   MSK32ISA_ORL_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_ORL_EX_ALU16ADDC                        0x0011
    #define     B16ISA_ORL_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_ORL_EX_ALU16ADDC                           12
    #define   LSb16ISA_ORL_EX_ALU16ADDC                           12
    #define       bISA_ORL_EX_ALU16ADDC                        1
    #define   MSK32ISA_ORL_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_ORL_EX_ALU16SUBC                        0x0011
    #define     B16ISA_ORL_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_ORL_EX_ALU16SUBC                           13
    #define   LSb16ISA_ORL_EX_ALU16SUBC                           13
    #define       bISA_ORL_EX_ALU16SUBC                        1
    #define   MSK32ISA_ORL_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_ORL_EX_ALU16ASR                         0x0011
    #define     B16ISA_ORL_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_ORL_EX_ALU16ASR                            14
    #define   LSb16ISA_ORL_EX_ALU16ASR                            14
    #define       bISA_ORL_EX_ALU16ASR                         1
    #define   MSK32ISA_ORL_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_ORL_EX_ALU16SL                          0x0011
    #define     B16ISA_ORL_EX_ALU16SL                          0x0010
    #define   LSb32ISA_ORL_EX_ALU16SL                             15
    #define   LSb16ISA_ORL_EX_ALU16SL                             15
    #define       bISA_ORL_EX_ALU16SL                          1
    #define   MSK32ISA_ORL_EX_ALU16SL                             0x00008000

    #define     BA_ISA_ORL_EX_ALU16SR                          0x0012
    #define     B16ISA_ORL_EX_ALU16SR                          0x0012
    #define   LSb32ISA_ORL_EX_ALU16SR                             16
    #define   LSb16ISA_ORL_EX_ALU16SR                             0
    #define       bISA_ORL_EX_ALU16SR                          1
    #define   MSK32ISA_ORL_EX_ALU16SR                             0x00010000

    #define     BA_ISA_ORL_EX_ALU16GET                         0x0012
    #define     B16ISA_ORL_EX_ALU16GET                         0x0012
    #define   LSb32ISA_ORL_EX_ALU16GET                            17
    #define   LSb16ISA_ORL_EX_ALU16GET                            1
    #define       bISA_ORL_EX_ALU16GET                         1
    #define   MSK32ISA_ORL_EX_ALU16GET                            0x00020000

    #define     BA_ISA_ORL_EX_ALU16SET                         0x0012
    #define     B16ISA_ORL_EX_ALU16SET                         0x0012
    #define   LSb32ISA_ORL_EX_ALU16SET                            18
    #define   LSb16ISA_ORL_EX_ALU16SET                            2
    #define       bISA_ORL_EX_ALU16SET                         1
    #define   MSK32ISA_ORL_EX_ALU16SET                            0x00040000

    #define     BA_ISA_ORL_EX_ALU16SEL                         0x0012
    #define     B16ISA_ORL_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_ORL_EX_ALU16SEL                            19
    #define   LSb16ISA_ORL_EX_ALU16SEL                            3
    #define       bISA_ORL_EX_ALU16SEL                         1
    #define   MSK32ISA_ORL_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_ORL_EX_ALU16OR                          0x0012
    #define     B16ISA_ORL_EX_ALU16OR                          0x0012
    #define   LSb32ISA_ORL_EX_ALU16OR                             20
    #define   LSb16ISA_ORL_EX_ALU16OR                             4
    #define       bISA_ORL_EX_ALU16OR                          1
    #define   MSK32ISA_ORL_EX_ALU16OR                             0x00100000

    #define     BA_ISA_ORL_EX_ALU16AND                         0x0012
    #define     B16ISA_ORL_EX_ALU16AND                         0x0012
    #define   LSb32ISA_ORL_EX_ALU16AND                            21
    #define   LSb16ISA_ORL_EX_ALU16AND                            5
    #define       bISA_ORL_EX_ALU16AND                         1
    #define   MSK32ISA_ORL_EX_ALU16AND                            0x00200000

    #define     BA_ISA_ORL_EX_ALU16XOR                         0x0012
    #define     B16ISA_ORL_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_ORL_EX_ALU16XOR                            22
    #define   LSb16ISA_ORL_EX_ALU16XOR                            6
    #define       bISA_ORL_EX_ALU16XOR                         1
    #define   MSK32ISA_ORL_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_ORL_EX_ALU16SP                          0x0012
    #define     B16ISA_ORL_EX_ALU16SP                          0x0012
    #define   LSb32ISA_ORL_EX_ALU16SP                             23
    #define   LSb16ISA_ORL_EX_ALU16SP                             7
    #define       bISA_ORL_EX_ALU16SP                          1
    #define   MSK32ISA_ORL_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_EXX                                 0x0014

    #define     BA_ISA_ORL_EXX_WRSQ                            0x0014
    #define     B16ISA_ORL_EXX_WRSQ                            0x0014
    #define   LSb32ISA_ORL_EXX_WRSQ                               0
    #define   LSb16ISA_ORL_EXX_WRSQ                               0
    #define       bISA_ORL_EXX_WRSQ                            1
    #define   MSK32ISA_ORL_EXX_WRSQ                               0x00000001

    #define     BA_ISA_ORL_EXX_WR16                            0x0014
    #define     B16ISA_ORL_EXX_WR16                            0x0014
    #define   LSb32ISA_ORL_EXX_WR16                               1
    #define   LSb16ISA_ORL_EXX_WR16                               1
    #define       bISA_ORL_EXX_WR16                            1
    #define   MSK32ISA_ORL_EXX_WR16                               0x00000002

    #define     BA_ISA_ORL_EXX_WRTQ                            0x0014
    #define     B16ISA_ORL_EXX_WRTQ                            0x0014
    #define   LSb32ISA_ORL_EXX_WRTQ                               2
    #define   LSb16ISA_ORL_EXX_WRTQ                               2
    #define       bISA_ORL_EXX_WRTQ                            1
    #define   MSK32ISA_ORL_EXX_WRTQ                               0x00000004

    #define     BA_ISA_ORL_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_ORL_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_ORL_EXX_ALU64PUSH                          3
    #define   LSb16ISA_ORL_EXX_ALU64PUSH                          3
    #define       bISA_ORL_EXX_ALU64PUSH                       1
    #define   MSK32ISA_ORL_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_ORL_EXX_ALU64POP                        0x0014
    #define     B16ISA_ORL_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_ORL_EXX_ALU64POP                           4
    #define   LSb16ISA_ORL_EXX_ALU64POP                           4
    #define       bISA_ORL_EXX_ALU64POP                        1
    #define   MSK32ISA_ORL_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_ORL_EXX_ALU64SQ                         0x0014
    #define     B16ISA_ORL_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_ORL_EXX_ALU64SQ                            5
    #define   LSb16ISA_ORL_EXX_ALU64SQ                            5
    #define       bISA_ORL_EXX_ALU64SQ                         1
    #define   MSK32ISA_ORL_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_ORL_EXX_ALU64TQ                         0x0014
    #define     B16ISA_ORL_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_ORL_EXX_ALU64TQ                            6
    #define   LSb16ISA_ORL_EXX_ALU64TQ                            6
    #define       bISA_ORL_EXX_ALU64TQ                         1
    #define   MSK32ISA_ORL_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_ORL_EXX_ALU64MEM                        0x0014
    #define     B16ISA_ORL_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_ORL_EXX_ALU64MEM                           7
    #define   LSb16ISA_ORL_EXX_ALU64MEM                           7
    #define       bISA_ORL_EXX_ALU64MEM                        1
    #define   MSK32ISA_ORL_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_ORL_EXX_BRANCH                          0x0015
    #define     B16ISA_ORL_EXX_BRANCH                          0x0014
    #define   LSb32ISA_ORL_EXX_BRANCH                             8
    #define   LSb16ISA_ORL_EXX_BRANCH                             8
    #define       bISA_ORL_EXX_BRANCH                          1
    #define   MSK32ISA_ORL_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORL_WB                                  0x0018

    #define     BA_ISA_ORL_WB_RF16                             0x0018
    #define     B16ISA_ORL_WB_RF16                             0x0018
    #define   LSb32ISA_ORL_WB_RF16                                0
    #define   LSb16ISA_ORL_WB_RF16                                0
    #define       bISA_ORL_WB_RF16                             1
    #define   MSK32ISA_ORL_WB_RF16                                0x00000001

    #define     BA_ISA_ORL_WB_RF16W0                           0x0018
    #define     B16ISA_ORL_WB_RF16W0                           0x0018
    #define   LSb32ISA_ORL_WB_RF16W0                              1
    #define   LSb16ISA_ORL_WB_RF16W0                              1
    #define       bISA_ORL_WB_RF16W0                           1
    #define   MSK32ISA_ORL_WB_RF16W0                              0x00000002

    #define     BA_ISA_ORL_WB_RF16MEM                          0x0018
    #define     B16ISA_ORL_WB_RF16MEM                          0x0018
    #define   LSb32ISA_ORL_WB_RF16MEM                             2
    #define   LSb16ISA_ORL_WB_RF16MEM                             2
    #define       bISA_ORL_WB_RF16MEM                          1
    #define   MSK32ISA_ORL_WB_RF16MEM                             0x00000004

    #define     BA_ISA_ORL_WB_RF16Q                            0x0018
    #define     B16ISA_ORL_WB_RF16Q                            0x0018
    #define   LSb32ISA_ORL_WB_RF16Q                               3
    #define   LSb16ISA_ORL_WB_RF16Q                               3
    #define       bISA_ORL_WB_RF16Q                            1
    #define   MSK32ISA_ORL_WB_RF16Q                               0x00000008

    #define     BA_ISA_ORL_WB_RF64                             0x0018
    #define     B16ISA_ORL_WB_RF64                             0x0018
    #define   LSb32ISA_ORL_WB_RF64                                4
    #define   LSb16ISA_ORL_WB_RF64                                4
    #define       bISA_ORL_WB_RF64                             1
    #define   MSK32ISA_ORL_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ORL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_ORL_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_ORL_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ORL_Mask;
            struct w32ISA_ORL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_ORL_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_ORL_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ORL_Opcode;
            struct w32ISA_ORL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORL_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORL_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORL_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORL_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORL_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORL_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORL_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORL_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORL_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORL_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORL_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORL_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORL_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORL_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORL_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORL_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORL_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORL_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORL_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORL_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ORL_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ORL_ID;
            struct w32ISA_ORL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORL_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORL_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORL_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORL_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORL_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORL_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORL_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORL_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORL_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORL_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORL_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORL_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORL_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORL_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORL_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORL_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORL_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORL_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORL_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORL_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORL_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORL_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORL_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORL_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ORL_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_ORL_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ORL_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_ORL_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ORL_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_ORL_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_ORL_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_ORL_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_ORL_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_ORL_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_ORL_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_ORL_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_ORL_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_ORL_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_ORL_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_ORL_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_ORL_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_ORL_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_ORL_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_ORL_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_ORL_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_ORL_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_ORL_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_ORL_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_ORL_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_ORL_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_ORL_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_ORL_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_ORL_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ORL_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ORL_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_ORL_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_ORL_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_ORL_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_ORL_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_ORL_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_ORL_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_ORL_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_ORL_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_ORL_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_ORL_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ORL_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ORL_LD;
            struct w32ISA_ORL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORL_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORL_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORL_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORL_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORL_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORL_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORL_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORL_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORL_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORL_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORL_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORL_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORL_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORL_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORL_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORL_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORL_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORL_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORL_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORL_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORL_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORL_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORL_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORL_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ORL_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_ORL_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ORL_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_ORL_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ORL_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_ORL_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_ORL_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_ORL_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_ORL_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_ORL_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_ORL_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_ORL_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_ORL_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_ORL_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_ORL_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_ORL_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_ORL_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_ORL_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_ORL_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_ORL_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_ORL_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_ORL_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_ORL_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_ORL_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_ORL_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ORL_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ORL_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ORL_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ORL_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ORL_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ORL_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_ORL_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_ORL_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_ORL_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_ORL_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_ORL_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_ORL_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_ORL_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_ORL_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_ORL_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_ORL_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORL_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_ORL_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_ORL_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORL_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORL_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_ORL_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_ORL_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORL_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ORL_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ORL_EX;
            struct w32ISA_ORL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORL_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORL_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORL_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORL_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORL_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORL_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORL_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORL_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORL_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORL_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORL_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORL_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORL_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORL_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORL_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORL_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORL_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORL_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORL_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORL_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORL_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORL_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORL_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORL_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORL_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORL_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ORL_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ORL_EXX;
            struct w32ISA_ORL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORL_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORL_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORL_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORL_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORL_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORL_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORL_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORL_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORL_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORL_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORL_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORL_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORL_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORL_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORL_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORL_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORL_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORL_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORL_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORL_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ORL_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ORL_WB;
            struct w32ISA_ORL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ORL;

    typedef union  T32ISA_ORL_Mask
          { UNSG32 u32;
            struct w32ISA_ORL_Mask;
                 } T32ISA_ORL_Mask;
    typedef union  T32ISA_ORL_Opcode
          { UNSG32 u32;
            struct w32ISA_ORL_Opcode;
                 } T32ISA_ORL_Opcode;
    typedef union  T32ISA_ORL_ID
          { UNSG32 u32;
            struct w32ISA_ORL_ID;
                 } T32ISA_ORL_ID;
    typedef union  T32ISA_ORL_LD
          { UNSG32 u32;
            struct w32ISA_ORL_LD;
                 } T32ISA_ORL_LD;
    typedef union  T32ISA_ORL_EX
          { UNSG32 u32;
            struct w32ISA_ORL_EX;
                 } T32ISA_ORL_EX;
    typedef union  T32ISA_ORL_EXX
          { UNSG32 u32;
            struct w32ISA_ORL_EXX;
                 } T32ISA_ORL_EXX;
    typedef union  T32ISA_ORL_WB
          { UNSG32 u32;
            struct w32ISA_ORL_WB;
                 } T32ISA_ORL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ORL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_Mask;
                   };
                 } TISA_ORL_Mask;
    typedef union  TISA_ORL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_Opcode;
                   };
                 } TISA_ORL_Opcode;
    typedef union  TISA_ORL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_ID;
                   };
                 } TISA_ORL_ID;
    typedef union  TISA_ORL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_LD;
                   };
                 } TISA_ORL_LD;
    typedef union  TISA_ORL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_EX;
                   };
                 } TISA_ORL_EX;
    typedef union  TISA_ORL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_EXX;
                   };
                 } TISA_ORL_EXX;
    typedef union  TISA_ORL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORL_WB;
                   };
                 } TISA_ORL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ORL_drvrd(SIE_ISA_ORL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ORL_drvwr(SIE_ISA_ORL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ORL_reset(SIE_ISA_ORL *p);
     SIGN32 ISA_ORL_cmp  (SIE_ISA_ORL *p, SIE_ISA_ORL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ORL_check(p,pie,pfx,hLOG) ISA_ORL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ORL_print(p,    pfx,hLOG) ISA_ORL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ORL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ORH                                  (4,4)
///     ###
///     * Or a register high 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x290000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ORH"     , "rD,rS,C"     , "0010 1001 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    ORH      %d1, %a1, 0x01 ; %d1 = %a1 | 0x0100;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      0x1
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   0x1
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ORH
#define h_ISA_ORH (){}

    #define     RA_ISA_ORH_Mask                                0x0000

    #define     BA_ISA_ORH_Mask_INS                            0x0000
    #define     B16ISA_ORH_Mask_INS                            0x0000
    #define   LSb32ISA_ORH_Mask_INS                               0
    #define   LSb16ISA_ORH_Mask_INS                               0
    #define       bISA_ORH_Mask_INS                            24
    #define   MSK32ISA_ORH_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_Opcode                              0x0004

    #define     BA_ISA_ORH_Opcode_INS                          0x0004
    #define     B16ISA_ORH_Opcode_INS                          0x0004
    #define   LSb32ISA_ORH_Opcode_INS                             0
    #define   LSb16ISA_ORH_Opcode_INS                             0
    #define       bISA_ORH_Opcode_INS                          24
    #define   MSK32ISA_ORH_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_ID                                  0x0008

    #define     BA_ISA_ORH_ID_RBRF                             0x0008
    #define     B16ISA_ORH_ID_RBRF                             0x0008
    #define   LSb32ISA_ORH_ID_RBRF                                0
    #define   LSb16ISA_ORH_ID_RBRF                                0
    #define       bISA_ORH_ID_RBRF                             1
    #define   MSK32ISA_ORH_ID_RBRF                                0x00000001

    #define     BA_ISA_ORH_ID_RARF                             0x0008
    #define     B16ISA_ORH_ID_RARF                             0x0008
    #define   LSb32ISA_ORH_ID_RARF                                1
    #define   LSb16ISA_ORH_ID_RARF                                1
    #define       bISA_ORH_ID_RARF                             1
    #define   MSK32ISA_ORH_ID_RARF                                0x00000002

    #define     BA_ISA_ORH_ID_RAK8                             0x0008
    #define     B16ISA_ORH_ID_RAK8                             0x0008
    #define   LSb32ISA_ORH_ID_RAK8                                2
    #define   LSb16ISA_ORH_ID_RAK8                                2
    #define       bISA_ORH_ID_RAK8                             1
    #define   MSK32ISA_ORH_ID_RAK8                                0x00000004

    #define     BA_ISA_ORH_ID_RAI16                            0x0008
    #define     B16ISA_ORH_ID_RAI16                            0x0008
    #define   LSb32ISA_ORH_ID_RAI16                               3
    #define   LSb16ISA_ORH_ID_RAI16                               3
    #define       bISA_ORH_ID_RAI16                            1
    #define   MSK32ISA_ORH_ID_RAI16                               0x00000008

    #define     BA_ISA_ORH_ID_RAK16                            0x0008
    #define     B16ISA_ORH_ID_RAK16                            0x0008
    #define   LSb32ISA_ORH_ID_RAK16                               4
    #define   LSb16ISA_ORH_ID_RAK16                               4
    #define       bISA_ORH_ID_RAK16                            1
    #define   MSK32ISA_ORH_ID_RAK16                               0x00000010

    #define     BA_ISA_ORH_ID_RFSP                             0x0008
    #define     B16ISA_ORH_ID_RFSP                             0x0008
    #define   LSb32ISA_ORH_ID_RFSP                                5
    #define   LSb16ISA_ORH_ID_RFSP                                5
    #define       bISA_ORH_ID_RFSP                             1
    #define   MSK32ISA_ORH_ID_RFSP                                0x00000020

    #define     BA_ISA_ORH_ID_W4D4                             0x0008
    #define     B16ISA_ORH_ID_W4D4                             0x0008
    #define   LSb32ISA_ORH_ID_W4D4                                6
    #define   LSb16ISA_ORH_ID_W4D4                                6
    #define       bISA_ORH_ID_W4D4                             1
    #define   MSK32ISA_ORH_ID_W4D4                                0x00000040

    #define     BA_ISA_ORH_ID_W4S4                             0x0008
    #define     B16ISA_ORH_ID_W4S4                             0x0008
    #define   LSb32ISA_ORH_ID_W4S4                                7
    #define   LSb16ISA_ORH_ID_W4S4                                7
    #define       bISA_ORH_ID_W4S4                             1
    #define   MSK32ISA_ORH_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_LD                                  0x000C

    #define     BA_ISA_ORH_LD_SPRF                             0x000C
    #define     B16ISA_ORH_LD_SPRF                             0x000C
    #define   LSb32ISA_ORH_LD_SPRF                                0
    #define   LSb16ISA_ORH_LD_SPRF                                0
    #define       bISA_ORH_LD_SPRF                             1
    #define   MSK32ISA_ORH_LD_SPRF                                0x00000001

    #define     BA_ISA_ORH_LD_SPK8                             0x000C
    #define     B16ISA_ORH_LD_SPK8                             0x000C
    #define   LSb32ISA_ORH_LD_SPK8                                1
    #define   LSb16ISA_ORH_LD_SPK8                                1
    #define       bISA_ORH_LD_SPK8                             1
    #define   MSK32ISA_ORH_LD_SPK8                                0x00000002

    #define     BA_ISA_ORH_LD_SPJ                              0x000C
    #define     B16ISA_ORH_LD_SPJ                              0x000C
    #define   LSb32ISA_ORH_LD_SPJ                                 2
    #define   LSb16ISA_ORH_LD_SPJ                                 2
    #define       bISA_ORH_LD_SPJ                              1
    #define   MSK32ISA_ORH_LD_SPJ                                 0x00000004

    #define     BA_ISA_ORH_LD_SP4S                             0x000C
    #define     B16ISA_ORH_LD_SP4S                             0x000C
    #define   LSb32ISA_ORH_LD_SP4S                                3
    #define   LSb16ISA_ORH_LD_SP4S                                3
    #define       bISA_ORH_LD_SP4S                             1
    #define   MSK32ISA_ORH_LD_SP4S                                0x00000008

    #define     BA_ISA_ORH_LD_SP8S                             0x000C
    #define     B16ISA_ORH_LD_SP8S                             0x000C
    #define   LSb32ISA_ORH_LD_SP8S                                4
    #define   LSb16ISA_ORH_LD_SP8S                                4
    #define       bISA_ORH_LD_SP8S                             1
    #define   MSK32ISA_ORH_LD_SP8S                                0x00000010

    #define     BA_ISA_ORH_LD_SP8U                             0x000C
    #define     B16ISA_ORH_LD_SP8U                             0x000C
    #define   LSb32ISA_ORH_LD_SP8U                                5
    #define   LSb16ISA_ORH_LD_SP8U                                5
    #define       bISA_ORH_LD_SP8U                             1
    #define   MSK32ISA_ORH_LD_SP8U                                0x00000020

    #define     BA_ISA_ORH_LD_SP12S                            0x000C
    #define     B16ISA_ORH_LD_SP12S                            0x000C
    #define   LSb32ISA_ORH_LD_SP12S                               6
    #define   LSb16ISA_ORH_LD_SP12S                               6
    #define       bISA_ORH_LD_SP12S                            1
    #define   MSK32ISA_ORH_LD_SP12S                               0x00000040

    #define     BA_ISA_ORH_LD_SP16                             0x000C
    #define     B16ISA_ORH_LD_SP16                             0x000C
    #define   LSb32ISA_ORH_LD_SP16                                7
    #define   LSb16ISA_ORH_LD_SP16                                7
    #define       bISA_ORH_LD_SP16                             1
    #define   MSK32ISA_ORH_LD_SP16                                0x00000080

    #define     BA_ISA_ORH_LD_TPRF                             0x000D
    #define     B16ISA_ORH_LD_TPRF                             0x000C
    #define   LSb32ISA_ORH_LD_TPRF                                8
    #define   LSb16ISA_ORH_LD_TPRF                                8
    #define       bISA_ORH_LD_TPRF                             1
    #define   MSK32ISA_ORH_LD_TPRF                                0x00000100

    #define     BA_ISA_ORH_LD_TPJ                              0x000D
    #define     B16ISA_ORH_LD_TPJ                              0x000C
    #define   LSb32ISA_ORH_LD_TPJ                                 9
    #define   LSb16ISA_ORH_LD_TPJ                                 9
    #define       bISA_ORH_LD_TPJ                              1
    #define   MSK32ISA_ORH_LD_TPJ                                 0x00000200

    #define     BA_ISA_ORH_LD_TP4S                             0x000D
    #define     B16ISA_ORH_LD_TP4S                             0x000C
    #define   LSb32ISA_ORH_LD_TP4S                                10
    #define   LSb16ISA_ORH_LD_TP4S                                10
    #define       bISA_ORH_LD_TP4S                             1
    #define   MSK32ISA_ORH_LD_TP4S                                0x00000400

    #define     BA_ISA_ORH_LD_TP8L                             0x000D
    #define     B16ISA_ORH_LD_TP8L                             0x000C
    #define   LSb32ISA_ORH_LD_TP8L                                11
    #define   LSb16ISA_ORH_LD_TP8L                                11
    #define       bISA_ORH_LD_TP8L                             1
    #define   MSK32ISA_ORH_LD_TP8L                                0x00000800

    #define     BA_ISA_ORH_LD_TP8H                             0x000D
    #define     B16ISA_ORH_LD_TP8H                             0x000C
    #define   LSb32ISA_ORH_LD_TP8H                                12
    #define   LSb16ISA_ORH_LD_TP8H                                12
    #define       bISA_ORH_LD_TP8H                             1
    #define   MSK32ISA_ORH_LD_TP8H                                0x00001000

    #define     BA_ISA_ORH_LD_TP8LF                            0x000D
    #define     B16ISA_ORH_LD_TP8LF                            0x000C
    #define   LSb32ISA_ORH_LD_TP8LF                               13
    #define   LSb16ISA_ORH_LD_TP8LF                               13
    #define       bISA_ORH_LD_TP8LF                            1
    #define   MSK32ISA_ORH_LD_TP8LF                               0x00002000

    #define     BA_ISA_ORH_LD_TP8HF                            0x000D
    #define     B16ISA_ORH_LD_TP8HF                            0x000C
    #define   LSb32ISA_ORH_LD_TP8HF                               14
    #define   LSb16ISA_ORH_LD_TP8HF                               14
    #define       bISA_ORH_LD_TP8HF                            1
    #define   MSK32ISA_ORH_LD_TP8HF                               0x00004000

    #define     BA_ISA_ORH_LD_SQRF64                           0x000D
    #define     B16ISA_ORH_LD_SQRF64                           0x000C
    #define   LSb32ISA_ORH_LD_SQRF64                              15
    #define   LSb16ISA_ORH_LD_SQRF64                              15
    #define       bISA_ORH_LD_SQRF64                           1
    #define   MSK32ISA_ORH_LD_SQRF64                              0x00008000

    #define     BA_ISA_ORH_LD_TQRF16Q                          0x000E
    #define     B16ISA_ORH_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_ORH_LD_TQRF16Q                             16
    #define   LSb16ISA_ORH_LD_TQRF16Q                             0
    #define       bISA_ORH_LD_TQRF16Q                          1
    #define   MSK32ISA_ORH_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_ORH_LD_TQRFx4                           0x000E
    #define     B16ISA_ORH_LD_TQRFx4                           0x000E
    #define   LSb32ISA_ORH_LD_TQRFx4                              17
    #define   LSb16ISA_ORH_LD_TQRFx4                              1
    #define       bISA_ORH_LD_TQRFx4                           1
    #define   MSK32ISA_ORH_LD_TQRFx4                              0x00020000

    #define     BA_ISA_ORH_LD_RD                               0x000E
    #define     B16ISA_ORH_LD_RD                               0x000E
    #define   LSb32ISA_ORH_LD_RD                                  18
    #define   LSb16ISA_ORH_LD_RD                                  2
    #define       bISA_ORH_LD_RD                               1
    #define   MSK32ISA_ORH_LD_RD                                  0x00040000

    #define     BA_ISA_ORH_LD_WARF                             0x000E
    #define     B16ISA_ORH_LD_WARF                             0x000E
    #define   LSb32ISA_ORH_LD_WARF                                19
    #define   LSb16ISA_ORH_LD_WARF                                3
    #define       bISA_ORH_LD_WARF                             1
    #define   MSK32ISA_ORH_LD_WARF                                0x00080000

    #define     BA_ISA_ORH_LD_WAK8                             0x000E
    #define     B16ISA_ORH_LD_WAK8                             0x000E
    #define   LSb32ISA_ORH_LD_WAK8                                20
    #define   LSb16ISA_ORH_LD_WAK8                                4
    #define       bISA_ORH_LD_WAK8                             1
    #define   MSK32ISA_ORH_LD_WAK8                                0x00100000

    #define     BA_ISA_ORH_LD_WAK16                            0x000E
    #define     B16ISA_ORH_LD_WAK16                            0x000E
    #define   LSb32ISA_ORH_LD_WAK16                               21
    #define   LSb16ISA_ORH_LD_WAK16                               5
    #define       bISA_ORH_LD_WAK16                            1
    #define   MSK32ISA_ORH_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_EX                                  0x0010

    #define     BA_ISA_ORH_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_ORH_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagZ                          0
    #define   LSb16ISA_ORH_EX_ALU16FlagZ                          0
    #define       bISA_ORH_EX_ALU16FlagZ                       1
    #define   MSK32ISA_ORH_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_ORH_EX_ALU16FlagC                       0x0010
    #define     B16ISA_ORH_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagC                          1
    #define   LSb16ISA_ORH_EX_ALU16FlagC                          1
    #define       bISA_ORH_EX_ALU16FlagC                       1
    #define   MSK32ISA_ORH_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_ORH_EX_ALU16FlagN                       0x0010
    #define     B16ISA_ORH_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagN                          2
    #define   LSb16ISA_ORH_EX_ALU16FlagN                          2
    #define       bISA_ORH_EX_ALU16FlagN                       1
    #define   MSK32ISA_ORH_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_ORH_EX_ALU16FlagV                       0x0010
    #define     B16ISA_ORH_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagV                          3
    #define   LSb16ISA_ORH_EX_ALU16FlagV                          3
    #define       bISA_ORH_EX_ALU16FlagV                       1
    #define   MSK32ISA_ORH_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_ORH_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_ORH_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagTP                         4
    #define   LSb16ISA_ORH_EX_ALU16FlagTP                         4
    #define       bISA_ORH_EX_ALU16FlagTP                      1
    #define   MSK32ISA_ORH_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_ORH_EX_ALU16MUL                         0x0010
    #define     B16ISA_ORH_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16MUL                            5
    #define   LSb16ISA_ORH_EX_ALU16MUL                            5
    #define       bISA_ORH_EX_ALU16MUL                         1
    #define   MSK32ISA_ORH_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_ORH_EX_ALU16DIV                         0x0010
    #define     B16ISA_ORH_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16DIV                            6
    #define   LSb16ISA_ORH_EX_ALU16DIV                            6
    #define       bISA_ORH_EX_ALU16DIV                         1
    #define   MSK32ISA_ORH_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_ORH_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_ORH_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_ORH_EX_ALU16FlagLD                         7
    #define   LSb16ISA_ORH_EX_ALU16FlagLD                         7
    #define       bISA_ORH_EX_ALU16FlagLD                      1
    #define   MSK32ISA_ORH_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_ORH_EX_ALU16MDL                         0x0011
    #define     B16ISA_ORH_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16MDL                            8
    #define   LSb16ISA_ORH_EX_ALU16MDL                            8
    #define       bISA_ORH_EX_ALU16MDL                         1
    #define   MSK32ISA_ORH_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_ORH_EX_ALU16MDH                         0x0011
    #define     B16ISA_ORH_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16MDH                            9
    #define   LSb16ISA_ORH_EX_ALU16MDH                            9
    #define       bISA_ORH_EX_ALU16MDH                         1
    #define   MSK32ISA_ORH_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_ORH_EX_ALU16ADD                         0x0011
    #define     B16ISA_ORH_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16ADD                            10
    #define   LSb16ISA_ORH_EX_ALU16ADD                            10
    #define       bISA_ORH_EX_ALU16ADD                         1
    #define   MSK32ISA_ORH_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_ORH_EX_ALU16SUB                         0x0011
    #define     B16ISA_ORH_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16SUB                            11
    #define   LSb16ISA_ORH_EX_ALU16SUB                            11
    #define       bISA_ORH_EX_ALU16SUB                         1
    #define   MSK32ISA_ORH_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_ORH_EX_ALU16ADDC                        0x0011
    #define     B16ISA_ORH_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_ORH_EX_ALU16ADDC                           12
    #define   LSb16ISA_ORH_EX_ALU16ADDC                           12
    #define       bISA_ORH_EX_ALU16ADDC                        1
    #define   MSK32ISA_ORH_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_ORH_EX_ALU16SUBC                        0x0011
    #define     B16ISA_ORH_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_ORH_EX_ALU16SUBC                           13
    #define   LSb16ISA_ORH_EX_ALU16SUBC                           13
    #define       bISA_ORH_EX_ALU16SUBC                        1
    #define   MSK32ISA_ORH_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_ORH_EX_ALU16ASR                         0x0011
    #define     B16ISA_ORH_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_ORH_EX_ALU16ASR                            14
    #define   LSb16ISA_ORH_EX_ALU16ASR                            14
    #define       bISA_ORH_EX_ALU16ASR                         1
    #define   MSK32ISA_ORH_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_ORH_EX_ALU16SL                          0x0011
    #define     B16ISA_ORH_EX_ALU16SL                          0x0010
    #define   LSb32ISA_ORH_EX_ALU16SL                             15
    #define   LSb16ISA_ORH_EX_ALU16SL                             15
    #define       bISA_ORH_EX_ALU16SL                          1
    #define   MSK32ISA_ORH_EX_ALU16SL                             0x00008000

    #define     BA_ISA_ORH_EX_ALU16SR                          0x0012
    #define     B16ISA_ORH_EX_ALU16SR                          0x0012
    #define   LSb32ISA_ORH_EX_ALU16SR                             16
    #define   LSb16ISA_ORH_EX_ALU16SR                             0
    #define       bISA_ORH_EX_ALU16SR                          1
    #define   MSK32ISA_ORH_EX_ALU16SR                             0x00010000

    #define     BA_ISA_ORH_EX_ALU16GET                         0x0012
    #define     B16ISA_ORH_EX_ALU16GET                         0x0012
    #define   LSb32ISA_ORH_EX_ALU16GET                            17
    #define   LSb16ISA_ORH_EX_ALU16GET                            1
    #define       bISA_ORH_EX_ALU16GET                         1
    #define   MSK32ISA_ORH_EX_ALU16GET                            0x00020000

    #define     BA_ISA_ORH_EX_ALU16SET                         0x0012
    #define     B16ISA_ORH_EX_ALU16SET                         0x0012
    #define   LSb32ISA_ORH_EX_ALU16SET                            18
    #define   LSb16ISA_ORH_EX_ALU16SET                            2
    #define       bISA_ORH_EX_ALU16SET                         1
    #define   MSK32ISA_ORH_EX_ALU16SET                            0x00040000

    #define     BA_ISA_ORH_EX_ALU16SEL                         0x0012
    #define     B16ISA_ORH_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_ORH_EX_ALU16SEL                            19
    #define   LSb16ISA_ORH_EX_ALU16SEL                            3
    #define       bISA_ORH_EX_ALU16SEL                         1
    #define   MSK32ISA_ORH_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_ORH_EX_ALU16OR                          0x0012
    #define     B16ISA_ORH_EX_ALU16OR                          0x0012
    #define   LSb32ISA_ORH_EX_ALU16OR                             20
    #define   LSb16ISA_ORH_EX_ALU16OR                             4
    #define       bISA_ORH_EX_ALU16OR                          1
    #define   MSK32ISA_ORH_EX_ALU16OR                             0x00100000

    #define     BA_ISA_ORH_EX_ALU16AND                         0x0012
    #define     B16ISA_ORH_EX_ALU16AND                         0x0012
    #define   LSb32ISA_ORH_EX_ALU16AND                            21
    #define   LSb16ISA_ORH_EX_ALU16AND                            5
    #define       bISA_ORH_EX_ALU16AND                         1
    #define   MSK32ISA_ORH_EX_ALU16AND                            0x00200000

    #define     BA_ISA_ORH_EX_ALU16XOR                         0x0012
    #define     B16ISA_ORH_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_ORH_EX_ALU16XOR                            22
    #define   LSb16ISA_ORH_EX_ALU16XOR                            6
    #define       bISA_ORH_EX_ALU16XOR                         1
    #define   MSK32ISA_ORH_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_ORH_EX_ALU16SP                          0x0012
    #define     B16ISA_ORH_EX_ALU16SP                          0x0012
    #define   LSb32ISA_ORH_EX_ALU16SP                             23
    #define   LSb16ISA_ORH_EX_ALU16SP                             7
    #define       bISA_ORH_EX_ALU16SP                          1
    #define   MSK32ISA_ORH_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_EXX                                 0x0014

    #define     BA_ISA_ORH_EXX_WRSQ                            0x0014
    #define     B16ISA_ORH_EXX_WRSQ                            0x0014
    #define   LSb32ISA_ORH_EXX_WRSQ                               0
    #define   LSb16ISA_ORH_EXX_WRSQ                               0
    #define       bISA_ORH_EXX_WRSQ                            1
    #define   MSK32ISA_ORH_EXX_WRSQ                               0x00000001

    #define     BA_ISA_ORH_EXX_WR16                            0x0014
    #define     B16ISA_ORH_EXX_WR16                            0x0014
    #define   LSb32ISA_ORH_EXX_WR16                               1
    #define   LSb16ISA_ORH_EXX_WR16                               1
    #define       bISA_ORH_EXX_WR16                            1
    #define   MSK32ISA_ORH_EXX_WR16                               0x00000002

    #define     BA_ISA_ORH_EXX_WRTQ                            0x0014
    #define     B16ISA_ORH_EXX_WRTQ                            0x0014
    #define   LSb32ISA_ORH_EXX_WRTQ                               2
    #define   LSb16ISA_ORH_EXX_WRTQ                               2
    #define       bISA_ORH_EXX_WRTQ                            1
    #define   MSK32ISA_ORH_EXX_WRTQ                               0x00000004

    #define     BA_ISA_ORH_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_ORH_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_ORH_EXX_ALU64PUSH                          3
    #define   LSb16ISA_ORH_EXX_ALU64PUSH                          3
    #define       bISA_ORH_EXX_ALU64PUSH                       1
    #define   MSK32ISA_ORH_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_ORH_EXX_ALU64POP                        0x0014
    #define     B16ISA_ORH_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_ORH_EXX_ALU64POP                           4
    #define   LSb16ISA_ORH_EXX_ALU64POP                           4
    #define       bISA_ORH_EXX_ALU64POP                        1
    #define   MSK32ISA_ORH_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_ORH_EXX_ALU64SQ                         0x0014
    #define     B16ISA_ORH_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_ORH_EXX_ALU64SQ                            5
    #define   LSb16ISA_ORH_EXX_ALU64SQ                            5
    #define       bISA_ORH_EXX_ALU64SQ                         1
    #define   MSK32ISA_ORH_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_ORH_EXX_ALU64TQ                         0x0014
    #define     B16ISA_ORH_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_ORH_EXX_ALU64TQ                            6
    #define   LSb16ISA_ORH_EXX_ALU64TQ                            6
    #define       bISA_ORH_EXX_ALU64TQ                         1
    #define   MSK32ISA_ORH_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_ORH_EXX_ALU64MEM                        0x0014
    #define     B16ISA_ORH_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_ORH_EXX_ALU64MEM                           7
    #define   LSb16ISA_ORH_EXX_ALU64MEM                           7
    #define       bISA_ORH_EXX_ALU64MEM                        1
    #define   MSK32ISA_ORH_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_ORH_EXX_BRANCH                          0x0015
    #define     B16ISA_ORH_EXX_BRANCH                          0x0014
    #define   LSb32ISA_ORH_EXX_BRANCH                             8
    #define   LSb16ISA_ORH_EXX_BRANCH                             8
    #define       bISA_ORH_EXX_BRANCH                          1
    #define   MSK32ISA_ORH_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ORH_WB                                  0x0018

    #define     BA_ISA_ORH_WB_RF16                             0x0018
    #define     B16ISA_ORH_WB_RF16                             0x0018
    #define   LSb32ISA_ORH_WB_RF16                                0
    #define   LSb16ISA_ORH_WB_RF16                                0
    #define       bISA_ORH_WB_RF16                             1
    #define   MSK32ISA_ORH_WB_RF16                                0x00000001

    #define     BA_ISA_ORH_WB_RF16W0                           0x0018
    #define     B16ISA_ORH_WB_RF16W0                           0x0018
    #define   LSb32ISA_ORH_WB_RF16W0                              1
    #define   LSb16ISA_ORH_WB_RF16W0                              1
    #define       bISA_ORH_WB_RF16W0                           1
    #define   MSK32ISA_ORH_WB_RF16W0                              0x00000002

    #define     BA_ISA_ORH_WB_RF16MEM                          0x0018
    #define     B16ISA_ORH_WB_RF16MEM                          0x0018
    #define   LSb32ISA_ORH_WB_RF16MEM                             2
    #define   LSb16ISA_ORH_WB_RF16MEM                             2
    #define       bISA_ORH_WB_RF16MEM                          1
    #define   MSK32ISA_ORH_WB_RF16MEM                             0x00000004

    #define     BA_ISA_ORH_WB_RF16Q                            0x0018
    #define     B16ISA_ORH_WB_RF16Q                            0x0018
    #define   LSb32ISA_ORH_WB_RF16Q                               3
    #define   LSb16ISA_ORH_WB_RF16Q                               3
    #define       bISA_ORH_WB_RF16Q                            1
    #define   MSK32ISA_ORH_WB_RF16Q                               0x00000008

    #define     BA_ISA_ORH_WB_RF64                             0x0018
    #define     B16ISA_ORH_WB_RF64                             0x0018
    #define   LSb32ISA_ORH_WB_RF64                                4
    #define   LSb16ISA_ORH_WB_RF64                                4
    #define       bISA_ORH_WB_RF64                             1
    #define   MSK32ISA_ORH_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ORH {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_ORH_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_ORH_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ORH_Mask;
            struct w32ISA_ORH_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_ORH_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_ORH_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ORH_Opcode;
            struct w32ISA_ORH_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORH_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORH_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORH_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORH_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORH_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORH_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORH_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORH_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORH_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORH_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORH_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORH_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORH_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORH_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORH_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORH_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORH_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORH_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORH_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORH_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ORH_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ORH_ID;
            struct w32ISA_ORH_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORH_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORH_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORH_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORH_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORH_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORH_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORH_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORH_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORH_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORH_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORH_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORH_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORH_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORH_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORH_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORH_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORH_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORH_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORH_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORH_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORH_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORH_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORH_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORH_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ORH_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_ORH_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ORH_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_ORH_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ORH_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_ORH_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_ORH_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_ORH_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_ORH_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_ORH_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_ORH_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_ORH_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_ORH_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_ORH_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_ORH_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_ORH_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_ORH_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_ORH_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_ORH_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_ORH_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_ORH_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_ORH_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_ORH_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_ORH_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_ORH_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_ORH_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_ORH_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_ORH_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_ORH_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ORH_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ORH_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_ORH_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_ORH_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_ORH_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_ORH_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_ORH_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_ORH_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_ORH_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_ORH_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_ORH_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_ORH_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ORH_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ORH_LD;
            struct w32ISA_ORH_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORH_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORH_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORH_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORH_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORH_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORH_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORH_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORH_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORH_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORH_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORH_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORH_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORH_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORH_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORH_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORH_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORH_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORH_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORH_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORH_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORH_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORH_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORH_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORH_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ORH_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_ORH_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ORH_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_ORH_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ORH_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_ORH_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_ORH_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_ORH_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_ORH_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_ORH_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_ORH_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_ORH_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_ORH_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_ORH_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_ORH_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_ORH_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_ORH_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_ORH_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_ORH_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_ORH_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_ORH_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_ORH_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_ORH_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_ORH_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_ORH_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ORH_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ORH_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ORH_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ORH_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ORH_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ORH_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_ORH_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_ORH_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_ORH_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_ORH_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_ORH_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_ORH_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_ORH_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_ORH_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_ORH_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_ORH_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORH_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_ORH_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_ORH_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORH_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORH_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_ORH_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_ORH_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORH_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ORH_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ORH_EX;
            struct w32ISA_ORH_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORH_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORH_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORH_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORH_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORH_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORH_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORH_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORH_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORH_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORH_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ORH_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ORH_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ORH_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ORH_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ORH_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ORH_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ORH_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ORH_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ORH_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_ORH_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ORH_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_ORH_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ORH_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_ORH_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ORH_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_ORH_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ORH_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ORH_EXX;
            struct w32ISA_ORH_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ORH_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ORH_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ORH_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ORH_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ORH_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ORH_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ORH_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ORH_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ORH_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_ORH_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ORH_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_ORH_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ORH_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ORH_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ORH_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ORH_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ORH_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ORH_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ORH_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ORH_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ORH_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ORH_WB;
            struct w32ISA_ORH_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ORH;

    typedef union  T32ISA_ORH_Mask
          { UNSG32 u32;
            struct w32ISA_ORH_Mask;
                 } T32ISA_ORH_Mask;
    typedef union  T32ISA_ORH_Opcode
          { UNSG32 u32;
            struct w32ISA_ORH_Opcode;
                 } T32ISA_ORH_Opcode;
    typedef union  T32ISA_ORH_ID
          { UNSG32 u32;
            struct w32ISA_ORH_ID;
                 } T32ISA_ORH_ID;
    typedef union  T32ISA_ORH_LD
          { UNSG32 u32;
            struct w32ISA_ORH_LD;
                 } T32ISA_ORH_LD;
    typedef union  T32ISA_ORH_EX
          { UNSG32 u32;
            struct w32ISA_ORH_EX;
                 } T32ISA_ORH_EX;
    typedef union  T32ISA_ORH_EXX
          { UNSG32 u32;
            struct w32ISA_ORH_EXX;
                 } T32ISA_ORH_EXX;
    typedef union  T32ISA_ORH_WB
          { UNSG32 u32;
            struct w32ISA_ORH_WB;
                 } T32ISA_ORH_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ORH_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_Mask;
                   };
                 } TISA_ORH_Mask;
    typedef union  TISA_ORH_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_Opcode;
                   };
                 } TISA_ORH_Opcode;
    typedef union  TISA_ORH_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_ID;
                   };
                 } TISA_ORH_ID;
    typedef union  TISA_ORH_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_LD;
                   };
                 } TISA_ORH_LD;
    typedef union  TISA_ORH_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_EX;
                   };
                 } TISA_ORH_EX;
    typedef union  TISA_ORH_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_EXX;
                   };
                 } TISA_ORH_EXX;
    typedef union  TISA_ORH_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ORH_WB;
                   };
                 } TISA_ORH_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ORH_drvrd(SIE_ISA_ORH *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ORH_drvwr(SIE_ISA_ORH *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ORH_reset(SIE_ISA_ORH *p);
     SIGN32 ISA_ORH_cmp  (SIE_ISA_ORH *p, SIE_ISA_ORH *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ORH_check(p,pie,pfx,hLOG) ISA_ORH_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ORH_print(p,    pfx,hLOG) ISA_ORH_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ORH
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_OR                                   (4,4)
///     ###
///     * Or 2 registers to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x140000
///                                    ###
///                                    * -                                                                 
///                                    * - { "OR"      , "rD,rS,rT"    , "0001 0100 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    OR       %d1, %a1, %b1   ; %d1 = %a1 | %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   0x1
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_OR
#define h_ISA_OR (){}

    #define     RA_ISA_OR_Mask                                 0x0000

    #define     BA_ISA_OR_Mask_INS                             0x0000
    #define     B16ISA_OR_Mask_INS                             0x0000
    #define   LSb32ISA_OR_Mask_INS                                0
    #define   LSb16ISA_OR_Mask_INS                                0
    #define       bISA_OR_Mask_INS                             24
    #define   MSK32ISA_OR_Mask_INS                                0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_Opcode                               0x0004

    #define     BA_ISA_OR_Opcode_INS                           0x0004
    #define     B16ISA_OR_Opcode_INS                           0x0004
    #define   LSb32ISA_OR_Opcode_INS                              0
    #define   LSb16ISA_OR_Opcode_INS                              0
    #define       bISA_OR_Opcode_INS                           24
    #define   MSK32ISA_OR_Opcode_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_ID                                   0x0008

    #define     BA_ISA_OR_ID_RBRF                              0x0008
    #define     B16ISA_OR_ID_RBRF                              0x0008
    #define   LSb32ISA_OR_ID_RBRF                                 0
    #define   LSb16ISA_OR_ID_RBRF                                 0
    #define       bISA_OR_ID_RBRF                              1
    #define   MSK32ISA_OR_ID_RBRF                                 0x00000001

    #define     BA_ISA_OR_ID_RARF                              0x0008
    #define     B16ISA_OR_ID_RARF                              0x0008
    #define   LSb32ISA_OR_ID_RARF                                 1
    #define   LSb16ISA_OR_ID_RARF                                 1
    #define       bISA_OR_ID_RARF                              1
    #define   MSK32ISA_OR_ID_RARF                                 0x00000002

    #define     BA_ISA_OR_ID_RAK8                              0x0008
    #define     B16ISA_OR_ID_RAK8                              0x0008
    #define   LSb32ISA_OR_ID_RAK8                                 2
    #define   LSb16ISA_OR_ID_RAK8                                 2
    #define       bISA_OR_ID_RAK8                              1
    #define   MSK32ISA_OR_ID_RAK8                                 0x00000004

    #define     BA_ISA_OR_ID_RAI16                             0x0008
    #define     B16ISA_OR_ID_RAI16                             0x0008
    #define   LSb32ISA_OR_ID_RAI16                                3
    #define   LSb16ISA_OR_ID_RAI16                                3
    #define       bISA_OR_ID_RAI16                             1
    #define   MSK32ISA_OR_ID_RAI16                                0x00000008

    #define     BA_ISA_OR_ID_RAK16                             0x0008
    #define     B16ISA_OR_ID_RAK16                             0x0008
    #define   LSb32ISA_OR_ID_RAK16                                4
    #define   LSb16ISA_OR_ID_RAK16                                4
    #define       bISA_OR_ID_RAK16                             1
    #define   MSK32ISA_OR_ID_RAK16                                0x00000010

    #define     BA_ISA_OR_ID_RFSP                              0x0008
    #define     B16ISA_OR_ID_RFSP                              0x0008
    #define   LSb32ISA_OR_ID_RFSP                                 5
    #define   LSb16ISA_OR_ID_RFSP                                 5
    #define       bISA_OR_ID_RFSP                              1
    #define   MSK32ISA_OR_ID_RFSP                                 0x00000020

    #define     BA_ISA_OR_ID_W4D4                              0x0008
    #define     B16ISA_OR_ID_W4D4                              0x0008
    #define   LSb32ISA_OR_ID_W4D4                                 6
    #define   LSb16ISA_OR_ID_W4D4                                 6
    #define       bISA_OR_ID_W4D4                              1
    #define   MSK32ISA_OR_ID_W4D4                                 0x00000040

    #define     BA_ISA_OR_ID_W4S4                              0x0008
    #define     B16ISA_OR_ID_W4S4                              0x0008
    #define   LSb32ISA_OR_ID_W4S4                                 7
    #define   LSb16ISA_OR_ID_W4S4                                 7
    #define       bISA_OR_ID_W4S4                              1
    #define   MSK32ISA_OR_ID_W4S4                                 0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_LD                                   0x000C

    #define     BA_ISA_OR_LD_SPRF                              0x000C
    #define     B16ISA_OR_LD_SPRF                              0x000C
    #define   LSb32ISA_OR_LD_SPRF                                 0
    #define   LSb16ISA_OR_LD_SPRF                                 0
    #define       bISA_OR_LD_SPRF                              1
    #define   MSK32ISA_OR_LD_SPRF                                 0x00000001

    #define     BA_ISA_OR_LD_SPK8                              0x000C
    #define     B16ISA_OR_LD_SPK8                              0x000C
    #define   LSb32ISA_OR_LD_SPK8                                 1
    #define   LSb16ISA_OR_LD_SPK8                                 1
    #define       bISA_OR_LD_SPK8                              1
    #define   MSK32ISA_OR_LD_SPK8                                 0x00000002

    #define     BA_ISA_OR_LD_SPJ                               0x000C
    #define     B16ISA_OR_LD_SPJ                               0x000C
    #define   LSb32ISA_OR_LD_SPJ                                  2
    #define   LSb16ISA_OR_LD_SPJ                                  2
    #define       bISA_OR_LD_SPJ                               1
    #define   MSK32ISA_OR_LD_SPJ                                  0x00000004

    #define     BA_ISA_OR_LD_SP4S                              0x000C
    #define     B16ISA_OR_LD_SP4S                              0x000C
    #define   LSb32ISA_OR_LD_SP4S                                 3
    #define   LSb16ISA_OR_LD_SP4S                                 3
    #define       bISA_OR_LD_SP4S                              1
    #define   MSK32ISA_OR_LD_SP4S                                 0x00000008

    #define     BA_ISA_OR_LD_SP8S                              0x000C
    #define     B16ISA_OR_LD_SP8S                              0x000C
    #define   LSb32ISA_OR_LD_SP8S                                 4
    #define   LSb16ISA_OR_LD_SP8S                                 4
    #define       bISA_OR_LD_SP8S                              1
    #define   MSK32ISA_OR_LD_SP8S                                 0x00000010

    #define     BA_ISA_OR_LD_SP8U                              0x000C
    #define     B16ISA_OR_LD_SP8U                              0x000C
    #define   LSb32ISA_OR_LD_SP8U                                 5
    #define   LSb16ISA_OR_LD_SP8U                                 5
    #define       bISA_OR_LD_SP8U                              1
    #define   MSK32ISA_OR_LD_SP8U                                 0x00000020

    #define     BA_ISA_OR_LD_SP12S                             0x000C
    #define     B16ISA_OR_LD_SP12S                             0x000C
    #define   LSb32ISA_OR_LD_SP12S                                6
    #define   LSb16ISA_OR_LD_SP12S                                6
    #define       bISA_OR_LD_SP12S                             1
    #define   MSK32ISA_OR_LD_SP12S                                0x00000040

    #define     BA_ISA_OR_LD_SP16                              0x000C
    #define     B16ISA_OR_LD_SP16                              0x000C
    #define   LSb32ISA_OR_LD_SP16                                 7
    #define   LSb16ISA_OR_LD_SP16                                 7
    #define       bISA_OR_LD_SP16                              1
    #define   MSK32ISA_OR_LD_SP16                                 0x00000080

    #define     BA_ISA_OR_LD_TPRF                              0x000D
    #define     B16ISA_OR_LD_TPRF                              0x000C
    #define   LSb32ISA_OR_LD_TPRF                                 8
    #define   LSb16ISA_OR_LD_TPRF                                 8
    #define       bISA_OR_LD_TPRF                              1
    #define   MSK32ISA_OR_LD_TPRF                                 0x00000100

    #define     BA_ISA_OR_LD_TPJ                               0x000D
    #define     B16ISA_OR_LD_TPJ                               0x000C
    #define   LSb32ISA_OR_LD_TPJ                                  9
    #define   LSb16ISA_OR_LD_TPJ                                  9
    #define       bISA_OR_LD_TPJ                               1
    #define   MSK32ISA_OR_LD_TPJ                                  0x00000200

    #define     BA_ISA_OR_LD_TP4S                              0x000D
    #define     B16ISA_OR_LD_TP4S                              0x000C
    #define   LSb32ISA_OR_LD_TP4S                                 10
    #define   LSb16ISA_OR_LD_TP4S                                 10
    #define       bISA_OR_LD_TP4S                              1
    #define   MSK32ISA_OR_LD_TP4S                                 0x00000400

    #define     BA_ISA_OR_LD_TP8L                              0x000D
    #define     B16ISA_OR_LD_TP8L                              0x000C
    #define   LSb32ISA_OR_LD_TP8L                                 11
    #define   LSb16ISA_OR_LD_TP8L                                 11
    #define       bISA_OR_LD_TP8L                              1
    #define   MSK32ISA_OR_LD_TP8L                                 0x00000800

    #define     BA_ISA_OR_LD_TP8H                              0x000D
    #define     B16ISA_OR_LD_TP8H                              0x000C
    #define   LSb32ISA_OR_LD_TP8H                                 12
    #define   LSb16ISA_OR_LD_TP8H                                 12
    #define       bISA_OR_LD_TP8H                              1
    #define   MSK32ISA_OR_LD_TP8H                                 0x00001000

    #define     BA_ISA_OR_LD_TP8LF                             0x000D
    #define     B16ISA_OR_LD_TP8LF                             0x000C
    #define   LSb32ISA_OR_LD_TP8LF                                13
    #define   LSb16ISA_OR_LD_TP8LF                                13
    #define       bISA_OR_LD_TP8LF                             1
    #define   MSK32ISA_OR_LD_TP8LF                                0x00002000

    #define     BA_ISA_OR_LD_TP8HF                             0x000D
    #define     B16ISA_OR_LD_TP8HF                             0x000C
    #define   LSb32ISA_OR_LD_TP8HF                                14
    #define   LSb16ISA_OR_LD_TP8HF                                14
    #define       bISA_OR_LD_TP8HF                             1
    #define   MSK32ISA_OR_LD_TP8HF                                0x00004000

    #define     BA_ISA_OR_LD_SQRF64                            0x000D
    #define     B16ISA_OR_LD_SQRF64                            0x000C
    #define   LSb32ISA_OR_LD_SQRF64                               15
    #define   LSb16ISA_OR_LD_SQRF64                               15
    #define       bISA_OR_LD_SQRF64                            1
    #define   MSK32ISA_OR_LD_SQRF64                               0x00008000

    #define     BA_ISA_OR_LD_TQRF16Q                           0x000E
    #define     B16ISA_OR_LD_TQRF16Q                           0x000E
    #define   LSb32ISA_OR_LD_TQRF16Q                              16
    #define   LSb16ISA_OR_LD_TQRF16Q                              0
    #define       bISA_OR_LD_TQRF16Q                           1
    #define   MSK32ISA_OR_LD_TQRF16Q                              0x00010000

    #define     BA_ISA_OR_LD_TQRFx4                            0x000E
    #define     B16ISA_OR_LD_TQRFx4                            0x000E
    #define   LSb32ISA_OR_LD_TQRFx4                               17
    #define   LSb16ISA_OR_LD_TQRFx4                               1
    #define       bISA_OR_LD_TQRFx4                            1
    #define   MSK32ISA_OR_LD_TQRFx4                               0x00020000

    #define     BA_ISA_OR_LD_RD                                0x000E
    #define     B16ISA_OR_LD_RD                                0x000E
    #define   LSb32ISA_OR_LD_RD                                   18
    #define   LSb16ISA_OR_LD_RD                                   2
    #define       bISA_OR_LD_RD                                1
    #define   MSK32ISA_OR_LD_RD                                   0x00040000

    #define     BA_ISA_OR_LD_WARF                              0x000E
    #define     B16ISA_OR_LD_WARF                              0x000E
    #define   LSb32ISA_OR_LD_WARF                                 19
    #define   LSb16ISA_OR_LD_WARF                                 3
    #define       bISA_OR_LD_WARF                              1
    #define   MSK32ISA_OR_LD_WARF                                 0x00080000

    #define     BA_ISA_OR_LD_WAK8                              0x000E
    #define     B16ISA_OR_LD_WAK8                              0x000E
    #define   LSb32ISA_OR_LD_WAK8                                 20
    #define   LSb16ISA_OR_LD_WAK8                                 4
    #define       bISA_OR_LD_WAK8                              1
    #define   MSK32ISA_OR_LD_WAK8                                 0x00100000

    #define     BA_ISA_OR_LD_WAK16                             0x000E
    #define     B16ISA_OR_LD_WAK16                             0x000E
    #define   LSb32ISA_OR_LD_WAK16                                21
    #define   LSb16ISA_OR_LD_WAK16                                5
    #define       bISA_OR_LD_WAK16                             1
    #define   MSK32ISA_OR_LD_WAK16                                0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_EX                                   0x0010

    #define     BA_ISA_OR_EX_ALU16FlagZ                        0x0010
    #define     B16ISA_OR_EX_ALU16FlagZ                        0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagZ                           0
    #define   LSb16ISA_OR_EX_ALU16FlagZ                           0
    #define       bISA_OR_EX_ALU16FlagZ                        1
    #define   MSK32ISA_OR_EX_ALU16FlagZ                           0x00000001

    #define     BA_ISA_OR_EX_ALU16FlagC                        0x0010
    #define     B16ISA_OR_EX_ALU16FlagC                        0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagC                           1
    #define   LSb16ISA_OR_EX_ALU16FlagC                           1
    #define       bISA_OR_EX_ALU16FlagC                        1
    #define   MSK32ISA_OR_EX_ALU16FlagC                           0x00000002

    #define     BA_ISA_OR_EX_ALU16FlagN                        0x0010
    #define     B16ISA_OR_EX_ALU16FlagN                        0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagN                           2
    #define   LSb16ISA_OR_EX_ALU16FlagN                           2
    #define       bISA_OR_EX_ALU16FlagN                        1
    #define   MSK32ISA_OR_EX_ALU16FlagN                           0x00000004

    #define     BA_ISA_OR_EX_ALU16FlagV                        0x0010
    #define     B16ISA_OR_EX_ALU16FlagV                        0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagV                           3
    #define   LSb16ISA_OR_EX_ALU16FlagV                           3
    #define       bISA_OR_EX_ALU16FlagV                        1
    #define   MSK32ISA_OR_EX_ALU16FlagV                           0x00000008

    #define     BA_ISA_OR_EX_ALU16FlagTP                       0x0010
    #define     B16ISA_OR_EX_ALU16FlagTP                       0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagTP                          4
    #define   LSb16ISA_OR_EX_ALU16FlagTP                          4
    #define       bISA_OR_EX_ALU16FlagTP                       1
    #define   MSK32ISA_OR_EX_ALU16FlagTP                          0x00000010

    #define     BA_ISA_OR_EX_ALU16MUL                          0x0010
    #define     B16ISA_OR_EX_ALU16MUL                          0x0010
    #define   LSb32ISA_OR_EX_ALU16MUL                             5
    #define   LSb16ISA_OR_EX_ALU16MUL                             5
    #define       bISA_OR_EX_ALU16MUL                          1
    #define   MSK32ISA_OR_EX_ALU16MUL                             0x00000020

    #define     BA_ISA_OR_EX_ALU16DIV                          0x0010
    #define     B16ISA_OR_EX_ALU16DIV                          0x0010
    #define   LSb32ISA_OR_EX_ALU16DIV                             6
    #define   LSb16ISA_OR_EX_ALU16DIV                             6
    #define       bISA_OR_EX_ALU16DIV                          1
    #define   MSK32ISA_OR_EX_ALU16DIV                             0x00000040

    #define     BA_ISA_OR_EX_ALU16FlagLD                       0x0010
    #define     B16ISA_OR_EX_ALU16FlagLD                       0x0010
    #define   LSb32ISA_OR_EX_ALU16FlagLD                          7
    #define   LSb16ISA_OR_EX_ALU16FlagLD                          7
    #define       bISA_OR_EX_ALU16FlagLD                       1
    #define   MSK32ISA_OR_EX_ALU16FlagLD                          0x00000080

    #define     BA_ISA_OR_EX_ALU16MDL                          0x0011
    #define     B16ISA_OR_EX_ALU16MDL                          0x0010
    #define   LSb32ISA_OR_EX_ALU16MDL                             8
    #define   LSb16ISA_OR_EX_ALU16MDL                             8
    #define       bISA_OR_EX_ALU16MDL                          1
    #define   MSK32ISA_OR_EX_ALU16MDL                             0x00000100

    #define     BA_ISA_OR_EX_ALU16MDH                          0x0011
    #define     B16ISA_OR_EX_ALU16MDH                          0x0010
    #define   LSb32ISA_OR_EX_ALU16MDH                             9
    #define   LSb16ISA_OR_EX_ALU16MDH                             9
    #define       bISA_OR_EX_ALU16MDH                          1
    #define   MSK32ISA_OR_EX_ALU16MDH                             0x00000200

    #define     BA_ISA_OR_EX_ALU16ADD                          0x0011
    #define     B16ISA_OR_EX_ALU16ADD                          0x0010
    #define   LSb32ISA_OR_EX_ALU16ADD                             10
    #define   LSb16ISA_OR_EX_ALU16ADD                             10
    #define       bISA_OR_EX_ALU16ADD                          1
    #define   MSK32ISA_OR_EX_ALU16ADD                             0x00000400

    #define     BA_ISA_OR_EX_ALU16SUB                          0x0011
    #define     B16ISA_OR_EX_ALU16SUB                          0x0010
    #define   LSb32ISA_OR_EX_ALU16SUB                             11
    #define   LSb16ISA_OR_EX_ALU16SUB                             11
    #define       bISA_OR_EX_ALU16SUB                          1
    #define   MSK32ISA_OR_EX_ALU16SUB                             0x00000800

    #define     BA_ISA_OR_EX_ALU16ADDC                         0x0011
    #define     B16ISA_OR_EX_ALU16ADDC                         0x0010
    #define   LSb32ISA_OR_EX_ALU16ADDC                            12
    #define   LSb16ISA_OR_EX_ALU16ADDC                            12
    #define       bISA_OR_EX_ALU16ADDC                         1
    #define   MSK32ISA_OR_EX_ALU16ADDC                            0x00001000

    #define     BA_ISA_OR_EX_ALU16SUBC                         0x0011
    #define     B16ISA_OR_EX_ALU16SUBC                         0x0010
    #define   LSb32ISA_OR_EX_ALU16SUBC                            13
    #define   LSb16ISA_OR_EX_ALU16SUBC                            13
    #define       bISA_OR_EX_ALU16SUBC                         1
    #define   MSK32ISA_OR_EX_ALU16SUBC                            0x00002000

    #define     BA_ISA_OR_EX_ALU16ASR                          0x0011
    #define     B16ISA_OR_EX_ALU16ASR                          0x0010
    #define   LSb32ISA_OR_EX_ALU16ASR                             14
    #define   LSb16ISA_OR_EX_ALU16ASR                             14
    #define       bISA_OR_EX_ALU16ASR                          1
    #define   MSK32ISA_OR_EX_ALU16ASR                             0x00004000

    #define     BA_ISA_OR_EX_ALU16SL                           0x0011
    #define     B16ISA_OR_EX_ALU16SL                           0x0010
    #define   LSb32ISA_OR_EX_ALU16SL                              15
    #define   LSb16ISA_OR_EX_ALU16SL                              15
    #define       bISA_OR_EX_ALU16SL                           1
    #define   MSK32ISA_OR_EX_ALU16SL                              0x00008000

    #define     BA_ISA_OR_EX_ALU16SR                           0x0012
    #define     B16ISA_OR_EX_ALU16SR                           0x0012
    #define   LSb32ISA_OR_EX_ALU16SR                              16
    #define   LSb16ISA_OR_EX_ALU16SR                              0
    #define       bISA_OR_EX_ALU16SR                           1
    #define   MSK32ISA_OR_EX_ALU16SR                              0x00010000

    #define     BA_ISA_OR_EX_ALU16GET                          0x0012
    #define     B16ISA_OR_EX_ALU16GET                          0x0012
    #define   LSb32ISA_OR_EX_ALU16GET                             17
    #define   LSb16ISA_OR_EX_ALU16GET                             1
    #define       bISA_OR_EX_ALU16GET                          1
    #define   MSK32ISA_OR_EX_ALU16GET                             0x00020000

    #define     BA_ISA_OR_EX_ALU16SET                          0x0012
    #define     B16ISA_OR_EX_ALU16SET                          0x0012
    #define   LSb32ISA_OR_EX_ALU16SET                             18
    #define   LSb16ISA_OR_EX_ALU16SET                             2
    #define       bISA_OR_EX_ALU16SET                          1
    #define   MSK32ISA_OR_EX_ALU16SET                             0x00040000

    #define     BA_ISA_OR_EX_ALU16SEL                          0x0012
    #define     B16ISA_OR_EX_ALU16SEL                          0x0012
    #define   LSb32ISA_OR_EX_ALU16SEL                             19
    #define   LSb16ISA_OR_EX_ALU16SEL                             3
    #define       bISA_OR_EX_ALU16SEL                          1
    #define   MSK32ISA_OR_EX_ALU16SEL                             0x00080000

    #define     BA_ISA_OR_EX_ALU16OR                           0x0012
    #define     B16ISA_OR_EX_ALU16OR                           0x0012
    #define   LSb32ISA_OR_EX_ALU16OR                              20
    #define   LSb16ISA_OR_EX_ALU16OR                              4
    #define       bISA_OR_EX_ALU16OR                           1
    #define   MSK32ISA_OR_EX_ALU16OR                              0x00100000

    #define     BA_ISA_OR_EX_ALU16AND                          0x0012
    #define     B16ISA_OR_EX_ALU16AND                          0x0012
    #define   LSb32ISA_OR_EX_ALU16AND                             21
    #define   LSb16ISA_OR_EX_ALU16AND                             5
    #define       bISA_OR_EX_ALU16AND                          1
    #define   MSK32ISA_OR_EX_ALU16AND                             0x00200000

    #define     BA_ISA_OR_EX_ALU16XOR                          0x0012
    #define     B16ISA_OR_EX_ALU16XOR                          0x0012
    #define   LSb32ISA_OR_EX_ALU16XOR                             22
    #define   LSb16ISA_OR_EX_ALU16XOR                             6
    #define       bISA_OR_EX_ALU16XOR                          1
    #define   MSK32ISA_OR_EX_ALU16XOR                             0x00400000

    #define     BA_ISA_OR_EX_ALU16SP                           0x0012
    #define     B16ISA_OR_EX_ALU16SP                           0x0012
    #define   LSb32ISA_OR_EX_ALU16SP                              23
    #define   LSb16ISA_OR_EX_ALU16SP                              7
    #define       bISA_OR_EX_ALU16SP                           1
    #define   MSK32ISA_OR_EX_ALU16SP                              0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_EXX                                  0x0014

    #define     BA_ISA_OR_EXX_WRSQ                             0x0014
    #define     B16ISA_OR_EXX_WRSQ                             0x0014
    #define   LSb32ISA_OR_EXX_WRSQ                                0
    #define   LSb16ISA_OR_EXX_WRSQ                                0
    #define       bISA_OR_EXX_WRSQ                             1
    #define   MSK32ISA_OR_EXX_WRSQ                                0x00000001

    #define     BA_ISA_OR_EXX_WR16                             0x0014
    #define     B16ISA_OR_EXX_WR16                             0x0014
    #define   LSb32ISA_OR_EXX_WR16                                1
    #define   LSb16ISA_OR_EXX_WR16                                1
    #define       bISA_OR_EXX_WR16                             1
    #define   MSK32ISA_OR_EXX_WR16                                0x00000002

    #define     BA_ISA_OR_EXX_WRTQ                             0x0014
    #define     B16ISA_OR_EXX_WRTQ                             0x0014
    #define   LSb32ISA_OR_EXX_WRTQ                                2
    #define   LSb16ISA_OR_EXX_WRTQ                                2
    #define       bISA_OR_EXX_WRTQ                             1
    #define   MSK32ISA_OR_EXX_WRTQ                                0x00000004

    #define     BA_ISA_OR_EXX_ALU64PUSH                        0x0014
    #define     B16ISA_OR_EXX_ALU64PUSH                        0x0014
    #define   LSb32ISA_OR_EXX_ALU64PUSH                           3
    #define   LSb16ISA_OR_EXX_ALU64PUSH                           3
    #define       bISA_OR_EXX_ALU64PUSH                        1
    #define   MSK32ISA_OR_EXX_ALU64PUSH                           0x00000008

    #define     BA_ISA_OR_EXX_ALU64POP                         0x0014
    #define     B16ISA_OR_EXX_ALU64POP                         0x0014
    #define   LSb32ISA_OR_EXX_ALU64POP                            4
    #define   LSb16ISA_OR_EXX_ALU64POP                            4
    #define       bISA_OR_EXX_ALU64POP                         1
    #define   MSK32ISA_OR_EXX_ALU64POP                            0x00000010

    #define     BA_ISA_OR_EXX_ALU64SQ                          0x0014
    #define     B16ISA_OR_EXX_ALU64SQ                          0x0014
    #define   LSb32ISA_OR_EXX_ALU64SQ                             5
    #define   LSb16ISA_OR_EXX_ALU64SQ                             5
    #define       bISA_OR_EXX_ALU64SQ                          1
    #define   MSK32ISA_OR_EXX_ALU64SQ                             0x00000020

    #define     BA_ISA_OR_EXX_ALU64TQ                          0x0014
    #define     B16ISA_OR_EXX_ALU64TQ                          0x0014
    #define   LSb32ISA_OR_EXX_ALU64TQ                             6
    #define   LSb16ISA_OR_EXX_ALU64TQ                             6
    #define       bISA_OR_EXX_ALU64TQ                          1
    #define   MSK32ISA_OR_EXX_ALU64TQ                             0x00000040

    #define     BA_ISA_OR_EXX_ALU64MEM                         0x0014
    #define     B16ISA_OR_EXX_ALU64MEM                         0x0014
    #define   LSb32ISA_OR_EXX_ALU64MEM                            7
    #define   LSb16ISA_OR_EXX_ALU64MEM                            7
    #define       bISA_OR_EXX_ALU64MEM                         1
    #define   MSK32ISA_OR_EXX_ALU64MEM                            0x00000080

    #define     BA_ISA_OR_EXX_BRANCH                           0x0015
    #define     B16ISA_OR_EXX_BRANCH                           0x0014
    #define   LSb32ISA_OR_EXX_BRANCH                              8
    #define   LSb16ISA_OR_EXX_BRANCH                              8
    #define       bISA_OR_EXX_BRANCH                           1
    #define   MSK32ISA_OR_EXX_BRANCH                              0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_OR_WB                                   0x0018

    #define     BA_ISA_OR_WB_RF16                              0x0018
    #define     B16ISA_OR_WB_RF16                              0x0018
    #define   LSb32ISA_OR_WB_RF16                                 0
    #define   LSb16ISA_OR_WB_RF16                                 0
    #define       bISA_OR_WB_RF16                              1
    #define   MSK32ISA_OR_WB_RF16                                 0x00000001

    #define     BA_ISA_OR_WB_RF16W0                            0x0018
    #define     B16ISA_OR_WB_RF16W0                            0x0018
    #define   LSb32ISA_OR_WB_RF16W0                               1
    #define   LSb16ISA_OR_WB_RF16W0                               1
    #define       bISA_OR_WB_RF16W0                            1
    #define   MSK32ISA_OR_WB_RF16W0                               0x00000002

    #define     BA_ISA_OR_WB_RF16MEM                           0x0018
    #define     B16ISA_OR_WB_RF16MEM                           0x0018
    #define   LSb32ISA_OR_WB_RF16MEM                              2
    #define   LSb16ISA_OR_WB_RF16MEM                              2
    #define       bISA_OR_WB_RF16MEM                           1
    #define   MSK32ISA_OR_WB_RF16MEM                              0x00000004

    #define     BA_ISA_OR_WB_RF16Q                             0x0018
    #define     B16ISA_OR_WB_RF16Q                             0x0018
    #define   LSb32ISA_OR_WB_RF16Q                                3
    #define   LSb16ISA_OR_WB_RF16Q                                3
    #define       bISA_OR_WB_RF16Q                             1
    #define   MSK32ISA_OR_WB_RF16Q                                0x00000008

    #define     BA_ISA_OR_WB_RF64                              0x0018
    #define     B16ISA_OR_WB_RF64                              0x0018
    #define   LSb32ISA_OR_WB_RF64                                 4
    #define   LSb16ISA_OR_WB_RF64                                 4
    #define       bISA_OR_WB_RF64                              1
    #define   MSK32ISA_OR_WB_RF64                                 0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_OR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_Mask_INS(r32)                        _BFGET_(r32,23, 0)
    #define   SET32ISA_OR_Mask_INS(r32,v)                      _BFSET_(r32,23, 0,v)

    #define     w32ISA_OR_Mask                                 {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_OR_Mask;
            struct w32ISA_OR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_Opcode_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_OR_Opcode_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_OR_Opcode                               {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_OR_Opcode;
            struct w32ISA_OR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_ID_RBRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_OR_ID_RBRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OR_ID_RBRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_ID_RBRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_ID_RARF(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_OR_ID_RARF(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OR_ID_RARF(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_ID_RARF(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_ID_RAK8(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_OR_ID_RAK8(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OR_ID_RAK8(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_ID_RAK8(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_ID_RAI16(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_OR_ID_RAI16(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OR_ID_RAI16(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_ID_RAI16(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_ID_RAK16(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_OR_ID_RAK16(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OR_ID_RAK16(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_ID_RAK16(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_ID_RFSP(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_OR_ID_RFSP(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OR_ID_RFSP(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_ID_RFSP(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OR_ID_W4D4(r32)                         _BFGET_(r32, 6, 6)
    #define   SET32ISA_OR_ID_W4D4(r32,v)                       _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OR_ID_W4D4(r16)                         _BFGET_(r16, 6, 6)
    #define   SET16ISA_OR_ID_W4D4(r16,v)                       _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OR_ID_W4S4(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_OR_ID_W4S4(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OR_ID_W4S4(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_OR_ID_W4S4(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define     w32ISA_OR_ID                                   {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_OR_ID;
            struct w32ISA_OR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_LD_SPRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_OR_LD_SPRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OR_LD_SPRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_LD_SPRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_LD_SPK8(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_OR_LD_SPK8(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OR_LD_SPK8(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_LD_SPK8(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_LD_SPJ(r32)                          _BFGET_(r32, 2, 2)
    #define   SET32ISA_OR_LD_SPJ(r32,v)                        _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OR_LD_SPJ(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_LD_SPJ(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_LD_SP4S(r32)                         _BFGET_(r32, 3, 3)
    #define   SET32ISA_OR_LD_SP4S(r32,v)                       _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OR_LD_SP4S(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_LD_SP4S(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_LD_SP8S(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_OR_LD_SP8S(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OR_LD_SP8S(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_LD_SP8S(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_LD_SP8U(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_OR_LD_SP8U(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OR_LD_SP8U(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_LD_SP8U(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OR_LD_SP12S(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_OR_LD_SP12S(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OR_LD_SP12S(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_OR_LD_SP12S(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OR_LD_SP16(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_OR_LD_SP16(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OR_LD_SP16(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_OR_LD_SP16(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OR_LD_TPRF(r32)                         _BFGET_(r32, 8, 8)
    #define   SET32ISA_OR_LD_TPRF(r32,v)                       _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OR_LD_TPRF(r16)                         _BFGET_(r16, 8, 8)
    #define   SET16ISA_OR_LD_TPRF(r16,v)                       _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_OR_LD_TPJ(r32)                          _BFGET_(r32, 9, 9)
    #define   SET32ISA_OR_LD_TPJ(r32,v)                        _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_OR_LD_TPJ(r16)                          _BFGET_(r16, 9, 9)
    #define   SET16ISA_OR_LD_TPJ(r16,v)                        _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_OR_LD_TP4S(r32)                         _BFGET_(r32,10,10)
    #define   SET32ISA_OR_LD_TP4S(r32,v)                       _BFSET_(r32,10,10,v)
    #define   GET16ISA_OR_LD_TP4S(r16)                         _BFGET_(r16,10,10)
    #define   SET16ISA_OR_LD_TP4S(r16,v)                       _BFSET_(r16,10,10,v)

    #define   GET32ISA_OR_LD_TP8L(r32)                         _BFGET_(r32,11,11)
    #define   SET32ISA_OR_LD_TP8L(r32,v)                       _BFSET_(r32,11,11,v)
    #define   GET16ISA_OR_LD_TP8L(r16)                         _BFGET_(r16,11,11)
    #define   SET16ISA_OR_LD_TP8L(r16,v)                       _BFSET_(r16,11,11,v)

    #define   GET32ISA_OR_LD_TP8H(r32)                         _BFGET_(r32,12,12)
    #define   SET32ISA_OR_LD_TP8H(r32,v)                       _BFSET_(r32,12,12,v)
    #define   GET16ISA_OR_LD_TP8H(r16)                         _BFGET_(r16,12,12)
    #define   SET16ISA_OR_LD_TP8H(r16,v)                       _BFSET_(r16,12,12,v)

    #define   GET32ISA_OR_LD_TP8LF(r32)                        _BFGET_(r32,13,13)
    #define   SET32ISA_OR_LD_TP8LF(r32,v)                      _BFSET_(r32,13,13,v)
    #define   GET16ISA_OR_LD_TP8LF(r16)                        _BFGET_(r16,13,13)
    #define   SET16ISA_OR_LD_TP8LF(r16,v)                      _BFSET_(r16,13,13,v)

    #define   GET32ISA_OR_LD_TP8HF(r32)                        _BFGET_(r32,14,14)
    #define   SET32ISA_OR_LD_TP8HF(r32,v)                      _BFSET_(r32,14,14,v)
    #define   GET16ISA_OR_LD_TP8HF(r16)                        _BFGET_(r16,14,14)
    #define   SET16ISA_OR_LD_TP8HF(r16,v)                      _BFSET_(r16,14,14,v)

    #define   GET32ISA_OR_LD_SQRF64(r32)                       _BFGET_(r32,15,15)
    #define   SET32ISA_OR_LD_SQRF64(r32,v)                     _BFSET_(r32,15,15,v)
    #define   GET16ISA_OR_LD_SQRF64(r16)                       _BFGET_(r16,15,15)
    #define   SET16ISA_OR_LD_SQRF64(r16,v)                     _BFSET_(r16,15,15,v)

    #define   GET32ISA_OR_LD_TQRF16Q(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_OR_LD_TQRF16Q(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_OR_LD_TQRF16Q(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_LD_TQRF16Q(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_LD_TQRFx4(r32)                       _BFGET_(r32,17,17)
    #define   SET32ISA_OR_LD_TQRFx4(r32,v)                     _BFSET_(r32,17,17,v)
    #define   GET16ISA_OR_LD_TQRFx4(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_LD_TQRFx4(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_LD_RD(r32)                           _BFGET_(r32,18,18)
    #define   SET32ISA_OR_LD_RD(r32,v)                         _BFSET_(r32,18,18,v)
    #define   GET16ISA_OR_LD_RD(r16)                           _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_LD_RD(r16,v)                         _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_LD_WARF(r32)                         _BFGET_(r32,19,19)
    #define   SET32ISA_OR_LD_WARF(r32,v)                       _BFSET_(r32,19,19,v)
    #define   GET16ISA_OR_LD_WARF(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_LD_WARF(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_LD_WAK8(r32)                         _BFGET_(r32,20,20)
    #define   SET32ISA_OR_LD_WAK8(r32,v)                       _BFSET_(r32,20,20,v)
    #define   GET16ISA_OR_LD_WAK8(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_LD_WAK8(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_LD_WAK16(r32)                        _BFGET_(r32,21,21)
    #define   SET32ISA_OR_LD_WAK16(r32,v)                      _BFSET_(r32,21,21,v)
    #define   GET16ISA_OR_LD_WAK16(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_LD_WAK16(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define     w32ISA_OR_LD                                   {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_OR_LD;
            struct w32ISA_OR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_EX_ALU16FlagZ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_OR_EX_ALU16FlagZ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OR_EX_ALU16FlagZ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_EX_ALU16FlagZ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_EX_ALU16FlagC(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_OR_EX_ALU16FlagC(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OR_EX_ALU16FlagC(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_EX_ALU16FlagC(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_EX_ALU16FlagN(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_OR_EX_ALU16FlagN(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OR_EX_ALU16FlagN(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_EX_ALU16FlagN(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_EX_ALU16FlagV(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_OR_EX_ALU16FlagV(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OR_EX_ALU16FlagV(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_EX_ALU16FlagV(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_EX_ALU16FlagTP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_OR_EX_ALU16FlagTP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OR_EX_ALU16FlagTP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_EX_ALU16FlagTP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_EX_ALU16MUL(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_OR_EX_ALU16MUL(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OR_EX_ALU16MUL(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_EX_ALU16MUL(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OR_EX_ALU16DIV(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_OR_EX_ALU16DIV(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OR_EX_ALU16DIV(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_OR_EX_ALU16DIV(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OR_EX_ALU16FlagLD(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_OR_EX_ALU16FlagLD(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OR_EX_ALU16FlagLD(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_OR_EX_ALU16FlagLD(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OR_EX_ALU16MDL(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_OR_EX_ALU16MDL(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OR_EX_ALU16MDL(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_OR_EX_ALU16MDL(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_OR_EX_ALU16MDH(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_OR_EX_ALU16MDH(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_OR_EX_ALU16MDH(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_OR_EX_ALU16MDH(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_OR_EX_ALU16ADD(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_OR_EX_ALU16ADD(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_OR_EX_ALU16ADD(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_OR_EX_ALU16ADD(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_OR_EX_ALU16SUB(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_OR_EX_ALU16SUB(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_OR_EX_ALU16SUB(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_OR_EX_ALU16SUB(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_OR_EX_ALU16ADDC(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_OR_EX_ALU16ADDC(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_OR_EX_ALU16ADDC(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_OR_EX_ALU16ADDC(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_OR_EX_ALU16SUBC(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_OR_EX_ALU16SUBC(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_OR_EX_ALU16SUBC(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_OR_EX_ALU16SUBC(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_OR_EX_ALU16ASR(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_OR_EX_ALU16ASR(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_OR_EX_ALU16ASR(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_OR_EX_ALU16ASR(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_OR_EX_ALU16SL(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_OR_EX_ALU16SL(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_OR_EX_ALU16SL(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_OR_EX_ALU16SL(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_OR_EX_ALU16SR(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_OR_EX_ALU16SR(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_OR_EX_ALU16SR(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_EX_ALU16SR(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_EX_ALU16GET(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_OR_EX_ALU16GET(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_OR_EX_ALU16GET(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_EX_ALU16GET(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_EX_ALU16SET(r32)                     _BFGET_(r32,18,18)
    #define   SET32ISA_OR_EX_ALU16SET(r32,v)                   _BFSET_(r32,18,18,v)
    #define   GET16ISA_OR_EX_ALU16SET(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_EX_ALU16SET(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_EX_ALU16SEL(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_OR_EX_ALU16SEL(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_OR_EX_ALU16SEL(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_EX_ALU16SEL(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_EX_ALU16OR(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_OR_EX_ALU16OR(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_OR_EX_ALU16OR(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_EX_ALU16OR(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_EX_ALU16AND(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_OR_EX_ALU16AND(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_OR_EX_ALU16AND(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_EX_ALU16AND(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OR_EX_ALU16XOR(r32)                     _BFGET_(r32,22,22)
    #define   SET32ISA_OR_EX_ALU16XOR(r32,v)                   _BFSET_(r32,22,22,v)
    #define   GET16ISA_OR_EX_ALU16XOR(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_OR_EX_ALU16XOR(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OR_EX_ALU16SP(r32)                      _BFGET_(r32,23,23)
    #define   SET32ISA_OR_EX_ALU16SP(r32,v)                    _BFSET_(r32,23,23,v)
    #define   GET16ISA_OR_EX_ALU16SP(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_OR_EX_ALU16SP(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_OR_EX                                   {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_OR_EX;
            struct w32ISA_OR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_EXX_WRSQ(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_OR_EXX_WRSQ(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OR_EXX_WRSQ(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_EXX_WRSQ(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_EXX_WR16(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_OR_EXX_WR16(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OR_EXX_WR16(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_EXX_WR16(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_EXX_WRTQ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_OR_EXX_WRTQ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OR_EXX_WRTQ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_EXX_WRTQ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_EXX_ALU64PUSH(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_OR_EXX_ALU64PUSH(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OR_EXX_ALU64PUSH(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_EXX_ALU64PUSH(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_EXX_ALU64POP(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_OR_EXX_ALU64POP(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OR_EXX_ALU64POP(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_EXX_ALU64POP(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_OR_EXX_ALU64SQ(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_OR_EXX_ALU64SQ(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_OR_EXX_ALU64SQ(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_OR_EXX_ALU64SQ(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_OR_EXX_ALU64TQ(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_OR_EXX_ALU64TQ(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_OR_EXX_ALU64TQ(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_OR_EXX_ALU64TQ(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_OR_EXX_ALU64MEM(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_OR_EXX_ALU64MEM(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_OR_EXX_ALU64MEM(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_OR_EXX_ALU64MEM(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_OR_EXX_BRANCH(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_OR_EXX_BRANCH(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_OR_EXX_BRANCH(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_OR_EXX_BRANCH(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define     w32ISA_OR_EXX                                  {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_OR_EXX;
            struct w32ISA_OR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_OR_WB_RF16(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_OR_WB_RF16(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_OR_WB_RF16(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_OR_WB_RF16(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_OR_WB_RF16W0(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_OR_WB_RF16W0(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_OR_WB_RF16W0(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_OR_WB_RF16W0(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_OR_WB_RF16MEM(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_OR_WB_RF16MEM(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_OR_WB_RF16MEM(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_OR_WB_RF16MEM(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_OR_WB_RF16Q(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_OR_WB_RF16Q(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_OR_WB_RF16Q(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_OR_WB_RF16Q(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_OR_WB_RF64(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_OR_WB_RF64(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_OR_WB_RF64(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_OR_WB_RF64(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define     w32ISA_OR_WB                                   {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_OR_WB;
            struct w32ISA_OR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_OR;

    typedef union  T32ISA_OR_Mask
          { UNSG32 u32;
            struct w32ISA_OR_Mask;
                 } T32ISA_OR_Mask;
    typedef union  T32ISA_OR_Opcode
          { UNSG32 u32;
            struct w32ISA_OR_Opcode;
                 } T32ISA_OR_Opcode;
    typedef union  T32ISA_OR_ID
          { UNSG32 u32;
            struct w32ISA_OR_ID;
                 } T32ISA_OR_ID;
    typedef union  T32ISA_OR_LD
          { UNSG32 u32;
            struct w32ISA_OR_LD;
                 } T32ISA_OR_LD;
    typedef union  T32ISA_OR_EX
          { UNSG32 u32;
            struct w32ISA_OR_EX;
                 } T32ISA_OR_EX;
    typedef union  T32ISA_OR_EXX
          { UNSG32 u32;
            struct w32ISA_OR_EXX;
                 } T32ISA_OR_EXX;
    typedef union  T32ISA_OR_WB
          { UNSG32 u32;
            struct w32ISA_OR_WB;
                 } T32ISA_OR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_OR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_Mask;
                   };
                 } TISA_OR_Mask;
    typedef union  TISA_OR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_Opcode;
                   };
                 } TISA_OR_Opcode;
    typedef union  TISA_OR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_ID;
                   };
                 } TISA_OR_ID;
    typedef union  TISA_OR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_LD;
                   };
                 } TISA_OR_LD;
    typedef union  TISA_OR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_EX;
                   };
                 } TISA_OR_EX;
    typedef union  TISA_OR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_EXX;
                   };
                 } TISA_OR_EXX;
    typedef union  TISA_OR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_OR_WB;
                   };
                 } TISA_OR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_OR_drvrd(SIE_ISA_OR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_OR_drvwr(SIE_ISA_OR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_OR_reset(SIE_ISA_OR *p);
     SIGN32 ISA_OR_cmp  (SIE_ISA_OR *p, SIE_ISA_OR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_OR_check(p,pie,pfx,hLOG) ISA_OR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_OR_print(p,    pfx,hLOG) ISA_OR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_OR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ANDL                                 (4,4)
///     ###
///     * And a register low 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2A0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ANDL"    , "rD,rS,C"     , "0010 1010 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    ANDL     %d1, %a1, 0x01 ; %d1 = %a1 & 0xFF01;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     0x1
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  0x1
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ANDL
#define h_ISA_ANDL (){}

    #define     RA_ISA_ANDL_Mask                               0x0000

    #define     BA_ISA_ANDL_Mask_INS                           0x0000
    #define     B16ISA_ANDL_Mask_INS                           0x0000
    #define   LSb32ISA_ANDL_Mask_INS                              0
    #define   LSb16ISA_ANDL_Mask_INS                              0
    #define       bISA_ANDL_Mask_INS                           24
    #define   MSK32ISA_ANDL_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_Opcode                             0x0004

    #define     BA_ISA_ANDL_Opcode_INS                         0x0004
    #define     B16ISA_ANDL_Opcode_INS                         0x0004
    #define   LSb32ISA_ANDL_Opcode_INS                            0
    #define   LSb16ISA_ANDL_Opcode_INS                            0
    #define       bISA_ANDL_Opcode_INS                         24
    #define   MSK32ISA_ANDL_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_ID                                 0x0008

    #define     BA_ISA_ANDL_ID_RBRF                            0x0008
    #define     B16ISA_ANDL_ID_RBRF                            0x0008
    #define   LSb32ISA_ANDL_ID_RBRF                               0
    #define   LSb16ISA_ANDL_ID_RBRF                               0
    #define       bISA_ANDL_ID_RBRF                            1
    #define   MSK32ISA_ANDL_ID_RBRF                               0x00000001

    #define     BA_ISA_ANDL_ID_RARF                            0x0008
    #define     B16ISA_ANDL_ID_RARF                            0x0008
    #define   LSb32ISA_ANDL_ID_RARF                               1
    #define   LSb16ISA_ANDL_ID_RARF                               1
    #define       bISA_ANDL_ID_RARF                            1
    #define   MSK32ISA_ANDL_ID_RARF                               0x00000002

    #define     BA_ISA_ANDL_ID_RAK8                            0x0008
    #define     B16ISA_ANDL_ID_RAK8                            0x0008
    #define   LSb32ISA_ANDL_ID_RAK8                               2
    #define   LSb16ISA_ANDL_ID_RAK8                               2
    #define       bISA_ANDL_ID_RAK8                            1
    #define   MSK32ISA_ANDL_ID_RAK8                               0x00000004

    #define     BA_ISA_ANDL_ID_RAI16                           0x0008
    #define     B16ISA_ANDL_ID_RAI16                           0x0008
    #define   LSb32ISA_ANDL_ID_RAI16                              3
    #define   LSb16ISA_ANDL_ID_RAI16                              3
    #define       bISA_ANDL_ID_RAI16                           1
    #define   MSK32ISA_ANDL_ID_RAI16                              0x00000008

    #define     BA_ISA_ANDL_ID_RAK16                           0x0008
    #define     B16ISA_ANDL_ID_RAK16                           0x0008
    #define   LSb32ISA_ANDL_ID_RAK16                              4
    #define   LSb16ISA_ANDL_ID_RAK16                              4
    #define       bISA_ANDL_ID_RAK16                           1
    #define   MSK32ISA_ANDL_ID_RAK16                              0x00000010

    #define     BA_ISA_ANDL_ID_RFSP                            0x0008
    #define     B16ISA_ANDL_ID_RFSP                            0x0008
    #define   LSb32ISA_ANDL_ID_RFSP                               5
    #define   LSb16ISA_ANDL_ID_RFSP                               5
    #define       bISA_ANDL_ID_RFSP                            1
    #define   MSK32ISA_ANDL_ID_RFSP                               0x00000020

    #define     BA_ISA_ANDL_ID_W4D4                            0x0008
    #define     B16ISA_ANDL_ID_W4D4                            0x0008
    #define   LSb32ISA_ANDL_ID_W4D4                               6
    #define   LSb16ISA_ANDL_ID_W4D4                               6
    #define       bISA_ANDL_ID_W4D4                            1
    #define   MSK32ISA_ANDL_ID_W4D4                               0x00000040

    #define     BA_ISA_ANDL_ID_W4S4                            0x0008
    #define     B16ISA_ANDL_ID_W4S4                            0x0008
    #define   LSb32ISA_ANDL_ID_W4S4                               7
    #define   LSb16ISA_ANDL_ID_W4S4                               7
    #define       bISA_ANDL_ID_W4S4                            1
    #define   MSK32ISA_ANDL_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_LD                                 0x000C

    #define     BA_ISA_ANDL_LD_SPRF                            0x000C
    #define     B16ISA_ANDL_LD_SPRF                            0x000C
    #define   LSb32ISA_ANDL_LD_SPRF                               0
    #define   LSb16ISA_ANDL_LD_SPRF                               0
    #define       bISA_ANDL_LD_SPRF                            1
    #define   MSK32ISA_ANDL_LD_SPRF                               0x00000001

    #define     BA_ISA_ANDL_LD_SPK8                            0x000C
    #define     B16ISA_ANDL_LD_SPK8                            0x000C
    #define   LSb32ISA_ANDL_LD_SPK8                               1
    #define   LSb16ISA_ANDL_LD_SPK8                               1
    #define       bISA_ANDL_LD_SPK8                            1
    #define   MSK32ISA_ANDL_LD_SPK8                               0x00000002

    #define     BA_ISA_ANDL_LD_SPJ                             0x000C
    #define     B16ISA_ANDL_LD_SPJ                             0x000C
    #define   LSb32ISA_ANDL_LD_SPJ                                2
    #define   LSb16ISA_ANDL_LD_SPJ                                2
    #define       bISA_ANDL_LD_SPJ                             1
    #define   MSK32ISA_ANDL_LD_SPJ                                0x00000004

    #define     BA_ISA_ANDL_LD_SP4S                            0x000C
    #define     B16ISA_ANDL_LD_SP4S                            0x000C
    #define   LSb32ISA_ANDL_LD_SP4S                               3
    #define   LSb16ISA_ANDL_LD_SP4S                               3
    #define       bISA_ANDL_LD_SP4S                            1
    #define   MSK32ISA_ANDL_LD_SP4S                               0x00000008

    #define     BA_ISA_ANDL_LD_SP8S                            0x000C
    #define     B16ISA_ANDL_LD_SP8S                            0x000C
    #define   LSb32ISA_ANDL_LD_SP8S                               4
    #define   LSb16ISA_ANDL_LD_SP8S                               4
    #define       bISA_ANDL_LD_SP8S                            1
    #define   MSK32ISA_ANDL_LD_SP8S                               0x00000010

    #define     BA_ISA_ANDL_LD_SP8U                            0x000C
    #define     B16ISA_ANDL_LD_SP8U                            0x000C
    #define   LSb32ISA_ANDL_LD_SP8U                               5
    #define   LSb16ISA_ANDL_LD_SP8U                               5
    #define       bISA_ANDL_LD_SP8U                            1
    #define   MSK32ISA_ANDL_LD_SP8U                               0x00000020

    #define     BA_ISA_ANDL_LD_SP12S                           0x000C
    #define     B16ISA_ANDL_LD_SP12S                           0x000C
    #define   LSb32ISA_ANDL_LD_SP12S                              6
    #define   LSb16ISA_ANDL_LD_SP12S                              6
    #define       bISA_ANDL_LD_SP12S                           1
    #define   MSK32ISA_ANDL_LD_SP12S                              0x00000040

    #define     BA_ISA_ANDL_LD_SP16                            0x000C
    #define     B16ISA_ANDL_LD_SP16                            0x000C
    #define   LSb32ISA_ANDL_LD_SP16                               7
    #define   LSb16ISA_ANDL_LD_SP16                               7
    #define       bISA_ANDL_LD_SP16                            1
    #define   MSK32ISA_ANDL_LD_SP16                               0x00000080

    #define     BA_ISA_ANDL_LD_TPRF                            0x000D
    #define     B16ISA_ANDL_LD_TPRF                            0x000C
    #define   LSb32ISA_ANDL_LD_TPRF                               8
    #define   LSb16ISA_ANDL_LD_TPRF                               8
    #define       bISA_ANDL_LD_TPRF                            1
    #define   MSK32ISA_ANDL_LD_TPRF                               0x00000100

    #define     BA_ISA_ANDL_LD_TPJ                             0x000D
    #define     B16ISA_ANDL_LD_TPJ                             0x000C
    #define   LSb32ISA_ANDL_LD_TPJ                                9
    #define   LSb16ISA_ANDL_LD_TPJ                                9
    #define       bISA_ANDL_LD_TPJ                             1
    #define   MSK32ISA_ANDL_LD_TPJ                                0x00000200

    #define     BA_ISA_ANDL_LD_TP4S                            0x000D
    #define     B16ISA_ANDL_LD_TP4S                            0x000C
    #define   LSb32ISA_ANDL_LD_TP4S                               10
    #define   LSb16ISA_ANDL_LD_TP4S                               10
    #define       bISA_ANDL_LD_TP4S                            1
    #define   MSK32ISA_ANDL_LD_TP4S                               0x00000400

    #define     BA_ISA_ANDL_LD_TP8L                            0x000D
    #define     B16ISA_ANDL_LD_TP8L                            0x000C
    #define   LSb32ISA_ANDL_LD_TP8L                               11
    #define   LSb16ISA_ANDL_LD_TP8L                               11
    #define       bISA_ANDL_LD_TP8L                            1
    #define   MSK32ISA_ANDL_LD_TP8L                               0x00000800

    #define     BA_ISA_ANDL_LD_TP8H                            0x000D
    #define     B16ISA_ANDL_LD_TP8H                            0x000C
    #define   LSb32ISA_ANDL_LD_TP8H                               12
    #define   LSb16ISA_ANDL_LD_TP8H                               12
    #define       bISA_ANDL_LD_TP8H                            1
    #define   MSK32ISA_ANDL_LD_TP8H                               0x00001000

    #define     BA_ISA_ANDL_LD_TP8LF                           0x000D
    #define     B16ISA_ANDL_LD_TP8LF                           0x000C
    #define   LSb32ISA_ANDL_LD_TP8LF                              13
    #define   LSb16ISA_ANDL_LD_TP8LF                              13
    #define       bISA_ANDL_LD_TP8LF                           1
    #define   MSK32ISA_ANDL_LD_TP8LF                              0x00002000

    #define     BA_ISA_ANDL_LD_TP8HF                           0x000D
    #define     B16ISA_ANDL_LD_TP8HF                           0x000C
    #define   LSb32ISA_ANDL_LD_TP8HF                              14
    #define   LSb16ISA_ANDL_LD_TP8HF                              14
    #define       bISA_ANDL_LD_TP8HF                           1
    #define   MSK32ISA_ANDL_LD_TP8HF                              0x00004000

    #define     BA_ISA_ANDL_LD_SQRF64                          0x000D
    #define     B16ISA_ANDL_LD_SQRF64                          0x000C
    #define   LSb32ISA_ANDL_LD_SQRF64                             15
    #define   LSb16ISA_ANDL_LD_SQRF64                             15
    #define       bISA_ANDL_LD_SQRF64                          1
    #define   MSK32ISA_ANDL_LD_SQRF64                             0x00008000

    #define     BA_ISA_ANDL_LD_TQRF16Q                         0x000E
    #define     B16ISA_ANDL_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_ANDL_LD_TQRF16Q                            16
    #define   LSb16ISA_ANDL_LD_TQRF16Q                            0
    #define       bISA_ANDL_LD_TQRF16Q                         1
    #define   MSK32ISA_ANDL_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_ANDL_LD_TQRFx4                          0x000E
    #define     B16ISA_ANDL_LD_TQRFx4                          0x000E
    #define   LSb32ISA_ANDL_LD_TQRFx4                             17
    #define   LSb16ISA_ANDL_LD_TQRFx4                             1
    #define       bISA_ANDL_LD_TQRFx4                          1
    #define   MSK32ISA_ANDL_LD_TQRFx4                             0x00020000

    #define     BA_ISA_ANDL_LD_RD                              0x000E
    #define     B16ISA_ANDL_LD_RD                              0x000E
    #define   LSb32ISA_ANDL_LD_RD                                 18
    #define   LSb16ISA_ANDL_LD_RD                                 2
    #define       bISA_ANDL_LD_RD                              1
    #define   MSK32ISA_ANDL_LD_RD                                 0x00040000

    #define     BA_ISA_ANDL_LD_WARF                            0x000E
    #define     B16ISA_ANDL_LD_WARF                            0x000E
    #define   LSb32ISA_ANDL_LD_WARF                               19
    #define   LSb16ISA_ANDL_LD_WARF                               3
    #define       bISA_ANDL_LD_WARF                            1
    #define   MSK32ISA_ANDL_LD_WARF                               0x00080000

    #define     BA_ISA_ANDL_LD_WAK8                            0x000E
    #define     B16ISA_ANDL_LD_WAK8                            0x000E
    #define   LSb32ISA_ANDL_LD_WAK8                               20
    #define   LSb16ISA_ANDL_LD_WAK8                               4
    #define       bISA_ANDL_LD_WAK8                            1
    #define   MSK32ISA_ANDL_LD_WAK8                               0x00100000

    #define     BA_ISA_ANDL_LD_WAK16                           0x000E
    #define     B16ISA_ANDL_LD_WAK16                           0x000E
    #define   LSb32ISA_ANDL_LD_WAK16                              21
    #define   LSb16ISA_ANDL_LD_WAK16                              5
    #define       bISA_ANDL_LD_WAK16                           1
    #define   MSK32ISA_ANDL_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_EX                                 0x0010

    #define     BA_ISA_ANDL_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagZ                         0
    #define   LSb16ISA_ANDL_EX_ALU16FlagZ                         0
    #define       bISA_ANDL_EX_ALU16FlagZ                      1
    #define   MSK32ISA_ANDL_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_ANDL_EX_ALU16FlagC                      0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagC                         1
    #define   LSb16ISA_ANDL_EX_ALU16FlagC                         1
    #define       bISA_ANDL_EX_ALU16FlagC                      1
    #define   MSK32ISA_ANDL_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_ANDL_EX_ALU16FlagN                      0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagN                         2
    #define   LSb16ISA_ANDL_EX_ALU16FlagN                         2
    #define       bISA_ANDL_EX_ALU16FlagN                      1
    #define   MSK32ISA_ANDL_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_ANDL_EX_ALU16FlagV                      0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagV                         3
    #define   LSb16ISA_ANDL_EX_ALU16FlagV                         3
    #define       bISA_ANDL_EX_ALU16FlagV                      1
    #define   MSK32ISA_ANDL_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_ANDL_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagTP                        4
    #define   LSb16ISA_ANDL_EX_ALU16FlagTP                        4
    #define       bISA_ANDL_EX_ALU16FlagTP                     1
    #define   MSK32ISA_ANDL_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_ANDL_EX_ALU16MUL                        0x0010
    #define     B16ISA_ANDL_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16MUL                           5
    #define   LSb16ISA_ANDL_EX_ALU16MUL                           5
    #define       bISA_ANDL_EX_ALU16MUL                        1
    #define   MSK32ISA_ANDL_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_ANDL_EX_ALU16DIV                        0x0010
    #define     B16ISA_ANDL_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16DIV                           6
    #define   LSb16ISA_ANDL_EX_ALU16DIV                           6
    #define       bISA_ANDL_EX_ALU16DIV                        1
    #define   MSK32ISA_ANDL_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_ANDL_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_ANDL_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_ANDL_EX_ALU16FlagLD                        7
    #define   LSb16ISA_ANDL_EX_ALU16FlagLD                        7
    #define       bISA_ANDL_EX_ALU16FlagLD                     1
    #define   MSK32ISA_ANDL_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_ANDL_EX_ALU16MDL                        0x0011
    #define     B16ISA_ANDL_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16MDL                           8
    #define   LSb16ISA_ANDL_EX_ALU16MDL                           8
    #define       bISA_ANDL_EX_ALU16MDL                        1
    #define   MSK32ISA_ANDL_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_ANDL_EX_ALU16MDH                        0x0011
    #define     B16ISA_ANDL_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16MDH                           9
    #define   LSb16ISA_ANDL_EX_ALU16MDH                           9
    #define       bISA_ANDL_EX_ALU16MDH                        1
    #define   MSK32ISA_ANDL_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_ANDL_EX_ALU16ADD                        0x0011
    #define     B16ISA_ANDL_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16ADD                           10
    #define   LSb16ISA_ANDL_EX_ALU16ADD                           10
    #define       bISA_ANDL_EX_ALU16ADD                        1
    #define   MSK32ISA_ANDL_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_ANDL_EX_ALU16SUB                        0x0011
    #define     B16ISA_ANDL_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16SUB                           11
    #define   LSb16ISA_ANDL_EX_ALU16SUB                           11
    #define       bISA_ANDL_EX_ALU16SUB                        1
    #define   MSK32ISA_ANDL_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_ANDL_EX_ALU16ADDC                       0x0011
    #define     B16ISA_ANDL_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_ANDL_EX_ALU16ADDC                          12
    #define   LSb16ISA_ANDL_EX_ALU16ADDC                          12
    #define       bISA_ANDL_EX_ALU16ADDC                       1
    #define   MSK32ISA_ANDL_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_ANDL_EX_ALU16SUBC                       0x0011
    #define     B16ISA_ANDL_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_ANDL_EX_ALU16SUBC                          13
    #define   LSb16ISA_ANDL_EX_ALU16SUBC                          13
    #define       bISA_ANDL_EX_ALU16SUBC                       1
    #define   MSK32ISA_ANDL_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_ANDL_EX_ALU16ASR                        0x0011
    #define     B16ISA_ANDL_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_ANDL_EX_ALU16ASR                           14
    #define   LSb16ISA_ANDL_EX_ALU16ASR                           14
    #define       bISA_ANDL_EX_ALU16ASR                        1
    #define   MSK32ISA_ANDL_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_ANDL_EX_ALU16SL                         0x0011
    #define     B16ISA_ANDL_EX_ALU16SL                         0x0010
    #define   LSb32ISA_ANDL_EX_ALU16SL                            15
    #define   LSb16ISA_ANDL_EX_ALU16SL                            15
    #define       bISA_ANDL_EX_ALU16SL                         1
    #define   MSK32ISA_ANDL_EX_ALU16SL                            0x00008000

    #define     BA_ISA_ANDL_EX_ALU16SR                         0x0012
    #define     B16ISA_ANDL_EX_ALU16SR                         0x0012
    #define   LSb32ISA_ANDL_EX_ALU16SR                            16
    #define   LSb16ISA_ANDL_EX_ALU16SR                            0
    #define       bISA_ANDL_EX_ALU16SR                         1
    #define   MSK32ISA_ANDL_EX_ALU16SR                            0x00010000

    #define     BA_ISA_ANDL_EX_ALU16GET                        0x0012
    #define     B16ISA_ANDL_EX_ALU16GET                        0x0012
    #define   LSb32ISA_ANDL_EX_ALU16GET                           17
    #define   LSb16ISA_ANDL_EX_ALU16GET                           1
    #define       bISA_ANDL_EX_ALU16GET                        1
    #define   MSK32ISA_ANDL_EX_ALU16GET                           0x00020000

    #define     BA_ISA_ANDL_EX_ALU16SET                        0x0012
    #define     B16ISA_ANDL_EX_ALU16SET                        0x0012
    #define   LSb32ISA_ANDL_EX_ALU16SET                           18
    #define   LSb16ISA_ANDL_EX_ALU16SET                           2
    #define       bISA_ANDL_EX_ALU16SET                        1
    #define   MSK32ISA_ANDL_EX_ALU16SET                           0x00040000

    #define     BA_ISA_ANDL_EX_ALU16SEL                        0x0012
    #define     B16ISA_ANDL_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_ANDL_EX_ALU16SEL                           19
    #define   LSb16ISA_ANDL_EX_ALU16SEL                           3
    #define       bISA_ANDL_EX_ALU16SEL                        1
    #define   MSK32ISA_ANDL_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_ANDL_EX_ALU16OR                         0x0012
    #define     B16ISA_ANDL_EX_ALU16OR                         0x0012
    #define   LSb32ISA_ANDL_EX_ALU16OR                            20
    #define   LSb16ISA_ANDL_EX_ALU16OR                            4
    #define       bISA_ANDL_EX_ALU16OR                         1
    #define   MSK32ISA_ANDL_EX_ALU16OR                            0x00100000

    #define     BA_ISA_ANDL_EX_ALU16AND                        0x0012
    #define     B16ISA_ANDL_EX_ALU16AND                        0x0012
    #define   LSb32ISA_ANDL_EX_ALU16AND                           21
    #define   LSb16ISA_ANDL_EX_ALU16AND                           5
    #define       bISA_ANDL_EX_ALU16AND                        1
    #define   MSK32ISA_ANDL_EX_ALU16AND                           0x00200000

    #define     BA_ISA_ANDL_EX_ALU16XOR                        0x0012
    #define     B16ISA_ANDL_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_ANDL_EX_ALU16XOR                           22
    #define   LSb16ISA_ANDL_EX_ALU16XOR                           6
    #define       bISA_ANDL_EX_ALU16XOR                        1
    #define   MSK32ISA_ANDL_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_ANDL_EX_ALU16SP                         0x0012
    #define     B16ISA_ANDL_EX_ALU16SP                         0x0012
    #define   LSb32ISA_ANDL_EX_ALU16SP                            23
    #define   LSb16ISA_ANDL_EX_ALU16SP                            7
    #define       bISA_ANDL_EX_ALU16SP                         1
    #define   MSK32ISA_ANDL_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_EXX                                0x0014

    #define     BA_ISA_ANDL_EXX_WRSQ                           0x0014
    #define     B16ISA_ANDL_EXX_WRSQ                           0x0014
    #define   LSb32ISA_ANDL_EXX_WRSQ                              0
    #define   LSb16ISA_ANDL_EXX_WRSQ                              0
    #define       bISA_ANDL_EXX_WRSQ                           1
    #define   MSK32ISA_ANDL_EXX_WRSQ                              0x00000001

    #define     BA_ISA_ANDL_EXX_WR16                           0x0014
    #define     B16ISA_ANDL_EXX_WR16                           0x0014
    #define   LSb32ISA_ANDL_EXX_WR16                              1
    #define   LSb16ISA_ANDL_EXX_WR16                              1
    #define       bISA_ANDL_EXX_WR16                           1
    #define   MSK32ISA_ANDL_EXX_WR16                              0x00000002

    #define     BA_ISA_ANDL_EXX_WRTQ                           0x0014
    #define     B16ISA_ANDL_EXX_WRTQ                           0x0014
    #define   LSb32ISA_ANDL_EXX_WRTQ                              2
    #define   LSb16ISA_ANDL_EXX_WRTQ                              2
    #define       bISA_ANDL_EXX_WRTQ                           1
    #define   MSK32ISA_ANDL_EXX_WRTQ                              0x00000004

    #define     BA_ISA_ANDL_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_ANDL_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_ANDL_EXX_ALU64PUSH                         3
    #define   LSb16ISA_ANDL_EXX_ALU64PUSH                         3
    #define       bISA_ANDL_EXX_ALU64PUSH                      1
    #define   MSK32ISA_ANDL_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_ANDL_EXX_ALU64POP                       0x0014
    #define     B16ISA_ANDL_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_ANDL_EXX_ALU64POP                          4
    #define   LSb16ISA_ANDL_EXX_ALU64POP                          4
    #define       bISA_ANDL_EXX_ALU64POP                       1
    #define   MSK32ISA_ANDL_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_ANDL_EXX_ALU64SQ                        0x0014
    #define     B16ISA_ANDL_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_ANDL_EXX_ALU64SQ                           5
    #define   LSb16ISA_ANDL_EXX_ALU64SQ                           5
    #define       bISA_ANDL_EXX_ALU64SQ                        1
    #define   MSK32ISA_ANDL_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_ANDL_EXX_ALU64TQ                        0x0014
    #define     B16ISA_ANDL_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_ANDL_EXX_ALU64TQ                           6
    #define   LSb16ISA_ANDL_EXX_ALU64TQ                           6
    #define       bISA_ANDL_EXX_ALU64TQ                        1
    #define   MSK32ISA_ANDL_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_ANDL_EXX_ALU64MEM                       0x0014
    #define     B16ISA_ANDL_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_ANDL_EXX_ALU64MEM                          7
    #define   LSb16ISA_ANDL_EXX_ALU64MEM                          7
    #define       bISA_ANDL_EXX_ALU64MEM                       1
    #define   MSK32ISA_ANDL_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_ANDL_EXX_BRANCH                         0x0015
    #define     B16ISA_ANDL_EXX_BRANCH                         0x0014
    #define   LSb32ISA_ANDL_EXX_BRANCH                            8
    #define   LSb16ISA_ANDL_EXX_BRANCH                            8
    #define       bISA_ANDL_EXX_BRANCH                         1
    #define   MSK32ISA_ANDL_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDL_WB                                 0x0018

    #define     BA_ISA_ANDL_WB_RF16                            0x0018
    #define     B16ISA_ANDL_WB_RF16                            0x0018
    #define   LSb32ISA_ANDL_WB_RF16                               0
    #define   LSb16ISA_ANDL_WB_RF16                               0
    #define       bISA_ANDL_WB_RF16                            1
    #define   MSK32ISA_ANDL_WB_RF16                               0x00000001

    #define     BA_ISA_ANDL_WB_RF16W0                          0x0018
    #define     B16ISA_ANDL_WB_RF16W0                          0x0018
    #define   LSb32ISA_ANDL_WB_RF16W0                             1
    #define   LSb16ISA_ANDL_WB_RF16W0                             1
    #define       bISA_ANDL_WB_RF16W0                          1
    #define   MSK32ISA_ANDL_WB_RF16W0                             0x00000002

    #define     BA_ISA_ANDL_WB_RF16MEM                         0x0018
    #define     B16ISA_ANDL_WB_RF16MEM                         0x0018
    #define   LSb32ISA_ANDL_WB_RF16MEM                            2
    #define   LSb16ISA_ANDL_WB_RF16MEM                            2
    #define       bISA_ANDL_WB_RF16MEM                         1
    #define   MSK32ISA_ANDL_WB_RF16MEM                            0x00000004

    #define     BA_ISA_ANDL_WB_RF16Q                           0x0018
    #define     B16ISA_ANDL_WB_RF16Q                           0x0018
    #define   LSb32ISA_ANDL_WB_RF16Q                              3
    #define   LSb16ISA_ANDL_WB_RF16Q                              3
    #define       bISA_ANDL_WB_RF16Q                           1
    #define   MSK32ISA_ANDL_WB_RF16Q                              0x00000008

    #define     BA_ISA_ANDL_WB_RF64                            0x0018
    #define     B16ISA_ANDL_WB_RF64                            0x0018
    #define   LSb32ISA_ANDL_WB_RF64                               4
    #define   LSb16ISA_ANDL_WB_RF64                               4
    #define       bISA_ANDL_WB_RF64                            1
    #define   MSK32ISA_ANDL_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ANDL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_ANDL_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_ANDL_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ANDL_Mask;
            struct w32ISA_ANDL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_ANDL_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_ANDL_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ANDL_Opcode;
            struct w32ISA_ANDL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDL_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDL_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDL_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDL_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDL_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDL_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDL_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDL_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDL_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDL_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDL_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDL_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDL_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDL_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDL_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDL_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDL_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDL_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDL_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDL_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ANDL_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ANDL_ID;
            struct w32ISA_ANDL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDL_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDL_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDL_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDL_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDL_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDL_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDL_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDL_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDL_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDL_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDL_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDL_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDL_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDL_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDL_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDL_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDL_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDL_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDL_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDL_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDL_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDL_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDL_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDL_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ANDL_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_ANDL_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ANDL_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_ANDL_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ANDL_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_ANDL_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_ANDL_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_ANDL_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_ANDL_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_ANDL_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_ANDL_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_ANDL_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_ANDL_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_ANDL_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_ANDL_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_ANDL_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_ANDL_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_ANDL_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_ANDL_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_ANDL_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_ANDL_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_ANDL_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_ANDL_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_ANDL_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_ANDL_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ANDL_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ANDL_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ANDL_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ANDL_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ANDL_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ANDL_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_ANDL_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_ANDL_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_ANDL_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_ANDL_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_ANDL_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_ANDL_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_ANDL_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_ANDL_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_ANDL_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_ANDL_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ANDL_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ANDL_LD;
            struct w32ISA_ANDL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDL_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDL_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDL_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDL_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDL_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDL_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDL_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDL_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDL_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDL_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDL_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDL_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDL_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDL_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDL_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDL_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDL_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDL_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDL_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ANDL_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_ANDL_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ANDL_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_ANDL_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ANDL_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_ANDL_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_ANDL_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_ANDL_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_ANDL_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_ANDL_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_ANDL_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_ANDL_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_ANDL_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_ANDL_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_ANDL_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_ANDL_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_ANDL_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_ANDL_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_ANDL_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_ANDL_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_ANDL_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_ANDL_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_ANDL_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_ANDL_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_ANDL_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_ANDL_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_ANDL_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_ANDL_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_ANDL_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ANDL_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ANDL_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_ANDL_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_ANDL_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_ANDL_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_ANDL_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_ANDL_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_ANDL_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_ANDL_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_ANDL_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_ANDL_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_ANDL_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDL_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_ANDL_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_ANDL_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDL_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDL_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_ANDL_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_ANDL_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDL_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ANDL_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ANDL_EX;
            struct w32ISA_ANDL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDL_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDL_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDL_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDL_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDL_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDL_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDL_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDL_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDL_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDL_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDL_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDL_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDL_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDL_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDL_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDL_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDL_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDL_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDL_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDL_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDL_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDL_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDL_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDL_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDL_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDL_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ANDL_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ANDL_EXX;
            struct w32ISA_ANDL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDL_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDL_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDL_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDL_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDL_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDL_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDL_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDL_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDL_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDL_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDL_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDL_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDL_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDL_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDL_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDL_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDL_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDL_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDL_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDL_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ANDL_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ANDL_WB;
            struct w32ISA_ANDL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ANDL;

    typedef union  T32ISA_ANDL_Mask
          { UNSG32 u32;
            struct w32ISA_ANDL_Mask;
                 } T32ISA_ANDL_Mask;
    typedef union  T32ISA_ANDL_Opcode
          { UNSG32 u32;
            struct w32ISA_ANDL_Opcode;
                 } T32ISA_ANDL_Opcode;
    typedef union  T32ISA_ANDL_ID
          { UNSG32 u32;
            struct w32ISA_ANDL_ID;
                 } T32ISA_ANDL_ID;
    typedef union  T32ISA_ANDL_LD
          { UNSG32 u32;
            struct w32ISA_ANDL_LD;
                 } T32ISA_ANDL_LD;
    typedef union  T32ISA_ANDL_EX
          { UNSG32 u32;
            struct w32ISA_ANDL_EX;
                 } T32ISA_ANDL_EX;
    typedef union  T32ISA_ANDL_EXX
          { UNSG32 u32;
            struct w32ISA_ANDL_EXX;
                 } T32ISA_ANDL_EXX;
    typedef union  T32ISA_ANDL_WB
          { UNSG32 u32;
            struct w32ISA_ANDL_WB;
                 } T32ISA_ANDL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ANDL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_Mask;
                   };
                 } TISA_ANDL_Mask;
    typedef union  TISA_ANDL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_Opcode;
                   };
                 } TISA_ANDL_Opcode;
    typedef union  TISA_ANDL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_ID;
                   };
                 } TISA_ANDL_ID;
    typedef union  TISA_ANDL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_LD;
                   };
                 } TISA_ANDL_LD;
    typedef union  TISA_ANDL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_EX;
                   };
                 } TISA_ANDL_EX;
    typedef union  TISA_ANDL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_EXX;
                   };
                 } TISA_ANDL_EXX;
    typedef union  TISA_ANDL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDL_WB;
                   };
                 } TISA_ANDL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ANDL_drvrd(SIE_ISA_ANDL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ANDL_drvwr(SIE_ISA_ANDL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ANDL_reset(SIE_ISA_ANDL *p);
     SIGN32 ISA_ANDL_cmp  (SIE_ISA_ANDL *p, SIE_ISA_ANDL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ANDL_check(p,pie,pfx,hLOG) ISA_ANDL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ANDL_print(p,    pfx,hLOG) ISA_ANDL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ANDL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ANDH                                 (4,4)
///     ###
///     * And a register high 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2B0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ANDH"    , "rD,rS,C"     , "0010 1011 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    ANDH     %d1, %a1, 0x01 ; %d1 = %a1 & 0x01FF;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     0x1
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  0x1
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ANDH
#define h_ISA_ANDH (){}

    #define     RA_ISA_ANDH_Mask                               0x0000

    #define     BA_ISA_ANDH_Mask_INS                           0x0000
    #define     B16ISA_ANDH_Mask_INS                           0x0000
    #define   LSb32ISA_ANDH_Mask_INS                              0
    #define   LSb16ISA_ANDH_Mask_INS                              0
    #define       bISA_ANDH_Mask_INS                           24
    #define   MSK32ISA_ANDH_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_Opcode                             0x0004

    #define     BA_ISA_ANDH_Opcode_INS                         0x0004
    #define     B16ISA_ANDH_Opcode_INS                         0x0004
    #define   LSb32ISA_ANDH_Opcode_INS                            0
    #define   LSb16ISA_ANDH_Opcode_INS                            0
    #define       bISA_ANDH_Opcode_INS                         24
    #define   MSK32ISA_ANDH_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_ID                                 0x0008

    #define     BA_ISA_ANDH_ID_RBRF                            0x0008
    #define     B16ISA_ANDH_ID_RBRF                            0x0008
    #define   LSb32ISA_ANDH_ID_RBRF                               0
    #define   LSb16ISA_ANDH_ID_RBRF                               0
    #define       bISA_ANDH_ID_RBRF                            1
    #define   MSK32ISA_ANDH_ID_RBRF                               0x00000001

    #define     BA_ISA_ANDH_ID_RARF                            0x0008
    #define     B16ISA_ANDH_ID_RARF                            0x0008
    #define   LSb32ISA_ANDH_ID_RARF                               1
    #define   LSb16ISA_ANDH_ID_RARF                               1
    #define       bISA_ANDH_ID_RARF                            1
    #define   MSK32ISA_ANDH_ID_RARF                               0x00000002

    #define     BA_ISA_ANDH_ID_RAK8                            0x0008
    #define     B16ISA_ANDH_ID_RAK8                            0x0008
    #define   LSb32ISA_ANDH_ID_RAK8                               2
    #define   LSb16ISA_ANDH_ID_RAK8                               2
    #define       bISA_ANDH_ID_RAK8                            1
    #define   MSK32ISA_ANDH_ID_RAK8                               0x00000004

    #define     BA_ISA_ANDH_ID_RAI16                           0x0008
    #define     B16ISA_ANDH_ID_RAI16                           0x0008
    #define   LSb32ISA_ANDH_ID_RAI16                              3
    #define   LSb16ISA_ANDH_ID_RAI16                              3
    #define       bISA_ANDH_ID_RAI16                           1
    #define   MSK32ISA_ANDH_ID_RAI16                              0x00000008

    #define     BA_ISA_ANDH_ID_RAK16                           0x0008
    #define     B16ISA_ANDH_ID_RAK16                           0x0008
    #define   LSb32ISA_ANDH_ID_RAK16                              4
    #define   LSb16ISA_ANDH_ID_RAK16                              4
    #define       bISA_ANDH_ID_RAK16                           1
    #define   MSK32ISA_ANDH_ID_RAK16                              0x00000010

    #define     BA_ISA_ANDH_ID_RFSP                            0x0008
    #define     B16ISA_ANDH_ID_RFSP                            0x0008
    #define   LSb32ISA_ANDH_ID_RFSP                               5
    #define   LSb16ISA_ANDH_ID_RFSP                               5
    #define       bISA_ANDH_ID_RFSP                            1
    #define   MSK32ISA_ANDH_ID_RFSP                               0x00000020

    #define     BA_ISA_ANDH_ID_W4D4                            0x0008
    #define     B16ISA_ANDH_ID_W4D4                            0x0008
    #define   LSb32ISA_ANDH_ID_W4D4                               6
    #define   LSb16ISA_ANDH_ID_W4D4                               6
    #define       bISA_ANDH_ID_W4D4                            1
    #define   MSK32ISA_ANDH_ID_W4D4                               0x00000040

    #define     BA_ISA_ANDH_ID_W4S4                            0x0008
    #define     B16ISA_ANDH_ID_W4S4                            0x0008
    #define   LSb32ISA_ANDH_ID_W4S4                               7
    #define   LSb16ISA_ANDH_ID_W4S4                               7
    #define       bISA_ANDH_ID_W4S4                            1
    #define   MSK32ISA_ANDH_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_LD                                 0x000C

    #define     BA_ISA_ANDH_LD_SPRF                            0x000C
    #define     B16ISA_ANDH_LD_SPRF                            0x000C
    #define   LSb32ISA_ANDH_LD_SPRF                               0
    #define   LSb16ISA_ANDH_LD_SPRF                               0
    #define       bISA_ANDH_LD_SPRF                            1
    #define   MSK32ISA_ANDH_LD_SPRF                               0x00000001

    #define     BA_ISA_ANDH_LD_SPK8                            0x000C
    #define     B16ISA_ANDH_LD_SPK8                            0x000C
    #define   LSb32ISA_ANDH_LD_SPK8                               1
    #define   LSb16ISA_ANDH_LD_SPK8                               1
    #define       bISA_ANDH_LD_SPK8                            1
    #define   MSK32ISA_ANDH_LD_SPK8                               0x00000002

    #define     BA_ISA_ANDH_LD_SPJ                             0x000C
    #define     B16ISA_ANDH_LD_SPJ                             0x000C
    #define   LSb32ISA_ANDH_LD_SPJ                                2
    #define   LSb16ISA_ANDH_LD_SPJ                                2
    #define       bISA_ANDH_LD_SPJ                             1
    #define   MSK32ISA_ANDH_LD_SPJ                                0x00000004

    #define     BA_ISA_ANDH_LD_SP4S                            0x000C
    #define     B16ISA_ANDH_LD_SP4S                            0x000C
    #define   LSb32ISA_ANDH_LD_SP4S                               3
    #define   LSb16ISA_ANDH_LD_SP4S                               3
    #define       bISA_ANDH_LD_SP4S                            1
    #define   MSK32ISA_ANDH_LD_SP4S                               0x00000008

    #define     BA_ISA_ANDH_LD_SP8S                            0x000C
    #define     B16ISA_ANDH_LD_SP8S                            0x000C
    #define   LSb32ISA_ANDH_LD_SP8S                               4
    #define   LSb16ISA_ANDH_LD_SP8S                               4
    #define       bISA_ANDH_LD_SP8S                            1
    #define   MSK32ISA_ANDH_LD_SP8S                               0x00000010

    #define     BA_ISA_ANDH_LD_SP8U                            0x000C
    #define     B16ISA_ANDH_LD_SP8U                            0x000C
    #define   LSb32ISA_ANDH_LD_SP8U                               5
    #define   LSb16ISA_ANDH_LD_SP8U                               5
    #define       bISA_ANDH_LD_SP8U                            1
    #define   MSK32ISA_ANDH_LD_SP8U                               0x00000020

    #define     BA_ISA_ANDH_LD_SP12S                           0x000C
    #define     B16ISA_ANDH_LD_SP12S                           0x000C
    #define   LSb32ISA_ANDH_LD_SP12S                              6
    #define   LSb16ISA_ANDH_LD_SP12S                              6
    #define       bISA_ANDH_LD_SP12S                           1
    #define   MSK32ISA_ANDH_LD_SP12S                              0x00000040

    #define     BA_ISA_ANDH_LD_SP16                            0x000C
    #define     B16ISA_ANDH_LD_SP16                            0x000C
    #define   LSb32ISA_ANDH_LD_SP16                               7
    #define   LSb16ISA_ANDH_LD_SP16                               7
    #define       bISA_ANDH_LD_SP16                            1
    #define   MSK32ISA_ANDH_LD_SP16                               0x00000080

    #define     BA_ISA_ANDH_LD_TPRF                            0x000D
    #define     B16ISA_ANDH_LD_TPRF                            0x000C
    #define   LSb32ISA_ANDH_LD_TPRF                               8
    #define   LSb16ISA_ANDH_LD_TPRF                               8
    #define       bISA_ANDH_LD_TPRF                            1
    #define   MSK32ISA_ANDH_LD_TPRF                               0x00000100

    #define     BA_ISA_ANDH_LD_TPJ                             0x000D
    #define     B16ISA_ANDH_LD_TPJ                             0x000C
    #define   LSb32ISA_ANDH_LD_TPJ                                9
    #define   LSb16ISA_ANDH_LD_TPJ                                9
    #define       bISA_ANDH_LD_TPJ                             1
    #define   MSK32ISA_ANDH_LD_TPJ                                0x00000200

    #define     BA_ISA_ANDH_LD_TP4S                            0x000D
    #define     B16ISA_ANDH_LD_TP4S                            0x000C
    #define   LSb32ISA_ANDH_LD_TP4S                               10
    #define   LSb16ISA_ANDH_LD_TP4S                               10
    #define       bISA_ANDH_LD_TP4S                            1
    #define   MSK32ISA_ANDH_LD_TP4S                               0x00000400

    #define     BA_ISA_ANDH_LD_TP8L                            0x000D
    #define     B16ISA_ANDH_LD_TP8L                            0x000C
    #define   LSb32ISA_ANDH_LD_TP8L                               11
    #define   LSb16ISA_ANDH_LD_TP8L                               11
    #define       bISA_ANDH_LD_TP8L                            1
    #define   MSK32ISA_ANDH_LD_TP8L                               0x00000800

    #define     BA_ISA_ANDH_LD_TP8H                            0x000D
    #define     B16ISA_ANDH_LD_TP8H                            0x000C
    #define   LSb32ISA_ANDH_LD_TP8H                               12
    #define   LSb16ISA_ANDH_LD_TP8H                               12
    #define       bISA_ANDH_LD_TP8H                            1
    #define   MSK32ISA_ANDH_LD_TP8H                               0x00001000

    #define     BA_ISA_ANDH_LD_TP8LF                           0x000D
    #define     B16ISA_ANDH_LD_TP8LF                           0x000C
    #define   LSb32ISA_ANDH_LD_TP8LF                              13
    #define   LSb16ISA_ANDH_LD_TP8LF                              13
    #define       bISA_ANDH_LD_TP8LF                           1
    #define   MSK32ISA_ANDH_LD_TP8LF                              0x00002000

    #define     BA_ISA_ANDH_LD_TP8HF                           0x000D
    #define     B16ISA_ANDH_LD_TP8HF                           0x000C
    #define   LSb32ISA_ANDH_LD_TP8HF                              14
    #define   LSb16ISA_ANDH_LD_TP8HF                              14
    #define       bISA_ANDH_LD_TP8HF                           1
    #define   MSK32ISA_ANDH_LD_TP8HF                              0x00004000

    #define     BA_ISA_ANDH_LD_SQRF64                          0x000D
    #define     B16ISA_ANDH_LD_SQRF64                          0x000C
    #define   LSb32ISA_ANDH_LD_SQRF64                             15
    #define   LSb16ISA_ANDH_LD_SQRF64                             15
    #define       bISA_ANDH_LD_SQRF64                          1
    #define   MSK32ISA_ANDH_LD_SQRF64                             0x00008000

    #define     BA_ISA_ANDH_LD_TQRF16Q                         0x000E
    #define     B16ISA_ANDH_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_ANDH_LD_TQRF16Q                            16
    #define   LSb16ISA_ANDH_LD_TQRF16Q                            0
    #define       bISA_ANDH_LD_TQRF16Q                         1
    #define   MSK32ISA_ANDH_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_ANDH_LD_TQRFx4                          0x000E
    #define     B16ISA_ANDH_LD_TQRFx4                          0x000E
    #define   LSb32ISA_ANDH_LD_TQRFx4                             17
    #define   LSb16ISA_ANDH_LD_TQRFx4                             1
    #define       bISA_ANDH_LD_TQRFx4                          1
    #define   MSK32ISA_ANDH_LD_TQRFx4                             0x00020000

    #define     BA_ISA_ANDH_LD_RD                              0x000E
    #define     B16ISA_ANDH_LD_RD                              0x000E
    #define   LSb32ISA_ANDH_LD_RD                                 18
    #define   LSb16ISA_ANDH_LD_RD                                 2
    #define       bISA_ANDH_LD_RD                              1
    #define   MSK32ISA_ANDH_LD_RD                                 0x00040000

    #define     BA_ISA_ANDH_LD_WARF                            0x000E
    #define     B16ISA_ANDH_LD_WARF                            0x000E
    #define   LSb32ISA_ANDH_LD_WARF                               19
    #define   LSb16ISA_ANDH_LD_WARF                               3
    #define       bISA_ANDH_LD_WARF                            1
    #define   MSK32ISA_ANDH_LD_WARF                               0x00080000

    #define     BA_ISA_ANDH_LD_WAK8                            0x000E
    #define     B16ISA_ANDH_LD_WAK8                            0x000E
    #define   LSb32ISA_ANDH_LD_WAK8                               20
    #define   LSb16ISA_ANDH_LD_WAK8                               4
    #define       bISA_ANDH_LD_WAK8                            1
    #define   MSK32ISA_ANDH_LD_WAK8                               0x00100000

    #define     BA_ISA_ANDH_LD_WAK16                           0x000E
    #define     B16ISA_ANDH_LD_WAK16                           0x000E
    #define   LSb32ISA_ANDH_LD_WAK16                              21
    #define   LSb16ISA_ANDH_LD_WAK16                              5
    #define       bISA_ANDH_LD_WAK16                           1
    #define   MSK32ISA_ANDH_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_EX                                 0x0010

    #define     BA_ISA_ANDH_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagZ                         0
    #define   LSb16ISA_ANDH_EX_ALU16FlagZ                         0
    #define       bISA_ANDH_EX_ALU16FlagZ                      1
    #define   MSK32ISA_ANDH_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_ANDH_EX_ALU16FlagC                      0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagC                         1
    #define   LSb16ISA_ANDH_EX_ALU16FlagC                         1
    #define       bISA_ANDH_EX_ALU16FlagC                      1
    #define   MSK32ISA_ANDH_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_ANDH_EX_ALU16FlagN                      0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagN                         2
    #define   LSb16ISA_ANDH_EX_ALU16FlagN                         2
    #define       bISA_ANDH_EX_ALU16FlagN                      1
    #define   MSK32ISA_ANDH_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_ANDH_EX_ALU16FlagV                      0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagV                         3
    #define   LSb16ISA_ANDH_EX_ALU16FlagV                         3
    #define       bISA_ANDH_EX_ALU16FlagV                      1
    #define   MSK32ISA_ANDH_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_ANDH_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagTP                        4
    #define   LSb16ISA_ANDH_EX_ALU16FlagTP                        4
    #define       bISA_ANDH_EX_ALU16FlagTP                     1
    #define   MSK32ISA_ANDH_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_ANDH_EX_ALU16MUL                        0x0010
    #define     B16ISA_ANDH_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16MUL                           5
    #define   LSb16ISA_ANDH_EX_ALU16MUL                           5
    #define       bISA_ANDH_EX_ALU16MUL                        1
    #define   MSK32ISA_ANDH_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_ANDH_EX_ALU16DIV                        0x0010
    #define     B16ISA_ANDH_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16DIV                           6
    #define   LSb16ISA_ANDH_EX_ALU16DIV                           6
    #define       bISA_ANDH_EX_ALU16DIV                        1
    #define   MSK32ISA_ANDH_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_ANDH_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_ANDH_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_ANDH_EX_ALU16FlagLD                        7
    #define   LSb16ISA_ANDH_EX_ALU16FlagLD                        7
    #define       bISA_ANDH_EX_ALU16FlagLD                     1
    #define   MSK32ISA_ANDH_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_ANDH_EX_ALU16MDL                        0x0011
    #define     B16ISA_ANDH_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16MDL                           8
    #define   LSb16ISA_ANDH_EX_ALU16MDL                           8
    #define       bISA_ANDH_EX_ALU16MDL                        1
    #define   MSK32ISA_ANDH_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_ANDH_EX_ALU16MDH                        0x0011
    #define     B16ISA_ANDH_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16MDH                           9
    #define   LSb16ISA_ANDH_EX_ALU16MDH                           9
    #define       bISA_ANDH_EX_ALU16MDH                        1
    #define   MSK32ISA_ANDH_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_ANDH_EX_ALU16ADD                        0x0011
    #define     B16ISA_ANDH_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16ADD                           10
    #define   LSb16ISA_ANDH_EX_ALU16ADD                           10
    #define       bISA_ANDH_EX_ALU16ADD                        1
    #define   MSK32ISA_ANDH_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_ANDH_EX_ALU16SUB                        0x0011
    #define     B16ISA_ANDH_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16SUB                           11
    #define   LSb16ISA_ANDH_EX_ALU16SUB                           11
    #define       bISA_ANDH_EX_ALU16SUB                        1
    #define   MSK32ISA_ANDH_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_ANDH_EX_ALU16ADDC                       0x0011
    #define     B16ISA_ANDH_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_ANDH_EX_ALU16ADDC                          12
    #define   LSb16ISA_ANDH_EX_ALU16ADDC                          12
    #define       bISA_ANDH_EX_ALU16ADDC                       1
    #define   MSK32ISA_ANDH_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_ANDH_EX_ALU16SUBC                       0x0011
    #define     B16ISA_ANDH_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_ANDH_EX_ALU16SUBC                          13
    #define   LSb16ISA_ANDH_EX_ALU16SUBC                          13
    #define       bISA_ANDH_EX_ALU16SUBC                       1
    #define   MSK32ISA_ANDH_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_ANDH_EX_ALU16ASR                        0x0011
    #define     B16ISA_ANDH_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_ANDH_EX_ALU16ASR                           14
    #define   LSb16ISA_ANDH_EX_ALU16ASR                           14
    #define       bISA_ANDH_EX_ALU16ASR                        1
    #define   MSK32ISA_ANDH_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_ANDH_EX_ALU16SL                         0x0011
    #define     B16ISA_ANDH_EX_ALU16SL                         0x0010
    #define   LSb32ISA_ANDH_EX_ALU16SL                            15
    #define   LSb16ISA_ANDH_EX_ALU16SL                            15
    #define       bISA_ANDH_EX_ALU16SL                         1
    #define   MSK32ISA_ANDH_EX_ALU16SL                            0x00008000

    #define     BA_ISA_ANDH_EX_ALU16SR                         0x0012
    #define     B16ISA_ANDH_EX_ALU16SR                         0x0012
    #define   LSb32ISA_ANDH_EX_ALU16SR                            16
    #define   LSb16ISA_ANDH_EX_ALU16SR                            0
    #define       bISA_ANDH_EX_ALU16SR                         1
    #define   MSK32ISA_ANDH_EX_ALU16SR                            0x00010000

    #define     BA_ISA_ANDH_EX_ALU16GET                        0x0012
    #define     B16ISA_ANDH_EX_ALU16GET                        0x0012
    #define   LSb32ISA_ANDH_EX_ALU16GET                           17
    #define   LSb16ISA_ANDH_EX_ALU16GET                           1
    #define       bISA_ANDH_EX_ALU16GET                        1
    #define   MSK32ISA_ANDH_EX_ALU16GET                           0x00020000

    #define     BA_ISA_ANDH_EX_ALU16SET                        0x0012
    #define     B16ISA_ANDH_EX_ALU16SET                        0x0012
    #define   LSb32ISA_ANDH_EX_ALU16SET                           18
    #define   LSb16ISA_ANDH_EX_ALU16SET                           2
    #define       bISA_ANDH_EX_ALU16SET                        1
    #define   MSK32ISA_ANDH_EX_ALU16SET                           0x00040000

    #define     BA_ISA_ANDH_EX_ALU16SEL                        0x0012
    #define     B16ISA_ANDH_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_ANDH_EX_ALU16SEL                           19
    #define   LSb16ISA_ANDH_EX_ALU16SEL                           3
    #define       bISA_ANDH_EX_ALU16SEL                        1
    #define   MSK32ISA_ANDH_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_ANDH_EX_ALU16OR                         0x0012
    #define     B16ISA_ANDH_EX_ALU16OR                         0x0012
    #define   LSb32ISA_ANDH_EX_ALU16OR                            20
    #define   LSb16ISA_ANDH_EX_ALU16OR                            4
    #define       bISA_ANDH_EX_ALU16OR                         1
    #define   MSK32ISA_ANDH_EX_ALU16OR                            0x00100000

    #define     BA_ISA_ANDH_EX_ALU16AND                        0x0012
    #define     B16ISA_ANDH_EX_ALU16AND                        0x0012
    #define   LSb32ISA_ANDH_EX_ALU16AND                           21
    #define   LSb16ISA_ANDH_EX_ALU16AND                           5
    #define       bISA_ANDH_EX_ALU16AND                        1
    #define   MSK32ISA_ANDH_EX_ALU16AND                           0x00200000

    #define     BA_ISA_ANDH_EX_ALU16XOR                        0x0012
    #define     B16ISA_ANDH_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_ANDH_EX_ALU16XOR                           22
    #define   LSb16ISA_ANDH_EX_ALU16XOR                           6
    #define       bISA_ANDH_EX_ALU16XOR                        1
    #define   MSK32ISA_ANDH_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_ANDH_EX_ALU16SP                         0x0012
    #define     B16ISA_ANDH_EX_ALU16SP                         0x0012
    #define   LSb32ISA_ANDH_EX_ALU16SP                            23
    #define   LSb16ISA_ANDH_EX_ALU16SP                            7
    #define       bISA_ANDH_EX_ALU16SP                         1
    #define   MSK32ISA_ANDH_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_EXX                                0x0014

    #define     BA_ISA_ANDH_EXX_WRSQ                           0x0014
    #define     B16ISA_ANDH_EXX_WRSQ                           0x0014
    #define   LSb32ISA_ANDH_EXX_WRSQ                              0
    #define   LSb16ISA_ANDH_EXX_WRSQ                              0
    #define       bISA_ANDH_EXX_WRSQ                           1
    #define   MSK32ISA_ANDH_EXX_WRSQ                              0x00000001

    #define     BA_ISA_ANDH_EXX_WR16                           0x0014
    #define     B16ISA_ANDH_EXX_WR16                           0x0014
    #define   LSb32ISA_ANDH_EXX_WR16                              1
    #define   LSb16ISA_ANDH_EXX_WR16                              1
    #define       bISA_ANDH_EXX_WR16                           1
    #define   MSK32ISA_ANDH_EXX_WR16                              0x00000002

    #define     BA_ISA_ANDH_EXX_WRTQ                           0x0014
    #define     B16ISA_ANDH_EXX_WRTQ                           0x0014
    #define   LSb32ISA_ANDH_EXX_WRTQ                              2
    #define   LSb16ISA_ANDH_EXX_WRTQ                              2
    #define       bISA_ANDH_EXX_WRTQ                           1
    #define   MSK32ISA_ANDH_EXX_WRTQ                              0x00000004

    #define     BA_ISA_ANDH_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_ANDH_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_ANDH_EXX_ALU64PUSH                         3
    #define   LSb16ISA_ANDH_EXX_ALU64PUSH                         3
    #define       bISA_ANDH_EXX_ALU64PUSH                      1
    #define   MSK32ISA_ANDH_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_ANDH_EXX_ALU64POP                       0x0014
    #define     B16ISA_ANDH_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_ANDH_EXX_ALU64POP                          4
    #define   LSb16ISA_ANDH_EXX_ALU64POP                          4
    #define       bISA_ANDH_EXX_ALU64POP                       1
    #define   MSK32ISA_ANDH_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_ANDH_EXX_ALU64SQ                        0x0014
    #define     B16ISA_ANDH_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_ANDH_EXX_ALU64SQ                           5
    #define   LSb16ISA_ANDH_EXX_ALU64SQ                           5
    #define       bISA_ANDH_EXX_ALU64SQ                        1
    #define   MSK32ISA_ANDH_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_ANDH_EXX_ALU64TQ                        0x0014
    #define     B16ISA_ANDH_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_ANDH_EXX_ALU64TQ                           6
    #define   LSb16ISA_ANDH_EXX_ALU64TQ                           6
    #define       bISA_ANDH_EXX_ALU64TQ                        1
    #define   MSK32ISA_ANDH_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_ANDH_EXX_ALU64MEM                       0x0014
    #define     B16ISA_ANDH_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_ANDH_EXX_ALU64MEM                          7
    #define   LSb16ISA_ANDH_EXX_ALU64MEM                          7
    #define       bISA_ANDH_EXX_ALU64MEM                       1
    #define   MSK32ISA_ANDH_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_ANDH_EXX_BRANCH                         0x0015
    #define     B16ISA_ANDH_EXX_BRANCH                         0x0014
    #define   LSb32ISA_ANDH_EXX_BRANCH                            8
    #define   LSb16ISA_ANDH_EXX_BRANCH                            8
    #define       bISA_ANDH_EXX_BRANCH                         1
    #define   MSK32ISA_ANDH_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ANDH_WB                                 0x0018

    #define     BA_ISA_ANDH_WB_RF16                            0x0018
    #define     B16ISA_ANDH_WB_RF16                            0x0018
    #define   LSb32ISA_ANDH_WB_RF16                               0
    #define   LSb16ISA_ANDH_WB_RF16                               0
    #define       bISA_ANDH_WB_RF16                            1
    #define   MSK32ISA_ANDH_WB_RF16                               0x00000001

    #define     BA_ISA_ANDH_WB_RF16W0                          0x0018
    #define     B16ISA_ANDH_WB_RF16W0                          0x0018
    #define   LSb32ISA_ANDH_WB_RF16W0                             1
    #define   LSb16ISA_ANDH_WB_RF16W0                             1
    #define       bISA_ANDH_WB_RF16W0                          1
    #define   MSK32ISA_ANDH_WB_RF16W0                             0x00000002

    #define     BA_ISA_ANDH_WB_RF16MEM                         0x0018
    #define     B16ISA_ANDH_WB_RF16MEM                         0x0018
    #define   LSb32ISA_ANDH_WB_RF16MEM                            2
    #define   LSb16ISA_ANDH_WB_RF16MEM                            2
    #define       bISA_ANDH_WB_RF16MEM                         1
    #define   MSK32ISA_ANDH_WB_RF16MEM                            0x00000004

    #define     BA_ISA_ANDH_WB_RF16Q                           0x0018
    #define     B16ISA_ANDH_WB_RF16Q                           0x0018
    #define   LSb32ISA_ANDH_WB_RF16Q                              3
    #define   LSb16ISA_ANDH_WB_RF16Q                              3
    #define       bISA_ANDH_WB_RF16Q                           1
    #define   MSK32ISA_ANDH_WB_RF16Q                              0x00000008

    #define     BA_ISA_ANDH_WB_RF64                            0x0018
    #define     B16ISA_ANDH_WB_RF64                            0x0018
    #define   LSb32ISA_ANDH_WB_RF64                               4
    #define   LSb16ISA_ANDH_WB_RF64                               4
    #define       bISA_ANDH_WB_RF64                            1
    #define   MSK32ISA_ANDH_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ANDH {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_ANDH_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_ANDH_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ANDH_Mask;
            struct w32ISA_ANDH_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_ANDH_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_ANDH_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ANDH_Opcode;
            struct w32ISA_ANDH_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDH_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDH_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDH_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDH_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDH_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDH_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDH_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDH_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDH_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDH_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDH_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDH_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDH_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDH_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDH_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDH_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDH_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDH_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDH_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDH_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ANDH_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ANDH_ID;
            struct w32ISA_ANDH_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDH_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDH_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDH_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDH_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDH_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDH_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDH_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDH_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDH_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDH_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDH_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDH_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDH_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDH_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDH_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDH_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDH_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDH_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDH_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDH_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDH_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDH_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDH_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDH_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ANDH_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_ANDH_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ANDH_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_ANDH_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ANDH_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_ANDH_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_ANDH_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_ANDH_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_ANDH_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_ANDH_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_ANDH_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_ANDH_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_ANDH_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_ANDH_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_ANDH_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_ANDH_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_ANDH_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_ANDH_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_ANDH_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_ANDH_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_ANDH_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_ANDH_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_ANDH_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_ANDH_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_ANDH_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ANDH_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ANDH_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ANDH_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ANDH_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ANDH_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ANDH_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_ANDH_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_ANDH_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_ANDH_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_ANDH_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_ANDH_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_ANDH_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_ANDH_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_ANDH_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_ANDH_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_ANDH_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ANDH_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ANDH_LD;
            struct w32ISA_ANDH_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDH_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDH_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDH_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDH_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDH_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDH_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDH_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDH_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDH_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDH_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDH_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDH_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDH_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDH_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDH_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDH_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDH_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDH_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDH_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ANDH_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_ANDH_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ANDH_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_ANDH_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ANDH_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_ANDH_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_ANDH_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_ANDH_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_ANDH_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_ANDH_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_ANDH_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_ANDH_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_ANDH_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_ANDH_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_ANDH_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_ANDH_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_ANDH_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_ANDH_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_ANDH_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_ANDH_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_ANDH_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_ANDH_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_ANDH_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_ANDH_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_ANDH_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_ANDH_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_ANDH_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_ANDH_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_ANDH_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ANDH_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ANDH_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_ANDH_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_ANDH_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_ANDH_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_ANDH_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_ANDH_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_ANDH_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_ANDH_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_ANDH_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_ANDH_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_ANDH_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDH_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_ANDH_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_ANDH_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDH_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDH_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_ANDH_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_ANDH_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDH_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ANDH_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ANDH_EX;
            struct w32ISA_ANDH_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDH_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDH_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDH_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDH_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDH_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDH_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDH_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDH_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDH_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDH_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ANDH_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ANDH_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ANDH_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ANDH_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ANDH_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ANDH_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ANDH_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ANDH_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ANDH_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_ANDH_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ANDH_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_ANDH_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ANDH_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ANDH_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ANDH_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ANDH_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ANDH_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ANDH_EXX;
            struct w32ISA_ANDH_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ANDH_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ANDH_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ANDH_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ANDH_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ANDH_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_ANDH_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ANDH_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ANDH_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ANDH_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_ANDH_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ANDH_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ANDH_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ANDH_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ANDH_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ANDH_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ANDH_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ANDH_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ANDH_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ANDH_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ANDH_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ANDH_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ANDH_WB;
            struct w32ISA_ANDH_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ANDH;

    typedef union  T32ISA_ANDH_Mask
          { UNSG32 u32;
            struct w32ISA_ANDH_Mask;
                 } T32ISA_ANDH_Mask;
    typedef union  T32ISA_ANDH_Opcode
          { UNSG32 u32;
            struct w32ISA_ANDH_Opcode;
                 } T32ISA_ANDH_Opcode;
    typedef union  T32ISA_ANDH_ID
          { UNSG32 u32;
            struct w32ISA_ANDH_ID;
                 } T32ISA_ANDH_ID;
    typedef union  T32ISA_ANDH_LD
          { UNSG32 u32;
            struct w32ISA_ANDH_LD;
                 } T32ISA_ANDH_LD;
    typedef union  T32ISA_ANDH_EX
          { UNSG32 u32;
            struct w32ISA_ANDH_EX;
                 } T32ISA_ANDH_EX;
    typedef union  T32ISA_ANDH_EXX
          { UNSG32 u32;
            struct w32ISA_ANDH_EXX;
                 } T32ISA_ANDH_EXX;
    typedef union  T32ISA_ANDH_WB
          { UNSG32 u32;
            struct w32ISA_ANDH_WB;
                 } T32ISA_ANDH_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ANDH_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_Mask;
                   };
                 } TISA_ANDH_Mask;
    typedef union  TISA_ANDH_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_Opcode;
                   };
                 } TISA_ANDH_Opcode;
    typedef union  TISA_ANDH_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_ID;
                   };
                 } TISA_ANDH_ID;
    typedef union  TISA_ANDH_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_LD;
                   };
                 } TISA_ANDH_LD;
    typedef union  TISA_ANDH_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_EX;
                   };
                 } TISA_ANDH_EX;
    typedef union  TISA_ANDH_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_EXX;
                   };
                 } TISA_ANDH_EXX;
    typedef union  TISA_ANDH_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ANDH_WB;
                   };
                 } TISA_ANDH_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ANDH_drvrd(SIE_ISA_ANDH *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ANDH_drvwr(SIE_ISA_ANDH *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ANDH_reset(SIE_ISA_ANDH *p);
     SIGN32 ISA_ANDH_cmp  (SIE_ISA_ANDH *p, SIE_ISA_ANDH *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ANDH_check(p,pie,pfx,hLOG) ISA_ANDH_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ANDH_print(p,    pfx,hLOG) ISA_ANDH_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ANDH
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_AND                                  (4,4)
///     ###
///     * And 2 registers to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x150000
///                                    ###
///                                    * -                                                                 
///                                    * - { "AND"     , "rD,rS,rT"    , "0001 0101 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    AND      %d1, %a1, %b1   ; %d1 = %a1 & %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  0x1
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_AND
#define h_ISA_AND (){}

    #define     RA_ISA_AND_Mask                                0x0000

    #define     BA_ISA_AND_Mask_INS                            0x0000
    #define     B16ISA_AND_Mask_INS                            0x0000
    #define   LSb32ISA_AND_Mask_INS                               0
    #define   LSb16ISA_AND_Mask_INS                               0
    #define       bISA_AND_Mask_INS                            24
    #define   MSK32ISA_AND_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_Opcode                              0x0004

    #define     BA_ISA_AND_Opcode_INS                          0x0004
    #define     B16ISA_AND_Opcode_INS                          0x0004
    #define   LSb32ISA_AND_Opcode_INS                             0
    #define   LSb16ISA_AND_Opcode_INS                             0
    #define       bISA_AND_Opcode_INS                          24
    #define   MSK32ISA_AND_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_ID                                  0x0008

    #define     BA_ISA_AND_ID_RBRF                             0x0008
    #define     B16ISA_AND_ID_RBRF                             0x0008
    #define   LSb32ISA_AND_ID_RBRF                                0
    #define   LSb16ISA_AND_ID_RBRF                                0
    #define       bISA_AND_ID_RBRF                             1
    #define   MSK32ISA_AND_ID_RBRF                                0x00000001

    #define     BA_ISA_AND_ID_RARF                             0x0008
    #define     B16ISA_AND_ID_RARF                             0x0008
    #define   LSb32ISA_AND_ID_RARF                                1
    #define   LSb16ISA_AND_ID_RARF                                1
    #define       bISA_AND_ID_RARF                             1
    #define   MSK32ISA_AND_ID_RARF                                0x00000002

    #define     BA_ISA_AND_ID_RAK8                             0x0008
    #define     B16ISA_AND_ID_RAK8                             0x0008
    #define   LSb32ISA_AND_ID_RAK8                                2
    #define   LSb16ISA_AND_ID_RAK8                                2
    #define       bISA_AND_ID_RAK8                             1
    #define   MSK32ISA_AND_ID_RAK8                                0x00000004

    #define     BA_ISA_AND_ID_RAI16                            0x0008
    #define     B16ISA_AND_ID_RAI16                            0x0008
    #define   LSb32ISA_AND_ID_RAI16                               3
    #define   LSb16ISA_AND_ID_RAI16                               3
    #define       bISA_AND_ID_RAI16                            1
    #define   MSK32ISA_AND_ID_RAI16                               0x00000008

    #define     BA_ISA_AND_ID_RAK16                            0x0008
    #define     B16ISA_AND_ID_RAK16                            0x0008
    #define   LSb32ISA_AND_ID_RAK16                               4
    #define   LSb16ISA_AND_ID_RAK16                               4
    #define       bISA_AND_ID_RAK16                            1
    #define   MSK32ISA_AND_ID_RAK16                               0x00000010

    #define     BA_ISA_AND_ID_RFSP                             0x0008
    #define     B16ISA_AND_ID_RFSP                             0x0008
    #define   LSb32ISA_AND_ID_RFSP                                5
    #define   LSb16ISA_AND_ID_RFSP                                5
    #define       bISA_AND_ID_RFSP                             1
    #define   MSK32ISA_AND_ID_RFSP                                0x00000020

    #define     BA_ISA_AND_ID_W4D4                             0x0008
    #define     B16ISA_AND_ID_W4D4                             0x0008
    #define   LSb32ISA_AND_ID_W4D4                                6
    #define   LSb16ISA_AND_ID_W4D4                                6
    #define       bISA_AND_ID_W4D4                             1
    #define   MSK32ISA_AND_ID_W4D4                                0x00000040

    #define     BA_ISA_AND_ID_W4S4                             0x0008
    #define     B16ISA_AND_ID_W4S4                             0x0008
    #define   LSb32ISA_AND_ID_W4S4                                7
    #define   LSb16ISA_AND_ID_W4S4                                7
    #define       bISA_AND_ID_W4S4                             1
    #define   MSK32ISA_AND_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_LD                                  0x000C

    #define     BA_ISA_AND_LD_SPRF                             0x000C
    #define     B16ISA_AND_LD_SPRF                             0x000C
    #define   LSb32ISA_AND_LD_SPRF                                0
    #define   LSb16ISA_AND_LD_SPRF                                0
    #define       bISA_AND_LD_SPRF                             1
    #define   MSK32ISA_AND_LD_SPRF                                0x00000001

    #define     BA_ISA_AND_LD_SPK8                             0x000C
    #define     B16ISA_AND_LD_SPK8                             0x000C
    #define   LSb32ISA_AND_LD_SPK8                                1
    #define   LSb16ISA_AND_LD_SPK8                                1
    #define       bISA_AND_LD_SPK8                             1
    #define   MSK32ISA_AND_LD_SPK8                                0x00000002

    #define     BA_ISA_AND_LD_SPJ                              0x000C
    #define     B16ISA_AND_LD_SPJ                              0x000C
    #define   LSb32ISA_AND_LD_SPJ                                 2
    #define   LSb16ISA_AND_LD_SPJ                                 2
    #define       bISA_AND_LD_SPJ                              1
    #define   MSK32ISA_AND_LD_SPJ                                 0x00000004

    #define     BA_ISA_AND_LD_SP4S                             0x000C
    #define     B16ISA_AND_LD_SP4S                             0x000C
    #define   LSb32ISA_AND_LD_SP4S                                3
    #define   LSb16ISA_AND_LD_SP4S                                3
    #define       bISA_AND_LD_SP4S                             1
    #define   MSK32ISA_AND_LD_SP4S                                0x00000008

    #define     BA_ISA_AND_LD_SP8S                             0x000C
    #define     B16ISA_AND_LD_SP8S                             0x000C
    #define   LSb32ISA_AND_LD_SP8S                                4
    #define   LSb16ISA_AND_LD_SP8S                                4
    #define       bISA_AND_LD_SP8S                             1
    #define   MSK32ISA_AND_LD_SP8S                                0x00000010

    #define     BA_ISA_AND_LD_SP8U                             0x000C
    #define     B16ISA_AND_LD_SP8U                             0x000C
    #define   LSb32ISA_AND_LD_SP8U                                5
    #define   LSb16ISA_AND_LD_SP8U                                5
    #define       bISA_AND_LD_SP8U                             1
    #define   MSK32ISA_AND_LD_SP8U                                0x00000020

    #define     BA_ISA_AND_LD_SP12S                            0x000C
    #define     B16ISA_AND_LD_SP12S                            0x000C
    #define   LSb32ISA_AND_LD_SP12S                               6
    #define   LSb16ISA_AND_LD_SP12S                               6
    #define       bISA_AND_LD_SP12S                            1
    #define   MSK32ISA_AND_LD_SP12S                               0x00000040

    #define     BA_ISA_AND_LD_SP16                             0x000C
    #define     B16ISA_AND_LD_SP16                             0x000C
    #define   LSb32ISA_AND_LD_SP16                                7
    #define   LSb16ISA_AND_LD_SP16                                7
    #define       bISA_AND_LD_SP16                             1
    #define   MSK32ISA_AND_LD_SP16                                0x00000080

    #define     BA_ISA_AND_LD_TPRF                             0x000D
    #define     B16ISA_AND_LD_TPRF                             0x000C
    #define   LSb32ISA_AND_LD_TPRF                                8
    #define   LSb16ISA_AND_LD_TPRF                                8
    #define       bISA_AND_LD_TPRF                             1
    #define   MSK32ISA_AND_LD_TPRF                                0x00000100

    #define     BA_ISA_AND_LD_TPJ                              0x000D
    #define     B16ISA_AND_LD_TPJ                              0x000C
    #define   LSb32ISA_AND_LD_TPJ                                 9
    #define   LSb16ISA_AND_LD_TPJ                                 9
    #define       bISA_AND_LD_TPJ                              1
    #define   MSK32ISA_AND_LD_TPJ                                 0x00000200

    #define     BA_ISA_AND_LD_TP4S                             0x000D
    #define     B16ISA_AND_LD_TP4S                             0x000C
    #define   LSb32ISA_AND_LD_TP4S                                10
    #define   LSb16ISA_AND_LD_TP4S                                10
    #define       bISA_AND_LD_TP4S                             1
    #define   MSK32ISA_AND_LD_TP4S                                0x00000400

    #define     BA_ISA_AND_LD_TP8L                             0x000D
    #define     B16ISA_AND_LD_TP8L                             0x000C
    #define   LSb32ISA_AND_LD_TP8L                                11
    #define   LSb16ISA_AND_LD_TP8L                                11
    #define       bISA_AND_LD_TP8L                             1
    #define   MSK32ISA_AND_LD_TP8L                                0x00000800

    #define     BA_ISA_AND_LD_TP8H                             0x000D
    #define     B16ISA_AND_LD_TP8H                             0x000C
    #define   LSb32ISA_AND_LD_TP8H                                12
    #define   LSb16ISA_AND_LD_TP8H                                12
    #define       bISA_AND_LD_TP8H                             1
    #define   MSK32ISA_AND_LD_TP8H                                0x00001000

    #define     BA_ISA_AND_LD_TP8LF                            0x000D
    #define     B16ISA_AND_LD_TP8LF                            0x000C
    #define   LSb32ISA_AND_LD_TP8LF                               13
    #define   LSb16ISA_AND_LD_TP8LF                               13
    #define       bISA_AND_LD_TP8LF                            1
    #define   MSK32ISA_AND_LD_TP8LF                               0x00002000

    #define     BA_ISA_AND_LD_TP8HF                            0x000D
    #define     B16ISA_AND_LD_TP8HF                            0x000C
    #define   LSb32ISA_AND_LD_TP8HF                               14
    #define   LSb16ISA_AND_LD_TP8HF                               14
    #define       bISA_AND_LD_TP8HF                            1
    #define   MSK32ISA_AND_LD_TP8HF                               0x00004000

    #define     BA_ISA_AND_LD_SQRF64                           0x000D
    #define     B16ISA_AND_LD_SQRF64                           0x000C
    #define   LSb32ISA_AND_LD_SQRF64                              15
    #define   LSb16ISA_AND_LD_SQRF64                              15
    #define       bISA_AND_LD_SQRF64                           1
    #define   MSK32ISA_AND_LD_SQRF64                              0x00008000

    #define     BA_ISA_AND_LD_TQRF16Q                          0x000E
    #define     B16ISA_AND_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_AND_LD_TQRF16Q                             16
    #define   LSb16ISA_AND_LD_TQRF16Q                             0
    #define       bISA_AND_LD_TQRF16Q                          1
    #define   MSK32ISA_AND_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_AND_LD_TQRFx4                           0x000E
    #define     B16ISA_AND_LD_TQRFx4                           0x000E
    #define   LSb32ISA_AND_LD_TQRFx4                              17
    #define   LSb16ISA_AND_LD_TQRFx4                              1
    #define       bISA_AND_LD_TQRFx4                           1
    #define   MSK32ISA_AND_LD_TQRFx4                              0x00020000

    #define     BA_ISA_AND_LD_RD                               0x000E
    #define     B16ISA_AND_LD_RD                               0x000E
    #define   LSb32ISA_AND_LD_RD                                  18
    #define   LSb16ISA_AND_LD_RD                                  2
    #define       bISA_AND_LD_RD                               1
    #define   MSK32ISA_AND_LD_RD                                  0x00040000

    #define     BA_ISA_AND_LD_WARF                             0x000E
    #define     B16ISA_AND_LD_WARF                             0x000E
    #define   LSb32ISA_AND_LD_WARF                                19
    #define   LSb16ISA_AND_LD_WARF                                3
    #define       bISA_AND_LD_WARF                             1
    #define   MSK32ISA_AND_LD_WARF                                0x00080000

    #define     BA_ISA_AND_LD_WAK8                             0x000E
    #define     B16ISA_AND_LD_WAK8                             0x000E
    #define   LSb32ISA_AND_LD_WAK8                                20
    #define   LSb16ISA_AND_LD_WAK8                                4
    #define       bISA_AND_LD_WAK8                             1
    #define   MSK32ISA_AND_LD_WAK8                                0x00100000

    #define     BA_ISA_AND_LD_WAK16                            0x000E
    #define     B16ISA_AND_LD_WAK16                            0x000E
    #define   LSb32ISA_AND_LD_WAK16                               21
    #define   LSb16ISA_AND_LD_WAK16                               5
    #define       bISA_AND_LD_WAK16                            1
    #define   MSK32ISA_AND_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_EX                                  0x0010

    #define     BA_ISA_AND_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_AND_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagZ                          0
    #define   LSb16ISA_AND_EX_ALU16FlagZ                          0
    #define       bISA_AND_EX_ALU16FlagZ                       1
    #define   MSK32ISA_AND_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_AND_EX_ALU16FlagC                       0x0010
    #define     B16ISA_AND_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagC                          1
    #define   LSb16ISA_AND_EX_ALU16FlagC                          1
    #define       bISA_AND_EX_ALU16FlagC                       1
    #define   MSK32ISA_AND_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_AND_EX_ALU16FlagN                       0x0010
    #define     B16ISA_AND_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagN                          2
    #define   LSb16ISA_AND_EX_ALU16FlagN                          2
    #define       bISA_AND_EX_ALU16FlagN                       1
    #define   MSK32ISA_AND_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_AND_EX_ALU16FlagV                       0x0010
    #define     B16ISA_AND_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagV                          3
    #define   LSb16ISA_AND_EX_ALU16FlagV                          3
    #define       bISA_AND_EX_ALU16FlagV                       1
    #define   MSK32ISA_AND_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_AND_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_AND_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagTP                         4
    #define   LSb16ISA_AND_EX_ALU16FlagTP                         4
    #define       bISA_AND_EX_ALU16FlagTP                      1
    #define   MSK32ISA_AND_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_AND_EX_ALU16MUL                         0x0010
    #define     B16ISA_AND_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_AND_EX_ALU16MUL                            5
    #define   LSb16ISA_AND_EX_ALU16MUL                            5
    #define       bISA_AND_EX_ALU16MUL                         1
    #define   MSK32ISA_AND_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_AND_EX_ALU16DIV                         0x0010
    #define     B16ISA_AND_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_AND_EX_ALU16DIV                            6
    #define   LSb16ISA_AND_EX_ALU16DIV                            6
    #define       bISA_AND_EX_ALU16DIV                         1
    #define   MSK32ISA_AND_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_AND_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_AND_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_AND_EX_ALU16FlagLD                         7
    #define   LSb16ISA_AND_EX_ALU16FlagLD                         7
    #define       bISA_AND_EX_ALU16FlagLD                      1
    #define   MSK32ISA_AND_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_AND_EX_ALU16MDL                         0x0011
    #define     B16ISA_AND_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_AND_EX_ALU16MDL                            8
    #define   LSb16ISA_AND_EX_ALU16MDL                            8
    #define       bISA_AND_EX_ALU16MDL                         1
    #define   MSK32ISA_AND_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_AND_EX_ALU16MDH                         0x0011
    #define     B16ISA_AND_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_AND_EX_ALU16MDH                            9
    #define   LSb16ISA_AND_EX_ALU16MDH                            9
    #define       bISA_AND_EX_ALU16MDH                         1
    #define   MSK32ISA_AND_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_AND_EX_ALU16ADD                         0x0011
    #define     B16ISA_AND_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_AND_EX_ALU16ADD                            10
    #define   LSb16ISA_AND_EX_ALU16ADD                            10
    #define       bISA_AND_EX_ALU16ADD                         1
    #define   MSK32ISA_AND_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_AND_EX_ALU16SUB                         0x0011
    #define     B16ISA_AND_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_AND_EX_ALU16SUB                            11
    #define   LSb16ISA_AND_EX_ALU16SUB                            11
    #define       bISA_AND_EX_ALU16SUB                         1
    #define   MSK32ISA_AND_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_AND_EX_ALU16ADDC                        0x0011
    #define     B16ISA_AND_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_AND_EX_ALU16ADDC                           12
    #define   LSb16ISA_AND_EX_ALU16ADDC                           12
    #define       bISA_AND_EX_ALU16ADDC                        1
    #define   MSK32ISA_AND_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_AND_EX_ALU16SUBC                        0x0011
    #define     B16ISA_AND_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_AND_EX_ALU16SUBC                           13
    #define   LSb16ISA_AND_EX_ALU16SUBC                           13
    #define       bISA_AND_EX_ALU16SUBC                        1
    #define   MSK32ISA_AND_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_AND_EX_ALU16ASR                         0x0011
    #define     B16ISA_AND_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_AND_EX_ALU16ASR                            14
    #define   LSb16ISA_AND_EX_ALU16ASR                            14
    #define       bISA_AND_EX_ALU16ASR                         1
    #define   MSK32ISA_AND_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_AND_EX_ALU16SL                          0x0011
    #define     B16ISA_AND_EX_ALU16SL                          0x0010
    #define   LSb32ISA_AND_EX_ALU16SL                             15
    #define   LSb16ISA_AND_EX_ALU16SL                             15
    #define       bISA_AND_EX_ALU16SL                          1
    #define   MSK32ISA_AND_EX_ALU16SL                             0x00008000

    #define     BA_ISA_AND_EX_ALU16SR                          0x0012
    #define     B16ISA_AND_EX_ALU16SR                          0x0012
    #define   LSb32ISA_AND_EX_ALU16SR                             16
    #define   LSb16ISA_AND_EX_ALU16SR                             0
    #define       bISA_AND_EX_ALU16SR                          1
    #define   MSK32ISA_AND_EX_ALU16SR                             0x00010000

    #define     BA_ISA_AND_EX_ALU16GET                         0x0012
    #define     B16ISA_AND_EX_ALU16GET                         0x0012
    #define   LSb32ISA_AND_EX_ALU16GET                            17
    #define   LSb16ISA_AND_EX_ALU16GET                            1
    #define       bISA_AND_EX_ALU16GET                         1
    #define   MSK32ISA_AND_EX_ALU16GET                            0x00020000

    #define     BA_ISA_AND_EX_ALU16SET                         0x0012
    #define     B16ISA_AND_EX_ALU16SET                         0x0012
    #define   LSb32ISA_AND_EX_ALU16SET                            18
    #define   LSb16ISA_AND_EX_ALU16SET                            2
    #define       bISA_AND_EX_ALU16SET                         1
    #define   MSK32ISA_AND_EX_ALU16SET                            0x00040000

    #define     BA_ISA_AND_EX_ALU16SEL                         0x0012
    #define     B16ISA_AND_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_AND_EX_ALU16SEL                            19
    #define   LSb16ISA_AND_EX_ALU16SEL                            3
    #define       bISA_AND_EX_ALU16SEL                         1
    #define   MSK32ISA_AND_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_AND_EX_ALU16OR                          0x0012
    #define     B16ISA_AND_EX_ALU16OR                          0x0012
    #define   LSb32ISA_AND_EX_ALU16OR                             20
    #define   LSb16ISA_AND_EX_ALU16OR                             4
    #define       bISA_AND_EX_ALU16OR                          1
    #define   MSK32ISA_AND_EX_ALU16OR                             0x00100000

    #define     BA_ISA_AND_EX_ALU16AND                         0x0012
    #define     B16ISA_AND_EX_ALU16AND                         0x0012
    #define   LSb32ISA_AND_EX_ALU16AND                            21
    #define   LSb16ISA_AND_EX_ALU16AND                            5
    #define       bISA_AND_EX_ALU16AND                         1
    #define   MSK32ISA_AND_EX_ALU16AND                            0x00200000

    #define     BA_ISA_AND_EX_ALU16XOR                         0x0012
    #define     B16ISA_AND_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_AND_EX_ALU16XOR                            22
    #define   LSb16ISA_AND_EX_ALU16XOR                            6
    #define       bISA_AND_EX_ALU16XOR                         1
    #define   MSK32ISA_AND_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_AND_EX_ALU16SP                          0x0012
    #define     B16ISA_AND_EX_ALU16SP                          0x0012
    #define   LSb32ISA_AND_EX_ALU16SP                             23
    #define   LSb16ISA_AND_EX_ALU16SP                             7
    #define       bISA_AND_EX_ALU16SP                          1
    #define   MSK32ISA_AND_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_EXX                                 0x0014

    #define     BA_ISA_AND_EXX_WRSQ                            0x0014
    #define     B16ISA_AND_EXX_WRSQ                            0x0014
    #define   LSb32ISA_AND_EXX_WRSQ                               0
    #define   LSb16ISA_AND_EXX_WRSQ                               0
    #define       bISA_AND_EXX_WRSQ                            1
    #define   MSK32ISA_AND_EXX_WRSQ                               0x00000001

    #define     BA_ISA_AND_EXX_WR16                            0x0014
    #define     B16ISA_AND_EXX_WR16                            0x0014
    #define   LSb32ISA_AND_EXX_WR16                               1
    #define   LSb16ISA_AND_EXX_WR16                               1
    #define       bISA_AND_EXX_WR16                            1
    #define   MSK32ISA_AND_EXX_WR16                               0x00000002

    #define     BA_ISA_AND_EXX_WRTQ                            0x0014
    #define     B16ISA_AND_EXX_WRTQ                            0x0014
    #define   LSb32ISA_AND_EXX_WRTQ                               2
    #define   LSb16ISA_AND_EXX_WRTQ                               2
    #define       bISA_AND_EXX_WRTQ                            1
    #define   MSK32ISA_AND_EXX_WRTQ                               0x00000004

    #define     BA_ISA_AND_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_AND_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_AND_EXX_ALU64PUSH                          3
    #define   LSb16ISA_AND_EXX_ALU64PUSH                          3
    #define       bISA_AND_EXX_ALU64PUSH                       1
    #define   MSK32ISA_AND_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_AND_EXX_ALU64POP                        0x0014
    #define     B16ISA_AND_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_AND_EXX_ALU64POP                           4
    #define   LSb16ISA_AND_EXX_ALU64POP                           4
    #define       bISA_AND_EXX_ALU64POP                        1
    #define   MSK32ISA_AND_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_AND_EXX_ALU64SQ                         0x0014
    #define     B16ISA_AND_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_AND_EXX_ALU64SQ                            5
    #define   LSb16ISA_AND_EXX_ALU64SQ                            5
    #define       bISA_AND_EXX_ALU64SQ                         1
    #define   MSK32ISA_AND_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_AND_EXX_ALU64TQ                         0x0014
    #define     B16ISA_AND_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_AND_EXX_ALU64TQ                            6
    #define   LSb16ISA_AND_EXX_ALU64TQ                            6
    #define       bISA_AND_EXX_ALU64TQ                         1
    #define   MSK32ISA_AND_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_AND_EXX_ALU64MEM                        0x0014
    #define     B16ISA_AND_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_AND_EXX_ALU64MEM                           7
    #define   LSb16ISA_AND_EXX_ALU64MEM                           7
    #define       bISA_AND_EXX_ALU64MEM                        1
    #define   MSK32ISA_AND_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_AND_EXX_BRANCH                          0x0015
    #define     B16ISA_AND_EXX_BRANCH                          0x0014
    #define   LSb32ISA_AND_EXX_BRANCH                             8
    #define   LSb16ISA_AND_EXX_BRANCH                             8
    #define       bISA_AND_EXX_BRANCH                          1
    #define   MSK32ISA_AND_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_AND_WB                                  0x0018

    #define     BA_ISA_AND_WB_RF16                             0x0018
    #define     B16ISA_AND_WB_RF16                             0x0018
    #define   LSb32ISA_AND_WB_RF16                                0
    #define   LSb16ISA_AND_WB_RF16                                0
    #define       bISA_AND_WB_RF16                             1
    #define   MSK32ISA_AND_WB_RF16                                0x00000001

    #define     BA_ISA_AND_WB_RF16W0                           0x0018
    #define     B16ISA_AND_WB_RF16W0                           0x0018
    #define   LSb32ISA_AND_WB_RF16W0                              1
    #define   LSb16ISA_AND_WB_RF16W0                              1
    #define       bISA_AND_WB_RF16W0                           1
    #define   MSK32ISA_AND_WB_RF16W0                              0x00000002

    #define     BA_ISA_AND_WB_RF16MEM                          0x0018
    #define     B16ISA_AND_WB_RF16MEM                          0x0018
    #define   LSb32ISA_AND_WB_RF16MEM                             2
    #define   LSb16ISA_AND_WB_RF16MEM                             2
    #define       bISA_AND_WB_RF16MEM                          1
    #define   MSK32ISA_AND_WB_RF16MEM                             0x00000004

    #define     BA_ISA_AND_WB_RF16Q                            0x0018
    #define     B16ISA_AND_WB_RF16Q                            0x0018
    #define   LSb32ISA_AND_WB_RF16Q                               3
    #define   LSb16ISA_AND_WB_RF16Q                               3
    #define       bISA_AND_WB_RF16Q                            1
    #define   MSK32ISA_AND_WB_RF16Q                               0x00000008

    #define     BA_ISA_AND_WB_RF64                             0x0018
    #define     B16ISA_AND_WB_RF64                             0x0018
    #define   LSb32ISA_AND_WB_RF64                                4
    #define   LSb16ISA_AND_WB_RF64                                4
    #define       bISA_AND_WB_RF64                             1
    #define   MSK32ISA_AND_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_AND {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_AND_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_AND_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_AND_Mask;
            struct w32ISA_AND_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_AND_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_AND_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_AND_Opcode;
            struct w32ISA_AND_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_AND_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_AND_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_AND_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_AND_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_AND_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_AND_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_AND_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_AND_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_AND_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_AND_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_AND_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_AND_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_AND_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_AND_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_AND_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_AND_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_AND_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_AND_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_AND_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_AND_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_AND_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_AND_ID;
            struct w32ISA_AND_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_AND_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_AND_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_AND_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_AND_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_AND_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_AND_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_AND_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_AND_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_AND_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_AND_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_AND_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_AND_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_AND_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_AND_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_AND_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_AND_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_AND_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_AND_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_AND_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_AND_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_AND_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_AND_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_AND_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_AND_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_AND_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_AND_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_AND_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_AND_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_AND_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_AND_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_AND_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_AND_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_AND_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_AND_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_AND_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_AND_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_AND_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_AND_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_AND_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_AND_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_AND_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_AND_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_AND_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_AND_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_AND_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_AND_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_AND_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_AND_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_AND_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_AND_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_AND_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_AND_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_AND_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_AND_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_AND_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_AND_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_AND_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_AND_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_AND_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_AND_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_AND_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_AND_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_AND_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_AND_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_AND_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_AND_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_AND_LD;
            struct w32ISA_AND_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_AND_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_AND_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_AND_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_AND_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_AND_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_AND_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_AND_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_AND_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_AND_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_AND_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_AND_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_AND_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_AND_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_AND_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_AND_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_AND_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_AND_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_AND_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_AND_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_AND_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_AND_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_AND_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_AND_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_AND_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_AND_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_AND_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_AND_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_AND_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_AND_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_AND_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_AND_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_AND_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_AND_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_AND_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_AND_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_AND_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_AND_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_AND_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_AND_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_AND_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_AND_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_AND_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_AND_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_AND_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_AND_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_AND_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_AND_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_AND_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_AND_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_AND_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_AND_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_AND_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_AND_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_AND_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_AND_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_AND_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_AND_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_AND_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_AND_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_AND_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_AND_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_AND_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_AND_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_AND_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_AND_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_AND_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_AND_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_AND_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_AND_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_AND_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_AND_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_AND_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_AND_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_AND_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_AND_EX;
            struct w32ISA_AND_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_AND_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_AND_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_AND_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_AND_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_AND_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_AND_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_AND_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_AND_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_AND_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_AND_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_AND_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_AND_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_AND_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_AND_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_AND_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_AND_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_AND_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_AND_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_AND_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_AND_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_AND_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_AND_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_AND_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_AND_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_AND_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_AND_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_AND_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_AND_EXX;
            struct w32ISA_AND_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_AND_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_AND_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_AND_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_AND_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_AND_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_AND_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_AND_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_AND_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_AND_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_AND_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_AND_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_AND_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_AND_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_AND_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_AND_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_AND_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_AND_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_AND_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_AND_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_AND_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_AND_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_AND_WB;
            struct w32ISA_AND_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_AND;

    typedef union  T32ISA_AND_Mask
          { UNSG32 u32;
            struct w32ISA_AND_Mask;
                 } T32ISA_AND_Mask;
    typedef union  T32ISA_AND_Opcode
          { UNSG32 u32;
            struct w32ISA_AND_Opcode;
                 } T32ISA_AND_Opcode;
    typedef union  T32ISA_AND_ID
          { UNSG32 u32;
            struct w32ISA_AND_ID;
                 } T32ISA_AND_ID;
    typedef union  T32ISA_AND_LD
          { UNSG32 u32;
            struct w32ISA_AND_LD;
                 } T32ISA_AND_LD;
    typedef union  T32ISA_AND_EX
          { UNSG32 u32;
            struct w32ISA_AND_EX;
                 } T32ISA_AND_EX;
    typedef union  T32ISA_AND_EXX
          { UNSG32 u32;
            struct w32ISA_AND_EXX;
                 } T32ISA_AND_EXX;
    typedef union  T32ISA_AND_WB
          { UNSG32 u32;
            struct w32ISA_AND_WB;
                 } T32ISA_AND_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_AND_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_Mask;
                   };
                 } TISA_AND_Mask;
    typedef union  TISA_AND_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_Opcode;
                   };
                 } TISA_AND_Opcode;
    typedef union  TISA_AND_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_ID;
                   };
                 } TISA_AND_ID;
    typedef union  TISA_AND_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_LD;
                   };
                 } TISA_AND_LD;
    typedef union  TISA_AND_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_EX;
                   };
                 } TISA_AND_EX;
    typedef union  TISA_AND_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_EXX;
                   };
                 } TISA_AND_EXX;
    typedef union  TISA_AND_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_AND_WB;
                   };
                 } TISA_AND_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_AND_drvrd(SIE_ISA_AND *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_AND_drvwr(SIE_ISA_AND *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_AND_reset(SIE_ISA_AND *p);
     SIGN32 ISA_AND_cmp  (SIE_ISA_AND *p, SIE_ISA_AND *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_AND_check(p,pie,pfx,hLOG) ISA_AND_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_AND_print(p,    pfx,hLOG) ISA_AND_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_AND
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XORL                                 (4,4)
///     ###
///     * Xor a register low 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2C0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "XORL"    , "rD,rS,C"     , "0010 1100 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    XORL     %d1, %a1, 0x01 ; %d1 = %a1 ^ 0x0001;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  0x1
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XORL
#define h_ISA_XORL (){}

    #define     RA_ISA_XORL_Mask                               0x0000

    #define     BA_ISA_XORL_Mask_INS                           0x0000
    #define     B16ISA_XORL_Mask_INS                           0x0000
    #define   LSb32ISA_XORL_Mask_INS                              0
    #define   LSb16ISA_XORL_Mask_INS                              0
    #define       bISA_XORL_Mask_INS                           24
    #define   MSK32ISA_XORL_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_Opcode                             0x0004

    #define     BA_ISA_XORL_Opcode_INS                         0x0004
    #define     B16ISA_XORL_Opcode_INS                         0x0004
    #define   LSb32ISA_XORL_Opcode_INS                            0
    #define   LSb16ISA_XORL_Opcode_INS                            0
    #define       bISA_XORL_Opcode_INS                         24
    #define   MSK32ISA_XORL_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_ID                                 0x0008

    #define     BA_ISA_XORL_ID_RBRF                            0x0008
    #define     B16ISA_XORL_ID_RBRF                            0x0008
    #define   LSb32ISA_XORL_ID_RBRF                               0
    #define   LSb16ISA_XORL_ID_RBRF                               0
    #define       bISA_XORL_ID_RBRF                            1
    #define   MSK32ISA_XORL_ID_RBRF                               0x00000001

    #define     BA_ISA_XORL_ID_RARF                            0x0008
    #define     B16ISA_XORL_ID_RARF                            0x0008
    #define   LSb32ISA_XORL_ID_RARF                               1
    #define   LSb16ISA_XORL_ID_RARF                               1
    #define       bISA_XORL_ID_RARF                            1
    #define   MSK32ISA_XORL_ID_RARF                               0x00000002

    #define     BA_ISA_XORL_ID_RAK8                            0x0008
    #define     B16ISA_XORL_ID_RAK8                            0x0008
    #define   LSb32ISA_XORL_ID_RAK8                               2
    #define   LSb16ISA_XORL_ID_RAK8                               2
    #define       bISA_XORL_ID_RAK8                            1
    #define   MSK32ISA_XORL_ID_RAK8                               0x00000004

    #define     BA_ISA_XORL_ID_RAI16                           0x0008
    #define     B16ISA_XORL_ID_RAI16                           0x0008
    #define   LSb32ISA_XORL_ID_RAI16                              3
    #define   LSb16ISA_XORL_ID_RAI16                              3
    #define       bISA_XORL_ID_RAI16                           1
    #define   MSK32ISA_XORL_ID_RAI16                              0x00000008

    #define     BA_ISA_XORL_ID_RAK16                           0x0008
    #define     B16ISA_XORL_ID_RAK16                           0x0008
    #define   LSb32ISA_XORL_ID_RAK16                              4
    #define   LSb16ISA_XORL_ID_RAK16                              4
    #define       bISA_XORL_ID_RAK16                           1
    #define   MSK32ISA_XORL_ID_RAK16                              0x00000010

    #define     BA_ISA_XORL_ID_RFSP                            0x0008
    #define     B16ISA_XORL_ID_RFSP                            0x0008
    #define   LSb32ISA_XORL_ID_RFSP                               5
    #define   LSb16ISA_XORL_ID_RFSP                               5
    #define       bISA_XORL_ID_RFSP                            1
    #define   MSK32ISA_XORL_ID_RFSP                               0x00000020

    #define     BA_ISA_XORL_ID_W4D4                            0x0008
    #define     B16ISA_XORL_ID_W4D4                            0x0008
    #define   LSb32ISA_XORL_ID_W4D4                               6
    #define   LSb16ISA_XORL_ID_W4D4                               6
    #define       bISA_XORL_ID_W4D4                            1
    #define   MSK32ISA_XORL_ID_W4D4                               0x00000040

    #define     BA_ISA_XORL_ID_W4S4                            0x0008
    #define     B16ISA_XORL_ID_W4S4                            0x0008
    #define   LSb32ISA_XORL_ID_W4S4                               7
    #define   LSb16ISA_XORL_ID_W4S4                               7
    #define       bISA_XORL_ID_W4S4                            1
    #define   MSK32ISA_XORL_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_LD                                 0x000C

    #define     BA_ISA_XORL_LD_SPRF                            0x000C
    #define     B16ISA_XORL_LD_SPRF                            0x000C
    #define   LSb32ISA_XORL_LD_SPRF                               0
    #define   LSb16ISA_XORL_LD_SPRF                               0
    #define       bISA_XORL_LD_SPRF                            1
    #define   MSK32ISA_XORL_LD_SPRF                               0x00000001

    #define     BA_ISA_XORL_LD_SPK8                            0x000C
    #define     B16ISA_XORL_LD_SPK8                            0x000C
    #define   LSb32ISA_XORL_LD_SPK8                               1
    #define   LSb16ISA_XORL_LD_SPK8                               1
    #define       bISA_XORL_LD_SPK8                            1
    #define   MSK32ISA_XORL_LD_SPK8                               0x00000002

    #define     BA_ISA_XORL_LD_SPJ                             0x000C
    #define     B16ISA_XORL_LD_SPJ                             0x000C
    #define   LSb32ISA_XORL_LD_SPJ                                2
    #define   LSb16ISA_XORL_LD_SPJ                                2
    #define       bISA_XORL_LD_SPJ                             1
    #define   MSK32ISA_XORL_LD_SPJ                                0x00000004

    #define     BA_ISA_XORL_LD_SP4S                            0x000C
    #define     B16ISA_XORL_LD_SP4S                            0x000C
    #define   LSb32ISA_XORL_LD_SP4S                               3
    #define   LSb16ISA_XORL_LD_SP4S                               3
    #define       bISA_XORL_LD_SP4S                            1
    #define   MSK32ISA_XORL_LD_SP4S                               0x00000008

    #define     BA_ISA_XORL_LD_SP8S                            0x000C
    #define     B16ISA_XORL_LD_SP8S                            0x000C
    #define   LSb32ISA_XORL_LD_SP8S                               4
    #define   LSb16ISA_XORL_LD_SP8S                               4
    #define       bISA_XORL_LD_SP8S                            1
    #define   MSK32ISA_XORL_LD_SP8S                               0x00000010

    #define     BA_ISA_XORL_LD_SP8U                            0x000C
    #define     B16ISA_XORL_LD_SP8U                            0x000C
    #define   LSb32ISA_XORL_LD_SP8U                               5
    #define   LSb16ISA_XORL_LD_SP8U                               5
    #define       bISA_XORL_LD_SP8U                            1
    #define   MSK32ISA_XORL_LD_SP8U                               0x00000020

    #define     BA_ISA_XORL_LD_SP12S                           0x000C
    #define     B16ISA_XORL_LD_SP12S                           0x000C
    #define   LSb32ISA_XORL_LD_SP12S                              6
    #define   LSb16ISA_XORL_LD_SP12S                              6
    #define       bISA_XORL_LD_SP12S                           1
    #define   MSK32ISA_XORL_LD_SP12S                              0x00000040

    #define     BA_ISA_XORL_LD_SP16                            0x000C
    #define     B16ISA_XORL_LD_SP16                            0x000C
    #define   LSb32ISA_XORL_LD_SP16                               7
    #define   LSb16ISA_XORL_LD_SP16                               7
    #define       bISA_XORL_LD_SP16                            1
    #define   MSK32ISA_XORL_LD_SP16                               0x00000080

    #define     BA_ISA_XORL_LD_TPRF                            0x000D
    #define     B16ISA_XORL_LD_TPRF                            0x000C
    #define   LSb32ISA_XORL_LD_TPRF                               8
    #define   LSb16ISA_XORL_LD_TPRF                               8
    #define       bISA_XORL_LD_TPRF                            1
    #define   MSK32ISA_XORL_LD_TPRF                               0x00000100

    #define     BA_ISA_XORL_LD_TPJ                             0x000D
    #define     B16ISA_XORL_LD_TPJ                             0x000C
    #define   LSb32ISA_XORL_LD_TPJ                                9
    #define   LSb16ISA_XORL_LD_TPJ                                9
    #define       bISA_XORL_LD_TPJ                             1
    #define   MSK32ISA_XORL_LD_TPJ                                0x00000200

    #define     BA_ISA_XORL_LD_TP4S                            0x000D
    #define     B16ISA_XORL_LD_TP4S                            0x000C
    #define   LSb32ISA_XORL_LD_TP4S                               10
    #define   LSb16ISA_XORL_LD_TP4S                               10
    #define       bISA_XORL_LD_TP4S                            1
    #define   MSK32ISA_XORL_LD_TP4S                               0x00000400

    #define     BA_ISA_XORL_LD_TP8L                            0x000D
    #define     B16ISA_XORL_LD_TP8L                            0x000C
    #define   LSb32ISA_XORL_LD_TP8L                               11
    #define   LSb16ISA_XORL_LD_TP8L                               11
    #define       bISA_XORL_LD_TP8L                            1
    #define   MSK32ISA_XORL_LD_TP8L                               0x00000800

    #define     BA_ISA_XORL_LD_TP8H                            0x000D
    #define     B16ISA_XORL_LD_TP8H                            0x000C
    #define   LSb32ISA_XORL_LD_TP8H                               12
    #define   LSb16ISA_XORL_LD_TP8H                               12
    #define       bISA_XORL_LD_TP8H                            1
    #define   MSK32ISA_XORL_LD_TP8H                               0x00001000

    #define     BA_ISA_XORL_LD_TP8LF                           0x000D
    #define     B16ISA_XORL_LD_TP8LF                           0x000C
    #define   LSb32ISA_XORL_LD_TP8LF                              13
    #define   LSb16ISA_XORL_LD_TP8LF                              13
    #define       bISA_XORL_LD_TP8LF                           1
    #define   MSK32ISA_XORL_LD_TP8LF                              0x00002000

    #define     BA_ISA_XORL_LD_TP8HF                           0x000D
    #define     B16ISA_XORL_LD_TP8HF                           0x000C
    #define   LSb32ISA_XORL_LD_TP8HF                              14
    #define   LSb16ISA_XORL_LD_TP8HF                              14
    #define       bISA_XORL_LD_TP8HF                           1
    #define   MSK32ISA_XORL_LD_TP8HF                              0x00004000

    #define     BA_ISA_XORL_LD_SQRF64                          0x000D
    #define     B16ISA_XORL_LD_SQRF64                          0x000C
    #define   LSb32ISA_XORL_LD_SQRF64                             15
    #define   LSb16ISA_XORL_LD_SQRF64                             15
    #define       bISA_XORL_LD_SQRF64                          1
    #define   MSK32ISA_XORL_LD_SQRF64                             0x00008000

    #define     BA_ISA_XORL_LD_TQRF16Q                         0x000E
    #define     B16ISA_XORL_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_XORL_LD_TQRF16Q                            16
    #define   LSb16ISA_XORL_LD_TQRF16Q                            0
    #define       bISA_XORL_LD_TQRF16Q                         1
    #define   MSK32ISA_XORL_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_XORL_LD_TQRFx4                          0x000E
    #define     B16ISA_XORL_LD_TQRFx4                          0x000E
    #define   LSb32ISA_XORL_LD_TQRFx4                             17
    #define   LSb16ISA_XORL_LD_TQRFx4                             1
    #define       bISA_XORL_LD_TQRFx4                          1
    #define   MSK32ISA_XORL_LD_TQRFx4                             0x00020000

    #define     BA_ISA_XORL_LD_RD                              0x000E
    #define     B16ISA_XORL_LD_RD                              0x000E
    #define   LSb32ISA_XORL_LD_RD                                 18
    #define   LSb16ISA_XORL_LD_RD                                 2
    #define       bISA_XORL_LD_RD                              1
    #define   MSK32ISA_XORL_LD_RD                                 0x00040000

    #define     BA_ISA_XORL_LD_WARF                            0x000E
    #define     B16ISA_XORL_LD_WARF                            0x000E
    #define   LSb32ISA_XORL_LD_WARF                               19
    #define   LSb16ISA_XORL_LD_WARF                               3
    #define       bISA_XORL_LD_WARF                            1
    #define   MSK32ISA_XORL_LD_WARF                               0x00080000

    #define     BA_ISA_XORL_LD_WAK8                            0x000E
    #define     B16ISA_XORL_LD_WAK8                            0x000E
    #define   LSb32ISA_XORL_LD_WAK8                               20
    #define   LSb16ISA_XORL_LD_WAK8                               4
    #define       bISA_XORL_LD_WAK8                            1
    #define   MSK32ISA_XORL_LD_WAK8                               0x00100000

    #define     BA_ISA_XORL_LD_WAK16                           0x000E
    #define     B16ISA_XORL_LD_WAK16                           0x000E
    #define   LSb32ISA_XORL_LD_WAK16                              21
    #define   LSb16ISA_XORL_LD_WAK16                              5
    #define       bISA_XORL_LD_WAK16                           1
    #define   MSK32ISA_XORL_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_EX                                 0x0010

    #define     BA_ISA_XORL_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_XORL_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagZ                         0
    #define   LSb16ISA_XORL_EX_ALU16FlagZ                         0
    #define       bISA_XORL_EX_ALU16FlagZ                      1
    #define   MSK32ISA_XORL_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_XORL_EX_ALU16FlagC                      0x0010
    #define     B16ISA_XORL_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagC                         1
    #define   LSb16ISA_XORL_EX_ALU16FlagC                         1
    #define       bISA_XORL_EX_ALU16FlagC                      1
    #define   MSK32ISA_XORL_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_XORL_EX_ALU16FlagN                      0x0010
    #define     B16ISA_XORL_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagN                         2
    #define   LSb16ISA_XORL_EX_ALU16FlagN                         2
    #define       bISA_XORL_EX_ALU16FlagN                      1
    #define   MSK32ISA_XORL_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_XORL_EX_ALU16FlagV                      0x0010
    #define     B16ISA_XORL_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagV                         3
    #define   LSb16ISA_XORL_EX_ALU16FlagV                         3
    #define       bISA_XORL_EX_ALU16FlagV                      1
    #define   MSK32ISA_XORL_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_XORL_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_XORL_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagTP                        4
    #define   LSb16ISA_XORL_EX_ALU16FlagTP                        4
    #define       bISA_XORL_EX_ALU16FlagTP                     1
    #define   MSK32ISA_XORL_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_XORL_EX_ALU16MUL                        0x0010
    #define     B16ISA_XORL_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16MUL                           5
    #define   LSb16ISA_XORL_EX_ALU16MUL                           5
    #define       bISA_XORL_EX_ALU16MUL                        1
    #define   MSK32ISA_XORL_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_XORL_EX_ALU16DIV                        0x0010
    #define     B16ISA_XORL_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16DIV                           6
    #define   LSb16ISA_XORL_EX_ALU16DIV                           6
    #define       bISA_XORL_EX_ALU16DIV                        1
    #define   MSK32ISA_XORL_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_XORL_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_XORL_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_XORL_EX_ALU16FlagLD                        7
    #define   LSb16ISA_XORL_EX_ALU16FlagLD                        7
    #define       bISA_XORL_EX_ALU16FlagLD                     1
    #define   MSK32ISA_XORL_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_XORL_EX_ALU16MDL                        0x0011
    #define     B16ISA_XORL_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16MDL                           8
    #define   LSb16ISA_XORL_EX_ALU16MDL                           8
    #define       bISA_XORL_EX_ALU16MDL                        1
    #define   MSK32ISA_XORL_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_XORL_EX_ALU16MDH                        0x0011
    #define     B16ISA_XORL_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16MDH                           9
    #define   LSb16ISA_XORL_EX_ALU16MDH                           9
    #define       bISA_XORL_EX_ALU16MDH                        1
    #define   MSK32ISA_XORL_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_XORL_EX_ALU16ADD                        0x0011
    #define     B16ISA_XORL_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16ADD                           10
    #define   LSb16ISA_XORL_EX_ALU16ADD                           10
    #define       bISA_XORL_EX_ALU16ADD                        1
    #define   MSK32ISA_XORL_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_XORL_EX_ALU16SUB                        0x0011
    #define     B16ISA_XORL_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16SUB                           11
    #define   LSb16ISA_XORL_EX_ALU16SUB                           11
    #define       bISA_XORL_EX_ALU16SUB                        1
    #define   MSK32ISA_XORL_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_XORL_EX_ALU16ADDC                       0x0011
    #define     B16ISA_XORL_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_XORL_EX_ALU16ADDC                          12
    #define   LSb16ISA_XORL_EX_ALU16ADDC                          12
    #define       bISA_XORL_EX_ALU16ADDC                       1
    #define   MSK32ISA_XORL_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_XORL_EX_ALU16SUBC                       0x0011
    #define     B16ISA_XORL_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_XORL_EX_ALU16SUBC                          13
    #define   LSb16ISA_XORL_EX_ALU16SUBC                          13
    #define       bISA_XORL_EX_ALU16SUBC                       1
    #define   MSK32ISA_XORL_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_XORL_EX_ALU16ASR                        0x0011
    #define     B16ISA_XORL_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_XORL_EX_ALU16ASR                           14
    #define   LSb16ISA_XORL_EX_ALU16ASR                           14
    #define       bISA_XORL_EX_ALU16ASR                        1
    #define   MSK32ISA_XORL_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_XORL_EX_ALU16SL                         0x0011
    #define     B16ISA_XORL_EX_ALU16SL                         0x0010
    #define   LSb32ISA_XORL_EX_ALU16SL                            15
    #define   LSb16ISA_XORL_EX_ALU16SL                            15
    #define       bISA_XORL_EX_ALU16SL                         1
    #define   MSK32ISA_XORL_EX_ALU16SL                            0x00008000

    #define     BA_ISA_XORL_EX_ALU16SR                         0x0012
    #define     B16ISA_XORL_EX_ALU16SR                         0x0012
    #define   LSb32ISA_XORL_EX_ALU16SR                            16
    #define   LSb16ISA_XORL_EX_ALU16SR                            0
    #define       bISA_XORL_EX_ALU16SR                         1
    #define   MSK32ISA_XORL_EX_ALU16SR                            0x00010000

    #define     BA_ISA_XORL_EX_ALU16GET                        0x0012
    #define     B16ISA_XORL_EX_ALU16GET                        0x0012
    #define   LSb32ISA_XORL_EX_ALU16GET                           17
    #define   LSb16ISA_XORL_EX_ALU16GET                           1
    #define       bISA_XORL_EX_ALU16GET                        1
    #define   MSK32ISA_XORL_EX_ALU16GET                           0x00020000

    #define     BA_ISA_XORL_EX_ALU16SET                        0x0012
    #define     B16ISA_XORL_EX_ALU16SET                        0x0012
    #define   LSb32ISA_XORL_EX_ALU16SET                           18
    #define   LSb16ISA_XORL_EX_ALU16SET                           2
    #define       bISA_XORL_EX_ALU16SET                        1
    #define   MSK32ISA_XORL_EX_ALU16SET                           0x00040000

    #define     BA_ISA_XORL_EX_ALU16SEL                        0x0012
    #define     B16ISA_XORL_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_XORL_EX_ALU16SEL                           19
    #define   LSb16ISA_XORL_EX_ALU16SEL                           3
    #define       bISA_XORL_EX_ALU16SEL                        1
    #define   MSK32ISA_XORL_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_XORL_EX_ALU16OR                         0x0012
    #define     B16ISA_XORL_EX_ALU16OR                         0x0012
    #define   LSb32ISA_XORL_EX_ALU16OR                            20
    #define   LSb16ISA_XORL_EX_ALU16OR                            4
    #define       bISA_XORL_EX_ALU16OR                         1
    #define   MSK32ISA_XORL_EX_ALU16OR                            0x00100000

    #define     BA_ISA_XORL_EX_ALU16AND                        0x0012
    #define     B16ISA_XORL_EX_ALU16AND                        0x0012
    #define   LSb32ISA_XORL_EX_ALU16AND                           21
    #define   LSb16ISA_XORL_EX_ALU16AND                           5
    #define       bISA_XORL_EX_ALU16AND                        1
    #define   MSK32ISA_XORL_EX_ALU16AND                           0x00200000

    #define     BA_ISA_XORL_EX_ALU16XOR                        0x0012
    #define     B16ISA_XORL_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_XORL_EX_ALU16XOR                           22
    #define   LSb16ISA_XORL_EX_ALU16XOR                           6
    #define       bISA_XORL_EX_ALU16XOR                        1
    #define   MSK32ISA_XORL_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_XORL_EX_ALU16SP                         0x0012
    #define     B16ISA_XORL_EX_ALU16SP                         0x0012
    #define   LSb32ISA_XORL_EX_ALU16SP                            23
    #define   LSb16ISA_XORL_EX_ALU16SP                            7
    #define       bISA_XORL_EX_ALU16SP                         1
    #define   MSK32ISA_XORL_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_EXX                                0x0014

    #define     BA_ISA_XORL_EXX_WRSQ                           0x0014
    #define     B16ISA_XORL_EXX_WRSQ                           0x0014
    #define   LSb32ISA_XORL_EXX_WRSQ                              0
    #define   LSb16ISA_XORL_EXX_WRSQ                              0
    #define       bISA_XORL_EXX_WRSQ                           1
    #define   MSK32ISA_XORL_EXX_WRSQ                              0x00000001

    #define     BA_ISA_XORL_EXX_WR16                           0x0014
    #define     B16ISA_XORL_EXX_WR16                           0x0014
    #define   LSb32ISA_XORL_EXX_WR16                              1
    #define   LSb16ISA_XORL_EXX_WR16                              1
    #define       bISA_XORL_EXX_WR16                           1
    #define   MSK32ISA_XORL_EXX_WR16                              0x00000002

    #define     BA_ISA_XORL_EXX_WRTQ                           0x0014
    #define     B16ISA_XORL_EXX_WRTQ                           0x0014
    #define   LSb32ISA_XORL_EXX_WRTQ                              2
    #define   LSb16ISA_XORL_EXX_WRTQ                              2
    #define       bISA_XORL_EXX_WRTQ                           1
    #define   MSK32ISA_XORL_EXX_WRTQ                              0x00000004

    #define     BA_ISA_XORL_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_XORL_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_XORL_EXX_ALU64PUSH                         3
    #define   LSb16ISA_XORL_EXX_ALU64PUSH                         3
    #define       bISA_XORL_EXX_ALU64PUSH                      1
    #define   MSK32ISA_XORL_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_XORL_EXX_ALU64POP                       0x0014
    #define     B16ISA_XORL_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_XORL_EXX_ALU64POP                          4
    #define   LSb16ISA_XORL_EXX_ALU64POP                          4
    #define       bISA_XORL_EXX_ALU64POP                       1
    #define   MSK32ISA_XORL_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_XORL_EXX_ALU64SQ                        0x0014
    #define     B16ISA_XORL_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_XORL_EXX_ALU64SQ                           5
    #define   LSb16ISA_XORL_EXX_ALU64SQ                           5
    #define       bISA_XORL_EXX_ALU64SQ                        1
    #define   MSK32ISA_XORL_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_XORL_EXX_ALU64TQ                        0x0014
    #define     B16ISA_XORL_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_XORL_EXX_ALU64TQ                           6
    #define   LSb16ISA_XORL_EXX_ALU64TQ                           6
    #define       bISA_XORL_EXX_ALU64TQ                        1
    #define   MSK32ISA_XORL_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_XORL_EXX_ALU64MEM                       0x0014
    #define     B16ISA_XORL_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_XORL_EXX_ALU64MEM                          7
    #define   LSb16ISA_XORL_EXX_ALU64MEM                          7
    #define       bISA_XORL_EXX_ALU64MEM                       1
    #define   MSK32ISA_XORL_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_XORL_EXX_BRANCH                         0x0015
    #define     B16ISA_XORL_EXX_BRANCH                         0x0014
    #define   LSb32ISA_XORL_EXX_BRANCH                            8
    #define   LSb16ISA_XORL_EXX_BRANCH                            8
    #define       bISA_XORL_EXX_BRANCH                         1
    #define   MSK32ISA_XORL_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORL_WB                                 0x0018

    #define     BA_ISA_XORL_WB_RF16                            0x0018
    #define     B16ISA_XORL_WB_RF16                            0x0018
    #define   LSb32ISA_XORL_WB_RF16                               0
    #define   LSb16ISA_XORL_WB_RF16                               0
    #define       bISA_XORL_WB_RF16                            1
    #define   MSK32ISA_XORL_WB_RF16                               0x00000001

    #define     BA_ISA_XORL_WB_RF16W0                          0x0018
    #define     B16ISA_XORL_WB_RF16W0                          0x0018
    #define   LSb32ISA_XORL_WB_RF16W0                             1
    #define   LSb16ISA_XORL_WB_RF16W0                             1
    #define       bISA_XORL_WB_RF16W0                          1
    #define   MSK32ISA_XORL_WB_RF16W0                             0x00000002

    #define     BA_ISA_XORL_WB_RF16MEM                         0x0018
    #define     B16ISA_XORL_WB_RF16MEM                         0x0018
    #define   LSb32ISA_XORL_WB_RF16MEM                            2
    #define   LSb16ISA_XORL_WB_RF16MEM                            2
    #define       bISA_XORL_WB_RF16MEM                         1
    #define   MSK32ISA_XORL_WB_RF16MEM                            0x00000004

    #define     BA_ISA_XORL_WB_RF16Q                           0x0018
    #define     B16ISA_XORL_WB_RF16Q                           0x0018
    #define   LSb32ISA_XORL_WB_RF16Q                              3
    #define   LSb16ISA_XORL_WB_RF16Q                              3
    #define       bISA_XORL_WB_RF16Q                           1
    #define   MSK32ISA_XORL_WB_RF16Q                              0x00000008

    #define     BA_ISA_XORL_WB_RF64                            0x0018
    #define     B16ISA_XORL_WB_RF64                            0x0018
    #define   LSb32ISA_XORL_WB_RF64                               4
    #define   LSb16ISA_XORL_WB_RF64                               4
    #define       bISA_XORL_WB_RF64                            1
    #define   MSK32ISA_XORL_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XORL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_XORL_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_XORL_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XORL_Mask;
            struct w32ISA_XORL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XORL_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XORL_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XORL_Opcode;
            struct w32ISA_XORL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORL_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORL_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORL_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORL_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORL_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORL_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORL_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORL_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORL_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORL_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORL_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORL_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORL_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORL_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORL_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORL_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORL_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORL_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORL_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORL_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XORL_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XORL_ID;
            struct w32ISA_XORL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORL_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORL_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORL_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORL_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORL_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORL_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORL_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORL_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORL_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORL_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORL_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORL_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORL_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORL_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORL_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORL_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORL_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORL_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORL_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORL_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORL_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORL_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORL_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORL_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XORL_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_XORL_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XORL_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_XORL_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XORL_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_XORL_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_XORL_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_XORL_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_XORL_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_XORL_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_XORL_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_XORL_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_XORL_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_XORL_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_XORL_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_XORL_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_XORL_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_XORL_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_XORL_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_XORL_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_XORL_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_XORL_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_XORL_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_XORL_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_XORL_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XORL_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XORL_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XORL_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XORL_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XORL_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XORL_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_XORL_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_XORL_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_XORL_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_XORL_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_XORL_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_XORL_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_XORL_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_XORL_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_XORL_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_XORL_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XORL_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XORL_LD;
            struct w32ISA_XORL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORL_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORL_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORL_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORL_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORL_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORL_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORL_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORL_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORL_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORL_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORL_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORL_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORL_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORL_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORL_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORL_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORL_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORL_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORL_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORL_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORL_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORL_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORL_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORL_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XORL_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_XORL_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XORL_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_XORL_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XORL_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_XORL_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_XORL_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_XORL_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_XORL_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_XORL_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_XORL_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_XORL_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_XORL_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_XORL_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_XORL_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_XORL_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_XORL_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_XORL_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_XORL_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_XORL_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_XORL_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_XORL_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_XORL_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_XORL_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_XORL_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_XORL_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_XORL_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_XORL_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_XORL_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XORL_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XORL_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XORL_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XORL_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_XORL_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_XORL_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_XORL_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_XORL_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_XORL_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_XORL_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_XORL_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_XORL_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORL_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_XORL_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_XORL_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORL_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORL_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_XORL_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_XORL_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORL_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XORL_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XORL_EX;
            struct w32ISA_XORL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORL_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORL_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORL_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORL_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORL_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORL_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORL_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORL_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORL_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORL_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORL_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORL_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORL_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORL_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORL_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORL_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORL_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORL_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORL_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORL_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORL_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORL_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORL_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORL_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORL_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORL_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XORL_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XORL_EXX;
            struct w32ISA_XORL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORL_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORL_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORL_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORL_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORL_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORL_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORL_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORL_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORL_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORL_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORL_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORL_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORL_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORL_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORL_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORL_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORL_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORL_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORL_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORL_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XORL_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XORL_WB;
            struct w32ISA_XORL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XORL;

    typedef union  T32ISA_XORL_Mask
          { UNSG32 u32;
            struct w32ISA_XORL_Mask;
                 } T32ISA_XORL_Mask;
    typedef union  T32ISA_XORL_Opcode
          { UNSG32 u32;
            struct w32ISA_XORL_Opcode;
                 } T32ISA_XORL_Opcode;
    typedef union  T32ISA_XORL_ID
          { UNSG32 u32;
            struct w32ISA_XORL_ID;
                 } T32ISA_XORL_ID;
    typedef union  T32ISA_XORL_LD
          { UNSG32 u32;
            struct w32ISA_XORL_LD;
                 } T32ISA_XORL_LD;
    typedef union  T32ISA_XORL_EX
          { UNSG32 u32;
            struct w32ISA_XORL_EX;
                 } T32ISA_XORL_EX;
    typedef union  T32ISA_XORL_EXX
          { UNSG32 u32;
            struct w32ISA_XORL_EXX;
                 } T32ISA_XORL_EXX;
    typedef union  T32ISA_XORL_WB
          { UNSG32 u32;
            struct w32ISA_XORL_WB;
                 } T32ISA_XORL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XORL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_Mask;
                   };
                 } TISA_XORL_Mask;
    typedef union  TISA_XORL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_Opcode;
                   };
                 } TISA_XORL_Opcode;
    typedef union  TISA_XORL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_ID;
                   };
                 } TISA_XORL_ID;
    typedef union  TISA_XORL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_LD;
                   };
                 } TISA_XORL_LD;
    typedef union  TISA_XORL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_EX;
                   };
                 } TISA_XORL_EX;
    typedef union  TISA_XORL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_EXX;
                   };
                 } TISA_XORL_EXX;
    typedef union  TISA_XORL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORL_WB;
                   };
                 } TISA_XORL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XORL_drvrd(SIE_ISA_XORL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XORL_drvwr(SIE_ISA_XORL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XORL_reset(SIE_ISA_XORL *p);
     SIGN32 ISA_XORL_cmp  (SIE_ISA_XORL *p, SIE_ISA_XORL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XORL_check(p,pie,pfx,hLOG) ISA_XORL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XORL_print(p,    pfx,hLOG) ISA_XORL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XORL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XORH                                 (4,4)
///     ###
///     * Xor a register high 8b with an 8b immediate number to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x2D0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "XORH"    , "rD,rS,C"     , "0010 1101 SSSS CCCC CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    XORH     %d1, %a1, 0x01 ; %d1 = %a1 ^ 0x0100;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      0x1
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  0x1
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XORH
#define h_ISA_XORH (){}

    #define     RA_ISA_XORH_Mask                               0x0000

    #define     BA_ISA_XORH_Mask_INS                           0x0000
    #define     B16ISA_XORH_Mask_INS                           0x0000
    #define   LSb32ISA_XORH_Mask_INS                              0
    #define   LSb16ISA_XORH_Mask_INS                              0
    #define       bISA_XORH_Mask_INS                           24
    #define   MSK32ISA_XORH_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_Opcode                             0x0004

    #define     BA_ISA_XORH_Opcode_INS                         0x0004
    #define     B16ISA_XORH_Opcode_INS                         0x0004
    #define   LSb32ISA_XORH_Opcode_INS                            0
    #define   LSb16ISA_XORH_Opcode_INS                            0
    #define       bISA_XORH_Opcode_INS                         24
    #define   MSK32ISA_XORH_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_ID                                 0x0008

    #define     BA_ISA_XORH_ID_RBRF                            0x0008
    #define     B16ISA_XORH_ID_RBRF                            0x0008
    #define   LSb32ISA_XORH_ID_RBRF                               0
    #define   LSb16ISA_XORH_ID_RBRF                               0
    #define       bISA_XORH_ID_RBRF                            1
    #define   MSK32ISA_XORH_ID_RBRF                               0x00000001

    #define     BA_ISA_XORH_ID_RARF                            0x0008
    #define     B16ISA_XORH_ID_RARF                            0x0008
    #define   LSb32ISA_XORH_ID_RARF                               1
    #define   LSb16ISA_XORH_ID_RARF                               1
    #define       bISA_XORH_ID_RARF                            1
    #define   MSK32ISA_XORH_ID_RARF                               0x00000002

    #define     BA_ISA_XORH_ID_RAK8                            0x0008
    #define     B16ISA_XORH_ID_RAK8                            0x0008
    #define   LSb32ISA_XORH_ID_RAK8                               2
    #define   LSb16ISA_XORH_ID_RAK8                               2
    #define       bISA_XORH_ID_RAK8                            1
    #define   MSK32ISA_XORH_ID_RAK8                               0x00000004

    #define     BA_ISA_XORH_ID_RAI16                           0x0008
    #define     B16ISA_XORH_ID_RAI16                           0x0008
    #define   LSb32ISA_XORH_ID_RAI16                              3
    #define   LSb16ISA_XORH_ID_RAI16                              3
    #define       bISA_XORH_ID_RAI16                           1
    #define   MSK32ISA_XORH_ID_RAI16                              0x00000008

    #define     BA_ISA_XORH_ID_RAK16                           0x0008
    #define     B16ISA_XORH_ID_RAK16                           0x0008
    #define   LSb32ISA_XORH_ID_RAK16                              4
    #define   LSb16ISA_XORH_ID_RAK16                              4
    #define       bISA_XORH_ID_RAK16                           1
    #define   MSK32ISA_XORH_ID_RAK16                              0x00000010

    #define     BA_ISA_XORH_ID_RFSP                            0x0008
    #define     B16ISA_XORH_ID_RFSP                            0x0008
    #define   LSb32ISA_XORH_ID_RFSP                               5
    #define   LSb16ISA_XORH_ID_RFSP                               5
    #define       bISA_XORH_ID_RFSP                            1
    #define   MSK32ISA_XORH_ID_RFSP                               0x00000020

    #define     BA_ISA_XORH_ID_W4D4                            0x0008
    #define     B16ISA_XORH_ID_W4D4                            0x0008
    #define   LSb32ISA_XORH_ID_W4D4                               6
    #define   LSb16ISA_XORH_ID_W4D4                               6
    #define       bISA_XORH_ID_W4D4                            1
    #define   MSK32ISA_XORH_ID_W4D4                               0x00000040

    #define     BA_ISA_XORH_ID_W4S4                            0x0008
    #define     B16ISA_XORH_ID_W4S4                            0x0008
    #define   LSb32ISA_XORH_ID_W4S4                               7
    #define   LSb16ISA_XORH_ID_W4S4                               7
    #define       bISA_XORH_ID_W4S4                            1
    #define   MSK32ISA_XORH_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_LD                                 0x000C

    #define     BA_ISA_XORH_LD_SPRF                            0x000C
    #define     B16ISA_XORH_LD_SPRF                            0x000C
    #define   LSb32ISA_XORH_LD_SPRF                               0
    #define   LSb16ISA_XORH_LD_SPRF                               0
    #define       bISA_XORH_LD_SPRF                            1
    #define   MSK32ISA_XORH_LD_SPRF                               0x00000001

    #define     BA_ISA_XORH_LD_SPK8                            0x000C
    #define     B16ISA_XORH_LD_SPK8                            0x000C
    #define   LSb32ISA_XORH_LD_SPK8                               1
    #define   LSb16ISA_XORH_LD_SPK8                               1
    #define       bISA_XORH_LD_SPK8                            1
    #define   MSK32ISA_XORH_LD_SPK8                               0x00000002

    #define     BA_ISA_XORH_LD_SPJ                             0x000C
    #define     B16ISA_XORH_LD_SPJ                             0x000C
    #define   LSb32ISA_XORH_LD_SPJ                                2
    #define   LSb16ISA_XORH_LD_SPJ                                2
    #define       bISA_XORH_LD_SPJ                             1
    #define   MSK32ISA_XORH_LD_SPJ                                0x00000004

    #define     BA_ISA_XORH_LD_SP4S                            0x000C
    #define     B16ISA_XORH_LD_SP4S                            0x000C
    #define   LSb32ISA_XORH_LD_SP4S                               3
    #define   LSb16ISA_XORH_LD_SP4S                               3
    #define       bISA_XORH_LD_SP4S                            1
    #define   MSK32ISA_XORH_LD_SP4S                               0x00000008

    #define     BA_ISA_XORH_LD_SP8S                            0x000C
    #define     B16ISA_XORH_LD_SP8S                            0x000C
    #define   LSb32ISA_XORH_LD_SP8S                               4
    #define   LSb16ISA_XORH_LD_SP8S                               4
    #define       bISA_XORH_LD_SP8S                            1
    #define   MSK32ISA_XORH_LD_SP8S                               0x00000010

    #define     BA_ISA_XORH_LD_SP8U                            0x000C
    #define     B16ISA_XORH_LD_SP8U                            0x000C
    #define   LSb32ISA_XORH_LD_SP8U                               5
    #define   LSb16ISA_XORH_LD_SP8U                               5
    #define       bISA_XORH_LD_SP8U                            1
    #define   MSK32ISA_XORH_LD_SP8U                               0x00000020

    #define     BA_ISA_XORH_LD_SP12S                           0x000C
    #define     B16ISA_XORH_LD_SP12S                           0x000C
    #define   LSb32ISA_XORH_LD_SP12S                              6
    #define   LSb16ISA_XORH_LD_SP12S                              6
    #define       bISA_XORH_LD_SP12S                           1
    #define   MSK32ISA_XORH_LD_SP12S                              0x00000040

    #define     BA_ISA_XORH_LD_SP16                            0x000C
    #define     B16ISA_XORH_LD_SP16                            0x000C
    #define   LSb32ISA_XORH_LD_SP16                               7
    #define   LSb16ISA_XORH_LD_SP16                               7
    #define       bISA_XORH_LD_SP16                            1
    #define   MSK32ISA_XORH_LD_SP16                               0x00000080

    #define     BA_ISA_XORH_LD_TPRF                            0x000D
    #define     B16ISA_XORH_LD_TPRF                            0x000C
    #define   LSb32ISA_XORH_LD_TPRF                               8
    #define   LSb16ISA_XORH_LD_TPRF                               8
    #define       bISA_XORH_LD_TPRF                            1
    #define   MSK32ISA_XORH_LD_TPRF                               0x00000100

    #define     BA_ISA_XORH_LD_TPJ                             0x000D
    #define     B16ISA_XORH_LD_TPJ                             0x000C
    #define   LSb32ISA_XORH_LD_TPJ                                9
    #define   LSb16ISA_XORH_LD_TPJ                                9
    #define       bISA_XORH_LD_TPJ                             1
    #define   MSK32ISA_XORH_LD_TPJ                                0x00000200

    #define     BA_ISA_XORH_LD_TP4S                            0x000D
    #define     B16ISA_XORH_LD_TP4S                            0x000C
    #define   LSb32ISA_XORH_LD_TP4S                               10
    #define   LSb16ISA_XORH_LD_TP4S                               10
    #define       bISA_XORH_LD_TP4S                            1
    #define   MSK32ISA_XORH_LD_TP4S                               0x00000400

    #define     BA_ISA_XORH_LD_TP8L                            0x000D
    #define     B16ISA_XORH_LD_TP8L                            0x000C
    #define   LSb32ISA_XORH_LD_TP8L                               11
    #define   LSb16ISA_XORH_LD_TP8L                               11
    #define       bISA_XORH_LD_TP8L                            1
    #define   MSK32ISA_XORH_LD_TP8L                               0x00000800

    #define     BA_ISA_XORH_LD_TP8H                            0x000D
    #define     B16ISA_XORH_LD_TP8H                            0x000C
    #define   LSb32ISA_XORH_LD_TP8H                               12
    #define   LSb16ISA_XORH_LD_TP8H                               12
    #define       bISA_XORH_LD_TP8H                            1
    #define   MSK32ISA_XORH_LD_TP8H                               0x00001000

    #define     BA_ISA_XORH_LD_TP8LF                           0x000D
    #define     B16ISA_XORH_LD_TP8LF                           0x000C
    #define   LSb32ISA_XORH_LD_TP8LF                              13
    #define   LSb16ISA_XORH_LD_TP8LF                              13
    #define       bISA_XORH_LD_TP8LF                           1
    #define   MSK32ISA_XORH_LD_TP8LF                              0x00002000

    #define     BA_ISA_XORH_LD_TP8HF                           0x000D
    #define     B16ISA_XORH_LD_TP8HF                           0x000C
    #define   LSb32ISA_XORH_LD_TP8HF                              14
    #define   LSb16ISA_XORH_LD_TP8HF                              14
    #define       bISA_XORH_LD_TP8HF                           1
    #define   MSK32ISA_XORH_LD_TP8HF                              0x00004000

    #define     BA_ISA_XORH_LD_SQRF64                          0x000D
    #define     B16ISA_XORH_LD_SQRF64                          0x000C
    #define   LSb32ISA_XORH_LD_SQRF64                             15
    #define   LSb16ISA_XORH_LD_SQRF64                             15
    #define       bISA_XORH_LD_SQRF64                          1
    #define   MSK32ISA_XORH_LD_SQRF64                             0x00008000

    #define     BA_ISA_XORH_LD_TQRF16Q                         0x000E
    #define     B16ISA_XORH_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_XORH_LD_TQRF16Q                            16
    #define   LSb16ISA_XORH_LD_TQRF16Q                            0
    #define       bISA_XORH_LD_TQRF16Q                         1
    #define   MSK32ISA_XORH_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_XORH_LD_TQRFx4                          0x000E
    #define     B16ISA_XORH_LD_TQRFx4                          0x000E
    #define   LSb32ISA_XORH_LD_TQRFx4                             17
    #define   LSb16ISA_XORH_LD_TQRFx4                             1
    #define       bISA_XORH_LD_TQRFx4                          1
    #define   MSK32ISA_XORH_LD_TQRFx4                             0x00020000

    #define     BA_ISA_XORH_LD_RD                              0x000E
    #define     B16ISA_XORH_LD_RD                              0x000E
    #define   LSb32ISA_XORH_LD_RD                                 18
    #define   LSb16ISA_XORH_LD_RD                                 2
    #define       bISA_XORH_LD_RD                              1
    #define   MSK32ISA_XORH_LD_RD                                 0x00040000

    #define     BA_ISA_XORH_LD_WARF                            0x000E
    #define     B16ISA_XORH_LD_WARF                            0x000E
    #define   LSb32ISA_XORH_LD_WARF                               19
    #define   LSb16ISA_XORH_LD_WARF                               3
    #define       bISA_XORH_LD_WARF                            1
    #define   MSK32ISA_XORH_LD_WARF                               0x00080000

    #define     BA_ISA_XORH_LD_WAK8                            0x000E
    #define     B16ISA_XORH_LD_WAK8                            0x000E
    #define   LSb32ISA_XORH_LD_WAK8                               20
    #define   LSb16ISA_XORH_LD_WAK8                               4
    #define       bISA_XORH_LD_WAK8                            1
    #define   MSK32ISA_XORH_LD_WAK8                               0x00100000

    #define     BA_ISA_XORH_LD_WAK16                           0x000E
    #define     B16ISA_XORH_LD_WAK16                           0x000E
    #define   LSb32ISA_XORH_LD_WAK16                              21
    #define   LSb16ISA_XORH_LD_WAK16                              5
    #define       bISA_XORH_LD_WAK16                           1
    #define   MSK32ISA_XORH_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_EX                                 0x0010

    #define     BA_ISA_XORH_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_XORH_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagZ                         0
    #define   LSb16ISA_XORH_EX_ALU16FlagZ                         0
    #define       bISA_XORH_EX_ALU16FlagZ                      1
    #define   MSK32ISA_XORH_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_XORH_EX_ALU16FlagC                      0x0010
    #define     B16ISA_XORH_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagC                         1
    #define   LSb16ISA_XORH_EX_ALU16FlagC                         1
    #define       bISA_XORH_EX_ALU16FlagC                      1
    #define   MSK32ISA_XORH_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_XORH_EX_ALU16FlagN                      0x0010
    #define     B16ISA_XORH_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagN                         2
    #define   LSb16ISA_XORH_EX_ALU16FlagN                         2
    #define       bISA_XORH_EX_ALU16FlagN                      1
    #define   MSK32ISA_XORH_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_XORH_EX_ALU16FlagV                      0x0010
    #define     B16ISA_XORH_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagV                         3
    #define   LSb16ISA_XORH_EX_ALU16FlagV                         3
    #define       bISA_XORH_EX_ALU16FlagV                      1
    #define   MSK32ISA_XORH_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_XORH_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_XORH_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagTP                        4
    #define   LSb16ISA_XORH_EX_ALU16FlagTP                        4
    #define       bISA_XORH_EX_ALU16FlagTP                     1
    #define   MSK32ISA_XORH_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_XORH_EX_ALU16MUL                        0x0010
    #define     B16ISA_XORH_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16MUL                           5
    #define   LSb16ISA_XORH_EX_ALU16MUL                           5
    #define       bISA_XORH_EX_ALU16MUL                        1
    #define   MSK32ISA_XORH_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_XORH_EX_ALU16DIV                        0x0010
    #define     B16ISA_XORH_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16DIV                           6
    #define   LSb16ISA_XORH_EX_ALU16DIV                           6
    #define       bISA_XORH_EX_ALU16DIV                        1
    #define   MSK32ISA_XORH_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_XORH_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_XORH_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_XORH_EX_ALU16FlagLD                        7
    #define   LSb16ISA_XORH_EX_ALU16FlagLD                        7
    #define       bISA_XORH_EX_ALU16FlagLD                     1
    #define   MSK32ISA_XORH_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_XORH_EX_ALU16MDL                        0x0011
    #define     B16ISA_XORH_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16MDL                           8
    #define   LSb16ISA_XORH_EX_ALU16MDL                           8
    #define       bISA_XORH_EX_ALU16MDL                        1
    #define   MSK32ISA_XORH_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_XORH_EX_ALU16MDH                        0x0011
    #define     B16ISA_XORH_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16MDH                           9
    #define   LSb16ISA_XORH_EX_ALU16MDH                           9
    #define       bISA_XORH_EX_ALU16MDH                        1
    #define   MSK32ISA_XORH_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_XORH_EX_ALU16ADD                        0x0011
    #define     B16ISA_XORH_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16ADD                           10
    #define   LSb16ISA_XORH_EX_ALU16ADD                           10
    #define       bISA_XORH_EX_ALU16ADD                        1
    #define   MSK32ISA_XORH_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_XORH_EX_ALU16SUB                        0x0011
    #define     B16ISA_XORH_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16SUB                           11
    #define   LSb16ISA_XORH_EX_ALU16SUB                           11
    #define       bISA_XORH_EX_ALU16SUB                        1
    #define   MSK32ISA_XORH_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_XORH_EX_ALU16ADDC                       0x0011
    #define     B16ISA_XORH_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_XORH_EX_ALU16ADDC                          12
    #define   LSb16ISA_XORH_EX_ALU16ADDC                          12
    #define       bISA_XORH_EX_ALU16ADDC                       1
    #define   MSK32ISA_XORH_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_XORH_EX_ALU16SUBC                       0x0011
    #define     B16ISA_XORH_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_XORH_EX_ALU16SUBC                          13
    #define   LSb16ISA_XORH_EX_ALU16SUBC                          13
    #define       bISA_XORH_EX_ALU16SUBC                       1
    #define   MSK32ISA_XORH_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_XORH_EX_ALU16ASR                        0x0011
    #define     B16ISA_XORH_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_XORH_EX_ALU16ASR                           14
    #define   LSb16ISA_XORH_EX_ALU16ASR                           14
    #define       bISA_XORH_EX_ALU16ASR                        1
    #define   MSK32ISA_XORH_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_XORH_EX_ALU16SL                         0x0011
    #define     B16ISA_XORH_EX_ALU16SL                         0x0010
    #define   LSb32ISA_XORH_EX_ALU16SL                            15
    #define   LSb16ISA_XORH_EX_ALU16SL                            15
    #define       bISA_XORH_EX_ALU16SL                         1
    #define   MSK32ISA_XORH_EX_ALU16SL                            0x00008000

    #define     BA_ISA_XORH_EX_ALU16SR                         0x0012
    #define     B16ISA_XORH_EX_ALU16SR                         0x0012
    #define   LSb32ISA_XORH_EX_ALU16SR                            16
    #define   LSb16ISA_XORH_EX_ALU16SR                            0
    #define       bISA_XORH_EX_ALU16SR                         1
    #define   MSK32ISA_XORH_EX_ALU16SR                            0x00010000

    #define     BA_ISA_XORH_EX_ALU16GET                        0x0012
    #define     B16ISA_XORH_EX_ALU16GET                        0x0012
    #define   LSb32ISA_XORH_EX_ALU16GET                           17
    #define   LSb16ISA_XORH_EX_ALU16GET                           1
    #define       bISA_XORH_EX_ALU16GET                        1
    #define   MSK32ISA_XORH_EX_ALU16GET                           0x00020000

    #define     BA_ISA_XORH_EX_ALU16SET                        0x0012
    #define     B16ISA_XORH_EX_ALU16SET                        0x0012
    #define   LSb32ISA_XORH_EX_ALU16SET                           18
    #define   LSb16ISA_XORH_EX_ALU16SET                           2
    #define       bISA_XORH_EX_ALU16SET                        1
    #define   MSK32ISA_XORH_EX_ALU16SET                           0x00040000

    #define     BA_ISA_XORH_EX_ALU16SEL                        0x0012
    #define     B16ISA_XORH_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_XORH_EX_ALU16SEL                           19
    #define   LSb16ISA_XORH_EX_ALU16SEL                           3
    #define       bISA_XORH_EX_ALU16SEL                        1
    #define   MSK32ISA_XORH_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_XORH_EX_ALU16OR                         0x0012
    #define     B16ISA_XORH_EX_ALU16OR                         0x0012
    #define   LSb32ISA_XORH_EX_ALU16OR                            20
    #define   LSb16ISA_XORH_EX_ALU16OR                            4
    #define       bISA_XORH_EX_ALU16OR                         1
    #define   MSK32ISA_XORH_EX_ALU16OR                            0x00100000

    #define     BA_ISA_XORH_EX_ALU16AND                        0x0012
    #define     B16ISA_XORH_EX_ALU16AND                        0x0012
    #define   LSb32ISA_XORH_EX_ALU16AND                           21
    #define   LSb16ISA_XORH_EX_ALU16AND                           5
    #define       bISA_XORH_EX_ALU16AND                        1
    #define   MSK32ISA_XORH_EX_ALU16AND                           0x00200000

    #define     BA_ISA_XORH_EX_ALU16XOR                        0x0012
    #define     B16ISA_XORH_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_XORH_EX_ALU16XOR                           22
    #define   LSb16ISA_XORH_EX_ALU16XOR                           6
    #define       bISA_XORH_EX_ALU16XOR                        1
    #define   MSK32ISA_XORH_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_XORH_EX_ALU16SP                         0x0012
    #define     B16ISA_XORH_EX_ALU16SP                         0x0012
    #define   LSb32ISA_XORH_EX_ALU16SP                            23
    #define   LSb16ISA_XORH_EX_ALU16SP                            7
    #define       bISA_XORH_EX_ALU16SP                         1
    #define   MSK32ISA_XORH_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_EXX                                0x0014

    #define     BA_ISA_XORH_EXX_WRSQ                           0x0014
    #define     B16ISA_XORH_EXX_WRSQ                           0x0014
    #define   LSb32ISA_XORH_EXX_WRSQ                              0
    #define   LSb16ISA_XORH_EXX_WRSQ                              0
    #define       bISA_XORH_EXX_WRSQ                           1
    #define   MSK32ISA_XORH_EXX_WRSQ                              0x00000001

    #define     BA_ISA_XORH_EXX_WR16                           0x0014
    #define     B16ISA_XORH_EXX_WR16                           0x0014
    #define   LSb32ISA_XORH_EXX_WR16                              1
    #define   LSb16ISA_XORH_EXX_WR16                              1
    #define       bISA_XORH_EXX_WR16                           1
    #define   MSK32ISA_XORH_EXX_WR16                              0x00000002

    #define     BA_ISA_XORH_EXX_WRTQ                           0x0014
    #define     B16ISA_XORH_EXX_WRTQ                           0x0014
    #define   LSb32ISA_XORH_EXX_WRTQ                              2
    #define   LSb16ISA_XORH_EXX_WRTQ                              2
    #define       bISA_XORH_EXX_WRTQ                           1
    #define   MSK32ISA_XORH_EXX_WRTQ                              0x00000004

    #define     BA_ISA_XORH_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_XORH_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_XORH_EXX_ALU64PUSH                         3
    #define   LSb16ISA_XORH_EXX_ALU64PUSH                         3
    #define       bISA_XORH_EXX_ALU64PUSH                      1
    #define   MSK32ISA_XORH_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_XORH_EXX_ALU64POP                       0x0014
    #define     B16ISA_XORH_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_XORH_EXX_ALU64POP                          4
    #define   LSb16ISA_XORH_EXX_ALU64POP                          4
    #define       bISA_XORH_EXX_ALU64POP                       1
    #define   MSK32ISA_XORH_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_XORH_EXX_ALU64SQ                        0x0014
    #define     B16ISA_XORH_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_XORH_EXX_ALU64SQ                           5
    #define   LSb16ISA_XORH_EXX_ALU64SQ                           5
    #define       bISA_XORH_EXX_ALU64SQ                        1
    #define   MSK32ISA_XORH_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_XORH_EXX_ALU64TQ                        0x0014
    #define     B16ISA_XORH_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_XORH_EXX_ALU64TQ                           6
    #define   LSb16ISA_XORH_EXX_ALU64TQ                           6
    #define       bISA_XORH_EXX_ALU64TQ                        1
    #define   MSK32ISA_XORH_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_XORH_EXX_ALU64MEM                       0x0014
    #define     B16ISA_XORH_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_XORH_EXX_ALU64MEM                          7
    #define   LSb16ISA_XORH_EXX_ALU64MEM                          7
    #define       bISA_XORH_EXX_ALU64MEM                       1
    #define   MSK32ISA_XORH_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_XORH_EXX_BRANCH                         0x0015
    #define     B16ISA_XORH_EXX_BRANCH                         0x0014
    #define   LSb32ISA_XORH_EXX_BRANCH                            8
    #define   LSb16ISA_XORH_EXX_BRANCH                            8
    #define       bISA_XORH_EXX_BRANCH                         1
    #define   MSK32ISA_XORH_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XORH_WB                                 0x0018

    #define     BA_ISA_XORH_WB_RF16                            0x0018
    #define     B16ISA_XORH_WB_RF16                            0x0018
    #define   LSb32ISA_XORH_WB_RF16                               0
    #define   LSb16ISA_XORH_WB_RF16                               0
    #define       bISA_XORH_WB_RF16                            1
    #define   MSK32ISA_XORH_WB_RF16                               0x00000001

    #define     BA_ISA_XORH_WB_RF16W0                          0x0018
    #define     B16ISA_XORH_WB_RF16W0                          0x0018
    #define   LSb32ISA_XORH_WB_RF16W0                             1
    #define   LSb16ISA_XORH_WB_RF16W0                             1
    #define       bISA_XORH_WB_RF16W0                          1
    #define   MSK32ISA_XORH_WB_RF16W0                             0x00000002

    #define     BA_ISA_XORH_WB_RF16MEM                         0x0018
    #define     B16ISA_XORH_WB_RF16MEM                         0x0018
    #define   LSb32ISA_XORH_WB_RF16MEM                            2
    #define   LSb16ISA_XORH_WB_RF16MEM                            2
    #define       bISA_XORH_WB_RF16MEM                         1
    #define   MSK32ISA_XORH_WB_RF16MEM                            0x00000004

    #define     BA_ISA_XORH_WB_RF16Q                           0x0018
    #define     B16ISA_XORH_WB_RF16Q                           0x0018
    #define   LSb32ISA_XORH_WB_RF16Q                              3
    #define   LSb16ISA_XORH_WB_RF16Q                              3
    #define       bISA_XORH_WB_RF16Q                           1
    #define   MSK32ISA_XORH_WB_RF16Q                              0x00000008

    #define     BA_ISA_XORH_WB_RF64                            0x0018
    #define     B16ISA_XORH_WB_RF64                            0x0018
    #define   LSb32ISA_XORH_WB_RF64                               4
    #define   LSb16ISA_XORH_WB_RF64                               4
    #define       bISA_XORH_WB_RF64                            1
    #define   MSK32ISA_XORH_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XORH {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_XORH_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_XORH_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XORH_Mask;
            struct w32ISA_XORH_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XORH_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XORH_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XORH_Opcode;
            struct w32ISA_XORH_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORH_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORH_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORH_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORH_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORH_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORH_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORH_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORH_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORH_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORH_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORH_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORH_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORH_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORH_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORH_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORH_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORH_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORH_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORH_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORH_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XORH_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XORH_ID;
            struct w32ISA_XORH_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORH_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORH_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORH_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORH_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORH_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORH_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORH_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORH_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORH_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORH_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORH_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORH_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORH_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORH_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORH_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORH_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORH_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORH_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORH_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORH_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORH_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORH_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORH_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORH_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XORH_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_XORH_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XORH_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_XORH_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XORH_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_XORH_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_XORH_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_XORH_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_XORH_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_XORH_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_XORH_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_XORH_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_XORH_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_XORH_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_XORH_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_XORH_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_XORH_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_XORH_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_XORH_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_XORH_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_XORH_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_XORH_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_XORH_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_XORH_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_XORH_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XORH_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XORH_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XORH_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XORH_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XORH_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XORH_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_XORH_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_XORH_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_XORH_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_XORH_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_XORH_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_XORH_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_XORH_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_XORH_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_XORH_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_XORH_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XORH_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XORH_LD;
            struct w32ISA_XORH_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORH_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORH_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORH_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORH_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORH_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORH_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORH_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORH_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORH_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORH_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORH_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORH_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORH_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORH_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORH_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORH_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORH_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORH_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORH_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORH_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORH_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORH_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORH_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORH_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XORH_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_XORH_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XORH_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_XORH_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XORH_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_XORH_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_XORH_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_XORH_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_XORH_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_XORH_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_XORH_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_XORH_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_XORH_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_XORH_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_XORH_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_XORH_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_XORH_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_XORH_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_XORH_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_XORH_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_XORH_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_XORH_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_XORH_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_XORH_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_XORH_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_XORH_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_XORH_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_XORH_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_XORH_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_XORH_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_XORH_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XORH_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XORH_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_XORH_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_XORH_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_XORH_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_XORH_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_XORH_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_XORH_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_XORH_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_XORH_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORH_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_XORH_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_XORH_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORH_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORH_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_XORH_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_XORH_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORH_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XORH_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XORH_EX;
            struct w32ISA_XORH_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORH_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORH_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORH_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORH_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORH_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORH_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORH_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORH_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORH_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORH_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XORH_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_XORH_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XORH_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_XORH_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XORH_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_XORH_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XORH_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_XORH_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XORH_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_XORH_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XORH_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XORH_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XORH_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XORH_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XORH_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XORH_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XORH_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XORH_EXX;
            struct w32ISA_XORH_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XORH_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XORH_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XORH_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XORH_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XORH_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XORH_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XORH_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XORH_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XORH_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XORH_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XORH_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XORH_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XORH_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_XORH_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XORH_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_XORH_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XORH_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XORH_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XORH_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XORH_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XORH_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XORH_WB;
            struct w32ISA_XORH_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XORH;

    typedef union  T32ISA_XORH_Mask
          { UNSG32 u32;
            struct w32ISA_XORH_Mask;
                 } T32ISA_XORH_Mask;
    typedef union  T32ISA_XORH_Opcode
          { UNSG32 u32;
            struct w32ISA_XORH_Opcode;
                 } T32ISA_XORH_Opcode;
    typedef union  T32ISA_XORH_ID
          { UNSG32 u32;
            struct w32ISA_XORH_ID;
                 } T32ISA_XORH_ID;
    typedef union  T32ISA_XORH_LD
          { UNSG32 u32;
            struct w32ISA_XORH_LD;
                 } T32ISA_XORH_LD;
    typedef union  T32ISA_XORH_EX
          { UNSG32 u32;
            struct w32ISA_XORH_EX;
                 } T32ISA_XORH_EX;
    typedef union  T32ISA_XORH_EXX
          { UNSG32 u32;
            struct w32ISA_XORH_EXX;
                 } T32ISA_XORH_EXX;
    typedef union  T32ISA_XORH_WB
          { UNSG32 u32;
            struct w32ISA_XORH_WB;
                 } T32ISA_XORH_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XORH_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_Mask;
                   };
                 } TISA_XORH_Mask;
    typedef union  TISA_XORH_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_Opcode;
                   };
                 } TISA_XORH_Opcode;
    typedef union  TISA_XORH_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_ID;
                   };
                 } TISA_XORH_ID;
    typedef union  TISA_XORH_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_LD;
                   };
                 } TISA_XORH_LD;
    typedef union  TISA_XORH_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_EX;
                   };
                 } TISA_XORH_EX;
    typedef union  TISA_XORH_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_EXX;
                   };
                 } TISA_XORH_EXX;
    typedef union  TISA_XORH_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XORH_WB;
                   };
                 } TISA_XORH_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XORH_drvrd(SIE_ISA_XORH *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XORH_drvwr(SIE_ISA_XORH *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XORH_reset(SIE_ISA_XORH *p);
     SIGN32 ISA_XORH_cmp  (SIE_ISA_XORH *p, SIE_ISA_XORH *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XORH_check(p,pie,pfx,hLOG) ISA_XORH_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XORH_print(p,    pfx,hLOG) ISA_XORH_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XORH
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XOR                                  (4,4)
///     ###
///     * Xor 2 registers to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x160000
///                                    ###
///                                    * -                                                                 
///                                    * - { "XOR"     , "rD,rS,rT"    , "0001 0110 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    XOR      %d1, %a1, %b1   ; %d1 = %a1 ^ %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  0x1
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XOR
#define h_ISA_XOR (){}

    #define     RA_ISA_XOR_Mask                                0x0000

    #define     BA_ISA_XOR_Mask_INS                            0x0000
    #define     B16ISA_XOR_Mask_INS                            0x0000
    #define   LSb32ISA_XOR_Mask_INS                               0
    #define   LSb16ISA_XOR_Mask_INS                               0
    #define       bISA_XOR_Mask_INS                            24
    #define   MSK32ISA_XOR_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_Opcode                              0x0004

    #define     BA_ISA_XOR_Opcode_INS                          0x0004
    #define     B16ISA_XOR_Opcode_INS                          0x0004
    #define   LSb32ISA_XOR_Opcode_INS                             0
    #define   LSb16ISA_XOR_Opcode_INS                             0
    #define       bISA_XOR_Opcode_INS                          24
    #define   MSK32ISA_XOR_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_ID                                  0x0008

    #define     BA_ISA_XOR_ID_RBRF                             0x0008
    #define     B16ISA_XOR_ID_RBRF                             0x0008
    #define   LSb32ISA_XOR_ID_RBRF                                0
    #define   LSb16ISA_XOR_ID_RBRF                                0
    #define       bISA_XOR_ID_RBRF                             1
    #define   MSK32ISA_XOR_ID_RBRF                                0x00000001

    #define     BA_ISA_XOR_ID_RARF                             0x0008
    #define     B16ISA_XOR_ID_RARF                             0x0008
    #define   LSb32ISA_XOR_ID_RARF                                1
    #define   LSb16ISA_XOR_ID_RARF                                1
    #define       bISA_XOR_ID_RARF                             1
    #define   MSK32ISA_XOR_ID_RARF                                0x00000002

    #define     BA_ISA_XOR_ID_RAK8                             0x0008
    #define     B16ISA_XOR_ID_RAK8                             0x0008
    #define   LSb32ISA_XOR_ID_RAK8                                2
    #define   LSb16ISA_XOR_ID_RAK8                                2
    #define       bISA_XOR_ID_RAK8                             1
    #define   MSK32ISA_XOR_ID_RAK8                                0x00000004

    #define     BA_ISA_XOR_ID_RAI16                            0x0008
    #define     B16ISA_XOR_ID_RAI16                            0x0008
    #define   LSb32ISA_XOR_ID_RAI16                               3
    #define   LSb16ISA_XOR_ID_RAI16                               3
    #define       bISA_XOR_ID_RAI16                            1
    #define   MSK32ISA_XOR_ID_RAI16                               0x00000008

    #define     BA_ISA_XOR_ID_RAK16                            0x0008
    #define     B16ISA_XOR_ID_RAK16                            0x0008
    #define   LSb32ISA_XOR_ID_RAK16                               4
    #define   LSb16ISA_XOR_ID_RAK16                               4
    #define       bISA_XOR_ID_RAK16                            1
    #define   MSK32ISA_XOR_ID_RAK16                               0x00000010

    #define     BA_ISA_XOR_ID_RFSP                             0x0008
    #define     B16ISA_XOR_ID_RFSP                             0x0008
    #define   LSb32ISA_XOR_ID_RFSP                                5
    #define   LSb16ISA_XOR_ID_RFSP                                5
    #define       bISA_XOR_ID_RFSP                             1
    #define   MSK32ISA_XOR_ID_RFSP                                0x00000020

    #define     BA_ISA_XOR_ID_W4D4                             0x0008
    #define     B16ISA_XOR_ID_W4D4                             0x0008
    #define   LSb32ISA_XOR_ID_W4D4                                6
    #define   LSb16ISA_XOR_ID_W4D4                                6
    #define       bISA_XOR_ID_W4D4                             1
    #define   MSK32ISA_XOR_ID_W4D4                                0x00000040

    #define     BA_ISA_XOR_ID_W4S4                             0x0008
    #define     B16ISA_XOR_ID_W4S4                             0x0008
    #define   LSb32ISA_XOR_ID_W4S4                                7
    #define   LSb16ISA_XOR_ID_W4S4                                7
    #define       bISA_XOR_ID_W4S4                             1
    #define   MSK32ISA_XOR_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_LD                                  0x000C

    #define     BA_ISA_XOR_LD_SPRF                             0x000C
    #define     B16ISA_XOR_LD_SPRF                             0x000C
    #define   LSb32ISA_XOR_LD_SPRF                                0
    #define   LSb16ISA_XOR_LD_SPRF                                0
    #define       bISA_XOR_LD_SPRF                             1
    #define   MSK32ISA_XOR_LD_SPRF                                0x00000001

    #define     BA_ISA_XOR_LD_SPK8                             0x000C
    #define     B16ISA_XOR_LD_SPK8                             0x000C
    #define   LSb32ISA_XOR_LD_SPK8                                1
    #define   LSb16ISA_XOR_LD_SPK8                                1
    #define       bISA_XOR_LD_SPK8                             1
    #define   MSK32ISA_XOR_LD_SPK8                                0x00000002

    #define     BA_ISA_XOR_LD_SPJ                              0x000C
    #define     B16ISA_XOR_LD_SPJ                              0x000C
    #define   LSb32ISA_XOR_LD_SPJ                                 2
    #define   LSb16ISA_XOR_LD_SPJ                                 2
    #define       bISA_XOR_LD_SPJ                              1
    #define   MSK32ISA_XOR_LD_SPJ                                 0x00000004

    #define     BA_ISA_XOR_LD_SP4S                             0x000C
    #define     B16ISA_XOR_LD_SP4S                             0x000C
    #define   LSb32ISA_XOR_LD_SP4S                                3
    #define   LSb16ISA_XOR_LD_SP4S                                3
    #define       bISA_XOR_LD_SP4S                             1
    #define   MSK32ISA_XOR_LD_SP4S                                0x00000008

    #define     BA_ISA_XOR_LD_SP8S                             0x000C
    #define     B16ISA_XOR_LD_SP8S                             0x000C
    #define   LSb32ISA_XOR_LD_SP8S                                4
    #define   LSb16ISA_XOR_LD_SP8S                                4
    #define       bISA_XOR_LD_SP8S                             1
    #define   MSK32ISA_XOR_LD_SP8S                                0x00000010

    #define     BA_ISA_XOR_LD_SP8U                             0x000C
    #define     B16ISA_XOR_LD_SP8U                             0x000C
    #define   LSb32ISA_XOR_LD_SP8U                                5
    #define   LSb16ISA_XOR_LD_SP8U                                5
    #define       bISA_XOR_LD_SP8U                             1
    #define   MSK32ISA_XOR_LD_SP8U                                0x00000020

    #define     BA_ISA_XOR_LD_SP12S                            0x000C
    #define     B16ISA_XOR_LD_SP12S                            0x000C
    #define   LSb32ISA_XOR_LD_SP12S                               6
    #define   LSb16ISA_XOR_LD_SP12S                               6
    #define       bISA_XOR_LD_SP12S                            1
    #define   MSK32ISA_XOR_LD_SP12S                               0x00000040

    #define     BA_ISA_XOR_LD_SP16                             0x000C
    #define     B16ISA_XOR_LD_SP16                             0x000C
    #define   LSb32ISA_XOR_LD_SP16                                7
    #define   LSb16ISA_XOR_LD_SP16                                7
    #define       bISA_XOR_LD_SP16                             1
    #define   MSK32ISA_XOR_LD_SP16                                0x00000080

    #define     BA_ISA_XOR_LD_TPRF                             0x000D
    #define     B16ISA_XOR_LD_TPRF                             0x000C
    #define   LSb32ISA_XOR_LD_TPRF                                8
    #define   LSb16ISA_XOR_LD_TPRF                                8
    #define       bISA_XOR_LD_TPRF                             1
    #define   MSK32ISA_XOR_LD_TPRF                                0x00000100

    #define     BA_ISA_XOR_LD_TPJ                              0x000D
    #define     B16ISA_XOR_LD_TPJ                              0x000C
    #define   LSb32ISA_XOR_LD_TPJ                                 9
    #define   LSb16ISA_XOR_LD_TPJ                                 9
    #define       bISA_XOR_LD_TPJ                              1
    #define   MSK32ISA_XOR_LD_TPJ                                 0x00000200

    #define     BA_ISA_XOR_LD_TP4S                             0x000D
    #define     B16ISA_XOR_LD_TP4S                             0x000C
    #define   LSb32ISA_XOR_LD_TP4S                                10
    #define   LSb16ISA_XOR_LD_TP4S                                10
    #define       bISA_XOR_LD_TP4S                             1
    #define   MSK32ISA_XOR_LD_TP4S                                0x00000400

    #define     BA_ISA_XOR_LD_TP8L                             0x000D
    #define     B16ISA_XOR_LD_TP8L                             0x000C
    #define   LSb32ISA_XOR_LD_TP8L                                11
    #define   LSb16ISA_XOR_LD_TP8L                                11
    #define       bISA_XOR_LD_TP8L                             1
    #define   MSK32ISA_XOR_LD_TP8L                                0x00000800

    #define     BA_ISA_XOR_LD_TP8H                             0x000D
    #define     B16ISA_XOR_LD_TP8H                             0x000C
    #define   LSb32ISA_XOR_LD_TP8H                                12
    #define   LSb16ISA_XOR_LD_TP8H                                12
    #define       bISA_XOR_LD_TP8H                             1
    #define   MSK32ISA_XOR_LD_TP8H                                0x00001000

    #define     BA_ISA_XOR_LD_TP8LF                            0x000D
    #define     B16ISA_XOR_LD_TP8LF                            0x000C
    #define   LSb32ISA_XOR_LD_TP8LF                               13
    #define   LSb16ISA_XOR_LD_TP8LF                               13
    #define       bISA_XOR_LD_TP8LF                            1
    #define   MSK32ISA_XOR_LD_TP8LF                               0x00002000

    #define     BA_ISA_XOR_LD_TP8HF                            0x000D
    #define     B16ISA_XOR_LD_TP8HF                            0x000C
    #define   LSb32ISA_XOR_LD_TP8HF                               14
    #define   LSb16ISA_XOR_LD_TP8HF                               14
    #define       bISA_XOR_LD_TP8HF                            1
    #define   MSK32ISA_XOR_LD_TP8HF                               0x00004000

    #define     BA_ISA_XOR_LD_SQRF64                           0x000D
    #define     B16ISA_XOR_LD_SQRF64                           0x000C
    #define   LSb32ISA_XOR_LD_SQRF64                              15
    #define   LSb16ISA_XOR_LD_SQRF64                              15
    #define       bISA_XOR_LD_SQRF64                           1
    #define   MSK32ISA_XOR_LD_SQRF64                              0x00008000

    #define     BA_ISA_XOR_LD_TQRF16Q                          0x000E
    #define     B16ISA_XOR_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_XOR_LD_TQRF16Q                             16
    #define   LSb16ISA_XOR_LD_TQRF16Q                             0
    #define       bISA_XOR_LD_TQRF16Q                          1
    #define   MSK32ISA_XOR_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_XOR_LD_TQRFx4                           0x000E
    #define     B16ISA_XOR_LD_TQRFx4                           0x000E
    #define   LSb32ISA_XOR_LD_TQRFx4                              17
    #define   LSb16ISA_XOR_LD_TQRFx4                              1
    #define       bISA_XOR_LD_TQRFx4                           1
    #define   MSK32ISA_XOR_LD_TQRFx4                              0x00020000

    #define     BA_ISA_XOR_LD_RD                               0x000E
    #define     B16ISA_XOR_LD_RD                               0x000E
    #define   LSb32ISA_XOR_LD_RD                                  18
    #define   LSb16ISA_XOR_LD_RD                                  2
    #define       bISA_XOR_LD_RD                               1
    #define   MSK32ISA_XOR_LD_RD                                  0x00040000

    #define     BA_ISA_XOR_LD_WARF                             0x000E
    #define     B16ISA_XOR_LD_WARF                             0x000E
    #define   LSb32ISA_XOR_LD_WARF                                19
    #define   LSb16ISA_XOR_LD_WARF                                3
    #define       bISA_XOR_LD_WARF                             1
    #define   MSK32ISA_XOR_LD_WARF                                0x00080000

    #define     BA_ISA_XOR_LD_WAK8                             0x000E
    #define     B16ISA_XOR_LD_WAK8                             0x000E
    #define   LSb32ISA_XOR_LD_WAK8                                20
    #define   LSb16ISA_XOR_LD_WAK8                                4
    #define       bISA_XOR_LD_WAK8                             1
    #define   MSK32ISA_XOR_LD_WAK8                                0x00100000

    #define     BA_ISA_XOR_LD_WAK16                            0x000E
    #define     B16ISA_XOR_LD_WAK16                            0x000E
    #define   LSb32ISA_XOR_LD_WAK16                               21
    #define   LSb16ISA_XOR_LD_WAK16                               5
    #define       bISA_XOR_LD_WAK16                            1
    #define   MSK32ISA_XOR_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_EX                                  0x0010

    #define     BA_ISA_XOR_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_XOR_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagZ                          0
    #define   LSb16ISA_XOR_EX_ALU16FlagZ                          0
    #define       bISA_XOR_EX_ALU16FlagZ                       1
    #define   MSK32ISA_XOR_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_XOR_EX_ALU16FlagC                       0x0010
    #define     B16ISA_XOR_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagC                          1
    #define   LSb16ISA_XOR_EX_ALU16FlagC                          1
    #define       bISA_XOR_EX_ALU16FlagC                       1
    #define   MSK32ISA_XOR_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_XOR_EX_ALU16FlagN                       0x0010
    #define     B16ISA_XOR_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagN                          2
    #define   LSb16ISA_XOR_EX_ALU16FlagN                          2
    #define       bISA_XOR_EX_ALU16FlagN                       1
    #define   MSK32ISA_XOR_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_XOR_EX_ALU16FlagV                       0x0010
    #define     B16ISA_XOR_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagV                          3
    #define   LSb16ISA_XOR_EX_ALU16FlagV                          3
    #define       bISA_XOR_EX_ALU16FlagV                       1
    #define   MSK32ISA_XOR_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_XOR_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_XOR_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagTP                         4
    #define   LSb16ISA_XOR_EX_ALU16FlagTP                         4
    #define       bISA_XOR_EX_ALU16FlagTP                      1
    #define   MSK32ISA_XOR_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_XOR_EX_ALU16MUL                         0x0010
    #define     B16ISA_XOR_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16MUL                            5
    #define   LSb16ISA_XOR_EX_ALU16MUL                            5
    #define       bISA_XOR_EX_ALU16MUL                         1
    #define   MSK32ISA_XOR_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_XOR_EX_ALU16DIV                         0x0010
    #define     B16ISA_XOR_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16DIV                            6
    #define   LSb16ISA_XOR_EX_ALU16DIV                            6
    #define       bISA_XOR_EX_ALU16DIV                         1
    #define   MSK32ISA_XOR_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_XOR_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_XOR_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_XOR_EX_ALU16FlagLD                         7
    #define   LSb16ISA_XOR_EX_ALU16FlagLD                         7
    #define       bISA_XOR_EX_ALU16FlagLD                      1
    #define   MSK32ISA_XOR_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_XOR_EX_ALU16MDL                         0x0011
    #define     B16ISA_XOR_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16MDL                            8
    #define   LSb16ISA_XOR_EX_ALU16MDL                            8
    #define       bISA_XOR_EX_ALU16MDL                         1
    #define   MSK32ISA_XOR_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_XOR_EX_ALU16MDH                         0x0011
    #define     B16ISA_XOR_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16MDH                            9
    #define   LSb16ISA_XOR_EX_ALU16MDH                            9
    #define       bISA_XOR_EX_ALU16MDH                         1
    #define   MSK32ISA_XOR_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_XOR_EX_ALU16ADD                         0x0011
    #define     B16ISA_XOR_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16ADD                            10
    #define   LSb16ISA_XOR_EX_ALU16ADD                            10
    #define       bISA_XOR_EX_ALU16ADD                         1
    #define   MSK32ISA_XOR_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_XOR_EX_ALU16SUB                         0x0011
    #define     B16ISA_XOR_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16SUB                            11
    #define   LSb16ISA_XOR_EX_ALU16SUB                            11
    #define       bISA_XOR_EX_ALU16SUB                         1
    #define   MSK32ISA_XOR_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_XOR_EX_ALU16ADDC                        0x0011
    #define     B16ISA_XOR_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_XOR_EX_ALU16ADDC                           12
    #define   LSb16ISA_XOR_EX_ALU16ADDC                           12
    #define       bISA_XOR_EX_ALU16ADDC                        1
    #define   MSK32ISA_XOR_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_XOR_EX_ALU16SUBC                        0x0011
    #define     B16ISA_XOR_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_XOR_EX_ALU16SUBC                           13
    #define   LSb16ISA_XOR_EX_ALU16SUBC                           13
    #define       bISA_XOR_EX_ALU16SUBC                        1
    #define   MSK32ISA_XOR_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_XOR_EX_ALU16ASR                         0x0011
    #define     B16ISA_XOR_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_XOR_EX_ALU16ASR                            14
    #define   LSb16ISA_XOR_EX_ALU16ASR                            14
    #define       bISA_XOR_EX_ALU16ASR                         1
    #define   MSK32ISA_XOR_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_XOR_EX_ALU16SL                          0x0011
    #define     B16ISA_XOR_EX_ALU16SL                          0x0010
    #define   LSb32ISA_XOR_EX_ALU16SL                             15
    #define   LSb16ISA_XOR_EX_ALU16SL                             15
    #define       bISA_XOR_EX_ALU16SL                          1
    #define   MSK32ISA_XOR_EX_ALU16SL                             0x00008000

    #define     BA_ISA_XOR_EX_ALU16SR                          0x0012
    #define     B16ISA_XOR_EX_ALU16SR                          0x0012
    #define   LSb32ISA_XOR_EX_ALU16SR                             16
    #define   LSb16ISA_XOR_EX_ALU16SR                             0
    #define       bISA_XOR_EX_ALU16SR                          1
    #define   MSK32ISA_XOR_EX_ALU16SR                             0x00010000

    #define     BA_ISA_XOR_EX_ALU16GET                         0x0012
    #define     B16ISA_XOR_EX_ALU16GET                         0x0012
    #define   LSb32ISA_XOR_EX_ALU16GET                            17
    #define   LSb16ISA_XOR_EX_ALU16GET                            1
    #define       bISA_XOR_EX_ALU16GET                         1
    #define   MSK32ISA_XOR_EX_ALU16GET                            0x00020000

    #define     BA_ISA_XOR_EX_ALU16SET                         0x0012
    #define     B16ISA_XOR_EX_ALU16SET                         0x0012
    #define   LSb32ISA_XOR_EX_ALU16SET                            18
    #define   LSb16ISA_XOR_EX_ALU16SET                            2
    #define       bISA_XOR_EX_ALU16SET                         1
    #define   MSK32ISA_XOR_EX_ALU16SET                            0x00040000

    #define     BA_ISA_XOR_EX_ALU16SEL                         0x0012
    #define     B16ISA_XOR_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_XOR_EX_ALU16SEL                            19
    #define   LSb16ISA_XOR_EX_ALU16SEL                            3
    #define       bISA_XOR_EX_ALU16SEL                         1
    #define   MSK32ISA_XOR_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_XOR_EX_ALU16OR                          0x0012
    #define     B16ISA_XOR_EX_ALU16OR                          0x0012
    #define   LSb32ISA_XOR_EX_ALU16OR                             20
    #define   LSb16ISA_XOR_EX_ALU16OR                             4
    #define       bISA_XOR_EX_ALU16OR                          1
    #define   MSK32ISA_XOR_EX_ALU16OR                             0x00100000

    #define     BA_ISA_XOR_EX_ALU16AND                         0x0012
    #define     B16ISA_XOR_EX_ALU16AND                         0x0012
    #define   LSb32ISA_XOR_EX_ALU16AND                            21
    #define   LSb16ISA_XOR_EX_ALU16AND                            5
    #define       bISA_XOR_EX_ALU16AND                         1
    #define   MSK32ISA_XOR_EX_ALU16AND                            0x00200000

    #define     BA_ISA_XOR_EX_ALU16XOR                         0x0012
    #define     B16ISA_XOR_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_XOR_EX_ALU16XOR                            22
    #define   LSb16ISA_XOR_EX_ALU16XOR                            6
    #define       bISA_XOR_EX_ALU16XOR                         1
    #define   MSK32ISA_XOR_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_XOR_EX_ALU16SP                          0x0012
    #define     B16ISA_XOR_EX_ALU16SP                          0x0012
    #define   LSb32ISA_XOR_EX_ALU16SP                             23
    #define   LSb16ISA_XOR_EX_ALU16SP                             7
    #define       bISA_XOR_EX_ALU16SP                          1
    #define   MSK32ISA_XOR_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_EXX                                 0x0014

    #define     BA_ISA_XOR_EXX_WRSQ                            0x0014
    #define     B16ISA_XOR_EXX_WRSQ                            0x0014
    #define   LSb32ISA_XOR_EXX_WRSQ                               0
    #define   LSb16ISA_XOR_EXX_WRSQ                               0
    #define       bISA_XOR_EXX_WRSQ                            1
    #define   MSK32ISA_XOR_EXX_WRSQ                               0x00000001

    #define     BA_ISA_XOR_EXX_WR16                            0x0014
    #define     B16ISA_XOR_EXX_WR16                            0x0014
    #define   LSb32ISA_XOR_EXX_WR16                               1
    #define   LSb16ISA_XOR_EXX_WR16                               1
    #define       bISA_XOR_EXX_WR16                            1
    #define   MSK32ISA_XOR_EXX_WR16                               0x00000002

    #define     BA_ISA_XOR_EXX_WRTQ                            0x0014
    #define     B16ISA_XOR_EXX_WRTQ                            0x0014
    #define   LSb32ISA_XOR_EXX_WRTQ                               2
    #define   LSb16ISA_XOR_EXX_WRTQ                               2
    #define       bISA_XOR_EXX_WRTQ                            1
    #define   MSK32ISA_XOR_EXX_WRTQ                               0x00000004

    #define     BA_ISA_XOR_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_XOR_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_XOR_EXX_ALU64PUSH                          3
    #define   LSb16ISA_XOR_EXX_ALU64PUSH                          3
    #define       bISA_XOR_EXX_ALU64PUSH                       1
    #define   MSK32ISA_XOR_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_XOR_EXX_ALU64POP                        0x0014
    #define     B16ISA_XOR_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_XOR_EXX_ALU64POP                           4
    #define   LSb16ISA_XOR_EXX_ALU64POP                           4
    #define       bISA_XOR_EXX_ALU64POP                        1
    #define   MSK32ISA_XOR_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_XOR_EXX_ALU64SQ                         0x0014
    #define     B16ISA_XOR_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_XOR_EXX_ALU64SQ                            5
    #define   LSb16ISA_XOR_EXX_ALU64SQ                            5
    #define       bISA_XOR_EXX_ALU64SQ                         1
    #define   MSK32ISA_XOR_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_XOR_EXX_ALU64TQ                         0x0014
    #define     B16ISA_XOR_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_XOR_EXX_ALU64TQ                            6
    #define   LSb16ISA_XOR_EXX_ALU64TQ                            6
    #define       bISA_XOR_EXX_ALU64TQ                         1
    #define   MSK32ISA_XOR_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_XOR_EXX_ALU64MEM                        0x0014
    #define     B16ISA_XOR_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_XOR_EXX_ALU64MEM                           7
    #define   LSb16ISA_XOR_EXX_ALU64MEM                           7
    #define       bISA_XOR_EXX_ALU64MEM                        1
    #define   MSK32ISA_XOR_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_XOR_EXX_BRANCH                          0x0015
    #define     B16ISA_XOR_EXX_BRANCH                          0x0014
    #define   LSb32ISA_XOR_EXX_BRANCH                             8
    #define   LSb16ISA_XOR_EXX_BRANCH                             8
    #define       bISA_XOR_EXX_BRANCH                          1
    #define   MSK32ISA_XOR_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XOR_WB                                  0x0018

    #define     BA_ISA_XOR_WB_RF16                             0x0018
    #define     B16ISA_XOR_WB_RF16                             0x0018
    #define   LSb32ISA_XOR_WB_RF16                                0
    #define   LSb16ISA_XOR_WB_RF16                                0
    #define       bISA_XOR_WB_RF16                             1
    #define   MSK32ISA_XOR_WB_RF16                                0x00000001

    #define     BA_ISA_XOR_WB_RF16W0                           0x0018
    #define     B16ISA_XOR_WB_RF16W0                           0x0018
    #define   LSb32ISA_XOR_WB_RF16W0                              1
    #define   LSb16ISA_XOR_WB_RF16W0                              1
    #define       bISA_XOR_WB_RF16W0                           1
    #define   MSK32ISA_XOR_WB_RF16W0                              0x00000002

    #define     BA_ISA_XOR_WB_RF16MEM                          0x0018
    #define     B16ISA_XOR_WB_RF16MEM                          0x0018
    #define   LSb32ISA_XOR_WB_RF16MEM                             2
    #define   LSb16ISA_XOR_WB_RF16MEM                             2
    #define       bISA_XOR_WB_RF16MEM                          1
    #define   MSK32ISA_XOR_WB_RF16MEM                             0x00000004

    #define     BA_ISA_XOR_WB_RF16Q                            0x0018
    #define     B16ISA_XOR_WB_RF16Q                            0x0018
    #define   LSb32ISA_XOR_WB_RF16Q                               3
    #define   LSb16ISA_XOR_WB_RF16Q                               3
    #define       bISA_XOR_WB_RF16Q                            1
    #define   MSK32ISA_XOR_WB_RF16Q                               0x00000008

    #define     BA_ISA_XOR_WB_RF64                             0x0018
    #define     B16ISA_XOR_WB_RF64                             0x0018
    #define   LSb32ISA_XOR_WB_RF64                                4
    #define   LSb16ISA_XOR_WB_RF64                                4
    #define       bISA_XOR_WB_RF64                             1
    #define   MSK32ISA_XOR_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XOR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_XOR_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_XOR_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XOR_Mask;
            struct w32ISA_XOR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_XOR_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_XOR_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XOR_Opcode;
            struct w32ISA_XOR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOR_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOR_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOR_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOR_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOR_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOR_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOR_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOR_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOR_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOR_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOR_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOR_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOR_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOR_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOR_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOR_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOR_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOR_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOR_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOR_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XOR_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XOR_ID;
            struct w32ISA_XOR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOR_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOR_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOR_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOR_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOR_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOR_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOR_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOR_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOR_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOR_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOR_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOR_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOR_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOR_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOR_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOR_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOR_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOR_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOR_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOR_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOR_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOR_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOR_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOR_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XOR_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_XOR_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XOR_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_XOR_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XOR_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_XOR_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_XOR_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_XOR_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_XOR_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_XOR_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_XOR_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_XOR_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_XOR_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_XOR_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_XOR_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_XOR_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_XOR_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_XOR_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_XOR_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_XOR_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_XOR_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_XOR_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_XOR_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_XOR_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_XOR_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_XOR_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_XOR_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_XOR_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_XOR_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_XOR_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_XOR_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_XOR_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_XOR_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_XOR_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_XOR_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_XOR_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_XOR_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_XOR_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_XOR_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_XOR_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_XOR_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XOR_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XOR_LD;
            struct w32ISA_XOR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOR_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOR_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOR_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOR_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOR_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOR_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOR_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOR_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOR_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOR_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOR_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOR_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOR_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOR_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOR_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOR_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOR_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOR_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOR_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOR_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOR_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOR_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOR_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOR_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XOR_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_XOR_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XOR_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_XOR_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XOR_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_XOR_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_XOR_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_XOR_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_XOR_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_XOR_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_XOR_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_XOR_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_XOR_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_XOR_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_XOR_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_XOR_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_XOR_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_XOR_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_XOR_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_XOR_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_XOR_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XOR_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XOR_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XOR_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XOR_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_XOR_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_XOR_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_XOR_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_XOR_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_XOR_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_XOR_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_XOR_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_XOR_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_XOR_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_XOR_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_XOR_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_XOR_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XOR_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XOR_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XOR_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XOR_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOR_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_XOR_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_XOR_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOR_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOR_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_XOR_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_XOR_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOR_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XOR_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XOR_EX;
            struct w32ISA_XOR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOR_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOR_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOR_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOR_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOR_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOR_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOR_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOR_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOR_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOR_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XOR_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_XOR_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XOR_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XOR_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XOR_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XOR_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XOR_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XOR_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XOR_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_XOR_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XOR_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_XOR_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XOR_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XOR_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XOR_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XOR_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XOR_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XOR_EXX;
            struct w32ISA_XOR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XOR_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_XOR_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XOR_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_XOR_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XOR_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_XOR_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XOR_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_XOR_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XOR_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XOR_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XOR_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XOR_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XOR_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_XOR_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XOR_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_XOR_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XOR_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_XOR_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XOR_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_XOR_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XOR_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XOR_WB;
            struct w32ISA_XOR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XOR;

    typedef union  T32ISA_XOR_Mask
          { UNSG32 u32;
            struct w32ISA_XOR_Mask;
                 } T32ISA_XOR_Mask;
    typedef union  T32ISA_XOR_Opcode
          { UNSG32 u32;
            struct w32ISA_XOR_Opcode;
                 } T32ISA_XOR_Opcode;
    typedef union  T32ISA_XOR_ID
          { UNSG32 u32;
            struct w32ISA_XOR_ID;
                 } T32ISA_XOR_ID;
    typedef union  T32ISA_XOR_LD
          { UNSG32 u32;
            struct w32ISA_XOR_LD;
                 } T32ISA_XOR_LD;
    typedef union  T32ISA_XOR_EX
          { UNSG32 u32;
            struct w32ISA_XOR_EX;
                 } T32ISA_XOR_EX;
    typedef union  T32ISA_XOR_EXX
          { UNSG32 u32;
            struct w32ISA_XOR_EXX;
                 } T32ISA_XOR_EXX;
    typedef union  T32ISA_XOR_WB
          { UNSG32 u32;
            struct w32ISA_XOR_WB;
                 } T32ISA_XOR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XOR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_Mask;
                   };
                 } TISA_XOR_Mask;
    typedef union  TISA_XOR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_Opcode;
                   };
                 } TISA_XOR_Opcode;
    typedef union  TISA_XOR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_ID;
                   };
                 } TISA_XOR_ID;
    typedef union  TISA_XOR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_LD;
                   };
                 } TISA_XOR_LD;
    typedef union  TISA_XOR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_EX;
                   };
                 } TISA_XOR_EX;
    typedef union  TISA_XOR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_EXX;
                   };
                 } TISA_XOR_EXX;
    typedef union  TISA_XOR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XOR_WB;
                   };
                 } TISA_XOR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XOR_drvrd(SIE_ISA_XOR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XOR_drvwr(SIE_ISA_XOR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XOR_reset(SIE_ISA_XOR *p);
     SIGN32 ISA_XOR_cmp  (SIE_ISA_XOR *p, SIE_ISA_XOR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XOR_check(p,pie,pfx,hLOG) ISA_XOR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XOR_print(p,    pfx,hLOG) ISA_XOR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XOR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_BFGETi                               (4,4)
///     ###
///     * Get a bit-field of a register to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x60000
///                                    ###
///                                    * -                                                                 
///                                    * - { "BFGET.i" , "rD,rS,C,K"   , "0000 0110 SSSS CCCC KKKK DDDD" } ,
///                                    * - Usage:
///                                    * -    BFGET.i %d1, %a1, 1, 3 ; %d1 = (%a1 & 0xE) >> 1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  0x1
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_BFGETi
#define h_ISA_BFGETi (){}

    #define     RA_ISA_BFGETi_Mask                             0x0000

    #define     BA_ISA_BFGETi_Mask_INS                         0x0000
    #define     B16ISA_BFGETi_Mask_INS                         0x0000
    #define   LSb32ISA_BFGETi_Mask_INS                            0
    #define   LSb16ISA_BFGETi_Mask_INS                            0
    #define       bISA_BFGETi_Mask_INS                         24
    #define   MSK32ISA_BFGETi_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_Opcode                           0x0004

    #define     BA_ISA_BFGETi_Opcode_INS                       0x0004
    #define     B16ISA_BFGETi_Opcode_INS                       0x0004
    #define   LSb32ISA_BFGETi_Opcode_INS                          0
    #define   LSb16ISA_BFGETi_Opcode_INS                          0
    #define       bISA_BFGETi_Opcode_INS                       24
    #define   MSK32ISA_BFGETi_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_ID                               0x0008

    #define     BA_ISA_BFGETi_ID_RBRF                          0x0008
    #define     B16ISA_BFGETi_ID_RBRF                          0x0008
    #define   LSb32ISA_BFGETi_ID_RBRF                             0
    #define   LSb16ISA_BFGETi_ID_RBRF                             0
    #define       bISA_BFGETi_ID_RBRF                          1
    #define   MSK32ISA_BFGETi_ID_RBRF                             0x00000001

    #define     BA_ISA_BFGETi_ID_RARF                          0x0008
    #define     B16ISA_BFGETi_ID_RARF                          0x0008
    #define   LSb32ISA_BFGETi_ID_RARF                             1
    #define   LSb16ISA_BFGETi_ID_RARF                             1
    #define       bISA_BFGETi_ID_RARF                          1
    #define   MSK32ISA_BFGETi_ID_RARF                             0x00000002

    #define     BA_ISA_BFGETi_ID_RAK8                          0x0008
    #define     B16ISA_BFGETi_ID_RAK8                          0x0008
    #define   LSb32ISA_BFGETi_ID_RAK8                             2
    #define   LSb16ISA_BFGETi_ID_RAK8                             2
    #define       bISA_BFGETi_ID_RAK8                          1
    #define   MSK32ISA_BFGETi_ID_RAK8                             0x00000004

    #define     BA_ISA_BFGETi_ID_RAI16                         0x0008
    #define     B16ISA_BFGETi_ID_RAI16                         0x0008
    #define   LSb32ISA_BFGETi_ID_RAI16                            3
    #define   LSb16ISA_BFGETi_ID_RAI16                            3
    #define       bISA_BFGETi_ID_RAI16                         1
    #define   MSK32ISA_BFGETi_ID_RAI16                            0x00000008

    #define     BA_ISA_BFGETi_ID_RAK16                         0x0008
    #define     B16ISA_BFGETi_ID_RAK16                         0x0008
    #define   LSb32ISA_BFGETi_ID_RAK16                            4
    #define   LSb16ISA_BFGETi_ID_RAK16                            4
    #define       bISA_BFGETi_ID_RAK16                         1
    #define   MSK32ISA_BFGETi_ID_RAK16                            0x00000010

    #define     BA_ISA_BFGETi_ID_RFSP                          0x0008
    #define     B16ISA_BFGETi_ID_RFSP                          0x0008
    #define   LSb32ISA_BFGETi_ID_RFSP                             5
    #define   LSb16ISA_BFGETi_ID_RFSP                             5
    #define       bISA_BFGETi_ID_RFSP                          1
    #define   MSK32ISA_BFGETi_ID_RFSP                             0x00000020

    #define     BA_ISA_BFGETi_ID_W4D4                          0x0008
    #define     B16ISA_BFGETi_ID_W4D4                          0x0008
    #define   LSb32ISA_BFGETi_ID_W4D4                             6
    #define   LSb16ISA_BFGETi_ID_W4D4                             6
    #define       bISA_BFGETi_ID_W4D4                          1
    #define   MSK32ISA_BFGETi_ID_W4D4                             0x00000040

    #define     BA_ISA_BFGETi_ID_W4S4                          0x0008
    #define     B16ISA_BFGETi_ID_W4S4                          0x0008
    #define   LSb32ISA_BFGETi_ID_W4S4                             7
    #define   LSb16ISA_BFGETi_ID_W4S4                             7
    #define       bISA_BFGETi_ID_W4S4                          1
    #define   MSK32ISA_BFGETi_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_LD                               0x000C

    #define     BA_ISA_BFGETi_LD_SPRF                          0x000C
    #define     B16ISA_BFGETi_LD_SPRF                          0x000C
    #define   LSb32ISA_BFGETi_LD_SPRF                             0
    #define   LSb16ISA_BFGETi_LD_SPRF                             0
    #define       bISA_BFGETi_LD_SPRF                          1
    #define   MSK32ISA_BFGETi_LD_SPRF                             0x00000001

    #define     BA_ISA_BFGETi_LD_SPK8                          0x000C
    #define     B16ISA_BFGETi_LD_SPK8                          0x000C
    #define   LSb32ISA_BFGETi_LD_SPK8                             1
    #define   LSb16ISA_BFGETi_LD_SPK8                             1
    #define       bISA_BFGETi_LD_SPK8                          1
    #define   MSK32ISA_BFGETi_LD_SPK8                             0x00000002

    #define     BA_ISA_BFGETi_LD_SPJ                           0x000C
    #define     B16ISA_BFGETi_LD_SPJ                           0x000C
    #define   LSb32ISA_BFGETi_LD_SPJ                              2
    #define   LSb16ISA_BFGETi_LD_SPJ                              2
    #define       bISA_BFGETi_LD_SPJ                           1
    #define   MSK32ISA_BFGETi_LD_SPJ                              0x00000004

    #define     BA_ISA_BFGETi_LD_SP4S                          0x000C
    #define     B16ISA_BFGETi_LD_SP4S                          0x000C
    #define   LSb32ISA_BFGETi_LD_SP4S                             3
    #define   LSb16ISA_BFGETi_LD_SP4S                             3
    #define       bISA_BFGETi_LD_SP4S                          1
    #define   MSK32ISA_BFGETi_LD_SP4S                             0x00000008

    #define     BA_ISA_BFGETi_LD_SP8S                          0x000C
    #define     B16ISA_BFGETi_LD_SP8S                          0x000C
    #define   LSb32ISA_BFGETi_LD_SP8S                             4
    #define   LSb16ISA_BFGETi_LD_SP8S                             4
    #define       bISA_BFGETi_LD_SP8S                          1
    #define   MSK32ISA_BFGETi_LD_SP8S                             0x00000010

    #define     BA_ISA_BFGETi_LD_SP8U                          0x000C
    #define     B16ISA_BFGETi_LD_SP8U                          0x000C
    #define   LSb32ISA_BFGETi_LD_SP8U                             5
    #define   LSb16ISA_BFGETi_LD_SP8U                             5
    #define       bISA_BFGETi_LD_SP8U                          1
    #define   MSK32ISA_BFGETi_LD_SP8U                             0x00000020

    #define     BA_ISA_BFGETi_LD_SP12S                         0x000C
    #define     B16ISA_BFGETi_LD_SP12S                         0x000C
    #define   LSb32ISA_BFGETi_LD_SP12S                            6
    #define   LSb16ISA_BFGETi_LD_SP12S                            6
    #define       bISA_BFGETi_LD_SP12S                         1
    #define   MSK32ISA_BFGETi_LD_SP12S                            0x00000040

    #define     BA_ISA_BFGETi_LD_SP16                          0x000C
    #define     B16ISA_BFGETi_LD_SP16                          0x000C
    #define   LSb32ISA_BFGETi_LD_SP16                             7
    #define   LSb16ISA_BFGETi_LD_SP16                             7
    #define       bISA_BFGETi_LD_SP16                          1
    #define   MSK32ISA_BFGETi_LD_SP16                             0x00000080

    #define     BA_ISA_BFGETi_LD_TPRF                          0x000D
    #define     B16ISA_BFGETi_LD_TPRF                          0x000C
    #define   LSb32ISA_BFGETi_LD_TPRF                             8
    #define   LSb16ISA_BFGETi_LD_TPRF                             8
    #define       bISA_BFGETi_LD_TPRF                          1
    #define   MSK32ISA_BFGETi_LD_TPRF                             0x00000100

    #define     BA_ISA_BFGETi_LD_TPJ                           0x000D
    #define     B16ISA_BFGETi_LD_TPJ                           0x000C
    #define   LSb32ISA_BFGETi_LD_TPJ                              9
    #define   LSb16ISA_BFGETi_LD_TPJ                              9
    #define       bISA_BFGETi_LD_TPJ                           1
    #define   MSK32ISA_BFGETi_LD_TPJ                              0x00000200

    #define     BA_ISA_BFGETi_LD_TP4S                          0x000D
    #define     B16ISA_BFGETi_LD_TP4S                          0x000C
    #define   LSb32ISA_BFGETi_LD_TP4S                             10
    #define   LSb16ISA_BFGETi_LD_TP4S                             10
    #define       bISA_BFGETi_LD_TP4S                          1
    #define   MSK32ISA_BFGETi_LD_TP4S                             0x00000400

    #define     BA_ISA_BFGETi_LD_TP8L                          0x000D
    #define     B16ISA_BFGETi_LD_TP8L                          0x000C
    #define   LSb32ISA_BFGETi_LD_TP8L                             11
    #define   LSb16ISA_BFGETi_LD_TP8L                             11
    #define       bISA_BFGETi_LD_TP8L                          1
    #define   MSK32ISA_BFGETi_LD_TP8L                             0x00000800

    #define     BA_ISA_BFGETi_LD_TP8H                          0x000D
    #define     B16ISA_BFGETi_LD_TP8H                          0x000C
    #define   LSb32ISA_BFGETi_LD_TP8H                             12
    #define   LSb16ISA_BFGETi_LD_TP8H                             12
    #define       bISA_BFGETi_LD_TP8H                          1
    #define   MSK32ISA_BFGETi_LD_TP8H                             0x00001000

    #define     BA_ISA_BFGETi_LD_TP8LF                         0x000D
    #define     B16ISA_BFGETi_LD_TP8LF                         0x000C
    #define   LSb32ISA_BFGETi_LD_TP8LF                            13
    #define   LSb16ISA_BFGETi_LD_TP8LF                            13
    #define       bISA_BFGETi_LD_TP8LF                         1
    #define   MSK32ISA_BFGETi_LD_TP8LF                            0x00002000

    #define     BA_ISA_BFGETi_LD_TP8HF                         0x000D
    #define     B16ISA_BFGETi_LD_TP8HF                         0x000C
    #define   LSb32ISA_BFGETi_LD_TP8HF                            14
    #define   LSb16ISA_BFGETi_LD_TP8HF                            14
    #define       bISA_BFGETi_LD_TP8HF                         1
    #define   MSK32ISA_BFGETi_LD_TP8HF                            0x00004000

    #define     BA_ISA_BFGETi_LD_SQRF64                        0x000D
    #define     B16ISA_BFGETi_LD_SQRF64                        0x000C
    #define   LSb32ISA_BFGETi_LD_SQRF64                           15
    #define   LSb16ISA_BFGETi_LD_SQRF64                           15
    #define       bISA_BFGETi_LD_SQRF64                        1
    #define   MSK32ISA_BFGETi_LD_SQRF64                           0x00008000

    #define     BA_ISA_BFGETi_LD_TQRF16Q                       0x000E
    #define     B16ISA_BFGETi_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_BFGETi_LD_TQRF16Q                          16
    #define   LSb16ISA_BFGETi_LD_TQRF16Q                          0
    #define       bISA_BFGETi_LD_TQRF16Q                       1
    #define   MSK32ISA_BFGETi_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_BFGETi_LD_TQRFx4                        0x000E
    #define     B16ISA_BFGETi_LD_TQRFx4                        0x000E
    #define   LSb32ISA_BFGETi_LD_TQRFx4                           17
    #define   LSb16ISA_BFGETi_LD_TQRFx4                           1
    #define       bISA_BFGETi_LD_TQRFx4                        1
    #define   MSK32ISA_BFGETi_LD_TQRFx4                           0x00020000

    #define     BA_ISA_BFGETi_LD_RD                            0x000E
    #define     B16ISA_BFGETi_LD_RD                            0x000E
    #define   LSb32ISA_BFGETi_LD_RD                               18
    #define   LSb16ISA_BFGETi_LD_RD                               2
    #define       bISA_BFGETi_LD_RD                            1
    #define   MSK32ISA_BFGETi_LD_RD                               0x00040000

    #define     BA_ISA_BFGETi_LD_WARF                          0x000E
    #define     B16ISA_BFGETi_LD_WARF                          0x000E
    #define   LSb32ISA_BFGETi_LD_WARF                             19
    #define   LSb16ISA_BFGETi_LD_WARF                             3
    #define       bISA_BFGETi_LD_WARF                          1
    #define   MSK32ISA_BFGETi_LD_WARF                             0x00080000

    #define     BA_ISA_BFGETi_LD_WAK8                          0x000E
    #define     B16ISA_BFGETi_LD_WAK8                          0x000E
    #define   LSb32ISA_BFGETi_LD_WAK8                             20
    #define   LSb16ISA_BFGETi_LD_WAK8                             4
    #define       bISA_BFGETi_LD_WAK8                          1
    #define   MSK32ISA_BFGETi_LD_WAK8                             0x00100000

    #define     BA_ISA_BFGETi_LD_WAK16                         0x000E
    #define     B16ISA_BFGETi_LD_WAK16                         0x000E
    #define   LSb32ISA_BFGETi_LD_WAK16                            21
    #define   LSb16ISA_BFGETi_LD_WAK16                            5
    #define       bISA_BFGETi_LD_WAK16                         1
    #define   MSK32ISA_BFGETi_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_EX                               0x0010

    #define     BA_ISA_BFGETi_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagZ                       0
    #define   LSb16ISA_BFGETi_EX_ALU16FlagZ                       0
    #define       bISA_BFGETi_EX_ALU16FlagZ                    1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_BFGETi_EX_ALU16FlagC                    0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagC                       1
    #define   LSb16ISA_BFGETi_EX_ALU16FlagC                       1
    #define       bISA_BFGETi_EX_ALU16FlagC                    1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_BFGETi_EX_ALU16FlagN                    0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagN                       2
    #define   LSb16ISA_BFGETi_EX_ALU16FlagN                       2
    #define       bISA_BFGETi_EX_ALU16FlagN                    1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_BFGETi_EX_ALU16FlagV                    0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagV                       3
    #define   LSb16ISA_BFGETi_EX_ALU16FlagV                       3
    #define       bISA_BFGETi_EX_ALU16FlagV                    1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_BFGETi_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagTP                      4
    #define   LSb16ISA_BFGETi_EX_ALU16FlagTP                      4
    #define       bISA_BFGETi_EX_ALU16FlagTP                   1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_BFGETi_EX_ALU16MUL                      0x0010
    #define     B16ISA_BFGETi_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16MUL                         5
    #define   LSb16ISA_BFGETi_EX_ALU16MUL                         5
    #define       bISA_BFGETi_EX_ALU16MUL                      1
    #define   MSK32ISA_BFGETi_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_BFGETi_EX_ALU16DIV                      0x0010
    #define     B16ISA_BFGETi_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16DIV                         6
    #define   LSb16ISA_BFGETi_EX_ALU16DIV                         6
    #define       bISA_BFGETi_EX_ALU16DIV                      1
    #define   MSK32ISA_BFGETi_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_BFGETi_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_BFGETi_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16FlagLD                      7
    #define   LSb16ISA_BFGETi_EX_ALU16FlagLD                      7
    #define       bISA_BFGETi_EX_ALU16FlagLD                   1
    #define   MSK32ISA_BFGETi_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_BFGETi_EX_ALU16MDL                      0x0011
    #define     B16ISA_BFGETi_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16MDL                         8
    #define   LSb16ISA_BFGETi_EX_ALU16MDL                         8
    #define       bISA_BFGETi_EX_ALU16MDL                      1
    #define   MSK32ISA_BFGETi_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_BFGETi_EX_ALU16MDH                      0x0011
    #define     B16ISA_BFGETi_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16MDH                         9
    #define   LSb16ISA_BFGETi_EX_ALU16MDH                         9
    #define       bISA_BFGETi_EX_ALU16MDH                      1
    #define   MSK32ISA_BFGETi_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_BFGETi_EX_ALU16ADD                      0x0011
    #define     B16ISA_BFGETi_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16ADD                         10
    #define   LSb16ISA_BFGETi_EX_ALU16ADD                         10
    #define       bISA_BFGETi_EX_ALU16ADD                      1
    #define   MSK32ISA_BFGETi_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_BFGETi_EX_ALU16SUB                      0x0011
    #define     B16ISA_BFGETi_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16SUB                         11
    #define   LSb16ISA_BFGETi_EX_ALU16SUB                         11
    #define       bISA_BFGETi_EX_ALU16SUB                      1
    #define   MSK32ISA_BFGETi_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_BFGETi_EX_ALU16ADDC                     0x0011
    #define     B16ISA_BFGETi_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16ADDC                        12
    #define   LSb16ISA_BFGETi_EX_ALU16ADDC                        12
    #define       bISA_BFGETi_EX_ALU16ADDC                     1
    #define   MSK32ISA_BFGETi_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_BFGETi_EX_ALU16SUBC                     0x0011
    #define     B16ISA_BFGETi_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16SUBC                        13
    #define   LSb16ISA_BFGETi_EX_ALU16SUBC                        13
    #define       bISA_BFGETi_EX_ALU16SUBC                     1
    #define   MSK32ISA_BFGETi_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_BFGETi_EX_ALU16ASR                      0x0011
    #define     B16ISA_BFGETi_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16ASR                         14
    #define   LSb16ISA_BFGETi_EX_ALU16ASR                         14
    #define       bISA_BFGETi_EX_ALU16ASR                      1
    #define   MSK32ISA_BFGETi_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_BFGETi_EX_ALU16SL                       0x0011
    #define     B16ISA_BFGETi_EX_ALU16SL                       0x0010
    #define   LSb32ISA_BFGETi_EX_ALU16SL                          15
    #define   LSb16ISA_BFGETi_EX_ALU16SL                          15
    #define       bISA_BFGETi_EX_ALU16SL                       1
    #define   MSK32ISA_BFGETi_EX_ALU16SL                          0x00008000

    #define     BA_ISA_BFGETi_EX_ALU16SR                       0x0012
    #define     B16ISA_BFGETi_EX_ALU16SR                       0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16SR                          16
    #define   LSb16ISA_BFGETi_EX_ALU16SR                          0
    #define       bISA_BFGETi_EX_ALU16SR                       1
    #define   MSK32ISA_BFGETi_EX_ALU16SR                          0x00010000

    #define     BA_ISA_BFGETi_EX_ALU16GET                      0x0012
    #define     B16ISA_BFGETi_EX_ALU16GET                      0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16GET                         17
    #define   LSb16ISA_BFGETi_EX_ALU16GET                         1
    #define       bISA_BFGETi_EX_ALU16GET                      1
    #define   MSK32ISA_BFGETi_EX_ALU16GET                         0x00020000

    #define     BA_ISA_BFGETi_EX_ALU16SET                      0x0012
    #define     B16ISA_BFGETi_EX_ALU16SET                      0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16SET                         18
    #define   LSb16ISA_BFGETi_EX_ALU16SET                         2
    #define       bISA_BFGETi_EX_ALU16SET                      1
    #define   MSK32ISA_BFGETi_EX_ALU16SET                         0x00040000

    #define     BA_ISA_BFGETi_EX_ALU16SEL                      0x0012
    #define     B16ISA_BFGETi_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16SEL                         19
    #define   LSb16ISA_BFGETi_EX_ALU16SEL                         3
    #define       bISA_BFGETi_EX_ALU16SEL                      1
    #define   MSK32ISA_BFGETi_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_BFGETi_EX_ALU16OR                       0x0012
    #define     B16ISA_BFGETi_EX_ALU16OR                       0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16OR                          20
    #define   LSb16ISA_BFGETi_EX_ALU16OR                          4
    #define       bISA_BFGETi_EX_ALU16OR                       1
    #define   MSK32ISA_BFGETi_EX_ALU16OR                          0x00100000

    #define     BA_ISA_BFGETi_EX_ALU16AND                      0x0012
    #define     B16ISA_BFGETi_EX_ALU16AND                      0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16AND                         21
    #define   LSb16ISA_BFGETi_EX_ALU16AND                         5
    #define       bISA_BFGETi_EX_ALU16AND                      1
    #define   MSK32ISA_BFGETi_EX_ALU16AND                         0x00200000

    #define     BA_ISA_BFGETi_EX_ALU16XOR                      0x0012
    #define     B16ISA_BFGETi_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16XOR                         22
    #define   LSb16ISA_BFGETi_EX_ALU16XOR                         6
    #define       bISA_BFGETi_EX_ALU16XOR                      1
    #define   MSK32ISA_BFGETi_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_BFGETi_EX_ALU16SP                       0x0012
    #define     B16ISA_BFGETi_EX_ALU16SP                       0x0012
    #define   LSb32ISA_BFGETi_EX_ALU16SP                          23
    #define   LSb16ISA_BFGETi_EX_ALU16SP                          7
    #define       bISA_BFGETi_EX_ALU16SP                       1
    #define   MSK32ISA_BFGETi_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_EXX                              0x0014

    #define     BA_ISA_BFGETi_EXX_WRSQ                         0x0014
    #define     B16ISA_BFGETi_EXX_WRSQ                         0x0014
    #define   LSb32ISA_BFGETi_EXX_WRSQ                            0
    #define   LSb16ISA_BFGETi_EXX_WRSQ                            0
    #define       bISA_BFGETi_EXX_WRSQ                         1
    #define   MSK32ISA_BFGETi_EXX_WRSQ                            0x00000001

    #define     BA_ISA_BFGETi_EXX_WR16                         0x0014
    #define     B16ISA_BFGETi_EXX_WR16                         0x0014
    #define   LSb32ISA_BFGETi_EXX_WR16                            1
    #define   LSb16ISA_BFGETi_EXX_WR16                            1
    #define       bISA_BFGETi_EXX_WR16                         1
    #define   MSK32ISA_BFGETi_EXX_WR16                            0x00000002

    #define     BA_ISA_BFGETi_EXX_WRTQ                         0x0014
    #define     B16ISA_BFGETi_EXX_WRTQ                         0x0014
    #define   LSb32ISA_BFGETi_EXX_WRTQ                            2
    #define   LSb16ISA_BFGETi_EXX_WRTQ                            2
    #define       bISA_BFGETi_EXX_WRTQ                         1
    #define   MSK32ISA_BFGETi_EXX_WRTQ                            0x00000004

    #define     BA_ISA_BFGETi_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_BFGETi_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_BFGETi_EXX_ALU64PUSH                       3
    #define   LSb16ISA_BFGETi_EXX_ALU64PUSH                       3
    #define       bISA_BFGETi_EXX_ALU64PUSH                    1
    #define   MSK32ISA_BFGETi_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_BFGETi_EXX_ALU64POP                     0x0014
    #define     B16ISA_BFGETi_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_BFGETi_EXX_ALU64POP                        4
    #define   LSb16ISA_BFGETi_EXX_ALU64POP                        4
    #define       bISA_BFGETi_EXX_ALU64POP                     1
    #define   MSK32ISA_BFGETi_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_BFGETi_EXX_ALU64SQ                      0x0014
    #define     B16ISA_BFGETi_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_BFGETi_EXX_ALU64SQ                         5
    #define   LSb16ISA_BFGETi_EXX_ALU64SQ                         5
    #define       bISA_BFGETi_EXX_ALU64SQ                      1
    #define   MSK32ISA_BFGETi_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_BFGETi_EXX_ALU64TQ                      0x0014
    #define     B16ISA_BFGETi_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_BFGETi_EXX_ALU64TQ                         6
    #define   LSb16ISA_BFGETi_EXX_ALU64TQ                         6
    #define       bISA_BFGETi_EXX_ALU64TQ                      1
    #define   MSK32ISA_BFGETi_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_BFGETi_EXX_ALU64MEM                     0x0014
    #define     B16ISA_BFGETi_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_BFGETi_EXX_ALU64MEM                        7
    #define   LSb16ISA_BFGETi_EXX_ALU64MEM                        7
    #define       bISA_BFGETi_EXX_ALU64MEM                     1
    #define   MSK32ISA_BFGETi_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_BFGETi_EXX_BRANCH                       0x0015
    #define     B16ISA_BFGETi_EXX_BRANCH                       0x0014
    #define   LSb32ISA_BFGETi_EXX_BRANCH                          8
    #define   LSb16ISA_BFGETi_EXX_BRANCH                          8
    #define       bISA_BFGETi_EXX_BRANCH                       1
    #define   MSK32ISA_BFGETi_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFGETi_WB                               0x0018

    #define     BA_ISA_BFGETi_WB_RF16                          0x0018
    #define     B16ISA_BFGETi_WB_RF16                          0x0018
    #define   LSb32ISA_BFGETi_WB_RF16                             0
    #define   LSb16ISA_BFGETi_WB_RF16                             0
    #define       bISA_BFGETi_WB_RF16                          1
    #define   MSK32ISA_BFGETi_WB_RF16                             0x00000001

    #define     BA_ISA_BFGETi_WB_RF16W0                        0x0018
    #define     B16ISA_BFGETi_WB_RF16W0                        0x0018
    #define   LSb32ISA_BFGETi_WB_RF16W0                           1
    #define   LSb16ISA_BFGETi_WB_RF16W0                           1
    #define       bISA_BFGETi_WB_RF16W0                        1
    #define   MSK32ISA_BFGETi_WB_RF16W0                           0x00000002

    #define     BA_ISA_BFGETi_WB_RF16MEM                       0x0018
    #define     B16ISA_BFGETi_WB_RF16MEM                       0x0018
    #define   LSb32ISA_BFGETi_WB_RF16MEM                          2
    #define   LSb16ISA_BFGETi_WB_RF16MEM                          2
    #define       bISA_BFGETi_WB_RF16MEM                       1
    #define   MSK32ISA_BFGETi_WB_RF16MEM                          0x00000004

    #define     BA_ISA_BFGETi_WB_RF16Q                         0x0018
    #define     B16ISA_BFGETi_WB_RF16Q                         0x0018
    #define   LSb32ISA_BFGETi_WB_RF16Q                            3
    #define   LSb16ISA_BFGETi_WB_RF16Q                            3
    #define       bISA_BFGETi_WB_RF16Q                         1
    #define   MSK32ISA_BFGETi_WB_RF16Q                            0x00000008

    #define     BA_ISA_BFGETi_WB_RF64                          0x0018
    #define     B16ISA_BFGETi_WB_RF64                          0x0018
    #define   LSb32ISA_BFGETi_WB_RF64                             4
    #define   LSb16ISA_BFGETi_WB_RF64                             4
    #define       bISA_BFGETi_WB_RF64                          1
    #define   MSK32ISA_BFGETi_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_BFGETi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_BFGETi_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_BFGETi_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_BFGETi_Mask;
            struct w32ISA_BFGETi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_BFGETi_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_BFGETi_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_BFGETi_Opcode;
            struct w32ISA_BFGETi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFGETi_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFGETi_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFGETi_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFGETi_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFGETi_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFGETi_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFGETi_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFGETi_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFGETi_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFGETi_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFGETi_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFGETi_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFGETi_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFGETi_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFGETi_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFGETi_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFGETi_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFGETi_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFGETi_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFGETi_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_BFGETi_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_BFGETi_ID;
            struct w32ISA_BFGETi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFGETi_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFGETi_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFGETi_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFGETi_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFGETi_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFGETi_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFGETi_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFGETi_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFGETi_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFGETi_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFGETi_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFGETi_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFGETi_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFGETi_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFGETi_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFGETi_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFGETi_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFGETi_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFGETi_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFGETi_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFGETi_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFGETi_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFGETi_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFGETi_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_BFGETi_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_BFGETi_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_BFGETi_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_BFGETi_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_BFGETi_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_BFGETi_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_BFGETi_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_BFGETi_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_BFGETi_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_BFGETi_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_BFGETi_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_BFGETi_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_BFGETi_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_BFGETi_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_BFGETi_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_BFGETi_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_BFGETi_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_BFGETi_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_BFGETi_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_BFGETi_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_BFGETi_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_BFGETi_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_BFGETi_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_BFGETi_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_BFGETi_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_BFGETi_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_BFGETi_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_BFGETi_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_BFGETi_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_BFGETi_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_BFGETi_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_BFGETi_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_BFGETi_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_BFGETi_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_BFGETi_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_BFGETi_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_BFGETi_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_BFGETi_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_BFGETi_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_BFGETi_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_BFGETi_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_BFGETi_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_BFGETi_LD;
            struct w32ISA_BFGETi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFGETi_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFGETi_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFGETi_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFGETi_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFGETi_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFGETi_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFGETi_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFGETi_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFGETi_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFGETi_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFGETi_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFGETi_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFGETi_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFGETi_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFGETi_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFGETi_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFGETi_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFGETi_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFGETi_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_BFGETi_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_BFGETi_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_BFGETi_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_BFGETi_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_BFGETi_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_BFGETi_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_BFGETi_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_BFGETi_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_BFGETi_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_BFGETi_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_BFGETi_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_BFGETi_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_BFGETi_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_BFGETi_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_BFGETi_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_BFGETi_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_BFGETi_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_BFGETi_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_BFGETi_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_BFGETi_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_BFGETi_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_BFGETi_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_BFGETi_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_BFGETi_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_BFGETi_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_BFGETi_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_BFGETi_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_BFGETi_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_BFGETi_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_BFGETi_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_BFGETi_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_BFGETi_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_BFGETi_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_BFGETi_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_BFGETi_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_BFGETi_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_BFGETi_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_BFGETi_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_BFGETi_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_BFGETi_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_BFGETi_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFGETi_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_BFGETi_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_BFGETi_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFGETi_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFGETi_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_BFGETi_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_BFGETi_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFGETi_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_BFGETi_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_BFGETi_EX;
            struct w32ISA_BFGETi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFGETi_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFGETi_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFGETi_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFGETi_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFGETi_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFGETi_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFGETi_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFGETi_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFGETi_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFGETi_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFGETi_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFGETi_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFGETi_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFGETi_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFGETi_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFGETi_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFGETi_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFGETi_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFGETi_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFGETi_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFGETi_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFGETi_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFGETi_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFGETi_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFGETi_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFGETi_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_BFGETi_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_BFGETi_EXX;
            struct w32ISA_BFGETi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFGETi_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFGETi_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFGETi_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFGETi_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFGETi_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFGETi_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFGETi_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFGETi_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFGETi_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFGETi_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFGETi_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFGETi_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFGETi_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFGETi_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFGETi_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFGETi_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFGETi_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFGETi_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFGETi_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFGETi_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_BFGETi_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_BFGETi_WB;
            struct w32ISA_BFGETi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_BFGETi;

    typedef union  T32ISA_BFGETi_Mask
          { UNSG32 u32;
            struct w32ISA_BFGETi_Mask;
                 } T32ISA_BFGETi_Mask;
    typedef union  T32ISA_BFGETi_Opcode
          { UNSG32 u32;
            struct w32ISA_BFGETi_Opcode;
                 } T32ISA_BFGETi_Opcode;
    typedef union  T32ISA_BFGETi_ID
          { UNSG32 u32;
            struct w32ISA_BFGETi_ID;
                 } T32ISA_BFGETi_ID;
    typedef union  T32ISA_BFGETi_LD
          { UNSG32 u32;
            struct w32ISA_BFGETi_LD;
                 } T32ISA_BFGETi_LD;
    typedef union  T32ISA_BFGETi_EX
          { UNSG32 u32;
            struct w32ISA_BFGETi_EX;
                 } T32ISA_BFGETi_EX;
    typedef union  T32ISA_BFGETi_EXX
          { UNSG32 u32;
            struct w32ISA_BFGETi_EXX;
                 } T32ISA_BFGETi_EXX;
    typedef union  T32ISA_BFGETi_WB
          { UNSG32 u32;
            struct w32ISA_BFGETi_WB;
                 } T32ISA_BFGETi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_BFGETi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_Mask;
                   };
                 } TISA_BFGETi_Mask;
    typedef union  TISA_BFGETi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_Opcode;
                   };
                 } TISA_BFGETi_Opcode;
    typedef union  TISA_BFGETi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_ID;
                   };
                 } TISA_BFGETi_ID;
    typedef union  TISA_BFGETi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_LD;
                   };
                 } TISA_BFGETi_LD;
    typedef union  TISA_BFGETi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_EX;
                   };
                 } TISA_BFGETi_EX;
    typedef union  TISA_BFGETi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_EXX;
                   };
                 } TISA_BFGETi_EXX;
    typedef union  TISA_BFGETi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFGETi_WB;
                   };
                 } TISA_BFGETi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_BFGETi_drvrd(SIE_ISA_BFGETi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_BFGETi_drvwr(SIE_ISA_BFGETi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_BFGETi_reset(SIE_ISA_BFGETi *p);
     SIGN32 ISA_BFGETi_cmp  (SIE_ISA_BFGETi *p, SIE_ISA_BFGETi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_BFGETi_check(p,pie,pfx,hLOG) ISA_BFGETi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_BFGETi_print(p,    pfx,hLOG) ISA_BFGETi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_BFGETi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_BFSETi                               (4,4)
///     ###
///     * Set a register to a bit-field of another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x70000
///                                    ###
///                                    * -                                                                 
///                                    * - { "BFSET.i" , "rS,rT,C,K"   , "0000 0111 SSSS CCCC TTTT KKKK" } ,
///                                    * - Usage:
///                                    * -    BFSET.i %d1, %a1, 1, 3 ; %d1 = (%d1 & 0xFFF1) | ((%a1 << 1) & 0xE);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      0x1
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  0x1
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_BFSETi
#define h_ISA_BFSETi (){}

    #define     RA_ISA_BFSETi_Mask                             0x0000

    #define     BA_ISA_BFSETi_Mask_INS                         0x0000
    #define     B16ISA_BFSETi_Mask_INS                         0x0000
    #define   LSb32ISA_BFSETi_Mask_INS                            0
    #define   LSb16ISA_BFSETi_Mask_INS                            0
    #define       bISA_BFSETi_Mask_INS                         24
    #define   MSK32ISA_BFSETi_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_Opcode                           0x0004

    #define     BA_ISA_BFSETi_Opcode_INS                       0x0004
    #define     B16ISA_BFSETi_Opcode_INS                       0x0004
    #define   LSb32ISA_BFSETi_Opcode_INS                          0
    #define   LSb16ISA_BFSETi_Opcode_INS                          0
    #define       bISA_BFSETi_Opcode_INS                       24
    #define   MSK32ISA_BFSETi_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_ID                               0x0008

    #define     BA_ISA_BFSETi_ID_RBRF                          0x0008
    #define     B16ISA_BFSETi_ID_RBRF                          0x0008
    #define   LSb32ISA_BFSETi_ID_RBRF                             0
    #define   LSb16ISA_BFSETi_ID_RBRF                             0
    #define       bISA_BFSETi_ID_RBRF                          1
    #define   MSK32ISA_BFSETi_ID_RBRF                             0x00000001

    #define     BA_ISA_BFSETi_ID_RARF                          0x0008
    #define     B16ISA_BFSETi_ID_RARF                          0x0008
    #define   LSb32ISA_BFSETi_ID_RARF                             1
    #define   LSb16ISA_BFSETi_ID_RARF                             1
    #define       bISA_BFSETi_ID_RARF                          1
    #define   MSK32ISA_BFSETi_ID_RARF                             0x00000002

    #define     BA_ISA_BFSETi_ID_RAK8                          0x0008
    #define     B16ISA_BFSETi_ID_RAK8                          0x0008
    #define   LSb32ISA_BFSETi_ID_RAK8                             2
    #define   LSb16ISA_BFSETi_ID_RAK8                             2
    #define       bISA_BFSETi_ID_RAK8                          1
    #define   MSK32ISA_BFSETi_ID_RAK8                             0x00000004

    #define     BA_ISA_BFSETi_ID_RAI16                         0x0008
    #define     B16ISA_BFSETi_ID_RAI16                         0x0008
    #define   LSb32ISA_BFSETi_ID_RAI16                            3
    #define   LSb16ISA_BFSETi_ID_RAI16                            3
    #define       bISA_BFSETi_ID_RAI16                         1
    #define   MSK32ISA_BFSETi_ID_RAI16                            0x00000008

    #define     BA_ISA_BFSETi_ID_RAK16                         0x0008
    #define     B16ISA_BFSETi_ID_RAK16                         0x0008
    #define   LSb32ISA_BFSETi_ID_RAK16                            4
    #define   LSb16ISA_BFSETi_ID_RAK16                            4
    #define       bISA_BFSETi_ID_RAK16                         1
    #define   MSK32ISA_BFSETi_ID_RAK16                            0x00000010

    #define     BA_ISA_BFSETi_ID_RFSP                          0x0008
    #define     B16ISA_BFSETi_ID_RFSP                          0x0008
    #define   LSb32ISA_BFSETi_ID_RFSP                             5
    #define   LSb16ISA_BFSETi_ID_RFSP                             5
    #define       bISA_BFSETi_ID_RFSP                          1
    #define   MSK32ISA_BFSETi_ID_RFSP                             0x00000020

    #define     BA_ISA_BFSETi_ID_W4D4                          0x0008
    #define     B16ISA_BFSETi_ID_W4D4                          0x0008
    #define   LSb32ISA_BFSETi_ID_W4D4                             6
    #define   LSb16ISA_BFSETi_ID_W4D4                             6
    #define       bISA_BFSETi_ID_W4D4                          1
    #define   MSK32ISA_BFSETi_ID_W4D4                             0x00000040

    #define     BA_ISA_BFSETi_ID_W4S4                          0x0008
    #define     B16ISA_BFSETi_ID_W4S4                          0x0008
    #define   LSb32ISA_BFSETi_ID_W4S4                             7
    #define   LSb16ISA_BFSETi_ID_W4S4                             7
    #define       bISA_BFSETi_ID_W4S4                          1
    #define   MSK32ISA_BFSETi_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_LD                               0x000C

    #define     BA_ISA_BFSETi_LD_SPRF                          0x000C
    #define     B16ISA_BFSETi_LD_SPRF                          0x000C
    #define   LSb32ISA_BFSETi_LD_SPRF                             0
    #define   LSb16ISA_BFSETi_LD_SPRF                             0
    #define       bISA_BFSETi_LD_SPRF                          1
    #define   MSK32ISA_BFSETi_LD_SPRF                             0x00000001

    #define     BA_ISA_BFSETi_LD_SPK8                          0x000C
    #define     B16ISA_BFSETi_LD_SPK8                          0x000C
    #define   LSb32ISA_BFSETi_LD_SPK8                             1
    #define   LSb16ISA_BFSETi_LD_SPK8                             1
    #define       bISA_BFSETi_LD_SPK8                          1
    #define   MSK32ISA_BFSETi_LD_SPK8                             0x00000002

    #define     BA_ISA_BFSETi_LD_SPJ                           0x000C
    #define     B16ISA_BFSETi_LD_SPJ                           0x000C
    #define   LSb32ISA_BFSETi_LD_SPJ                              2
    #define   LSb16ISA_BFSETi_LD_SPJ                              2
    #define       bISA_BFSETi_LD_SPJ                           1
    #define   MSK32ISA_BFSETi_LD_SPJ                              0x00000004

    #define     BA_ISA_BFSETi_LD_SP4S                          0x000C
    #define     B16ISA_BFSETi_LD_SP4S                          0x000C
    #define   LSb32ISA_BFSETi_LD_SP4S                             3
    #define   LSb16ISA_BFSETi_LD_SP4S                             3
    #define       bISA_BFSETi_LD_SP4S                          1
    #define   MSK32ISA_BFSETi_LD_SP4S                             0x00000008

    #define     BA_ISA_BFSETi_LD_SP8S                          0x000C
    #define     B16ISA_BFSETi_LD_SP8S                          0x000C
    #define   LSb32ISA_BFSETi_LD_SP8S                             4
    #define   LSb16ISA_BFSETi_LD_SP8S                             4
    #define       bISA_BFSETi_LD_SP8S                          1
    #define   MSK32ISA_BFSETi_LD_SP8S                             0x00000010

    #define     BA_ISA_BFSETi_LD_SP8U                          0x000C
    #define     B16ISA_BFSETi_LD_SP8U                          0x000C
    #define   LSb32ISA_BFSETi_LD_SP8U                             5
    #define   LSb16ISA_BFSETi_LD_SP8U                             5
    #define       bISA_BFSETi_LD_SP8U                          1
    #define   MSK32ISA_BFSETi_LD_SP8U                             0x00000020

    #define     BA_ISA_BFSETi_LD_SP12S                         0x000C
    #define     B16ISA_BFSETi_LD_SP12S                         0x000C
    #define   LSb32ISA_BFSETi_LD_SP12S                            6
    #define   LSb16ISA_BFSETi_LD_SP12S                            6
    #define       bISA_BFSETi_LD_SP12S                         1
    #define   MSK32ISA_BFSETi_LD_SP12S                            0x00000040

    #define     BA_ISA_BFSETi_LD_SP16                          0x000C
    #define     B16ISA_BFSETi_LD_SP16                          0x000C
    #define   LSb32ISA_BFSETi_LD_SP16                             7
    #define   LSb16ISA_BFSETi_LD_SP16                             7
    #define       bISA_BFSETi_LD_SP16                          1
    #define   MSK32ISA_BFSETi_LD_SP16                             0x00000080

    #define     BA_ISA_BFSETi_LD_TPRF                          0x000D
    #define     B16ISA_BFSETi_LD_TPRF                          0x000C
    #define   LSb32ISA_BFSETi_LD_TPRF                             8
    #define   LSb16ISA_BFSETi_LD_TPRF                             8
    #define       bISA_BFSETi_LD_TPRF                          1
    #define   MSK32ISA_BFSETi_LD_TPRF                             0x00000100

    #define     BA_ISA_BFSETi_LD_TPJ                           0x000D
    #define     B16ISA_BFSETi_LD_TPJ                           0x000C
    #define   LSb32ISA_BFSETi_LD_TPJ                              9
    #define   LSb16ISA_BFSETi_LD_TPJ                              9
    #define       bISA_BFSETi_LD_TPJ                           1
    #define   MSK32ISA_BFSETi_LD_TPJ                              0x00000200

    #define     BA_ISA_BFSETi_LD_TP4S                          0x000D
    #define     B16ISA_BFSETi_LD_TP4S                          0x000C
    #define   LSb32ISA_BFSETi_LD_TP4S                             10
    #define   LSb16ISA_BFSETi_LD_TP4S                             10
    #define       bISA_BFSETi_LD_TP4S                          1
    #define   MSK32ISA_BFSETi_LD_TP4S                             0x00000400

    #define     BA_ISA_BFSETi_LD_TP8L                          0x000D
    #define     B16ISA_BFSETi_LD_TP8L                          0x000C
    #define   LSb32ISA_BFSETi_LD_TP8L                             11
    #define   LSb16ISA_BFSETi_LD_TP8L                             11
    #define       bISA_BFSETi_LD_TP8L                          1
    #define   MSK32ISA_BFSETi_LD_TP8L                             0x00000800

    #define     BA_ISA_BFSETi_LD_TP8H                          0x000D
    #define     B16ISA_BFSETi_LD_TP8H                          0x000C
    #define   LSb32ISA_BFSETi_LD_TP8H                             12
    #define   LSb16ISA_BFSETi_LD_TP8H                             12
    #define       bISA_BFSETi_LD_TP8H                          1
    #define   MSK32ISA_BFSETi_LD_TP8H                             0x00001000

    #define     BA_ISA_BFSETi_LD_TP8LF                         0x000D
    #define     B16ISA_BFSETi_LD_TP8LF                         0x000C
    #define   LSb32ISA_BFSETi_LD_TP8LF                            13
    #define   LSb16ISA_BFSETi_LD_TP8LF                            13
    #define       bISA_BFSETi_LD_TP8LF                         1
    #define   MSK32ISA_BFSETi_LD_TP8LF                            0x00002000

    #define     BA_ISA_BFSETi_LD_TP8HF                         0x000D
    #define     B16ISA_BFSETi_LD_TP8HF                         0x000C
    #define   LSb32ISA_BFSETi_LD_TP8HF                            14
    #define   LSb16ISA_BFSETi_LD_TP8HF                            14
    #define       bISA_BFSETi_LD_TP8HF                         1
    #define   MSK32ISA_BFSETi_LD_TP8HF                            0x00004000

    #define     BA_ISA_BFSETi_LD_SQRF64                        0x000D
    #define     B16ISA_BFSETi_LD_SQRF64                        0x000C
    #define   LSb32ISA_BFSETi_LD_SQRF64                           15
    #define   LSb16ISA_BFSETi_LD_SQRF64                           15
    #define       bISA_BFSETi_LD_SQRF64                        1
    #define   MSK32ISA_BFSETi_LD_SQRF64                           0x00008000

    #define     BA_ISA_BFSETi_LD_TQRF16Q                       0x000E
    #define     B16ISA_BFSETi_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_BFSETi_LD_TQRF16Q                          16
    #define   LSb16ISA_BFSETi_LD_TQRF16Q                          0
    #define       bISA_BFSETi_LD_TQRF16Q                       1
    #define   MSK32ISA_BFSETi_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_BFSETi_LD_TQRFx4                        0x000E
    #define     B16ISA_BFSETi_LD_TQRFx4                        0x000E
    #define   LSb32ISA_BFSETi_LD_TQRFx4                           17
    #define   LSb16ISA_BFSETi_LD_TQRFx4                           1
    #define       bISA_BFSETi_LD_TQRFx4                        1
    #define   MSK32ISA_BFSETi_LD_TQRFx4                           0x00020000

    #define     BA_ISA_BFSETi_LD_RD                            0x000E
    #define     B16ISA_BFSETi_LD_RD                            0x000E
    #define   LSb32ISA_BFSETi_LD_RD                               18
    #define   LSb16ISA_BFSETi_LD_RD                               2
    #define       bISA_BFSETi_LD_RD                            1
    #define   MSK32ISA_BFSETi_LD_RD                               0x00040000

    #define     BA_ISA_BFSETi_LD_WARF                          0x000E
    #define     B16ISA_BFSETi_LD_WARF                          0x000E
    #define   LSb32ISA_BFSETi_LD_WARF                             19
    #define   LSb16ISA_BFSETi_LD_WARF                             3
    #define       bISA_BFSETi_LD_WARF                          1
    #define   MSK32ISA_BFSETi_LD_WARF                             0x00080000

    #define     BA_ISA_BFSETi_LD_WAK8                          0x000E
    #define     B16ISA_BFSETi_LD_WAK8                          0x000E
    #define   LSb32ISA_BFSETi_LD_WAK8                             20
    #define   LSb16ISA_BFSETi_LD_WAK8                             4
    #define       bISA_BFSETi_LD_WAK8                          1
    #define   MSK32ISA_BFSETi_LD_WAK8                             0x00100000

    #define     BA_ISA_BFSETi_LD_WAK16                         0x000E
    #define     B16ISA_BFSETi_LD_WAK16                         0x000E
    #define   LSb32ISA_BFSETi_LD_WAK16                            21
    #define   LSb16ISA_BFSETi_LD_WAK16                            5
    #define       bISA_BFSETi_LD_WAK16                         1
    #define   MSK32ISA_BFSETi_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_EX                               0x0010

    #define     BA_ISA_BFSETi_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagZ                       0
    #define   LSb16ISA_BFSETi_EX_ALU16FlagZ                       0
    #define       bISA_BFSETi_EX_ALU16FlagZ                    1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_BFSETi_EX_ALU16FlagC                    0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagC                       1
    #define   LSb16ISA_BFSETi_EX_ALU16FlagC                       1
    #define       bISA_BFSETi_EX_ALU16FlagC                    1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_BFSETi_EX_ALU16FlagN                    0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagN                       2
    #define   LSb16ISA_BFSETi_EX_ALU16FlagN                       2
    #define       bISA_BFSETi_EX_ALU16FlagN                    1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_BFSETi_EX_ALU16FlagV                    0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagV                       3
    #define   LSb16ISA_BFSETi_EX_ALU16FlagV                       3
    #define       bISA_BFSETi_EX_ALU16FlagV                    1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_BFSETi_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagTP                      4
    #define   LSb16ISA_BFSETi_EX_ALU16FlagTP                      4
    #define       bISA_BFSETi_EX_ALU16FlagTP                   1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_BFSETi_EX_ALU16MUL                      0x0010
    #define     B16ISA_BFSETi_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16MUL                         5
    #define   LSb16ISA_BFSETi_EX_ALU16MUL                         5
    #define       bISA_BFSETi_EX_ALU16MUL                      1
    #define   MSK32ISA_BFSETi_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_BFSETi_EX_ALU16DIV                      0x0010
    #define     B16ISA_BFSETi_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16DIV                         6
    #define   LSb16ISA_BFSETi_EX_ALU16DIV                         6
    #define       bISA_BFSETi_EX_ALU16DIV                      1
    #define   MSK32ISA_BFSETi_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_BFSETi_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_BFSETi_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16FlagLD                      7
    #define   LSb16ISA_BFSETi_EX_ALU16FlagLD                      7
    #define       bISA_BFSETi_EX_ALU16FlagLD                   1
    #define   MSK32ISA_BFSETi_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_BFSETi_EX_ALU16MDL                      0x0011
    #define     B16ISA_BFSETi_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16MDL                         8
    #define   LSb16ISA_BFSETi_EX_ALU16MDL                         8
    #define       bISA_BFSETi_EX_ALU16MDL                      1
    #define   MSK32ISA_BFSETi_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_BFSETi_EX_ALU16MDH                      0x0011
    #define     B16ISA_BFSETi_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16MDH                         9
    #define   LSb16ISA_BFSETi_EX_ALU16MDH                         9
    #define       bISA_BFSETi_EX_ALU16MDH                      1
    #define   MSK32ISA_BFSETi_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_BFSETi_EX_ALU16ADD                      0x0011
    #define     B16ISA_BFSETi_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16ADD                         10
    #define   LSb16ISA_BFSETi_EX_ALU16ADD                         10
    #define       bISA_BFSETi_EX_ALU16ADD                      1
    #define   MSK32ISA_BFSETi_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_BFSETi_EX_ALU16SUB                      0x0011
    #define     B16ISA_BFSETi_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16SUB                         11
    #define   LSb16ISA_BFSETi_EX_ALU16SUB                         11
    #define       bISA_BFSETi_EX_ALU16SUB                      1
    #define   MSK32ISA_BFSETi_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_BFSETi_EX_ALU16ADDC                     0x0011
    #define     B16ISA_BFSETi_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16ADDC                        12
    #define   LSb16ISA_BFSETi_EX_ALU16ADDC                        12
    #define       bISA_BFSETi_EX_ALU16ADDC                     1
    #define   MSK32ISA_BFSETi_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_BFSETi_EX_ALU16SUBC                     0x0011
    #define     B16ISA_BFSETi_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16SUBC                        13
    #define   LSb16ISA_BFSETi_EX_ALU16SUBC                        13
    #define       bISA_BFSETi_EX_ALU16SUBC                     1
    #define   MSK32ISA_BFSETi_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_BFSETi_EX_ALU16ASR                      0x0011
    #define     B16ISA_BFSETi_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16ASR                         14
    #define   LSb16ISA_BFSETi_EX_ALU16ASR                         14
    #define       bISA_BFSETi_EX_ALU16ASR                      1
    #define   MSK32ISA_BFSETi_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_BFSETi_EX_ALU16SL                       0x0011
    #define     B16ISA_BFSETi_EX_ALU16SL                       0x0010
    #define   LSb32ISA_BFSETi_EX_ALU16SL                          15
    #define   LSb16ISA_BFSETi_EX_ALU16SL                          15
    #define       bISA_BFSETi_EX_ALU16SL                       1
    #define   MSK32ISA_BFSETi_EX_ALU16SL                          0x00008000

    #define     BA_ISA_BFSETi_EX_ALU16SR                       0x0012
    #define     B16ISA_BFSETi_EX_ALU16SR                       0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16SR                          16
    #define   LSb16ISA_BFSETi_EX_ALU16SR                          0
    #define       bISA_BFSETi_EX_ALU16SR                       1
    #define   MSK32ISA_BFSETi_EX_ALU16SR                          0x00010000

    #define     BA_ISA_BFSETi_EX_ALU16GET                      0x0012
    #define     B16ISA_BFSETi_EX_ALU16GET                      0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16GET                         17
    #define   LSb16ISA_BFSETi_EX_ALU16GET                         1
    #define       bISA_BFSETi_EX_ALU16GET                      1
    #define   MSK32ISA_BFSETi_EX_ALU16GET                         0x00020000

    #define     BA_ISA_BFSETi_EX_ALU16SET                      0x0012
    #define     B16ISA_BFSETi_EX_ALU16SET                      0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16SET                         18
    #define   LSb16ISA_BFSETi_EX_ALU16SET                         2
    #define       bISA_BFSETi_EX_ALU16SET                      1
    #define   MSK32ISA_BFSETi_EX_ALU16SET                         0x00040000

    #define     BA_ISA_BFSETi_EX_ALU16SEL                      0x0012
    #define     B16ISA_BFSETi_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16SEL                         19
    #define   LSb16ISA_BFSETi_EX_ALU16SEL                         3
    #define       bISA_BFSETi_EX_ALU16SEL                      1
    #define   MSK32ISA_BFSETi_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_BFSETi_EX_ALU16OR                       0x0012
    #define     B16ISA_BFSETi_EX_ALU16OR                       0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16OR                          20
    #define   LSb16ISA_BFSETi_EX_ALU16OR                          4
    #define       bISA_BFSETi_EX_ALU16OR                       1
    #define   MSK32ISA_BFSETi_EX_ALU16OR                          0x00100000

    #define     BA_ISA_BFSETi_EX_ALU16AND                      0x0012
    #define     B16ISA_BFSETi_EX_ALU16AND                      0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16AND                         21
    #define   LSb16ISA_BFSETi_EX_ALU16AND                         5
    #define       bISA_BFSETi_EX_ALU16AND                      1
    #define   MSK32ISA_BFSETi_EX_ALU16AND                         0x00200000

    #define     BA_ISA_BFSETi_EX_ALU16XOR                      0x0012
    #define     B16ISA_BFSETi_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16XOR                         22
    #define   LSb16ISA_BFSETi_EX_ALU16XOR                         6
    #define       bISA_BFSETi_EX_ALU16XOR                      1
    #define   MSK32ISA_BFSETi_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_BFSETi_EX_ALU16SP                       0x0012
    #define     B16ISA_BFSETi_EX_ALU16SP                       0x0012
    #define   LSb32ISA_BFSETi_EX_ALU16SP                          23
    #define   LSb16ISA_BFSETi_EX_ALU16SP                          7
    #define       bISA_BFSETi_EX_ALU16SP                       1
    #define   MSK32ISA_BFSETi_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_EXX                              0x0014

    #define     BA_ISA_BFSETi_EXX_WRSQ                         0x0014
    #define     B16ISA_BFSETi_EXX_WRSQ                         0x0014
    #define   LSb32ISA_BFSETi_EXX_WRSQ                            0
    #define   LSb16ISA_BFSETi_EXX_WRSQ                            0
    #define       bISA_BFSETi_EXX_WRSQ                         1
    #define   MSK32ISA_BFSETi_EXX_WRSQ                            0x00000001

    #define     BA_ISA_BFSETi_EXX_WR16                         0x0014
    #define     B16ISA_BFSETi_EXX_WR16                         0x0014
    #define   LSb32ISA_BFSETi_EXX_WR16                            1
    #define   LSb16ISA_BFSETi_EXX_WR16                            1
    #define       bISA_BFSETi_EXX_WR16                         1
    #define   MSK32ISA_BFSETi_EXX_WR16                            0x00000002

    #define     BA_ISA_BFSETi_EXX_WRTQ                         0x0014
    #define     B16ISA_BFSETi_EXX_WRTQ                         0x0014
    #define   LSb32ISA_BFSETi_EXX_WRTQ                            2
    #define   LSb16ISA_BFSETi_EXX_WRTQ                            2
    #define       bISA_BFSETi_EXX_WRTQ                         1
    #define   MSK32ISA_BFSETi_EXX_WRTQ                            0x00000004

    #define     BA_ISA_BFSETi_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_BFSETi_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_BFSETi_EXX_ALU64PUSH                       3
    #define   LSb16ISA_BFSETi_EXX_ALU64PUSH                       3
    #define       bISA_BFSETi_EXX_ALU64PUSH                    1
    #define   MSK32ISA_BFSETi_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_BFSETi_EXX_ALU64POP                     0x0014
    #define     B16ISA_BFSETi_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_BFSETi_EXX_ALU64POP                        4
    #define   LSb16ISA_BFSETi_EXX_ALU64POP                        4
    #define       bISA_BFSETi_EXX_ALU64POP                     1
    #define   MSK32ISA_BFSETi_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_BFSETi_EXX_ALU64SQ                      0x0014
    #define     B16ISA_BFSETi_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_BFSETi_EXX_ALU64SQ                         5
    #define   LSb16ISA_BFSETi_EXX_ALU64SQ                         5
    #define       bISA_BFSETi_EXX_ALU64SQ                      1
    #define   MSK32ISA_BFSETi_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_BFSETi_EXX_ALU64TQ                      0x0014
    #define     B16ISA_BFSETi_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_BFSETi_EXX_ALU64TQ                         6
    #define   LSb16ISA_BFSETi_EXX_ALU64TQ                         6
    #define       bISA_BFSETi_EXX_ALU64TQ                      1
    #define   MSK32ISA_BFSETi_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_BFSETi_EXX_ALU64MEM                     0x0014
    #define     B16ISA_BFSETi_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_BFSETi_EXX_ALU64MEM                        7
    #define   LSb16ISA_BFSETi_EXX_ALU64MEM                        7
    #define       bISA_BFSETi_EXX_ALU64MEM                     1
    #define   MSK32ISA_BFSETi_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_BFSETi_EXX_BRANCH                       0x0015
    #define     B16ISA_BFSETi_EXX_BRANCH                       0x0014
    #define   LSb32ISA_BFSETi_EXX_BRANCH                          8
    #define   LSb16ISA_BFSETi_EXX_BRANCH                          8
    #define       bISA_BFSETi_EXX_BRANCH                       1
    #define   MSK32ISA_BFSETi_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_BFSETi_WB                               0x0018

    #define     BA_ISA_BFSETi_WB_RF16                          0x0018
    #define     B16ISA_BFSETi_WB_RF16                          0x0018
    #define   LSb32ISA_BFSETi_WB_RF16                             0
    #define   LSb16ISA_BFSETi_WB_RF16                             0
    #define       bISA_BFSETi_WB_RF16                          1
    #define   MSK32ISA_BFSETi_WB_RF16                             0x00000001

    #define     BA_ISA_BFSETi_WB_RF16W0                        0x0018
    #define     B16ISA_BFSETi_WB_RF16W0                        0x0018
    #define   LSb32ISA_BFSETi_WB_RF16W0                           1
    #define   LSb16ISA_BFSETi_WB_RF16W0                           1
    #define       bISA_BFSETi_WB_RF16W0                        1
    #define   MSK32ISA_BFSETi_WB_RF16W0                           0x00000002

    #define     BA_ISA_BFSETi_WB_RF16MEM                       0x0018
    #define     B16ISA_BFSETi_WB_RF16MEM                       0x0018
    #define   LSb32ISA_BFSETi_WB_RF16MEM                          2
    #define   LSb16ISA_BFSETi_WB_RF16MEM                          2
    #define       bISA_BFSETi_WB_RF16MEM                       1
    #define   MSK32ISA_BFSETi_WB_RF16MEM                          0x00000004

    #define     BA_ISA_BFSETi_WB_RF16Q                         0x0018
    #define     B16ISA_BFSETi_WB_RF16Q                         0x0018
    #define   LSb32ISA_BFSETi_WB_RF16Q                            3
    #define   LSb16ISA_BFSETi_WB_RF16Q                            3
    #define       bISA_BFSETi_WB_RF16Q                         1
    #define   MSK32ISA_BFSETi_WB_RF16Q                            0x00000008

    #define     BA_ISA_BFSETi_WB_RF64                          0x0018
    #define     B16ISA_BFSETi_WB_RF64                          0x0018
    #define   LSb32ISA_BFSETi_WB_RF64                             4
    #define   LSb16ISA_BFSETi_WB_RF64                             4
    #define       bISA_BFSETi_WB_RF64                          1
    #define   MSK32ISA_BFSETi_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_BFSETi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_BFSETi_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_BFSETi_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_BFSETi_Mask;
            struct w32ISA_BFSETi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_BFSETi_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_BFSETi_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_BFSETi_Opcode;
            struct w32ISA_BFSETi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFSETi_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFSETi_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFSETi_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFSETi_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFSETi_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFSETi_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFSETi_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFSETi_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFSETi_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFSETi_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFSETi_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFSETi_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFSETi_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFSETi_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFSETi_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFSETi_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFSETi_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFSETi_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFSETi_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFSETi_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_BFSETi_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_BFSETi_ID;
            struct w32ISA_BFSETi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFSETi_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFSETi_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFSETi_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFSETi_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFSETi_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFSETi_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFSETi_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFSETi_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFSETi_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFSETi_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFSETi_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFSETi_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFSETi_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFSETi_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFSETi_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFSETi_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFSETi_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFSETi_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFSETi_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFSETi_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFSETi_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFSETi_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFSETi_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFSETi_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_BFSETi_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_BFSETi_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_BFSETi_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_BFSETi_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_BFSETi_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_BFSETi_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_BFSETi_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_BFSETi_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_BFSETi_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_BFSETi_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_BFSETi_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_BFSETi_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_BFSETi_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_BFSETi_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_BFSETi_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_BFSETi_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_BFSETi_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_BFSETi_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_BFSETi_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_BFSETi_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_BFSETi_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_BFSETi_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_BFSETi_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_BFSETi_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_BFSETi_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_BFSETi_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_BFSETi_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_BFSETi_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_BFSETi_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_BFSETi_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_BFSETi_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_BFSETi_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_BFSETi_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_BFSETi_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_BFSETi_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_BFSETi_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_BFSETi_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_BFSETi_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_BFSETi_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_BFSETi_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_BFSETi_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_BFSETi_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_BFSETi_LD;
            struct w32ISA_BFSETi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFSETi_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFSETi_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFSETi_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFSETi_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFSETi_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFSETi_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFSETi_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFSETi_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFSETi_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFSETi_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFSETi_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFSETi_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFSETi_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFSETi_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFSETi_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFSETi_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFSETi_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFSETi_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFSETi_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_BFSETi_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_BFSETi_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_BFSETi_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_BFSETi_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_BFSETi_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_BFSETi_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_BFSETi_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_BFSETi_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_BFSETi_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_BFSETi_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_BFSETi_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_BFSETi_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_BFSETi_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_BFSETi_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_BFSETi_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_BFSETi_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_BFSETi_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_BFSETi_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_BFSETi_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_BFSETi_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_BFSETi_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_BFSETi_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_BFSETi_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_BFSETi_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_BFSETi_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_BFSETi_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_BFSETi_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_BFSETi_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_BFSETi_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_BFSETi_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_BFSETi_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_BFSETi_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_BFSETi_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_BFSETi_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_BFSETi_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_BFSETi_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_BFSETi_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_BFSETi_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_BFSETi_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_BFSETi_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_BFSETi_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFSETi_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_BFSETi_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_BFSETi_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFSETi_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFSETi_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_BFSETi_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_BFSETi_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFSETi_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_BFSETi_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_BFSETi_EX;
            struct w32ISA_BFSETi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFSETi_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFSETi_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFSETi_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFSETi_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFSETi_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFSETi_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFSETi_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFSETi_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFSETi_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFSETi_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_BFSETi_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_BFSETi_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_BFSETi_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_BFSETi_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_BFSETi_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_BFSETi_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_BFSETi_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_BFSETi_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_BFSETi_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_BFSETi_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_BFSETi_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_BFSETi_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_BFSETi_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_BFSETi_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_BFSETi_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_BFSETi_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_BFSETi_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_BFSETi_EXX;
            struct w32ISA_BFSETi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_BFSETi_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_BFSETi_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_BFSETi_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_BFSETi_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_BFSETi_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_BFSETi_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_BFSETi_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_BFSETi_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_BFSETi_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_BFSETi_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_BFSETi_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_BFSETi_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_BFSETi_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_BFSETi_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_BFSETi_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_BFSETi_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_BFSETi_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_BFSETi_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_BFSETi_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_BFSETi_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_BFSETi_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_BFSETi_WB;
            struct w32ISA_BFSETi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_BFSETi;

    typedef union  T32ISA_BFSETi_Mask
          { UNSG32 u32;
            struct w32ISA_BFSETi_Mask;
                 } T32ISA_BFSETi_Mask;
    typedef union  T32ISA_BFSETi_Opcode
          { UNSG32 u32;
            struct w32ISA_BFSETi_Opcode;
                 } T32ISA_BFSETi_Opcode;
    typedef union  T32ISA_BFSETi_ID
          { UNSG32 u32;
            struct w32ISA_BFSETi_ID;
                 } T32ISA_BFSETi_ID;
    typedef union  T32ISA_BFSETi_LD
          { UNSG32 u32;
            struct w32ISA_BFSETi_LD;
                 } T32ISA_BFSETi_LD;
    typedef union  T32ISA_BFSETi_EX
          { UNSG32 u32;
            struct w32ISA_BFSETi_EX;
                 } T32ISA_BFSETi_EX;
    typedef union  T32ISA_BFSETi_EXX
          { UNSG32 u32;
            struct w32ISA_BFSETi_EXX;
                 } T32ISA_BFSETi_EXX;
    typedef union  T32ISA_BFSETi_WB
          { UNSG32 u32;
            struct w32ISA_BFSETi_WB;
                 } T32ISA_BFSETi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_BFSETi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_Mask;
                   };
                 } TISA_BFSETi_Mask;
    typedef union  TISA_BFSETi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_Opcode;
                   };
                 } TISA_BFSETi_Opcode;
    typedef union  TISA_BFSETi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_ID;
                   };
                 } TISA_BFSETi_ID;
    typedef union  TISA_BFSETi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_LD;
                   };
                 } TISA_BFSETi_LD;
    typedef union  TISA_BFSETi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_EX;
                   };
                 } TISA_BFSETi_EX;
    typedef union  TISA_BFSETi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_EXX;
                   };
                 } TISA_BFSETi_EXX;
    typedef union  TISA_BFSETi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_BFSETi_WB;
                   };
                 } TISA_BFSETi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_BFSETi_drvrd(SIE_ISA_BFSETi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_BFSETi_drvwr(SIE_ISA_BFSETi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_BFSETi_reset(SIE_ISA_BFSETi *p);
     SIGN32 ISA_BFSETi_cmp  (SIE_ISA_BFSETi *p, SIE_ISA_BFSETi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_BFSETi_check(p,pie,pfx,hLOG) ISA_BFSETi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_BFSETi_print(p,    pfx,hLOG) ISA_BFSETi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_BFSETi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ASRi                                 (4,4)
///     ###
///     * Arithmetically right shift a register by an immediate number in [0,15] to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1A0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ASR.i"   , "rD,rS,C"     , "0001 1010 SSSS ---- CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    ASR.i    %d1, %a1, 3     ; %d1 = (signed)%a1 >> 3;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  0x1
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ASRi
#define h_ISA_ASRi (){}

    #define     RA_ISA_ASRi_Mask                               0x0000

    #define     BA_ISA_ASRi_Mask_INS                           0x0000
    #define     B16ISA_ASRi_Mask_INS                           0x0000
    #define   LSb32ISA_ASRi_Mask_INS                              0
    #define   LSb16ISA_ASRi_Mask_INS                              0
    #define       bISA_ASRi_Mask_INS                           24
    #define   MSK32ISA_ASRi_Mask_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_Opcode                             0x0004

    #define     BA_ISA_ASRi_Opcode_INS                         0x0004
    #define     B16ISA_ASRi_Opcode_INS                         0x0004
    #define   LSb32ISA_ASRi_Opcode_INS                            0
    #define   LSb16ISA_ASRi_Opcode_INS                            0
    #define       bISA_ASRi_Opcode_INS                         24
    #define   MSK32ISA_ASRi_Opcode_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_ID                                 0x0008

    #define     BA_ISA_ASRi_ID_RBRF                            0x0008
    #define     B16ISA_ASRi_ID_RBRF                            0x0008
    #define   LSb32ISA_ASRi_ID_RBRF                               0
    #define   LSb16ISA_ASRi_ID_RBRF                               0
    #define       bISA_ASRi_ID_RBRF                            1
    #define   MSK32ISA_ASRi_ID_RBRF                               0x00000001

    #define     BA_ISA_ASRi_ID_RARF                            0x0008
    #define     B16ISA_ASRi_ID_RARF                            0x0008
    #define   LSb32ISA_ASRi_ID_RARF                               1
    #define   LSb16ISA_ASRi_ID_RARF                               1
    #define       bISA_ASRi_ID_RARF                            1
    #define   MSK32ISA_ASRi_ID_RARF                               0x00000002

    #define     BA_ISA_ASRi_ID_RAK8                            0x0008
    #define     B16ISA_ASRi_ID_RAK8                            0x0008
    #define   LSb32ISA_ASRi_ID_RAK8                               2
    #define   LSb16ISA_ASRi_ID_RAK8                               2
    #define       bISA_ASRi_ID_RAK8                            1
    #define   MSK32ISA_ASRi_ID_RAK8                               0x00000004

    #define     BA_ISA_ASRi_ID_RAI16                           0x0008
    #define     B16ISA_ASRi_ID_RAI16                           0x0008
    #define   LSb32ISA_ASRi_ID_RAI16                              3
    #define   LSb16ISA_ASRi_ID_RAI16                              3
    #define       bISA_ASRi_ID_RAI16                           1
    #define   MSK32ISA_ASRi_ID_RAI16                              0x00000008

    #define     BA_ISA_ASRi_ID_RAK16                           0x0008
    #define     B16ISA_ASRi_ID_RAK16                           0x0008
    #define   LSb32ISA_ASRi_ID_RAK16                              4
    #define   LSb16ISA_ASRi_ID_RAK16                              4
    #define       bISA_ASRi_ID_RAK16                           1
    #define   MSK32ISA_ASRi_ID_RAK16                              0x00000010

    #define     BA_ISA_ASRi_ID_RFSP                            0x0008
    #define     B16ISA_ASRi_ID_RFSP                            0x0008
    #define   LSb32ISA_ASRi_ID_RFSP                               5
    #define   LSb16ISA_ASRi_ID_RFSP                               5
    #define       bISA_ASRi_ID_RFSP                            1
    #define   MSK32ISA_ASRi_ID_RFSP                               0x00000020

    #define     BA_ISA_ASRi_ID_W4D4                            0x0008
    #define     B16ISA_ASRi_ID_W4D4                            0x0008
    #define   LSb32ISA_ASRi_ID_W4D4                               6
    #define   LSb16ISA_ASRi_ID_W4D4                               6
    #define       bISA_ASRi_ID_W4D4                            1
    #define   MSK32ISA_ASRi_ID_W4D4                               0x00000040

    #define     BA_ISA_ASRi_ID_W4S4                            0x0008
    #define     B16ISA_ASRi_ID_W4S4                            0x0008
    #define   LSb32ISA_ASRi_ID_W4S4                               7
    #define   LSb16ISA_ASRi_ID_W4S4                               7
    #define       bISA_ASRi_ID_W4S4                            1
    #define   MSK32ISA_ASRi_ID_W4S4                               0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_LD                                 0x000C

    #define     BA_ISA_ASRi_LD_SPRF                            0x000C
    #define     B16ISA_ASRi_LD_SPRF                            0x000C
    #define   LSb32ISA_ASRi_LD_SPRF                               0
    #define   LSb16ISA_ASRi_LD_SPRF                               0
    #define       bISA_ASRi_LD_SPRF                            1
    #define   MSK32ISA_ASRi_LD_SPRF                               0x00000001

    #define     BA_ISA_ASRi_LD_SPK8                            0x000C
    #define     B16ISA_ASRi_LD_SPK8                            0x000C
    #define   LSb32ISA_ASRi_LD_SPK8                               1
    #define   LSb16ISA_ASRi_LD_SPK8                               1
    #define       bISA_ASRi_LD_SPK8                            1
    #define   MSK32ISA_ASRi_LD_SPK8                               0x00000002

    #define     BA_ISA_ASRi_LD_SPJ                             0x000C
    #define     B16ISA_ASRi_LD_SPJ                             0x000C
    #define   LSb32ISA_ASRi_LD_SPJ                                2
    #define   LSb16ISA_ASRi_LD_SPJ                                2
    #define       bISA_ASRi_LD_SPJ                             1
    #define   MSK32ISA_ASRi_LD_SPJ                                0x00000004

    #define     BA_ISA_ASRi_LD_SP4S                            0x000C
    #define     B16ISA_ASRi_LD_SP4S                            0x000C
    #define   LSb32ISA_ASRi_LD_SP4S                               3
    #define   LSb16ISA_ASRi_LD_SP4S                               3
    #define       bISA_ASRi_LD_SP4S                            1
    #define   MSK32ISA_ASRi_LD_SP4S                               0x00000008

    #define     BA_ISA_ASRi_LD_SP8S                            0x000C
    #define     B16ISA_ASRi_LD_SP8S                            0x000C
    #define   LSb32ISA_ASRi_LD_SP8S                               4
    #define   LSb16ISA_ASRi_LD_SP8S                               4
    #define       bISA_ASRi_LD_SP8S                            1
    #define   MSK32ISA_ASRi_LD_SP8S                               0x00000010

    #define     BA_ISA_ASRi_LD_SP8U                            0x000C
    #define     B16ISA_ASRi_LD_SP8U                            0x000C
    #define   LSb32ISA_ASRi_LD_SP8U                               5
    #define   LSb16ISA_ASRi_LD_SP8U                               5
    #define       bISA_ASRi_LD_SP8U                            1
    #define   MSK32ISA_ASRi_LD_SP8U                               0x00000020

    #define     BA_ISA_ASRi_LD_SP12S                           0x000C
    #define     B16ISA_ASRi_LD_SP12S                           0x000C
    #define   LSb32ISA_ASRi_LD_SP12S                              6
    #define   LSb16ISA_ASRi_LD_SP12S                              6
    #define       bISA_ASRi_LD_SP12S                           1
    #define   MSK32ISA_ASRi_LD_SP12S                              0x00000040

    #define     BA_ISA_ASRi_LD_SP16                            0x000C
    #define     B16ISA_ASRi_LD_SP16                            0x000C
    #define   LSb32ISA_ASRi_LD_SP16                               7
    #define   LSb16ISA_ASRi_LD_SP16                               7
    #define       bISA_ASRi_LD_SP16                            1
    #define   MSK32ISA_ASRi_LD_SP16                               0x00000080

    #define     BA_ISA_ASRi_LD_TPRF                            0x000D
    #define     B16ISA_ASRi_LD_TPRF                            0x000C
    #define   LSb32ISA_ASRi_LD_TPRF                               8
    #define   LSb16ISA_ASRi_LD_TPRF                               8
    #define       bISA_ASRi_LD_TPRF                            1
    #define   MSK32ISA_ASRi_LD_TPRF                               0x00000100

    #define     BA_ISA_ASRi_LD_TPJ                             0x000D
    #define     B16ISA_ASRi_LD_TPJ                             0x000C
    #define   LSb32ISA_ASRi_LD_TPJ                                9
    #define   LSb16ISA_ASRi_LD_TPJ                                9
    #define       bISA_ASRi_LD_TPJ                             1
    #define   MSK32ISA_ASRi_LD_TPJ                                0x00000200

    #define     BA_ISA_ASRi_LD_TP4S                            0x000D
    #define     B16ISA_ASRi_LD_TP4S                            0x000C
    #define   LSb32ISA_ASRi_LD_TP4S                               10
    #define   LSb16ISA_ASRi_LD_TP4S                               10
    #define       bISA_ASRi_LD_TP4S                            1
    #define   MSK32ISA_ASRi_LD_TP4S                               0x00000400

    #define     BA_ISA_ASRi_LD_TP8L                            0x000D
    #define     B16ISA_ASRi_LD_TP8L                            0x000C
    #define   LSb32ISA_ASRi_LD_TP8L                               11
    #define   LSb16ISA_ASRi_LD_TP8L                               11
    #define       bISA_ASRi_LD_TP8L                            1
    #define   MSK32ISA_ASRi_LD_TP8L                               0x00000800

    #define     BA_ISA_ASRi_LD_TP8H                            0x000D
    #define     B16ISA_ASRi_LD_TP8H                            0x000C
    #define   LSb32ISA_ASRi_LD_TP8H                               12
    #define   LSb16ISA_ASRi_LD_TP8H                               12
    #define       bISA_ASRi_LD_TP8H                            1
    #define   MSK32ISA_ASRi_LD_TP8H                               0x00001000

    #define     BA_ISA_ASRi_LD_TP8LF                           0x000D
    #define     B16ISA_ASRi_LD_TP8LF                           0x000C
    #define   LSb32ISA_ASRi_LD_TP8LF                              13
    #define   LSb16ISA_ASRi_LD_TP8LF                              13
    #define       bISA_ASRi_LD_TP8LF                           1
    #define   MSK32ISA_ASRi_LD_TP8LF                              0x00002000

    #define     BA_ISA_ASRi_LD_TP8HF                           0x000D
    #define     B16ISA_ASRi_LD_TP8HF                           0x000C
    #define   LSb32ISA_ASRi_LD_TP8HF                              14
    #define   LSb16ISA_ASRi_LD_TP8HF                              14
    #define       bISA_ASRi_LD_TP8HF                           1
    #define   MSK32ISA_ASRi_LD_TP8HF                              0x00004000

    #define     BA_ISA_ASRi_LD_SQRF64                          0x000D
    #define     B16ISA_ASRi_LD_SQRF64                          0x000C
    #define   LSb32ISA_ASRi_LD_SQRF64                             15
    #define   LSb16ISA_ASRi_LD_SQRF64                             15
    #define       bISA_ASRi_LD_SQRF64                          1
    #define   MSK32ISA_ASRi_LD_SQRF64                             0x00008000

    #define     BA_ISA_ASRi_LD_TQRF16Q                         0x000E
    #define     B16ISA_ASRi_LD_TQRF16Q                         0x000E
    #define   LSb32ISA_ASRi_LD_TQRF16Q                            16
    #define   LSb16ISA_ASRi_LD_TQRF16Q                            0
    #define       bISA_ASRi_LD_TQRF16Q                         1
    #define   MSK32ISA_ASRi_LD_TQRF16Q                            0x00010000

    #define     BA_ISA_ASRi_LD_TQRFx4                          0x000E
    #define     B16ISA_ASRi_LD_TQRFx4                          0x000E
    #define   LSb32ISA_ASRi_LD_TQRFx4                             17
    #define   LSb16ISA_ASRi_LD_TQRFx4                             1
    #define       bISA_ASRi_LD_TQRFx4                          1
    #define   MSK32ISA_ASRi_LD_TQRFx4                             0x00020000

    #define     BA_ISA_ASRi_LD_RD                              0x000E
    #define     B16ISA_ASRi_LD_RD                              0x000E
    #define   LSb32ISA_ASRi_LD_RD                                 18
    #define   LSb16ISA_ASRi_LD_RD                                 2
    #define       bISA_ASRi_LD_RD                              1
    #define   MSK32ISA_ASRi_LD_RD                                 0x00040000

    #define     BA_ISA_ASRi_LD_WARF                            0x000E
    #define     B16ISA_ASRi_LD_WARF                            0x000E
    #define   LSb32ISA_ASRi_LD_WARF                               19
    #define   LSb16ISA_ASRi_LD_WARF                               3
    #define       bISA_ASRi_LD_WARF                            1
    #define   MSK32ISA_ASRi_LD_WARF                               0x00080000

    #define     BA_ISA_ASRi_LD_WAK8                            0x000E
    #define     B16ISA_ASRi_LD_WAK8                            0x000E
    #define   LSb32ISA_ASRi_LD_WAK8                               20
    #define   LSb16ISA_ASRi_LD_WAK8                               4
    #define       bISA_ASRi_LD_WAK8                            1
    #define   MSK32ISA_ASRi_LD_WAK8                               0x00100000

    #define     BA_ISA_ASRi_LD_WAK16                           0x000E
    #define     B16ISA_ASRi_LD_WAK16                           0x000E
    #define   LSb32ISA_ASRi_LD_WAK16                              21
    #define   LSb16ISA_ASRi_LD_WAK16                              5
    #define       bISA_ASRi_LD_WAK16                           1
    #define   MSK32ISA_ASRi_LD_WAK16                              0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_EX                                 0x0010

    #define     BA_ISA_ASRi_EX_ALU16FlagZ                      0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagZ                      0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagZ                         0
    #define   LSb16ISA_ASRi_EX_ALU16FlagZ                         0
    #define       bISA_ASRi_EX_ALU16FlagZ                      1
    #define   MSK32ISA_ASRi_EX_ALU16FlagZ                         0x00000001

    #define     BA_ISA_ASRi_EX_ALU16FlagC                      0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagC                      0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagC                         1
    #define   LSb16ISA_ASRi_EX_ALU16FlagC                         1
    #define       bISA_ASRi_EX_ALU16FlagC                      1
    #define   MSK32ISA_ASRi_EX_ALU16FlagC                         0x00000002

    #define     BA_ISA_ASRi_EX_ALU16FlagN                      0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagN                      0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagN                         2
    #define   LSb16ISA_ASRi_EX_ALU16FlagN                         2
    #define       bISA_ASRi_EX_ALU16FlagN                      1
    #define   MSK32ISA_ASRi_EX_ALU16FlagN                         0x00000004

    #define     BA_ISA_ASRi_EX_ALU16FlagV                      0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagV                      0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagV                         3
    #define   LSb16ISA_ASRi_EX_ALU16FlagV                         3
    #define       bISA_ASRi_EX_ALU16FlagV                      1
    #define   MSK32ISA_ASRi_EX_ALU16FlagV                         0x00000008

    #define     BA_ISA_ASRi_EX_ALU16FlagTP                     0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagTP                     0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagTP                        4
    #define   LSb16ISA_ASRi_EX_ALU16FlagTP                        4
    #define       bISA_ASRi_EX_ALU16FlagTP                     1
    #define   MSK32ISA_ASRi_EX_ALU16FlagTP                        0x00000010

    #define     BA_ISA_ASRi_EX_ALU16MUL                        0x0010
    #define     B16ISA_ASRi_EX_ALU16MUL                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16MUL                           5
    #define   LSb16ISA_ASRi_EX_ALU16MUL                           5
    #define       bISA_ASRi_EX_ALU16MUL                        1
    #define   MSK32ISA_ASRi_EX_ALU16MUL                           0x00000020

    #define     BA_ISA_ASRi_EX_ALU16DIV                        0x0010
    #define     B16ISA_ASRi_EX_ALU16DIV                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16DIV                           6
    #define   LSb16ISA_ASRi_EX_ALU16DIV                           6
    #define       bISA_ASRi_EX_ALU16DIV                        1
    #define   MSK32ISA_ASRi_EX_ALU16DIV                           0x00000040

    #define     BA_ISA_ASRi_EX_ALU16FlagLD                     0x0010
    #define     B16ISA_ASRi_EX_ALU16FlagLD                     0x0010
    #define   LSb32ISA_ASRi_EX_ALU16FlagLD                        7
    #define   LSb16ISA_ASRi_EX_ALU16FlagLD                        7
    #define       bISA_ASRi_EX_ALU16FlagLD                     1
    #define   MSK32ISA_ASRi_EX_ALU16FlagLD                        0x00000080

    #define     BA_ISA_ASRi_EX_ALU16MDL                        0x0011
    #define     B16ISA_ASRi_EX_ALU16MDL                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16MDL                           8
    #define   LSb16ISA_ASRi_EX_ALU16MDL                           8
    #define       bISA_ASRi_EX_ALU16MDL                        1
    #define   MSK32ISA_ASRi_EX_ALU16MDL                           0x00000100

    #define     BA_ISA_ASRi_EX_ALU16MDH                        0x0011
    #define     B16ISA_ASRi_EX_ALU16MDH                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16MDH                           9
    #define   LSb16ISA_ASRi_EX_ALU16MDH                           9
    #define       bISA_ASRi_EX_ALU16MDH                        1
    #define   MSK32ISA_ASRi_EX_ALU16MDH                           0x00000200

    #define     BA_ISA_ASRi_EX_ALU16ADD                        0x0011
    #define     B16ISA_ASRi_EX_ALU16ADD                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16ADD                           10
    #define   LSb16ISA_ASRi_EX_ALU16ADD                           10
    #define       bISA_ASRi_EX_ALU16ADD                        1
    #define   MSK32ISA_ASRi_EX_ALU16ADD                           0x00000400

    #define     BA_ISA_ASRi_EX_ALU16SUB                        0x0011
    #define     B16ISA_ASRi_EX_ALU16SUB                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16SUB                           11
    #define   LSb16ISA_ASRi_EX_ALU16SUB                           11
    #define       bISA_ASRi_EX_ALU16SUB                        1
    #define   MSK32ISA_ASRi_EX_ALU16SUB                           0x00000800

    #define     BA_ISA_ASRi_EX_ALU16ADDC                       0x0011
    #define     B16ISA_ASRi_EX_ALU16ADDC                       0x0010
    #define   LSb32ISA_ASRi_EX_ALU16ADDC                          12
    #define   LSb16ISA_ASRi_EX_ALU16ADDC                          12
    #define       bISA_ASRi_EX_ALU16ADDC                       1
    #define   MSK32ISA_ASRi_EX_ALU16ADDC                          0x00001000

    #define     BA_ISA_ASRi_EX_ALU16SUBC                       0x0011
    #define     B16ISA_ASRi_EX_ALU16SUBC                       0x0010
    #define   LSb32ISA_ASRi_EX_ALU16SUBC                          13
    #define   LSb16ISA_ASRi_EX_ALU16SUBC                          13
    #define       bISA_ASRi_EX_ALU16SUBC                       1
    #define   MSK32ISA_ASRi_EX_ALU16SUBC                          0x00002000

    #define     BA_ISA_ASRi_EX_ALU16ASR                        0x0011
    #define     B16ISA_ASRi_EX_ALU16ASR                        0x0010
    #define   LSb32ISA_ASRi_EX_ALU16ASR                           14
    #define   LSb16ISA_ASRi_EX_ALU16ASR                           14
    #define       bISA_ASRi_EX_ALU16ASR                        1
    #define   MSK32ISA_ASRi_EX_ALU16ASR                           0x00004000

    #define     BA_ISA_ASRi_EX_ALU16SL                         0x0011
    #define     B16ISA_ASRi_EX_ALU16SL                         0x0010
    #define   LSb32ISA_ASRi_EX_ALU16SL                            15
    #define   LSb16ISA_ASRi_EX_ALU16SL                            15
    #define       bISA_ASRi_EX_ALU16SL                         1
    #define   MSK32ISA_ASRi_EX_ALU16SL                            0x00008000

    #define     BA_ISA_ASRi_EX_ALU16SR                         0x0012
    #define     B16ISA_ASRi_EX_ALU16SR                         0x0012
    #define   LSb32ISA_ASRi_EX_ALU16SR                            16
    #define   LSb16ISA_ASRi_EX_ALU16SR                            0
    #define       bISA_ASRi_EX_ALU16SR                         1
    #define   MSK32ISA_ASRi_EX_ALU16SR                            0x00010000

    #define     BA_ISA_ASRi_EX_ALU16GET                        0x0012
    #define     B16ISA_ASRi_EX_ALU16GET                        0x0012
    #define   LSb32ISA_ASRi_EX_ALU16GET                           17
    #define   LSb16ISA_ASRi_EX_ALU16GET                           1
    #define       bISA_ASRi_EX_ALU16GET                        1
    #define   MSK32ISA_ASRi_EX_ALU16GET                           0x00020000

    #define     BA_ISA_ASRi_EX_ALU16SET                        0x0012
    #define     B16ISA_ASRi_EX_ALU16SET                        0x0012
    #define   LSb32ISA_ASRi_EX_ALU16SET                           18
    #define   LSb16ISA_ASRi_EX_ALU16SET                           2
    #define       bISA_ASRi_EX_ALU16SET                        1
    #define   MSK32ISA_ASRi_EX_ALU16SET                           0x00040000

    #define     BA_ISA_ASRi_EX_ALU16SEL                        0x0012
    #define     B16ISA_ASRi_EX_ALU16SEL                        0x0012
    #define   LSb32ISA_ASRi_EX_ALU16SEL                           19
    #define   LSb16ISA_ASRi_EX_ALU16SEL                           3
    #define       bISA_ASRi_EX_ALU16SEL                        1
    #define   MSK32ISA_ASRi_EX_ALU16SEL                           0x00080000

    #define     BA_ISA_ASRi_EX_ALU16OR                         0x0012
    #define     B16ISA_ASRi_EX_ALU16OR                         0x0012
    #define   LSb32ISA_ASRi_EX_ALU16OR                            20
    #define   LSb16ISA_ASRi_EX_ALU16OR                            4
    #define       bISA_ASRi_EX_ALU16OR                         1
    #define   MSK32ISA_ASRi_EX_ALU16OR                            0x00100000

    #define     BA_ISA_ASRi_EX_ALU16AND                        0x0012
    #define     B16ISA_ASRi_EX_ALU16AND                        0x0012
    #define   LSb32ISA_ASRi_EX_ALU16AND                           21
    #define   LSb16ISA_ASRi_EX_ALU16AND                           5
    #define       bISA_ASRi_EX_ALU16AND                        1
    #define   MSK32ISA_ASRi_EX_ALU16AND                           0x00200000

    #define     BA_ISA_ASRi_EX_ALU16XOR                        0x0012
    #define     B16ISA_ASRi_EX_ALU16XOR                        0x0012
    #define   LSb32ISA_ASRi_EX_ALU16XOR                           22
    #define   LSb16ISA_ASRi_EX_ALU16XOR                           6
    #define       bISA_ASRi_EX_ALU16XOR                        1
    #define   MSK32ISA_ASRi_EX_ALU16XOR                           0x00400000

    #define     BA_ISA_ASRi_EX_ALU16SP                         0x0012
    #define     B16ISA_ASRi_EX_ALU16SP                         0x0012
    #define   LSb32ISA_ASRi_EX_ALU16SP                            23
    #define   LSb16ISA_ASRi_EX_ALU16SP                            7
    #define       bISA_ASRi_EX_ALU16SP                         1
    #define   MSK32ISA_ASRi_EX_ALU16SP                            0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_EXX                                0x0014

    #define     BA_ISA_ASRi_EXX_WRSQ                           0x0014
    #define     B16ISA_ASRi_EXX_WRSQ                           0x0014
    #define   LSb32ISA_ASRi_EXX_WRSQ                              0
    #define   LSb16ISA_ASRi_EXX_WRSQ                              0
    #define       bISA_ASRi_EXX_WRSQ                           1
    #define   MSK32ISA_ASRi_EXX_WRSQ                              0x00000001

    #define     BA_ISA_ASRi_EXX_WR16                           0x0014
    #define     B16ISA_ASRi_EXX_WR16                           0x0014
    #define   LSb32ISA_ASRi_EXX_WR16                              1
    #define   LSb16ISA_ASRi_EXX_WR16                              1
    #define       bISA_ASRi_EXX_WR16                           1
    #define   MSK32ISA_ASRi_EXX_WR16                              0x00000002

    #define     BA_ISA_ASRi_EXX_WRTQ                           0x0014
    #define     B16ISA_ASRi_EXX_WRTQ                           0x0014
    #define   LSb32ISA_ASRi_EXX_WRTQ                              2
    #define   LSb16ISA_ASRi_EXX_WRTQ                              2
    #define       bISA_ASRi_EXX_WRTQ                           1
    #define   MSK32ISA_ASRi_EXX_WRTQ                              0x00000004

    #define     BA_ISA_ASRi_EXX_ALU64PUSH                      0x0014
    #define     B16ISA_ASRi_EXX_ALU64PUSH                      0x0014
    #define   LSb32ISA_ASRi_EXX_ALU64PUSH                         3
    #define   LSb16ISA_ASRi_EXX_ALU64PUSH                         3
    #define       bISA_ASRi_EXX_ALU64PUSH                      1
    #define   MSK32ISA_ASRi_EXX_ALU64PUSH                         0x00000008

    #define     BA_ISA_ASRi_EXX_ALU64POP                       0x0014
    #define     B16ISA_ASRi_EXX_ALU64POP                       0x0014
    #define   LSb32ISA_ASRi_EXX_ALU64POP                          4
    #define   LSb16ISA_ASRi_EXX_ALU64POP                          4
    #define       bISA_ASRi_EXX_ALU64POP                       1
    #define   MSK32ISA_ASRi_EXX_ALU64POP                          0x00000010

    #define     BA_ISA_ASRi_EXX_ALU64SQ                        0x0014
    #define     B16ISA_ASRi_EXX_ALU64SQ                        0x0014
    #define   LSb32ISA_ASRi_EXX_ALU64SQ                           5
    #define   LSb16ISA_ASRi_EXX_ALU64SQ                           5
    #define       bISA_ASRi_EXX_ALU64SQ                        1
    #define   MSK32ISA_ASRi_EXX_ALU64SQ                           0x00000020

    #define     BA_ISA_ASRi_EXX_ALU64TQ                        0x0014
    #define     B16ISA_ASRi_EXX_ALU64TQ                        0x0014
    #define   LSb32ISA_ASRi_EXX_ALU64TQ                           6
    #define   LSb16ISA_ASRi_EXX_ALU64TQ                           6
    #define       bISA_ASRi_EXX_ALU64TQ                        1
    #define   MSK32ISA_ASRi_EXX_ALU64TQ                           0x00000040

    #define     BA_ISA_ASRi_EXX_ALU64MEM                       0x0014
    #define     B16ISA_ASRi_EXX_ALU64MEM                       0x0014
    #define   LSb32ISA_ASRi_EXX_ALU64MEM                          7
    #define   LSb16ISA_ASRi_EXX_ALU64MEM                          7
    #define       bISA_ASRi_EXX_ALU64MEM                       1
    #define   MSK32ISA_ASRi_EXX_ALU64MEM                          0x00000080

    #define     BA_ISA_ASRi_EXX_BRANCH                         0x0015
    #define     B16ISA_ASRi_EXX_BRANCH                         0x0014
    #define   LSb32ISA_ASRi_EXX_BRANCH                            8
    #define   LSb16ISA_ASRi_EXX_BRANCH                            8
    #define       bISA_ASRi_EXX_BRANCH                         1
    #define   MSK32ISA_ASRi_EXX_BRANCH                            0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASRi_WB                                 0x0018

    #define     BA_ISA_ASRi_WB_RF16                            0x0018
    #define     B16ISA_ASRi_WB_RF16                            0x0018
    #define   LSb32ISA_ASRi_WB_RF16                               0
    #define   LSb16ISA_ASRi_WB_RF16                               0
    #define       bISA_ASRi_WB_RF16                            1
    #define   MSK32ISA_ASRi_WB_RF16                               0x00000001

    #define     BA_ISA_ASRi_WB_RF16W0                          0x0018
    #define     B16ISA_ASRi_WB_RF16W0                          0x0018
    #define   LSb32ISA_ASRi_WB_RF16W0                             1
    #define   LSb16ISA_ASRi_WB_RF16W0                             1
    #define       bISA_ASRi_WB_RF16W0                          1
    #define   MSK32ISA_ASRi_WB_RF16W0                             0x00000002

    #define     BA_ISA_ASRi_WB_RF16MEM                         0x0018
    #define     B16ISA_ASRi_WB_RF16MEM                         0x0018
    #define   LSb32ISA_ASRi_WB_RF16MEM                            2
    #define   LSb16ISA_ASRi_WB_RF16MEM                            2
    #define       bISA_ASRi_WB_RF16MEM                         1
    #define   MSK32ISA_ASRi_WB_RF16MEM                            0x00000004

    #define     BA_ISA_ASRi_WB_RF16Q                           0x0018
    #define     B16ISA_ASRi_WB_RF16Q                           0x0018
    #define   LSb32ISA_ASRi_WB_RF16Q                              3
    #define   LSb16ISA_ASRi_WB_RF16Q                              3
    #define       bISA_ASRi_WB_RF16Q                           1
    #define   MSK32ISA_ASRi_WB_RF16Q                              0x00000008

    #define     BA_ISA_ASRi_WB_RF64                            0x0018
    #define     B16ISA_ASRi_WB_RF64                            0x0018
    #define   LSb32ISA_ASRi_WB_RF64                               4
    #define   LSb16ISA_ASRi_WB_RF64                               4
    #define       bISA_ASRi_WB_RF64                            1
    #define   MSK32ISA_ASRi_WB_RF64                               0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ASRi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_Mask_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_ASRi_Mask_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_ASRi_Mask                               {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ASRi_Mask;
            struct w32ISA_ASRi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_Opcode_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_ASRi_Opcode_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_ASRi_Opcode                             {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ASRi_Opcode;
            struct w32ISA_ASRi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_ID_RBRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASRi_ID_RBRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASRi_ID_RBRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_ID_RBRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_ID_RARF(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASRi_ID_RARF(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASRi_ID_RARF(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_ID_RARF(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_ID_RAK8(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASRi_ID_RAK8(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASRi_ID_RAK8(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_ID_RAK8(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_ID_RAI16(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASRi_ID_RAI16(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASRi_ID_RAI16(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_ID_RAI16(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_ID_RAK16(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASRi_ID_RAK16(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASRi_ID_RAK16(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_ID_RAK16(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_ID_RFSP(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASRi_ID_RFSP(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASRi_ID_RFSP(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_ID_RFSP(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASRi_ID_W4D4(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASRi_ID_W4D4(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASRi_ID_W4D4(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASRi_ID_W4D4(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASRi_ID_W4S4(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASRi_ID_W4S4(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASRi_ID_W4S4(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASRi_ID_W4S4(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ASRi_ID                                 {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ASRi_ID;
            struct w32ISA_ASRi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_LD_SPRF(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASRi_LD_SPRF(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASRi_LD_SPRF(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_LD_SPRF(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_LD_SPK8(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASRi_LD_SPK8(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASRi_LD_SPK8(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_LD_SPK8(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_LD_SPJ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASRi_LD_SPJ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASRi_LD_SPJ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_LD_SPJ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_LD_SP4S(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASRi_LD_SP4S(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASRi_LD_SP4S(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_LD_SP4S(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_LD_SP8S(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASRi_LD_SP8S(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASRi_LD_SP8S(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_LD_SP8S(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_LD_SP8U(r32)                       _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASRi_LD_SP8U(r32,v)                     _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASRi_LD_SP8U(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_LD_SP8U(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASRi_LD_SP12S(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASRi_LD_SP12S(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASRi_LD_SP12S(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASRi_LD_SP12S(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASRi_LD_SP16(r32)                       _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASRi_LD_SP16(r32,v)                     _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASRi_LD_SP16(r16)                       _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASRi_LD_SP16(r16,v)                     _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASRi_LD_TPRF(r32)                       _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASRi_LD_TPRF(r32,v)                     _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASRi_LD_TPRF(r16)                       _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASRi_LD_TPRF(r16,v)                     _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ASRi_LD_TPJ(r32)                        _BFGET_(r32, 9, 9)
    #define   SET32ISA_ASRi_LD_TPJ(r32,v)                      _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ASRi_LD_TPJ(r16)                        _BFGET_(r16, 9, 9)
    #define   SET16ISA_ASRi_LD_TPJ(r16,v)                      _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ASRi_LD_TP4S(r32)                       _BFGET_(r32,10,10)
    #define   SET32ISA_ASRi_LD_TP4S(r32,v)                     _BFSET_(r32,10,10,v)
    #define   GET16ISA_ASRi_LD_TP4S(r16)                       _BFGET_(r16,10,10)
    #define   SET16ISA_ASRi_LD_TP4S(r16,v)                     _BFSET_(r16,10,10,v)

    #define   GET32ISA_ASRi_LD_TP8L(r32)                       _BFGET_(r32,11,11)
    #define   SET32ISA_ASRi_LD_TP8L(r32,v)                     _BFSET_(r32,11,11,v)
    #define   GET16ISA_ASRi_LD_TP8L(r16)                       _BFGET_(r16,11,11)
    #define   SET16ISA_ASRi_LD_TP8L(r16,v)                     _BFSET_(r16,11,11,v)

    #define   GET32ISA_ASRi_LD_TP8H(r32)                       _BFGET_(r32,12,12)
    #define   SET32ISA_ASRi_LD_TP8H(r32,v)                     _BFSET_(r32,12,12,v)
    #define   GET16ISA_ASRi_LD_TP8H(r16)                       _BFGET_(r16,12,12)
    #define   SET16ISA_ASRi_LD_TP8H(r16,v)                     _BFSET_(r16,12,12,v)

    #define   GET32ISA_ASRi_LD_TP8LF(r32)                      _BFGET_(r32,13,13)
    #define   SET32ISA_ASRi_LD_TP8LF(r32,v)                    _BFSET_(r32,13,13,v)
    #define   GET16ISA_ASRi_LD_TP8LF(r16)                      _BFGET_(r16,13,13)
    #define   SET16ISA_ASRi_LD_TP8LF(r16,v)                    _BFSET_(r16,13,13,v)

    #define   GET32ISA_ASRi_LD_TP8HF(r32)                      _BFGET_(r32,14,14)
    #define   SET32ISA_ASRi_LD_TP8HF(r32,v)                    _BFSET_(r32,14,14,v)
    #define   GET16ISA_ASRi_LD_TP8HF(r16)                      _BFGET_(r16,14,14)
    #define   SET16ISA_ASRi_LD_TP8HF(r16,v)                    _BFSET_(r16,14,14,v)

    #define   GET32ISA_ASRi_LD_SQRF64(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ASRi_LD_SQRF64(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ASRi_LD_SQRF64(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ASRi_LD_SQRF64(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ASRi_LD_TQRF16Q(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ASRi_LD_TQRF16Q(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ASRi_LD_TQRF16Q(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_LD_TQRF16Q(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_LD_TQRFx4(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_ASRi_LD_TQRFx4(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_ASRi_LD_TQRFx4(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_LD_TQRFx4(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_LD_RD(r32)                         _BFGET_(r32,18,18)
    #define   SET32ISA_ASRi_LD_RD(r32,v)                       _BFSET_(r32,18,18,v)
    #define   GET16ISA_ASRi_LD_RD(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_LD_RD(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_LD_WARF(r32)                       _BFGET_(r32,19,19)
    #define   SET32ISA_ASRi_LD_WARF(r32,v)                     _BFSET_(r32,19,19,v)
    #define   GET16ISA_ASRi_LD_WARF(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_LD_WARF(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_LD_WAK8(r32)                       _BFGET_(r32,20,20)
    #define   SET32ISA_ASRi_LD_WAK8(r32,v)                     _BFSET_(r32,20,20,v)
    #define   GET16ISA_ASRi_LD_WAK8(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_LD_WAK8(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_LD_WAK16(r32)                      _BFGET_(r32,21,21)
    #define   SET32ISA_ASRi_LD_WAK16(r32,v)                    _BFSET_(r32,21,21,v)
    #define   GET16ISA_ASRi_LD_WAK16(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_LD_WAK16(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ASRi_LD                                 {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ASRi_LD;
            struct w32ISA_ASRi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_EX_ALU16FlagZ(r32)                 _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASRi_EX_ALU16FlagZ(r32,v)               _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagZ(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_EX_ALU16FlagZ(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_EX_ALU16FlagC(r32)                 _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASRi_EX_ALU16FlagC(r32,v)               _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagC(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_EX_ALU16FlagC(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_EX_ALU16FlagN(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASRi_EX_ALU16FlagN(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagN(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_EX_ALU16FlagN(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_EX_ALU16FlagV(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASRi_EX_ALU16FlagV(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagV(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_EX_ALU16FlagV(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_EX_ALU16FlagTP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASRi_EX_ALU16FlagTP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagTP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_EX_ALU16FlagTP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_EX_ALU16MUL(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASRi_EX_ALU16MUL(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASRi_EX_ALU16MUL(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_EX_ALU16MUL(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASRi_EX_ALU16DIV(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASRi_EX_ALU16DIV(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASRi_EX_ALU16DIV(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASRi_EX_ALU16DIV(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASRi_EX_ALU16FlagLD(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASRi_EX_ALU16FlagLD(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASRi_EX_ALU16FlagLD(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASRi_EX_ALU16FlagLD(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASRi_EX_ALU16MDL(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASRi_EX_ALU16MDL(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASRi_EX_ALU16MDL(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASRi_EX_ALU16MDL(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ASRi_EX_ALU16MDH(r32)                   _BFGET_(r32, 9, 9)
    #define   SET32ISA_ASRi_EX_ALU16MDH(r32,v)                 _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ASRi_EX_ALU16MDH(r16)                   _BFGET_(r16, 9, 9)
    #define   SET16ISA_ASRi_EX_ALU16MDH(r16,v)                 _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ASRi_EX_ALU16ADD(r32)                   _BFGET_(r32,10,10)
    #define   SET32ISA_ASRi_EX_ALU16ADD(r32,v)                 _BFSET_(r32,10,10,v)
    #define   GET16ISA_ASRi_EX_ALU16ADD(r16)                   _BFGET_(r16,10,10)
    #define   SET16ISA_ASRi_EX_ALU16ADD(r16,v)                 _BFSET_(r16,10,10,v)

    #define   GET32ISA_ASRi_EX_ALU16SUB(r32)                   _BFGET_(r32,11,11)
    #define   SET32ISA_ASRi_EX_ALU16SUB(r32,v)                 _BFSET_(r32,11,11,v)
    #define   GET16ISA_ASRi_EX_ALU16SUB(r16)                   _BFGET_(r16,11,11)
    #define   SET16ISA_ASRi_EX_ALU16SUB(r16,v)                 _BFSET_(r16,11,11,v)

    #define   GET32ISA_ASRi_EX_ALU16ADDC(r32)                  _BFGET_(r32,12,12)
    #define   SET32ISA_ASRi_EX_ALU16ADDC(r32,v)                _BFSET_(r32,12,12,v)
    #define   GET16ISA_ASRi_EX_ALU16ADDC(r16)                  _BFGET_(r16,12,12)
    #define   SET16ISA_ASRi_EX_ALU16ADDC(r16,v)                _BFSET_(r16,12,12,v)

    #define   GET32ISA_ASRi_EX_ALU16SUBC(r32)                  _BFGET_(r32,13,13)
    #define   SET32ISA_ASRi_EX_ALU16SUBC(r32,v)                _BFSET_(r32,13,13,v)
    #define   GET16ISA_ASRi_EX_ALU16SUBC(r16)                  _BFGET_(r16,13,13)
    #define   SET16ISA_ASRi_EX_ALU16SUBC(r16,v)                _BFSET_(r16,13,13,v)

    #define   GET32ISA_ASRi_EX_ALU16ASR(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_ASRi_EX_ALU16ASR(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_ASRi_EX_ALU16ASR(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_ASRi_EX_ALU16ASR(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_ASRi_EX_ALU16SL(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_ASRi_EX_ALU16SL(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_ASRi_EX_ALU16SL(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_ASRi_EX_ALU16SL(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_ASRi_EX_ALU16SR(r32)                    _BFGET_(r32,16,16)
    #define   SET32ISA_ASRi_EX_ALU16SR(r32,v)                  _BFSET_(r32,16,16,v)
    #define   GET16ISA_ASRi_EX_ALU16SR(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_EX_ALU16SR(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_EX_ALU16GET(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_ASRi_EX_ALU16GET(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_ASRi_EX_ALU16GET(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_EX_ALU16GET(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_EX_ALU16SET(r32)                   _BFGET_(r32,18,18)
    #define   SET32ISA_ASRi_EX_ALU16SET(r32,v)                 _BFSET_(r32,18,18,v)
    #define   GET16ISA_ASRi_EX_ALU16SET(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_EX_ALU16SET(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_EX_ALU16SEL(r32)                   _BFGET_(r32,19,19)
    #define   SET32ISA_ASRi_EX_ALU16SEL(r32,v)                 _BFSET_(r32,19,19,v)
    #define   GET16ISA_ASRi_EX_ALU16SEL(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_EX_ALU16SEL(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_EX_ALU16OR(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_ASRi_EX_ALU16OR(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_ASRi_EX_ALU16OR(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_EX_ALU16OR(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_EX_ALU16AND(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_ASRi_EX_ALU16AND(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_ASRi_EX_ALU16AND(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_EX_ALU16AND(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASRi_EX_ALU16XOR(r32)                   _BFGET_(r32,22,22)
    #define   SET32ISA_ASRi_EX_ALU16XOR(r32,v)                 _BFSET_(r32,22,22,v)
    #define   GET16ISA_ASRi_EX_ALU16XOR(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASRi_EX_ALU16XOR(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASRi_EX_ALU16SP(r32)                    _BFGET_(r32,23,23)
    #define   SET32ISA_ASRi_EX_ALU16SP(r32,v)                  _BFSET_(r32,23,23,v)
    #define   GET16ISA_ASRi_EX_ALU16SP(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASRi_EX_ALU16SP(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ASRi_EX                                 {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ASRi_EX;
            struct w32ISA_ASRi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_EXX_WRSQ(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASRi_EXX_WRSQ(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASRi_EXX_WRSQ(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_EXX_WRSQ(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_EXX_WR16(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASRi_EXX_WR16(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASRi_EXX_WR16(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_EXX_WR16(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_EXX_WRTQ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASRi_EXX_WRTQ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASRi_EXX_WRTQ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_EXX_WRTQ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_EXX_ALU64PUSH(r32)                 _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASRi_EXX_ALU64PUSH(r32,v)               _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASRi_EXX_ALU64PUSH(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_EXX_ALU64PUSH(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_EXX_ALU64POP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASRi_EXX_ALU64POP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASRi_EXX_ALU64POP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_EXX_ALU64POP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASRi_EXX_ALU64SQ(r32)                   _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASRi_EXX_ALU64SQ(r32,v)                 _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASRi_EXX_ALU64SQ(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASRi_EXX_ALU64SQ(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASRi_EXX_ALU64TQ(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASRi_EXX_ALU64TQ(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASRi_EXX_ALU64TQ(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASRi_EXX_ALU64TQ(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASRi_EXX_ALU64MEM(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASRi_EXX_ALU64MEM(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASRi_EXX_ALU64MEM(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASRi_EXX_ALU64MEM(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASRi_EXX_BRANCH(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASRi_EXX_BRANCH(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASRi_EXX_BRANCH(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASRi_EXX_BRANCH(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ASRi_EXX                                {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ASRi_EXX;
            struct w32ISA_ASRi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASRi_WB_RF16(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASRi_WB_RF16(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASRi_WB_RF16(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASRi_WB_RF16(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASRi_WB_RF16W0(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASRi_WB_RF16W0(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASRi_WB_RF16W0(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASRi_WB_RF16W0(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASRi_WB_RF16MEM(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASRi_WB_RF16MEM(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASRi_WB_RF16MEM(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASRi_WB_RF16MEM(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASRi_WB_RF16Q(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASRi_WB_RF16Q(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASRi_WB_RF16Q(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASRi_WB_RF16Q(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASRi_WB_RF64(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASRi_WB_RF64(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASRi_WB_RF64(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASRi_WB_RF64(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ASRi_WB                                 {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ASRi_WB;
            struct w32ISA_ASRi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ASRi;

    typedef union  T32ISA_ASRi_Mask
          { UNSG32 u32;
            struct w32ISA_ASRi_Mask;
                 } T32ISA_ASRi_Mask;
    typedef union  T32ISA_ASRi_Opcode
          { UNSG32 u32;
            struct w32ISA_ASRi_Opcode;
                 } T32ISA_ASRi_Opcode;
    typedef union  T32ISA_ASRi_ID
          { UNSG32 u32;
            struct w32ISA_ASRi_ID;
                 } T32ISA_ASRi_ID;
    typedef union  T32ISA_ASRi_LD
          { UNSG32 u32;
            struct w32ISA_ASRi_LD;
                 } T32ISA_ASRi_LD;
    typedef union  T32ISA_ASRi_EX
          { UNSG32 u32;
            struct w32ISA_ASRi_EX;
                 } T32ISA_ASRi_EX;
    typedef union  T32ISA_ASRi_EXX
          { UNSG32 u32;
            struct w32ISA_ASRi_EXX;
                 } T32ISA_ASRi_EXX;
    typedef union  T32ISA_ASRi_WB
          { UNSG32 u32;
            struct w32ISA_ASRi_WB;
                 } T32ISA_ASRi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ASRi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_Mask;
                   };
                 } TISA_ASRi_Mask;
    typedef union  TISA_ASRi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_Opcode;
                   };
                 } TISA_ASRi_Opcode;
    typedef union  TISA_ASRi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_ID;
                   };
                 } TISA_ASRi_ID;
    typedef union  TISA_ASRi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_LD;
                   };
                 } TISA_ASRi_LD;
    typedef union  TISA_ASRi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_EX;
                   };
                 } TISA_ASRi_EX;
    typedef union  TISA_ASRi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_EXX;
                   };
                 } TISA_ASRi_EXX;
    typedef union  TISA_ASRi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASRi_WB;
                   };
                 } TISA_ASRi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ASRi_drvrd(SIE_ISA_ASRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ASRi_drvwr(SIE_ISA_ASRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ASRi_reset(SIE_ISA_ASRi *p);
     SIGN32 ISA_ASRi_cmp  (SIE_ISA_ASRi *p, SIE_ISA_ASRi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ASRi_check(p,pie,pfx,hLOG) ISA_ASRi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ASRi_print(p,    pfx,hLOG) ISA_ASRi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ASRi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_ASR                                  (4,4)
///     ###
///     * Arithmetically right shift a register by another register to destination register.
///     * Note: if shift bit register is 16 or greater, treat as 16.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1B0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "ASR"     , "rD,rS,rT"    , "0001 1011 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    ASR      %d1, %a1, %b1   ; %d1 = (signed)%a1 >> %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  0x1
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_ASR
#define h_ISA_ASR (){}

    #define     RA_ISA_ASR_Mask                                0x0000

    #define     BA_ISA_ASR_Mask_INS                            0x0000
    #define     B16ISA_ASR_Mask_INS                            0x0000
    #define   LSb32ISA_ASR_Mask_INS                               0
    #define   LSb16ISA_ASR_Mask_INS                               0
    #define       bISA_ASR_Mask_INS                            24
    #define   MSK32ISA_ASR_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_Opcode                              0x0004

    #define     BA_ISA_ASR_Opcode_INS                          0x0004
    #define     B16ISA_ASR_Opcode_INS                          0x0004
    #define   LSb32ISA_ASR_Opcode_INS                             0
    #define   LSb16ISA_ASR_Opcode_INS                             0
    #define       bISA_ASR_Opcode_INS                          24
    #define   MSK32ISA_ASR_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_ID                                  0x0008

    #define     BA_ISA_ASR_ID_RBRF                             0x0008
    #define     B16ISA_ASR_ID_RBRF                             0x0008
    #define   LSb32ISA_ASR_ID_RBRF                                0
    #define   LSb16ISA_ASR_ID_RBRF                                0
    #define       bISA_ASR_ID_RBRF                             1
    #define   MSK32ISA_ASR_ID_RBRF                                0x00000001

    #define     BA_ISA_ASR_ID_RARF                             0x0008
    #define     B16ISA_ASR_ID_RARF                             0x0008
    #define   LSb32ISA_ASR_ID_RARF                                1
    #define   LSb16ISA_ASR_ID_RARF                                1
    #define       bISA_ASR_ID_RARF                             1
    #define   MSK32ISA_ASR_ID_RARF                                0x00000002

    #define     BA_ISA_ASR_ID_RAK8                             0x0008
    #define     B16ISA_ASR_ID_RAK8                             0x0008
    #define   LSb32ISA_ASR_ID_RAK8                                2
    #define   LSb16ISA_ASR_ID_RAK8                                2
    #define       bISA_ASR_ID_RAK8                             1
    #define   MSK32ISA_ASR_ID_RAK8                                0x00000004

    #define     BA_ISA_ASR_ID_RAI16                            0x0008
    #define     B16ISA_ASR_ID_RAI16                            0x0008
    #define   LSb32ISA_ASR_ID_RAI16                               3
    #define   LSb16ISA_ASR_ID_RAI16                               3
    #define       bISA_ASR_ID_RAI16                            1
    #define   MSK32ISA_ASR_ID_RAI16                               0x00000008

    #define     BA_ISA_ASR_ID_RAK16                            0x0008
    #define     B16ISA_ASR_ID_RAK16                            0x0008
    #define   LSb32ISA_ASR_ID_RAK16                               4
    #define   LSb16ISA_ASR_ID_RAK16                               4
    #define       bISA_ASR_ID_RAK16                            1
    #define   MSK32ISA_ASR_ID_RAK16                               0x00000010

    #define     BA_ISA_ASR_ID_RFSP                             0x0008
    #define     B16ISA_ASR_ID_RFSP                             0x0008
    #define   LSb32ISA_ASR_ID_RFSP                                5
    #define   LSb16ISA_ASR_ID_RFSP                                5
    #define       bISA_ASR_ID_RFSP                             1
    #define   MSK32ISA_ASR_ID_RFSP                                0x00000020

    #define     BA_ISA_ASR_ID_W4D4                             0x0008
    #define     B16ISA_ASR_ID_W4D4                             0x0008
    #define   LSb32ISA_ASR_ID_W4D4                                6
    #define   LSb16ISA_ASR_ID_W4D4                                6
    #define       bISA_ASR_ID_W4D4                             1
    #define   MSK32ISA_ASR_ID_W4D4                                0x00000040

    #define     BA_ISA_ASR_ID_W4S4                             0x0008
    #define     B16ISA_ASR_ID_W4S4                             0x0008
    #define   LSb32ISA_ASR_ID_W4S4                                7
    #define   LSb16ISA_ASR_ID_W4S4                                7
    #define       bISA_ASR_ID_W4S4                             1
    #define   MSK32ISA_ASR_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_LD                                  0x000C

    #define     BA_ISA_ASR_LD_SPRF                             0x000C
    #define     B16ISA_ASR_LD_SPRF                             0x000C
    #define   LSb32ISA_ASR_LD_SPRF                                0
    #define   LSb16ISA_ASR_LD_SPRF                                0
    #define       bISA_ASR_LD_SPRF                             1
    #define   MSK32ISA_ASR_LD_SPRF                                0x00000001

    #define     BA_ISA_ASR_LD_SPK8                             0x000C
    #define     B16ISA_ASR_LD_SPK8                             0x000C
    #define   LSb32ISA_ASR_LD_SPK8                                1
    #define   LSb16ISA_ASR_LD_SPK8                                1
    #define       bISA_ASR_LD_SPK8                             1
    #define   MSK32ISA_ASR_LD_SPK8                                0x00000002

    #define     BA_ISA_ASR_LD_SPJ                              0x000C
    #define     B16ISA_ASR_LD_SPJ                              0x000C
    #define   LSb32ISA_ASR_LD_SPJ                                 2
    #define   LSb16ISA_ASR_LD_SPJ                                 2
    #define       bISA_ASR_LD_SPJ                              1
    #define   MSK32ISA_ASR_LD_SPJ                                 0x00000004

    #define     BA_ISA_ASR_LD_SP4S                             0x000C
    #define     B16ISA_ASR_LD_SP4S                             0x000C
    #define   LSb32ISA_ASR_LD_SP4S                                3
    #define   LSb16ISA_ASR_LD_SP4S                                3
    #define       bISA_ASR_LD_SP4S                             1
    #define   MSK32ISA_ASR_LD_SP4S                                0x00000008

    #define     BA_ISA_ASR_LD_SP8S                             0x000C
    #define     B16ISA_ASR_LD_SP8S                             0x000C
    #define   LSb32ISA_ASR_LD_SP8S                                4
    #define   LSb16ISA_ASR_LD_SP8S                                4
    #define       bISA_ASR_LD_SP8S                             1
    #define   MSK32ISA_ASR_LD_SP8S                                0x00000010

    #define     BA_ISA_ASR_LD_SP8U                             0x000C
    #define     B16ISA_ASR_LD_SP8U                             0x000C
    #define   LSb32ISA_ASR_LD_SP8U                                5
    #define   LSb16ISA_ASR_LD_SP8U                                5
    #define       bISA_ASR_LD_SP8U                             1
    #define   MSK32ISA_ASR_LD_SP8U                                0x00000020

    #define     BA_ISA_ASR_LD_SP12S                            0x000C
    #define     B16ISA_ASR_LD_SP12S                            0x000C
    #define   LSb32ISA_ASR_LD_SP12S                               6
    #define   LSb16ISA_ASR_LD_SP12S                               6
    #define       bISA_ASR_LD_SP12S                            1
    #define   MSK32ISA_ASR_LD_SP12S                               0x00000040

    #define     BA_ISA_ASR_LD_SP16                             0x000C
    #define     B16ISA_ASR_LD_SP16                             0x000C
    #define   LSb32ISA_ASR_LD_SP16                                7
    #define   LSb16ISA_ASR_LD_SP16                                7
    #define       bISA_ASR_LD_SP16                             1
    #define   MSK32ISA_ASR_LD_SP16                                0x00000080

    #define     BA_ISA_ASR_LD_TPRF                             0x000D
    #define     B16ISA_ASR_LD_TPRF                             0x000C
    #define   LSb32ISA_ASR_LD_TPRF                                8
    #define   LSb16ISA_ASR_LD_TPRF                                8
    #define       bISA_ASR_LD_TPRF                             1
    #define   MSK32ISA_ASR_LD_TPRF                                0x00000100

    #define     BA_ISA_ASR_LD_TPJ                              0x000D
    #define     B16ISA_ASR_LD_TPJ                              0x000C
    #define   LSb32ISA_ASR_LD_TPJ                                 9
    #define   LSb16ISA_ASR_LD_TPJ                                 9
    #define       bISA_ASR_LD_TPJ                              1
    #define   MSK32ISA_ASR_LD_TPJ                                 0x00000200

    #define     BA_ISA_ASR_LD_TP4S                             0x000D
    #define     B16ISA_ASR_LD_TP4S                             0x000C
    #define   LSb32ISA_ASR_LD_TP4S                                10
    #define   LSb16ISA_ASR_LD_TP4S                                10
    #define       bISA_ASR_LD_TP4S                             1
    #define   MSK32ISA_ASR_LD_TP4S                                0x00000400

    #define     BA_ISA_ASR_LD_TP8L                             0x000D
    #define     B16ISA_ASR_LD_TP8L                             0x000C
    #define   LSb32ISA_ASR_LD_TP8L                                11
    #define   LSb16ISA_ASR_LD_TP8L                                11
    #define       bISA_ASR_LD_TP8L                             1
    #define   MSK32ISA_ASR_LD_TP8L                                0x00000800

    #define     BA_ISA_ASR_LD_TP8H                             0x000D
    #define     B16ISA_ASR_LD_TP8H                             0x000C
    #define   LSb32ISA_ASR_LD_TP8H                                12
    #define   LSb16ISA_ASR_LD_TP8H                                12
    #define       bISA_ASR_LD_TP8H                             1
    #define   MSK32ISA_ASR_LD_TP8H                                0x00001000

    #define     BA_ISA_ASR_LD_TP8LF                            0x000D
    #define     B16ISA_ASR_LD_TP8LF                            0x000C
    #define   LSb32ISA_ASR_LD_TP8LF                               13
    #define   LSb16ISA_ASR_LD_TP8LF                               13
    #define       bISA_ASR_LD_TP8LF                            1
    #define   MSK32ISA_ASR_LD_TP8LF                               0x00002000

    #define     BA_ISA_ASR_LD_TP8HF                            0x000D
    #define     B16ISA_ASR_LD_TP8HF                            0x000C
    #define   LSb32ISA_ASR_LD_TP8HF                               14
    #define   LSb16ISA_ASR_LD_TP8HF                               14
    #define       bISA_ASR_LD_TP8HF                            1
    #define   MSK32ISA_ASR_LD_TP8HF                               0x00004000

    #define     BA_ISA_ASR_LD_SQRF64                           0x000D
    #define     B16ISA_ASR_LD_SQRF64                           0x000C
    #define   LSb32ISA_ASR_LD_SQRF64                              15
    #define   LSb16ISA_ASR_LD_SQRF64                              15
    #define       bISA_ASR_LD_SQRF64                           1
    #define   MSK32ISA_ASR_LD_SQRF64                              0x00008000

    #define     BA_ISA_ASR_LD_TQRF16Q                          0x000E
    #define     B16ISA_ASR_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_ASR_LD_TQRF16Q                             16
    #define   LSb16ISA_ASR_LD_TQRF16Q                             0
    #define       bISA_ASR_LD_TQRF16Q                          1
    #define   MSK32ISA_ASR_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_ASR_LD_TQRFx4                           0x000E
    #define     B16ISA_ASR_LD_TQRFx4                           0x000E
    #define   LSb32ISA_ASR_LD_TQRFx4                              17
    #define   LSb16ISA_ASR_LD_TQRFx4                              1
    #define       bISA_ASR_LD_TQRFx4                           1
    #define   MSK32ISA_ASR_LD_TQRFx4                              0x00020000

    #define     BA_ISA_ASR_LD_RD                               0x000E
    #define     B16ISA_ASR_LD_RD                               0x000E
    #define   LSb32ISA_ASR_LD_RD                                  18
    #define   LSb16ISA_ASR_LD_RD                                  2
    #define       bISA_ASR_LD_RD                               1
    #define   MSK32ISA_ASR_LD_RD                                  0x00040000

    #define     BA_ISA_ASR_LD_WARF                             0x000E
    #define     B16ISA_ASR_LD_WARF                             0x000E
    #define   LSb32ISA_ASR_LD_WARF                                19
    #define   LSb16ISA_ASR_LD_WARF                                3
    #define       bISA_ASR_LD_WARF                             1
    #define   MSK32ISA_ASR_LD_WARF                                0x00080000

    #define     BA_ISA_ASR_LD_WAK8                             0x000E
    #define     B16ISA_ASR_LD_WAK8                             0x000E
    #define   LSb32ISA_ASR_LD_WAK8                                20
    #define   LSb16ISA_ASR_LD_WAK8                                4
    #define       bISA_ASR_LD_WAK8                             1
    #define   MSK32ISA_ASR_LD_WAK8                                0x00100000

    #define     BA_ISA_ASR_LD_WAK16                            0x000E
    #define     B16ISA_ASR_LD_WAK16                            0x000E
    #define   LSb32ISA_ASR_LD_WAK16                               21
    #define   LSb16ISA_ASR_LD_WAK16                               5
    #define       bISA_ASR_LD_WAK16                            1
    #define   MSK32ISA_ASR_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_EX                                  0x0010

    #define     BA_ISA_ASR_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_ASR_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagZ                          0
    #define   LSb16ISA_ASR_EX_ALU16FlagZ                          0
    #define       bISA_ASR_EX_ALU16FlagZ                       1
    #define   MSK32ISA_ASR_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_ASR_EX_ALU16FlagC                       0x0010
    #define     B16ISA_ASR_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagC                          1
    #define   LSb16ISA_ASR_EX_ALU16FlagC                          1
    #define       bISA_ASR_EX_ALU16FlagC                       1
    #define   MSK32ISA_ASR_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_ASR_EX_ALU16FlagN                       0x0010
    #define     B16ISA_ASR_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagN                          2
    #define   LSb16ISA_ASR_EX_ALU16FlagN                          2
    #define       bISA_ASR_EX_ALU16FlagN                       1
    #define   MSK32ISA_ASR_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_ASR_EX_ALU16FlagV                       0x0010
    #define     B16ISA_ASR_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagV                          3
    #define   LSb16ISA_ASR_EX_ALU16FlagV                          3
    #define       bISA_ASR_EX_ALU16FlagV                       1
    #define   MSK32ISA_ASR_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_ASR_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_ASR_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagTP                         4
    #define   LSb16ISA_ASR_EX_ALU16FlagTP                         4
    #define       bISA_ASR_EX_ALU16FlagTP                      1
    #define   MSK32ISA_ASR_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_ASR_EX_ALU16MUL                         0x0010
    #define     B16ISA_ASR_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16MUL                            5
    #define   LSb16ISA_ASR_EX_ALU16MUL                            5
    #define       bISA_ASR_EX_ALU16MUL                         1
    #define   MSK32ISA_ASR_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_ASR_EX_ALU16DIV                         0x0010
    #define     B16ISA_ASR_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16DIV                            6
    #define   LSb16ISA_ASR_EX_ALU16DIV                            6
    #define       bISA_ASR_EX_ALU16DIV                         1
    #define   MSK32ISA_ASR_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_ASR_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_ASR_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_ASR_EX_ALU16FlagLD                         7
    #define   LSb16ISA_ASR_EX_ALU16FlagLD                         7
    #define       bISA_ASR_EX_ALU16FlagLD                      1
    #define   MSK32ISA_ASR_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_ASR_EX_ALU16MDL                         0x0011
    #define     B16ISA_ASR_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16MDL                            8
    #define   LSb16ISA_ASR_EX_ALU16MDL                            8
    #define       bISA_ASR_EX_ALU16MDL                         1
    #define   MSK32ISA_ASR_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_ASR_EX_ALU16MDH                         0x0011
    #define     B16ISA_ASR_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16MDH                            9
    #define   LSb16ISA_ASR_EX_ALU16MDH                            9
    #define       bISA_ASR_EX_ALU16MDH                         1
    #define   MSK32ISA_ASR_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_ASR_EX_ALU16ADD                         0x0011
    #define     B16ISA_ASR_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16ADD                            10
    #define   LSb16ISA_ASR_EX_ALU16ADD                            10
    #define       bISA_ASR_EX_ALU16ADD                         1
    #define   MSK32ISA_ASR_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_ASR_EX_ALU16SUB                         0x0011
    #define     B16ISA_ASR_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16SUB                            11
    #define   LSb16ISA_ASR_EX_ALU16SUB                            11
    #define       bISA_ASR_EX_ALU16SUB                         1
    #define   MSK32ISA_ASR_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_ASR_EX_ALU16ADDC                        0x0011
    #define     B16ISA_ASR_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_ASR_EX_ALU16ADDC                           12
    #define   LSb16ISA_ASR_EX_ALU16ADDC                           12
    #define       bISA_ASR_EX_ALU16ADDC                        1
    #define   MSK32ISA_ASR_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_ASR_EX_ALU16SUBC                        0x0011
    #define     B16ISA_ASR_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_ASR_EX_ALU16SUBC                           13
    #define   LSb16ISA_ASR_EX_ALU16SUBC                           13
    #define       bISA_ASR_EX_ALU16SUBC                        1
    #define   MSK32ISA_ASR_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_ASR_EX_ALU16ASR                         0x0011
    #define     B16ISA_ASR_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_ASR_EX_ALU16ASR                            14
    #define   LSb16ISA_ASR_EX_ALU16ASR                            14
    #define       bISA_ASR_EX_ALU16ASR                         1
    #define   MSK32ISA_ASR_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_ASR_EX_ALU16SL                          0x0011
    #define     B16ISA_ASR_EX_ALU16SL                          0x0010
    #define   LSb32ISA_ASR_EX_ALU16SL                             15
    #define   LSb16ISA_ASR_EX_ALU16SL                             15
    #define       bISA_ASR_EX_ALU16SL                          1
    #define   MSK32ISA_ASR_EX_ALU16SL                             0x00008000

    #define     BA_ISA_ASR_EX_ALU16SR                          0x0012
    #define     B16ISA_ASR_EX_ALU16SR                          0x0012
    #define   LSb32ISA_ASR_EX_ALU16SR                             16
    #define   LSb16ISA_ASR_EX_ALU16SR                             0
    #define       bISA_ASR_EX_ALU16SR                          1
    #define   MSK32ISA_ASR_EX_ALU16SR                             0x00010000

    #define     BA_ISA_ASR_EX_ALU16GET                         0x0012
    #define     B16ISA_ASR_EX_ALU16GET                         0x0012
    #define   LSb32ISA_ASR_EX_ALU16GET                            17
    #define   LSb16ISA_ASR_EX_ALU16GET                            1
    #define       bISA_ASR_EX_ALU16GET                         1
    #define   MSK32ISA_ASR_EX_ALU16GET                            0x00020000

    #define     BA_ISA_ASR_EX_ALU16SET                         0x0012
    #define     B16ISA_ASR_EX_ALU16SET                         0x0012
    #define   LSb32ISA_ASR_EX_ALU16SET                            18
    #define   LSb16ISA_ASR_EX_ALU16SET                            2
    #define       bISA_ASR_EX_ALU16SET                         1
    #define   MSK32ISA_ASR_EX_ALU16SET                            0x00040000

    #define     BA_ISA_ASR_EX_ALU16SEL                         0x0012
    #define     B16ISA_ASR_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_ASR_EX_ALU16SEL                            19
    #define   LSb16ISA_ASR_EX_ALU16SEL                            3
    #define       bISA_ASR_EX_ALU16SEL                         1
    #define   MSK32ISA_ASR_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_ASR_EX_ALU16OR                          0x0012
    #define     B16ISA_ASR_EX_ALU16OR                          0x0012
    #define   LSb32ISA_ASR_EX_ALU16OR                             20
    #define   LSb16ISA_ASR_EX_ALU16OR                             4
    #define       bISA_ASR_EX_ALU16OR                          1
    #define   MSK32ISA_ASR_EX_ALU16OR                             0x00100000

    #define     BA_ISA_ASR_EX_ALU16AND                         0x0012
    #define     B16ISA_ASR_EX_ALU16AND                         0x0012
    #define   LSb32ISA_ASR_EX_ALU16AND                            21
    #define   LSb16ISA_ASR_EX_ALU16AND                            5
    #define       bISA_ASR_EX_ALU16AND                         1
    #define   MSK32ISA_ASR_EX_ALU16AND                            0x00200000

    #define     BA_ISA_ASR_EX_ALU16XOR                         0x0012
    #define     B16ISA_ASR_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_ASR_EX_ALU16XOR                            22
    #define   LSb16ISA_ASR_EX_ALU16XOR                            6
    #define       bISA_ASR_EX_ALU16XOR                         1
    #define   MSK32ISA_ASR_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_ASR_EX_ALU16SP                          0x0012
    #define     B16ISA_ASR_EX_ALU16SP                          0x0012
    #define   LSb32ISA_ASR_EX_ALU16SP                             23
    #define   LSb16ISA_ASR_EX_ALU16SP                             7
    #define       bISA_ASR_EX_ALU16SP                          1
    #define   MSK32ISA_ASR_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_EXX                                 0x0014

    #define     BA_ISA_ASR_EXX_WRSQ                            0x0014
    #define     B16ISA_ASR_EXX_WRSQ                            0x0014
    #define   LSb32ISA_ASR_EXX_WRSQ                               0
    #define   LSb16ISA_ASR_EXX_WRSQ                               0
    #define       bISA_ASR_EXX_WRSQ                            1
    #define   MSK32ISA_ASR_EXX_WRSQ                               0x00000001

    #define     BA_ISA_ASR_EXX_WR16                            0x0014
    #define     B16ISA_ASR_EXX_WR16                            0x0014
    #define   LSb32ISA_ASR_EXX_WR16                               1
    #define   LSb16ISA_ASR_EXX_WR16                               1
    #define       bISA_ASR_EXX_WR16                            1
    #define   MSK32ISA_ASR_EXX_WR16                               0x00000002

    #define     BA_ISA_ASR_EXX_WRTQ                            0x0014
    #define     B16ISA_ASR_EXX_WRTQ                            0x0014
    #define   LSb32ISA_ASR_EXX_WRTQ                               2
    #define   LSb16ISA_ASR_EXX_WRTQ                               2
    #define       bISA_ASR_EXX_WRTQ                            1
    #define   MSK32ISA_ASR_EXX_WRTQ                               0x00000004

    #define     BA_ISA_ASR_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_ASR_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_ASR_EXX_ALU64PUSH                          3
    #define   LSb16ISA_ASR_EXX_ALU64PUSH                          3
    #define       bISA_ASR_EXX_ALU64PUSH                       1
    #define   MSK32ISA_ASR_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_ASR_EXX_ALU64POP                        0x0014
    #define     B16ISA_ASR_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_ASR_EXX_ALU64POP                           4
    #define   LSb16ISA_ASR_EXX_ALU64POP                           4
    #define       bISA_ASR_EXX_ALU64POP                        1
    #define   MSK32ISA_ASR_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_ASR_EXX_ALU64SQ                         0x0014
    #define     B16ISA_ASR_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_ASR_EXX_ALU64SQ                            5
    #define   LSb16ISA_ASR_EXX_ALU64SQ                            5
    #define       bISA_ASR_EXX_ALU64SQ                         1
    #define   MSK32ISA_ASR_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_ASR_EXX_ALU64TQ                         0x0014
    #define     B16ISA_ASR_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_ASR_EXX_ALU64TQ                            6
    #define   LSb16ISA_ASR_EXX_ALU64TQ                            6
    #define       bISA_ASR_EXX_ALU64TQ                         1
    #define   MSK32ISA_ASR_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_ASR_EXX_ALU64MEM                        0x0014
    #define     B16ISA_ASR_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_ASR_EXX_ALU64MEM                           7
    #define   LSb16ISA_ASR_EXX_ALU64MEM                           7
    #define       bISA_ASR_EXX_ALU64MEM                        1
    #define   MSK32ISA_ASR_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_ASR_EXX_BRANCH                          0x0015
    #define     B16ISA_ASR_EXX_BRANCH                          0x0014
    #define   LSb32ISA_ASR_EXX_BRANCH                             8
    #define   LSb16ISA_ASR_EXX_BRANCH                             8
    #define       bISA_ASR_EXX_BRANCH                          1
    #define   MSK32ISA_ASR_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_ASR_WB                                  0x0018

    #define     BA_ISA_ASR_WB_RF16                             0x0018
    #define     B16ISA_ASR_WB_RF16                             0x0018
    #define   LSb32ISA_ASR_WB_RF16                                0
    #define   LSb16ISA_ASR_WB_RF16                                0
    #define       bISA_ASR_WB_RF16                             1
    #define   MSK32ISA_ASR_WB_RF16                                0x00000001

    #define     BA_ISA_ASR_WB_RF16W0                           0x0018
    #define     B16ISA_ASR_WB_RF16W0                           0x0018
    #define   LSb32ISA_ASR_WB_RF16W0                              1
    #define   LSb16ISA_ASR_WB_RF16W0                              1
    #define       bISA_ASR_WB_RF16W0                           1
    #define   MSK32ISA_ASR_WB_RF16W0                              0x00000002

    #define     BA_ISA_ASR_WB_RF16MEM                          0x0018
    #define     B16ISA_ASR_WB_RF16MEM                          0x0018
    #define   LSb32ISA_ASR_WB_RF16MEM                             2
    #define   LSb16ISA_ASR_WB_RF16MEM                             2
    #define       bISA_ASR_WB_RF16MEM                          1
    #define   MSK32ISA_ASR_WB_RF16MEM                             0x00000004

    #define     BA_ISA_ASR_WB_RF16Q                            0x0018
    #define     B16ISA_ASR_WB_RF16Q                            0x0018
    #define   LSb32ISA_ASR_WB_RF16Q                               3
    #define   LSb16ISA_ASR_WB_RF16Q                               3
    #define       bISA_ASR_WB_RF16Q                            1
    #define   MSK32ISA_ASR_WB_RF16Q                               0x00000008

    #define     BA_ISA_ASR_WB_RF64                             0x0018
    #define     B16ISA_ASR_WB_RF64                             0x0018
    #define   LSb32ISA_ASR_WB_RF64                                4
    #define   LSb16ISA_ASR_WB_RF64                                4
    #define       bISA_ASR_WB_RF64                             1
    #define   MSK32ISA_ASR_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_ASR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_ASR_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_ASR_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ASR_Mask;
            struct w32ISA_ASR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_ASR_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_ASR_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_ASR_Opcode;
            struct w32ISA_ASR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASR_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASR_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASR_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASR_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASR_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASR_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASR_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASR_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASR_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASR_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASR_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASR_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASR_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASR_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASR_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASR_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASR_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASR_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASR_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASR_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ASR_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_ASR_ID;
            struct w32ISA_ASR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASR_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASR_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASR_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASR_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASR_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASR_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASR_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASR_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASR_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASR_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASR_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASR_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASR_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASR_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASR_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASR_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASR_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASR_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASR_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASR_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASR_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASR_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASR_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASR_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ASR_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_ASR_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ASR_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_ASR_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ASR_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_ASR_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_ASR_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_ASR_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_ASR_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_ASR_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_ASR_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_ASR_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_ASR_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_ASR_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_ASR_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_ASR_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_ASR_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_ASR_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_ASR_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_ASR_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_ASR_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_ASR_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_ASR_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_ASR_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_ASR_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_ASR_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_ASR_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_ASR_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_ASR_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ASR_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ASR_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_ASR_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_ASR_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_ASR_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_ASR_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_ASR_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_ASR_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_ASR_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_ASR_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_ASR_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_ASR_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_ASR_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_ASR_LD;
            struct w32ISA_ASR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASR_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASR_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASR_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASR_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASR_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASR_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASR_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASR_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASR_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASR_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASR_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASR_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASR_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASR_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASR_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASR_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASR_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASR_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASR_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASR_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASR_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASR_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASR_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASR_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_ASR_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_ASR_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_ASR_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_ASR_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_ASR_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_ASR_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_ASR_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_ASR_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_ASR_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_ASR_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_ASR_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_ASR_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_ASR_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_ASR_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_ASR_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_ASR_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_ASR_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_ASR_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_ASR_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_ASR_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_ASR_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_ASR_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_ASR_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_ASR_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_ASR_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_ASR_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_ASR_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_ASR_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_ASR_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_ASR_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_ASR_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_ASR_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_ASR_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_ASR_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_ASR_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_ASR_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_ASR_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_ASR_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_ASR_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_ASR_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_ASR_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASR_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_ASR_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_ASR_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASR_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASR_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_ASR_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_ASR_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASR_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_ASR_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_ASR_EX;
            struct w32ISA_ASR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASR_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASR_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASR_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASR_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASR_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASR_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASR_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASR_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASR_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASR_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_ASR_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_ASR_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_ASR_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_ASR_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_ASR_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_ASR_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_ASR_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_ASR_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_ASR_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_ASR_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_ASR_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_ASR_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_ASR_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_ASR_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_ASR_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_ASR_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_ASR_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_ASR_EXX;
            struct w32ISA_ASR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_ASR_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_ASR_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_ASR_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_ASR_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_ASR_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_ASR_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_ASR_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_ASR_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_ASR_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_ASR_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_ASR_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_ASR_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_ASR_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_ASR_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_ASR_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_ASR_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_ASR_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_ASR_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_ASR_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_ASR_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_ASR_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_ASR_WB;
            struct w32ISA_ASR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_ASR;

    typedef union  T32ISA_ASR_Mask
          { UNSG32 u32;
            struct w32ISA_ASR_Mask;
                 } T32ISA_ASR_Mask;
    typedef union  T32ISA_ASR_Opcode
          { UNSG32 u32;
            struct w32ISA_ASR_Opcode;
                 } T32ISA_ASR_Opcode;
    typedef union  T32ISA_ASR_ID
          { UNSG32 u32;
            struct w32ISA_ASR_ID;
                 } T32ISA_ASR_ID;
    typedef union  T32ISA_ASR_LD
          { UNSG32 u32;
            struct w32ISA_ASR_LD;
                 } T32ISA_ASR_LD;
    typedef union  T32ISA_ASR_EX
          { UNSG32 u32;
            struct w32ISA_ASR_EX;
                 } T32ISA_ASR_EX;
    typedef union  T32ISA_ASR_EXX
          { UNSG32 u32;
            struct w32ISA_ASR_EXX;
                 } T32ISA_ASR_EXX;
    typedef union  T32ISA_ASR_WB
          { UNSG32 u32;
            struct w32ISA_ASR_WB;
                 } T32ISA_ASR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_ASR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_Mask;
                   };
                 } TISA_ASR_Mask;
    typedef union  TISA_ASR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_Opcode;
                   };
                 } TISA_ASR_Opcode;
    typedef union  TISA_ASR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_ID;
                   };
                 } TISA_ASR_ID;
    typedef union  TISA_ASR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_LD;
                   };
                 } TISA_ASR_LD;
    typedef union  TISA_ASR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_EX;
                   };
                 } TISA_ASR_EX;
    typedef union  TISA_ASR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_EXX;
                   };
                 } TISA_ASR_EXX;
    typedef union  TISA_ASR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_ASR_WB;
                   };
                 } TISA_ASR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_ASR_drvrd(SIE_ISA_ASR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_ASR_drvwr(SIE_ISA_ASR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_ASR_reset(SIE_ISA_ASR *p);
     SIGN32 ISA_ASR_cmp  (SIE_ISA_ASR *p, SIE_ISA_ASR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_ASR_check(p,pie,pfx,hLOG) ISA_ASR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_ASR_print(p,    pfx,hLOG) ISA_ASR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_ASR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SLi                                  (4,4)
///     ###
///     * Logically left shift a register by an immediate number in [0,15] to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1C0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SL.i"    , "rD,rS,C"     , "0001 1100 SSSS ---- CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    SL.i     %d1, %a1, 3     ; %d1 = %a1 << 3;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   0x1
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SLi
#define h_ISA_SLi (){}

    #define     RA_ISA_SLi_Mask                                0x0000

    #define     BA_ISA_SLi_Mask_INS                            0x0000
    #define     B16ISA_SLi_Mask_INS                            0x0000
    #define   LSb32ISA_SLi_Mask_INS                               0
    #define   LSb16ISA_SLi_Mask_INS                               0
    #define       bISA_SLi_Mask_INS                            24
    #define   MSK32ISA_SLi_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_Opcode                              0x0004

    #define     BA_ISA_SLi_Opcode_INS                          0x0004
    #define     B16ISA_SLi_Opcode_INS                          0x0004
    #define   LSb32ISA_SLi_Opcode_INS                             0
    #define   LSb16ISA_SLi_Opcode_INS                             0
    #define       bISA_SLi_Opcode_INS                          24
    #define   MSK32ISA_SLi_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_ID                                  0x0008

    #define     BA_ISA_SLi_ID_RBRF                             0x0008
    #define     B16ISA_SLi_ID_RBRF                             0x0008
    #define   LSb32ISA_SLi_ID_RBRF                                0
    #define   LSb16ISA_SLi_ID_RBRF                                0
    #define       bISA_SLi_ID_RBRF                             1
    #define   MSK32ISA_SLi_ID_RBRF                                0x00000001

    #define     BA_ISA_SLi_ID_RARF                             0x0008
    #define     B16ISA_SLi_ID_RARF                             0x0008
    #define   LSb32ISA_SLi_ID_RARF                                1
    #define   LSb16ISA_SLi_ID_RARF                                1
    #define       bISA_SLi_ID_RARF                             1
    #define   MSK32ISA_SLi_ID_RARF                                0x00000002

    #define     BA_ISA_SLi_ID_RAK8                             0x0008
    #define     B16ISA_SLi_ID_RAK8                             0x0008
    #define   LSb32ISA_SLi_ID_RAK8                                2
    #define   LSb16ISA_SLi_ID_RAK8                                2
    #define       bISA_SLi_ID_RAK8                             1
    #define   MSK32ISA_SLi_ID_RAK8                                0x00000004

    #define     BA_ISA_SLi_ID_RAI16                            0x0008
    #define     B16ISA_SLi_ID_RAI16                            0x0008
    #define   LSb32ISA_SLi_ID_RAI16                               3
    #define   LSb16ISA_SLi_ID_RAI16                               3
    #define       bISA_SLi_ID_RAI16                            1
    #define   MSK32ISA_SLi_ID_RAI16                               0x00000008

    #define     BA_ISA_SLi_ID_RAK16                            0x0008
    #define     B16ISA_SLi_ID_RAK16                            0x0008
    #define   LSb32ISA_SLi_ID_RAK16                               4
    #define   LSb16ISA_SLi_ID_RAK16                               4
    #define       bISA_SLi_ID_RAK16                            1
    #define   MSK32ISA_SLi_ID_RAK16                               0x00000010

    #define     BA_ISA_SLi_ID_RFSP                             0x0008
    #define     B16ISA_SLi_ID_RFSP                             0x0008
    #define   LSb32ISA_SLi_ID_RFSP                                5
    #define   LSb16ISA_SLi_ID_RFSP                                5
    #define       bISA_SLi_ID_RFSP                             1
    #define   MSK32ISA_SLi_ID_RFSP                                0x00000020

    #define     BA_ISA_SLi_ID_W4D4                             0x0008
    #define     B16ISA_SLi_ID_W4D4                             0x0008
    #define   LSb32ISA_SLi_ID_W4D4                                6
    #define   LSb16ISA_SLi_ID_W4D4                                6
    #define       bISA_SLi_ID_W4D4                             1
    #define   MSK32ISA_SLi_ID_W4D4                                0x00000040

    #define     BA_ISA_SLi_ID_W4S4                             0x0008
    #define     B16ISA_SLi_ID_W4S4                             0x0008
    #define   LSb32ISA_SLi_ID_W4S4                                7
    #define   LSb16ISA_SLi_ID_W4S4                                7
    #define       bISA_SLi_ID_W4S4                             1
    #define   MSK32ISA_SLi_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_LD                                  0x000C

    #define     BA_ISA_SLi_LD_SPRF                             0x000C
    #define     B16ISA_SLi_LD_SPRF                             0x000C
    #define   LSb32ISA_SLi_LD_SPRF                                0
    #define   LSb16ISA_SLi_LD_SPRF                                0
    #define       bISA_SLi_LD_SPRF                             1
    #define   MSK32ISA_SLi_LD_SPRF                                0x00000001

    #define     BA_ISA_SLi_LD_SPK8                             0x000C
    #define     B16ISA_SLi_LD_SPK8                             0x000C
    #define   LSb32ISA_SLi_LD_SPK8                                1
    #define   LSb16ISA_SLi_LD_SPK8                                1
    #define       bISA_SLi_LD_SPK8                             1
    #define   MSK32ISA_SLi_LD_SPK8                                0x00000002

    #define     BA_ISA_SLi_LD_SPJ                              0x000C
    #define     B16ISA_SLi_LD_SPJ                              0x000C
    #define   LSb32ISA_SLi_LD_SPJ                                 2
    #define   LSb16ISA_SLi_LD_SPJ                                 2
    #define       bISA_SLi_LD_SPJ                              1
    #define   MSK32ISA_SLi_LD_SPJ                                 0x00000004

    #define     BA_ISA_SLi_LD_SP4S                             0x000C
    #define     B16ISA_SLi_LD_SP4S                             0x000C
    #define   LSb32ISA_SLi_LD_SP4S                                3
    #define   LSb16ISA_SLi_LD_SP4S                                3
    #define       bISA_SLi_LD_SP4S                             1
    #define   MSK32ISA_SLi_LD_SP4S                                0x00000008

    #define     BA_ISA_SLi_LD_SP8S                             0x000C
    #define     B16ISA_SLi_LD_SP8S                             0x000C
    #define   LSb32ISA_SLi_LD_SP8S                                4
    #define   LSb16ISA_SLi_LD_SP8S                                4
    #define       bISA_SLi_LD_SP8S                             1
    #define   MSK32ISA_SLi_LD_SP8S                                0x00000010

    #define     BA_ISA_SLi_LD_SP8U                             0x000C
    #define     B16ISA_SLi_LD_SP8U                             0x000C
    #define   LSb32ISA_SLi_LD_SP8U                                5
    #define   LSb16ISA_SLi_LD_SP8U                                5
    #define       bISA_SLi_LD_SP8U                             1
    #define   MSK32ISA_SLi_LD_SP8U                                0x00000020

    #define     BA_ISA_SLi_LD_SP12S                            0x000C
    #define     B16ISA_SLi_LD_SP12S                            0x000C
    #define   LSb32ISA_SLi_LD_SP12S                               6
    #define   LSb16ISA_SLi_LD_SP12S                               6
    #define       bISA_SLi_LD_SP12S                            1
    #define   MSK32ISA_SLi_LD_SP12S                               0x00000040

    #define     BA_ISA_SLi_LD_SP16                             0x000C
    #define     B16ISA_SLi_LD_SP16                             0x000C
    #define   LSb32ISA_SLi_LD_SP16                                7
    #define   LSb16ISA_SLi_LD_SP16                                7
    #define       bISA_SLi_LD_SP16                             1
    #define   MSK32ISA_SLi_LD_SP16                                0x00000080

    #define     BA_ISA_SLi_LD_TPRF                             0x000D
    #define     B16ISA_SLi_LD_TPRF                             0x000C
    #define   LSb32ISA_SLi_LD_TPRF                                8
    #define   LSb16ISA_SLi_LD_TPRF                                8
    #define       bISA_SLi_LD_TPRF                             1
    #define   MSK32ISA_SLi_LD_TPRF                                0x00000100

    #define     BA_ISA_SLi_LD_TPJ                              0x000D
    #define     B16ISA_SLi_LD_TPJ                              0x000C
    #define   LSb32ISA_SLi_LD_TPJ                                 9
    #define   LSb16ISA_SLi_LD_TPJ                                 9
    #define       bISA_SLi_LD_TPJ                              1
    #define   MSK32ISA_SLi_LD_TPJ                                 0x00000200

    #define     BA_ISA_SLi_LD_TP4S                             0x000D
    #define     B16ISA_SLi_LD_TP4S                             0x000C
    #define   LSb32ISA_SLi_LD_TP4S                                10
    #define   LSb16ISA_SLi_LD_TP4S                                10
    #define       bISA_SLi_LD_TP4S                             1
    #define   MSK32ISA_SLi_LD_TP4S                                0x00000400

    #define     BA_ISA_SLi_LD_TP8L                             0x000D
    #define     B16ISA_SLi_LD_TP8L                             0x000C
    #define   LSb32ISA_SLi_LD_TP8L                                11
    #define   LSb16ISA_SLi_LD_TP8L                                11
    #define       bISA_SLi_LD_TP8L                             1
    #define   MSK32ISA_SLi_LD_TP8L                                0x00000800

    #define     BA_ISA_SLi_LD_TP8H                             0x000D
    #define     B16ISA_SLi_LD_TP8H                             0x000C
    #define   LSb32ISA_SLi_LD_TP8H                                12
    #define   LSb16ISA_SLi_LD_TP8H                                12
    #define       bISA_SLi_LD_TP8H                             1
    #define   MSK32ISA_SLi_LD_TP8H                                0x00001000

    #define     BA_ISA_SLi_LD_TP8LF                            0x000D
    #define     B16ISA_SLi_LD_TP8LF                            0x000C
    #define   LSb32ISA_SLi_LD_TP8LF                               13
    #define   LSb16ISA_SLi_LD_TP8LF                               13
    #define       bISA_SLi_LD_TP8LF                            1
    #define   MSK32ISA_SLi_LD_TP8LF                               0x00002000

    #define     BA_ISA_SLi_LD_TP8HF                            0x000D
    #define     B16ISA_SLi_LD_TP8HF                            0x000C
    #define   LSb32ISA_SLi_LD_TP8HF                               14
    #define   LSb16ISA_SLi_LD_TP8HF                               14
    #define       bISA_SLi_LD_TP8HF                            1
    #define   MSK32ISA_SLi_LD_TP8HF                               0x00004000

    #define     BA_ISA_SLi_LD_SQRF64                           0x000D
    #define     B16ISA_SLi_LD_SQRF64                           0x000C
    #define   LSb32ISA_SLi_LD_SQRF64                              15
    #define   LSb16ISA_SLi_LD_SQRF64                              15
    #define       bISA_SLi_LD_SQRF64                           1
    #define   MSK32ISA_SLi_LD_SQRF64                              0x00008000

    #define     BA_ISA_SLi_LD_TQRF16Q                          0x000E
    #define     B16ISA_SLi_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_SLi_LD_TQRF16Q                             16
    #define   LSb16ISA_SLi_LD_TQRF16Q                             0
    #define       bISA_SLi_LD_TQRF16Q                          1
    #define   MSK32ISA_SLi_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_SLi_LD_TQRFx4                           0x000E
    #define     B16ISA_SLi_LD_TQRFx4                           0x000E
    #define   LSb32ISA_SLi_LD_TQRFx4                              17
    #define   LSb16ISA_SLi_LD_TQRFx4                              1
    #define       bISA_SLi_LD_TQRFx4                           1
    #define   MSK32ISA_SLi_LD_TQRFx4                              0x00020000

    #define     BA_ISA_SLi_LD_RD                               0x000E
    #define     B16ISA_SLi_LD_RD                               0x000E
    #define   LSb32ISA_SLi_LD_RD                                  18
    #define   LSb16ISA_SLi_LD_RD                                  2
    #define       bISA_SLi_LD_RD                               1
    #define   MSK32ISA_SLi_LD_RD                                  0x00040000

    #define     BA_ISA_SLi_LD_WARF                             0x000E
    #define     B16ISA_SLi_LD_WARF                             0x000E
    #define   LSb32ISA_SLi_LD_WARF                                19
    #define   LSb16ISA_SLi_LD_WARF                                3
    #define       bISA_SLi_LD_WARF                             1
    #define   MSK32ISA_SLi_LD_WARF                                0x00080000

    #define     BA_ISA_SLi_LD_WAK8                             0x000E
    #define     B16ISA_SLi_LD_WAK8                             0x000E
    #define   LSb32ISA_SLi_LD_WAK8                                20
    #define   LSb16ISA_SLi_LD_WAK8                                4
    #define       bISA_SLi_LD_WAK8                             1
    #define   MSK32ISA_SLi_LD_WAK8                                0x00100000

    #define     BA_ISA_SLi_LD_WAK16                            0x000E
    #define     B16ISA_SLi_LD_WAK16                            0x000E
    #define   LSb32ISA_SLi_LD_WAK16                               21
    #define   LSb16ISA_SLi_LD_WAK16                               5
    #define       bISA_SLi_LD_WAK16                            1
    #define   MSK32ISA_SLi_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_EX                                  0x0010

    #define     BA_ISA_SLi_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_SLi_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagZ                          0
    #define   LSb16ISA_SLi_EX_ALU16FlagZ                          0
    #define       bISA_SLi_EX_ALU16FlagZ                       1
    #define   MSK32ISA_SLi_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_SLi_EX_ALU16FlagC                       0x0010
    #define     B16ISA_SLi_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagC                          1
    #define   LSb16ISA_SLi_EX_ALU16FlagC                          1
    #define       bISA_SLi_EX_ALU16FlagC                       1
    #define   MSK32ISA_SLi_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_SLi_EX_ALU16FlagN                       0x0010
    #define     B16ISA_SLi_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagN                          2
    #define   LSb16ISA_SLi_EX_ALU16FlagN                          2
    #define       bISA_SLi_EX_ALU16FlagN                       1
    #define   MSK32ISA_SLi_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_SLi_EX_ALU16FlagV                       0x0010
    #define     B16ISA_SLi_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagV                          3
    #define   LSb16ISA_SLi_EX_ALU16FlagV                          3
    #define       bISA_SLi_EX_ALU16FlagV                       1
    #define   MSK32ISA_SLi_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_SLi_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_SLi_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagTP                         4
    #define   LSb16ISA_SLi_EX_ALU16FlagTP                         4
    #define       bISA_SLi_EX_ALU16FlagTP                      1
    #define   MSK32ISA_SLi_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_SLi_EX_ALU16MUL                         0x0010
    #define     B16ISA_SLi_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16MUL                            5
    #define   LSb16ISA_SLi_EX_ALU16MUL                            5
    #define       bISA_SLi_EX_ALU16MUL                         1
    #define   MSK32ISA_SLi_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_SLi_EX_ALU16DIV                         0x0010
    #define     B16ISA_SLi_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16DIV                            6
    #define   LSb16ISA_SLi_EX_ALU16DIV                            6
    #define       bISA_SLi_EX_ALU16DIV                         1
    #define   MSK32ISA_SLi_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_SLi_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_SLi_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_SLi_EX_ALU16FlagLD                         7
    #define   LSb16ISA_SLi_EX_ALU16FlagLD                         7
    #define       bISA_SLi_EX_ALU16FlagLD                      1
    #define   MSK32ISA_SLi_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_SLi_EX_ALU16MDL                         0x0011
    #define     B16ISA_SLi_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16MDL                            8
    #define   LSb16ISA_SLi_EX_ALU16MDL                            8
    #define       bISA_SLi_EX_ALU16MDL                         1
    #define   MSK32ISA_SLi_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_SLi_EX_ALU16MDH                         0x0011
    #define     B16ISA_SLi_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16MDH                            9
    #define   LSb16ISA_SLi_EX_ALU16MDH                            9
    #define       bISA_SLi_EX_ALU16MDH                         1
    #define   MSK32ISA_SLi_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_SLi_EX_ALU16ADD                         0x0011
    #define     B16ISA_SLi_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16ADD                            10
    #define   LSb16ISA_SLi_EX_ALU16ADD                            10
    #define       bISA_SLi_EX_ALU16ADD                         1
    #define   MSK32ISA_SLi_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_SLi_EX_ALU16SUB                         0x0011
    #define     B16ISA_SLi_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16SUB                            11
    #define   LSb16ISA_SLi_EX_ALU16SUB                            11
    #define       bISA_SLi_EX_ALU16SUB                         1
    #define   MSK32ISA_SLi_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_SLi_EX_ALU16ADDC                        0x0011
    #define     B16ISA_SLi_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_SLi_EX_ALU16ADDC                           12
    #define   LSb16ISA_SLi_EX_ALU16ADDC                           12
    #define       bISA_SLi_EX_ALU16ADDC                        1
    #define   MSK32ISA_SLi_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_SLi_EX_ALU16SUBC                        0x0011
    #define     B16ISA_SLi_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_SLi_EX_ALU16SUBC                           13
    #define   LSb16ISA_SLi_EX_ALU16SUBC                           13
    #define       bISA_SLi_EX_ALU16SUBC                        1
    #define   MSK32ISA_SLi_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_SLi_EX_ALU16ASR                         0x0011
    #define     B16ISA_SLi_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_SLi_EX_ALU16ASR                            14
    #define   LSb16ISA_SLi_EX_ALU16ASR                            14
    #define       bISA_SLi_EX_ALU16ASR                         1
    #define   MSK32ISA_SLi_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_SLi_EX_ALU16SL                          0x0011
    #define     B16ISA_SLi_EX_ALU16SL                          0x0010
    #define   LSb32ISA_SLi_EX_ALU16SL                             15
    #define   LSb16ISA_SLi_EX_ALU16SL                             15
    #define       bISA_SLi_EX_ALU16SL                          1
    #define   MSK32ISA_SLi_EX_ALU16SL                             0x00008000

    #define     BA_ISA_SLi_EX_ALU16SR                          0x0012
    #define     B16ISA_SLi_EX_ALU16SR                          0x0012
    #define   LSb32ISA_SLi_EX_ALU16SR                             16
    #define   LSb16ISA_SLi_EX_ALU16SR                             0
    #define       bISA_SLi_EX_ALU16SR                          1
    #define   MSK32ISA_SLi_EX_ALU16SR                             0x00010000

    #define     BA_ISA_SLi_EX_ALU16GET                         0x0012
    #define     B16ISA_SLi_EX_ALU16GET                         0x0012
    #define   LSb32ISA_SLi_EX_ALU16GET                            17
    #define   LSb16ISA_SLi_EX_ALU16GET                            1
    #define       bISA_SLi_EX_ALU16GET                         1
    #define   MSK32ISA_SLi_EX_ALU16GET                            0x00020000

    #define     BA_ISA_SLi_EX_ALU16SET                         0x0012
    #define     B16ISA_SLi_EX_ALU16SET                         0x0012
    #define   LSb32ISA_SLi_EX_ALU16SET                            18
    #define   LSb16ISA_SLi_EX_ALU16SET                            2
    #define       bISA_SLi_EX_ALU16SET                         1
    #define   MSK32ISA_SLi_EX_ALU16SET                            0x00040000

    #define     BA_ISA_SLi_EX_ALU16SEL                         0x0012
    #define     B16ISA_SLi_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_SLi_EX_ALU16SEL                            19
    #define   LSb16ISA_SLi_EX_ALU16SEL                            3
    #define       bISA_SLi_EX_ALU16SEL                         1
    #define   MSK32ISA_SLi_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_SLi_EX_ALU16OR                          0x0012
    #define     B16ISA_SLi_EX_ALU16OR                          0x0012
    #define   LSb32ISA_SLi_EX_ALU16OR                             20
    #define   LSb16ISA_SLi_EX_ALU16OR                             4
    #define       bISA_SLi_EX_ALU16OR                          1
    #define   MSK32ISA_SLi_EX_ALU16OR                             0x00100000

    #define     BA_ISA_SLi_EX_ALU16AND                         0x0012
    #define     B16ISA_SLi_EX_ALU16AND                         0x0012
    #define   LSb32ISA_SLi_EX_ALU16AND                            21
    #define   LSb16ISA_SLi_EX_ALU16AND                            5
    #define       bISA_SLi_EX_ALU16AND                         1
    #define   MSK32ISA_SLi_EX_ALU16AND                            0x00200000

    #define     BA_ISA_SLi_EX_ALU16XOR                         0x0012
    #define     B16ISA_SLi_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_SLi_EX_ALU16XOR                            22
    #define   LSb16ISA_SLi_EX_ALU16XOR                            6
    #define       bISA_SLi_EX_ALU16XOR                         1
    #define   MSK32ISA_SLi_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_SLi_EX_ALU16SP                          0x0012
    #define     B16ISA_SLi_EX_ALU16SP                          0x0012
    #define   LSb32ISA_SLi_EX_ALU16SP                             23
    #define   LSb16ISA_SLi_EX_ALU16SP                             7
    #define       bISA_SLi_EX_ALU16SP                          1
    #define   MSK32ISA_SLi_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_EXX                                 0x0014

    #define     BA_ISA_SLi_EXX_WRSQ                            0x0014
    #define     B16ISA_SLi_EXX_WRSQ                            0x0014
    #define   LSb32ISA_SLi_EXX_WRSQ                               0
    #define   LSb16ISA_SLi_EXX_WRSQ                               0
    #define       bISA_SLi_EXX_WRSQ                            1
    #define   MSK32ISA_SLi_EXX_WRSQ                               0x00000001

    #define     BA_ISA_SLi_EXX_WR16                            0x0014
    #define     B16ISA_SLi_EXX_WR16                            0x0014
    #define   LSb32ISA_SLi_EXX_WR16                               1
    #define   LSb16ISA_SLi_EXX_WR16                               1
    #define       bISA_SLi_EXX_WR16                            1
    #define   MSK32ISA_SLi_EXX_WR16                               0x00000002

    #define     BA_ISA_SLi_EXX_WRTQ                            0x0014
    #define     B16ISA_SLi_EXX_WRTQ                            0x0014
    #define   LSb32ISA_SLi_EXX_WRTQ                               2
    #define   LSb16ISA_SLi_EXX_WRTQ                               2
    #define       bISA_SLi_EXX_WRTQ                            1
    #define   MSK32ISA_SLi_EXX_WRTQ                               0x00000004

    #define     BA_ISA_SLi_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_SLi_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_SLi_EXX_ALU64PUSH                          3
    #define   LSb16ISA_SLi_EXX_ALU64PUSH                          3
    #define       bISA_SLi_EXX_ALU64PUSH                       1
    #define   MSK32ISA_SLi_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_SLi_EXX_ALU64POP                        0x0014
    #define     B16ISA_SLi_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_SLi_EXX_ALU64POP                           4
    #define   LSb16ISA_SLi_EXX_ALU64POP                           4
    #define       bISA_SLi_EXX_ALU64POP                        1
    #define   MSK32ISA_SLi_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_SLi_EXX_ALU64SQ                         0x0014
    #define     B16ISA_SLi_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_SLi_EXX_ALU64SQ                            5
    #define   LSb16ISA_SLi_EXX_ALU64SQ                            5
    #define       bISA_SLi_EXX_ALU64SQ                         1
    #define   MSK32ISA_SLi_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_SLi_EXX_ALU64TQ                         0x0014
    #define     B16ISA_SLi_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_SLi_EXX_ALU64TQ                            6
    #define   LSb16ISA_SLi_EXX_ALU64TQ                            6
    #define       bISA_SLi_EXX_ALU64TQ                         1
    #define   MSK32ISA_SLi_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_SLi_EXX_ALU64MEM                        0x0014
    #define     B16ISA_SLi_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_SLi_EXX_ALU64MEM                           7
    #define   LSb16ISA_SLi_EXX_ALU64MEM                           7
    #define       bISA_SLi_EXX_ALU64MEM                        1
    #define   MSK32ISA_SLi_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_SLi_EXX_BRANCH                          0x0015
    #define     B16ISA_SLi_EXX_BRANCH                          0x0014
    #define   LSb32ISA_SLi_EXX_BRANCH                             8
    #define   LSb16ISA_SLi_EXX_BRANCH                             8
    #define       bISA_SLi_EXX_BRANCH                          1
    #define   MSK32ISA_SLi_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SLi_WB                                  0x0018

    #define     BA_ISA_SLi_WB_RF16                             0x0018
    #define     B16ISA_SLi_WB_RF16                             0x0018
    #define   LSb32ISA_SLi_WB_RF16                                0
    #define   LSb16ISA_SLi_WB_RF16                                0
    #define       bISA_SLi_WB_RF16                             1
    #define   MSK32ISA_SLi_WB_RF16                                0x00000001

    #define     BA_ISA_SLi_WB_RF16W0                           0x0018
    #define     B16ISA_SLi_WB_RF16W0                           0x0018
    #define   LSb32ISA_SLi_WB_RF16W0                              1
    #define   LSb16ISA_SLi_WB_RF16W0                              1
    #define       bISA_SLi_WB_RF16W0                           1
    #define   MSK32ISA_SLi_WB_RF16W0                              0x00000002

    #define     BA_ISA_SLi_WB_RF16MEM                          0x0018
    #define     B16ISA_SLi_WB_RF16MEM                          0x0018
    #define   LSb32ISA_SLi_WB_RF16MEM                             2
    #define   LSb16ISA_SLi_WB_RF16MEM                             2
    #define       bISA_SLi_WB_RF16MEM                          1
    #define   MSK32ISA_SLi_WB_RF16MEM                             0x00000004

    #define     BA_ISA_SLi_WB_RF16Q                            0x0018
    #define     B16ISA_SLi_WB_RF16Q                            0x0018
    #define   LSb32ISA_SLi_WB_RF16Q                               3
    #define   LSb16ISA_SLi_WB_RF16Q                               3
    #define       bISA_SLi_WB_RF16Q                            1
    #define   MSK32ISA_SLi_WB_RF16Q                               0x00000008

    #define     BA_ISA_SLi_WB_RF64                             0x0018
    #define     B16ISA_SLi_WB_RF64                             0x0018
    #define   LSb32ISA_SLi_WB_RF64                                4
    #define   LSb16ISA_SLi_WB_RF64                                4
    #define       bISA_SLi_WB_RF64                             1
    #define   MSK32ISA_SLi_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SLi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_SLi_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_SLi_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SLi_Mask;
            struct w32ISA_SLi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_SLi_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_SLi_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SLi_Opcode;
            struct w32ISA_SLi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SLi_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SLi_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SLi_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SLi_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SLi_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SLi_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SLi_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SLi_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SLi_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SLi_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SLi_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SLi_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SLi_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SLi_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SLi_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SLi_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SLi_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SLi_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SLi_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SLi_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SLi_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SLi_ID;
            struct w32ISA_SLi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SLi_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SLi_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SLi_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SLi_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SLi_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SLi_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SLi_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SLi_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SLi_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SLi_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SLi_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SLi_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SLi_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SLi_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SLi_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SLi_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SLi_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SLi_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SLi_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SLi_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SLi_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_SLi_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SLi_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_SLi_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SLi_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_SLi_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SLi_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_SLi_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SLi_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_SLi_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_SLi_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_SLi_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_SLi_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_SLi_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_SLi_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_SLi_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_SLi_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_SLi_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_SLi_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_SLi_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_SLi_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_SLi_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_SLi_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_SLi_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_SLi_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_SLi_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_SLi_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_SLi_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_SLi_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SLi_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SLi_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SLi_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SLi_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SLi_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SLi_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_SLi_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_SLi_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_SLi_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_SLi_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_SLi_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_SLi_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_SLi_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_SLi_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_SLi_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_SLi_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SLi_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SLi_LD;
            struct w32ISA_SLi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_SLi_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SLi_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_SLi_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SLi_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_SLi_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SLi_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SLi_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SLi_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_SLi_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SLi_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SLi_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SLi_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SLi_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SLi_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SLi_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SLi_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SLi_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_SLi_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SLi_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_SLi_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SLi_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SLi_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SLi_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SLi_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SLi_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_SLi_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SLi_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_SLi_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SLi_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_SLi_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_SLi_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_SLi_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_SLi_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_SLi_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_SLi_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_SLi_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_SLi_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_SLi_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_SLi_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_SLi_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_SLi_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_SLi_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_SLi_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_SLi_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_SLi_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_SLi_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_SLi_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_SLi_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_SLi_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SLi_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SLi_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SLi_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SLi_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SLi_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SLi_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_SLi_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_SLi_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_SLi_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_SLi_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_SLi_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_SLi_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_SLi_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_SLi_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_SLi_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_SLi_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SLi_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_SLi_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_SLi_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SLi_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SLi_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_SLi_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_SLi_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_SLi_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SLi_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SLi_EX;
            struct w32ISA_SLi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SLi_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SLi_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SLi_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SLi_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SLi_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SLi_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SLi_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SLi_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_SLi_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SLi_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SLi_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SLi_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SLi_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SLi_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SLi_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SLi_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SLi_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SLi_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SLi_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_SLi_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SLi_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_SLi_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SLi_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SLi_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SLi_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SLi_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SLi_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SLi_EXX;
            struct w32ISA_SLi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SLi_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SLi_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SLi_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SLi_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SLi_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SLi_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SLi_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SLi_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SLi_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_SLi_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SLi_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SLi_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SLi_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SLi_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SLi_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SLi_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SLi_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SLi_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SLi_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SLi_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SLi_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SLi_WB;
            struct w32ISA_SLi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SLi;

    typedef union  T32ISA_SLi_Mask
          { UNSG32 u32;
            struct w32ISA_SLi_Mask;
                 } T32ISA_SLi_Mask;
    typedef union  T32ISA_SLi_Opcode
          { UNSG32 u32;
            struct w32ISA_SLi_Opcode;
                 } T32ISA_SLi_Opcode;
    typedef union  T32ISA_SLi_ID
          { UNSG32 u32;
            struct w32ISA_SLi_ID;
                 } T32ISA_SLi_ID;
    typedef union  T32ISA_SLi_LD
          { UNSG32 u32;
            struct w32ISA_SLi_LD;
                 } T32ISA_SLi_LD;
    typedef union  T32ISA_SLi_EX
          { UNSG32 u32;
            struct w32ISA_SLi_EX;
                 } T32ISA_SLi_EX;
    typedef union  T32ISA_SLi_EXX
          { UNSG32 u32;
            struct w32ISA_SLi_EXX;
                 } T32ISA_SLi_EXX;
    typedef union  T32ISA_SLi_WB
          { UNSG32 u32;
            struct w32ISA_SLi_WB;
                 } T32ISA_SLi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SLi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_Mask;
                   };
                 } TISA_SLi_Mask;
    typedef union  TISA_SLi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_Opcode;
                   };
                 } TISA_SLi_Opcode;
    typedef union  TISA_SLi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_ID;
                   };
                 } TISA_SLi_ID;
    typedef union  TISA_SLi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_LD;
                   };
                 } TISA_SLi_LD;
    typedef union  TISA_SLi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_EX;
                   };
                 } TISA_SLi_EX;
    typedef union  TISA_SLi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_EXX;
                   };
                 } TISA_SLi_EXX;
    typedef union  TISA_SLi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SLi_WB;
                   };
                 } TISA_SLi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SLi_drvrd(SIE_ISA_SLi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SLi_drvwr(SIE_ISA_SLi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SLi_reset(SIE_ISA_SLi *p);
     SIGN32 ISA_SLi_cmp  (SIE_ISA_SLi *p, SIE_ISA_SLi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SLi_check(p,pie,pfx,hLOG) ISA_SLi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SLi_print(p,    pfx,hLOG) ISA_SLi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SLi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SL                                   (4,4)
///     ###
///     * Logically left shift a register by another register to destination register.
///     * Note: if shift bit register is 16 or greater, treat as 16.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1D0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SL"      , "rD,rS,rT"    , "0001 1101 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    SL       %d1, %a1, %b1   ; %d1 = %a1 << %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   0x1
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SL
#define h_ISA_SL (){}

    #define     RA_ISA_SL_Mask                                 0x0000

    #define     BA_ISA_SL_Mask_INS                             0x0000
    #define     B16ISA_SL_Mask_INS                             0x0000
    #define   LSb32ISA_SL_Mask_INS                                0
    #define   LSb16ISA_SL_Mask_INS                                0
    #define       bISA_SL_Mask_INS                             24
    #define   MSK32ISA_SL_Mask_INS                                0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_Opcode                               0x0004

    #define     BA_ISA_SL_Opcode_INS                           0x0004
    #define     B16ISA_SL_Opcode_INS                           0x0004
    #define   LSb32ISA_SL_Opcode_INS                              0
    #define   LSb16ISA_SL_Opcode_INS                              0
    #define       bISA_SL_Opcode_INS                           24
    #define   MSK32ISA_SL_Opcode_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_ID                                   0x0008

    #define     BA_ISA_SL_ID_RBRF                              0x0008
    #define     B16ISA_SL_ID_RBRF                              0x0008
    #define   LSb32ISA_SL_ID_RBRF                                 0
    #define   LSb16ISA_SL_ID_RBRF                                 0
    #define       bISA_SL_ID_RBRF                              1
    #define   MSK32ISA_SL_ID_RBRF                                 0x00000001

    #define     BA_ISA_SL_ID_RARF                              0x0008
    #define     B16ISA_SL_ID_RARF                              0x0008
    #define   LSb32ISA_SL_ID_RARF                                 1
    #define   LSb16ISA_SL_ID_RARF                                 1
    #define       bISA_SL_ID_RARF                              1
    #define   MSK32ISA_SL_ID_RARF                                 0x00000002

    #define     BA_ISA_SL_ID_RAK8                              0x0008
    #define     B16ISA_SL_ID_RAK8                              0x0008
    #define   LSb32ISA_SL_ID_RAK8                                 2
    #define   LSb16ISA_SL_ID_RAK8                                 2
    #define       bISA_SL_ID_RAK8                              1
    #define   MSK32ISA_SL_ID_RAK8                                 0x00000004

    #define     BA_ISA_SL_ID_RAI16                             0x0008
    #define     B16ISA_SL_ID_RAI16                             0x0008
    #define   LSb32ISA_SL_ID_RAI16                                3
    #define   LSb16ISA_SL_ID_RAI16                                3
    #define       bISA_SL_ID_RAI16                             1
    #define   MSK32ISA_SL_ID_RAI16                                0x00000008

    #define     BA_ISA_SL_ID_RAK16                             0x0008
    #define     B16ISA_SL_ID_RAK16                             0x0008
    #define   LSb32ISA_SL_ID_RAK16                                4
    #define   LSb16ISA_SL_ID_RAK16                                4
    #define       bISA_SL_ID_RAK16                             1
    #define   MSK32ISA_SL_ID_RAK16                                0x00000010

    #define     BA_ISA_SL_ID_RFSP                              0x0008
    #define     B16ISA_SL_ID_RFSP                              0x0008
    #define   LSb32ISA_SL_ID_RFSP                                 5
    #define   LSb16ISA_SL_ID_RFSP                                 5
    #define       bISA_SL_ID_RFSP                              1
    #define   MSK32ISA_SL_ID_RFSP                                 0x00000020

    #define     BA_ISA_SL_ID_W4D4                              0x0008
    #define     B16ISA_SL_ID_W4D4                              0x0008
    #define   LSb32ISA_SL_ID_W4D4                                 6
    #define   LSb16ISA_SL_ID_W4D4                                 6
    #define       bISA_SL_ID_W4D4                              1
    #define   MSK32ISA_SL_ID_W4D4                                 0x00000040

    #define     BA_ISA_SL_ID_W4S4                              0x0008
    #define     B16ISA_SL_ID_W4S4                              0x0008
    #define   LSb32ISA_SL_ID_W4S4                                 7
    #define   LSb16ISA_SL_ID_W4S4                                 7
    #define       bISA_SL_ID_W4S4                              1
    #define   MSK32ISA_SL_ID_W4S4                                 0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_LD                                   0x000C

    #define     BA_ISA_SL_LD_SPRF                              0x000C
    #define     B16ISA_SL_LD_SPRF                              0x000C
    #define   LSb32ISA_SL_LD_SPRF                                 0
    #define   LSb16ISA_SL_LD_SPRF                                 0
    #define       bISA_SL_LD_SPRF                              1
    #define   MSK32ISA_SL_LD_SPRF                                 0x00000001

    #define     BA_ISA_SL_LD_SPK8                              0x000C
    #define     B16ISA_SL_LD_SPK8                              0x000C
    #define   LSb32ISA_SL_LD_SPK8                                 1
    #define   LSb16ISA_SL_LD_SPK8                                 1
    #define       bISA_SL_LD_SPK8                              1
    #define   MSK32ISA_SL_LD_SPK8                                 0x00000002

    #define     BA_ISA_SL_LD_SPJ                               0x000C
    #define     B16ISA_SL_LD_SPJ                               0x000C
    #define   LSb32ISA_SL_LD_SPJ                                  2
    #define   LSb16ISA_SL_LD_SPJ                                  2
    #define       bISA_SL_LD_SPJ                               1
    #define   MSK32ISA_SL_LD_SPJ                                  0x00000004

    #define     BA_ISA_SL_LD_SP4S                              0x000C
    #define     B16ISA_SL_LD_SP4S                              0x000C
    #define   LSb32ISA_SL_LD_SP4S                                 3
    #define   LSb16ISA_SL_LD_SP4S                                 3
    #define       bISA_SL_LD_SP4S                              1
    #define   MSK32ISA_SL_LD_SP4S                                 0x00000008

    #define     BA_ISA_SL_LD_SP8S                              0x000C
    #define     B16ISA_SL_LD_SP8S                              0x000C
    #define   LSb32ISA_SL_LD_SP8S                                 4
    #define   LSb16ISA_SL_LD_SP8S                                 4
    #define       bISA_SL_LD_SP8S                              1
    #define   MSK32ISA_SL_LD_SP8S                                 0x00000010

    #define     BA_ISA_SL_LD_SP8U                              0x000C
    #define     B16ISA_SL_LD_SP8U                              0x000C
    #define   LSb32ISA_SL_LD_SP8U                                 5
    #define   LSb16ISA_SL_LD_SP8U                                 5
    #define       bISA_SL_LD_SP8U                              1
    #define   MSK32ISA_SL_LD_SP8U                                 0x00000020

    #define     BA_ISA_SL_LD_SP12S                             0x000C
    #define     B16ISA_SL_LD_SP12S                             0x000C
    #define   LSb32ISA_SL_LD_SP12S                                6
    #define   LSb16ISA_SL_LD_SP12S                                6
    #define       bISA_SL_LD_SP12S                             1
    #define   MSK32ISA_SL_LD_SP12S                                0x00000040

    #define     BA_ISA_SL_LD_SP16                              0x000C
    #define     B16ISA_SL_LD_SP16                              0x000C
    #define   LSb32ISA_SL_LD_SP16                                 7
    #define   LSb16ISA_SL_LD_SP16                                 7
    #define       bISA_SL_LD_SP16                              1
    #define   MSK32ISA_SL_LD_SP16                                 0x00000080

    #define     BA_ISA_SL_LD_TPRF                              0x000D
    #define     B16ISA_SL_LD_TPRF                              0x000C
    #define   LSb32ISA_SL_LD_TPRF                                 8
    #define   LSb16ISA_SL_LD_TPRF                                 8
    #define       bISA_SL_LD_TPRF                              1
    #define   MSK32ISA_SL_LD_TPRF                                 0x00000100

    #define     BA_ISA_SL_LD_TPJ                               0x000D
    #define     B16ISA_SL_LD_TPJ                               0x000C
    #define   LSb32ISA_SL_LD_TPJ                                  9
    #define   LSb16ISA_SL_LD_TPJ                                  9
    #define       bISA_SL_LD_TPJ                               1
    #define   MSK32ISA_SL_LD_TPJ                                  0x00000200

    #define     BA_ISA_SL_LD_TP4S                              0x000D
    #define     B16ISA_SL_LD_TP4S                              0x000C
    #define   LSb32ISA_SL_LD_TP4S                                 10
    #define   LSb16ISA_SL_LD_TP4S                                 10
    #define       bISA_SL_LD_TP4S                              1
    #define   MSK32ISA_SL_LD_TP4S                                 0x00000400

    #define     BA_ISA_SL_LD_TP8L                              0x000D
    #define     B16ISA_SL_LD_TP8L                              0x000C
    #define   LSb32ISA_SL_LD_TP8L                                 11
    #define   LSb16ISA_SL_LD_TP8L                                 11
    #define       bISA_SL_LD_TP8L                              1
    #define   MSK32ISA_SL_LD_TP8L                                 0x00000800

    #define     BA_ISA_SL_LD_TP8H                              0x000D
    #define     B16ISA_SL_LD_TP8H                              0x000C
    #define   LSb32ISA_SL_LD_TP8H                                 12
    #define   LSb16ISA_SL_LD_TP8H                                 12
    #define       bISA_SL_LD_TP8H                              1
    #define   MSK32ISA_SL_LD_TP8H                                 0x00001000

    #define     BA_ISA_SL_LD_TP8LF                             0x000D
    #define     B16ISA_SL_LD_TP8LF                             0x000C
    #define   LSb32ISA_SL_LD_TP8LF                                13
    #define   LSb16ISA_SL_LD_TP8LF                                13
    #define       bISA_SL_LD_TP8LF                             1
    #define   MSK32ISA_SL_LD_TP8LF                                0x00002000

    #define     BA_ISA_SL_LD_TP8HF                             0x000D
    #define     B16ISA_SL_LD_TP8HF                             0x000C
    #define   LSb32ISA_SL_LD_TP8HF                                14
    #define   LSb16ISA_SL_LD_TP8HF                                14
    #define       bISA_SL_LD_TP8HF                             1
    #define   MSK32ISA_SL_LD_TP8HF                                0x00004000

    #define     BA_ISA_SL_LD_SQRF64                            0x000D
    #define     B16ISA_SL_LD_SQRF64                            0x000C
    #define   LSb32ISA_SL_LD_SQRF64                               15
    #define   LSb16ISA_SL_LD_SQRF64                               15
    #define       bISA_SL_LD_SQRF64                            1
    #define   MSK32ISA_SL_LD_SQRF64                               0x00008000

    #define     BA_ISA_SL_LD_TQRF16Q                           0x000E
    #define     B16ISA_SL_LD_TQRF16Q                           0x000E
    #define   LSb32ISA_SL_LD_TQRF16Q                              16
    #define   LSb16ISA_SL_LD_TQRF16Q                              0
    #define       bISA_SL_LD_TQRF16Q                           1
    #define   MSK32ISA_SL_LD_TQRF16Q                              0x00010000

    #define     BA_ISA_SL_LD_TQRFx4                            0x000E
    #define     B16ISA_SL_LD_TQRFx4                            0x000E
    #define   LSb32ISA_SL_LD_TQRFx4                               17
    #define   LSb16ISA_SL_LD_TQRFx4                               1
    #define       bISA_SL_LD_TQRFx4                            1
    #define   MSK32ISA_SL_LD_TQRFx4                               0x00020000

    #define     BA_ISA_SL_LD_RD                                0x000E
    #define     B16ISA_SL_LD_RD                                0x000E
    #define   LSb32ISA_SL_LD_RD                                   18
    #define   LSb16ISA_SL_LD_RD                                   2
    #define       bISA_SL_LD_RD                                1
    #define   MSK32ISA_SL_LD_RD                                   0x00040000

    #define     BA_ISA_SL_LD_WARF                              0x000E
    #define     B16ISA_SL_LD_WARF                              0x000E
    #define   LSb32ISA_SL_LD_WARF                                 19
    #define   LSb16ISA_SL_LD_WARF                                 3
    #define       bISA_SL_LD_WARF                              1
    #define   MSK32ISA_SL_LD_WARF                                 0x00080000

    #define     BA_ISA_SL_LD_WAK8                              0x000E
    #define     B16ISA_SL_LD_WAK8                              0x000E
    #define   LSb32ISA_SL_LD_WAK8                                 20
    #define   LSb16ISA_SL_LD_WAK8                                 4
    #define       bISA_SL_LD_WAK8                              1
    #define   MSK32ISA_SL_LD_WAK8                                 0x00100000

    #define     BA_ISA_SL_LD_WAK16                             0x000E
    #define     B16ISA_SL_LD_WAK16                             0x000E
    #define   LSb32ISA_SL_LD_WAK16                                21
    #define   LSb16ISA_SL_LD_WAK16                                5
    #define       bISA_SL_LD_WAK16                             1
    #define   MSK32ISA_SL_LD_WAK16                                0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_EX                                   0x0010

    #define     BA_ISA_SL_EX_ALU16FlagZ                        0x0010
    #define     B16ISA_SL_EX_ALU16FlagZ                        0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagZ                           0
    #define   LSb16ISA_SL_EX_ALU16FlagZ                           0
    #define       bISA_SL_EX_ALU16FlagZ                        1
    #define   MSK32ISA_SL_EX_ALU16FlagZ                           0x00000001

    #define     BA_ISA_SL_EX_ALU16FlagC                        0x0010
    #define     B16ISA_SL_EX_ALU16FlagC                        0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagC                           1
    #define   LSb16ISA_SL_EX_ALU16FlagC                           1
    #define       bISA_SL_EX_ALU16FlagC                        1
    #define   MSK32ISA_SL_EX_ALU16FlagC                           0x00000002

    #define     BA_ISA_SL_EX_ALU16FlagN                        0x0010
    #define     B16ISA_SL_EX_ALU16FlagN                        0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagN                           2
    #define   LSb16ISA_SL_EX_ALU16FlagN                           2
    #define       bISA_SL_EX_ALU16FlagN                        1
    #define   MSK32ISA_SL_EX_ALU16FlagN                           0x00000004

    #define     BA_ISA_SL_EX_ALU16FlagV                        0x0010
    #define     B16ISA_SL_EX_ALU16FlagV                        0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagV                           3
    #define   LSb16ISA_SL_EX_ALU16FlagV                           3
    #define       bISA_SL_EX_ALU16FlagV                        1
    #define   MSK32ISA_SL_EX_ALU16FlagV                           0x00000008

    #define     BA_ISA_SL_EX_ALU16FlagTP                       0x0010
    #define     B16ISA_SL_EX_ALU16FlagTP                       0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagTP                          4
    #define   LSb16ISA_SL_EX_ALU16FlagTP                          4
    #define       bISA_SL_EX_ALU16FlagTP                       1
    #define   MSK32ISA_SL_EX_ALU16FlagTP                          0x00000010

    #define     BA_ISA_SL_EX_ALU16MUL                          0x0010
    #define     B16ISA_SL_EX_ALU16MUL                          0x0010
    #define   LSb32ISA_SL_EX_ALU16MUL                             5
    #define   LSb16ISA_SL_EX_ALU16MUL                             5
    #define       bISA_SL_EX_ALU16MUL                          1
    #define   MSK32ISA_SL_EX_ALU16MUL                             0x00000020

    #define     BA_ISA_SL_EX_ALU16DIV                          0x0010
    #define     B16ISA_SL_EX_ALU16DIV                          0x0010
    #define   LSb32ISA_SL_EX_ALU16DIV                             6
    #define   LSb16ISA_SL_EX_ALU16DIV                             6
    #define       bISA_SL_EX_ALU16DIV                          1
    #define   MSK32ISA_SL_EX_ALU16DIV                             0x00000040

    #define     BA_ISA_SL_EX_ALU16FlagLD                       0x0010
    #define     B16ISA_SL_EX_ALU16FlagLD                       0x0010
    #define   LSb32ISA_SL_EX_ALU16FlagLD                          7
    #define   LSb16ISA_SL_EX_ALU16FlagLD                          7
    #define       bISA_SL_EX_ALU16FlagLD                       1
    #define   MSK32ISA_SL_EX_ALU16FlagLD                          0x00000080

    #define     BA_ISA_SL_EX_ALU16MDL                          0x0011
    #define     B16ISA_SL_EX_ALU16MDL                          0x0010
    #define   LSb32ISA_SL_EX_ALU16MDL                             8
    #define   LSb16ISA_SL_EX_ALU16MDL                             8
    #define       bISA_SL_EX_ALU16MDL                          1
    #define   MSK32ISA_SL_EX_ALU16MDL                             0x00000100

    #define     BA_ISA_SL_EX_ALU16MDH                          0x0011
    #define     B16ISA_SL_EX_ALU16MDH                          0x0010
    #define   LSb32ISA_SL_EX_ALU16MDH                             9
    #define   LSb16ISA_SL_EX_ALU16MDH                             9
    #define       bISA_SL_EX_ALU16MDH                          1
    #define   MSK32ISA_SL_EX_ALU16MDH                             0x00000200

    #define     BA_ISA_SL_EX_ALU16ADD                          0x0011
    #define     B16ISA_SL_EX_ALU16ADD                          0x0010
    #define   LSb32ISA_SL_EX_ALU16ADD                             10
    #define   LSb16ISA_SL_EX_ALU16ADD                             10
    #define       bISA_SL_EX_ALU16ADD                          1
    #define   MSK32ISA_SL_EX_ALU16ADD                             0x00000400

    #define     BA_ISA_SL_EX_ALU16SUB                          0x0011
    #define     B16ISA_SL_EX_ALU16SUB                          0x0010
    #define   LSb32ISA_SL_EX_ALU16SUB                             11
    #define   LSb16ISA_SL_EX_ALU16SUB                             11
    #define       bISA_SL_EX_ALU16SUB                          1
    #define   MSK32ISA_SL_EX_ALU16SUB                             0x00000800

    #define     BA_ISA_SL_EX_ALU16ADDC                         0x0011
    #define     B16ISA_SL_EX_ALU16ADDC                         0x0010
    #define   LSb32ISA_SL_EX_ALU16ADDC                            12
    #define   LSb16ISA_SL_EX_ALU16ADDC                            12
    #define       bISA_SL_EX_ALU16ADDC                         1
    #define   MSK32ISA_SL_EX_ALU16ADDC                            0x00001000

    #define     BA_ISA_SL_EX_ALU16SUBC                         0x0011
    #define     B16ISA_SL_EX_ALU16SUBC                         0x0010
    #define   LSb32ISA_SL_EX_ALU16SUBC                            13
    #define   LSb16ISA_SL_EX_ALU16SUBC                            13
    #define       bISA_SL_EX_ALU16SUBC                         1
    #define   MSK32ISA_SL_EX_ALU16SUBC                            0x00002000

    #define     BA_ISA_SL_EX_ALU16ASR                          0x0011
    #define     B16ISA_SL_EX_ALU16ASR                          0x0010
    #define   LSb32ISA_SL_EX_ALU16ASR                             14
    #define   LSb16ISA_SL_EX_ALU16ASR                             14
    #define       bISA_SL_EX_ALU16ASR                          1
    #define   MSK32ISA_SL_EX_ALU16ASR                             0x00004000

    #define     BA_ISA_SL_EX_ALU16SL                           0x0011
    #define     B16ISA_SL_EX_ALU16SL                           0x0010
    #define   LSb32ISA_SL_EX_ALU16SL                              15
    #define   LSb16ISA_SL_EX_ALU16SL                              15
    #define       bISA_SL_EX_ALU16SL                           1
    #define   MSK32ISA_SL_EX_ALU16SL                              0x00008000

    #define     BA_ISA_SL_EX_ALU16SR                           0x0012
    #define     B16ISA_SL_EX_ALU16SR                           0x0012
    #define   LSb32ISA_SL_EX_ALU16SR                              16
    #define   LSb16ISA_SL_EX_ALU16SR                              0
    #define       bISA_SL_EX_ALU16SR                           1
    #define   MSK32ISA_SL_EX_ALU16SR                              0x00010000

    #define     BA_ISA_SL_EX_ALU16GET                          0x0012
    #define     B16ISA_SL_EX_ALU16GET                          0x0012
    #define   LSb32ISA_SL_EX_ALU16GET                             17
    #define   LSb16ISA_SL_EX_ALU16GET                             1
    #define       bISA_SL_EX_ALU16GET                          1
    #define   MSK32ISA_SL_EX_ALU16GET                             0x00020000

    #define     BA_ISA_SL_EX_ALU16SET                          0x0012
    #define     B16ISA_SL_EX_ALU16SET                          0x0012
    #define   LSb32ISA_SL_EX_ALU16SET                             18
    #define   LSb16ISA_SL_EX_ALU16SET                             2
    #define       bISA_SL_EX_ALU16SET                          1
    #define   MSK32ISA_SL_EX_ALU16SET                             0x00040000

    #define     BA_ISA_SL_EX_ALU16SEL                          0x0012
    #define     B16ISA_SL_EX_ALU16SEL                          0x0012
    #define   LSb32ISA_SL_EX_ALU16SEL                             19
    #define   LSb16ISA_SL_EX_ALU16SEL                             3
    #define       bISA_SL_EX_ALU16SEL                          1
    #define   MSK32ISA_SL_EX_ALU16SEL                             0x00080000

    #define     BA_ISA_SL_EX_ALU16OR                           0x0012
    #define     B16ISA_SL_EX_ALU16OR                           0x0012
    #define   LSb32ISA_SL_EX_ALU16OR                              20
    #define   LSb16ISA_SL_EX_ALU16OR                              4
    #define       bISA_SL_EX_ALU16OR                           1
    #define   MSK32ISA_SL_EX_ALU16OR                              0x00100000

    #define     BA_ISA_SL_EX_ALU16AND                          0x0012
    #define     B16ISA_SL_EX_ALU16AND                          0x0012
    #define   LSb32ISA_SL_EX_ALU16AND                             21
    #define   LSb16ISA_SL_EX_ALU16AND                             5
    #define       bISA_SL_EX_ALU16AND                          1
    #define   MSK32ISA_SL_EX_ALU16AND                             0x00200000

    #define     BA_ISA_SL_EX_ALU16XOR                          0x0012
    #define     B16ISA_SL_EX_ALU16XOR                          0x0012
    #define   LSb32ISA_SL_EX_ALU16XOR                             22
    #define   LSb16ISA_SL_EX_ALU16XOR                             6
    #define       bISA_SL_EX_ALU16XOR                          1
    #define   MSK32ISA_SL_EX_ALU16XOR                             0x00400000

    #define     BA_ISA_SL_EX_ALU16SP                           0x0012
    #define     B16ISA_SL_EX_ALU16SP                           0x0012
    #define   LSb32ISA_SL_EX_ALU16SP                              23
    #define   LSb16ISA_SL_EX_ALU16SP                              7
    #define       bISA_SL_EX_ALU16SP                           1
    #define   MSK32ISA_SL_EX_ALU16SP                              0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_EXX                                  0x0014

    #define     BA_ISA_SL_EXX_WRSQ                             0x0014
    #define     B16ISA_SL_EXX_WRSQ                             0x0014
    #define   LSb32ISA_SL_EXX_WRSQ                                0
    #define   LSb16ISA_SL_EXX_WRSQ                                0
    #define       bISA_SL_EXX_WRSQ                             1
    #define   MSK32ISA_SL_EXX_WRSQ                                0x00000001

    #define     BA_ISA_SL_EXX_WR16                             0x0014
    #define     B16ISA_SL_EXX_WR16                             0x0014
    #define   LSb32ISA_SL_EXX_WR16                                1
    #define   LSb16ISA_SL_EXX_WR16                                1
    #define       bISA_SL_EXX_WR16                             1
    #define   MSK32ISA_SL_EXX_WR16                                0x00000002

    #define     BA_ISA_SL_EXX_WRTQ                             0x0014
    #define     B16ISA_SL_EXX_WRTQ                             0x0014
    #define   LSb32ISA_SL_EXX_WRTQ                                2
    #define   LSb16ISA_SL_EXX_WRTQ                                2
    #define       bISA_SL_EXX_WRTQ                             1
    #define   MSK32ISA_SL_EXX_WRTQ                                0x00000004

    #define     BA_ISA_SL_EXX_ALU64PUSH                        0x0014
    #define     B16ISA_SL_EXX_ALU64PUSH                        0x0014
    #define   LSb32ISA_SL_EXX_ALU64PUSH                           3
    #define   LSb16ISA_SL_EXX_ALU64PUSH                           3
    #define       bISA_SL_EXX_ALU64PUSH                        1
    #define   MSK32ISA_SL_EXX_ALU64PUSH                           0x00000008

    #define     BA_ISA_SL_EXX_ALU64POP                         0x0014
    #define     B16ISA_SL_EXX_ALU64POP                         0x0014
    #define   LSb32ISA_SL_EXX_ALU64POP                            4
    #define   LSb16ISA_SL_EXX_ALU64POP                            4
    #define       bISA_SL_EXX_ALU64POP                         1
    #define   MSK32ISA_SL_EXX_ALU64POP                            0x00000010

    #define     BA_ISA_SL_EXX_ALU64SQ                          0x0014
    #define     B16ISA_SL_EXX_ALU64SQ                          0x0014
    #define   LSb32ISA_SL_EXX_ALU64SQ                             5
    #define   LSb16ISA_SL_EXX_ALU64SQ                             5
    #define       bISA_SL_EXX_ALU64SQ                          1
    #define   MSK32ISA_SL_EXX_ALU64SQ                             0x00000020

    #define     BA_ISA_SL_EXX_ALU64TQ                          0x0014
    #define     B16ISA_SL_EXX_ALU64TQ                          0x0014
    #define   LSb32ISA_SL_EXX_ALU64TQ                             6
    #define   LSb16ISA_SL_EXX_ALU64TQ                             6
    #define       bISA_SL_EXX_ALU64TQ                          1
    #define   MSK32ISA_SL_EXX_ALU64TQ                             0x00000040

    #define     BA_ISA_SL_EXX_ALU64MEM                         0x0014
    #define     B16ISA_SL_EXX_ALU64MEM                         0x0014
    #define   LSb32ISA_SL_EXX_ALU64MEM                            7
    #define   LSb16ISA_SL_EXX_ALU64MEM                            7
    #define       bISA_SL_EXX_ALU64MEM                         1
    #define   MSK32ISA_SL_EXX_ALU64MEM                            0x00000080

    #define     BA_ISA_SL_EXX_BRANCH                           0x0015
    #define     B16ISA_SL_EXX_BRANCH                           0x0014
    #define   LSb32ISA_SL_EXX_BRANCH                              8
    #define   LSb16ISA_SL_EXX_BRANCH                              8
    #define       bISA_SL_EXX_BRANCH                           1
    #define   MSK32ISA_SL_EXX_BRANCH                              0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SL_WB                                   0x0018

    #define     BA_ISA_SL_WB_RF16                              0x0018
    #define     B16ISA_SL_WB_RF16                              0x0018
    #define   LSb32ISA_SL_WB_RF16                                 0
    #define   LSb16ISA_SL_WB_RF16                                 0
    #define       bISA_SL_WB_RF16                              1
    #define   MSK32ISA_SL_WB_RF16                                 0x00000001

    #define     BA_ISA_SL_WB_RF16W0                            0x0018
    #define     B16ISA_SL_WB_RF16W0                            0x0018
    #define   LSb32ISA_SL_WB_RF16W0                               1
    #define   LSb16ISA_SL_WB_RF16W0                               1
    #define       bISA_SL_WB_RF16W0                            1
    #define   MSK32ISA_SL_WB_RF16W0                               0x00000002

    #define     BA_ISA_SL_WB_RF16MEM                           0x0018
    #define     B16ISA_SL_WB_RF16MEM                           0x0018
    #define   LSb32ISA_SL_WB_RF16MEM                              2
    #define   LSb16ISA_SL_WB_RF16MEM                              2
    #define       bISA_SL_WB_RF16MEM                           1
    #define   MSK32ISA_SL_WB_RF16MEM                              0x00000004

    #define     BA_ISA_SL_WB_RF16Q                             0x0018
    #define     B16ISA_SL_WB_RF16Q                             0x0018
    #define   LSb32ISA_SL_WB_RF16Q                                3
    #define   LSb16ISA_SL_WB_RF16Q                                3
    #define       bISA_SL_WB_RF16Q                             1
    #define   MSK32ISA_SL_WB_RF16Q                                0x00000008

    #define     BA_ISA_SL_WB_RF64                              0x0018
    #define     B16ISA_SL_WB_RF64                              0x0018
    #define   LSb32ISA_SL_WB_RF64                                 4
    #define   LSb16ISA_SL_WB_RF64                                 4
    #define       bISA_SL_WB_RF64                              1
    #define   MSK32ISA_SL_WB_RF64                                 0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_Mask_INS(r32)                        _BFGET_(r32,23, 0)
    #define   SET32ISA_SL_Mask_INS(r32,v)                      _BFSET_(r32,23, 0,v)

    #define     w32ISA_SL_Mask                                 {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SL_Mask;
            struct w32ISA_SL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_Opcode_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SL_Opcode_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SL_Opcode                               {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SL_Opcode;
            struct w32ISA_SL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_ID_RBRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SL_ID_RBRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SL_ID_RBRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_ID_RBRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_ID_RARF(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_SL_ID_RARF(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SL_ID_RARF(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_ID_RARF(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_ID_RAK8(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SL_ID_RAK8(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SL_ID_RAK8(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_ID_RAK8(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_ID_RAI16(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SL_ID_RAI16(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SL_ID_RAI16(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_ID_RAI16(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_ID_RAK16(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SL_ID_RAK16(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SL_ID_RAK16(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_ID_RAK16(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_ID_RFSP(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_SL_ID_RFSP(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SL_ID_RFSP(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_ID_RFSP(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SL_ID_W4D4(r32)                         _BFGET_(r32, 6, 6)
    #define   SET32ISA_SL_ID_W4D4(r32,v)                       _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SL_ID_W4D4(r16)                         _BFGET_(r16, 6, 6)
    #define   SET16ISA_SL_ID_W4D4(r16,v)                       _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SL_ID_W4S4(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_SL_ID_W4S4(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SL_ID_W4S4(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_SL_ID_W4S4(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SL_ID                                   {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SL_ID;
            struct w32ISA_SL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_LD_SPRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SL_LD_SPRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SL_LD_SPRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_LD_SPRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_LD_SPK8(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_SL_LD_SPK8(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SL_LD_SPK8(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_LD_SPK8(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_LD_SPJ(r32)                          _BFGET_(r32, 2, 2)
    #define   SET32ISA_SL_LD_SPJ(r32,v)                        _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SL_LD_SPJ(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_LD_SPJ(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_LD_SP4S(r32)                         _BFGET_(r32, 3, 3)
    #define   SET32ISA_SL_LD_SP4S(r32,v)                       _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SL_LD_SP4S(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_LD_SP4S(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_LD_SP8S(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_SL_LD_SP8S(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SL_LD_SP8S(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_LD_SP8S(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_LD_SP8U(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_SL_LD_SP8U(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SL_LD_SP8U(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_LD_SP8U(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SL_LD_SP12S(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SL_LD_SP12S(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SL_LD_SP12S(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SL_LD_SP12S(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SL_LD_SP16(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_SL_LD_SP16(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SL_LD_SP16(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_SL_LD_SP16(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SL_LD_TPRF(r32)                         _BFGET_(r32, 8, 8)
    #define   SET32ISA_SL_LD_TPRF(r32,v)                       _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SL_LD_TPRF(r16)                         _BFGET_(r16, 8, 8)
    #define   SET16ISA_SL_LD_TPRF(r16,v)                       _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SL_LD_TPJ(r32)                          _BFGET_(r32, 9, 9)
    #define   SET32ISA_SL_LD_TPJ(r32,v)                        _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SL_LD_TPJ(r16)                          _BFGET_(r16, 9, 9)
    #define   SET16ISA_SL_LD_TPJ(r16,v)                        _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SL_LD_TP4S(r32)                         _BFGET_(r32,10,10)
    #define   SET32ISA_SL_LD_TP4S(r32,v)                       _BFSET_(r32,10,10,v)
    #define   GET16ISA_SL_LD_TP4S(r16)                         _BFGET_(r16,10,10)
    #define   SET16ISA_SL_LD_TP4S(r16,v)                       _BFSET_(r16,10,10,v)

    #define   GET32ISA_SL_LD_TP8L(r32)                         _BFGET_(r32,11,11)
    #define   SET32ISA_SL_LD_TP8L(r32,v)                       _BFSET_(r32,11,11,v)
    #define   GET16ISA_SL_LD_TP8L(r16)                         _BFGET_(r16,11,11)
    #define   SET16ISA_SL_LD_TP8L(r16,v)                       _BFSET_(r16,11,11,v)

    #define   GET32ISA_SL_LD_TP8H(r32)                         _BFGET_(r32,12,12)
    #define   SET32ISA_SL_LD_TP8H(r32,v)                       _BFSET_(r32,12,12,v)
    #define   GET16ISA_SL_LD_TP8H(r16)                         _BFGET_(r16,12,12)
    #define   SET16ISA_SL_LD_TP8H(r16,v)                       _BFSET_(r16,12,12,v)

    #define   GET32ISA_SL_LD_TP8LF(r32)                        _BFGET_(r32,13,13)
    #define   SET32ISA_SL_LD_TP8LF(r32,v)                      _BFSET_(r32,13,13,v)
    #define   GET16ISA_SL_LD_TP8LF(r16)                        _BFGET_(r16,13,13)
    #define   SET16ISA_SL_LD_TP8LF(r16,v)                      _BFSET_(r16,13,13,v)

    #define   GET32ISA_SL_LD_TP8HF(r32)                        _BFGET_(r32,14,14)
    #define   SET32ISA_SL_LD_TP8HF(r32,v)                      _BFSET_(r32,14,14,v)
    #define   GET16ISA_SL_LD_TP8HF(r16)                        _BFGET_(r16,14,14)
    #define   SET16ISA_SL_LD_TP8HF(r16,v)                      _BFSET_(r16,14,14,v)

    #define   GET32ISA_SL_LD_SQRF64(r32)                       _BFGET_(r32,15,15)
    #define   SET32ISA_SL_LD_SQRF64(r32,v)                     _BFSET_(r32,15,15,v)
    #define   GET16ISA_SL_LD_SQRF64(r16)                       _BFGET_(r16,15,15)
    #define   SET16ISA_SL_LD_SQRF64(r16,v)                     _BFSET_(r16,15,15,v)

    #define   GET32ISA_SL_LD_TQRF16Q(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_SL_LD_TQRF16Q(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_SL_LD_TQRF16Q(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_LD_TQRF16Q(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_LD_TQRFx4(r32)                       _BFGET_(r32,17,17)
    #define   SET32ISA_SL_LD_TQRFx4(r32,v)                     _BFSET_(r32,17,17,v)
    #define   GET16ISA_SL_LD_TQRFx4(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_LD_TQRFx4(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_LD_RD(r32)                           _BFGET_(r32,18,18)
    #define   SET32ISA_SL_LD_RD(r32,v)                         _BFSET_(r32,18,18,v)
    #define   GET16ISA_SL_LD_RD(r16)                           _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_LD_RD(r16,v)                         _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_LD_WARF(r32)                         _BFGET_(r32,19,19)
    #define   SET32ISA_SL_LD_WARF(r32,v)                       _BFSET_(r32,19,19,v)
    #define   GET16ISA_SL_LD_WARF(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_LD_WARF(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_LD_WAK8(r32)                         _BFGET_(r32,20,20)
    #define   SET32ISA_SL_LD_WAK8(r32,v)                       _BFSET_(r32,20,20,v)
    #define   GET16ISA_SL_LD_WAK8(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_LD_WAK8(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_LD_WAK16(r32)                        _BFGET_(r32,21,21)
    #define   SET32ISA_SL_LD_WAK16(r32,v)                      _BFSET_(r32,21,21,v)
    #define   GET16ISA_SL_LD_WAK16(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_LD_WAK16(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SL_LD                                   {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SL_LD;
            struct w32ISA_SL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_EX_ALU16FlagZ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_SL_EX_ALU16FlagZ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SL_EX_ALU16FlagZ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_EX_ALU16FlagZ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_EX_ALU16FlagC(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_SL_EX_ALU16FlagC(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SL_EX_ALU16FlagC(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_EX_ALU16FlagC(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_EX_ALU16FlagN(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_SL_EX_ALU16FlagN(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SL_EX_ALU16FlagN(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_EX_ALU16FlagN(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_EX_ALU16FlagV(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SL_EX_ALU16FlagV(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SL_EX_ALU16FlagV(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_EX_ALU16FlagV(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_EX_ALU16FlagTP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SL_EX_ALU16FlagTP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SL_EX_ALU16FlagTP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_EX_ALU16FlagTP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_EX_ALU16MUL(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_SL_EX_ALU16MUL(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SL_EX_ALU16MUL(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_EX_ALU16MUL(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SL_EX_ALU16DIV(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_SL_EX_ALU16DIV(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SL_EX_ALU16DIV(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SL_EX_ALU16DIV(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SL_EX_ALU16FlagLD(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SL_EX_ALU16FlagLD(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SL_EX_ALU16FlagLD(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SL_EX_ALU16FlagLD(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SL_EX_ALU16MDL(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SL_EX_ALU16MDL(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SL_EX_ALU16MDL(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SL_EX_ALU16MDL(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SL_EX_ALU16MDH(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_SL_EX_ALU16MDH(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SL_EX_ALU16MDH(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_SL_EX_ALU16MDH(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SL_EX_ALU16ADD(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_SL_EX_ALU16ADD(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_SL_EX_ALU16ADD(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_SL_EX_ALU16ADD(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_SL_EX_ALU16SUB(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_SL_EX_ALU16SUB(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_SL_EX_ALU16SUB(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_SL_EX_ALU16SUB(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_SL_EX_ALU16ADDC(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_SL_EX_ALU16ADDC(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_SL_EX_ALU16ADDC(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_SL_EX_ALU16ADDC(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_SL_EX_ALU16SUBC(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_SL_EX_ALU16SUBC(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_SL_EX_ALU16SUBC(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_SL_EX_ALU16SUBC(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_SL_EX_ALU16ASR(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_SL_EX_ALU16ASR(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_SL_EX_ALU16ASR(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_SL_EX_ALU16ASR(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_SL_EX_ALU16SL(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SL_EX_ALU16SL(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SL_EX_ALU16SL(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SL_EX_ALU16SL(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SL_EX_ALU16SR(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_SL_EX_ALU16SR(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_SL_EX_ALU16SR(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_EX_ALU16SR(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_EX_ALU16GET(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SL_EX_ALU16GET(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SL_EX_ALU16GET(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_EX_ALU16GET(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_EX_ALU16SET(r32)                     _BFGET_(r32,18,18)
    #define   SET32ISA_SL_EX_ALU16SET(r32,v)                   _BFSET_(r32,18,18,v)
    #define   GET16ISA_SL_EX_ALU16SET(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_EX_ALU16SET(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_EX_ALU16SEL(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_SL_EX_ALU16SEL(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_SL_EX_ALU16SEL(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_EX_ALU16SEL(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_EX_ALU16OR(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_SL_EX_ALU16OR(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_SL_EX_ALU16OR(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_EX_ALU16OR(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_EX_ALU16AND(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_SL_EX_ALU16AND(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_SL_EX_ALU16AND(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_EX_ALU16AND(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SL_EX_ALU16XOR(r32)                     _BFGET_(r32,22,22)
    #define   SET32ISA_SL_EX_ALU16XOR(r32,v)                   _BFSET_(r32,22,22,v)
    #define   GET16ISA_SL_EX_ALU16XOR(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SL_EX_ALU16XOR(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SL_EX_ALU16SP(r32)                      _BFGET_(r32,23,23)
    #define   SET32ISA_SL_EX_ALU16SP(r32,v)                    _BFSET_(r32,23,23,v)
    #define   GET16ISA_SL_EX_ALU16SP(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_SL_EX_ALU16SP(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SL_EX                                   {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SL_EX;
            struct w32ISA_SL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_EXX_WRSQ(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SL_EXX_WRSQ(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SL_EXX_WRSQ(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_EXX_WRSQ(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_EXX_WR16(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SL_EXX_WR16(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SL_EXX_WR16(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_EXX_WR16(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_EXX_WRTQ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SL_EXX_WRTQ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SL_EXX_WRTQ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_EXX_WRTQ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_EXX_ALU64PUSH(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SL_EXX_ALU64PUSH(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SL_EXX_ALU64PUSH(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_EXX_ALU64PUSH(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_EXX_ALU64POP(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_SL_EXX_ALU64POP(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SL_EXX_ALU64POP(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_EXX_ALU64POP(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SL_EXX_ALU64SQ(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_SL_EXX_ALU64SQ(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SL_EXX_ALU64SQ(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SL_EXX_ALU64SQ(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SL_EXX_ALU64TQ(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_SL_EXX_ALU64TQ(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SL_EXX_ALU64TQ(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SL_EXX_ALU64TQ(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SL_EXX_ALU64MEM(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_SL_EXX_ALU64MEM(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SL_EXX_ALU64MEM(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SL_EXX_ALU64MEM(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SL_EXX_BRANCH(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_SL_EXX_BRANCH(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SL_EXX_BRANCH(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_SL_EXX_BRANCH(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SL_EXX                                  {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SL_EXX;
            struct w32ISA_SL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SL_WB_RF16(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SL_WB_RF16(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SL_WB_RF16(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SL_WB_RF16(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SL_WB_RF16W0(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SL_WB_RF16W0(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SL_WB_RF16W0(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SL_WB_RF16W0(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SL_WB_RF16MEM(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SL_WB_RF16MEM(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SL_WB_RF16MEM(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SL_WB_RF16MEM(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SL_WB_RF16Q(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SL_WB_RF16Q(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SL_WB_RF16Q(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SL_WB_RF16Q(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SL_WB_RF64(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_SL_WB_RF64(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SL_WB_RF64(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SL_WB_RF64(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SL_WB                                   {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SL_WB;
            struct w32ISA_SL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SL;

    typedef union  T32ISA_SL_Mask
          { UNSG32 u32;
            struct w32ISA_SL_Mask;
                 } T32ISA_SL_Mask;
    typedef union  T32ISA_SL_Opcode
          { UNSG32 u32;
            struct w32ISA_SL_Opcode;
                 } T32ISA_SL_Opcode;
    typedef union  T32ISA_SL_ID
          { UNSG32 u32;
            struct w32ISA_SL_ID;
                 } T32ISA_SL_ID;
    typedef union  T32ISA_SL_LD
          { UNSG32 u32;
            struct w32ISA_SL_LD;
                 } T32ISA_SL_LD;
    typedef union  T32ISA_SL_EX
          { UNSG32 u32;
            struct w32ISA_SL_EX;
                 } T32ISA_SL_EX;
    typedef union  T32ISA_SL_EXX
          { UNSG32 u32;
            struct w32ISA_SL_EXX;
                 } T32ISA_SL_EXX;
    typedef union  T32ISA_SL_WB
          { UNSG32 u32;
            struct w32ISA_SL_WB;
                 } T32ISA_SL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_Mask;
                   };
                 } TISA_SL_Mask;
    typedef union  TISA_SL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_Opcode;
                   };
                 } TISA_SL_Opcode;
    typedef union  TISA_SL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_ID;
                   };
                 } TISA_SL_ID;
    typedef union  TISA_SL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_LD;
                   };
                 } TISA_SL_LD;
    typedef union  TISA_SL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_EX;
                   };
                 } TISA_SL_EX;
    typedef union  TISA_SL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_EXX;
                   };
                 } TISA_SL_EXX;
    typedef union  TISA_SL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SL_WB;
                   };
                 } TISA_SL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SL_drvrd(SIE_ISA_SL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SL_drvwr(SIE_ISA_SL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SL_reset(SIE_ISA_SL *p);
     SIGN32 ISA_SL_cmp  (SIE_ISA_SL *p, SIE_ISA_SL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SL_check(p,pie,pfx,hLOG) ISA_SL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SL_print(p,    pfx,hLOG) ISA_SL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SRi                                  (4,4)
///     ###
///     * Logically right shift a register by an immediate number in [0,15] to another register.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1E0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SR.i"    , "rD,rS,C"     , "0001 1110 SSSS ---- CCCC DDDD" } ,
///                                    * - Usage:
///                                    * -    SR.i     %d1, %a1, 3     ; %d1 = (unsigned)%a1 >> 3;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      0x1
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   0x1
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SRi
#define h_ISA_SRi (){}

    #define     RA_ISA_SRi_Mask                                0x0000

    #define     BA_ISA_SRi_Mask_INS                            0x0000
    #define     B16ISA_SRi_Mask_INS                            0x0000
    #define   LSb32ISA_SRi_Mask_INS                               0
    #define   LSb16ISA_SRi_Mask_INS                               0
    #define       bISA_SRi_Mask_INS                            24
    #define   MSK32ISA_SRi_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_Opcode                              0x0004

    #define     BA_ISA_SRi_Opcode_INS                          0x0004
    #define     B16ISA_SRi_Opcode_INS                          0x0004
    #define   LSb32ISA_SRi_Opcode_INS                             0
    #define   LSb16ISA_SRi_Opcode_INS                             0
    #define       bISA_SRi_Opcode_INS                          24
    #define   MSK32ISA_SRi_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_ID                                  0x0008

    #define     BA_ISA_SRi_ID_RBRF                             0x0008
    #define     B16ISA_SRi_ID_RBRF                             0x0008
    #define   LSb32ISA_SRi_ID_RBRF                                0
    #define   LSb16ISA_SRi_ID_RBRF                                0
    #define       bISA_SRi_ID_RBRF                             1
    #define   MSK32ISA_SRi_ID_RBRF                                0x00000001

    #define     BA_ISA_SRi_ID_RARF                             0x0008
    #define     B16ISA_SRi_ID_RARF                             0x0008
    #define   LSb32ISA_SRi_ID_RARF                                1
    #define   LSb16ISA_SRi_ID_RARF                                1
    #define       bISA_SRi_ID_RARF                             1
    #define   MSK32ISA_SRi_ID_RARF                                0x00000002

    #define     BA_ISA_SRi_ID_RAK8                             0x0008
    #define     B16ISA_SRi_ID_RAK8                             0x0008
    #define   LSb32ISA_SRi_ID_RAK8                                2
    #define   LSb16ISA_SRi_ID_RAK8                                2
    #define       bISA_SRi_ID_RAK8                             1
    #define   MSK32ISA_SRi_ID_RAK8                                0x00000004

    #define     BA_ISA_SRi_ID_RAI16                            0x0008
    #define     B16ISA_SRi_ID_RAI16                            0x0008
    #define   LSb32ISA_SRi_ID_RAI16                               3
    #define   LSb16ISA_SRi_ID_RAI16                               3
    #define       bISA_SRi_ID_RAI16                            1
    #define   MSK32ISA_SRi_ID_RAI16                               0x00000008

    #define     BA_ISA_SRi_ID_RAK16                            0x0008
    #define     B16ISA_SRi_ID_RAK16                            0x0008
    #define   LSb32ISA_SRi_ID_RAK16                               4
    #define   LSb16ISA_SRi_ID_RAK16                               4
    #define       bISA_SRi_ID_RAK16                            1
    #define   MSK32ISA_SRi_ID_RAK16                               0x00000010

    #define     BA_ISA_SRi_ID_RFSP                             0x0008
    #define     B16ISA_SRi_ID_RFSP                             0x0008
    #define   LSb32ISA_SRi_ID_RFSP                                5
    #define   LSb16ISA_SRi_ID_RFSP                                5
    #define       bISA_SRi_ID_RFSP                             1
    #define   MSK32ISA_SRi_ID_RFSP                                0x00000020

    #define     BA_ISA_SRi_ID_W4D4                             0x0008
    #define     B16ISA_SRi_ID_W4D4                             0x0008
    #define   LSb32ISA_SRi_ID_W4D4                                6
    #define   LSb16ISA_SRi_ID_W4D4                                6
    #define       bISA_SRi_ID_W4D4                             1
    #define   MSK32ISA_SRi_ID_W4D4                                0x00000040

    #define     BA_ISA_SRi_ID_W4S4                             0x0008
    #define     B16ISA_SRi_ID_W4S4                             0x0008
    #define   LSb32ISA_SRi_ID_W4S4                                7
    #define   LSb16ISA_SRi_ID_W4S4                                7
    #define       bISA_SRi_ID_W4S4                             1
    #define   MSK32ISA_SRi_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_LD                                  0x000C

    #define     BA_ISA_SRi_LD_SPRF                             0x000C
    #define     B16ISA_SRi_LD_SPRF                             0x000C
    #define   LSb32ISA_SRi_LD_SPRF                                0
    #define   LSb16ISA_SRi_LD_SPRF                                0
    #define       bISA_SRi_LD_SPRF                             1
    #define   MSK32ISA_SRi_LD_SPRF                                0x00000001

    #define     BA_ISA_SRi_LD_SPK8                             0x000C
    #define     B16ISA_SRi_LD_SPK8                             0x000C
    #define   LSb32ISA_SRi_LD_SPK8                                1
    #define   LSb16ISA_SRi_LD_SPK8                                1
    #define       bISA_SRi_LD_SPK8                             1
    #define   MSK32ISA_SRi_LD_SPK8                                0x00000002

    #define     BA_ISA_SRi_LD_SPJ                              0x000C
    #define     B16ISA_SRi_LD_SPJ                              0x000C
    #define   LSb32ISA_SRi_LD_SPJ                                 2
    #define   LSb16ISA_SRi_LD_SPJ                                 2
    #define       bISA_SRi_LD_SPJ                              1
    #define   MSK32ISA_SRi_LD_SPJ                                 0x00000004

    #define     BA_ISA_SRi_LD_SP4S                             0x000C
    #define     B16ISA_SRi_LD_SP4S                             0x000C
    #define   LSb32ISA_SRi_LD_SP4S                                3
    #define   LSb16ISA_SRi_LD_SP4S                                3
    #define       bISA_SRi_LD_SP4S                             1
    #define   MSK32ISA_SRi_LD_SP4S                                0x00000008

    #define     BA_ISA_SRi_LD_SP8S                             0x000C
    #define     B16ISA_SRi_LD_SP8S                             0x000C
    #define   LSb32ISA_SRi_LD_SP8S                                4
    #define   LSb16ISA_SRi_LD_SP8S                                4
    #define       bISA_SRi_LD_SP8S                             1
    #define   MSK32ISA_SRi_LD_SP8S                                0x00000010

    #define     BA_ISA_SRi_LD_SP8U                             0x000C
    #define     B16ISA_SRi_LD_SP8U                             0x000C
    #define   LSb32ISA_SRi_LD_SP8U                                5
    #define   LSb16ISA_SRi_LD_SP8U                                5
    #define       bISA_SRi_LD_SP8U                             1
    #define   MSK32ISA_SRi_LD_SP8U                                0x00000020

    #define     BA_ISA_SRi_LD_SP12S                            0x000C
    #define     B16ISA_SRi_LD_SP12S                            0x000C
    #define   LSb32ISA_SRi_LD_SP12S                               6
    #define   LSb16ISA_SRi_LD_SP12S                               6
    #define       bISA_SRi_LD_SP12S                            1
    #define   MSK32ISA_SRi_LD_SP12S                               0x00000040

    #define     BA_ISA_SRi_LD_SP16                             0x000C
    #define     B16ISA_SRi_LD_SP16                             0x000C
    #define   LSb32ISA_SRi_LD_SP16                                7
    #define   LSb16ISA_SRi_LD_SP16                                7
    #define       bISA_SRi_LD_SP16                             1
    #define   MSK32ISA_SRi_LD_SP16                                0x00000080

    #define     BA_ISA_SRi_LD_TPRF                             0x000D
    #define     B16ISA_SRi_LD_TPRF                             0x000C
    #define   LSb32ISA_SRi_LD_TPRF                                8
    #define   LSb16ISA_SRi_LD_TPRF                                8
    #define       bISA_SRi_LD_TPRF                             1
    #define   MSK32ISA_SRi_LD_TPRF                                0x00000100

    #define     BA_ISA_SRi_LD_TPJ                              0x000D
    #define     B16ISA_SRi_LD_TPJ                              0x000C
    #define   LSb32ISA_SRi_LD_TPJ                                 9
    #define   LSb16ISA_SRi_LD_TPJ                                 9
    #define       bISA_SRi_LD_TPJ                              1
    #define   MSK32ISA_SRi_LD_TPJ                                 0x00000200

    #define     BA_ISA_SRi_LD_TP4S                             0x000D
    #define     B16ISA_SRi_LD_TP4S                             0x000C
    #define   LSb32ISA_SRi_LD_TP4S                                10
    #define   LSb16ISA_SRi_LD_TP4S                                10
    #define       bISA_SRi_LD_TP4S                             1
    #define   MSK32ISA_SRi_LD_TP4S                                0x00000400

    #define     BA_ISA_SRi_LD_TP8L                             0x000D
    #define     B16ISA_SRi_LD_TP8L                             0x000C
    #define   LSb32ISA_SRi_LD_TP8L                                11
    #define   LSb16ISA_SRi_LD_TP8L                                11
    #define       bISA_SRi_LD_TP8L                             1
    #define   MSK32ISA_SRi_LD_TP8L                                0x00000800

    #define     BA_ISA_SRi_LD_TP8H                             0x000D
    #define     B16ISA_SRi_LD_TP8H                             0x000C
    #define   LSb32ISA_SRi_LD_TP8H                                12
    #define   LSb16ISA_SRi_LD_TP8H                                12
    #define       bISA_SRi_LD_TP8H                             1
    #define   MSK32ISA_SRi_LD_TP8H                                0x00001000

    #define     BA_ISA_SRi_LD_TP8LF                            0x000D
    #define     B16ISA_SRi_LD_TP8LF                            0x000C
    #define   LSb32ISA_SRi_LD_TP8LF                               13
    #define   LSb16ISA_SRi_LD_TP8LF                               13
    #define       bISA_SRi_LD_TP8LF                            1
    #define   MSK32ISA_SRi_LD_TP8LF                               0x00002000

    #define     BA_ISA_SRi_LD_TP8HF                            0x000D
    #define     B16ISA_SRi_LD_TP8HF                            0x000C
    #define   LSb32ISA_SRi_LD_TP8HF                               14
    #define   LSb16ISA_SRi_LD_TP8HF                               14
    #define       bISA_SRi_LD_TP8HF                            1
    #define   MSK32ISA_SRi_LD_TP8HF                               0x00004000

    #define     BA_ISA_SRi_LD_SQRF64                           0x000D
    #define     B16ISA_SRi_LD_SQRF64                           0x000C
    #define   LSb32ISA_SRi_LD_SQRF64                              15
    #define   LSb16ISA_SRi_LD_SQRF64                              15
    #define       bISA_SRi_LD_SQRF64                           1
    #define   MSK32ISA_SRi_LD_SQRF64                              0x00008000

    #define     BA_ISA_SRi_LD_TQRF16Q                          0x000E
    #define     B16ISA_SRi_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_SRi_LD_TQRF16Q                             16
    #define   LSb16ISA_SRi_LD_TQRF16Q                             0
    #define       bISA_SRi_LD_TQRF16Q                          1
    #define   MSK32ISA_SRi_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_SRi_LD_TQRFx4                           0x000E
    #define     B16ISA_SRi_LD_TQRFx4                           0x000E
    #define   LSb32ISA_SRi_LD_TQRFx4                              17
    #define   LSb16ISA_SRi_LD_TQRFx4                              1
    #define       bISA_SRi_LD_TQRFx4                           1
    #define   MSK32ISA_SRi_LD_TQRFx4                              0x00020000

    #define     BA_ISA_SRi_LD_RD                               0x000E
    #define     B16ISA_SRi_LD_RD                               0x000E
    #define   LSb32ISA_SRi_LD_RD                                  18
    #define   LSb16ISA_SRi_LD_RD                                  2
    #define       bISA_SRi_LD_RD                               1
    #define   MSK32ISA_SRi_LD_RD                                  0x00040000

    #define     BA_ISA_SRi_LD_WARF                             0x000E
    #define     B16ISA_SRi_LD_WARF                             0x000E
    #define   LSb32ISA_SRi_LD_WARF                                19
    #define   LSb16ISA_SRi_LD_WARF                                3
    #define       bISA_SRi_LD_WARF                             1
    #define   MSK32ISA_SRi_LD_WARF                                0x00080000

    #define     BA_ISA_SRi_LD_WAK8                             0x000E
    #define     B16ISA_SRi_LD_WAK8                             0x000E
    #define   LSb32ISA_SRi_LD_WAK8                                20
    #define   LSb16ISA_SRi_LD_WAK8                                4
    #define       bISA_SRi_LD_WAK8                             1
    #define   MSK32ISA_SRi_LD_WAK8                                0x00100000

    #define     BA_ISA_SRi_LD_WAK16                            0x000E
    #define     B16ISA_SRi_LD_WAK16                            0x000E
    #define   LSb32ISA_SRi_LD_WAK16                               21
    #define   LSb16ISA_SRi_LD_WAK16                               5
    #define       bISA_SRi_LD_WAK16                            1
    #define   MSK32ISA_SRi_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_EX                                  0x0010

    #define     BA_ISA_SRi_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_SRi_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagZ                          0
    #define   LSb16ISA_SRi_EX_ALU16FlagZ                          0
    #define       bISA_SRi_EX_ALU16FlagZ                       1
    #define   MSK32ISA_SRi_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_SRi_EX_ALU16FlagC                       0x0010
    #define     B16ISA_SRi_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagC                          1
    #define   LSb16ISA_SRi_EX_ALU16FlagC                          1
    #define       bISA_SRi_EX_ALU16FlagC                       1
    #define   MSK32ISA_SRi_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_SRi_EX_ALU16FlagN                       0x0010
    #define     B16ISA_SRi_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagN                          2
    #define   LSb16ISA_SRi_EX_ALU16FlagN                          2
    #define       bISA_SRi_EX_ALU16FlagN                       1
    #define   MSK32ISA_SRi_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_SRi_EX_ALU16FlagV                       0x0010
    #define     B16ISA_SRi_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagV                          3
    #define   LSb16ISA_SRi_EX_ALU16FlagV                          3
    #define       bISA_SRi_EX_ALU16FlagV                       1
    #define   MSK32ISA_SRi_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_SRi_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_SRi_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagTP                         4
    #define   LSb16ISA_SRi_EX_ALU16FlagTP                         4
    #define       bISA_SRi_EX_ALU16FlagTP                      1
    #define   MSK32ISA_SRi_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_SRi_EX_ALU16MUL                         0x0010
    #define     B16ISA_SRi_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16MUL                            5
    #define   LSb16ISA_SRi_EX_ALU16MUL                            5
    #define       bISA_SRi_EX_ALU16MUL                         1
    #define   MSK32ISA_SRi_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_SRi_EX_ALU16DIV                         0x0010
    #define     B16ISA_SRi_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16DIV                            6
    #define   LSb16ISA_SRi_EX_ALU16DIV                            6
    #define       bISA_SRi_EX_ALU16DIV                         1
    #define   MSK32ISA_SRi_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_SRi_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_SRi_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_SRi_EX_ALU16FlagLD                         7
    #define   LSb16ISA_SRi_EX_ALU16FlagLD                         7
    #define       bISA_SRi_EX_ALU16FlagLD                      1
    #define   MSK32ISA_SRi_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_SRi_EX_ALU16MDL                         0x0011
    #define     B16ISA_SRi_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16MDL                            8
    #define   LSb16ISA_SRi_EX_ALU16MDL                            8
    #define       bISA_SRi_EX_ALU16MDL                         1
    #define   MSK32ISA_SRi_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_SRi_EX_ALU16MDH                         0x0011
    #define     B16ISA_SRi_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16MDH                            9
    #define   LSb16ISA_SRi_EX_ALU16MDH                            9
    #define       bISA_SRi_EX_ALU16MDH                         1
    #define   MSK32ISA_SRi_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_SRi_EX_ALU16ADD                         0x0011
    #define     B16ISA_SRi_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16ADD                            10
    #define   LSb16ISA_SRi_EX_ALU16ADD                            10
    #define       bISA_SRi_EX_ALU16ADD                         1
    #define   MSK32ISA_SRi_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_SRi_EX_ALU16SUB                         0x0011
    #define     B16ISA_SRi_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16SUB                            11
    #define   LSb16ISA_SRi_EX_ALU16SUB                            11
    #define       bISA_SRi_EX_ALU16SUB                         1
    #define   MSK32ISA_SRi_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_SRi_EX_ALU16ADDC                        0x0011
    #define     B16ISA_SRi_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_SRi_EX_ALU16ADDC                           12
    #define   LSb16ISA_SRi_EX_ALU16ADDC                           12
    #define       bISA_SRi_EX_ALU16ADDC                        1
    #define   MSK32ISA_SRi_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_SRi_EX_ALU16SUBC                        0x0011
    #define     B16ISA_SRi_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_SRi_EX_ALU16SUBC                           13
    #define   LSb16ISA_SRi_EX_ALU16SUBC                           13
    #define       bISA_SRi_EX_ALU16SUBC                        1
    #define   MSK32ISA_SRi_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_SRi_EX_ALU16ASR                         0x0011
    #define     B16ISA_SRi_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_SRi_EX_ALU16ASR                            14
    #define   LSb16ISA_SRi_EX_ALU16ASR                            14
    #define       bISA_SRi_EX_ALU16ASR                         1
    #define   MSK32ISA_SRi_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_SRi_EX_ALU16SL                          0x0011
    #define     B16ISA_SRi_EX_ALU16SL                          0x0010
    #define   LSb32ISA_SRi_EX_ALU16SL                             15
    #define   LSb16ISA_SRi_EX_ALU16SL                             15
    #define       bISA_SRi_EX_ALU16SL                          1
    #define   MSK32ISA_SRi_EX_ALU16SL                             0x00008000

    #define     BA_ISA_SRi_EX_ALU16SR                          0x0012
    #define     B16ISA_SRi_EX_ALU16SR                          0x0012
    #define   LSb32ISA_SRi_EX_ALU16SR                             16
    #define   LSb16ISA_SRi_EX_ALU16SR                             0
    #define       bISA_SRi_EX_ALU16SR                          1
    #define   MSK32ISA_SRi_EX_ALU16SR                             0x00010000

    #define     BA_ISA_SRi_EX_ALU16GET                         0x0012
    #define     B16ISA_SRi_EX_ALU16GET                         0x0012
    #define   LSb32ISA_SRi_EX_ALU16GET                            17
    #define   LSb16ISA_SRi_EX_ALU16GET                            1
    #define       bISA_SRi_EX_ALU16GET                         1
    #define   MSK32ISA_SRi_EX_ALU16GET                            0x00020000

    #define     BA_ISA_SRi_EX_ALU16SET                         0x0012
    #define     B16ISA_SRi_EX_ALU16SET                         0x0012
    #define   LSb32ISA_SRi_EX_ALU16SET                            18
    #define   LSb16ISA_SRi_EX_ALU16SET                            2
    #define       bISA_SRi_EX_ALU16SET                         1
    #define   MSK32ISA_SRi_EX_ALU16SET                            0x00040000

    #define     BA_ISA_SRi_EX_ALU16SEL                         0x0012
    #define     B16ISA_SRi_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_SRi_EX_ALU16SEL                            19
    #define   LSb16ISA_SRi_EX_ALU16SEL                            3
    #define       bISA_SRi_EX_ALU16SEL                         1
    #define   MSK32ISA_SRi_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_SRi_EX_ALU16OR                          0x0012
    #define     B16ISA_SRi_EX_ALU16OR                          0x0012
    #define   LSb32ISA_SRi_EX_ALU16OR                             20
    #define   LSb16ISA_SRi_EX_ALU16OR                             4
    #define       bISA_SRi_EX_ALU16OR                          1
    #define   MSK32ISA_SRi_EX_ALU16OR                             0x00100000

    #define     BA_ISA_SRi_EX_ALU16AND                         0x0012
    #define     B16ISA_SRi_EX_ALU16AND                         0x0012
    #define   LSb32ISA_SRi_EX_ALU16AND                            21
    #define   LSb16ISA_SRi_EX_ALU16AND                            5
    #define       bISA_SRi_EX_ALU16AND                         1
    #define   MSK32ISA_SRi_EX_ALU16AND                            0x00200000

    #define     BA_ISA_SRi_EX_ALU16XOR                         0x0012
    #define     B16ISA_SRi_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_SRi_EX_ALU16XOR                            22
    #define   LSb16ISA_SRi_EX_ALU16XOR                            6
    #define       bISA_SRi_EX_ALU16XOR                         1
    #define   MSK32ISA_SRi_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_SRi_EX_ALU16SP                          0x0012
    #define     B16ISA_SRi_EX_ALU16SP                          0x0012
    #define   LSb32ISA_SRi_EX_ALU16SP                             23
    #define   LSb16ISA_SRi_EX_ALU16SP                             7
    #define       bISA_SRi_EX_ALU16SP                          1
    #define   MSK32ISA_SRi_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_EXX                                 0x0014

    #define     BA_ISA_SRi_EXX_WRSQ                            0x0014
    #define     B16ISA_SRi_EXX_WRSQ                            0x0014
    #define   LSb32ISA_SRi_EXX_WRSQ                               0
    #define   LSb16ISA_SRi_EXX_WRSQ                               0
    #define       bISA_SRi_EXX_WRSQ                            1
    #define   MSK32ISA_SRi_EXX_WRSQ                               0x00000001

    #define     BA_ISA_SRi_EXX_WR16                            0x0014
    #define     B16ISA_SRi_EXX_WR16                            0x0014
    #define   LSb32ISA_SRi_EXX_WR16                               1
    #define   LSb16ISA_SRi_EXX_WR16                               1
    #define       bISA_SRi_EXX_WR16                            1
    #define   MSK32ISA_SRi_EXX_WR16                               0x00000002

    #define     BA_ISA_SRi_EXX_WRTQ                            0x0014
    #define     B16ISA_SRi_EXX_WRTQ                            0x0014
    #define   LSb32ISA_SRi_EXX_WRTQ                               2
    #define   LSb16ISA_SRi_EXX_WRTQ                               2
    #define       bISA_SRi_EXX_WRTQ                            1
    #define   MSK32ISA_SRi_EXX_WRTQ                               0x00000004

    #define     BA_ISA_SRi_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_SRi_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_SRi_EXX_ALU64PUSH                          3
    #define   LSb16ISA_SRi_EXX_ALU64PUSH                          3
    #define       bISA_SRi_EXX_ALU64PUSH                       1
    #define   MSK32ISA_SRi_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_SRi_EXX_ALU64POP                        0x0014
    #define     B16ISA_SRi_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_SRi_EXX_ALU64POP                           4
    #define   LSb16ISA_SRi_EXX_ALU64POP                           4
    #define       bISA_SRi_EXX_ALU64POP                        1
    #define   MSK32ISA_SRi_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_SRi_EXX_ALU64SQ                         0x0014
    #define     B16ISA_SRi_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_SRi_EXX_ALU64SQ                            5
    #define   LSb16ISA_SRi_EXX_ALU64SQ                            5
    #define       bISA_SRi_EXX_ALU64SQ                         1
    #define   MSK32ISA_SRi_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_SRi_EXX_ALU64TQ                         0x0014
    #define     B16ISA_SRi_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_SRi_EXX_ALU64TQ                            6
    #define   LSb16ISA_SRi_EXX_ALU64TQ                            6
    #define       bISA_SRi_EXX_ALU64TQ                         1
    #define   MSK32ISA_SRi_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_SRi_EXX_ALU64MEM                        0x0014
    #define     B16ISA_SRi_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_SRi_EXX_ALU64MEM                           7
    #define   LSb16ISA_SRi_EXX_ALU64MEM                           7
    #define       bISA_SRi_EXX_ALU64MEM                        1
    #define   MSK32ISA_SRi_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_SRi_EXX_BRANCH                          0x0015
    #define     B16ISA_SRi_EXX_BRANCH                          0x0014
    #define   LSb32ISA_SRi_EXX_BRANCH                             8
    #define   LSb16ISA_SRi_EXX_BRANCH                             8
    #define       bISA_SRi_EXX_BRANCH                          1
    #define   MSK32ISA_SRi_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SRi_WB                                  0x0018

    #define     BA_ISA_SRi_WB_RF16                             0x0018
    #define     B16ISA_SRi_WB_RF16                             0x0018
    #define   LSb32ISA_SRi_WB_RF16                                0
    #define   LSb16ISA_SRi_WB_RF16                                0
    #define       bISA_SRi_WB_RF16                             1
    #define   MSK32ISA_SRi_WB_RF16                                0x00000001

    #define     BA_ISA_SRi_WB_RF16W0                           0x0018
    #define     B16ISA_SRi_WB_RF16W0                           0x0018
    #define   LSb32ISA_SRi_WB_RF16W0                              1
    #define   LSb16ISA_SRi_WB_RF16W0                              1
    #define       bISA_SRi_WB_RF16W0                           1
    #define   MSK32ISA_SRi_WB_RF16W0                              0x00000002

    #define     BA_ISA_SRi_WB_RF16MEM                          0x0018
    #define     B16ISA_SRi_WB_RF16MEM                          0x0018
    #define   LSb32ISA_SRi_WB_RF16MEM                             2
    #define   LSb16ISA_SRi_WB_RF16MEM                             2
    #define       bISA_SRi_WB_RF16MEM                          1
    #define   MSK32ISA_SRi_WB_RF16MEM                             0x00000004

    #define     BA_ISA_SRi_WB_RF16Q                            0x0018
    #define     B16ISA_SRi_WB_RF16Q                            0x0018
    #define   LSb32ISA_SRi_WB_RF16Q                               3
    #define   LSb16ISA_SRi_WB_RF16Q                               3
    #define       bISA_SRi_WB_RF16Q                            1
    #define   MSK32ISA_SRi_WB_RF16Q                               0x00000008

    #define     BA_ISA_SRi_WB_RF64                             0x0018
    #define     B16ISA_SRi_WB_RF64                             0x0018
    #define   LSb32ISA_SRi_WB_RF64                                4
    #define   LSb16ISA_SRi_WB_RF64                                4
    #define       bISA_SRi_WB_RF64                             1
    #define   MSK32ISA_SRi_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SRi {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_SRi_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_SRi_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SRi_Mask;
            struct w32ISA_SRi_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_SRi_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_SRi_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SRi_Opcode;
            struct w32ISA_SRi_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SRi_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SRi_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SRi_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SRi_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SRi_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SRi_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SRi_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SRi_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_SRi_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SRi_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SRi_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SRi_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SRi_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SRi_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SRi_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SRi_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SRi_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SRi_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SRi_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SRi_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SRi_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SRi_ID;
            struct w32ISA_SRi_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SRi_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SRi_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SRi_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SRi_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SRi_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SRi_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SRi_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SRi_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SRi_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SRi_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_SRi_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SRi_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SRi_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_SRi_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SRi_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_SRi_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SRi_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_SRi_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SRi_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_SRi_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SRi_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_SRi_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SRi_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_SRi_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SRi_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_SRi_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SRi_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_SRi_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SRi_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_SRi_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_SRi_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_SRi_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_SRi_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_SRi_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_SRi_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_SRi_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_SRi_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_SRi_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_SRi_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_SRi_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_SRi_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_SRi_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_SRi_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_SRi_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_SRi_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_SRi_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_SRi_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_SRi_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_SRi_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SRi_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SRi_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SRi_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SRi_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SRi_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SRi_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_SRi_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_SRi_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_SRi_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_SRi_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_SRi_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_SRi_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_SRi_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_SRi_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_SRi_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_SRi_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SRi_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SRi_LD;
            struct w32ISA_SRi_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_SRi_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SRi_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_SRi_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SRi_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_SRi_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SRi_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SRi_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SRi_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_SRi_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SRi_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SRi_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SRi_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SRi_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SRi_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SRi_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SRi_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SRi_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_SRi_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SRi_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_SRi_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SRi_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SRi_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SRi_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SRi_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SRi_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_SRi_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SRi_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_SRi_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SRi_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_SRi_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_SRi_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_SRi_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_SRi_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_SRi_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_SRi_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_SRi_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_SRi_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_SRi_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_SRi_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_SRi_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_SRi_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_SRi_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_SRi_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_SRi_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_SRi_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_SRi_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_SRi_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_SRi_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_SRi_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_SRi_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_SRi_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_SRi_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_SRi_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_SRi_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_SRi_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_SRi_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_SRi_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_SRi_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_SRi_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_SRi_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_SRi_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_SRi_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_SRi_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_SRi_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_SRi_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SRi_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_SRi_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_SRi_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SRi_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SRi_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_SRi_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_SRi_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_SRi_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SRi_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SRi_EX;
            struct w32ISA_SRi_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_SRi_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SRi_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SRi_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SRi_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_SRi_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SRi_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_SRi_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SRi_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_SRi_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SRi_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SRi_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SRi_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SRi_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SRi_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SRi_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SRi_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SRi_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SRi_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SRi_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_SRi_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SRi_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_SRi_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SRi_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SRi_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SRi_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SRi_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SRi_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SRi_EXX;
            struct w32ISA_SRi_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SRi_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SRi_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SRi_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SRi_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SRi_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_SRi_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SRi_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_SRi_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SRi_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_SRi_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SRi_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SRi_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SRi_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_SRi_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SRi_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_SRi_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SRi_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SRi_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SRi_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SRi_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SRi_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SRi_WB;
            struct w32ISA_SRi_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SRi;

    typedef union  T32ISA_SRi_Mask
          { UNSG32 u32;
            struct w32ISA_SRi_Mask;
                 } T32ISA_SRi_Mask;
    typedef union  T32ISA_SRi_Opcode
          { UNSG32 u32;
            struct w32ISA_SRi_Opcode;
                 } T32ISA_SRi_Opcode;
    typedef union  T32ISA_SRi_ID
          { UNSG32 u32;
            struct w32ISA_SRi_ID;
                 } T32ISA_SRi_ID;
    typedef union  T32ISA_SRi_LD
          { UNSG32 u32;
            struct w32ISA_SRi_LD;
                 } T32ISA_SRi_LD;
    typedef union  T32ISA_SRi_EX
          { UNSG32 u32;
            struct w32ISA_SRi_EX;
                 } T32ISA_SRi_EX;
    typedef union  T32ISA_SRi_EXX
          { UNSG32 u32;
            struct w32ISA_SRi_EXX;
                 } T32ISA_SRi_EXX;
    typedef union  T32ISA_SRi_WB
          { UNSG32 u32;
            struct w32ISA_SRi_WB;
                 } T32ISA_SRi_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SRi_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_Mask;
                   };
                 } TISA_SRi_Mask;
    typedef union  TISA_SRi_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_Opcode;
                   };
                 } TISA_SRi_Opcode;
    typedef union  TISA_SRi_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_ID;
                   };
                 } TISA_SRi_ID;
    typedef union  TISA_SRi_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_LD;
                   };
                 } TISA_SRi_LD;
    typedef union  TISA_SRi_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_EX;
                   };
                 } TISA_SRi_EX;
    typedef union  TISA_SRi_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_EXX;
                   };
                 } TISA_SRi_EXX;
    typedef union  TISA_SRi_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SRi_WB;
                   };
                 } TISA_SRi_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SRi_drvrd(SIE_ISA_SRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SRi_drvwr(SIE_ISA_SRi *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SRi_reset(SIE_ISA_SRi *p);
     SIGN32 ISA_SRi_cmp  (SIE_ISA_SRi *p, SIE_ISA_SRi *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SRi_check(p,pie,pfx,hLOG) ISA_SRi_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SRi_print(p,    pfx,hLOG) ISA_SRi_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SRi
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SR                                   (4,4)
///     ###
///     * Logically right shift a register by another register to destination register.
///     * Note: if shift bit register is 16 or greater, treat as 16.
///     * All flags 'ZCNV' will be updated.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x1F0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SR"      , "rD,rS,rT"    , "0001 1111 SSSS ---- TTTT DDDD" } ,
///                                    * - Usage:
///                                    * -    SR       %d1, %a1, %b1   ; %d1 = (unsigned)%a1 >> %b1;
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      0x1
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                0x1
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                0x1
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   0x1
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      0x1
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SR
#define h_ISA_SR (){}

    #define     RA_ISA_SR_Mask                                 0x0000

    #define     BA_ISA_SR_Mask_INS                             0x0000
    #define     B16ISA_SR_Mask_INS                             0x0000
    #define   LSb32ISA_SR_Mask_INS                                0
    #define   LSb16ISA_SR_Mask_INS                                0
    #define       bISA_SR_Mask_INS                             24
    #define   MSK32ISA_SR_Mask_INS                                0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_Opcode                               0x0004

    #define     BA_ISA_SR_Opcode_INS                           0x0004
    #define     B16ISA_SR_Opcode_INS                           0x0004
    #define   LSb32ISA_SR_Opcode_INS                              0
    #define   LSb16ISA_SR_Opcode_INS                              0
    #define       bISA_SR_Opcode_INS                           24
    #define   MSK32ISA_SR_Opcode_INS                              0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_ID                                   0x0008

    #define     BA_ISA_SR_ID_RBRF                              0x0008
    #define     B16ISA_SR_ID_RBRF                              0x0008
    #define   LSb32ISA_SR_ID_RBRF                                 0
    #define   LSb16ISA_SR_ID_RBRF                                 0
    #define       bISA_SR_ID_RBRF                              1
    #define   MSK32ISA_SR_ID_RBRF                                 0x00000001

    #define     BA_ISA_SR_ID_RARF                              0x0008
    #define     B16ISA_SR_ID_RARF                              0x0008
    #define   LSb32ISA_SR_ID_RARF                                 1
    #define   LSb16ISA_SR_ID_RARF                                 1
    #define       bISA_SR_ID_RARF                              1
    #define   MSK32ISA_SR_ID_RARF                                 0x00000002

    #define     BA_ISA_SR_ID_RAK8                              0x0008
    #define     B16ISA_SR_ID_RAK8                              0x0008
    #define   LSb32ISA_SR_ID_RAK8                                 2
    #define   LSb16ISA_SR_ID_RAK8                                 2
    #define       bISA_SR_ID_RAK8                              1
    #define   MSK32ISA_SR_ID_RAK8                                 0x00000004

    #define     BA_ISA_SR_ID_RAI16                             0x0008
    #define     B16ISA_SR_ID_RAI16                             0x0008
    #define   LSb32ISA_SR_ID_RAI16                                3
    #define   LSb16ISA_SR_ID_RAI16                                3
    #define       bISA_SR_ID_RAI16                             1
    #define   MSK32ISA_SR_ID_RAI16                                0x00000008

    #define     BA_ISA_SR_ID_RAK16                             0x0008
    #define     B16ISA_SR_ID_RAK16                             0x0008
    #define   LSb32ISA_SR_ID_RAK16                                4
    #define   LSb16ISA_SR_ID_RAK16                                4
    #define       bISA_SR_ID_RAK16                             1
    #define   MSK32ISA_SR_ID_RAK16                                0x00000010

    #define     BA_ISA_SR_ID_RFSP                              0x0008
    #define     B16ISA_SR_ID_RFSP                              0x0008
    #define   LSb32ISA_SR_ID_RFSP                                 5
    #define   LSb16ISA_SR_ID_RFSP                                 5
    #define       bISA_SR_ID_RFSP                              1
    #define   MSK32ISA_SR_ID_RFSP                                 0x00000020

    #define     BA_ISA_SR_ID_W4D4                              0x0008
    #define     B16ISA_SR_ID_W4D4                              0x0008
    #define   LSb32ISA_SR_ID_W4D4                                 6
    #define   LSb16ISA_SR_ID_W4D4                                 6
    #define       bISA_SR_ID_W4D4                              1
    #define   MSK32ISA_SR_ID_W4D4                                 0x00000040

    #define     BA_ISA_SR_ID_W4S4                              0x0008
    #define     B16ISA_SR_ID_W4S4                              0x0008
    #define   LSb32ISA_SR_ID_W4S4                                 7
    #define   LSb16ISA_SR_ID_W4S4                                 7
    #define       bISA_SR_ID_W4S4                              1
    #define   MSK32ISA_SR_ID_W4S4                                 0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_LD                                   0x000C

    #define     BA_ISA_SR_LD_SPRF                              0x000C
    #define     B16ISA_SR_LD_SPRF                              0x000C
    #define   LSb32ISA_SR_LD_SPRF                                 0
    #define   LSb16ISA_SR_LD_SPRF                                 0
    #define       bISA_SR_LD_SPRF                              1
    #define   MSK32ISA_SR_LD_SPRF                                 0x00000001

    #define     BA_ISA_SR_LD_SPK8                              0x000C
    #define     B16ISA_SR_LD_SPK8                              0x000C
    #define   LSb32ISA_SR_LD_SPK8                                 1
    #define   LSb16ISA_SR_LD_SPK8                                 1
    #define       bISA_SR_LD_SPK8                              1
    #define   MSK32ISA_SR_LD_SPK8                                 0x00000002

    #define     BA_ISA_SR_LD_SPJ                               0x000C
    #define     B16ISA_SR_LD_SPJ                               0x000C
    #define   LSb32ISA_SR_LD_SPJ                                  2
    #define   LSb16ISA_SR_LD_SPJ                                  2
    #define       bISA_SR_LD_SPJ                               1
    #define   MSK32ISA_SR_LD_SPJ                                  0x00000004

    #define     BA_ISA_SR_LD_SP4S                              0x000C
    #define     B16ISA_SR_LD_SP4S                              0x000C
    #define   LSb32ISA_SR_LD_SP4S                                 3
    #define   LSb16ISA_SR_LD_SP4S                                 3
    #define       bISA_SR_LD_SP4S                              1
    #define   MSK32ISA_SR_LD_SP4S                                 0x00000008

    #define     BA_ISA_SR_LD_SP8S                              0x000C
    #define     B16ISA_SR_LD_SP8S                              0x000C
    #define   LSb32ISA_SR_LD_SP8S                                 4
    #define   LSb16ISA_SR_LD_SP8S                                 4
    #define       bISA_SR_LD_SP8S                              1
    #define   MSK32ISA_SR_LD_SP8S                                 0x00000010

    #define     BA_ISA_SR_LD_SP8U                              0x000C
    #define     B16ISA_SR_LD_SP8U                              0x000C
    #define   LSb32ISA_SR_LD_SP8U                                 5
    #define   LSb16ISA_SR_LD_SP8U                                 5
    #define       bISA_SR_LD_SP8U                              1
    #define   MSK32ISA_SR_LD_SP8U                                 0x00000020

    #define     BA_ISA_SR_LD_SP12S                             0x000C
    #define     B16ISA_SR_LD_SP12S                             0x000C
    #define   LSb32ISA_SR_LD_SP12S                                6
    #define   LSb16ISA_SR_LD_SP12S                                6
    #define       bISA_SR_LD_SP12S                             1
    #define   MSK32ISA_SR_LD_SP12S                                0x00000040

    #define     BA_ISA_SR_LD_SP16                              0x000C
    #define     B16ISA_SR_LD_SP16                              0x000C
    #define   LSb32ISA_SR_LD_SP16                                 7
    #define   LSb16ISA_SR_LD_SP16                                 7
    #define       bISA_SR_LD_SP16                              1
    #define   MSK32ISA_SR_LD_SP16                                 0x00000080

    #define     BA_ISA_SR_LD_TPRF                              0x000D
    #define     B16ISA_SR_LD_TPRF                              0x000C
    #define   LSb32ISA_SR_LD_TPRF                                 8
    #define   LSb16ISA_SR_LD_TPRF                                 8
    #define       bISA_SR_LD_TPRF                              1
    #define   MSK32ISA_SR_LD_TPRF                                 0x00000100

    #define     BA_ISA_SR_LD_TPJ                               0x000D
    #define     B16ISA_SR_LD_TPJ                               0x000C
    #define   LSb32ISA_SR_LD_TPJ                                  9
    #define   LSb16ISA_SR_LD_TPJ                                  9
    #define       bISA_SR_LD_TPJ                               1
    #define   MSK32ISA_SR_LD_TPJ                                  0x00000200

    #define     BA_ISA_SR_LD_TP4S                              0x000D
    #define     B16ISA_SR_LD_TP4S                              0x000C
    #define   LSb32ISA_SR_LD_TP4S                                 10
    #define   LSb16ISA_SR_LD_TP4S                                 10
    #define       bISA_SR_LD_TP4S                              1
    #define   MSK32ISA_SR_LD_TP4S                                 0x00000400

    #define     BA_ISA_SR_LD_TP8L                              0x000D
    #define     B16ISA_SR_LD_TP8L                              0x000C
    #define   LSb32ISA_SR_LD_TP8L                                 11
    #define   LSb16ISA_SR_LD_TP8L                                 11
    #define       bISA_SR_LD_TP8L                              1
    #define   MSK32ISA_SR_LD_TP8L                                 0x00000800

    #define     BA_ISA_SR_LD_TP8H                              0x000D
    #define     B16ISA_SR_LD_TP8H                              0x000C
    #define   LSb32ISA_SR_LD_TP8H                                 12
    #define   LSb16ISA_SR_LD_TP8H                                 12
    #define       bISA_SR_LD_TP8H                              1
    #define   MSK32ISA_SR_LD_TP8H                                 0x00001000

    #define     BA_ISA_SR_LD_TP8LF                             0x000D
    #define     B16ISA_SR_LD_TP8LF                             0x000C
    #define   LSb32ISA_SR_LD_TP8LF                                13
    #define   LSb16ISA_SR_LD_TP8LF                                13
    #define       bISA_SR_LD_TP8LF                             1
    #define   MSK32ISA_SR_LD_TP8LF                                0x00002000

    #define     BA_ISA_SR_LD_TP8HF                             0x000D
    #define     B16ISA_SR_LD_TP8HF                             0x000C
    #define   LSb32ISA_SR_LD_TP8HF                                14
    #define   LSb16ISA_SR_LD_TP8HF                                14
    #define       bISA_SR_LD_TP8HF                             1
    #define   MSK32ISA_SR_LD_TP8HF                                0x00004000

    #define     BA_ISA_SR_LD_SQRF64                            0x000D
    #define     B16ISA_SR_LD_SQRF64                            0x000C
    #define   LSb32ISA_SR_LD_SQRF64                               15
    #define   LSb16ISA_SR_LD_SQRF64                               15
    #define       bISA_SR_LD_SQRF64                            1
    #define   MSK32ISA_SR_LD_SQRF64                               0x00008000

    #define     BA_ISA_SR_LD_TQRF16Q                           0x000E
    #define     B16ISA_SR_LD_TQRF16Q                           0x000E
    #define   LSb32ISA_SR_LD_TQRF16Q                              16
    #define   LSb16ISA_SR_LD_TQRF16Q                              0
    #define       bISA_SR_LD_TQRF16Q                           1
    #define   MSK32ISA_SR_LD_TQRF16Q                              0x00010000

    #define     BA_ISA_SR_LD_TQRFx4                            0x000E
    #define     B16ISA_SR_LD_TQRFx4                            0x000E
    #define   LSb32ISA_SR_LD_TQRFx4                               17
    #define   LSb16ISA_SR_LD_TQRFx4                               1
    #define       bISA_SR_LD_TQRFx4                            1
    #define   MSK32ISA_SR_LD_TQRFx4                               0x00020000

    #define     BA_ISA_SR_LD_RD                                0x000E
    #define     B16ISA_SR_LD_RD                                0x000E
    #define   LSb32ISA_SR_LD_RD                                   18
    #define   LSb16ISA_SR_LD_RD                                   2
    #define       bISA_SR_LD_RD                                1
    #define   MSK32ISA_SR_LD_RD                                   0x00040000

    #define     BA_ISA_SR_LD_WARF                              0x000E
    #define     B16ISA_SR_LD_WARF                              0x000E
    #define   LSb32ISA_SR_LD_WARF                                 19
    #define   LSb16ISA_SR_LD_WARF                                 3
    #define       bISA_SR_LD_WARF                              1
    #define   MSK32ISA_SR_LD_WARF                                 0x00080000

    #define     BA_ISA_SR_LD_WAK8                              0x000E
    #define     B16ISA_SR_LD_WAK8                              0x000E
    #define   LSb32ISA_SR_LD_WAK8                                 20
    #define   LSb16ISA_SR_LD_WAK8                                 4
    #define       bISA_SR_LD_WAK8                              1
    #define   MSK32ISA_SR_LD_WAK8                                 0x00100000

    #define     BA_ISA_SR_LD_WAK16                             0x000E
    #define     B16ISA_SR_LD_WAK16                             0x000E
    #define   LSb32ISA_SR_LD_WAK16                                21
    #define   LSb16ISA_SR_LD_WAK16                                5
    #define       bISA_SR_LD_WAK16                             1
    #define   MSK32ISA_SR_LD_WAK16                                0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_EX                                   0x0010

    #define     BA_ISA_SR_EX_ALU16FlagZ                        0x0010
    #define     B16ISA_SR_EX_ALU16FlagZ                        0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagZ                           0
    #define   LSb16ISA_SR_EX_ALU16FlagZ                           0
    #define       bISA_SR_EX_ALU16FlagZ                        1
    #define   MSK32ISA_SR_EX_ALU16FlagZ                           0x00000001

    #define     BA_ISA_SR_EX_ALU16FlagC                        0x0010
    #define     B16ISA_SR_EX_ALU16FlagC                        0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagC                           1
    #define   LSb16ISA_SR_EX_ALU16FlagC                           1
    #define       bISA_SR_EX_ALU16FlagC                        1
    #define   MSK32ISA_SR_EX_ALU16FlagC                           0x00000002

    #define     BA_ISA_SR_EX_ALU16FlagN                        0x0010
    #define     B16ISA_SR_EX_ALU16FlagN                        0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagN                           2
    #define   LSb16ISA_SR_EX_ALU16FlagN                           2
    #define       bISA_SR_EX_ALU16FlagN                        1
    #define   MSK32ISA_SR_EX_ALU16FlagN                           0x00000004

    #define     BA_ISA_SR_EX_ALU16FlagV                        0x0010
    #define     B16ISA_SR_EX_ALU16FlagV                        0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagV                           3
    #define   LSb16ISA_SR_EX_ALU16FlagV                           3
    #define       bISA_SR_EX_ALU16FlagV                        1
    #define   MSK32ISA_SR_EX_ALU16FlagV                           0x00000008

    #define     BA_ISA_SR_EX_ALU16FlagTP                       0x0010
    #define     B16ISA_SR_EX_ALU16FlagTP                       0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagTP                          4
    #define   LSb16ISA_SR_EX_ALU16FlagTP                          4
    #define       bISA_SR_EX_ALU16FlagTP                       1
    #define   MSK32ISA_SR_EX_ALU16FlagTP                          0x00000010

    #define     BA_ISA_SR_EX_ALU16MUL                          0x0010
    #define     B16ISA_SR_EX_ALU16MUL                          0x0010
    #define   LSb32ISA_SR_EX_ALU16MUL                             5
    #define   LSb16ISA_SR_EX_ALU16MUL                             5
    #define       bISA_SR_EX_ALU16MUL                          1
    #define   MSK32ISA_SR_EX_ALU16MUL                             0x00000020

    #define     BA_ISA_SR_EX_ALU16DIV                          0x0010
    #define     B16ISA_SR_EX_ALU16DIV                          0x0010
    #define   LSb32ISA_SR_EX_ALU16DIV                             6
    #define   LSb16ISA_SR_EX_ALU16DIV                             6
    #define       bISA_SR_EX_ALU16DIV                          1
    #define   MSK32ISA_SR_EX_ALU16DIV                             0x00000040

    #define     BA_ISA_SR_EX_ALU16FlagLD                       0x0010
    #define     B16ISA_SR_EX_ALU16FlagLD                       0x0010
    #define   LSb32ISA_SR_EX_ALU16FlagLD                          7
    #define   LSb16ISA_SR_EX_ALU16FlagLD                          7
    #define       bISA_SR_EX_ALU16FlagLD                       1
    #define   MSK32ISA_SR_EX_ALU16FlagLD                          0x00000080

    #define     BA_ISA_SR_EX_ALU16MDL                          0x0011
    #define     B16ISA_SR_EX_ALU16MDL                          0x0010
    #define   LSb32ISA_SR_EX_ALU16MDL                             8
    #define   LSb16ISA_SR_EX_ALU16MDL                             8
    #define       bISA_SR_EX_ALU16MDL                          1
    #define   MSK32ISA_SR_EX_ALU16MDL                             0x00000100

    #define     BA_ISA_SR_EX_ALU16MDH                          0x0011
    #define     B16ISA_SR_EX_ALU16MDH                          0x0010
    #define   LSb32ISA_SR_EX_ALU16MDH                             9
    #define   LSb16ISA_SR_EX_ALU16MDH                             9
    #define       bISA_SR_EX_ALU16MDH                          1
    #define   MSK32ISA_SR_EX_ALU16MDH                             0x00000200

    #define     BA_ISA_SR_EX_ALU16ADD                          0x0011
    #define     B16ISA_SR_EX_ALU16ADD                          0x0010
    #define   LSb32ISA_SR_EX_ALU16ADD                             10
    #define   LSb16ISA_SR_EX_ALU16ADD                             10
    #define       bISA_SR_EX_ALU16ADD                          1
    #define   MSK32ISA_SR_EX_ALU16ADD                             0x00000400

    #define     BA_ISA_SR_EX_ALU16SUB                          0x0011
    #define     B16ISA_SR_EX_ALU16SUB                          0x0010
    #define   LSb32ISA_SR_EX_ALU16SUB                             11
    #define   LSb16ISA_SR_EX_ALU16SUB                             11
    #define       bISA_SR_EX_ALU16SUB                          1
    #define   MSK32ISA_SR_EX_ALU16SUB                             0x00000800

    #define     BA_ISA_SR_EX_ALU16ADDC                         0x0011
    #define     B16ISA_SR_EX_ALU16ADDC                         0x0010
    #define   LSb32ISA_SR_EX_ALU16ADDC                            12
    #define   LSb16ISA_SR_EX_ALU16ADDC                            12
    #define       bISA_SR_EX_ALU16ADDC                         1
    #define   MSK32ISA_SR_EX_ALU16ADDC                            0x00001000

    #define     BA_ISA_SR_EX_ALU16SUBC                         0x0011
    #define     B16ISA_SR_EX_ALU16SUBC                         0x0010
    #define   LSb32ISA_SR_EX_ALU16SUBC                            13
    #define   LSb16ISA_SR_EX_ALU16SUBC                            13
    #define       bISA_SR_EX_ALU16SUBC                         1
    #define   MSK32ISA_SR_EX_ALU16SUBC                            0x00002000

    #define     BA_ISA_SR_EX_ALU16ASR                          0x0011
    #define     B16ISA_SR_EX_ALU16ASR                          0x0010
    #define   LSb32ISA_SR_EX_ALU16ASR                             14
    #define   LSb16ISA_SR_EX_ALU16ASR                             14
    #define       bISA_SR_EX_ALU16ASR                          1
    #define   MSK32ISA_SR_EX_ALU16ASR                             0x00004000

    #define     BA_ISA_SR_EX_ALU16SL                           0x0011
    #define     B16ISA_SR_EX_ALU16SL                           0x0010
    #define   LSb32ISA_SR_EX_ALU16SL                              15
    #define   LSb16ISA_SR_EX_ALU16SL                              15
    #define       bISA_SR_EX_ALU16SL                           1
    #define   MSK32ISA_SR_EX_ALU16SL                              0x00008000

    #define     BA_ISA_SR_EX_ALU16SR                           0x0012
    #define     B16ISA_SR_EX_ALU16SR                           0x0012
    #define   LSb32ISA_SR_EX_ALU16SR                              16
    #define   LSb16ISA_SR_EX_ALU16SR                              0
    #define       bISA_SR_EX_ALU16SR                           1
    #define   MSK32ISA_SR_EX_ALU16SR                              0x00010000

    #define     BA_ISA_SR_EX_ALU16GET                          0x0012
    #define     B16ISA_SR_EX_ALU16GET                          0x0012
    #define   LSb32ISA_SR_EX_ALU16GET                             17
    #define   LSb16ISA_SR_EX_ALU16GET                             1
    #define       bISA_SR_EX_ALU16GET                          1
    #define   MSK32ISA_SR_EX_ALU16GET                             0x00020000

    #define     BA_ISA_SR_EX_ALU16SET                          0x0012
    #define     B16ISA_SR_EX_ALU16SET                          0x0012
    #define   LSb32ISA_SR_EX_ALU16SET                             18
    #define   LSb16ISA_SR_EX_ALU16SET                             2
    #define       bISA_SR_EX_ALU16SET                          1
    #define   MSK32ISA_SR_EX_ALU16SET                             0x00040000

    #define     BA_ISA_SR_EX_ALU16SEL                          0x0012
    #define     B16ISA_SR_EX_ALU16SEL                          0x0012
    #define   LSb32ISA_SR_EX_ALU16SEL                             19
    #define   LSb16ISA_SR_EX_ALU16SEL                             3
    #define       bISA_SR_EX_ALU16SEL                          1
    #define   MSK32ISA_SR_EX_ALU16SEL                             0x00080000

    #define     BA_ISA_SR_EX_ALU16OR                           0x0012
    #define     B16ISA_SR_EX_ALU16OR                           0x0012
    #define   LSb32ISA_SR_EX_ALU16OR                              20
    #define   LSb16ISA_SR_EX_ALU16OR                              4
    #define       bISA_SR_EX_ALU16OR                           1
    #define   MSK32ISA_SR_EX_ALU16OR                              0x00100000

    #define     BA_ISA_SR_EX_ALU16AND                          0x0012
    #define     B16ISA_SR_EX_ALU16AND                          0x0012
    #define   LSb32ISA_SR_EX_ALU16AND                             21
    #define   LSb16ISA_SR_EX_ALU16AND                             5
    #define       bISA_SR_EX_ALU16AND                          1
    #define   MSK32ISA_SR_EX_ALU16AND                             0x00200000

    #define     BA_ISA_SR_EX_ALU16XOR                          0x0012
    #define     B16ISA_SR_EX_ALU16XOR                          0x0012
    #define   LSb32ISA_SR_EX_ALU16XOR                             22
    #define   LSb16ISA_SR_EX_ALU16XOR                             6
    #define       bISA_SR_EX_ALU16XOR                          1
    #define   MSK32ISA_SR_EX_ALU16XOR                             0x00400000

    #define     BA_ISA_SR_EX_ALU16SP                           0x0012
    #define     B16ISA_SR_EX_ALU16SP                           0x0012
    #define   LSb32ISA_SR_EX_ALU16SP                              23
    #define   LSb16ISA_SR_EX_ALU16SP                              7
    #define       bISA_SR_EX_ALU16SP                           1
    #define   MSK32ISA_SR_EX_ALU16SP                              0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_EXX                                  0x0014

    #define     BA_ISA_SR_EXX_WRSQ                             0x0014
    #define     B16ISA_SR_EXX_WRSQ                             0x0014
    #define   LSb32ISA_SR_EXX_WRSQ                                0
    #define   LSb16ISA_SR_EXX_WRSQ                                0
    #define       bISA_SR_EXX_WRSQ                             1
    #define   MSK32ISA_SR_EXX_WRSQ                                0x00000001

    #define     BA_ISA_SR_EXX_WR16                             0x0014
    #define     B16ISA_SR_EXX_WR16                             0x0014
    #define   LSb32ISA_SR_EXX_WR16                                1
    #define   LSb16ISA_SR_EXX_WR16                                1
    #define       bISA_SR_EXX_WR16                             1
    #define   MSK32ISA_SR_EXX_WR16                                0x00000002

    #define     BA_ISA_SR_EXX_WRTQ                             0x0014
    #define     B16ISA_SR_EXX_WRTQ                             0x0014
    #define   LSb32ISA_SR_EXX_WRTQ                                2
    #define   LSb16ISA_SR_EXX_WRTQ                                2
    #define       bISA_SR_EXX_WRTQ                             1
    #define   MSK32ISA_SR_EXX_WRTQ                                0x00000004

    #define     BA_ISA_SR_EXX_ALU64PUSH                        0x0014
    #define     B16ISA_SR_EXX_ALU64PUSH                        0x0014
    #define   LSb32ISA_SR_EXX_ALU64PUSH                           3
    #define   LSb16ISA_SR_EXX_ALU64PUSH                           3
    #define       bISA_SR_EXX_ALU64PUSH                        1
    #define   MSK32ISA_SR_EXX_ALU64PUSH                           0x00000008

    #define     BA_ISA_SR_EXX_ALU64POP                         0x0014
    #define     B16ISA_SR_EXX_ALU64POP                         0x0014
    #define   LSb32ISA_SR_EXX_ALU64POP                            4
    #define   LSb16ISA_SR_EXX_ALU64POP                            4
    #define       bISA_SR_EXX_ALU64POP                         1
    #define   MSK32ISA_SR_EXX_ALU64POP                            0x00000010

    #define     BA_ISA_SR_EXX_ALU64SQ                          0x0014
    #define     B16ISA_SR_EXX_ALU64SQ                          0x0014
    #define   LSb32ISA_SR_EXX_ALU64SQ                             5
    #define   LSb16ISA_SR_EXX_ALU64SQ                             5
    #define       bISA_SR_EXX_ALU64SQ                          1
    #define   MSK32ISA_SR_EXX_ALU64SQ                             0x00000020

    #define     BA_ISA_SR_EXX_ALU64TQ                          0x0014
    #define     B16ISA_SR_EXX_ALU64TQ                          0x0014
    #define   LSb32ISA_SR_EXX_ALU64TQ                             6
    #define   LSb16ISA_SR_EXX_ALU64TQ                             6
    #define       bISA_SR_EXX_ALU64TQ                          1
    #define   MSK32ISA_SR_EXX_ALU64TQ                             0x00000040

    #define     BA_ISA_SR_EXX_ALU64MEM                         0x0014
    #define     B16ISA_SR_EXX_ALU64MEM                         0x0014
    #define   LSb32ISA_SR_EXX_ALU64MEM                            7
    #define   LSb16ISA_SR_EXX_ALU64MEM                            7
    #define       bISA_SR_EXX_ALU64MEM                         1
    #define   MSK32ISA_SR_EXX_ALU64MEM                            0x00000080

    #define     BA_ISA_SR_EXX_BRANCH                           0x0015
    #define     B16ISA_SR_EXX_BRANCH                           0x0014
    #define   LSb32ISA_SR_EXX_BRANCH                              8
    #define   LSb16ISA_SR_EXX_BRANCH                              8
    #define       bISA_SR_EXX_BRANCH                           1
    #define   MSK32ISA_SR_EXX_BRANCH                              0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SR_WB                                   0x0018

    #define     BA_ISA_SR_WB_RF16                              0x0018
    #define     B16ISA_SR_WB_RF16                              0x0018
    #define   LSb32ISA_SR_WB_RF16                                 0
    #define   LSb16ISA_SR_WB_RF16                                 0
    #define       bISA_SR_WB_RF16                              1
    #define   MSK32ISA_SR_WB_RF16                                 0x00000001

    #define     BA_ISA_SR_WB_RF16W0                            0x0018
    #define     B16ISA_SR_WB_RF16W0                            0x0018
    #define   LSb32ISA_SR_WB_RF16W0                               1
    #define   LSb16ISA_SR_WB_RF16W0                               1
    #define       bISA_SR_WB_RF16W0                            1
    #define   MSK32ISA_SR_WB_RF16W0                               0x00000002

    #define     BA_ISA_SR_WB_RF16MEM                           0x0018
    #define     B16ISA_SR_WB_RF16MEM                           0x0018
    #define   LSb32ISA_SR_WB_RF16MEM                              2
    #define   LSb16ISA_SR_WB_RF16MEM                              2
    #define       bISA_SR_WB_RF16MEM                           1
    #define   MSK32ISA_SR_WB_RF16MEM                              0x00000004

    #define     BA_ISA_SR_WB_RF16Q                             0x0018
    #define     B16ISA_SR_WB_RF16Q                             0x0018
    #define   LSb32ISA_SR_WB_RF16Q                                3
    #define   LSb16ISA_SR_WB_RF16Q                                3
    #define       bISA_SR_WB_RF16Q                             1
    #define   MSK32ISA_SR_WB_RF16Q                                0x00000008

    #define     BA_ISA_SR_WB_RF64                              0x0018
    #define     B16ISA_SR_WB_RF64                              0x0018
    #define   LSb32ISA_SR_WB_RF64                                 4
    #define   LSb16ISA_SR_WB_RF64                                 4
    #define       bISA_SR_WB_RF64                              1
    #define   MSK32ISA_SR_WB_RF64                                 0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SR {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_Mask_INS(r32)                        _BFGET_(r32,23, 0)
    #define   SET32ISA_SR_Mask_INS(r32,v)                      _BFSET_(r32,23, 0,v)

    #define     w32ISA_SR_Mask                                 {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SR_Mask;
            struct w32ISA_SR_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_Opcode_INS(r32)                      _BFGET_(r32,23, 0)
    #define   SET32ISA_SR_Opcode_INS(r32,v)                    _BFSET_(r32,23, 0,v)

    #define     w32ISA_SR_Opcode                               {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SR_Opcode;
            struct w32ISA_SR_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_ID_RBRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SR_ID_RBRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SR_ID_RBRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_ID_RBRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_ID_RARF(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_SR_ID_RARF(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SR_ID_RARF(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_ID_RARF(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_ID_RAK8(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_SR_ID_RAK8(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SR_ID_RAK8(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_ID_RAK8(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_ID_RAI16(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SR_ID_RAI16(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SR_ID_RAI16(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_ID_RAI16(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_ID_RAK16(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_SR_ID_RAK16(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SR_ID_RAK16(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_ID_RAK16(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_ID_RFSP(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_SR_ID_RFSP(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SR_ID_RFSP(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_ID_RFSP(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SR_ID_W4D4(r32)                         _BFGET_(r32, 6, 6)
    #define   SET32ISA_SR_ID_W4D4(r32,v)                       _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SR_ID_W4D4(r16)                         _BFGET_(r16, 6, 6)
    #define   SET16ISA_SR_ID_W4D4(r16,v)                       _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SR_ID_W4S4(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_SR_ID_W4S4(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SR_ID_W4S4(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_SR_ID_W4S4(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SR_ID                                   {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SR_ID;
            struct w32ISA_SR_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_LD_SPRF(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SR_LD_SPRF(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SR_LD_SPRF(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_LD_SPRF(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_LD_SPK8(r32)                         _BFGET_(r32, 1, 1)
    #define   SET32ISA_SR_LD_SPK8(r32,v)                       _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SR_LD_SPK8(r16)                         _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_LD_SPK8(r16,v)                       _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_LD_SPJ(r32)                          _BFGET_(r32, 2, 2)
    #define   SET32ISA_SR_LD_SPJ(r32,v)                        _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SR_LD_SPJ(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_LD_SPJ(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_LD_SP4S(r32)                         _BFGET_(r32, 3, 3)
    #define   SET32ISA_SR_LD_SP4S(r32,v)                       _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SR_LD_SP4S(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_LD_SP4S(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_LD_SP8S(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_SR_LD_SP8S(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SR_LD_SP8S(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_LD_SP8S(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_LD_SP8U(r32)                         _BFGET_(r32, 5, 5)
    #define   SET32ISA_SR_LD_SP8U(r32,v)                       _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SR_LD_SP8U(r16)                         _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_LD_SP8U(r16,v)                       _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SR_LD_SP12S(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_SR_LD_SP12S(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SR_LD_SP12S(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_SR_LD_SP12S(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SR_LD_SP16(r32)                         _BFGET_(r32, 7, 7)
    #define   SET32ISA_SR_LD_SP16(r32,v)                       _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SR_LD_SP16(r16)                         _BFGET_(r16, 7, 7)
    #define   SET16ISA_SR_LD_SP16(r16,v)                       _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SR_LD_TPRF(r32)                         _BFGET_(r32, 8, 8)
    #define   SET32ISA_SR_LD_TPRF(r32,v)                       _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SR_LD_TPRF(r16)                         _BFGET_(r16, 8, 8)
    #define   SET16ISA_SR_LD_TPRF(r16,v)                       _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SR_LD_TPJ(r32)                          _BFGET_(r32, 9, 9)
    #define   SET32ISA_SR_LD_TPJ(r32,v)                        _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SR_LD_TPJ(r16)                          _BFGET_(r16, 9, 9)
    #define   SET16ISA_SR_LD_TPJ(r16,v)                        _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SR_LD_TP4S(r32)                         _BFGET_(r32,10,10)
    #define   SET32ISA_SR_LD_TP4S(r32,v)                       _BFSET_(r32,10,10,v)
    #define   GET16ISA_SR_LD_TP4S(r16)                         _BFGET_(r16,10,10)
    #define   SET16ISA_SR_LD_TP4S(r16,v)                       _BFSET_(r16,10,10,v)

    #define   GET32ISA_SR_LD_TP8L(r32)                         _BFGET_(r32,11,11)
    #define   SET32ISA_SR_LD_TP8L(r32,v)                       _BFSET_(r32,11,11,v)
    #define   GET16ISA_SR_LD_TP8L(r16)                         _BFGET_(r16,11,11)
    #define   SET16ISA_SR_LD_TP8L(r16,v)                       _BFSET_(r16,11,11,v)

    #define   GET32ISA_SR_LD_TP8H(r32)                         _BFGET_(r32,12,12)
    #define   SET32ISA_SR_LD_TP8H(r32,v)                       _BFSET_(r32,12,12,v)
    #define   GET16ISA_SR_LD_TP8H(r16)                         _BFGET_(r16,12,12)
    #define   SET16ISA_SR_LD_TP8H(r16,v)                       _BFSET_(r16,12,12,v)

    #define   GET32ISA_SR_LD_TP8LF(r32)                        _BFGET_(r32,13,13)
    #define   SET32ISA_SR_LD_TP8LF(r32,v)                      _BFSET_(r32,13,13,v)
    #define   GET16ISA_SR_LD_TP8LF(r16)                        _BFGET_(r16,13,13)
    #define   SET16ISA_SR_LD_TP8LF(r16,v)                      _BFSET_(r16,13,13,v)

    #define   GET32ISA_SR_LD_TP8HF(r32)                        _BFGET_(r32,14,14)
    #define   SET32ISA_SR_LD_TP8HF(r32,v)                      _BFSET_(r32,14,14,v)
    #define   GET16ISA_SR_LD_TP8HF(r16)                        _BFGET_(r16,14,14)
    #define   SET16ISA_SR_LD_TP8HF(r16,v)                      _BFSET_(r16,14,14,v)

    #define   GET32ISA_SR_LD_SQRF64(r32)                       _BFGET_(r32,15,15)
    #define   SET32ISA_SR_LD_SQRF64(r32,v)                     _BFSET_(r32,15,15,v)
    #define   GET16ISA_SR_LD_SQRF64(r16)                       _BFGET_(r16,15,15)
    #define   SET16ISA_SR_LD_SQRF64(r16,v)                     _BFSET_(r16,15,15,v)

    #define   GET32ISA_SR_LD_TQRF16Q(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_SR_LD_TQRF16Q(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_SR_LD_TQRF16Q(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_LD_TQRF16Q(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_LD_TQRFx4(r32)                       _BFGET_(r32,17,17)
    #define   SET32ISA_SR_LD_TQRFx4(r32,v)                     _BFSET_(r32,17,17,v)
    #define   GET16ISA_SR_LD_TQRFx4(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_LD_TQRFx4(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_LD_RD(r32)                           _BFGET_(r32,18,18)
    #define   SET32ISA_SR_LD_RD(r32,v)                         _BFSET_(r32,18,18,v)
    #define   GET16ISA_SR_LD_RD(r16)                           _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_LD_RD(r16,v)                         _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_LD_WARF(r32)                         _BFGET_(r32,19,19)
    #define   SET32ISA_SR_LD_WARF(r32,v)                       _BFSET_(r32,19,19,v)
    #define   GET16ISA_SR_LD_WARF(r16)                         _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_LD_WARF(r16,v)                       _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_LD_WAK8(r32)                         _BFGET_(r32,20,20)
    #define   SET32ISA_SR_LD_WAK8(r32,v)                       _BFSET_(r32,20,20,v)
    #define   GET16ISA_SR_LD_WAK8(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_LD_WAK8(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_LD_WAK16(r32)                        _BFGET_(r32,21,21)
    #define   SET32ISA_SR_LD_WAK16(r32,v)                      _BFSET_(r32,21,21,v)
    #define   GET16ISA_SR_LD_WAK16(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_LD_WAK16(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SR_LD                                   {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SR_LD;
            struct w32ISA_SR_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_EX_ALU16FlagZ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_SR_EX_ALU16FlagZ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SR_EX_ALU16FlagZ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_EX_ALU16FlagZ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_EX_ALU16FlagC(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_SR_EX_ALU16FlagC(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SR_EX_ALU16FlagC(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_EX_ALU16FlagC(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_EX_ALU16FlagN(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_SR_EX_ALU16FlagN(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SR_EX_ALU16FlagN(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_EX_ALU16FlagN(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_EX_ALU16FlagV(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SR_EX_ALU16FlagV(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SR_EX_ALU16FlagV(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_EX_ALU16FlagV(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_EX_ALU16FlagTP(r32)                  _BFGET_(r32, 4, 4)
    #define   SET32ISA_SR_EX_ALU16FlagTP(r32,v)                _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SR_EX_ALU16FlagTP(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_EX_ALU16FlagTP(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_EX_ALU16MUL(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_SR_EX_ALU16MUL(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SR_EX_ALU16MUL(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_EX_ALU16MUL(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SR_EX_ALU16DIV(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_SR_EX_ALU16DIV(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SR_EX_ALU16DIV(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SR_EX_ALU16DIV(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SR_EX_ALU16FlagLD(r32)                  _BFGET_(r32, 7, 7)
    #define   SET32ISA_SR_EX_ALU16FlagLD(r32,v)                _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SR_EX_ALU16FlagLD(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_SR_EX_ALU16FlagLD(r16,v)                _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SR_EX_ALU16MDL(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_SR_EX_ALU16MDL(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SR_EX_ALU16MDL(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_SR_EX_ALU16MDL(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SR_EX_ALU16MDH(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_SR_EX_ALU16MDH(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SR_EX_ALU16MDH(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_SR_EX_ALU16MDH(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SR_EX_ALU16ADD(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_SR_EX_ALU16ADD(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_SR_EX_ALU16ADD(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_SR_EX_ALU16ADD(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_SR_EX_ALU16SUB(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_SR_EX_ALU16SUB(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_SR_EX_ALU16SUB(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_SR_EX_ALU16SUB(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_SR_EX_ALU16ADDC(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_SR_EX_ALU16ADDC(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_SR_EX_ALU16ADDC(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_SR_EX_ALU16ADDC(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_SR_EX_ALU16SUBC(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_SR_EX_ALU16SUBC(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_SR_EX_ALU16SUBC(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_SR_EX_ALU16SUBC(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_SR_EX_ALU16ASR(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_SR_EX_ALU16ASR(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_SR_EX_ALU16ASR(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_SR_EX_ALU16ASR(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_SR_EX_ALU16SL(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_SR_EX_ALU16SL(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_SR_EX_ALU16SL(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_SR_EX_ALU16SL(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_SR_EX_ALU16SR(r32)                      _BFGET_(r32,16,16)
    #define   SET32ISA_SR_EX_ALU16SR(r32,v)                    _BFSET_(r32,16,16,v)
    #define   GET16ISA_SR_EX_ALU16SR(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_EX_ALU16SR(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_EX_ALU16GET(r32)                     _BFGET_(r32,17,17)
    #define   SET32ISA_SR_EX_ALU16GET(r32,v)                   _BFSET_(r32,17,17,v)
    #define   GET16ISA_SR_EX_ALU16GET(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_EX_ALU16GET(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_EX_ALU16SET(r32)                     _BFGET_(r32,18,18)
    #define   SET32ISA_SR_EX_ALU16SET(r32,v)                   _BFSET_(r32,18,18,v)
    #define   GET16ISA_SR_EX_ALU16SET(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_EX_ALU16SET(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_EX_ALU16SEL(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_SR_EX_ALU16SEL(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_SR_EX_ALU16SEL(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_EX_ALU16SEL(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_EX_ALU16OR(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_SR_EX_ALU16OR(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_SR_EX_ALU16OR(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_EX_ALU16OR(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_EX_ALU16AND(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_SR_EX_ALU16AND(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_SR_EX_ALU16AND(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_EX_ALU16AND(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SR_EX_ALU16XOR(r32)                     _BFGET_(r32,22,22)
    #define   SET32ISA_SR_EX_ALU16XOR(r32,v)                   _BFSET_(r32,22,22,v)
    #define   GET16ISA_SR_EX_ALU16XOR(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SR_EX_ALU16XOR(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SR_EX_ALU16SP(r32)                      _BFGET_(r32,23,23)
    #define   SET32ISA_SR_EX_ALU16SP(r32,v)                    _BFSET_(r32,23,23,v)
    #define   GET16ISA_SR_EX_ALU16SP(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_SR_EX_ALU16SP(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SR_EX                                   {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SR_EX;
            struct w32ISA_SR_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_EXX_WRSQ(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_SR_EXX_WRSQ(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SR_EXX_WRSQ(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_EXX_WRSQ(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_EXX_WR16(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_SR_EXX_WR16(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SR_EXX_WR16(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_EXX_WR16(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_EXX_WRTQ(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_SR_EXX_WRTQ(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SR_EXX_WRTQ(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_EXX_WRTQ(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_EXX_ALU64PUSH(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SR_EXX_ALU64PUSH(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SR_EXX_ALU64PUSH(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_EXX_ALU64PUSH(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_EXX_ALU64POP(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_SR_EXX_ALU64POP(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SR_EXX_ALU64POP(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_EXX_ALU64POP(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SR_EXX_ALU64SQ(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_SR_EXX_ALU64SQ(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SR_EXX_ALU64SQ(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_SR_EXX_ALU64SQ(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SR_EXX_ALU64TQ(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_SR_EXX_ALU64TQ(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SR_EXX_ALU64TQ(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_SR_EXX_ALU64TQ(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SR_EXX_ALU64MEM(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_SR_EXX_ALU64MEM(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SR_EXX_ALU64MEM(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SR_EXX_ALU64MEM(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SR_EXX_BRANCH(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_SR_EXX_BRANCH(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SR_EXX_BRANCH(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_SR_EXX_BRANCH(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SR_EXX                                  {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SR_EXX;
            struct w32ISA_SR_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SR_WB_RF16(r32)                         _BFGET_(r32, 0, 0)
    #define   SET32ISA_SR_WB_RF16(r32,v)                       _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SR_WB_RF16(r16)                         _BFGET_(r16, 0, 0)
    #define   SET16ISA_SR_WB_RF16(r16,v)                       _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SR_WB_RF16W0(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_SR_WB_RF16W0(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SR_WB_RF16W0(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_SR_WB_RF16W0(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SR_WB_RF16MEM(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_SR_WB_RF16MEM(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SR_WB_RF16MEM(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SR_WB_RF16MEM(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SR_WB_RF16Q(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_SR_WB_RF16Q(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SR_WB_RF16Q(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_SR_WB_RF16Q(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SR_WB_RF64(r32)                         _BFGET_(r32, 4, 4)
    #define   SET32ISA_SR_WB_RF64(r32,v)                       _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SR_WB_RF64(r16)                         _BFGET_(r16, 4, 4)
    #define   SET16ISA_SR_WB_RF64(r16,v)                       _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SR_WB                                   {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SR_WB;
            struct w32ISA_SR_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SR;

    typedef union  T32ISA_SR_Mask
          { UNSG32 u32;
            struct w32ISA_SR_Mask;
                 } T32ISA_SR_Mask;
    typedef union  T32ISA_SR_Opcode
          { UNSG32 u32;
            struct w32ISA_SR_Opcode;
                 } T32ISA_SR_Opcode;
    typedef union  T32ISA_SR_ID
          { UNSG32 u32;
            struct w32ISA_SR_ID;
                 } T32ISA_SR_ID;
    typedef union  T32ISA_SR_LD
          { UNSG32 u32;
            struct w32ISA_SR_LD;
                 } T32ISA_SR_LD;
    typedef union  T32ISA_SR_EX
          { UNSG32 u32;
            struct w32ISA_SR_EX;
                 } T32ISA_SR_EX;
    typedef union  T32ISA_SR_EXX
          { UNSG32 u32;
            struct w32ISA_SR_EXX;
                 } T32ISA_SR_EXX;
    typedef union  T32ISA_SR_WB
          { UNSG32 u32;
            struct w32ISA_SR_WB;
                 } T32ISA_SR_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SR_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_Mask;
                   };
                 } TISA_SR_Mask;
    typedef union  TISA_SR_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_Opcode;
                   };
                 } TISA_SR_Opcode;
    typedef union  TISA_SR_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_ID;
                   };
                 } TISA_SR_ID;
    typedef union  TISA_SR_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_LD;
                   };
                 } TISA_SR_LD;
    typedef union  TISA_SR_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_EX;
                   };
                 } TISA_SR_EX;
    typedef union  TISA_SR_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_EXX;
                   };
                 } TISA_SR_EXX;
    typedef union  TISA_SR_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SR_WB;
                   };
                 } TISA_SR_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SR_drvrd(SIE_ISA_SR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SR_drvwr(SIE_ISA_SR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SR_reset(SIE_ISA_SR *p);
     SIGN32 ISA_SR_cmp  (SIE_ISA_SR *p, SIE_ISA_SR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SR_check(p,pie,pfx,hLOG) ISA_SR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SR_print(p,    pfx,hLOG) ISA_SR_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SR
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_A64CMD                               (4,4)
///     ###
///     * Push an ALU64 command for customized HW pipeline.
///     * An 8b ALU64.PUSH opcode will be passed as first argument.
///     * Note: ALU64 uses a-synchronized model, result will be received by another A64LD instruction.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xF00000
///                                    ###
///                                    * -                                                                 
///                                    * - { "A64CMD" , "C,rS,xT,K"   , "1111 CCCC SSSS CCCC TTKK KKKK" } ,
///                                    * - Usage:
///                                    * -    A64CMD   0, %a1, %x2, 6; ALU64.PUSH(0, %a1, %x2, 6);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   0x1
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 0x1
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_A64CMD
#define h_ISA_A64CMD (){}

    #define     RA_ISA_A64CMD_Mask                             0x0000

    #define     BA_ISA_A64CMD_Mask_INS                         0x0000
    #define     B16ISA_A64CMD_Mask_INS                         0x0000
    #define   LSb32ISA_A64CMD_Mask_INS                            0
    #define   LSb16ISA_A64CMD_Mask_INS                            0
    #define       bISA_A64CMD_Mask_INS                         24
    #define   MSK32ISA_A64CMD_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_Opcode                           0x0004

    #define     BA_ISA_A64CMD_Opcode_INS                       0x0004
    #define     B16ISA_A64CMD_Opcode_INS                       0x0004
    #define   LSb32ISA_A64CMD_Opcode_INS                          0
    #define   LSb16ISA_A64CMD_Opcode_INS                          0
    #define       bISA_A64CMD_Opcode_INS                       24
    #define   MSK32ISA_A64CMD_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_ID                               0x0008

    #define     BA_ISA_A64CMD_ID_RBRF                          0x0008
    #define     B16ISA_A64CMD_ID_RBRF                          0x0008
    #define   LSb32ISA_A64CMD_ID_RBRF                             0
    #define   LSb16ISA_A64CMD_ID_RBRF                             0
    #define       bISA_A64CMD_ID_RBRF                          1
    #define   MSK32ISA_A64CMD_ID_RBRF                             0x00000001

    #define     BA_ISA_A64CMD_ID_RARF                          0x0008
    #define     B16ISA_A64CMD_ID_RARF                          0x0008
    #define   LSb32ISA_A64CMD_ID_RARF                             1
    #define   LSb16ISA_A64CMD_ID_RARF                             1
    #define       bISA_A64CMD_ID_RARF                          1
    #define   MSK32ISA_A64CMD_ID_RARF                             0x00000002

    #define     BA_ISA_A64CMD_ID_RAK8                          0x0008
    #define     B16ISA_A64CMD_ID_RAK8                          0x0008
    #define   LSb32ISA_A64CMD_ID_RAK8                             2
    #define   LSb16ISA_A64CMD_ID_RAK8                             2
    #define       bISA_A64CMD_ID_RAK8                          1
    #define   MSK32ISA_A64CMD_ID_RAK8                             0x00000004

    #define     BA_ISA_A64CMD_ID_RAI16                         0x0008
    #define     B16ISA_A64CMD_ID_RAI16                         0x0008
    #define   LSb32ISA_A64CMD_ID_RAI16                            3
    #define   LSb16ISA_A64CMD_ID_RAI16                            3
    #define       bISA_A64CMD_ID_RAI16                         1
    #define   MSK32ISA_A64CMD_ID_RAI16                            0x00000008

    #define     BA_ISA_A64CMD_ID_RAK16                         0x0008
    #define     B16ISA_A64CMD_ID_RAK16                         0x0008
    #define   LSb32ISA_A64CMD_ID_RAK16                            4
    #define   LSb16ISA_A64CMD_ID_RAK16                            4
    #define       bISA_A64CMD_ID_RAK16                         1
    #define   MSK32ISA_A64CMD_ID_RAK16                            0x00000010

    #define     BA_ISA_A64CMD_ID_RFSP                          0x0008
    #define     B16ISA_A64CMD_ID_RFSP                          0x0008
    #define   LSb32ISA_A64CMD_ID_RFSP                             5
    #define   LSb16ISA_A64CMD_ID_RFSP                             5
    #define       bISA_A64CMD_ID_RFSP                          1
    #define   MSK32ISA_A64CMD_ID_RFSP                             0x00000020

    #define     BA_ISA_A64CMD_ID_W4D4                          0x0008
    #define     B16ISA_A64CMD_ID_W4D4                          0x0008
    #define   LSb32ISA_A64CMD_ID_W4D4                             6
    #define   LSb16ISA_A64CMD_ID_W4D4                             6
    #define       bISA_A64CMD_ID_W4D4                          1
    #define   MSK32ISA_A64CMD_ID_W4D4                             0x00000040

    #define     BA_ISA_A64CMD_ID_W4S4                          0x0008
    #define     B16ISA_A64CMD_ID_W4S4                          0x0008
    #define   LSb32ISA_A64CMD_ID_W4S4                             7
    #define   LSb16ISA_A64CMD_ID_W4S4                             7
    #define       bISA_A64CMD_ID_W4S4                          1
    #define   MSK32ISA_A64CMD_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_LD                               0x000C

    #define     BA_ISA_A64CMD_LD_SPRF                          0x000C
    #define     B16ISA_A64CMD_LD_SPRF                          0x000C
    #define   LSb32ISA_A64CMD_LD_SPRF                             0
    #define   LSb16ISA_A64CMD_LD_SPRF                             0
    #define       bISA_A64CMD_LD_SPRF                          1
    #define   MSK32ISA_A64CMD_LD_SPRF                             0x00000001

    #define     BA_ISA_A64CMD_LD_SPK8                          0x000C
    #define     B16ISA_A64CMD_LD_SPK8                          0x000C
    #define   LSb32ISA_A64CMD_LD_SPK8                             1
    #define   LSb16ISA_A64CMD_LD_SPK8                             1
    #define       bISA_A64CMD_LD_SPK8                          1
    #define   MSK32ISA_A64CMD_LD_SPK8                             0x00000002

    #define     BA_ISA_A64CMD_LD_SPJ                           0x000C
    #define     B16ISA_A64CMD_LD_SPJ                           0x000C
    #define   LSb32ISA_A64CMD_LD_SPJ                              2
    #define   LSb16ISA_A64CMD_LD_SPJ                              2
    #define       bISA_A64CMD_LD_SPJ                           1
    #define   MSK32ISA_A64CMD_LD_SPJ                              0x00000004

    #define     BA_ISA_A64CMD_LD_SP4S                          0x000C
    #define     B16ISA_A64CMD_LD_SP4S                          0x000C
    #define   LSb32ISA_A64CMD_LD_SP4S                             3
    #define   LSb16ISA_A64CMD_LD_SP4S                             3
    #define       bISA_A64CMD_LD_SP4S                          1
    #define   MSK32ISA_A64CMD_LD_SP4S                             0x00000008

    #define     BA_ISA_A64CMD_LD_SP8S                          0x000C
    #define     B16ISA_A64CMD_LD_SP8S                          0x000C
    #define   LSb32ISA_A64CMD_LD_SP8S                             4
    #define   LSb16ISA_A64CMD_LD_SP8S                             4
    #define       bISA_A64CMD_LD_SP8S                          1
    #define   MSK32ISA_A64CMD_LD_SP8S                             0x00000010

    #define     BA_ISA_A64CMD_LD_SP8U                          0x000C
    #define     B16ISA_A64CMD_LD_SP8U                          0x000C
    #define   LSb32ISA_A64CMD_LD_SP8U                             5
    #define   LSb16ISA_A64CMD_LD_SP8U                             5
    #define       bISA_A64CMD_LD_SP8U                          1
    #define   MSK32ISA_A64CMD_LD_SP8U                             0x00000020

    #define     BA_ISA_A64CMD_LD_SP12S                         0x000C
    #define     B16ISA_A64CMD_LD_SP12S                         0x000C
    #define   LSb32ISA_A64CMD_LD_SP12S                            6
    #define   LSb16ISA_A64CMD_LD_SP12S                            6
    #define       bISA_A64CMD_LD_SP12S                         1
    #define   MSK32ISA_A64CMD_LD_SP12S                            0x00000040

    #define     BA_ISA_A64CMD_LD_SP16                          0x000C
    #define     B16ISA_A64CMD_LD_SP16                          0x000C
    #define   LSb32ISA_A64CMD_LD_SP16                             7
    #define   LSb16ISA_A64CMD_LD_SP16                             7
    #define       bISA_A64CMD_LD_SP16                          1
    #define   MSK32ISA_A64CMD_LD_SP16                             0x00000080

    #define     BA_ISA_A64CMD_LD_TPRF                          0x000D
    #define     B16ISA_A64CMD_LD_TPRF                          0x000C
    #define   LSb32ISA_A64CMD_LD_TPRF                             8
    #define   LSb16ISA_A64CMD_LD_TPRF                             8
    #define       bISA_A64CMD_LD_TPRF                          1
    #define   MSK32ISA_A64CMD_LD_TPRF                             0x00000100

    #define     BA_ISA_A64CMD_LD_TPJ                           0x000D
    #define     B16ISA_A64CMD_LD_TPJ                           0x000C
    #define   LSb32ISA_A64CMD_LD_TPJ                              9
    #define   LSb16ISA_A64CMD_LD_TPJ                              9
    #define       bISA_A64CMD_LD_TPJ                           1
    #define   MSK32ISA_A64CMD_LD_TPJ                              0x00000200

    #define     BA_ISA_A64CMD_LD_TP4S                          0x000D
    #define     B16ISA_A64CMD_LD_TP4S                          0x000C
    #define   LSb32ISA_A64CMD_LD_TP4S                             10
    #define   LSb16ISA_A64CMD_LD_TP4S                             10
    #define       bISA_A64CMD_LD_TP4S                          1
    #define   MSK32ISA_A64CMD_LD_TP4S                             0x00000400

    #define     BA_ISA_A64CMD_LD_TP8L                          0x000D
    #define     B16ISA_A64CMD_LD_TP8L                          0x000C
    #define   LSb32ISA_A64CMD_LD_TP8L                             11
    #define   LSb16ISA_A64CMD_LD_TP8L                             11
    #define       bISA_A64CMD_LD_TP8L                          1
    #define   MSK32ISA_A64CMD_LD_TP8L                             0x00000800

    #define     BA_ISA_A64CMD_LD_TP8H                          0x000D
    #define     B16ISA_A64CMD_LD_TP8H                          0x000C
    #define   LSb32ISA_A64CMD_LD_TP8H                             12
    #define   LSb16ISA_A64CMD_LD_TP8H                             12
    #define       bISA_A64CMD_LD_TP8H                          1
    #define   MSK32ISA_A64CMD_LD_TP8H                             0x00001000

    #define     BA_ISA_A64CMD_LD_TP8LF                         0x000D
    #define     B16ISA_A64CMD_LD_TP8LF                         0x000C
    #define   LSb32ISA_A64CMD_LD_TP8LF                            13
    #define   LSb16ISA_A64CMD_LD_TP8LF                            13
    #define       bISA_A64CMD_LD_TP8LF                         1
    #define   MSK32ISA_A64CMD_LD_TP8LF                            0x00002000

    #define     BA_ISA_A64CMD_LD_TP8HF                         0x000D
    #define     B16ISA_A64CMD_LD_TP8HF                         0x000C
    #define   LSb32ISA_A64CMD_LD_TP8HF                            14
    #define   LSb16ISA_A64CMD_LD_TP8HF                            14
    #define       bISA_A64CMD_LD_TP8HF                         1
    #define   MSK32ISA_A64CMD_LD_TP8HF                            0x00004000

    #define     BA_ISA_A64CMD_LD_SQRF64                        0x000D
    #define     B16ISA_A64CMD_LD_SQRF64                        0x000C
    #define   LSb32ISA_A64CMD_LD_SQRF64                           15
    #define   LSb16ISA_A64CMD_LD_SQRF64                           15
    #define       bISA_A64CMD_LD_SQRF64                        1
    #define   MSK32ISA_A64CMD_LD_SQRF64                           0x00008000

    #define     BA_ISA_A64CMD_LD_TQRF16Q                       0x000E
    #define     B16ISA_A64CMD_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_A64CMD_LD_TQRF16Q                          16
    #define   LSb16ISA_A64CMD_LD_TQRF16Q                          0
    #define       bISA_A64CMD_LD_TQRF16Q                       1
    #define   MSK32ISA_A64CMD_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_A64CMD_LD_TQRFx4                        0x000E
    #define     B16ISA_A64CMD_LD_TQRFx4                        0x000E
    #define   LSb32ISA_A64CMD_LD_TQRFx4                           17
    #define   LSb16ISA_A64CMD_LD_TQRFx4                           1
    #define       bISA_A64CMD_LD_TQRFx4                        1
    #define   MSK32ISA_A64CMD_LD_TQRFx4                           0x00020000

    #define     BA_ISA_A64CMD_LD_RD                            0x000E
    #define     B16ISA_A64CMD_LD_RD                            0x000E
    #define   LSb32ISA_A64CMD_LD_RD                               18
    #define   LSb16ISA_A64CMD_LD_RD                               2
    #define       bISA_A64CMD_LD_RD                            1
    #define   MSK32ISA_A64CMD_LD_RD                               0x00040000

    #define     BA_ISA_A64CMD_LD_WARF                          0x000E
    #define     B16ISA_A64CMD_LD_WARF                          0x000E
    #define   LSb32ISA_A64CMD_LD_WARF                             19
    #define   LSb16ISA_A64CMD_LD_WARF                             3
    #define       bISA_A64CMD_LD_WARF                          1
    #define   MSK32ISA_A64CMD_LD_WARF                             0x00080000

    #define     BA_ISA_A64CMD_LD_WAK8                          0x000E
    #define     B16ISA_A64CMD_LD_WAK8                          0x000E
    #define   LSb32ISA_A64CMD_LD_WAK8                             20
    #define   LSb16ISA_A64CMD_LD_WAK8                             4
    #define       bISA_A64CMD_LD_WAK8                          1
    #define   MSK32ISA_A64CMD_LD_WAK8                             0x00100000

    #define     BA_ISA_A64CMD_LD_WAK16                         0x000E
    #define     B16ISA_A64CMD_LD_WAK16                         0x000E
    #define   LSb32ISA_A64CMD_LD_WAK16                            21
    #define   LSb16ISA_A64CMD_LD_WAK16                            5
    #define       bISA_A64CMD_LD_WAK16                         1
    #define   MSK32ISA_A64CMD_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_EX                               0x0010

    #define     BA_ISA_A64CMD_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagZ                       0
    #define   LSb16ISA_A64CMD_EX_ALU16FlagZ                       0
    #define       bISA_A64CMD_EX_ALU16FlagZ                    1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_A64CMD_EX_ALU16FlagC                    0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagC                       1
    #define   LSb16ISA_A64CMD_EX_ALU16FlagC                       1
    #define       bISA_A64CMD_EX_ALU16FlagC                    1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_A64CMD_EX_ALU16FlagN                    0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagN                       2
    #define   LSb16ISA_A64CMD_EX_ALU16FlagN                       2
    #define       bISA_A64CMD_EX_ALU16FlagN                    1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_A64CMD_EX_ALU16FlagV                    0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagV                       3
    #define   LSb16ISA_A64CMD_EX_ALU16FlagV                       3
    #define       bISA_A64CMD_EX_ALU16FlagV                    1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_A64CMD_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagTP                      4
    #define   LSb16ISA_A64CMD_EX_ALU16FlagTP                      4
    #define       bISA_A64CMD_EX_ALU16FlagTP                   1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_A64CMD_EX_ALU16MUL                      0x0010
    #define     B16ISA_A64CMD_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16MUL                         5
    #define   LSb16ISA_A64CMD_EX_ALU16MUL                         5
    #define       bISA_A64CMD_EX_ALU16MUL                      1
    #define   MSK32ISA_A64CMD_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_A64CMD_EX_ALU16DIV                      0x0010
    #define     B16ISA_A64CMD_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16DIV                         6
    #define   LSb16ISA_A64CMD_EX_ALU16DIV                         6
    #define       bISA_A64CMD_EX_ALU16DIV                      1
    #define   MSK32ISA_A64CMD_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_A64CMD_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_A64CMD_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16FlagLD                      7
    #define   LSb16ISA_A64CMD_EX_ALU16FlagLD                      7
    #define       bISA_A64CMD_EX_ALU16FlagLD                   1
    #define   MSK32ISA_A64CMD_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_A64CMD_EX_ALU16MDL                      0x0011
    #define     B16ISA_A64CMD_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16MDL                         8
    #define   LSb16ISA_A64CMD_EX_ALU16MDL                         8
    #define       bISA_A64CMD_EX_ALU16MDL                      1
    #define   MSK32ISA_A64CMD_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_A64CMD_EX_ALU16MDH                      0x0011
    #define     B16ISA_A64CMD_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16MDH                         9
    #define   LSb16ISA_A64CMD_EX_ALU16MDH                         9
    #define       bISA_A64CMD_EX_ALU16MDH                      1
    #define   MSK32ISA_A64CMD_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_A64CMD_EX_ALU16ADD                      0x0011
    #define     B16ISA_A64CMD_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16ADD                         10
    #define   LSb16ISA_A64CMD_EX_ALU16ADD                         10
    #define       bISA_A64CMD_EX_ALU16ADD                      1
    #define   MSK32ISA_A64CMD_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_A64CMD_EX_ALU16SUB                      0x0011
    #define     B16ISA_A64CMD_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16SUB                         11
    #define   LSb16ISA_A64CMD_EX_ALU16SUB                         11
    #define       bISA_A64CMD_EX_ALU16SUB                      1
    #define   MSK32ISA_A64CMD_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_A64CMD_EX_ALU16ADDC                     0x0011
    #define     B16ISA_A64CMD_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16ADDC                        12
    #define   LSb16ISA_A64CMD_EX_ALU16ADDC                        12
    #define       bISA_A64CMD_EX_ALU16ADDC                     1
    #define   MSK32ISA_A64CMD_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_A64CMD_EX_ALU16SUBC                     0x0011
    #define     B16ISA_A64CMD_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16SUBC                        13
    #define   LSb16ISA_A64CMD_EX_ALU16SUBC                        13
    #define       bISA_A64CMD_EX_ALU16SUBC                     1
    #define   MSK32ISA_A64CMD_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_A64CMD_EX_ALU16ASR                      0x0011
    #define     B16ISA_A64CMD_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16ASR                         14
    #define   LSb16ISA_A64CMD_EX_ALU16ASR                         14
    #define       bISA_A64CMD_EX_ALU16ASR                      1
    #define   MSK32ISA_A64CMD_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_A64CMD_EX_ALU16SL                       0x0011
    #define     B16ISA_A64CMD_EX_ALU16SL                       0x0010
    #define   LSb32ISA_A64CMD_EX_ALU16SL                          15
    #define   LSb16ISA_A64CMD_EX_ALU16SL                          15
    #define       bISA_A64CMD_EX_ALU16SL                       1
    #define   MSK32ISA_A64CMD_EX_ALU16SL                          0x00008000

    #define     BA_ISA_A64CMD_EX_ALU16SR                       0x0012
    #define     B16ISA_A64CMD_EX_ALU16SR                       0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16SR                          16
    #define   LSb16ISA_A64CMD_EX_ALU16SR                          0
    #define       bISA_A64CMD_EX_ALU16SR                       1
    #define   MSK32ISA_A64CMD_EX_ALU16SR                          0x00010000

    #define     BA_ISA_A64CMD_EX_ALU16GET                      0x0012
    #define     B16ISA_A64CMD_EX_ALU16GET                      0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16GET                         17
    #define   LSb16ISA_A64CMD_EX_ALU16GET                         1
    #define       bISA_A64CMD_EX_ALU16GET                      1
    #define   MSK32ISA_A64CMD_EX_ALU16GET                         0x00020000

    #define     BA_ISA_A64CMD_EX_ALU16SET                      0x0012
    #define     B16ISA_A64CMD_EX_ALU16SET                      0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16SET                         18
    #define   LSb16ISA_A64CMD_EX_ALU16SET                         2
    #define       bISA_A64CMD_EX_ALU16SET                      1
    #define   MSK32ISA_A64CMD_EX_ALU16SET                         0x00040000

    #define     BA_ISA_A64CMD_EX_ALU16SEL                      0x0012
    #define     B16ISA_A64CMD_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16SEL                         19
    #define   LSb16ISA_A64CMD_EX_ALU16SEL                         3
    #define       bISA_A64CMD_EX_ALU16SEL                      1
    #define   MSK32ISA_A64CMD_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_A64CMD_EX_ALU16OR                       0x0012
    #define     B16ISA_A64CMD_EX_ALU16OR                       0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16OR                          20
    #define   LSb16ISA_A64CMD_EX_ALU16OR                          4
    #define       bISA_A64CMD_EX_ALU16OR                       1
    #define   MSK32ISA_A64CMD_EX_ALU16OR                          0x00100000

    #define     BA_ISA_A64CMD_EX_ALU16AND                      0x0012
    #define     B16ISA_A64CMD_EX_ALU16AND                      0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16AND                         21
    #define   LSb16ISA_A64CMD_EX_ALU16AND                         5
    #define       bISA_A64CMD_EX_ALU16AND                      1
    #define   MSK32ISA_A64CMD_EX_ALU16AND                         0x00200000

    #define     BA_ISA_A64CMD_EX_ALU16XOR                      0x0012
    #define     B16ISA_A64CMD_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16XOR                         22
    #define   LSb16ISA_A64CMD_EX_ALU16XOR                         6
    #define       bISA_A64CMD_EX_ALU16XOR                      1
    #define   MSK32ISA_A64CMD_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_A64CMD_EX_ALU16SP                       0x0012
    #define     B16ISA_A64CMD_EX_ALU16SP                       0x0012
    #define   LSb32ISA_A64CMD_EX_ALU16SP                          23
    #define   LSb16ISA_A64CMD_EX_ALU16SP                          7
    #define       bISA_A64CMD_EX_ALU16SP                       1
    #define   MSK32ISA_A64CMD_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_EXX                              0x0014

    #define     BA_ISA_A64CMD_EXX_WRSQ                         0x0014
    #define     B16ISA_A64CMD_EXX_WRSQ                         0x0014
    #define   LSb32ISA_A64CMD_EXX_WRSQ                            0
    #define   LSb16ISA_A64CMD_EXX_WRSQ                            0
    #define       bISA_A64CMD_EXX_WRSQ                         1
    #define   MSK32ISA_A64CMD_EXX_WRSQ                            0x00000001

    #define     BA_ISA_A64CMD_EXX_WR16                         0x0014
    #define     B16ISA_A64CMD_EXX_WR16                         0x0014
    #define   LSb32ISA_A64CMD_EXX_WR16                            1
    #define   LSb16ISA_A64CMD_EXX_WR16                            1
    #define       bISA_A64CMD_EXX_WR16                         1
    #define   MSK32ISA_A64CMD_EXX_WR16                            0x00000002

    #define     BA_ISA_A64CMD_EXX_WRTQ                         0x0014
    #define     B16ISA_A64CMD_EXX_WRTQ                         0x0014
    #define   LSb32ISA_A64CMD_EXX_WRTQ                            2
    #define   LSb16ISA_A64CMD_EXX_WRTQ                            2
    #define       bISA_A64CMD_EXX_WRTQ                         1
    #define   MSK32ISA_A64CMD_EXX_WRTQ                            0x00000004

    #define     BA_ISA_A64CMD_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_A64CMD_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_A64CMD_EXX_ALU64PUSH                       3
    #define   LSb16ISA_A64CMD_EXX_ALU64PUSH                       3
    #define       bISA_A64CMD_EXX_ALU64PUSH                    1
    #define   MSK32ISA_A64CMD_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_A64CMD_EXX_ALU64POP                     0x0014
    #define     B16ISA_A64CMD_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_A64CMD_EXX_ALU64POP                        4
    #define   LSb16ISA_A64CMD_EXX_ALU64POP                        4
    #define       bISA_A64CMD_EXX_ALU64POP                     1
    #define   MSK32ISA_A64CMD_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_A64CMD_EXX_ALU64SQ                      0x0014
    #define     B16ISA_A64CMD_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_A64CMD_EXX_ALU64SQ                         5
    #define   LSb16ISA_A64CMD_EXX_ALU64SQ                         5
    #define       bISA_A64CMD_EXX_ALU64SQ                      1
    #define   MSK32ISA_A64CMD_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_A64CMD_EXX_ALU64TQ                      0x0014
    #define     B16ISA_A64CMD_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_A64CMD_EXX_ALU64TQ                         6
    #define   LSb16ISA_A64CMD_EXX_ALU64TQ                         6
    #define       bISA_A64CMD_EXX_ALU64TQ                      1
    #define   MSK32ISA_A64CMD_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_A64CMD_EXX_ALU64MEM                     0x0014
    #define     B16ISA_A64CMD_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_A64CMD_EXX_ALU64MEM                        7
    #define   LSb16ISA_A64CMD_EXX_ALU64MEM                        7
    #define       bISA_A64CMD_EXX_ALU64MEM                     1
    #define   MSK32ISA_A64CMD_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_A64CMD_EXX_BRANCH                       0x0015
    #define     B16ISA_A64CMD_EXX_BRANCH                       0x0014
    #define   LSb32ISA_A64CMD_EXX_BRANCH                          8
    #define   LSb16ISA_A64CMD_EXX_BRANCH                          8
    #define       bISA_A64CMD_EXX_BRANCH                       1
    #define   MSK32ISA_A64CMD_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64CMD_WB                               0x0018

    #define     BA_ISA_A64CMD_WB_RF16                          0x0018
    #define     B16ISA_A64CMD_WB_RF16                          0x0018
    #define   LSb32ISA_A64CMD_WB_RF16                             0
    #define   LSb16ISA_A64CMD_WB_RF16                             0
    #define       bISA_A64CMD_WB_RF16                          1
    #define   MSK32ISA_A64CMD_WB_RF16                             0x00000001

    #define     BA_ISA_A64CMD_WB_RF16W0                        0x0018
    #define     B16ISA_A64CMD_WB_RF16W0                        0x0018
    #define   LSb32ISA_A64CMD_WB_RF16W0                           1
    #define   LSb16ISA_A64CMD_WB_RF16W0                           1
    #define       bISA_A64CMD_WB_RF16W0                        1
    #define   MSK32ISA_A64CMD_WB_RF16W0                           0x00000002

    #define     BA_ISA_A64CMD_WB_RF16MEM                       0x0018
    #define     B16ISA_A64CMD_WB_RF16MEM                       0x0018
    #define   LSb32ISA_A64CMD_WB_RF16MEM                          2
    #define   LSb16ISA_A64CMD_WB_RF16MEM                          2
    #define       bISA_A64CMD_WB_RF16MEM                       1
    #define   MSK32ISA_A64CMD_WB_RF16MEM                          0x00000004

    #define     BA_ISA_A64CMD_WB_RF16Q                         0x0018
    #define     B16ISA_A64CMD_WB_RF16Q                         0x0018
    #define   LSb32ISA_A64CMD_WB_RF16Q                            3
    #define   LSb16ISA_A64CMD_WB_RF16Q                            3
    #define       bISA_A64CMD_WB_RF16Q                         1
    #define   MSK32ISA_A64CMD_WB_RF16Q                            0x00000008

    #define     BA_ISA_A64CMD_WB_RF64                          0x0018
    #define     B16ISA_A64CMD_WB_RF64                          0x0018
    #define   LSb32ISA_A64CMD_WB_RF64                             4
    #define   LSb16ISA_A64CMD_WB_RF64                             4
    #define       bISA_A64CMD_WB_RF64                          1
    #define   MSK32ISA_A64CMD_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_A64CMD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_A64CMD_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_A64CMD_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_A64CMD_Mask;
            struct w32ISA_A64CMD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_A64CMD_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_A64CMD_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_A64CMD_Opcode;
            struct w32ISA_A64CMD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64CMD_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64CMD_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64CMD_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64CMD_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64CMD_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64CMD_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64CMD_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64CMD_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64CMD_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64CMD_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64CMD_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64CMD_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64CMD_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64CMD_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64CMD_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64CMD_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64CMD_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64CMD_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64CMD_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64CMD_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_A64CMD_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_A64CMD_ID;
            struct w32ISA_A64CMD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64CMD_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64CMD_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64CMD_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64CMD_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64CMD_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64CMD_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64CMD_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64CMD_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64CMD_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64CMD_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64CMD_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64CMD_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64CMD_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64CMD_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64CMD_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64CMD_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64CMD_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64CMD_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64CMD_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64CMD_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64CMD_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64CMD_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64CMD_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64CMD_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_A64CMD_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_A64CMD_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_A64CMD_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_A64CMD_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_A64CMD_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_A64CMD_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_A64CMD_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_A64CMD_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_A64CMD_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_A64CMD_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_A64CMD_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_A64CMD_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_A64CMD_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_A64CMD_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_A64CMD_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_A64CMD_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_A64CMD_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_A64CMD_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_A64CMD_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_A64CMD_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_A64CMD_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_A64CMD_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_A64CMD_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_A64CMD_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_A64CMD_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_A64CMD_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_A64CMD_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_A64CMD_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_A64CMD_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_A64CMD_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_A64CMD_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_A64CMD_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_A64CMD_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_A64CMD_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_A64CMD_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_A64CMD_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_A64CMD_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_A64CMD_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_A64CMD_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_A64CMD_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_A64CMD_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_A64CMD_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_A64CMD_LD;
            struct w32ISA_A64CMD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64CMD_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64CMD_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64CMD_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64CMD_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64CMD_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64CMD_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64CMD_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64CMD_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64CMD_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64CMD_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64CMD_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64CMD_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64CMD_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64CMD_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64CMD_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64CMD_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64CMD_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64CMD_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64CMD_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_A64CMD_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_A64CMD_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_A64CMD_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_A64CMD_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_A64CMD_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_A64CMD_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_A64CMD_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_A64CMD_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_A64CMD_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_A64CMD_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_A64CMD_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_A64CMD_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_A64CMD_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_A64CMD_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_A64CMD_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_A64CMD_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_A64CMD_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_A64CMD_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_A64CMD_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_A64CMD_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_A64CMD_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_A64CMD_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_A64CMD_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_A64CMD_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_A64CMD_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_A64CMD_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_A64CMD_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_A64CMD_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_A64CMD_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_A64CMD_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_A64CMD_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_A64CMD_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_A64CMD_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_A64CMD_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_A64CMD_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_A64CMD_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_A64CMD_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_A64CMD_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_A64CMD_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_A64CMD_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_A64CMD_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64CMD_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_A64CMD_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_A64CMD_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64CMD_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64CMD_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_A64CMD_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_A64CMD_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64CMD_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_A64CMD_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_A64CMD_EX;
            struct w32ISA_A64CMD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64CMD_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64CMD_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64CMD_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64CMD_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64CMD_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64CMD_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64CMD_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64CMD_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64CMD_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64CMD_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64CMD_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64CMD_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64CMD_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64CMD_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64CMD_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64CMD_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64CMD_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64CMD_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64CMD_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64CMD_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64CMD_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64CMD_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64CMD_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64CMD_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64CMD_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64CMD_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_A64CMD_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_A64CMD_EXX;
            struct w32ISA_A64CMD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64CMD_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64CMD_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64CMD_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64CMD_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64CMD_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64CMD_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64CMD_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64CMD_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64CMD_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64CMD_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64CMD_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64CMD_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64CMD_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64CMD_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64CMD_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64CMD_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64CMD_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64CMD_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64CMD_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64CMD_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_A64CMD_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_A64CMD_WB;
            struct w32ISA_A64CMD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_A64CMD;

    typedef union  T32ISA_A64CMD_Mask
          { UNSG32 u32;
            struct w32ISA_A64CMD_Mask;
                 } T32ISA_A64CMD_Mask;
    typedef union  T32ISA_A64CMD_Opcode
          { UNSG32 u32;
            struct w32ISA_A64CMD_Opcode;
                 } T32ISA_A64CMD_Opcode;
    typedef union  T32ISA_A64CMD_ID
          { UNSG32 u32;
            struct w32ISA_A64CMD_ID;
                 } T32ISA_A64CMD_ID;
    typedef union  T32ISA_A64CMD_LD
          { UNSG32 u32;
            struct w32ISA_A64CMD_LD;
                 } T32ISA_A64CMD_LD;
    typedef union  T32ISA_A64CMD_EX
          { UNSG32 u32;
            struct w32ISA_A64CMD_EX;
                 } T32ISA_A64CMD_EX;
    typedef union  T32ISA_A64CMD_EXX
          { UNSG32 u32;
            struct w32ISA_A64CMD_EXX;
                 } T32ISA_A64CMD_EXX;
    typedef union  T32ISA_A64CMD_WB
          { UNSG32 u32;
            struct w32ISA_A64CMD_WB;
                 } T32ISA_A64CMD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_A64CMD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_Mask;
                   };
                 } TISA_A64CMD_Mask;
    typedef union  TISA_A64CMD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_Opcode;
                   };
                 } TISA_A64CMD_Opcode;
    typedef union  TISA_A64CMD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_ID;
                   };
                 } TISA_A64CMD_ID;
    typedef union  TISA_A64CMD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_LD;
                   };
                 } TISA_A64CMD_LD;
    typedef union  TISA_A64CMD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_EX;
                   };
                 } TISA_A64CMD_EX;
    typedef union  TISA_A64CMD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_EXX;
                   };
                 } TISA_A64CMD_EXX;
    typedef union  TISA_A64CMD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64CMD_WB;
                   };
                 } TISA_A64CMD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_A64CMD_drvrd(SIE_ISA_A64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_A64CMD_drvwr(SIE_ISA_A64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_A64CMD_reset(SIE_ISA_A64CMD *p);
     SIGN32 ISA_A64CMD_cmp  (SIE_ISA_A64CMD *p, SIE_ISA_A64CMD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_A64CMD_check(p,pie,pfx,hLOG) ISA_A64CMD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_A64CMD_print(p,    pfx,hLOG) ISA_A64CMD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_A64CMD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_XA64LD                               (4,4)
///     ###
///     * Pop an ALU64 result from customized HW pipeline to 64b quad-register.
///     * An 8b ALU64.POP opcode will be passed as first argument.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00030
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x600020
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.A64LD" , "N,xT,rS"     , "0110 NNNN SSSS NNNN TT10 ----" } ,
///                                    * - Usage:
///                                    * -    X.A64LD 0, %x2, %a1     ; %x2 = ALU64.POP(0, %a1);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  0x1
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     0x1
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_XA64LD
#define h_ISA_XA64LD (){}

    #define     RA_ISA_XA64LD_Mask                             0x0000

    #define     BA_ISA_XA64LD_Mask_INS                         0x0000
    #define     B16ISA_XA64LD_Mask_INS                         0x0000
    #define   LSb32ISA_XA64LD_Mask_INS                            0
    #define   LSb16ISA_XA64LD_Mask_INS                            0
    #define       bISA_XA64LD_Mask_INS                         24
    #define   MSK32ISA_XA64LD_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_Opcode                           0x0004

    #define     BA_ISA_XA64LD_Opcode_INS                       0x0004
    #define     B16ISA_XA64LD_Opcode_INS                       0x0004
    #define   LSb32ISA_XA64LD_Opcode_INS                          0
    #define   LSb16ISA_XA64LD_Opcode_INS                          0
    #define       bISA_XA64LD_Opcode_INS                       24
    #define   MSK32ISA_XA64LD_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_ID                               0x0008

    #define     BA_ISA_XA64LD_ID_RBRF                          0x0008
    #define     B16ISA_XA64LD_ID_RBRF                          0x0008
    #define   LSb32ISA_XA64LD_ID_RBRF                             0
    #define   LSb16ISA_XA64LD_ID_RBRF                             0
    #define       bISA_XA64LD_ID_RBRF                          1
    #define   MSK32ISA_XA64LD_ID_RBRF                             0x00000001

    #define     BA_ISA_XA64LD_ID_RARF                          0x0008
    #define     B16ISA_XA64LD_ID_RARF                          0x0008
    #define   LSb32ISA_XA64LD_ID_RARF                             1
    #define   LSb16ISA_XA64LD_ID_RARF                             1
    #define       bISA_XA64LD_ID_RARF                          1
    #define   MSK32ISA_XA64LD_ID_RARF                             0x00000002

    #define     BA_ISA_XA64LD_ID_RAK8                          0x0008
    #define     B16ISA_XA64LD_ID_RAK8                          0x0008
    #define   LSb32ISA_XA64LD_ID_RAK8                             2
    #define   LSb16ISA_XA64LD_ID_RAK8                             2
    #define       bISA_XA64LD_ID_RAK8                          1
    #define   MSK32ISA_XA64LD_ID_RAK8                             0x00000004

    #define     BA_ISA_XA64LD_ID_RAI16                         0x0008
    #define     B16ISA_XA64LD_ID_RAI16                         0x0008
    #define   LSb32ISA_XA64LD_ID_RAI16                            3
    #define   LSb16ISA_XA64LD_ID_RAI16                            3
    #define       bISA_XA64LD_ID_RAI16                         1
    #define   MSK32ISA_XA64LD_ID_RAI16                            0x00000008

    #define     BA_ISA_XA64LD_ID_RAK16                         0x0008
    #define     B16ISA_XA64LD_ID_RAK16                         0x0008
    #define   LSb32ISA_XA64LD_ID_RAK16                            4
    #define   LSb16ISA_XA64LD_ID_RAK16                            4
    #define       bISA_XA64LD_ID_RAK16                         1
    #define   MSK32ISA_XA64LD_ID_RAK16                            0x00000010

    #define     BA_ISA_XA64LD_ID_RFSP                          0x0008
    #define     B16ISA_XA64LD_ID_RFSP                          0x0008
    #define   LSb32ISA_XA64LD_ID_RFSP                             5
    #define   LSb16ISA_XA64LD_ID_RFSP                             5
    #define       bISA_XA64LD_ID_RFSP                          1
    #define   MSK32ISA_XA64LD_ID_RFSP                             0x00000020

    #define     BA_ISA_XA64LD_ID_W4D4                          0x0008
    #define     B16ISA_XA64LD_ID_W4D4                          0x0008
    #define   LSb32ISA_XA64LD_ID_W4D4                             6
    #define   LSb16ISA_XA64LD_ID_W4D4                             6
    #define       bISA_XA64LD_ID_W4D4                          1
    #define   MSK32ISA_XA64LD_ID_W4D4                             0x00000040

    #define     BA_ISA_XA64LD_ID_W4S4                          0x0008
    #define     B16ISA_XA64LD_ID_W4S4                          0x0008
    #define   LSb32ISA_XA64LD_ID_W4S4                             7
    #define   LSb16ISA_XA64LD_ID_W4S4                             7
    #define       bISA_XA64LD_ID_W4S4                          1
    #define   MSK32ISA_XA64LD_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_LD                               0x000C

    #define     BA_ISA_XA64LD_LD_SPRF                          0x000C
    #define     B16ISA_XA64LD_LD_SPRF                          0x000C
    #define   LSb32ISA_XA64LD_LD_SPRF                             0
    #define   LSb16ISA_XA64LD_LD_SPRF                             0
    #define       bISA_XA64LD_LD_SPRF                          1
    #define   MSK32ISA_XA64LD_LD_SPRF                             0x00000001

    #define     BA_ISA_XA64LD_LD_SPK8                          0x000C
    #define     B16ISA_XA64LD_LD_SPK8                          0x000C
    #define   LSb32ISA_XA64LD_LD_SPK8                             1
    #define   LSb16ISA_XA64LD_LD_SPK8                             1
    #define       bISA_XA64LD_LD_SPK8                          1
    #define   MSK32ISA_XA64LD_LD_SPK8                             0x00000002

    #define     BA_ISA_XA64LD_LD_SPJ                           0x000C
    #define     B16ISA_XA64LD_LD_SPJ                           0x000C
    #define   LSb32ISA_XA64LD_LD_SPJ                              2
    #define   LSb16ISA_XA64LD_LD_SPJ                              2
    #define       bISA_XA64LD_LD_SPJ                           1
    #define   MSK32ISA_XA64LD_LD_SPJ                              0x00000004

    #define     BA_ISA_XA64LD_LD_SP4S                          0x000C
    #define     B16ISA_XA64LD_LD_SP4S                          0x000C
    #define   LSb32ISA_XA64LD_LD_SP4S                             3
    #define   LSb16ISA_XA64LD_LD_SP4S                             3
    #define       bISA_XA64LD_LD_SP4S                          1
    #define   MSK32ISA_XA64LD_LD_SP4S                             0x00000008

    #define     BA_ISA_XA64LD_LD_SP8S                          0x000C
    #define     B16ISA_XA64LD_LD_SP8S                          0x000C
    #define   LSb32ISA_XA64LD_LD_SP8S                             4
    #define   LSb16ISA_XA64LD_LD_SP8S                             4
    #define       bISA_XA64LD_LD_SP8S                          1
    #define   MSK32ISA_XA64LD_LD_SP8S                             0x00000010

    #define     BA_ISA_XA64LD_LD_SP8U                          0x000C
    #define     B16ISA_XA64LD_LD_SP8U                          0x000C
    #define   LSb32ISA_XA64LD_LD_SP8U                             5
    #define   LSb16ISA_XA64LD_LD_SP8U                             5
    #define       bISA_XA64LD_LD_SP8U                          1
    #define   MSK32ISA_XA64LD_LD_SP8U                             0x00000020

    #define     BA_ISA_XA64LD_LD_SP12S                         0x000C
    #define     B16ISA_XA64LD_LD_SP12S                         0x000C
    #define   LSb32ISA_XA64LD_LD_SP12S                            6
    #define   LSb16ISA_XA64LD_LD_SP12S                            6
    #define       bISA_XA64LD_LD_SP12S                         1
    #define   MSK32ISA_XA64LD_LD_SP12S                            0x00000040

    #define     BA_ISA_XA64LD_LD_SP16                          0x000C
    #define     B16ISA_XA64LD_LD_SP16                          0x000C
    #define   LSb32ISA_XA64LD_LD_SP16                             7
    #define   LSb16ISA_XA64LD_LD_SP16                             7
    #define       bISA_XA64LD_LD_SP16                          1
    #define   MSK32ISA_XA64LD_LD_SP16                             0x00000080

    #define     BA_ISA_XA64LD_LD_TPRF                          0x000D
    #define     B16ISA_XA64LD_LD_TPRF                          0x000C
    #define   LSb32ISA_XA64LD_LD_TPRF                             8
    #define   LSb16ISA_XA64LD_LD_TPRF                             8
    #define       bISA_XA64LD_LD_TPRF                          1
    #define   MSK32ISA_XA64LD_LD_TPRF                             0x00000100

    #define     BA_ISA_XA64LD_LD_TPJ                           0x000D
    #define     B16ISA_XA64LD_LD_TPJ                           0x000C
    #define   LSb32ISA_XA64LD_LD_TPJ                              9
    #define   LSb16ISA_XA64LD_LD_TPJ                              9
    #define       bISA_XA64LD_LD_TPJ                           1
    #define   MSK32ISA_XA64LD_LD_TPJ                              0x00000200

    #define     BA_ISA_XA64LD_LD_TP4S                          0x000D
    #define     B16ISA_XA64LD_LD_TP4S                          0x000C
    #define   LSb32ISA_XA64LD_LD_TP4S                             10
    #define   LSb16ISA_XA64LD_LD_TP4S                             10
    #define       bISA_XA64LD_LD_TP4S                          1
    #define   MSK32ISA_XA64LD_LD_TP4S                             0x00000400

    #define     BA_ISA_XA64LD_LD_TP8L                          0x000D
    #define     B16ISA_XA64LD_LD_TP8L                          0x000C
    #define   LSb32ISA_XA64LD_LD_TP8L                             11
    #define   LSb16ISA_XA64LD_LD_TP8L                             11
    #define       bISA_XA64LD_LD_TP8L                          1
    #define   MSK32ISA_XA64LD_LD_TP8L                             0x00000800

    #define     BA_ISA_XA64LD_LD_TP8H                          0x000D
    #define     B16ISA_XA64LD_LD_TP8H                          0x000C
    #define   LSb32ISA_XA64LD_LD_TP8H                             12
    #define   LSb16ISA_XA64LD_LD_TP8H                             12
    #define       bISA_XA64LD_LD_TP8H                          1
    #define   MSK32ISA_XA64LD_LD_TP8H                             0x00001000

    #define     BA_ISA_XA64LD_LD_TP8LF                         0x000D
    #define     B16ISA_XA64LD_LD_TP8LF                         0x000C
    #define   LSb32ISA_XA64LD_LD_TP8LF                            13
    #define   LSb16ISA_XA64LD_LD_TP8LF                            13
    #define       bISA_XA64LD_LD_TP8LF                         1
    #define   MSK32ISA_XA64LD_LD_TP8LF                            0x00002000

    #define     BA_ISA_XA64LD_LD_TP8HF                         0x000D
    #define     B16ISA_XA64LD_LD_TP8HF                         0x000C
    #define   LSb32ISA_XA64LD_LD_TP8HF                            14
    #define   LSb16ISA_XA64LD_LD_TP8HF                            14
    #define       bISA_XA64LD_LD_TP8HF                         1
    #define   MSK32ISA_XA64LD_LD_TP8HF                            0x00004000

    #define     BA_ISA_XA64LD_LD_SQRF64                        0x000D
    #define     B16ISA_XA64LD_LD_SQRF64                        0x000C
    #define   LSb32ISA_XA64LD_LD_SQRF64                           15
    #define   LSb16ISA_XA64LD_LD_SQRF64                           15
    #define       bISA_XA64LD_LD_SQRF64                        1
    #define   MSK32ISA_XA64LD_LD_SQRF64                           0x00008000

    #define     BA_ISA_XA64LD_LD_TQRF16Q                       0x000E
    #define     B16ISA_XA64LD_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_XA64LD_LD_TQRF16Q                          16
    #define   LSb16ISA_XA64LD_LD_TQRF16Q                          0
    #define       bISA_XA64LD_LD_TQRF16Q                       1
    #define   MSK32ISA_XA64LD_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_XA64LD_LD_TQRFx4                        0x000E
    #define     B16ISA_XA64LD_LD_TQRFx4                        0x000E
    #define   LSb32ISA_XA64LD_LD_TQRFx4                           17
    #define   LSb16ISA_XA64LD_LD_TQRFx4                           1
    #define       bISA_XA64LD_LD_TQRFx4                        1
    #define   MSK32ISA_XA64LD_LD_TQRFx4                           0x00020000

    #define     BA_ISA_XA64LD_LD_RD                            0x000E
    #define     B16ISA_XA64LD_LD_RD                            0x000E
    #define   LSb32ISA_XA64LD_LD_RD                               18
    #define   LSb16ISA_XA64LD_LD_RD                               2
    #define       bISA_XA64LD_LD_RD                            1
    #define   MSK32ISA_XA64LD_LD_RD                               0x00040000

    #define     BA_ISA_XA64LD_LD_WARF                          0x000E
    #define     B16ISA_XA64LD_LD_WARF                          0x000E
    #define   LSb32ISA_XA64LD_LD_WARF                             19
    #define   LSb16ISA_XA64LD_LD_WARF                             3
    #define       bISA_XA64LD_LD_WARF                          1
    #define   MSK32ISA_XA64LD_LD_WARF                             0x00080000

    #define     BA_ISA_XA64LD_LD_WAK8                          0x000E
    #define     B16ISA_XA64LD_LD_WAK8                          0x000E
    #define   LSb32ISA_XA64LD_LD_WAK8                             20
    #define   LSb16ISA_XA64LD_LD_WAK8                             4
    #define       bISA_XA64LD_LD_WAK8                          1
    #define   MSK32ISA_XA64LD_LD_WAK8                             0x00100000

    #define     BA_ISA_XA64LD_LD_WAK16                         0x000E
    #define     B16ISA_XA64LD_LD_WAK16                         0x000E
    #define   LSb32ISA_XA64LD_LD_WAK16                            21
    #define   LSb16ISA_XA64LD_LD_WAK16                            5
    #define       bISA_XA64LD_LD_WAK16                         1
    #define   MSK32ISA_XA64LD_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_EX                               0x0010

    #define     BA_ISA_XA64LD_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagZ                       0
    #define   LSb16ISA_XA64LD_EX_ALU16FlagZ                       0
    #define       bISA_XA64LD_EX_ALU16FlagZ                    1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_XA64LD_EX_ALU16FlagC                    0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagC                       1
    #define   LSb16ISA_XA64LD_EX_ALU16FlagC                       1
    #define       bISA_XA64LD_EX_ALU16FlagC                    1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_XA64LD_EX_ALU16FlagN                    0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagN                       2
    #define   LSb16ISA_XA64LD_EX_ALU16FlagN                       2
    #define       bISA_XA64LD_EX_ALU16FlagN                    1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_XA64LD_EX_ALU16FlagV                    0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagV                       3
    #define   LSb16ISA_XA64LD_EX_ALU16FlagV                       3
    #define       bISA_XA64LD_EX_ALU16FlagV                    1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_XA64LD_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagTP                      4
    #define   LSb16ISA_XA64LD_EX_ALU16FlagTP                      4
    #define       bISA_XA64LD_EX_ALU16FlagTP                   1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_XA64LD_EX_ALU16MUL                      0x0010
    #define     B16ISA_XA64LD_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16MUL                         5
    #define   LSb16ISA_XA64LD_EX_ALU16MUL                         5
    #define       bISA_XA64LD_EX_ALU16MUL                      1
    #define   MSK32ISA_XA64LD_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_XA64LD_EX_ALU16DIV                      0x0010
    #define     B16ISA_XA64LD_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16DIV                         6
    #define   LSb16ISA_XA64LD_EX_ALU16DIV                         6
    #define       bISA_XA64LD_EX_ALU16DIV                      1
    #define   MSK32ISA_XA64LD_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_XA64LD_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_XA64LD_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16FlagLD                      7
    #define   LSb16ISA_XA64LD_EX_ALU16FlagLD                      7
    #define       bISA_XA64LD_EX_ALU16FlagLD                   1
    #define   MSK32ISA_XA64LD_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_XA64LD_EX_ALU16MDL                      0x0011
    #define     B16ISA_XA64LD_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16MDL                         8
    #define   LSb16ISA_XA64LD_EX_ALU16MDL                         8
    #define       bISA_XA64LD_EX_ALU16MDL                      1
    #define   MSK32ISA_XA64LD_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_XA64LD_EX_ALU16MDH                      0x0011
    #define     B16ISA_XA64LD_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16MDH                         9
    #define   LSb16ISA_XA64LD_EX_ALU16MDH                         9
    #define       bISA_XA64LD_EX_ALU16MDH                      1
    #define   MSK32ISA_XA64LD_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_XA64LD_EX_ALU16ADD                      0x0011
    #define     B16ISA_XA64LD_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16ADD                         10
    #define   LSb16ISA_XA64LD_EX_ALU16ADD                         10
    #define       bISA_XA64LD_EX_ALU16ADD                      1
    #define   MSK32ISA_XA64LD_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_XA64LD_EX_ALU16SUB                      0x0011
    #define     B16ISA_XA64LD_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16SUB                         11
    #define   LSb16ISA_XA64LD_EX_ALU16SUB                         11
    #define       bISA_XA64LD_EX_ALU16SUB                      1
    #define   MSK32ISA_XA64LD_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_XA64LD_EX_ALU16ADDC                     0x0011
    #define     B16ISA_XA64LD_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16ADDC                        12
    #define   LSb16ISA_XA64LD_EX_ALU16ADDC                        12
    #define       bISA_XA64LD_EX_ALU16ADDC                     1
    #define   MSK32ISA_XA64LD_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_XA64LD_EX_ALU16SUBC                     0x0011
    #define     B16ISA_XA64LD_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16SUBC                        13
    #define   LSb16ISA_XA64LD_EX_ALU16SUBC                        13
    #define       bISA_XA64LD_EX_ALU16SUBC                     1
    #define   MSK32ISA_XA64LD_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_XA64LD_EX_ALU16ASR                      0x0011
    #define     B16ISA_XA64LD_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16ASR                         14
    #define   LSb16ISA_XA64LD_EX_ALU16ASR                         14
    #define       bISA_XA64LD_EX_ALU16ASR                      1
    #define   MSK32ISA_XA64LD_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_XA64LD_EX_ALU16SL                       0x0011
    #define     B16ISA_XA64LD_EX_ALU16SL                       0x0010
    #define   LSb32ISA_XA64LD_EX_ALU16SL                          15
    #define   LSb16ISA_XA64LD_EX_ALU16SL                          15
    #define       bISA_XA64LD_EX_ALU16SL                       1
    #define   MSK32ISA_XA64LD_EX_ALU16SL                          0x00008000

    #define     BA_ISA_XA64LD_EX_ALU16SR                       0x0012
    #define     B16ISA_XA64LD_EX_ALU16SR                       0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16SR                          16
    #define   LSb16ISA_XA64LD_EX_ALU16SR                          0
    #define       bISA_XA64LD_EX_ALU16SR                       1
    #define   MSK32ISA_XA64LD_EX_ALU16SR                          0x00010000

    #define     BA_ISA_XA64LD_EX_ALU16GET                      0x0012
    #define     B16ISA_XA64LD_EX_ALU16GET                      0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16GET                         17
    #define   LSb16ISA_XA64LD_EX_ALU16GET                         1
    #define       bISA_XA64LD_EX_ALU16GET                      1
    #define   MSK32ISA_XA64LD_EX_ALU16GET                         0x00020000

    #define     BA_ISA_XA64LD_EX_ALU16SET                      0x0012
    #define     B16ISA_XA64LD_EX_ALU16SET                      0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16SET                         18
    #define   LSb16ISA_XA64LD_EX_ALU16SET                         2
    #define       bISA_XA64LD_EX_ALU16SET                      1
    #define   MSK32ISA_XA64LD_EX_ALU16SET                         0x00040000

    #define     BA_ISA_XA64LD_EX_ALU16SEL                      0x0012
    #define     B16ISA_XA64LD_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16SEL                         19
    #define   LSb16ISA_XA64LD_EX_ALU16SEL                         3
    #define       bISA_XA64LD_EX_ALU16SEL                      1
    #define   MSK32ISA_XA64LD_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_XA64LD_EX_ALU16OR                       0x0012
    #define     B16ISA_XA64LD_EX_ALU16OR                       0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16OR                          20
    #define   LSb16ISA_XA64LD_EX_ALU16OR                          4
    #define       bISA_XA64LD_EX_ALU16OR                       1
    #define   MSK32ISA_XA64LD_EX_ALU16OR                          0x00100000

    #define     BA_ISA_XA64LD_EX_ALU16AND                      0x0012
    #define     B16ISA_XA64LD_EX_ALU16AND                      0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16AND                         21
    #define   LSb16ISA_XA64LD_EX_ALU16AND                         5
    #define       bISA_XA64LD_EX_ALU16AND                      1
    #define   MSK32ISA_XA64LD_EX_ALU16AND                         0x00200000

    #define     BA_ISA_XA64LD_EX_ALU16XOR                      0x0012
    #define     B16ISA_XA64LD_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16XOR                         22
    #define   LSb16ISA_XA64LD_EX_ALU16XOR                         6
    #define       bISA_XA64LD_EX_ALU16XOR                      1
    #define   MSK32ISA_XA64LD_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_XA64LD_EX_ALU16SP                       0x0012
    #define     B16ISA_XA64LD_EX_ALU16SP                       0x0012
    #define   LSb32ISA_XA64LD_EX_ALU16SP                          23
    #define   LSb16ISA_XA64LD_EX_ALU16SP                          7
    #define       bISA_XA64LD_EX_ALU16SP                       1
    #define   MSK32ISA_XA64LD_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_EXX                              0x0014

    #define     BA_ISA_XA64LD_EXX_WRSQ                         0x0014
    #define     B16ISA_XA64LD_EXX_WRSQ                         0x0014
    #define   LSb32ISA_XA64LD_EXX_WRSQ                            0
    #define   LSb16ISA_XA64LD_EXX_WRSQ                            0
    #define       bISA_XA64LD_EXX_WRSQ                         1
    #define   MSK32ISA_XA64LD_EXX_WRSQ                            0x00000001

    #define     BA_ISA_XA64LD_EXX_WR16                         0x0014
    #define     B16ISA_XA64LD_EXX_WR16                         0x0014
    #define   LSb32ISA_XA64LD_EXX_WR16                            1
    #define   LSb16ISA_XA64LD_EXX_WR16                            1
    #define       bISA_XA64LD_EXX_WR16                         1
    #define   MSK32ISA_XA64LD_EXX_WR16                            0x00000002

    #define     BA_ISA_XA64LD_EXX_WRTQ                         0x0014
    #define     B16ISA_XA64LD_EXX_WRTQ                         0x0014
    #define   LSb32ISA_XA64LD_EXX_WRTQ                            2
    #define   LSb16ISA_XA64LD_EXX_WRTQ                            2
    #define       bISA_XA64LD_EXX_WRTQ                         1
    #define   MSK32ISA_XA64LD_EXX_WRTQ                            0x00000004

    #define     BA_ISA_XA64LD_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_XA64LD_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_XA64LD_EXX_ALU64PUSH                       3
    #define   LSb16ISA_XA64LD_EXX_ALU64PUSH                       3
    #define       bISA_XA64LD_EXX_ALU64PUSH                    1
    #define   MSK32ISA_XA64LD_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_XA64LD_EXX_ALU64POP                     0x0014
    #define     B16ISA_XA64LD_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_XA64LD_EXX_ALU64POP                        4
    #define   LSb16ISA_XA64LD_EXX_ALU64POP                        4
    #define       bISA_XA64LD_EXX_ALU64POP                     1
    #define   MSK32ISA_XA64LD_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_XA64LD_EXX_ALU64SQ                      0x0014
    #define     B16ISA_XA64LD_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_XA64LD_EXX_ALU64SQ                         5
    #define   LSb16ISA_XA64LD_EXX_ALU64SQ                         5
    #define       bISA_XA64LD_EXX_ALU64SQ                      1
    #define   MSK32ISA_XA64LD_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_XA64LD_EXX_ALU64TQ                      0x0014
    #define     B16ISA_XA64LD_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_XA64LD_EXX_ALU64TQ                         6
    #define   LSb16ISA_XA64LD_EXX_ALU64TQ                         6
    #define       bISA_XA64LD_EXX_ALU64TQ                      1
    #define   MSK32ISA_XA64LD_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_XA64LD_EXX_ALU64MEM                     0x0014
    #define     B16ISA_XA64LD_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_XA64LD_EXX_ALU64MEM                        7
    #define   LSb16ISA_XA64LD_EXX_ALU64MEM                        7
    #define       bISA_XA64LD_EXX_ALU64MEM                     1
    #define   MSK32ISA_XA64LD_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_XA64LD_EXX_BRANCH                       0x0015
    #define     B16ISA_XA64LD_EXX_BRANCH                       0x0014
    #define   LSb32ISA_XA64LD_EXX_BRANCH                          8
    #define   LSb16ISA_XA64LD_EXX_BRANCH                          8
    #define       bISA_XA64LD_EXX_BRANCH                       1
    #define   MSK32ISA_XA64LD_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_XA64LD_WB                               0x0018

    #define     BA_ISA_XA64LD_WB_RF16                          0x0018
    #define     B16ISA_XA64LD_WB_RF16                          0x0018
    #define   LSb32ISA_XA64LD_WB_RF16                             0
    #define   LSb16ISA_XA64LD_WB_RF16                             0
    #define       bISA_XA64LD_WB_RF16                          1
    #define   MSK32ISA_XA64LD_WB_RF16                             0x00000001

    #define     BA_ISA_XA64LD_WB_RF16W0                        0x0018
    #define     B16ISA_XA64LD_WB_RF16W0                        0x0018
    #define   LSb32ISA_XA64LD_WB_RF16W0                           1
    #define   LSb16ISA_XA64LD_WB_RF16W0                           1
    #define       bISA_XA64LD_WB_RF16W0                        1
    #define   MSK32ISA_XA64LD_WB_RF16W0                           0x00000002

    #define     BA_ISA_XA64LD_WB_RF16MEM                       0x0018
    #define     B16ISA_XA64LD_WB_RF16MEM                       0x0018
    #define   LSb32ISA_XA64LD_WB_RF16MEM                          2
    #define   LSb16ISA_XA64LD_WB_RF16MEM                          2
    #define       bISA_XA64LD_WB_RF16MEM                       1
    #define   MSK32ISA_XA64LD_WB_RF16MEM                          0x00000004

    #define     BA_ISA_XA64LD_WB_RF16Q                         0x0018
    #define     B16ISA_XA64LD_WB_RF16Q                         0x0018
    #define   LSb32ISA_XA64LD_WB_RF16Q                            3
    #define   LSb16ISA_XA64LD_WB_RF16Q                            3
    #define       bISA_XA64LD_WB_RF16Q                         1
    #define   MSK32ISA_XA64LD_WB_RF16Q                            0x00000008

    #define     BA_ISA_XA64LD_WB_RF64                          0x0018
    #define     B16ISA_XA64LD_WB_RF64                          0x0018
    #define   LSb32ISA_XA64LD_WB_RF64                             4
    #define   LSb16ISA_XA64LD_WB_RF64                             4
    #define       bISA_XA64LD_WB_RF64                          1
    #define   MSK32ISA_XA64LD_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_XA64LD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_XA64LD_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_XA64LD_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XA64LD_Mask;
            struct w32ISA_XA64LD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_XA64LD_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_XA64LD_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_XA64LD_Opcode;
            struct w32ISA_XA64LD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XA64LD_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XA64LD_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XA64LD_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XA64LD_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_XA64LD_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XA64LD_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XA64LD_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XA64LD_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_XA64LD_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XA64LD_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XA64LD_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XA64LD_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XA64LD_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_XA64LD_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XA64LD_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_XA64LD_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XA64LD_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XA64LD_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XA64LD_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XA64LD_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XA64LD_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_XA64LD_ID;
            struct w32ISA_XA64LD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XA64LD_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XA64LD_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_XA64LD_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XA64LD_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_XA64LD_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XA64LD_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_XA64LD_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XA64LD_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XA64LD_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XA64LD_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_XA64LD_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XA64LD_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XA64LD_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_XA64LD_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XA64LD_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_XA64LD_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XA64LD_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_XA64LD_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XA64LD_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_XA64LD_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XA64LD_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_XA64LD_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XA64LD_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_XA64LD_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XA64LD_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_XA64LD_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XA64LD_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_XA64LD_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XA64LD_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_XA64LD_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_XA64LD_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_XA64LD_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_XA64LD_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_XA64LD_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_XA64LD_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_XA64LD_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_XA64LD_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_XA64LD_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_XA64LD_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_XA64LD_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_XA64LD_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_XA64LD_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_XA64LD_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_XA64LD_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_XA64LD_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_XA64LD_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_XA64LD_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_XA64LD_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_XA64LD_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_XA64LD_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_XA64LD_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_XA64LD_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_XA64LD_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XA64LD_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XA64LD_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_XA64LD_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_XA64LD_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_XA64LD_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_XA64LD_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_XA64LD_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_XA64LD_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_XA64LD_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_XA64LD_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_XA64LD_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_XA64LD_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_XA64LD_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_XA64LD_LD;
            struct w32ISA_XA64LD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_XA64LD_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_XA64LD_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_XA64LD_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XA64LD_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_XA64LD_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XA64LD_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XA64LD_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XA64LD_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XA64LD_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XA64LD_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XA64LD_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XA64LD_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_XA64LD_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XA64LD_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_XA64LD_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XA64LD_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_XA64LD_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XA64LD_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_XA64LD_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_XA64LD_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_XA64LD_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_XA64LD_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_XA64LD_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_XA64LD_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_XA64LD_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_XA64LD_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_XA64LD_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_XA64LD_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_XA64LD_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_XA64LD_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_XA64LD_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_XA64LD_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_XA64LD_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_XA64LD_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_XA64LD_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_XA64LD_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_XA64LD_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_XA64LD_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_XA64LD_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_XA64LD_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_XA64LD_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_XA64LD_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_XA64LD_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_XA64LD_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_XA64LD_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_XA64LD_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_XA64LD_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_XA64LD_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_XA64LD_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_XA64LD_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_XA64LD_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_XA64LD_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_XA64LD_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_XA64LD_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_XA64LD_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_XA64LD_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_XA64LD_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_XA64LD_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_XA64LD_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_XA64LD_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XA64LD_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_XA64LD_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_XA64LD_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XA64LD_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XA64LD_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_XA64LD_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_XA64LD_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_XA64LD_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_XA64LD_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_XA64LD_EX;
            struct w32ISA_XA64LD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_XA64LD_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XA64LD_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_XA64LD_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XA64LD_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_XA64LD_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XA64LD_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_XA64LD_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XA64LD_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_XA64LD_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XA64LD_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_XA64LD_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_XA64LD_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_XA64LD_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_XA64LD_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_XA64LD_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_XA64LD_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_XA64LD_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_XA64LD_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_XA64LD_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_XA64LD_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_XA64LD_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_XA64LD_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_XA64LD_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_XA64LD_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_XA64LD_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_XA64LD_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_XA64LD_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_XA64LD_EXX;
            struct w32ISA_XA64LD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_XA64LD_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_XA64LD_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_XA64LD_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_XA64LD_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_XA64LD_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_XA64LD_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_XA64LD_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_XA64LD_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_XA64LD_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_XA64LD_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_XA64LD_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_XA64LD_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_XA64LD_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_XA64LD_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_XA64LD_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_XA64LD_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_XA64LD_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_XA64LD_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_XA64LD_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_XA64LD_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_XA64LD_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_XA64LD_WB;
            struct w32ISA_XA64LD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_XA64LD;

    typedef union  T32ISA_XA64LD_Mask
          { UNSG32 u32;
            struct w32ISA_XA64LD_Mask;
                 } T32ISA_XA64LD_Mask;
    typedef union  T32ISA_XA64LD_Opcode
          { UNSG32 u32;
            struct w32ISA_XA64LD_Opcode;
                 } T32ISA_XA64LD_Opcode;
    typedef union  T32ISA_XA64LD_ID
          { UNSG32 u32;
            struct w32ISA_XA64LD_ID;
                 } T32ISA_XA64LD_ID;
    typedef union  T32ISA_XA64LD_LD
          { UNSG32 u32;
            struct w32ISA_XA64LD_LD;
                 } T32ISA_XA64LD_LD;
    typedef union  T32ISA_XA64LD_EX
          { UNSG32 u32;
            struct w32ISA_XA64LD_EX;
                 } T32ISA_XA64LD_EX;
    typedef union  T32ISA_XA64LD_EXX
          { UNSG32 u32;
            struct w32ISA_XA64LD_EXX;
                 } T32ISA_XA64LD_EXX;
    typedef union  T32ISA_XA64LD_WB
          { UNSG32 u32;
            struct w32ISA_XA64LD_WB;
                 } T32ISA_XA64LD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_XA64LD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_Mask;
                   };
                 } TISA_XA64LD_Mask;
    typedef union  TISA_XA64LD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_Opcode;
                   };
                 } TISA_XA64LD_Opcode;
    typedef union  TISA_XA64LD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_ID;
                   };
                 } TISA_XA64LD_ID;
    typedef union  TISA_XA64LD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_LD;
                   };
                 } TISA_XA64LD_LD;
    typedef union  TISA_XA64LD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_EX;
                   };
                 } TISA_XA64LD_EX;
    typedef union  TISA_XA64LD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_EXX;
                   };
                 } TISA_XA64LD_EXX;
    typedef union  TISA_XA64LD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_XA64LD_WB;
                   };
                 } TISA_XA64LD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_XA64LD_drvrd(SIE_ISA_XA64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_XA64LD_drvwr(SIE_ISA_XA64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_XA64LD_reset(SIE_ISA_XA64LD *p);
     SIGN32 ISA_XA64LD_cmp  (SIE_ISA_XA64LD *p, SIE_ISA_XA64LD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_XA64LD_check(p,pie,pfx,hLOG) ISA_XA64LD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_XA64LD_print(p,    pfx,hLOG) ISA_XA64LD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_XA64LD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_QA64LD                               (4,4)
///     ###
///     * Pop an ALU64 result from customized HW pipeline to RF64.
///     * An 8b ALU64.POP opcode will be passed as first argument.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFF0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x310000
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.A64LD" , "C,qS"        , "0011 0001 CCCC CCCC --SS SSSS" } ,
///                                    * - Usage:
///                                    * -    Q.A64LD 0, %q0          ; %q0 = ALU64.POP(0);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  0x1
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      0x1
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_QA64LD
#define h_ISA_QA64LD (){}

    #define     RA_ISA_QA64LD_Mask                             0x0000

    #define     BA_ISA_QA64LD_Mask_INS                         0x0000
    #define     B16ISA_QA64LD_Mask_INS                         0x0000
    #define   LSb32ISA_QA64LD_Mask_INS                            0
    #define   LSb16ISA_QA64LD_Mask_INS                            0
    #define       bISA_QA64LD_Mask_INS                         24
    #define   MSK32ISA_QA64LD_Mask_INS                            0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_Opcode                           0x0004

    #define     BA_ISA_QA64LD_Opcode_INS                       0x0004
    #define     B16ISA_QA64LD_Opcode_INS                       0x0004
    #define   LSb32ISA_QA64LD_Opcode_INS                          0
    #define   LSb16ISA_QA64LD_Opcode_INS                          0
    #define       bISA_QA64LD_Opcode_INS                       24
    #define   MSK32ISA_QA64LD_Opcode_INS                          0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_ID                               0x0008

    #define     BA_ISA_QA64LD_ID_RBRF                          0x0008
    #define     B16ISA_QA64LD_ID_RBRF                          0x0008
    #define   LSb32ISA_QA64LD_ID_RBRF                             0
    #define   LSb16ISA_QA64LD_ID_RBRF                             0
    #define       bISA_QA64LD_ID_RBRF                          1
    #define   MSK32ISA_QA64LD_ID_RBRF                             0x00000001

    #define     BA_ISA_QA64LD_ID_RARF                          0x0008
    #define     B16ISA_QA64LD_ID_RARF                          0x0008
    #define   LSb32ISA_QA64LD_ID_RARF                             1
    #define   LSb16ISA_QA64LD_ID_RARF                             1
    #define       bISA_QA64LD_ID_RARF                          1
    #define   MSK32ISA_QA64LD_ID_RARF                             0x00000002

    #define     BA_ISA_QA64LD_ID_RAK8                          0x0008
    #define     B16ISA_QA64LD_ID_RAK8                          0x0008
    #define   LSb32ISA_QA64LD_ID_RAK8                             2
    #define   LSb16ISA_QA64LD_ID_RAK8                             2
    #define       bISA_QA64LD_ID_RAK8                          1
    #define   MSK32ISA_QA64LD_ID_RAK8                             0x00000004

    #define     BA_ISA_QA64LD_ID_RAI16                         0x0008
    #define     B16ISA_QA64LD_ID_RAI16                         0x0008
    #define   LSb32ISA_QA64LD_ID_RAI16                            3
    #define   LSb16ISA_QA64LD_ID_RAI16                            3
    #define       bISA_QA64LD_ID_RAI16                         1
    #define   MSK32ISA_QA64LD_ID_RAI16                            0x00000008

    #define     BA_ISA_QA64LD_ID_RAK16                         0x0008
    #define     B16ISA_QA64LD_ID_RAK16                         0x0008
    #define   LSb32ISA_QA64LD_ID_RAK16                            4
    #define   LSb16ISA_QA64LD_ID_RAK16                            4
    #define       bISA_QA64LD_ID_RAK16                         1
    #define   MSK32ISA_QA64LD_ID_RAK16                            0x00000010

    #define     BA_ISA_QA64LD_ID_RFSP                          0x0008
    #define     B16ISA_QA64LD_ID_RFSP                          0x0008
    #define   LSb32ISA_QA64LD_ID_RFSP                             5
    #define   LSb16ISA_QA64LD_ID_RFSP                             5
    #define       bISA_QA64LD_ID_RFSP                          1
    #define   MSK32ISA_QA64LD_ID_RFSP                             0x00000020

    #define     BA_ISA_QA64LD_ID_W4D4                          0x0008
    #define     B16ISA_QA64LD_ID_W4D4                          0x0008
    #define   LSb32ISA_QA64LD_ID_W4D4                             6
    #define   LSb16ISA_QA64LD_ID_W4D4                             6
    #define       bISA_QA64LD_ID_W4D4                          1
    #define   MSK32ISA_QA64LD_ID_W4D4                             0x00000040

    #define     BA_ISA_QA64LD_ID_W4S4                          0x0008
    #define     B16ISA_QA64LD_ID_W4S4                          0x0008
    #define   LSb32ISA_QA64LD_ID_W4S4                             7
    #define   LSb16ISA_QA64LD_ID_W4S4                             7
    #define       bISA_QA64LD_ID_W4S4                          1
    #define   MSK32ISA_QA64LD_ID_W4S4                             0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_LD                               0x000C

    #define     BA_ISA_QA64LD_LD_SPRF                          0x000C
    #define     B16ISA_QA64LD_LD_SPRF                          0x000C
    #define   LSb32ISA_QA64LD_LD_SPRF                             0
    #define   LSb16ISA_QA64LD_LD_SPRF                             0
    #define       bISA_QA64LD_LD_SPRF                          1
    #define   MSK32ISA_QA64LD_LD_SPRF                             0x00000001

    #define     BA_ISA_QA64LD_LD_SPK8                          0x000C
    #define     B16ISA_QA64LD_LD_SPK8                          0x000C
    #define   LSb32ISA_QA64LD_LD_SPK8                             1
    #define   LSb16ISA_QA64LD_LD_SPK8                             1
    #define       bISA_QA64LD_LD_SPK8                          1
    #define   MSK32ISA_QA64LD_LD_SPK8                             0x00000002

    #define     BA_ISA_QA64LD_LD_SPJ                           0x000C
    #define     B16ISA_QA64LD_LD_SPJ                           0x000C
    #define   LSb32ISA_QA64LD_LD_SPJ                              2
    #define   LSb16ISA_QA64LD_LD_SPJ                              2
    #define       bISA_QA64LD_LD_SPJ                           1
    #define   MSK32ISA_QA64LD_LD_SPJ                              0x00000004

    #define     BA_ISA_QA64LD_LD_SP4S                          0x000C
    #define     B16ISA_QA64LD_LD_SP4S                          0x000C
    #define   LSb32ISA_QA64LD_LD_SP4S                             3
    #define   LSb16ISA_QA64LD_LD_SP4S                             3
    #define       bISA_QA64LD_LD_SP4S                          1
    #define   MSK32ISA_QA64LD_LD_SP4S                             0x00000008

    #define     BA_ISA_QA64LD_LD_SP8S                          0x000C
    #define     B16ISA_QA64LD_LD_SP8S                          0x000C
    #define   LSb32ISA_QA64LD_LD_SP8S                             4
    #define   LSb16ISA_QA64LD_LD_SP8S                             4
    #define       bISA_QA64LD_LD_SP8S                          1
    #define   MSK32ISA_QA64LD_LD_SP8S                             0x00000010

    #define     BA_ISA_QA64LD_LD_SP8U                          0x000C
    #define     B16ISA_QA64LD_LD_SP8U                          0x000C
    #define   LSb32ISA_QA64LD_LD_SP8U                             5
    #define   LSb16ISA_QA64LD_LD_SP8U                             5
    #define       bISA_QA64LD_LD_SP8U                          1
    #define   MSK32ISA_QA64LD_LD_SP8U                             0x00000020

    #define     BA_ISA_QA64LD_LD_SP12S                         0x000C
    #define     B16ISA_QA64LD_LD_SP12S                         0x000C
    #define   LSb32ISA_QA64LD_LD_SP12S                            6
    #define   LSb16ISA_QA64LD_LD_SP12S                            6
    #define       bISA_QA64LD_LD_SP12S                         1
    #define   MSK32ISA_QA64LD_LD_SP12S                            0x00000040

    #define     BA_ISA_QA64LD_LD_SP16                          0x000C
    #define     B16ISA_QA64LD_LD_SP16                          0x000C
    #define   LSb32ISA_QA64LD_LD_SP16                             7
    #define   LSb16ISA_QA64LD_LD_SP16                             7
    #define       bISA_QA64LD_LD_SP16                          1
    #define   MSK32ISA_QA64LD_LD_SP16                             0x00000080

    #define     BA_ISA_QA64LD_LD_TPRF                          0x000D
    #define     B16ISA_QA64LD_LD_TPRF                          0x000C
    #define   LSb32ISA_QA64LD_LD_TPRF                             8
    #define   LSb16ISA_QA64LD_LD_TPRF                             8
    #define       bISA_QA64LD_LD_TPRF                          1
    #define   MSK32ISA_QA64LD_LD_TPRF                             0x00000100

    #define     BA_ISA_QA64LD_LD_TPJ                           0x000D
    #define     B16ISA_QA64LD_LD_TPJ                           0x000C
    #define   LSb32ISA_QA64LD_LD_TPJ                              9
    #define   LSb16ISA_QA64LD_LD_TPJ                              9
    #define       bISA_QA64LD_LD_TPJ                           1
    #define   MSK32ISA_QA64LD_LD_TPJ                              0x00000200

    #define     BA_ISA_QA64LD_LD_TP4S                          0x000D
    #define     B16ISA_QA64LD_LD_TP4S                          0x000C
    #define   LSb32ISA_QA64LD_LD_TP4S                             10
    #define   LSb16ISA_QA64LD_LD_TP4S                             10
    #define       bISA_QA64LD_LD_TP4S                          1
    #define   MSK32ISA_QA64LD_LD_TP4S                             0x00000400

    #define     BA_ISA_QA64LD_LD_TP8L                          0x000D
    #define     B16ISA_QA64LD_LD_TP8L                          0x000C
    #define   LSb32ISA_QA64LD_LD_TP8L                             11
    #define   LSb16ISA_QA64LD_LD_TP8L                             11
    #define       bISA_QA64LD_LD_TP8L                          1
    #define   MSK32ISA_QA64LD_LD_TP8L                             0x00000800

    #define     BA_ISA_QA64LD_LD_TP8H                          0x000D
    #define     B16ISA_QA64LD_LD_TP8H                          0x000C
    #define   LSb32ISA_QA64LD_LD_TP8H                             12
    #define   LSb16ISA_QA64LD_LD_TP8H                             12
    #define       bISA_QA64LD_LD_TP8H                          1
    #define   MSK32ISA_QA64LD_LD_TP8H                             0x00001000

    #define     BA_ISA_QA64LD_LD_TP8LF                         0x000D
    #define     B16ISA_QA64LD_LD_TP8LF                         0x000C
    #define   LSb32ISA_QA64LD_LD_TP8LF                            13
    #define   LSb16ISA_QA64LD_LD_TP8LF                            13
    #define       bISA_QA64LD_LD_TP8LF                         1
    #define   MSK32ISA_QA64LD_LD_TP8LF                            0x00002000

    #define     BA_ISA_QA64LD_LD_TP8HF                         0x000D
    #define     B16ISA_QA64LD_LD_TP8HF                         0x000C
    #define   LSb32ISA_QA64LD_LD_TP8HF                            14
    #define   LSb16ISA_QA64LD_LD_TP8HF                            14
    #define       bISA_QA64LD_LD_TP8HF                         1
    #define   MSK32ISA_QA64LD_LD_TP8HF                            0x00004000

    #define     BA_ISA_QA64LD_LD_SQRF64                        0x000D
    #define     B16ISA_QA64LD_LD_SQRF64                        0x000C
    #define   LSb32ISA_QA64LD_LD_SQRF64                           15
    #define   LSb16ISA_QA64LD_LD_SQRF64                           15
    #define       bISA_QA64LD_LD_SQRF64                        1
    #define   MSK32ISA_QA64LD_LD_SQRF64                           0x00008000

    #define     BA_ISA_QA64LD_LD_TQRF16Q                       0x000E
    #define     B16ISA_QA64LD_LD_TQRF16Q                       0x000E
    #define   LSb32ISA_QA64LD_LD_TQRF16Q                          16
    #define   LSb16ISA_QA64LD_LD_TQRF16Q                          0
    #define       bISA_QA64LD_LD_TQRF16Q                       1
    #define   MSK32ISA_QA64LD_LD_TQRF16Q                          0x00010000

    #define     BA_ISA_QA64LD_LD_TQRFx4                        0x000E
    #define     B16ISA_QA64LD_LD_TQRFx4                        0x000E
    #define   LSb32ISA_QA64LD_LD_TQRFx4                           17
    #define   LSb16ISA_QA64LD_LD_TQRFx4                           1
    #define       bISA_QA64LD_LD_TQRFx4                        1
    #define   MSK32ISA_QA64LD_LD_TQRFx4                           0x00020000

    #define     BA_ISA_QA64LD_LD_RD                            0x000E
    #define     B16ISA_QA64LD_LD_RD                            0x000E
    #define   LSb32ISA_QA64LD_LD_RD                               18
    #define   LSb16ISA_QA64LD_LD_RD                               2
    #define       bISA_QA64LD_LD_RD                            1
    #define   MSK32ISA_QA64LD_LD_RD                               0x00040000

    #define     BA_ISA_QA64LD_LD_WARF                          0x000E
    #define     B16ISA_QA64LD_LD_WARF                          0x000E
    #define   LSb32ISA_QA64LD_LD_WARF                             19
    #define   LSb16ISA_QA64LD_LD_WARF                             3
    #define       bISA_QA64LD_LD_WARF                          1
    #define   MSK32ISA_QA64LD_LD_WARF                             0x00080000

    #define     BA_ISA_QA64LD_LD_WAK8                          0x000E
    #define     B16ISA_QA64LD_LD_WAK8                          0x000E
    #define   LSb32ISA_QA64LD_LD_WAK8                             20
    #define   LSb16ISA_QA64LD_LD_WAK8                             4
    #define       bISA_QA64LD_LD_WAK8                          1
    #define   MSK32ISA_QA64LD_LD_WAK8                             0x00100000

    #define     BA_ISA_QA64LD_LD_WAK16                         0x000E
    #define     B16ISA_QA64LD_LD_WAK16                         0x000E
    #define   LSb32ISA_QA64LD_LD_WAK16                            21
    #define   LSb16ISA_QA64LD_LD_WAK16                            5
    #define       bISA_QA64LD_LD_WAK16                         1
    #define   MSK32ISA_QA64LD_LD_WAK16                            0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_EX                               0x0010

    #define     BA_ISA_QA64LD_EX_ALU16FlagZ                    0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagZ                    0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagZ                       0
    #define   LSb16ISA_QA64LD_EX_ALU16FlagZ                       0
    #define       bISA_QA64LD_EX_ALU16FlagZ                    1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagZ                       0x00000001

    #define     BA_ISA_QA64LD_EX_ALU16FlagC                    0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagC                    0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagC                       1
    #define   LSb16ISA_QA64LD_EX_ALU16FlagC                       1
    #define       bISA_QA64LD_EX_ALU16FlagC                    1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagC                       0x00000002

    #define     BA_ISA_QA64LD_EX_ALU16FlagN                    0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagN                    0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagN                       2
    #define   LSb16ISA_QA64LD_EX_ALU16FlagN                       2
    #define       bISA_QA64LD_EX_ALU16FlagN                    1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagN                       0x00000004

    #define     BA_ISA_QA64LD_EX_ALU16FlagV                    0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagV                    0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagV                       3
    #define   LSb16ISA_QA64LD_EX_ALU16FlagV                       3
    #define       bISA_QA64LD_EX_ALU16FlagV                    1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagV                       0x00000008

    #define     BA_ISA_QA64LD_EX_ALU16FlagTP                   0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagTP                   0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagTP                      4
    #define   LSb16ISA_QA64LD_EX_ALU16FlagTP                      4
    #define       bISA_QA64LD_EX_ALU16FlagTP                   1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagTP                      0x00000010

    #define     BA_ISA_QA64LD_EX_ALU16MUL                      0x0010
    #define     B16ISA_QA64LD_EX_ALU16MUL                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16MUL                         5
    #define   LSb16ISA_QA64LD_EX_ALU16MUL                         5
    #define       bISA_QA64LD_EX_ALU16MUL                      1
    #define   MSK32ISA_QA64LD_EX_ALU16MUL                         0x00000020

    #define     BA_ISA_QA64LD_EX_ALU16DIV                      0x0010
    #define     B16ISA_QA64LD_EX_ALU16DIV                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16DIV                         6
    #define   LSb16ISA_QA64LD_EX_ALU16DIV                         6
    #define       bISA_QA64LD_EX_ALU16DIV                      1
    #define   MSK32ISA_QA64LD_EX_ALU16DIV                         0x00000040

    #define     BA_ISA_QA64LD_EX_ALU16FlagLD                   0x0010
    #define     B16ISA_QA64LD_EX_ALU16FlagLD                   0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16FlagLD                      7
    #define   LSb16ISA_QA64LD_EX_ALU16FlagLD                      7
    #define       bISA_QA64LD_EX_ALU16FlagLD                   1
    #define   MSK32ISA_QA64LD_EX_ALU16FlagLD                      0x00000080

    #define     BA_ISA_QA64LD_EX_ALU16MDL                      0x0011
    #define     B16ISA_QA64LD_EX_ALU16MDL                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16MDL                         8
    #define   LSb16ISA_QA64LD_EX_ALU16MDL                         8
    #define       bISA_QA64LD_EX_ALU16MDL                      1
    #define   MSK32ISA_QA64LD_EX_ALU16MDL                         0x00000100

    #define     BA_ISA_QA64LD_EX_ALU16MDH                      0x0011
    #define     B16ISA_QA64LD_EX_ALU16MDH                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16MDH                         9
    #define   LSb16ISA_QA64LD_EX_ALU16MDH                         9
    #define       bISA_QA64LD_EX_ALU16MDH                      1
    #define   MSK32ISA_QA64LD_EX_ALU16MDH                         0x00000200

    #define     BA_ISA_QA64LD_EX_ALU16ADD                      0x0011
    #define     B16ISA_QA64LD_EX_ALU16ADD                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16ADD                         10
    #define   LSb16ISA_QA64LD_EX_ALU16ADD                         10
    #define       bISA_QA64LD_EX_ALU16ADD                      1
    #define   MSK32ISA_QA64LD_EX_ALU16ADD                         0x00000400

    #define     BA_ISA_QA64LD_EX_ALU16SUB                      0x0011
    #define     B16ISA_QA64LD_EX_ALU16SUB                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16SUB                         11
    #define   LSb16ISA_QA64LD_EX_ALU16SUB                         11
    #define       bISA_QA64LD_EX_ALU16SUB                      1
    #define   MSK32ISA_QA64LD_EX_ALU16SUB                         0x00000800

    #define     BA_ISA_QA64LD_EX_ALU16ADDC                     0x0011
    #define     B16ISA_QA64LD_EX_ALU16ADDC                     0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16ADDC                        12
    #define   LSb16ISA_QA64LD_EX_ALU16ADDC                        12
    #define       bISA_QA64LD_EX_ALU16ADDC                     1
    #define   MSK32ISA_QA64LD_EX_ALU16ADDC                        0x00001000

    #define     BA_ISA_QA64LD_EX_ALU16SUBC                     0x0011
    #define     B16ISA_QA64LD_EX_ALU16SUBC                     0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16SUBC                        13
    #define   LSb16ISA_QA64LD_EX_ALU16SUBC                        13
    #define       bISA_QA64LD_EX_ALU16SUBC                     1
    #define   MSK32ISA_QA64LD_EX_ALU16SUBC                        0x00002000

    #define     BA_ISA_QA64LD_EX_ALU16ASR                      0x0011
    #define     B16ISA_QA64LD_EX_ALU16ASR                      0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16ASR                         14
    #define   LSb16ISA_QA64LD_EX_ALU16ASR                         14
    #define       bISA_QA64LD_EX_ALU16ASR                      1
    #define   MSK32ISA_QA64LD_EX_ALU16ASR                         0x00004000

    #define     BA_ISA_QA64LD_EX_ALU16SL                       0x0011
    #define     B16ISA_QA64LD_EX_ALU16SL                       0x0010
    #define   LSb32ISA_QA64LD_EX_ALU16SL                          15
    #define   LSb16ISA_QA64LD_EX_ALU16SL                          15
    #define       bISA_QA64LD_EX_ALU16SL                       1
    #define   MSK32ISA_QA64LD_EX_ALU16SL                          0x00008000

    #define     BA_ISA_QA64LD_EX_ALU16SR                       0x0012
    #define     B16ISA_QA64LD_EX_ALU16SR                       0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16SR                          16
    #define   LSb16ISA_QA64LD_EX_ALU16SR                          0
    #define       bISA_QA64LD_EX_ALU16SR                       1
    #define   MSK32ISA_QA64LD_EX_ALU16SR                          0x00010000

    #define     BA_ISA_QA64LD_EX_ALU16GET                      0x0012
    #define     B16ISA_QA64LD_EX_ALU16GET                      0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16GET                         17
    #define   LSb16ISA_QA64LD_EX_ALU16GET                         1
    #define       bISA_QA64LD_EX_ALU16GET                      1
    #define   MSK32ISA_QA64LD_EX_ALU16GET                         0x00020000

    #define     BA_ISA_QA64LD_EX_ALU16SET                      0x0012
    #define     B16ISA_QA64LD_EX_ALU16SET                      0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16SET                         18
    #define   LSb16ISA_QA64LD_EX_ALU16SET                         2
    #define       bISA_QA64LD_EX_ALU16SET                      1
    #define   MSK32ISA_QA64LD_EX_ALU16SET                         0x00040000

    #define     BA_ISA_QA64LD_EX_ALU16SEL                      0x0012
    #define     B16ISA_QA64LD_EX_ALU16SEL                      0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16SEL                         19
    #define   LSb16ISA_QA64LD_EX_ALU16SEL                         3
    #define       bISA_QA64LD_EX_ALU16SEL                      1
    #define   MSK32ISA_QA64LD_EX_ALU16SEL                         0x00080000

    #define     BA_ISA_QA64LD_EX_ALU16OR                       0x0012
    #define     B16ISA_QA64LD_EX_ALU16OR                       0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16OR                          20
    #define   LSb16ISA_QA64LD_EX_ALU16OR                          4
    #define       bISA_QA64LD_EX_ALU16OR                       1
    #define   MSK32ISA_QA64LD_EX_ALU16OR                          0x00100000

    #define     BA_ISA_QA64LD_EX_ALU16AND                      0x0012
    #define     B16ISA_QA64LD_EX_ALU16AND                      0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16AND                         21
    #define   LSb16ISA_QA64LD_EX_ALU16AND                         5
    #define       bISA_QA64LD_EX_ALU16AND                      1
    #define   MSK32ISA_QA64LD_EX_ALU16AND                         0x00200000

    #define     BA_ISA_QA64LD_EX_ALU16XOR                      0x0012
    #define     B16ISA_QA64LD_EX_ALU16XOR                      0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16XOR                         22
    #define   LSb16ISA_QA64LD_EX_ALU16XOR                         6
    #define       bISA_QA64LD_EX_ALU16XOR                      1
    #define   MSK32ISA_QA64LD_EX_ALU16XOR                         0x00400000

    #define     BA_ISA_QA64LD_EX_ALU16SP                       0x0012
    #define     B16ISA_QA64LD_EX_ALU16SP                       0x0012
    #define   LSb32ISA_QA64LD_EX_ALU16SP                          23
    #define   LSb16ISA_QA64LD_EX_ALU16SP                          7
    #define       bISA_QA64LD_EX_ALU16SP                       1
    #define   MSK32ISA_QA64LD_EX_ALU16SP                          0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_EXX                              0x0014

    #define     BA_ISA_QA64LD_EXX_WRSQ                         0x0014
    #define     B16ISA_QA64LD_EXX_WRSQ                         0x0014
    #define   LSb32ISA_QA64LD_EXX_WRSQ                            0
    #define   LSb16ISA_QA64LD_EXX_WRSQ                            0
    #define       bISA_QA64LD_EXX_WRSQ                         1
    #define   MSK32ISA_QA64LD_EXX_WRSQ                            0x00000001

    #define     BA_ISA_QA64LD_EXX_WR16                         0x0014
    #define     B16ISA_QA64LD_EXX_WR16                         0x0014
    #define   LSb32ISA_QA64LD_EXX_WR16                            1
    #define   LSb16ISA_QA64LD_EXX_WR16                            1
    #define       bISA_QA64LD_EXX_WR16                         1
    #define   MSK32ISA_QA64LD_EXX_WR16                            0x00000002

    #define     BA_ISA_QA64LD_EXX_WRTQ                         0x0014
    #define     B16ISA_QA64LD_EXX_WRTQ                         0x0014
    #define   LSb32ISA_QA64LD_EXX_WRTQ                            2
    #define   LSb16ISA_QA64LD_EXX_WRTQ                            2
    #define       bISA_QA64LD_EXX_WRTQ                         1
    #define   MSK32ISA_QA64LD_EXX_WRTQ                            0x00000004

    #define     BA_ISA_QA64LD_EXX_ALU64PUSH                    0x0014
    #define     B16ISA_QA64LD_EXX_ALU64PUSH                    0x0014
    #define   LSb32ISA_QA64LD_EXX_ALU64PUSH                       3
    #define   LSb16ISA_QA64LD_EXX_ALU64PUSH                       3
    #define       bISA_QA64LD_EXX_ALU64PUSH                    1
    #define   MSK32ISA_QA64LD_EXX_ALU64PUSH                       0x00000008

    #define     BA_ISA_QA64LD_EXX_ALU64POP                     0x0014
    #define     B16ISA_QA64LD_EXX_ALU64POP                     0x0014
    #define   LSb32ISA_QA64LD_EXX_ALU64POP                        4
    #define   LSb16ISA_QA64LD_EXX_ALU64POP                        4
    #define       bISA_QA64LD_EXX_ALU64POP                     1
    #define   MSK32ISA_QA64LD_EXX_ALU64POP                        0x00000010

    #define     BA_ISA_QA64LD_EXX_ALU64SQ                      0x0014
    #define     B16ISA_QA64LD_EXX_ALU64SQ                      0x0014
    #define   LSb32ISA_QA64LD_EXX_ALU64SQ                         5
    #define   LSb16ISA_QA64LD_EXX_ALU64SQ                         5
    #define       bISA_QA64LD_EXX_ALU64SQ                      1
    #define   MSK32ISA_QA64LD_EXX_ALU64SQ                         0x00000020

    #define     BA_ISA_QA64LD_EXX_ALU64TQ                      0x0014
    #define     B16ISA_QA64LD_EXX_ALU64TQ                      0x0014
    #define   LSb32ISA_QA64LD_EXX_ALU64TQ                         6
    #define   LSb16ISA_QA64LD_EXX_ALU64TQ                         6
    #define       bISA_QA64LD_EXX_ALU64TQ                      1
    #define   MSK32ISA_QA64LD_EXX_ALU64TQ                         0x00000040

    #define     BA_ISA_QA64LD_EXX_ALU64MEM                     0x0014
    #define     B16ISA_QA64LD_EXX_ALU64MEM                     0x0014
    #define   LSb32ISA_QA64LD_EXX_ALU64MEM                        7
    #define   LSb16ISA_QA64LD_EXX_ALU64MEM                        7
    #define       bISA_QA64LD_EXX_ALU64MEM                     1
    #define   MSK32ISA_QA64LD_EXX_ALU64MEM                        0x00000080

    #define     BA_ISA_QA64LD_EXX_BRANCH                       0x0015
    #define     B16ISA_QA64LD_EXX_BRANCH                       0x0014
    #define   LSb32ISA_QA64LD_EXX_BRANCH                          8
    #define   LSb16ISA_QA64LD_EXX_BRANCH                          8
    #define       bISA_QA64LD_EXX_BRANCH                       1
    #define   MSK32ISA_QA64LD_EXX_BRANCH                          0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_QA64LD_WB                               0x0018

    #define     BA_ISA_QA64LD_WB_RF16                          0x0018
    #define     B16ISA_QA64LD_WB_RF16                          0x0018
    #define   LSb32ISA_QA64LD_WB_RF16                             0
    #define   LSb16ISA_QA64LD_WB_RF16                             0
    #define       bISA_QA64LD_WB_RF16                          1
    #define   MSK32ISA_QA64LD_WB_RF16                             0x00000001

    #define     BA_ISA_QA64LD_WB_RF16W0                        0x0018
    #define     B16ISA_QA64LD_WB_RF16W0                        0x0018
    #define   LSb32ISA_QA64LD_WB_RF16W0                           1
    #define   LSb16ISA_QA64LD_WB_RF16W0                           1
    #define       bISA_QA64LD_WB_RF16W0                        1
    #define   MSK32ISA_QA64LD_WB_RF16W0                           0x00000002

    #define     BA_ISA_QA64LD_WB_RF16MEM                       0x0018
    #define     B16ISA_QA64LD_WB_RF16MEM                       0x0018
    #define   LSb32ISA_QA64LD_WB_RF16MEM                          2
    #define   LSb16ISA_QA64LD_WB_RF16MEM                          2
    #define       bISA_QA64LD_WB_RF16MEM                       1
    #define   MSK32ISA_QA64LD_WB_RF16MEM                          0x00000004

    #define     BA_ISA_QA64LD_WB_RF16Q                         0x0018
    #define     B16ISA_QA64LD_WB_RF16Q                         0x0018
    #define   LSb32ISA_QA64LD_WB_RF16Q                            3
    #define   LSb16ISA_QA64LD_WB_RF16Q                            3
    #define       bISA_QA64LD_WB_RF16Q                         1
    #define   MSK32ISA_QA64LD_WB_RF16Q                            0x00000008

    #define     BA_ISA_QA64LD_WB_RF64                          0x0018
    #define     B16ISA_QA64LD_WB_RF64                          0x0018
    #define   LSb32ISA_QA64LD_WB_RF64                             4
    #define   LSb16ISA_QA64LD_WB_RF64                             4
    #define       bISA_QA64LD_WB_RF64                          1
    #define   MSK32ISA_QA64LD_WB_RF64                             0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_QA64LD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_Mask_INS(r32)                    _BFGET_(r32,23, 0)
    #define   SET32ISA_QA64LD_Mask_INS(r32,v)                  _BFSET_(r32,23, 0,v)

    #define     w32ISA_QA64LD_Mask                             {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QA64LD_Mask;
            struct w32ISA_QA64LD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_Opcode_INS(r32)                  _BFGET_(r32,23, 0)
    #define   SET32ISA_QA64LD_Opcode_INS(r32,v)                _BFSET_(r32,23, 0,v)

    #define     w32ISA_QA64LD_Opcode                           {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_QA64LD_Opcode;
            struct w32ISA_QA64LD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_ID_RBRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QA64LD_ID_RBRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QA64LD_ID_RBRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_ID_RBRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_ID_RARF(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QA64LD_ID_RARF(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QA64LD_ID_RARF(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_ID_RARF(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_ID_RAK8(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_QA64LD_ID_RAK8(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QA64LD_ID_RAK8(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_ID_RAK8(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_ID_RAI16(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QA64LD_ID_RAI16(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QA64LD_ID_RAI16(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_ID_RAI16(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_ID_RAK16(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_QA64LD_ID_RAK16(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QA64LD_ID_RAK16(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_ID_RAK16(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_ID_RFSP(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QA64LD_ID_RFSP(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QA64LD_ID_RFSP(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_ID_RFSP(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QA64LD_ID_W4D4(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_QA64LD_ID_W4D4(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QA64LD_ID_W4D4(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_QA64LD_ID_W4D4(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QA64LD_ID_W4S4(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QA64LD_ID_W4S4(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QA64LD_ID_W4S4(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QA64LD_ID_W4S4(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QA64LD_ID                               {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_QA64LD_ID;
            struct w32ISA_QA64LD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_LD_SPRF(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QA64LD_LD_SPRF(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QA64LD_LD_SPRF(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_LD_SPRF(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_LD_SPK8(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_QA64LD_LD_SPK8(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QA64LD_LD_SPK8(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_LD_SPK8(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_LD_SPJ(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_QA64LD_LD_SPJ(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QA64LD_LD_SPJ(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_LD_SPJ(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_LD_SP4S(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_QA64LD_LD_SP4S(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QA64LD_LD_SP4S(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_LD_SP4S(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_LD_SP8S(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QA64LD_LD_SP8S(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QA64LD_LD_SP8S(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_LD_SP8S(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_LD_SP8U(r32)                     _BFGET_(r32, 5, 5)
    #define   SET32ISA_QA64LD_LD_SP8U(r32,v)                   _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QA64LD_LD_SP8U(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_LD_SP8U(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QA64LD_LD_SP12S(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_QA64LD_LD_SP12S(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QA64LD_LD_SP12S(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_QA64LD_LD_SP12S(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QA64LD_LD_SP16(r32)                     _BFGET_(r32, 7, 7)
    #define   SET32ISA_QA64LD_LD_SP16(r32,v)                   _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QA64LD_LD_SP16(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_QA64LD_LD_SP16(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QA64LD_LD_TPRF(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_QA64LD_LD_TPRF(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QA64LD_LD_TPRF(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_QA64LD_LD_TPRF(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QA64LD_LD_TPJ(r32)                      _BFGET_(r32, 9, 9)
    #define   SET32ISA_QA64LD_LD_TPJ(r32,v)                    _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QA64LD_LD_TPJ(r16)                      _BFGET_(r16, 9, 9)
    #define   SET16ISA_QA64LD_LD_TPJ(r16,v)                    _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QA64LD_LD_TP4S(r32)                     _BFGET_(r32,10,10)
    #define   SET32ISA_QA64LD_LD_TP4S(r32,v)                   _BFSET_(r32,10,10,v)
    #define   GET16ISA_QA64LD_LD_TP4S(r16)                     _BFGET_(r16,10,10)
    #define   SET16ISA_QA64LD_LD_TP4S(r16,v)                   _BFSET_(r16,10,10,v)

    #define   GET32ISA_QA64LD_LD_TP8L(r32)                     _BFGET_(r32,11,11)
    #define   SET32ISA_QA64LD_LD_TP8L(r32,v)                   _BFSET_(r32,11,11,v)
    #define   GET16ISA_QA64LD_LD_TP8L(r16)                     _BFGET_(r16,11,11)
    #define   SET16ISA_QA64LD_LD_TP8L(r16,v)                   _BFSET_(r16,11,11,v)

    #define   GET32ISA_QA64LD_LD_TP8H(r32)                     _BFGET_(r32,12,12)
    #define   SET32ISA_QA64LD_LD_TP8H(r32,v)                   _BFSET_(r32,12,12,v)
    #define   GET16ISA_QA64LD_LD_TP8H(r16)                     _BFGET_(r16,12,12)
    #define   SET16ISA_QA64LD_LD_TP8H(r16,v)                   _BFSET_(r16,12,12,v)

    #define   GET32ISA_QA64LD_LD_TP8LF(r32)                    _BFGET_(r32,13,13)
    #define   SET32ISA_QA64LD_LD_TP8LF(r32,v)                  _BFSET_(r32,13,13,v)
    #define   GET16ISA_QA64LD_LD_TP8LF(r16)                    _BFGET_(r16,13,13)
    #define   SET16ISA_QA64LD_LD_TP8LF(r16,v)                  _BFSET_(r16,13,13,v)

    #define   GET32ISA_QA64LD_LD_TP8HF(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_QA64LD_LD_TP8HF(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_QA64LD_LD_TP8HF(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_QA64LD_LD_TP8HF(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_QA64LD_LD_SQRF64(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_QA64LD_LD_SQRF64(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_QA64LD_LD_SQRF64(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_QA64LD_LD_SQRF64(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_QA64LD_LD_TQRF16Q(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QA64LD_LD_TQRF16Q(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QA64LD_LD_TQRF16Q(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_LD_TQRF16Q(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_LD_TQRFx4(r32)                   _BFGET_(r32,17,17)
    #define   SET32ISA_QA64LD_LD_TQRFx4(r32,v)                 _BFSET_(r32,17,17,v)
    #define   GET16ISA_QA64LD_LD_TQRFx4(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_LD_TQRFx4(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_LD_RD(r32)                       _BFGET_(r32,18,18)
    #define   SET32ISA_QA64LD_LD_RD(r32,v)                     _BFSET_(r32,18,18,v)
    #define   GET16ISA_QA64LD_LD_RD(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_LD_RD(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_LD_WARF(r32)                     _BFGET_(r32,19,19)
    #define   SET32ISA_QA64LD_LD_WARF(r32,v)                   _BFSET_(r32,19,19,v)
    #define   GET16ISA_QA64LD_LD_WARF(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_LD_WARF(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_LD_WAK8(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_QA64LD_LD_WAK8(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_QA64LD_LD_WAK8(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_LD_WAK8(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_LD_WAK16(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_QA64LD_LD_WAK16(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_QA64LD_LD_WAK16(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_LD_WAK16(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define     w32ISA_QA64LD_LD                               {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_QA64LD_LD;
            struct w32ISA_QA64LD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_EX_ALU16FlagZ(r32)               _BFGET_(r32, 0, 0)
    #define   SET32ISA_QA64LD_EX_ALU16FlagZ(r32,v)             _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagZ(r16)               _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_EX_ALU16FlagZ(r16,v)             _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_EX_ALU16FlagC(r32)               _BFGET_(r32, 1, 1)
    #define   SET32ISA_QA64LD_EX_ALU16FlagC(r32,v)             _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagC(r16)               _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_EX_ALU16FlagC(r16,v)             _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_EX_ALU16FlagN(r32)               _BFGET_(r32, 2, 2)
    #define   SET32ISA_QA64LD_EX_ALU16FlagN(r32,v)             _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagN(r16)               _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_EX_ALU16FlagN(r16,v)             _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_EX_ALU16FlagV(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QA64LD_EX_ALU16FlagV(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagV(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_EX_ALU16FlagV(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_EX_ALU16FlagTP(r32)              _BFGET_(r32, 4, 4)
    #define   SET32ISA_QA64LD_EX_ALU16FlagTP(r32,v)            _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagTP(r16)              _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_EX_ALU16FlagTP(r16,v)            _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_EX_ALU16MUL(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QA64LD_EX_ALU16MUL(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QA64LD_EX_ALU16MUL(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_EX_ALU16MUL(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QA64LD_EX_ALU16DIV(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QA64LD_EX_ALU16DIV(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QA64LD_EX_ALU16DIV(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QA64LD_EX_ALU16DIV(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QA64LD_EX_ALU16FlagLD(r32)              _BFGET_(r32, 7, 7)
    #define   SET32ISA_QA64LD_EX_ALU16FlagLD(r32,v)            _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QA64LD_EX_ALU16FlagLD(r16)              _BFGET_(r16, 7, 7)
    #define   SET16ISA_QA64LD_EX_ALU16FlagLD(r16,v)            _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QA64LD_EX_ALU16MDL(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_QA64LD_EX_ALU16MDL(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QA64LD_EX_ALU16MDL(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_QA64LD_EX_ALU16MDL(r16,v)               _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_QA64LD_EX_ALU16MDH(r32)                 _BFGET_(r32, 9, 9)
    #define   SET32ISA_QA64LD_EX_ALU16MDH(r32,v)               _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_QA64LD_EX_ALU16MDH(r16)                 _BFGET_(r16, 9, 9)
    #define   SET16ISA_QA64LD_EX_ALU16MDH(r16,v)               _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_QA64LD_EX_ALU16ADD(r32)                 _BFGET_(r32,10,10)
    #define   SET32ISA_QA64LD_EX_ALU16ADD(r32,v)               _BFSET_(r32,10,10,v)
    #define   GET16ISA_QA64LD_EX_ALU16ADD(r16)                 _BFGET_(r16,10,10)
    #define   SET16ISA_QA64LD_EX_ALU16ADD(r16,v)               _BFSET_(r16,10,10,v)

    #define   GET32ISA_QA64LD_EX_ALU16SUB(r32)                 _BFGET_(r32,11,11)
    #define   SET32ISA_QA64LD_EX_ALU16SUB(r32,v)               _BFSET_(r32,11,11,v)
    #define   GET16ISA_QA64LD_EX_ALU16SUB(r16)                 _BFGET_(r16,11,11)
    #define   SET16ISA_QA64LD_EX_ALU16SUB(r16,v)               _BFSET_(r16,11,11,v)

    #define   GET32ISA_QA64LD_EX_ALU16ADDC(r32)                _BFGET_(r32,12,12)
    #define   SET32ISA_QA64LD_EX_ALU16ADDC(r32,v)              _BFSET_(r32,12,12,v)
    #define   GET16ISA_QA64LD_EX_ALU16ADDC(r16)                _BFGET_(r16,12,12)
    #define   SET16ISA_QA64LD_EX_ALU16ADDC(r16,v)              _BFSET_(r16,12,12,v)

    #define   GET32ISA_QA64LD_EX_ALU16SUBC(r32)                _BFGET_(r32,13,13)
    #define   SET32ISA_QA64LD_EX_ALU16SUBC(r32,v)              _BFSET_(r32,13,13,v)
    #define   GET16ISA_QA64LD_EX_ALU16SUBC(r16)                _BFGET_(r16,13,13)
    #define   SET16ISA_QA64LD_EX_ALU16SUBC(r16,v)              _BFSET_(r16,13,13,v)

    #define   GET32ISA_QA64LD_EX_ALU16ASR(r32)                 _BFGET_(r32,14,14)
    #define   SET32ISA_QA64LD_EX_ALU16ASR(r32,v)               _BFSET_(r32,14,14,v)
    #define   GET16ISA_QA64LD_EX_ALU16ASR(r16)                 _BFGET_(r16,14,14)
    #define   SET16ISA_QA64LD_EX_ALU16ASR(r16,v)               _BFSET_(r16,14,14,v)

    #define   GET32ISA_QA64LD_EX_ALU16SL(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_QA64LD_EX_ALU16SL(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_QA64LD_EX_ALU16SL(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_QA64LD_EX_ALU16SL(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_QA64LD_EX_ALU16SR(r32)                  _BFGET_(r32,16,16)
    #define   SET32ISA_QA64LD_EX_ALU16SR(r32,v)                _BFSET_(r32,16,16,v)
    #define   GET16ISA_QA64LD_EX_ALU16SR(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_EX_ALU16SR(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_EX_ALU16GET(r32)                 _BFGET_(r32,17,17)
    #define   SET32ISA_QA64LD_EX_ALU16GET(r32,v)               _BFSET_(r32,17,17,v)
    #define   GET16ISA_QA64LD_EX_ALU16GET(r16)                 _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_EX_ALU16GET(r16,v)               _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_EX_ALU16SET(r32)                 _BFGET_(r32,18,18)
    #define   SET32ISA_QA64LD_EX_ALU16SET(r32,v)               _BFSET_(r32,18,18,v)
    #define   GET16ISA_QA64LD_EX_ALU16SET(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_EX_ALU16SET(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_EX_ALU16SEL(r32)                 _BFGET_(r32,19,19)
    #define   SET32ISA_QA64LD_EX_ALU16SEL(r32,v)               _BFSET_(r32,19,19,v)
    #define   GET16ISA_QA64LD_EX_ALU16SEL(r16)                 _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_EX_ALU16SEL(r16,v)               _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_EX_ALU16OR(r32)                  _BFGET_(r32,20,20)
    #define   SET32ISA_QA64LD_EX_ALU16OR(r32,v)                _BFSET_(r32,20,20,v)
    #define   GET16ISA_QA64LD_EX_ALU16OR(r16)                  _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_EX_ALU16OR(r16,v)                _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_EX_ALU16AND(r32)                 _BFGET_(r32,21,21)
    #define   SET32ISA_QA64LD_EX_ALU16AND(r32,v)               _BFSET_(r32,21,21,v)
    #define   GET16ISA_QA64LD_EX_ALU16AND(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_EX_ALU16AND(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QA64LD_EX_ALU16XOR(r32)                 _BFGET_(r32,22,22)
    #define   SET32ISA_QA64LD_EX_ALU16XOR(r32,v)               _BFSET_(r32,22,22,v)
    #define   GET16ISA_QA64LD_EX_ALU16XOR(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QA64LD_EX_ALU16XOR(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QA64LD_EX_ALU16SP(r32)                  _BFGET_(r32,23,23)
    #define   SET32ISA_QA64LD_EX_ALU16SP(r32,v)                _BFSET_(r32,23,23,v)
    #define   GET16ISA_QA64LD_EX_ALU16SP(r16)                  _BFGET_(r16, 7, 7)
    #define   SET16ISA_QA64LD_EX_ALU16SP(r16,v)                _BFSET_(r16, 7, 7,v)

    #define     w32ISA_QA64LD_EX                               {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_QA64LD_EX;
            struct w32ISA_QA64LD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_EXX_WRSQ(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_QA64LD_EXX_WRSQ(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QA64LD_EXX_WRSQ(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_EXX_WRSQ(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_EXX_WR16(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_QA64LD_EXX_WR16(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QA64LD_EXX_WR16(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_EXX_WR16(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_EXX_WRTQ(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_QA64LD_EXX_WRTQ(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QA64LD_EXX_WRTQ(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_EXX_WRTQ(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_EXX_ALU64PUSH(r32)               _BFGET_(r32, 3, 3)
    #define   SET32ISA_QA64LD_EXX_ALU64PUSH(r32,v)             _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QA64LD_EXX_ALU64PUSH(r16)               _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_EXX_ALU64PUSH(r16,v)             _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_EXX_ALU64POP(r32)                _BFGET_(r32, 4, 4)
    #define   SET32ISA_QA64LD_EXX_ALU64POP(r32,v)              _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QA64LD_EXX_ALU64POP(r16)                _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_EXX_ALU64POP(r16,v)              _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_QA64LD_EXX_ALU64SQ(r32)                 _BFGET_(r32, 5, 5)
    #define   SET32ISA_QA64LD_EXX_ALU64SQ(r32,v)               _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_QA64LD_EXX_ALU64SQ(r16)                 _BFGET_(r16, 5, 5)
    #define   SET16ISA_QA64LD_EXX_ALU64SQ(r16,v)               _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_QA64LD_EXX_ALU64TQ(r32)                 _BFGET_(r32, 6, 6)
    #define   SET32ISA_QA64LD_EXX_ALU64TQ(r32,v)               _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_QA64LD_EXX_ALU64TQ(r16)                 _BFGET_(r16, 6, 6)
    #define   SET16ISA_QA64LD_EXX_ALU64TQ(r16,v)               _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_QA64LD_EXX_ALU64MEM(r32)                _BFGET_(r32, 7, 7)
    #define   SET32ISA_QA64LD_EXX_ALU64MEM(r32,v)              _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_QA64LD_EXX_ALU64MEM(r16)                _BFGET_(r16, 7, 7)
    #define   SET16ISA_QA64LD_EXX_ALU64MEM(r16,v)              _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_QA64LD_EXX_BRANCH(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_QA64LD_EXX_BRANCH(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_QA64LD_EXX_BRANCH(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_QA64LD_EXX_BRANCH(r16,v)                _BFSET_(r16, 8, 8,v)

    #define     w32ISA_QA64LD_EXX                              {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_QA64LD_EXX;
            struct w32ISA_QA64LD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_QA64LD_WB_RF16(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_QA64LD_WB_RF16(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_QA64LD_WB_RF16(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_QA64LD_WB_RF16(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_QA64LD_WB_RF16W0(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_QA64LD_WB_RF16W0(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_QA64LD_WB_RF16W0(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_QA64LD_WB_RF16W0(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_QA64LD_WB_RF16MEM(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_QA64LD_WB_RF16MEM(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_QA64LD_WB_RF16MEM(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_QA64LD_WB_RF16MEM(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_QA64LD_WB_RF16Q(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_QA64LD_WB_RF16Q(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_QA64LD_WB_RF16Q(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_QA64LD_WB_RF16Q(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_QA64LD_WB_RF64(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_QA64LD_WB_RF64(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_QA64LD_WB_RF64(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_QA64LD_WB_RF64(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define     w32ISA_QA64LD_WB                               {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_QA64LD_WB;
            struct w32ISA_QA64LD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_QA64LD;

    typedef union  T32ISA_QA64LD_Mask
          { UNSG32 u32;
            struct w32ISA_QA64LD_Mask;
                 } T32ISA_QA64LD_Mask;
    typedef union  T32ISA_QA64LD_Opcode
          { UNSG32 u32;
            struct w32ISA_QA64LD_Opcode;
                 } T32ISA_QA64LD_Opcode;
    typedef union  T32ISA_QA64LD_ID
          { UNSG32 u32;
            struct w32ISA_QA64LD_ID;
                 } T32ISA_QA64LD_ID;
    typedef union  T32ISA_QA64LD_LD
          { UNSG32 u32;
            struct w32ISA_QA64LD_LD;
                 } T32ISA_QA64LD_LD;
    typedef union  T32ISA_QA64LD_EX
          { UNSG32 u32;
            struct w32ISA_QA64LD_EX;
                 } T32ISA_QA64LD_EX;
    typedef union  T32ISA_QA64LD_EXX
          { UNSG32 u32;
            struct w32ISA_QA64LD_EXX;
                 } T32ISA_QA64LD_EXX;
    typedef union  T32ISA_QA64LD_WB
          { UNSG32 u32;
            struct w32ISA_QA64LD_WB;
                 } T32ISA_QA64LD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_QA64LD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_Mask;
                   };
                 } TISA_QA64LD_Mask;
    typedef union  TISA_QA64LD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_Opcode;
                   };
                 } TISA_QA64LD_Opcode;
    typedef union  TISA_QA64LD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_ID;
                   };
                 } TISA_QA64LD_ID;
    typedef union  TISA_QA64LD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_LD;
                   };
                 } TISA_QA64LD_LD;
    typedef union  TISA_QA64LD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_EX;
                   };
                 } TISA_QA64LD_EX;
    typedef union  TISA_QA64LD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_EXX;
                   };
                 } TISA_QA64LD_EXX;
    typedef union  TISA_QA64LD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_QA64LD_WB;
                   };
                 } TISA_QA64LD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_QA64LD_drvrd(SIE_ISA_QA64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_QA64LD_drvwr(SIE_ISA_QA64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_QA64LD_reset(SIE_ISA_QA64LD *p);
     SIGN32 ISA_QA64LD_cmp  (SIE_ISA_QA64LD *p, SIE_ISA_QA64LD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_QA64LD_check(p,pie,pfx,hLOG) ISA_QA64LD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_QA64LD_print(p,    pfx,hLOG) ISA_QA64LD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_QA64LD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_A64LD                                (4,4)
///     ###
///     * Pop an ALU64 result from customized HW pipeline to a 16b register.
///     * An 8b ALU64.POP opcode will be passed as first argument.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xF00030
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x600030
///                                    ###
///                                    * -                                                                 
///                                    * - { "A64LD"   , "C,rD,rS"     , "0110 NNNN SSSS NNNN --11 DDDD" } ,
///                                    * - Usage:
///                                    * -    A64LD    0, %d1, %a1     ; %d1 = ALU64.POP(0, %a1);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      0x1
///               %unsigned 1  W4D4                      0x1
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      0x1
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  0x1
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    0x1
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_A64LD
#define h_ISA_A64LD (){}

    #define     RA_ISA_A64LD_Mask                              0x0000

    #define     BA_ISA_A64LD_Mask_INS                          0x0000
    #define     B16ISA_A64LD_Mask_INS                          0x0000
    #define   LSb32ISA_A64LD_Mask_INS                             0
    #define   LSb16ISA_A64LD_Mask_INS                             0
    #define       bISA_A64LD_Mask_INS                          24
    #define   MSK32ISA_A64LD_Mask_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_Opcode                            0x0004

    #define     BA_ISA_A64LD_Opcode_INS                        0x0004
    #define     B16ISA_A64LD_Opcode_INS                        0x0004
    #define   LSb32ISA_A64LD_Opcode_INS                           0
    #define   LSb16ISA_A64LD_Opcode_INS                           0
    #define       bISA_A64LD_Opcode_INS                        24
    #define   MSK32ISA_A64LD_Opcode_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_ID                                0x0008

    #define     BA_ISA_A64LD_ID_RBRF                           0x0008
    #define     B16ISA_A64LD_ID_RBRF                           0x0008
    #define   LSb32ISA_A64LD_ID_RBRF                              0
    #define   LSb16ISA_A64LD_ID_RBRF                              0
    #define       bISA_A64LD_ID_RBRF                           1
    #define   MSK32ISA_A64LD_ID_RBRF                              0x00000001

    #define     BA_ISA_A64LD_ID_RARF                           0x0008
    #define     B16ISA_A64LD_ID_RARF                           0x0008
    #define   LSb32ISA_A64LD_ID_RARF                              1
    #define   LSb16ISA_A64LD_ID_RARF                              1
    #define       bISA_A64LD_ID_RARF                           1
    #define   MSK32ISA_A64LD_ID_RARF                              0x00000002

    #define     BA_ISA_A64LD_ID_RAK8                           0x0008
    #define     B16ISA_A64LD_ID_RAK8                           0x0008
    #define   LSb32ISA_A64LD_ID_RAK8                              2
    #define   LSb16ISA_A64LD_ID_RAK8                              2
    #define       bISA_A64LD_ID_RAK8                           1
    #define   MSK32ISA_A64LD_ID_RAK8                              0x00000004

    #define     BA_ISA_A64LD_ID_RAI16                          0x0008
    #define     B16ISA_A64LD_ID_RAI16                          0x0008
    #define   LSb32ISA_A64LD_ID_RAI16                             3
    #define   LSb16ISA_A64LD_ID_RAI16                             3
    #define       bISA_A64LD_ID_RAI16                          1
    #define   MSK32ISA_A64LD_ID_RAI16                             0x00000008

    #define     BA_ISA_A64LD_ID_RAK16                          0x0008
    #define     B16ISA_A64LD_ID_RAK16                          0x0008
    #define   LSb32ISA_A64LD_ID_RAK16                             4
    #define   LSb16ISA_A64LD_ID_RAK16                             4
    #define       bISA_A64LD_ID_RAK16                          1
    #define   MSK32ISA_A64LD_ID_RAK16                             0x00000010

    #define     BA_ISA_A64LD_ID_RFSP                           0x0008
    #define     B16ISA_A64LD_ID_RFSP                           0x0008
    #define   LSb32ISA_A64LD_ID_RFSP                              5
    #define   LSb16ISA_A64LD_ID_RFSP                              5
    #define       bISA_A64LD_ID_RFSP                           1
    #define   MSK32ISA_A64LD_ID_RFSP                              0x00000020

    #define     BA_ISA_A64LD_ID_W4D4                           0x0008
    #define     B16ISA_A64LD_ID_W4D4                           0x0008
    #define   LSb32ISA_A64LD_ID_W4D4                              6
    #define   LSb16ISA_A64LD_ID_W4D4                              6
    #define       bISA_A64LD_ID_W4D4                           1
    #define   MSK32ISA_A64LD_ID_W4D4                              0x00000040

    #define     BA_ISA_A64LD_ID_W4S4                           0x0008
    #define     B16ISA_A64LD_ID_W4S4                           0x0008
    #define   LSb32ISA_A64LD_ID_W4S4                              7
    #define   LSb16ISA_A64LD_ID_W4S4                              7
    #define       bISA_A64LD_ID_W4S4                           1
    #define   MSK32ISA_A64LD_ID_W4S4                              0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_LD                                0x000C

    #define     BA_ISA_A64LD_LD_SPRF                           0x000C
    #define     B16ISA_A64LD_LD_SPRF                           0x000C
    #define   LSb32ISA_A64LD_LD_SPRF                              0
    #define   LSb16ISA_A64LD_LD_SPRF                              0
    #define       bISA_A64LD_LD_SPRF                           1
    #define   MSK32ISA_A64LD_LD_SPRF                              0x00000001

    #define     BA_ISA_A64LD_LD_SPK8                           0x000C
    #define     B16ISA_A64LD_LD_SPK8                           0x000C
    #define   LSb32ISA_A64LD_LD_SPK8                              1
    #define   LSb16ISA_A64LD_LD_SPK8                              1
    #define       bISA_A64LD_LD_SPK8                           1
    #define   MSK32ISA_A64LD_LD_SPK8                              0x00000002

    #define     BA_ISA_A64LD_LD_SPJ                            0x000C
    #define     B16ISA_A64LD_LD_SPJ                            0x000C
    #define   LSb32ISA_A64LD_LD_SPJ                               2
    #define   LSb16ISA_A64LD_LD_SPJ                               2
    #define       bISA_A64LD_LD_SPJ                            1
    #define   MSK32ISA_A64LD_LD_SPJ                               0x00000004

    #define     BA_ISA_A64LD_LD_SP4S                           0x000C
    #define     B16ISA_A64LD_LD_SP4S                           0x000C
    #define   LSb32ISA_A64LD_LD_SP4S                              3
    #define   LSb16ISA_A64LD_LD_SP4S                              3
    #define       bISA_A64LD_LD_SP4S                           1
    #define   MSK32ISA_A64LD_LD_SP4S                              0x00000008

    #define     BA_ISA_A64LD_LD_SP8S                           0x000C
    #define     B16ISA_A64LD_LD_SP8S                           0x000C
    #define   LSb32ISA_A64LD_LD_SP8S                              4
    #define   LSb16ISA_A64LD_LD_SP8S                              4
    #define       bISA_A64LD_LD_SP8S                           1
    #define   MSK32ISA_A64LD_LD_SP8S                              0x00000010

    #define     BA_ISA_A64LD_LD_SP8U                           0x000C
    #define     B16ISA_A64LD_LD_SP8U                           0x000C
    #define   LSb32ISA_A64LD_LD_SP8U                              5
    #define   LSb16ISA_A64LD_LD_SP8U                              5
    #define       bISA_A64LD_LD_SP8U                           1
    #define   MSK32ISA_A64LD_LD_SP8U                              0x00000020

    #define     BA_ISA_A64LD_LD_SP12S                          0x000C
    #define     B16ISA_A64LD_LD_SP12S                          0x000C
    #define   LSb32ISA_A64LD_LD_SP12S                             6
    #define   LSb16ISA_A64LD_LD_SP12S                             6
    #define       bISA_A64LD_LD_SP12S                          1
    #define   MSK32ISA_A64LD_LD_SP12S                             0x00000040

    #define     BA_ISA_A64LD_LD_SP16                           0x000C
    #define     B16ISA_A64LD_LD_SP16                           0x000C
    #define   LSb32ISA_A64LD_LD_SP16                              7
    #define   LSb16ISA_A64LD_LD_SP16                              7
    #define       bISA_A64LD_LD_SP16                           1
    #define   MSK32ISA_A64LD_LD_SP16                              0x00000080

    #define     BA_ISA_A64LD_LD_TPRF                           0x000D
    #define     B16ISA_A64LD_LD_TPRF                           0x000C
    #define   LSb32ISA_A64LD_LD_TPRF                              8
    #define   LSb16ISA_A64LD_LD_TPRF                              8
    #define       bISA_A64LD_LD_TPRF                           1
    #define   MSK32ISA_A64LD_LD_TPRF                              0x00000100

    #define     BA_ISA_A64LD_LD_TPJ                            0x000D
    #define     B16ISA_A64LD_LD_TPJ                            0x000C
    #define   LSb32ISA_A64LD_LD_TPJ                               9
    #define   LSb16ISA_A64LD_LD_TPJ                               9
    #define       bISA_A64LD_LD_TPJ                            1
    #define   MSK32ISA_A64LD_LD_TPJ                               0x00000200

    #define     BA_ISA_A64LD_LD_TP4S                           0x000D
    #define     B16ISA_A64LD_LD_TP4S                           0x000C
    #define   LSb32ISA_A64LD_LD_TP4S                              10
    #define   LSb16ISA_A64LD_LD_TP4S                              10
    #define       bISA_A64LD_LD_TP4S                           1
    #define   MSK32ISA_A64LD_LD_TP4S                              0x00000400

    #define     BA_ISA_A64LD_LD_TP8L                           0x000D
    #define     B16ISA_A64LD_LD_TP8L                           0x000C
    #define   LSb32ISA_A64LD_LD_TP8L                              11
    #define   LSb16ISA_A64LD_LD_TP8L                              11
    #define       bISA_A64LD_LD_TP8L                           1
    #define   MSK32ISA_A64LD_LD_TP8L                              0x00000800

    #define     BA_ISA_A64LD_LD_TP8H                           0x000D
    #define     B16ISA_A64LD_LD_TP8H                           0x000C
    #define   LSb32ISA_A64LD_LD_TP8H                              12
    #define   LSb16ISA_A64LD_LD_TP8H                              12
    #define       bISA_A64LD_LD_TP8H                           1
    #define   MSK32ISA_A64LD_LD_TP8H                              0x00001000

    #define     BA_ISA_A64LD_LD_TP8LF                          0x000D
    #define     B16ISA_A64LD_LD_TP8LF                          0x000C
    #define   LSb32ISA_A64LD_LD_TP8LF                             13
    #define   LSb16ISA_A64LD_LD_TP8LF                             13
    #define       bISA_A64LD_LD_TP8LF                          1
    #define   MSK32ISA_A64LD_LD_TP8LF                             0x00002000

    #define     BA_ISA_A64LD_LD_TP8HF                          0x000D
    #define     B16ISA_A64LD_LD_TP8HF                          0x000C
    #define   LSb32ISA_A64LD_LD_TP8HF                             14
    #define   LSb16ISA_A64LD_LD_TP8HF                             14
    #define       bISA_A64LD_LD_TP8HF                          1
    #define   MSK32ISA_A64LD_LD_TP8HF                             0x00004000

    #define     BA_ISA_A64LD_LD_SQRF64                         0x000D
    #define     B16ISA_A64LD_LD_SQRF64                         0x000C
    #define   LSb32ISA_A64LD_LD_SQRF64                            15
    #define   LSb16ISA_A64LD_LD_SQRF64                            15
    #define       bISA_A64LD_LD_SQRF64                         1
    #define   MSK32ISA_A64LD_LD_SQRF64                            0x00008000

    #define     BA_ISA_A64LD_LD_TQRF16Q                        0x000E
    #define     B16ISA_A64LD_LD_TQRF16Q                        0x000E
    #define   LSb32ISA_A64LD_LD_TQRF16Q                           16
    #define   LSb16ISA_A64LD_LD_TQRF16Q                           0
    #define       bISA_A64LD_LD_TQRF16Q                        1
    #define   MSK32ISA_A64LD_LD_TQRF16Q                           0x00010000

    #define     BA_ISA_A64LD_LD_TQRFx4                         0x000E
    #define     B16ISA_A64LD_LD_TQRFx4                         0x000E
    #define   LSb32ISA_A64LD_LD_TQRFx4                            17
    #define   LSb16ISA_A64LD_LD_TQRFx4                            1
    #define       bISA_A64LD_LD_TQRFx4                         1
    #define   MSK32ISA_A64LD_LD_TQRFx4                            0x00020000

    #define     BA_ISA_A64LD_LD_RD                             0x000E
    #define     B16ISA_A64LD_LD_RD                             0x000E
    #define   LSb32ISA_A64LD_LD_RD                                18
    #define   LSb16ISA_A64LD_LD_RD                                2
    #define       bISA_A64LD_LD_RD                             1
    #define   MSK32ISA_A64LD_LD_RD                                0x00040000

    #define     BA_ISA_A64LD_LD_WARF                           0x000E
    #define     B16ISA_A64LD_LD_WARF                           0x000E
    #define   LSb32ISA_A64LD_LD_WARF                              19
    #define   LSb16ISA_A64LD_LD_WARF                              3
    #define       bISA_A64LD_LD_WARF                           1
    #define   MSK32ISA_A64LD_LD_WARF                              0x00080000

    #define     BA_ISA_A64LD_LD_WAK8                           0x000E
    #define     B16ISA_A64LD_LD_WAK8                           0x000E
    #define   LSb32ISA_A64LD_LD_WAK8                              20
    #define   LSb16ISA_A64LD_LD_WAK8                              4
    #define       bISA_A64LD_LD_WAK8                           1
    #define   MSK32ISA_A64LD_LD_WAK8                              0x00100000

    #define     BA_ISA_A64LD_LD_WAK16                          0x000E
    #define     B16ISA_A64LD_LD_WAK16                          0x000E
    #define   LSb32ISA_A64LD_LD_WAK16                             21
    #define   LSb16ISA_A64LD_LD_WAK16                             5
    #define       bISA_A64LD_LD_WAK16                          1
    #define   MSK32ISA_A64LD_LD_WAK16                             0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_EX                                0x0010

    #define     BA_ISA_A64LD_EX_ALU16FlagZ                     0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagZ                     0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagZ                        0
    #define   LSb16ISA_A64LD_EX_ALU16FlagZ                        0
    #define       bISA_A64LD_EX_ALU16FlagZ                     1
    #define   MSK32ISA_A64LD_EX_ALU16FlagZ                        0x00000001

    #define     BA_ISA_A64LD_EX_ALU16FlagC                     0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagC                     0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagC                        1
    #define   LSb16ISA_A64LD_EX_ALU16FlagC                        1
    #define       bISA_A64LD_EX_ALU16FlagC                     1
    #define   MSK32ISA_A64LD_EX_ALU16FlagC                        0x00000002

    #define     BA_ISA_A64LD_EX_ALU16FlagN                     0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagN                     0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagN                        2
    #define   LSb16ISA_A64LD_EX_ALU16FlagN                        2
    #define       bISA_A64LD_EX_ALU16FlagN                     1
    #define   MSK32ISA_A64LD_EX_ALU16FlagN                        0x00000004

    #define     BA_ISA_A64LD_EX_ALU16FlagV                     0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagV                     0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagV                        3
    #define   LSb16ISA_A64LD_EX_ALU16FlagV                        3
    #define       bISA_A64LD_EX_ALU16FlagV                     1
    #define   MSK32ISA_A64LD_EX_ALU16FlagV                        0x00000008

    #define     BA_ISA_A64LD_EX_ALU16FlagTP                    0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagTP                    0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagTP                       4
    #define   LSb16ISA_A64LD_EX_ALU16FlagTP                       4
    #define       bISA_A64LD_EX_ALU16FlagTP                    1
    #define   MSK32ISA_A64LD_EX_ALU16FlagTP                       0x00000010

    #define     BA_ISA_A64LD_EX_ALU16MUL                       0x0010
    #define     B16ISA_A64LD_EX_ALU16MUL                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16MUL                          5
    #define   LSb16ISA_A64LD_EX_ALU16MUL                          5
    #define       bISA_A64LD_EX_ALU16MUL                       1
    #define   MSK32ISA_A64LD_EX_ALU16MUL                          0x00000020

    #define     BA_ISA_A64LD_EX_ALU16DIV                       0x0010
    #define     B16ISA_A64LD_EX_ALU16DIV                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16DIV                          6
    #define   LSb16ISA_A64LD_EX_ALU16DIV                          6
    #define       bISA_A64LD_EX_ALU16DIV                       1
    #define   MSK32ISA_A64LD_EX_ALU16DIV                          0x00000040

    #define     BA_ISA_A64LD_EX_ALU16FlagLD                    0x0010
    #define     B16ISA_A64LD_EX_ALU16FlagLD                    0x0010
    #define   LSb32ISA_A64LD_EX_ALU16FlagLD                       7
    #define   LSb16ISA_A64LD_EX_ALU16FlagLD                       7
    #define       bISA_A64LD_EX_ALU16FlagLD                    1
    #define   MSK32ISA_A64LD_EX_ALU16FlagLD                       0x00000080

    #define     BA_ISA_A64LD_EX_ALU16MDL                       0x0011
    #define     B16ISA_A64LD_EX_ALU16MDL                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16MDL                          8
    #define   LSb16ISA_A64LD_EX_ALU16MDL                          8
    #define       bISA_A64LD_EX_ALU16MDL                       1
    #define   MSK32ISA_A64LD_EX_ALU16MDL                          0x00000100

    #define     BA_ISA_A64LD_EX_ALU16MDH                       0x0011
    #define     B16ISA_A64LD_EX_ALU16MDH                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16MDH                          9
    #define   LSb16ISA_A64LD_EX_ALU16MDH                          9
    #define       bISA_A64LD_EX_ALU16MDH                       1
    #define   MSK32ISA_A64LD_EX_ALU16MDH                          0x00000200

    #define     BA_ISA_A64LD_EX_ALU16ADD                       0x0011
    #define     B16ISA_A64LD_EX_ALU16ADD                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16ADD                          10
    #define   LSb16ISA_A64LD_EX_ALU16ADD                          10
    #define       bISA_A64LD_EX_ALU16ADD                       1
    #define   MSK32ISA_A64LD_EX_ALU16ADD                          0x00000400

    #define     BA_ISA_A64LD_EX_ALU16SUB                       0x0011
    #define     B16ISA_A64LD_EX_ALU16SUB                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16SUB                          11
    #define   LSb16ISA_A64LD_EX_ALU16SUB                          11
    #define       bISA_A64LD_EX_ALU16SUB                       1
    #define   MSK32ISA_A64LD_EX_ALU16SUB                          0x00000800

    #define     BA_ISA_A64LD_EX_ALU16ADDC                      0x0011
    #define     B16ISA_A64LD_EX_ALU16ADDC                      0x0010
    #define   LSb32ISA_A64LD_EX_ALU16ADDC                         12
    #define   LSb16ISA_A64LD_EX_ALU16ADDC                         12
    #define       bISA_A64LD_EX_ALU16ADDC                      1
    #define   MSK32ISA_A64LD_EX_ALU16ADDC                         0x00001000

    #define     BA_ISA_A64LD_EX_ALU16SUBC                      0x0011
    #define     B16ISA_A64LD_EX_ALU16SUBC                      0x0010
    #define   LSb32ISA_A64LD_EX_ALU16SUBC                         13
    #define   LSb16ISA_A64LD_EX_ALU16SUBC                         13
    #define       bISA_A64LD_EX_ALU16SUBC                      1
    #define   MSK32ISA_A64LD_EX_ALU16SUBC                         0x00002000

    #define     BA_ISA_A64LD_EX_ALU16ASR                       0x0011
    #define     B16ISA_A64LD_EX_ALU16ASR                       0x0010
    #define   LSb32ISA_A64LD_EX_ALU16ASR                          14
    #define   LSb16ISA_A64LD_EX_ALU16ASR                          14
    #define       bISA_A64LD_EX_ALU16ASR                       1
    #define   MSK32ISA_A64LD_EX_ALU16ASR                          0x00004000

    #define     BA_ISA_A64LD_EX_ALU16SL                        0x0011
    #define     B16ISA_A64LD_EX_ALU16SL                        0x0010
    #define   LSb32ISA_A64LD_EX_ALU16SL                           15
    #define   LSb16ISA_A64LD_EX_ALU16SL                           15
    #define       bISA_A64LD_EX_ALU16SL                        1
    #define   MSK32ISA_A64LD_EX_ALU16SL                           0x00008000

    #define     BA_ISA_A64LD_EX_ALU16SR                        0x0012
    #define     B16ISA_A64LD_EX_ALU16SR                        0x0012
    #define   LSb32ISA_A64LD_EX_ALU16SR                           16
    #define   LSb16ISA_A64LD_EX_ALU16SR                           0
    #define       bISA_A64LD_EX_ALU16SR                        1
    #define   MSK32ISA_A64LD_EX_ALU16SR                           0x00010000

    #define     BA_ISA_A64LD_EX_ALU16GET                       0x0012
    #define     B16ISA_A64LD_EX_ALU16GET                       0x0012
    #define   LSb32ISA_A64LD_EX_ALU16GET                          17
    #define   LSb16ISA_A64LD_EX_ALU16GET                          1
    #define       bISA_A64LD_EX_ALU16GET                       1
    #define   MSK32ISA_A64LD_EX_ALU16GET                          0x00020000

    #define     BA_ISA_A64LD_EX_ALU16SET                       0x0012
    #define     B16ISA_A64LD_EX_ALU16SET                       0x0012
    #define   LSb32ISA_A64LD_EX_ALU16SET                          18
    #define   LSb16ISA_A64LD_EX_ALU16SET                          2
    #define       bISA_A64LD_EX_ALU16SET                       1
    #define   MSK32ISA_A64LD_EX_ALU16SET                          0x00040000

    #define     BA_ISA_A64LD_EX_ALU16SEL                       0x0012
    #define     B16ISA_A64LD_EX_ALU16SEL                       0x0012
    #define   LSb32ISA_A64LD_EX_ALU16SEL                          19
    #define   LSb16ISA_A64LD_EX_ALU16SEL                          3
    #define       bISA_A64LD_EX_ALU16SEL                       1
    #define   MSK32ISA_A64LD_EX_ALU16SEL                          0x00080000

    #define     BA_ISA_A64LD_EX_ALU16OR                        0x0012
    #define     B16ISA_A64LD_EX_ALU16OR                        0x0012
    #define   LSb32ISA_A64LD_EX_ALU16OR                           20
    #define   LSb16ISA_A64LD_EX_ALU16OR                           4
    #define       bISA_A64LD_EX_ALU16OR                        1
    #define   MSK32ISA_A64LD_EX_ALU16OR                           0x00100000

    #define     BA_ISA_A64LD_EX_ALU16AND                       0x0012
    #define     B16ISA_A64LD_EX_ALU16AND                       0x0012
    #define   LSb32ISA_A64LD_EX_ALU16AND                          21
    #define   LSb16ISA_A64LD_EX_ALU16AND                          5
    #define       bISA_A64LD_EX_ALU16AND                       1
    #define   MSK32ISA_A64LD_EX_ALU16AND                          0x00200000

    #define     BA_ISA_A64LD_EX_ALU16XOR                       0x0012
    #define     B16ISA_A64LD_EX_ALU16XOR                       0x0012
    #define   LSb32ISA_A64LD_EX_ALU16XOR                          22
    #define   LSb16ISA_A64LD_EX_ALU16XOR                          6
    #define       bISA_A64LD_EX_ALU16XOR                       1
    #define   MSK32ISA_A64LD_EX_ALU16XOR                          0x00400000

    #define     BA_ISA_A64LD_EX_ALU16SP                        0x0012
    #define     B16ISA_A64LD_EX_ALU16SP                        0x0012
    #define   LSb32ISA_A64LD_EX_ALU16SP                           23
    #define   LSb16ISA_A64LD_EX_ALU16SP                           7
    #define       bISA_A64LD_EX_ALU16SP                        1
    #define   MSK32ISA_A64LD_EX_ALU16SP                           0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_EXX                               0x0014

    #define     BA_ISA_A64LD_EXX_WRSQ                          0x0014
    #define     B16ISA_A64LD_EXX_WRSQ                          0x0014
    #define   LSb32ISA_A64LD_EXX_WRSQ                             0
    #define   LSb16ISA_A64LD_EXX_WRSQ                             0
    #define       bISA_A64LD_EXX_WRSQ                          1
    #define   MSK32ISA_A64LD_EXX_WRSQ                             0x00000001

    #define     BA_ISA_A64LD_EXX_WR16                          0x0014
    #define     B16ISA_A64LD_EXX_WR16                          0x0014
    #define   LSb32ISA_A64LD_EXX_WR16                             1
    #define   LSb16ISA_A64LD_EXX_WR16                             1
    #define       bISA_A64LD_EXX_WR16                          1
    #define   MSK32ISA_A64LD_EXX_WR16                             0x00000002

    #define     BA_ISA_A64LD_EXX_WRTQ                          0x0014
    #define     B16ISA_A64LD_EXX_WRTQ                          0x0014
    #define   LSb32ISA_A64LD_EXX_WRTQ                             2
    #define   LSb16ISA_A64LD_EXX_WRTQ                             2
    #define       bISA_A64LD_EXX_WRTQ                          1
    #define   MSK32ISA_A64LD_EXX_WRTQ                             0x00000004

    #define     BA_ISA_A64LD_EXX_ALU64PUSH                     0x0014
    #define     B16ISA_A64LD_EXX_ALU64PUSH                     0x0014
    #define   LSb32ISA_A64LD_EXX_ALU64PUSH                        3
    #define   LSb16ISA_A64LD_EXX_ALU64PUSH                        3
    #define       bISA_A64LD_EXX_ALU64PUSH                     1
    #define   MSK32ISA_A64LD_EXX_ALU64PUSH                        0x00000008

    #define     BA_ISA_A64LD_EXX_ALU64POP                      0x0014
    #define     B16ISA_A64LD_EXX_ALU64POP                      0x0014
    #define   LSb32ISA_A64LD_EXX_ALU64POP                         4
    #define   LSb16ISA_A64LD_EXX_ALU64POP                         4
    #define       bISA_A64LD_EXX_ALU64POP                      1
    #define   MSK32ISA_A64LD_EXX_ALU64POP                         0x00000010

    #define     BA_ISA_A64LD_EXX_ALU64SQ                       0x0014
    #define     B16ISA_A64LD_EXX_ALU64SQ                       0x0014
    #define   LSb32ISA_A64LD_EXX_ALU64SQ                          5
    #define   LSb16ISA_A64LD_EXX_ALU64SQ                          5
    #define       bISA_A64LD_EXX_ALU64SQ                       1
    #define   MSK32ISA_A64LD_EXX_ALU64SQ                          0x00000020

    #define     BA_ISA_A64LD_EXX_ALU64TQ                       0x0014
    #define     B16ISA_A64LD_EXX_ALU64TQ                       0x0014
    #define   LSb32ISA_A64LD_EXX_ALU64TQ                          6
    #define   LSb16ISA_A64LD_EXX_ALU64TQ                          6
    #define       bISA_A64LD_EXX_ALU64TQ                       1
    #define   MSK32ISA_A64LD_EXX_ALU64TQ                          0x00000040

    #define     BA_ISA_A64LD_EXX_ALU64MEM                      0x0014
    #define     B16ISA_A64LD_EXX_ALU64MEM                      0x0014
    #define   LSb32ISA_A64LD_EXX_ALU64MEM                         7
    #define   LSb16ISA_A64LD_EXX_ALU64MEM                         7
    #define       bISA_A64LD_EXX_ALU64MEM                      1
    #define   MSK32ISA_A64LD_EXX_ALU64MEM                         0x00000080

    #define     BA_ISA_A64LD_EXX_BRANCH                        0x0015
    #define     B16ISA_A64LD_EXX_BRANCH                        0x0014
    #define   LSb32ISA_A64LD_EXX_BRANCH                           8
    #define   LSb16ISA_A64LD_EXX_BRANCH                           8
    #define       bISA_A64LD_EXX_BRANCH                        1
    #define   MSK32ISA_A64LD_EXX_BRANCH                           0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_A64LD_WB                                0x0018

    #define     BA_ISA_A64LD_WB_RF16                           0x0018
    #define     B16ISA_A64LD_WB_RF16                           0x0018
    #define   LSb32ISA_A64LD_WB_RF16                              0
    #define   LSb16ISA_A64LD_WB_RF16                              0
    #define       bISA_A64LD_WB_RF16                           1
    #define   MSK32ISA_A64LD_WB_RF16                              0x00000001

    #define     BA_ISA_A64LD_WB_RF16W0                         0x0018
    #define     B16ISA_A64LD_WB_RF16W0                         0x0018
    #define   LSb32ISA_A64LD_WB_RF16W0                            1
    #define   LSb16ISA_A64LD_WB_RF16W0                            1
    #define       bISA_A64LD_WB_RF16W0                         1
    #define   MSK32ISA_A64LD_WB_RF16W0                            0x00000002

    #define     BA_ISA_A64LD_WB_RF16MEM                        0x0018
    #define     B16ISA_A64LD_WB_RF16MEM                        0x0018
    #define   LSb32ISA_A64LD_WB_RF16MEM                           2
    #define   LSb16ISA_A64LD_WB_RF16MEM                           2
    #define       bISA_A64LD_WB_RF16MEM                        1
    #define   MSK32ISA_A64LD_WB_RF16MEM                           0x00000004

    #define     BA_ISA_A64LD_WB_RF16Q                          0x0018
    #define     B16ISA_A64LD_WB_RF16Q                          0x0018
    #define   LSb32ISA_A64LD_WB_RF16Q                             3
    #define   LSb16ISA_A64LD_WB_RF16Q                             3
    #define       bISA_A64LD_WB_RF16Q                          1
    #define   MSK32ISA_A64LD_WB_RF16Q                             0x00000008

    #define     BA_ISA_A64LD_WB_RF64                           0x0018
    #define     B16ISA_A64LD_WB_RF64                           0x0018
    #define   LSb32ISA_A64LD_WB_RF64                              4
    #define   LSb16ISA_A64LD_WB_RF64                              4
    #define       bISA_A64LD_WB_RF64                           1
    #define   MSK32ISA_A64LD_WB_RF64                              0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_A64LD {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_Mask_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_A64LD_Mask_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_A64LD_Mask                              {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_A64LD_Mask;
            struct w32ISA_A64LD_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_Opcode_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_A64LD_Opcode_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_A64LD_Opcode                            {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_A64LD_Opcode;
            struct w32ISA_A64LD_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_ID_RBRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64LD_ID_RBRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64LD_ID_RBRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_ID_RBRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_ID_RARF(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64LD_ID_RARF(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64LD_ID_RARF(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_ID_RARF(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_ID_RAK8(r32)                      _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64LD_ID_RAK8(r32,v)                    _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64LD_ID_RAK8(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_ID_RAK8(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_ID_RAI16(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64LD_ID_RAI16(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64LD_ID_RAI16(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_ID_RAI16(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_ID_RAK16(r32)                     _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64LD_ID_RAK16(r32,v)                   _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64LD_ID_RAK16(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_ID_RAK16(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_ID_RFSP(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64LD_ID_RFSP(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64LD_ID_RFSP(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_ID_RFSP(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64LD_ID_W4D4(r32)                      _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64LD_ID_W4D4(r32,v)                    _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64LD_ID_W4D4(r16)                      _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64LD_ID_W4D4(r16,v)                    _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64LD_ID_W4S4(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64LD_ID_W4S4(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64LD_ID_W4S4(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64LD_ID_W4S4(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define     w32ISA_A64LD_ID                                {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_A64LD_ID;
            struct w32ISA_A64LD_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_LD_SPRF(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64LD_LD_SPRF(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64LD_LD_SPRF(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_LD_SPRF(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_LD_SPK8(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64LD_LD_SPK8(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64LD_LD_SPK8(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_LD_SPK8(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_LD_SPJ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64LD_LD_SPJ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64LD_LD_SPJ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_LD_SPJ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_LD_SP4S(r32)                      _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64LD_LD_SP4S(r32,v)                    _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64LD_LD_SP4S(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_LD_SP4S(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_LD_SP8S(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64LD_LD_SP8S(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64LD_LD_SP8S(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_LD_SP8S(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_LD_SP8U(r32)                      _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64LD_LD_SP8U(r32,v)                    _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64LD_LD_SP8U(r16)                      _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_LD_SP8U(r16,v)                    _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64LD_LD_SP12S(r32)                     _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64LD_LD_SP12S(r32,v)                   _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64LD_LD_SP12S(r16)                     _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64LD_LD_SP12S(r16,v)                   _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64LD_LD_SP16(r32)                      _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64LD_LD_SP16(r32,v)                    _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64LD_LD_SP16(r16)                      _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64LD_LD_SP16(r16,v)                    _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64LD_LD_TPRF(r32)                      _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64LD_LD_TPRF(r32,v)                    _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64LD_LD_TPRF(r16)                      _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64LD_LD_TPRF(r16,v)                    _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_A64LD_LD_TPJ(r32)                       _BFGET_(r32, 9, 9)
    #define   SET32ISA_A64LD_LD_TPJ(r32,v)                     _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_A64LD_LD_TPJ(r16)                       _BFGET_(r16, 9, 9)
    #define   SET16ISA_A64LD_LD_TPJ(r16,v)                     _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_A64LD_LD_TP4S(r32)                      _BFGET_(r32,10,10)
    #define   SET32ISA_A64LD_LD_TP4S(r32,v)                    _BFSET_(r32,10,10,v)
    #define   GET16ISA_A64LD_LD_TP4S(r16)                      _BFGET_(r16,10,10)
    #define   SET16ISA_A64LD_LD_TP4S(r16,v)                    _BFSET_(r16,10,10,v)

    #define   GET32ISA_A64LD_LD_TP8L(r32)                      _BFGET_(r32,11,11)
    #define   SET32ISA_A64LD_LD_TP8L(r32,v)                    _BFSET_(r32,11,11,v)
    #define   GET16ISA_A64LD_LD_TP8L(r16)                      _BFGET_(r16,11,11)
    #define   SET16ISA_A64LD_LD_TP8L(r16,v)                    _BFSET_(r16,11,11,v)

    #define   GET32ISA_A64LD_LD_TP8H(r32)                      _BFGET_(r32,12,12)
    #define   SET32ISA_A64LD_LD_TP8H(r32,v)                    _BFSET_(r32,12,12,v)
    #define   GET16ISA_A64LD_LD_TP8H(r16)                      _BFGET_(r16,12,12)
    #define   SET16ISA_A64LD_LD_TP8H(r16,v)                    _BFSET_(r16,12,12,v)

    #define   GET32ISA_A64LD_LD_TP8LF(r32)                     _BFGET_(r32,13,13)
    #define   SET32ISA_A64LD_LD_TP8LF(r32,v)                   _BFSET_(r32,13,13,v)
    #define   GET16ISA_A64LD_LD_TP8LF(r16)                     _BFGET_(r16,13,13)
    #define   SET16ISA_A64LD_LD_TP8LF(r16,v)                   _BFSET_(r16,13,13,v)

    #define   GET32ISA_A64LD_LD_TP8HF(r32)                     _BFGET_(r32,14,14)
    #define   SET32ISA_A64LD_LD_TP8HF(r32,v)                   _BFSET_(r32,14,14,v)
    #define   GET16ISA_A64LD_LD_TP8HF(r16)                     _BFGET_(r16,14,14)
    #define   SET16ISA_A64LD_LD_TP8HF(r16,v)                   _BFSET_(r16,14,14,v)

    #define   GET32ISA_A64LD_LD_SQRF64(r32)                    _BFGET_(r32,15,15)
    #define   SET32ISA_A64LD_LD_SQRF64(r32,v)                  _BFSET_(r32,15,15,v)
    #define   GET16ISA_A64LD_LD_SQRF64(r16)                    _BFGET_(r16,15,15)
    #define   SET16ISA_A64LD_LD_SQRF64(r16,v)                  _BFSET_(r16,15,15,v)

    #define   GET32ISA_A64LD_LD_TQRF16Q(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_A64LD_LD_TQRF16Q(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_A64LD_LD_TQRF16Q(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_LD_TQRF16Q(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_LD_TQRFx4(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_A64LD_LD_TQRFx4(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_A64LD_LD_TQRFx4(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_LD_TQRFx4(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_LD_RD(r32)                        _BFGET_(r32,18,18)
    #define   SET32ISA_A64LD_LD_RD(r32,v)                      _BFSET_(r32,18,18,v)
    #define   GET16ISA_A64LD_LD_RD(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_LD_RD(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_LD_WARF(r32)                      _BFGET_(r32,19,19)
    #define   SET32ISA_A64LD_LD_WARF(r32,v)                    _BFSET_(r32,19,19,v)
    #define   GET16ISA_A64LD_LD_WARF(r16)                      _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_LD_WARF(r16,v)                    _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_LD_WAK8(r32)                      _BFGET_(r32,20,20)
    #define   SET32ISA_A64LD_LD_WAK8(r32,v)                    _BFSET_(r32,20,20,v)
    #define   GET16ISA_A64LD_LD_WAK8(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_LD_WAK8(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_LD_WAK16(r32)                     _BFGET_(r32,21,21)
    #define   SET32ISA_A64LD_LD_WAK16(r32,v)                   _BFSET_(r32,21,21,v)
    #define   GET16ISA_A64LD_LD_WAK16(r16)                     _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_LD_WAK16(r16,v)                   _BFSET_(r16, 5, 5,v)

    #define     w32ISA_A64LD_LD                                {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_A64LD_LD;
            struct w32ISA_A64LD_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_EX_ALU16FlagZ(r32)                _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64LD_EX_ALU16FlagZ(r32,v)              _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagZ(r16)                _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_EX_ALU16FlagZ(r16,v)              _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_EX_ALU16FlagC(r32)                _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64LD_EX_ALU16FlagC(r32,v)              _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagC(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_EX_ALU16FlagC(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_EX_ALU16FlagN(r32)                _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64LD_EX_ALU16FlagN(r32,v)              _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagN(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_EX_ALU16FlagN(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_EX_ALU16FlagV(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64LD_EX_ALU16FlagV(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagV(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_EX_ALU16FlagV(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_EX_ALU16FlagTP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64LD_EX_ALU16FlagTP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagTP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_EX_ALU16FlagTP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_EX_ALU16MUL(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64LD_EX_ALU16MUL(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64LD_EX_ALU16MUL(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_EX_ALU16MUL(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64LD_EX_ALU16DIV(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64LD_EX_ALU16DIV(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64LD_EX_ALU16DIV(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64LD_EX_ALU16DIV(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64LD_EX_ALU16FlagLD(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64LD_EX_ALU16FlagLD(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64LD_EX_ALU16FlagLD(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64LD_EX_ALU16FlagLD(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64LD_EX_ALU16MDL(r32)                  _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64LD_EX_ALU16MDL(r32,v)                _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64LD_EX_ALU16MDL(r16)                  _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64LD_EX_ALU16MDL(r16,v)                _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_A64LD_EX_ALU16MDH(r32)                  _BFGET_(r32, 9, 9)
    #define   SET32ISA_A64LD_EX_ALU16MDH(r32,v)                _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_A64LD_EX_ALU16MDH(r16)                  _BFGET_(r16, 9, 9)
    #define   SET16ISA_A64LD_EX_ALU16MDH(r16,v)                _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_A64LD_EX_ALU16ADD(r32)                  _BFGET_(r32,10,10)
    #define   SET32ISA_A64LD_EX_ALU16ADD(r32,v)                _BFSET_(r32,10,10,v)
    #define   GET16ISA_A64LD_EX_ALU16ADD(r16)                  _BFGET_(r16,10,10)
    #define   SET16ISA_A64LD_EX_ALU16ADD(r16,v)                _BFSET_(r16,10,10,v)

    #define   GET32ISA_A64LD_EX_ALU16SUB(r32)                  _BFGET_(r32,11,11)
    #define   SET32ISA_A64LD_EX_ALU16SUB(r32,v)                _BFSET_(r32,11,11,v)
    #define   GET16ISA_A64LD_EX_ALU16SUB(r16)                  _BFGET_(r16,11,11)
    #define   SET16ISA_A64LD_EX_ALU16SUB(r16,v)                _BFSET_(r16,11,11,v)

    #define   GET32ISA_A64LD_EX_ALU16ADDC(r32)                 _BFGET_(r32,12,12)
    #define   SET32ISA_A64LD_EX_ALU16ADDC(r32,v)               _BFSET_(r32,12,12,v)
    #define   GET16ISA_A64LD_EX_ALU16ADDC(r16)                 _BFGET_(r16,12,12)
    #define   SET16ISA_A64LD_EX_ALU16ADDC(r16,v)               _BFSET_(r16,12,12,v)

    #define   GET32ISA_A64LD_EX_ALU16SUBC(r32)                 _BFGET_(r32,13,13)
    #define   SET32ISA_A64LD_EX_ALU16SUBC(r32,v)               _BFSET_(r32,13,13,v)
    #define   GET16ISA_A64LD_EX_ALU16SUBC(r16)                 _BFGET_(r16,13,13)
    #define   SET16ISA_A64LD_EX_ALU16SUBC(r16,v)               _BFSET_(r16,13,13,v)

    #define   GET32ISA_A64LD_EX_ALU16ASR(r32)                  _BFGET_(r32,14,14)
    #define   SET32ISA_A64LD_EX_ALU16ASR(r32,v)                _BFSET_(r32,14,14,v)
    #define   GET16ISA_A64LD_EX_ALU16ASR(r16)                  _BFGET_(r16,14,14)
    #define   SET16ISA_A64LD_EX_ALU16ASR(r16,v)                _BFSET_(r16,14,14,v)

    #define   GET32ISA_A64LD_EX_ALU16SL(r32)                   _BFGET_(r32,15,15)
    #define   SET32ISA_A64LD_EX_ALU16SL(r32,v)                 _BFSET_(r32,15,15,v)
    #define   GET16ISA_A64LD_EX_ALU16SL(r16)                   _BFGET_(r16,15,15)
    #define   SET16ISA_A64LD_EX_ALU16SL(r16,v)                 _BFSET_(r16,15,15,v)

    #define   GET32ISA_A64LD_EX_ALU16SR(r32)                   _BFGET_(r32,16,16)
    #define   SET32ISA_A64LD_EX_ALU16SR(r32,v)                 _BFSET_(r32,16,16,v)
    #define   GET16ISA_A64LD_EX_ALU16SR(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_EX_ALU16SR(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_EX_ALU16GET(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_A64LD_EX_ALU16GET(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_A64LD_EX_ALU16GET(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_EX_ALU16GET(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_EX_ALU16SET(r32)                  _BFGET_(r32,18,18)
    #define   SET32ISA_A64LD_EX_ALU16SET(r32,v)                _BFSET_(r32,18,18,v)
    #define   GET16ISA_A64LD_EX_ALU16SET(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_EX_ALU16SET(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_EX_ALU16SEL(r32)                  _BFGET_(r32,19,19)
    #define   SET32ISA_A64LD_EX_ALU16SEL(r32,v)                _BFSET_(r32,19,19,v)
    #define   GET16ISA_A64LD_EX_ALU16SEL(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_EX_ALU16SEL(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_EX_ALU16OR(r32)                   _BFGET_(r32,20,20)
    #define   SET32ISA_A64LD_EX_ALU16OR(r32,v)                 _BFSET_(r32,20,20,v)
    #define   GET16ISA_A64LD_EX_ALU16OR(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_EX_ALU16OR(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_EX_ALU16AND(r32)                  _BFGET_(r32,21,21)
    #define   SET32ISA_A64LD_EX_ALU16AND(r32,v)                _BFSET_(r32,21,21,v)
    #define   GET16ISA_A64LD_EX_ALU16AND(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_EX_ALU16AND(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64LD_EX_ALU16XOR(r32)                  _BFGET_(r32,22,22)
    #define   SET32ISA_A64LD_EX_ALU16XOR(r32,v)                _BFSET_(r32,22,22,v)
    #define   GET16ISA_A64LD_EX_ALU16XOR(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64LD_EX_ALU16XOR(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64LD_EX_ALU16SP(r32)                   _BFGET_(r32,23,23)
    #define   SET32ISA_A64LD_EX_ALU16SP(r32,v)                 _BFSET_(r32,23,23,v)
    #define   GET16ISA_A64LD_EX_ALU16SP(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64LD_EX_ALU16SP(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define     w32ISA_A64LD_EX                                {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_A64LD_EX;
            struct w32ISA_A64LD_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_EXX_WRSQ(r32)                     _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64LD_EXX_WRSQ(r32,v)                   _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64LD_EXX_WRSQ(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_EXX_WRSQ(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_EXX_WR16(r32)                     _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64LD_EXX_WR16(r32,v)                   _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64LD_EXX_WR16(r16)                     _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_EXX_WR16(r16,v)                   _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_EXX_WRTQ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64LD_EXX_WRTQ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64LD_EXX_WRTQ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_EXX_WRTQ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_EXX_ALU64PUSH(r32)                _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64LD_EXX_ALU64PUSH(r32,v)              _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64LD_EXX_ALU64PUSH(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_EXX_ALU64PUSH(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_EXX_ALU64POP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64LD_EXX_ALU64POP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64LD_EXX_ALU64POP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_EXX_ALU64POP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_A64LD_EXX_ALU64SQ(r32)                  _BFGET_(r32, 5, 5)
    #define   SET32ISA_A64LD_EXX_ALU64SQ(r32,v)                _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_A64LD_EXX_ALU64SQ(r16)                  _BFGET_(r16, 5, 5)
    #define   SET16ISA_A64LD_EXX_ALU64SQ(r16,v)                _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_A64LD_EXX_ALU64TQ(r32)                  _BFGET_(r32, 6, 6)
    #define   SET32ISA_A64LD_EXX_ALU64TQ(r32,v)                _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_A64LD_EXX_ALU64TQ(r16)                  _BFGET_(r16, 6, 6)
    #define   SET16ISA_A64LD_EXX_ALU64TQ(r16,v)                _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_A64LD_EXX_ALU64MEM(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_A64LD_EXX_ALU64MEM(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_A64LD_EXX_ALU64MEM(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_A64LD_EXX_ALU64MEM(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_A64LD_EXX_BRANCH(r32)                   _BFGET_(r32, 8, 8)
    #define   SET32ISA_A64LD_EXX_BRANCH(r32,v)                 _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_A64LD_EXX_BRANCH(r16)                   _BFGET_(r16, 8, 8)
    #define   SET16ISA_A64LD_EXX_BRANCH(r16,v)                 _BFSET_(r16, 8, 8,v)

    #define     w32ISA_A64LD_EXX                               {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_A64LD_EXX;
            struct w32ISA_A64LD_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_A64LD_WB_RF16(r32)                      _BFGET_(r32, 0, 0)
    #define   SET32ISA_A64LD_WB_RF16(r32,v)                    _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_A64LD_WB_RF16(r16)                      _BFGET_(r16, 0, 0)
    #define   SET16ISA_A64LD_WB_RF16(r16,v)                    _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_A64LD_WB_RF16W0(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_A64LD_WB_RF16W0(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_A64LD_WB_RF16W0(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_A64LD_WB_RF16W0(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_A64LD_WB_RF16MEM(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_A64LD_WB_RF16MEM(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_A64LD_WB_RF16MEM(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_A64LD_WB_RF16MEM(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_A64LD_WB_RF16Q(r32)                     _BFGET_(r32, 3, 3)
    #define   SET32ISA_A64LD_WB_RF16Q(r32,v)                   _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_A64LD_WB_RF16Q(r16)                     _BFGET_(r16, 3, 3)
    #define   SET16ISA_A64LD_WB_RF16Q(r16,v)                   _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_A64LD_WB_RF64(r32)                      _BFGET_(r32, 4, 4)
    #define   SET32ISA_A64LD_WB_RF64(r32,v)                    _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_A64LD_WB_RF64(r16)                      _BFGET_(r16, 4, 4)
    #define   SET16ISA_A64LD_WB_RF64(r16,v)                    _BFSET_(r16, 4, 4,v)

    #define     w32ISA_A64LD_WB                                {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_A64LD_WB;
            struct w32ISA_A64LD_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_A64LD;

    typedef union  T32ISA_A64LD_Mask
          { UNSG32 u32;
            struct w32ISA_A64LD_Mask;
                 } T32ISA_A64LD_Mask;
    typedef union  T32ISA_A64LD_Opcode
          { UNSG32 u32;
            struct w32ISA_A64LD_Opcode;
                 } T32ISA_A64LD_Opcode;
    typedef union  T32ISA_A64LD_ID
          { UNSG32 u32;
            struct w32ISA_A64LD_ID;
                 } T32ISA_A64LD_ID;
    typedef union  T32ISA_A64LD_LD
          { UNSG32 u32;
            struct w32ISA_A64LD_LD;
                 } T32ISA_A64LD_LD;
    typedef union  T32ISA_A64LD_EX
          { UNSG32 u32;
            struct w32ISA_A64LD_EX;
                 } T32ISA_A64LD_EX;
    typedef union  T32ISA_A64LD_EXX
          { UNSG32 u32;
            struct w32ISA_A64LD_EXX;
                 } T32ISA_A64LD_EXX;
    typedef union  T32ISA_A64LD_WB
          { UNSG32 u32;
            struct w32ISA_A64LD_WB;
                 } T32ISA_A64LD_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_A64LD_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_Mask;
                   };
                 } TISA_A64LD_Mask;
    typedef union  TISA_A64LD_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_Opcode;
                   };
                 } TISA_A64LD_Opcode;
    typedef union  TISA_A64LD_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_ID;
                   };
                 } TISA_A64LD_ID;
    typedef union  TISA_A64LD_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_LD;
                   };
                 } TISA_A64LD_LD;
    typedef union  TISA_A64LD_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_EX;
                   };
                 } TISA_A64LD_EX;
    typedef union  TISA_A64LD_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_EXX;
                   };
                 } TISA_A64LD_EXX;
    typedef union  TISA_A64LD_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_A64LD_WB;
                   };
                 } TISA_A64LD_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_A64LD_drvrd(SIE_ISA_A64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_A64LD_drvwr(SIE_ISA_A64LD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_A64LD_reset(SIE_ISA_A64LD *p);
     SIGN32 ISA_A64LD_cmp  (SIE_ISA_A64LD *p, SIE_ISA_A64LD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_A64LD_check(p,pie,pfx,hLOG) ISA_A64LD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_A64LD_print(p,    pfx,hLOG) ISA_A64LD_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_A64LD
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_SYSCALL                              (4,4)
///     ###
///     * Triggers a system call in the C model. Should be ignored by hardware.
///     * A 11b opcode will be passed as argument.
///     * Note: ALU64 uses a-synchronized model, result will be received by another A64LD instruction.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFE0000
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0xA0000
///                                    ###
///                                    * -                                                                 
///                                    * - { "SYSCALL" , "C"           , "0000 101C CCCC CCCC CCCC CCCC" } ,
///                                    * - Usage:
///                                    * -    SYSCALl   8             ; SYSCALL(8);
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_SYSCALL
#define h_ISA_SYSCALL (){}

    #define     RA_ISA_SYSCALL_Mask                            0x0000

    #define     BA_ISA_SYSCALL_Mask_INS                        0x0000
    #define     B16ISA_SYSCALL_Mask_INS                        0x0000
    #define   LSb32ISA_SYSCALL_Mask_INS                           0
    #define   LSb16ISA_SYSCALL_Mask_INS                           0
    #define       bISA_SYSCALL_Mask_INS                        24
    #define   MSK32ISA_SYSCALL_Mask_INS                           0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_Opcode                          0x0004

    #define     BA_ISA_SYSCALL_Opcode_INS                      0x0004
    #define     B16ISA_SYSCALL_Opcode_INS                      0x0004
    #define   LSb32ISA_SYSCALL_Opcode_INS                         0
    #define   LSb16ISA_SYSCALL_Opcode_INS                         0
    #define       bISA_SYSCALL_Opcode_INS                      24
    #define   MSK32ISA_SYSCALL_Opcode_INS                         0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_ID                              0x0008

    #define     BA_ISA_SYSCALL_ID_RBRF                         0x0008
    #define     B16ISA_SYSCALL_ID_RBRF                         0x0008
    #define   LSb32ISA_SYSCALL_ID_RBRF                            0
    #define   LSb16ISA_SYSCALL_ID_RBRF                            0
    #define       bISA_SYSCALL_ID_RBRF                         1
    #define   MSK32ISA_SYSCALL_ID_RBRF                            0x00000001

    #define     BA_ISA_SYSCALL_ID_RARF                         0x0008
    #define     B16ISA_SYSCALL_ID_RARF                         0x0008
    #define   LSb32ISA_SYSCALL_ID_RARF                            1
    #define   LSb16ISA_SYSCALL_ID_RARF                            1
    #define       bISA_SYSCALL_ID_RARF                         1
    #define   MSK32ISA_SYSCALL_ID_RARF                            0x00000002

    #define     BA_ISA_SYSCALL_ID_RAK8                         0x0008
    #define     B16ISA_SYSCALL_ID_RAK8                         0x0008
    #define   LSb32ISA_SYSCALL_ID_RAK8                            2
    #define   LSb16ISA_SYSCALL_ID_RAK8                            2
    #define       bISA_SYSCALL_ID_RAK8                         1
    #define   MSK32ISA_SYSCALL_ID_RAK8                            0x00000004

    #define     BA_ISA_SYSCALL_ID_RAI16                        0x0008
    #define     B16ISA_SYSCALL_ID_RAI16                        0x0008
    #define   LSb32ISA_SYSCALL_ID_RAI16                           3
    #define   LSb16ISA_SYSCALL_ID_RAI16                           3
    #define       bISA_SYSCALL_ID_RAI16                        1
    #define   MSK32ISA_SYSCALL_ID_RAI16                           0x00000008

    #define     BA_ISA_SYSCALL_ID_RAK16                        0x0008
    #define     B16ISA_SYSCALL_ID_RAK16                        0x0008
    #define   LSb32ISA_SYSCALL_ID_RAK16                           4
    #define   LSb16ISA_SYSCALL_ID_RAK16                           4
    #define       bISA_SYSCALL_ID_RAK16                        1
    #define   MSK32ISA_SYSCALL_ID_RAK16                           0x00000010

    #define     BA_ISA_SYSCALL_ID_RFSP                         0x0008
    #define     B16ISA_SYSCALL_ID_RFSP                         0x0008
    #define   LSb32ISA_SYSCALL_ID_RFSP                            5
    #define   LSb16ISA_SYSCALL_ID_RFSP                            5
    #define       bISA_SYSCALL_ID_RFSP                         1
    #define   MSK32ISA_SYSCALL_ID_RFSP                            0x00000020

    #define     BA_ISA_SYSCALL_ID_W4D4                         0x0008
    #define     B16ISA_SYSCALL_ID_W4D4                         0x0008
    #define   LSb32ISA_SYSCALL_ID_W4D4                            6
    #define   LSb16ISA_SYSCALL_ID_W4D4                            6
    #define       bISA_SYSCALL_ID_W4D4                         1
    #define   MSK32ISA_SYSCALL_ID_W4D4                            0x00000040

    #define     BA_ISA_SYSCALL_ID_W4S4                         0x0008
    #define     B16ISA_SYSCALL_ID_W4S4                         0x0008
    #define   LSb32ISA_SYSCALL_ID_W4S4                            7
    #define   LSb16ISA_SYSCALL_ID_W4S4                            7
    #define       bISA_SYSCALL_ID_W4S4                         1
    #define   MSK32ISA_SYSCALL_ID_W4S4                            0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_LD                              0x000C

    #define     BA_ISA_SYSCALL_LD_SPRF                         0x000C
    #define     B16ISA_SYSCALL_LD_SPRF                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SPRF                            0
    #define   LSb16ISA_SYSCALL_LD_SPRF                            0
    #define       bISA_SYSCALL_LD_SPRF                         1
    #define   MSK32ISA_SYSCALL_LD_SPRF                            0x00000001

    #define     BA_ISA_SYSCALL_LD_SPK8                         0x000C
    #define     B16ISA_SYSCALL_LD_SPK8                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SPK8                            1
    #define   LSb16ISA_SYSCALL_LD_SPK8                            1
    #define       bISA_SYSCALL_LD_SPK8                         1
    #define   MSK32ISA_SYSCALL_LD_SPK8                            0x00000002

    #define     BA_ISA_SYSCALL_LD_SPJ                          0x000C
    #define     B16ISA_SYSCALL_LD_SPJ                          0x000C
    #define   LSb32ISA_SYSCALL_LD_SPJ                             2
    #define   LSb16ISA_SYSCALL_LD_SPJ                             2
    #define       bISA_SYSCALL_LD_SPJ                          1
    #define   MSK32ISA_SYSCALL_LD_SPJ                             0x00000004

    #define     BA_ISA_SYSCALL_LD_SP4S                         0x000C
    #define     B16ISA_SYSCALL_LD_SP4S                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SP4S                            3
    #define   LSb16ISA_SYSCALL_LD_SP4S                            3
    #define       bISA_SYSCALL_LD_SP4S                         1
    #define   MSK32ISA_SYSCALL_LD_SP4S                            0x00000008

    #define     BA_ISA_SYSCALL_LD_SP8S                         0x000C
    #define     B16ISA_SYSCALL_LD_SP8S                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SP8S                            4
    #define   LSb16ISA_SYSCALL_LD_SP8S                            4
    #define       bISA_SYSCALL_LD_SP8S                         1
    #define   MSK32ISA_SYSCALL_LD_SP8S                            0x00000010

    #define     BA_ISA_SYSCALL_LD_SP8U                         0x000C
    #define     B16ISA_SYSCALL_LD_SP8U                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SP8U                            5
    #define   LSb16ISA_SYSCALL_LD_SP8U                            5
    #define       bISA_SYSCALL_LD_SP8U                         1
    #define   MSK32ISA_SYSCALL_LD_SP8U                            0x00000020

    #define     BA_ISA_SYSCALL_LD_SP12S                        0x000C
    #define     B16ISA_SYSCALL_LD_SP12S                        0x000C
    #define   LSb32ISA_SYSCALL_LD_SP12S                           6
    #define   LSb16ISA_SYSCALL_LD_SP12S                           6
    #define       bISA_SYSCALL_LD_SP12S                        1
    #define   MSK32ISA_SYSCALL_LD_SP12S                           0x00000040

    #define     BA_ISA_SYSCALL_LD_SP16                         0x000C
    #define     B16ISA_SYSCALL_LD_SP16                         0x000C
    #define   LSb32ISA_SYSCALL_LD_SP16                            7
    #define   LSb16ISA_SYSCALL_LD_SP16                            7
    #define       bISA_SYSCALL_LD_SP16                         1
    #define   MSK32ISA_SYSCALL_LD_SP16                            0x00000080

    #define     BA_ISA_SYSCALL_LD_TPRF                         0x000D
    #define     B16ISA_SYSCALL_LD_TPRF                         0x000C
    #define   LSb32ISA_SYSCALL_LD_TPRF                            8
    #define   LSb16ISA_SYSCALL_LD_TPRF                            8
    #define       bISA_SYSCALL_LD_TPRF                         1
    #define   MSK32ISA_SYSCALL_LD_TPRF                            0x00000100

    #define     BA_ISA_SYSCALL_LD_TPJ                          0x000D
    #define     B16ISA_SYSCALL_LD_TPJ                          0x000C
    #define   LSb32ISA_SYSCALL_LD_TPJ                             9
    #define   LSb16ISA_SYSCALL_LD_TPJ                             9
    #define       bISA_SYSCALL_LD_TPJ                          1
    #define   MSK32ISA_SYSCALL_LD_TPJ                             0x00000200

    #define     BA_ISA_SYSCALL_LD_TP4S                         0x000D
    #define     B16ISA_SYSCALL_LD_TP4S                         0x000C
    #define   LSb32ISA_SYSCALL_LD_TP4S                            10
    #define   LSb16ISA_SYSCALL_LD_TP4S                            10
    #define       bISA_SYSCALL_LD_TP4S                         1
    #define   MSK32ISA_SYSCALL_LD_TP4S                            0x00000400

    #define     BA_ISA_SYSCALL_LD_TP8L                         0x000D
    #define     B16ISA_SYSCALL_LD_TP8L                         0x000C
    #define   LSb32ISA_SYSCALL_LD_TP8L                            11
    #define   LSb16ISA_SYSCALL_LD_TP8L                            11
    #define       bISA_SYSCALL_LD_TP8L                         1
    #define   MSK32ISA_SYSCALL_LD_TP8L                            0x00000800

    #define     BA_ISA_SYSCALL_LD_TP8H                         0x000D
    #define     B16ISA_SYSCALL_LD_TP8H                         0x000C
    #define   LSb32ISA_SYSCALL_LD_TP8H                            12
    #define   LSb16ISA_SYSCALL_LD_TP8H                            12
    #define       bISA_SYSCALL_LD_TP8H                         1
    #define   MSK32ISA_SYSCALL_LD_TP8H                            0x00001000

    #define     BA_ISA_SYSCALL_LD_TP8LF                        0x000D
    #define     B16ISA_SYSCALL_LD_TP8LF                        0x000C
    #define   LSb32ISA_SYSCALL_LD_TP8LF                           13
    #define   LSb16ISA_SYSCALL_LD_TP8LF                           13
    #define       bISA_SYSCALL_LD_TP8LF                        1
    #define   MSK32ISA_SYSCALL_LD_TP8LF                           0x00002000

    #define     BA_ISA_SYSCALL_LD_TP8HF                        0x000D
    #define     B16ISA_SYSCALL_LD_TP8HF                        0x000C
    #define   LSb32ISA_SYSCALL_LD_TP8HF                           14
    #define   LSb16ISA_SYSCALL_LD_TP8HF                           14
    #define       bISA_SYSCALL_LD_TP8HF                        1
    #define   MSK32ISA_SYSCALL_LD_TP8HF                           0x00004000

    #define     BA_ISA_SYSCALL_LD_SQRF64                       0x000D
    #define     B16ISA_SYSCALL_LD_SQRF64                       0x000C
    #define   LSb32ISA_SYSCALL_LD_SQRF64                          15
    #define   LSb16ISA_SYSCALL_LD_SQRF64                          15
    #define       bISA_SYSCALL_LD_SQRF64                       1
    #define   MSK32ISA_SYSCALL_LD_SQRF64                          0x00008000

    #define     BA_ISA_SYSCALL_LD_TQRF16Q                      0x000E
    #define     B16ISA_SYSCALL_LD_TQRF16Q                      0x000E
    #define   LSb32ISA_SYSCALL_LD_TQRF16Q                         16
    #define   LSb16ISA_SYSCALL_LD_TQRF16Q                         0
    #define       bISA_SYSCALL_LD_TQRF16Q                      1
    #define   MSK32ISA_SYSCALL_LD_TQRF16Q                         0x00010000

    #define     BA_ISA_SYSCALL_LD_TQRFx4                       0x000E
    #define     B16ISA_SYSCALL_LD_TQRFx4                       0x000E
    #define   LSb32ISA_SYSCALL_LD_TQRFx4                          17
    #define   LSb16ISA_SYSCALL_LD_TQRFx4                          1
    #define       bISA_SYSCALL_LD_TQRFx4                       1
    #define   MSK32ISA_SYSCALL_LD_TQRFx4                          0x00020000

    #define     BA_ISA_SYSCALL_LD_RD                           0x000E
    #define     B16ISA_SYSCALL_LD_RD                           0x000E
    #define   LSb32ISA_SYSCALL_LD_RD                              18
    #define   LSb16ISA_SYSCALL_LD_RD                              2
    #define       bISA_SYSCALL_LD_RD                           1
    #define   MSK32ISA_SYSCALL_LD_RD                              0x00040000

    #define     BA_ISA_SYSCALL_LD_WARF                         0x000E
    #define     B16ISA_SYSCALL_LD_WARF                         0x000E
    #define   LSb32ISA_SYSCALL_LD_WARF                            19
    #define   LSb16ISA_SYSCALL_LD_WARF                            3
    #define       bISA_SYSCALL_LD_WARF                         1
    #define   MSK32ISA_SYSCALL_LD_WARF                            0x00080000

    #define     BA_ISA_SYSCALL_LD_WAK8                         0x000E
    #define     B16ISA_SYSCALL_LD_WAK8                         0x000E
    #define   LSb32ISA_SYSCALL_LD_WAK8                            20
    #define   LSb16ISA_SYSCALL_LD_WAK8                            4
    #define       bISA_SYSCALL_LD_WAK8                         1
    #define   MSK32ISA_SYSCALL_LD_WAK8                            0x00100000

    #define     BA_ISA_SYSCALL_LD_WAK16                        0x000E
    #define     B16ISA_SYSCALL_LD_WAK16                        0x000E
    #define   LSb32ISA_SYSCALL_LD_WAK16                           21
    #define   LSb16ISA_SYSCALL_LD_WAK16                           5
    #define       bISA_SYSCALL_LD_WAK16                        1
    #define   MSK32ISA_SYSCALL_LD_WAK16                           0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_EX                              0x0010

    #define     BA_ISA_SYSCALL_EX_ALU16FlagZ                   0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagZ                   0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagZ                      0
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagZ                      0
    #define       bISA_SYSCALL_EX_ALU16FlagZ                   1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagZ                      0x00000001

    #define     BA_ISA_SYSCALL_EX_ALU16FlagC                   0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagC                   0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagC                      1
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagC                      1
    #define       bISA_SYSCALL_EX_ALU16FlagC                   1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagC                      0x00000002

    #define     BA_ISA_SYSCALL_EX_ALU16FlagN                   0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagN                   0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagN                      2
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagN                      2
    #define       bISA_SYSCALL_EX_ALU16FlagN                   1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagN                      0x00000004

    #define     BA_ISA_SYSCALL_EX_ALU16FlagV                   0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagV                   0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagV                      3
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagV                      3
    #define       bISA_SYSCALL_EX_ALU16FlagV                   1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagV                      0x00000008

    #define     BA_ISA_SYSCALL_EX_ALU16FlagTP                  0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagTP                  0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagTP                     4
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagTP                     4
    #define       bISA_SYSCALL_EX_ALU16FlagTP                  1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagTP                     0x00000010

    #define     BA_ISA_SYSCALL_EX_ALU16MUL                     0x0010
    #define     B16ISA_SYSCALL_EX_ALU16MUL                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16MUL                        5
    #define   LSb16ISA_SYSCALL_EX_ALU16MUL                        5
    #define       bISA_SYSCALL_EX_ALU16MUL                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16MUL                        0x00000020

    #define     BA_ISA_SYSCALL_EX_ALU16DIV                     0x0010
    #define     B16ISA_SYSCALL_EX_ALU16DIV                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16DIV                        6
    #define   LSb16ISA_SYSCALL_EX_ALU16DIV                        6
    #define       bISA_SYSCALL_EX_ALU16DIV                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16DIV                        0x00000040

    #define     BA_ISA_SYSCALL_EX_ALU16FlagLD                  0x0010
    #define     B16ISA_SYSCALL_EX_ALU16FlagLD                  0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16FlagLD                     7
    #define   LSb16ISA_SYSCALL_EX_ALU16FlagLD                     7
    #define       bISA_SYSCALL_EX_ALU16FlagLD                  1
    #define   MSK32ISA_SYSCALL_EX_ALU16FlagLD                     0x00000080

    #define     BA_ISA_SYSCALL_EX_ALU16MDL                     0x0011
    #define     B16ISA_SYSCALL_EX_ALU16MDL                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16MDL                        8
    #define   LSb16ISA_SYSCALL_EX_ALU16MDL                        8
    #define       bISA_SYSCALL_EX_ALU16MDL                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16MDL                        0x00000100

    #define     BA_ISA_SYSCALL_EX_ALU16MDH                     0x0011
    #define     B16ISA_SYSCALL_EX_ALU16MDH                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16MDH                        9
    #define   LSb16ISA_SYSCALL_EX_ALU16MDH                        9
    #define       bISA_SYSCALL_EX_ALU16MDH                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16MDH                        0x00000200

    #define     BA_ISA_SYSCALL_EX_ALU16ADD                     0x0011
    #define     B16ISA_SYSCALL_EX_ALU16ADD                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16ADD                        10
    #define   LSb16ISA_SYSCALL_EX_ALU16ADD                        10
    #define       bISA_SYSCALL_EX_ALU16ADD                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16ADD                        0x00000400

    #define     BA_ISA_SYSCALL_EX_ALU16SUB                     0x0011
    #define     B16ISA_SYSCALL_EX_ALU16SUB                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16SUB                        11
    #define   LSb16ISA_SYSCALL_EX_ALU16SUB                        11
    #define       bISA_SYSCALL_EX_ALU16SUB                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16SUB                        0x00000800

    #define     BA_ISA_SYSCALL_EX_ALU16ADDC                    0x0011
    #define     B16ISA_SYSCALL_EX_ALU16ADDC                    0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16ADDC                       12
    #define   LSb16ISA_SYSCALL_EX_ALU16ADDC                       12
    #define       bISA_SYSCALL_EX_ALU16ADDC                    1
    #define   MSK32ISA_SYSCALL_EX_ALU16ADDC                       0x00001000

    #define     BA_ISA_SYSCALL_EX_ALU16SUBC                    0x0011
    #define     B16ISA_SYSCALL_EX_ALU16SUBC                    0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16SUBC                       13
    #define   LSb16ISA_SYSCALL_EX_ALU16SUBC                       13
    #define       bISA_SYSCALL_EX_ALU16SUBC                    1
    #define   MSK32ISA_SYSCALL_EX_ALU16SUBC                       0x00002000

    #define     BA_ISA_SYSCALL_EX_ALU16ASR                     0x0011
    #define     B16ISA_SYSCALL_EX_ALU16ASR                     0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16ASR                        14
    #define   LSb16ISA_SYSCALL_EX_ALU16ASR                        14
    #define       bISA_SYSCALL_EX_ALU16ASR                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16ASR                        0x00004000

    #define     BA_ISA_SYSCALL_EX_ALU16SL                      0x0011
    #define     B16ISA_SYSCALL_EX_ALU16SL                      0x0010
    #define   LSb32ISA_SYSCALL_EX_ALU16SL                         15
    #define   LSb16ISA_SYSCALL_EX_ALU16SL                         15
    #define       bISA_SYSCALL_EX_ALU16SL                      1
    #define   MSK32ISA_SYSCALL_EX_ALU16SL                         0x00008000

    #define     BA_ISA_SYSCALL_EX_ALU16SR                      0x0012
    #define     B16ISA_SYSCALL_EX_ALU16SR                      0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16SR                         16
    #define   LSb16ISA_SYSCALL_EX_ALU16SR                         0
    #define       bISA_SYSCALL_EX_ALU16SR                      1
    #define   MSK32ISA_SYSCALL_EX_ALU16SR                         0x00010000

    #define     BA_ISA_SYSCALL_EX_ALU16GET                     0x0012
    #define     B16ISA_SYSCALL_EX_ALU16GET                     0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16GET                        17
    #define   LSb16ISA_SYSCALL_EX_ALU16GET                        1
    #define       bISA_SYSCALL_EX_ALU16GET                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16GET                        0x00020000

    #define     BA_ISA_SYSCALL_EX_ALU16SET                     0x0012
    #define     B16ISA_SYSCALL_EX_ALU16SET                     0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16SET                        18
    #define   LSb16ISA_SYSCALL_EX_ALU16SET                        2
    #define       bISA_SYSCALL_EX_ALU16SET                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16SET                        0x00040000

    #define     BA_ISA_SYSCALL_EX_ALU16SEL                     0x0012
    #define     B16ISA_SYSCALL_EX_ALU16SEL                     0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16SEL                        19
    #define   LSb16ISA_SYSCALL_EX_ALU16SEL                        3
    #define       bISA_SYSCALL_EX_ALU16SEL                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16SEL                        0x00080000

    #define     BA_ISA_SYSCALL_EX_ALU16OR                      0x0012
    #define     B16ISA_SYSCALL_EX_ALU16OR                      0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16OR                         20
    #define   LSb16ISA_SYSCALL_EX_ALU16OR                         4
    #define       bISA_SYSCALL_EX_ALU16OR                      1
    #define   MSK32ISA_SYSCALL_EX_ALU16OR                         0x00100000

    #define     BA_ISA_SYSCALL_EX_ALU16AND                     0x0012
    #define     B16ISA_SYSCALL_EX_ALU16AND                     0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16AND                        21
    #define   LSb16ISA_SYSCALL_EX_ALU16AND                        5
    #define       bISA_SYSCALL_EX_ALU16AND                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16AND                        0x00200000

    #define     BA_ISA_SYSCALL_EX_ALU16XOR                     0x0012
    #define     B16ISA_SYSCALL_EX_ALU16XOR                     0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16XOR                        22
    #define   LSb16ISA_SYSCALL_EX_ALU16XOR                        6
    #define       bISA_SYSCALL_EX_ALU16XOR                     1
    #define   MSK32ISA_SYSCALL_EX_ALU16XOR                        0x00400000

    #define     BA_ISA_SYSCALL_EX_ALU16SP                      0x0012
    #define     B16ISA_SYSCALL_EX_ALU16SP                      0x0012
    #define   LSb32ISA_SYSCALL_EX_ALU16SP                         23
    #define   LSb16ISA_SYSCALL_EX_ALU16SP                         7
    #define       bISA_SYSCALL_EX_ALU16SP                      1
    #define   MSK32ISA_SYSCALL_EX_ALU16SP                         0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_EXX                             0x0014

    #define     BA_ISA_SYSCALL_EXX_WRSQ                        0x0014
    #define     B16ISA_SYSCALL_EXX_WRSQ                        0x0014
    #define   LSb32ISA_SYSCALL_EXX_WRSQ                           0
    #define   LSb16ISA_SYSCALL_EXX_WRSQ                           0
    #define       bISA_SYSCALL_EXX_WRSQ                        1
    #define   MSK32ISA_SYSCALL_EXX_WRSQ                           0x00000001

    #define     BA_ISA_SYSCALL_EXX_WR16                        0x0014
    #define     B16ISA_SYSCALL_EXX_WR16                        0x0014
    #define   LSb32ISA_SYSCALL_EXX_WR16                           1
    #define   LSb16ISA_SYSCALL_EXX_WR16                           1
    #define       bISA_SYSCALL_EXX_WR16                        1
    #define   MSK32ISA_SYSCALL_EXX_WR16                           0x00000002

    #define     BA_ISA_SYSCALL_EXX_WRTQ                        0x0014
    #define     B16ISA_SYSCALL_EXX_WRTQ                        0x0014
    #define   LSb32ISA_SYSCALL_EXX_WRTQ                           2
    #define   LSb16ISA_SYSCALL_EXX_WRTQ                           2
    #define       bISA_SYSCALL_EXX_WRTQ                        1
    #define   MSK32ISA_SYSCALL_EXX_WRTQ                           0x00000004

    #define     BA_ISA_SYSCALL_EXX_ALU64PUSH                   0x0014
    #define     B16ISA_SYSCALL_EXX_ALU64PUSH                   0x0014
    #define   LSb32ISA_SYSCALL_EXX_ALU64PUSH                      3
    #define   LSb16ISA_SYSCALL_EXX_ALU64PUSH                      3
    #define       bISA_SYSCALL_EXX_ALU64PUSH                   1
    #define   MSK32ISA_SYSCALL_EXX_ALU64PUSH                      0x00000008

    #define     BA_ISA_SYSCALL_EXX_ALU64POP                    0x0014
    #define     B16ISA_SYSCALL_EXX_ALU64POP                    0x0014
    #define   LSb32ISA_SYSCALL_EXX_ALU64POP                       4
    #define   LSb16ISA_SYSCALL_EXX_ALU64POP                       4
    #define       bISA_SYSCALL_EXX_ALU64POP                    1
    #define   MSK32ISA_SYSCALL_EXX_ALU64POP                       0x00000010

    #define     BA_ISA_SYSCALL_EXX_ALU64SQ                     0x0014
    #define     B16ISA_SYSCALL_EXX_ALU64SQ                     0x0014
    #define   LSb32ISA_SYSCALL_EXX_ALU64SQ                        5
    #define   LSb16ISA_SYSCALL_EXX_ALU64SQ                        5
    #define       bISA_SYSCALL_EXX_ALU64SQ                     1
    #define   MSK32ISA_SYSCALL_EXX_ALU64SQ                        0x00000020

    #define     BA_ISA_SYSCALL_EXX_ALU64TQ                     0x0014
    #define     B16ISA_SYSCALL_EXX_ALU64TQ                     0x0014
    #define   LSb32ISA_SYSCALL_EXX_ALU64TQ                        6
    #define   LSb16ISA_SYSCALL_EXX_ALU64TQ                        6
    #define       bISA_SYSCALL_EXX_ALU64TQ                     1
    #define   MSK32ISA_SYSCALL_EXX_ALU64TQ                        0x00000040

    #define     BA_ISA_SYSCALL_EXX_ALU64MEM                    0x0014
    #define     B16ISA_SYSCALL_EXX_ALU64MEM                    0x0014
    #define   LSb32ISA_SYSCALL_EXX_ALU64MEM                       7
    #define   LSb16ISA_SYSCALL_EXX_ALU64MEM                       7
    #define       bISA_SYSCALL_EXX_ALU64MEM                    1
    #define   MSK32ISA_SYSCALL_EXX_ALU64MEM                       0x00000080

    #define     BA_ISA_SYSCALL_EXX_BRANCH                      0x0015
    #define     B16ISA_SYSCALL_EXX_BRANCH                      0x0014
    #define   LSb32ISA_SYSCALL_EXX_BRANCH                         8
    #define   LSb16ISA_SYSCALL_EXX_BRANCH                         8
    #define       bISA_SYSCALL_EXX_BRANCH                      1
    #define   MSK32ISA_SYSCALL_EXX_BRANCH                         0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_SYSCALL_WB                              0x0018

    #define     BA_ISA_SYSCALL_WB_RF16                         0x0018
    #define     B16ISA_SYSCALL_WB_RF16                         0x0018
    #define   LSb32ISA_SYSCALL_WB_RF16                            0
    #define   LSb16ISA_SYSCALL_WB_RF16                            0
    #define       bISA_SYSCALL_WB_RF16                         1
    #define   MSK32ISA_SYSCALL_WB_RF16                            0x00000001

    #define     BA_ISA_SYSCALL_WB_RF16W0                       0x0018
    #define     B16ISA_SYSCALL_WB_RF16W0                       0x0018
    #define   LSb32ISA_SYSCALL_WB_RF16W0                          1
    #define   LSb16ISA_SYSCALL_WB_RF16W0                          1
    #define       bISA_SYSCALL_WB_RF16W0                       1
    #define   MSK32ISA_SYSCALL_WB_RF16W0                          0x00000002

    #define     BA_ISA_SYSCALL_WB_RF16MEM                      0x0018
    #define     B16ISA_SYSCALL_WB_RF16MEM                      0x0018
    #define   LSb32ISA_SYSCALL_WB_RF16MEM                         2
    #define   LSb16ISA_SYSCALL_WB_RF16MEM                         2
    #define       bISA_SYSCALL_WB_RF16MEM                      1
    #define   MSK32ISA_SYSCALL_WB_RF16MEM                         0x00000004

    #define     BA_ISA_SYSCALL_WB_RF16Q                        0x0018
    #define     B16ISA_SYSCALL_WB_RF16Q                        0x0018
    #define   LSb32ISA_SYSCALL_WB_RF16Q                           3
    #define   LSb16ISA_SYSCALL_WB_RF16Q                           3
    #define       bISA_SYSCALL_WB_RF16Q                        1
    #define   MSK32ISA_SYSCALL_WB_RF16Q                           0x00000008

    #define     BA_ISA_SYSCALL_WB_RF64                         0x0018
    #define     B16ISA_SYSCALL_WB_RF64                         0x0018
    #define   LSb32ISA_SYSCALL_WB_RF64                            4
    #define   LSb16ISA_SYSCALL_WB_RF64                            4
    #define       bISA_SYSCALL_WB_RF64                         1
    #define   MSK32ISA_SYSCALL_WB_RF64                            0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_SYSCALL {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_Mask_INS(r32)                   _BFGET_(r32,23, 0)
    #define   SET32ISA_SYSCALL_Mask_INS(r32,v)                 _BFSET_(r32,23, 0,v)

    #define     w32ISA_SYSCALL_Mask                            {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SYSCALL_Mask;
            struct w32ISA_SYSCALL_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_Opcode_INS(r32)                 _BFGET_(r32,23, 0)
    #define   SET32ISA_SYSCALL_Opcode_INS(r32,v)               _BFSET_(r32,23, 0,v)

    #define     w32ISA_SYSCALL_Opcode                          {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_SYSCALL_Opcode;
            struct w32ISA_SYSCALL_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_ID_RBRF(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_SYSCALL_ID_RBRF(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SYSCALL_ID_RBRF(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_ID_RBRF(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_ID_RARF(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_SYSCALL_ID_RARF(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SYSCALL_ID_RARF(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_ID_RARF(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_ID_RAK8(r32)                    _BFGET_(r32, 2, 2)
    #define   SET32ISA_SYSCALL_ID_RAK8(r32,v)                  _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SYSCALL_ID_RAK8(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_ID_RAK8(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_ID_RAI16(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SYSCALL_ID_RAI16(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SYSCALL_ID_RAI16(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_ID_RAI16(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_ID_RAK16(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_SYSCALL_ID_RAK16(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SYSCALL_ID_RAK16(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_ID_RAK16(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_ID_RFSP(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SYSCALL_ID_RFSP(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SYSCALL_ID_RFSP(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_ID_RFSP(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SYSCALL_ID_W4D4(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_SYSCALL_ID_W4D4(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SYSCALL_ID_W4D4(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_SYSCALL_ID_W4D4(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SYSCALL_ID_W4S4(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_SYSCALL_ID_W4S4(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SYSCALL_ID_W4S4(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SYSCALL_ID_W4S4(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SYSCALL_ID                              {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_SYSCALL_ID;
            struct w32ISA_SYSCALL_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_LD_SPRF(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_SYSCALL_LD_SPRF(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SYSCALL_LD_SPRF(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_LD_SPRF(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_LD_SPK8(r32)                    _BFGET_(r32, 1, 1)
    #define   SET32ISA_SYSCALL_LD_SPK8(r32,v)                  _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SYSCALL_LD_SPK8(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_LD_SPK8(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_LD_SPJ(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_SYSCALL_LD_SPJ(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SYSCALL_LD_SPJ(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_LD_SPJ(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_LD_SP4S(r32)                    _BFGET_(r32, 3, 3)
    #define   SET32ISA_SYSCALL_LD_SP4S(r32,v)                  _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SYSCALL_LD_SP4S(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_LD_SP4S(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_LD_SP8S(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_SYSCALL_LD_SP8S(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SYSCALL_LD_SP8S(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_LD_SP8S(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_LD_SP8U(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_SYSCALL_LD_SP8U(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SYSCALL_LD_SP8U(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_LD_SP8U(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SYSCALL_LD_SP12S(r32)                   _BFGET_(r32, 6, 6)
    #define   SET32ISA_SYSCALL_LD_SP12S(r32,v)                 _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SYSCALL_LD_SP12S(r16)                   _BFGET_(r16, 6, 6)
    #define   SET16ISA_SYSCALL_LD_SP12S(r16,v)                 _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SYSCALL_LD_SP16(r32)                    _BFGET_(r32, 7, 7)
    #define   SET32ISA_SYSCALL_LD_SP16(r32,v)                  _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SYSCALL_LD_SP16(r16)                    _BFGET_(r16, 7, 7)
    #define   SET16ISA_SYSCALL_LD_SP16(r16,v)                  _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SYSCALL_LD_TPRF(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_SYSCALL_LD_TPRF(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SYSCALL_LD_TPRF(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_SYSCALL_LD_TPRF(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SYSCALL_LD_TPJ(r32)                     _BFGET_(r32, 9, 9)
    #define   SET32ISA_SYSCALL_LD_TPJ(r32,v)                   _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SYSCALL_LD_TPJ(r16)                     _BFGET_(r16, 9, 9)
    #define   SET16ISA_SYSCALL_LD_TPJ(r16,v)                   _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SYSCALL_LD_TP4S(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_SYSCALL_LD_TP4S(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_SYSCALL_LD_TP4S(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_SYSCALL_LD_TP4S(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_SYSCALL_LD_TP8L(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_SYSCALL_LD_TP8L(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_SYSCALL_LD_TP8L(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_SYSCALL_LD_TP8L(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_SYSCALL_LD_TP8H(r32)                    _BFGET_(r32,12,12)
    #define   SET32ISA_SYSCALL_LD_TP8H(r32,v)                  _BFSET_(r32,12,12,v)
    #define   GET16ISA_SYSCALL_LD_TP8H(r16)                    _BFGET_(r16,12,12)
    #define   SET16ISA_SYSCALL_LD_TP8H(r16,v)                  _BFSET_(r16,12,12,v)

    #define   GET32ISA_SYSCALL_LD_TP8LF(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_SYSCALL_LD_TP8LF(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_SYSCALL_LD_TP8LF(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_SYSCALL_LD_TP8LF(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_SYSCALL_LD_TP8HF(r32)                   _BFGET_(r32,14,14)
    #define   SET32ISA_SYSCALL_LD_TP8HF(r32,v)                 _BFSET_(r32,14,14,v)
    #define   GET16ISA_SYSCALL_LD_TP8HF(r16)                   _BFGET_(r16,14,14)
    #define   SET16ISA_SYSCALL_LD_TP8HF(r16,v)                 _BFSET_(r16,14,14,v)

    #define   GET32ISA_SYSCALL_LD_SQRF64(r32)                  _BFGET_(r32,15,15)
    #define   SET32ISA_SYSCALL_LD_SQRF64(r32,v)                _BFSET_(r32,15,15,v)
    #define   GET16ISA_SYSCALL_LD_SQRF64(r16)                  _BFGET_(r16,15,15)
    #define   SET16ISA_SYSCALL_LD_SQRF64(r16,v)                _BFSET_(r16,15,15,v)

    #define   GET32ISA_SYSCALL_LD_TQRF16Q(r32)                 _BFGET_(r32,16,16)
    #define   SET32ISA_SYSCALL_LD_TQRF16Q(r32,v)               _BFSET_(r32,16,16,v)
    #define   GET16ISA_SYSCALL_LD_TQRF16Q(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_LD_TQRF16Q(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_LD_TQRFx4(r32)                  _BFGET_(r32,17,17)
    #define   SET32ISA_SYSCALL_LD_TQRFx4(r32,v)                _BFSET_(r32,17,17,v)
    #define   GET16ISA_SYSCALL_LD_TQRFx4(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_LD_TQRFx4(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_LD_RD(r32)                      _BFGET_(r32,18,18)
    #define   SET32ISA_SYSCALL_LD_RD(r32,v)                    _BFSET_(r32,18,18,v)
    #define   GET16ISA_SYSCALL_LD_RD(r16)                      _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_LD_RD(r16,v)                    _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_LD_WARF(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_SYSCALL_LD_WARF(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_SYSCALL_LD_WARF(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_LD_WARF(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_LD_WAK8(r32)                    _BFGET_(r32,20,20)
    #define   SET32ISA_SYSCALL_LD_WAK8(r32,v)                  _BFSET_(r32,20,20,v)
    #define   GET16ISA_SYSCALL_LD_WAK8(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_LD_WAK8(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_LD_WAK16(r32)                   _BFGET_(r32,21,21)
    #define   SET32ISA_SYSCALL_LD_WAK16(r32,v)                 _BFSET_(r32,21,21,v)
    #define   GET16ISA_SYSCALL_LD_WAK16(r16)                   _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_LD_WAK16(r16,v)                 _BFSET_(r16, 5, 5,v)

    #define     w32ISA_SYSCALL_LD                              {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_SYSCALL_LD;
            struct w32ISA_SYSCALL_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_EX_ALU16FlagZ(r32)              _BFGET_(r32, 0, 0)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagZ(r32,v)            _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagZ(r16)              _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagZ(r16,v)            _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_EX_ALU16FlagC(r32)              _BFGET_(r32, 1, 1)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagC(r32,v)            _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagC(r16)              _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagC(r16,v)            _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_EX_ALU16FlagN(r32)              _BFGET_(r32, 2, 2)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagN(r32,v)            _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagN(r16)              _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagN(r16,v)            _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_EX_ALU16FlagV(r32)              _BFGET_(r32, 3, 3)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagV(r32,v)            _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagV(r16)              _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagV(r16,v)            _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_EX_ALU16FlagTP(r32)             _BFGET_(r32, 4, 4)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagTP(r32,v)           _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagTP(r16)             _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagTP(r16,v)           _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_EX_ALU16MUL(r32)                _BFGET_(r32, 5, 5)
    #define   SET32ISA_SYSCALL_EX_ALU16MUL(r32,v)              _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SYSCALL_EX_ALU16MUL(r16)                _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_EX_ALU16MUL(r16,v)              _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SYSCALL_EX_ALU16DIV(r32)                _BFGET_(r32, 6, 6)
    #define   SET32ISA_SYSCALL_EX_ALU16DIV(r32,v)              _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SYSCALL_EX_ALU16DIV(r16)                _BFGET_(r16, 6, 6)
    #define   SET16ISA_SYSCALL_EX_ALU16DIV(r16,v)              _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SYSCALL_EX_ALU16FlagLD(r32)             _BFGET_(r32, 7, 7)
    #define   SET32ISA_SYSCALL_EX_ALU16FlagLD(r32,v)           _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SYSCALL_EX_ALU16FlagLD(r16)             _BFGET_(r16, 7, 7)
    #define   SET16ISA_SYSCALL_EX_ALU16FlagLD(r16,v)           _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SYSCALL_EX_ALU16MDL(r32)                _BFGET_(r32, 8, 8)
    #define   SET32ISA_SYSCALL_EX_ALU16MDL(r32,v)              _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SYSCALL_EX_ALU16MDL(r16)                _BFGET_(r16, 8, 8)
    #define   SET16ISA_SYSCALL_EX_ALU16MDL(r16,v)              _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_SYSCALL_EX_ALU16MDH(r32)                _BFGET_(r32, 9, 9)
    #define   SET32ISA_SYSCALL_EX_ALU16MDH(r32,v)              _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_SYSCALL_EX_ALU16MDH(r16)                _BFGET_(r16, 9, 9)
    #define   SET16ISA_SYSCALL_EX_ALU16MDH(r16,v)              _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_SYSCALL_EX_ALU16ADD(r32)                _BFGET_(r32,10,10)
    #define   SET32ISA_SYSCALL_EX_ALU16ADD(r32,v)              _BFSET_(r32,10,10,v)
    #define   GET16ISA_SYSCALL_EX_ALU16ADD(r16)                _BFGET_(r16,10,10)
    #define   SET16ISA_SYSCALL_EX_ALU16ADD(r16,v)              _BFSET_(r16,10,10,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SUB(r32)                _BFGET_(r32,11,11)
    #define   SET32ISA_SYSCALL_EX_ALU16SUB(r32,v)              _BFSET_(r32,11,11,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SUB(r16)                _BFGET_(r16,11,11)
    #define   SET16ISA_SYSCALL_EX_ALU16SUB(r16,v)              _BFSET_(r16,11,11,v)

    #define   GET32ISA_SYSCALL_EX_ALU16ADDC(r32)               _BFGET_(r32,12,12)
    #define   SET32ISA_SYSCALL_EX_ALU16ADDC(r32,v)             _BFSET_(r32,12,12,v)
    #define   GET16ISA_SYSCALL_EX_ALU16ADDC(r16)               _BFGET_(r16,12,12)
    #define   SET16ISA_SYSCALL_EX_ALU16ADDC(r16,v)             _BFSET_(r16,12,12,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SUBC(r32)               _BFGET_(r32,13,13)
    #define   SET32ISA_SYSCALL_EX_ALU16SUBC(r32,v)             _BFSET_(r32,13,13,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SUBC(r16)               _BFGET_(r16,13,13)
    #define   SET16ISA_SYSCALL_EX_ALU16SUBC(r16,v)             _BFSET_(r16,13,13,v)

    #define   GET32ISA_SYSCALL_EX_ALU16ASR(r32)                _BFGET_(r32,14,14)
    #define   SET32ISA_SYSCALL_EX_ALU16ASR(r32,v)              _BFSET_(r32,14,14,v)
    #define   GET16ISA_SYSCALL_EX_ALU16ASR(r16)                _BFGET_(r16,14,14)
    #define   SET16ISA_SYSCALL_EX_ALU16ASR(r16,v)              _BFSET_(r16,14,14,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SL(r32)                 _BFGET_(r32,15,15)
    #define   SET32ISA_SYSCALL_EX_ALU16SL(r32,v)               _BFSET_(r32,15,15,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SL(r16)                 _BFGET_(r16,15,15)
    #define   SET16ISA_SYSCALL_EX_ALU16SL(r16,v)               _BFSET_(r16,15,15,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SR(r32)                 _BFGET_(r32,16,16)
    #define   SET32ISA_SYSCALL_EX_ALU16SR(r32,v)               _BFSET_(r32,16,16,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SR(r16)                 _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_EX_ALU16SR(r16,v)               _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_EX_ALU16GET(r32)                _BFGET_(r32,17,17)
    #define   SET32ISA_SYSCALL_EX_ALU16GET(r32,v)              _BFSET_(r32,17,17,v)
    #define   GET16ISA_SYSCALL_EX_ALU16GET(r16)                _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_EX_ALU16GET(r16,v)              _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SET(r32)                _BFGET_(r32,18,18)
    #define   SET32ISA_SYSCALL_EX_ALU16SET(r32,v)              _BFSET_(r32,18,18,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SET(r16)                _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_EX_ALU16SET(r16,v)              _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SEL(r32)                _BFGET_(r32,19,19)
    #define   SET32ISA_SYSCALL_EX_ALU16SEL(r32,v)              _BFSET_(r32,19,19,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SEL(r16)                _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_EX_ALU16SEL(r16,v)              _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_EX_ALU16OR(r32)                 _BFGET_(r32,20,20)
    #define   SET32ISA_SYSCALL_EX_ALU16OR(r32,v)               _BFSET_(r32,20,20,v)
    #define   GET16ISA_SYSCALL_EX_ALU16OR(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_EX_ALU16OR(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_EX_ALU16AND(r32)                _BFGET_(r32,21,21)
    #define   SET32ISA_SYSCALL_EX_ALU16AND(r32,v)              _BFSET_(r32,21,21,v)
    #define   GET16ISA_SYSCALL_EX_ALU16AND(r16)                _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_EX_ALU16AND(r16,v)              _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SYSCALL_EX_ALU16XOR(r32)                _BFGET_(r32,22,22)
    #define   SET32ISA_SYSCALL_EX_ALU16XOR(r32,v)              _BFSET_(r32,22,22,v)
    #define   GET16ISA_SYSCALL_EX_ALU16XOR(r16)                _BFGET_(r16, 6, 6)
    #define   SET16ISA_SYSCALL_EX_ALU16XOR(r16,v)              _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SYSCALL_EX_ALU16SP(r32)                 _BFGET_(r32,23,23)
    #define   SET32ISA_SYSCALL_EX_ALU16SP(r32,v)               _BFSET_(r32,23,23,v)
    #define   GET16ISA_SYSCALL_EX_ALU16SP(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_SYSCALL_EX_ALU16SP(r16,v)               _BFSET_(r16, 7, 7,v)

    #define     w32ISA_SYSCALL_EX                              {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_SYSCALL_EX;
            struct w32ISA_SYSCALL_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_EXX_WRSQ(r32)                   _BFGET_(r32, 0, 0)
    #define   SET32ISA_SYSCALL_EXX_WRSQ(r32,v)                 _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SYSCALL_EXX_WRSQ(r16)                   _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_EXX_WRSQ(r16,v)                 _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_EXX_WR16(r32)                   _BFGET_(r32, 1, 1)
    #define   SET32ISA_SYSCALL_EXX_WR16(r32,v)                 _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SYSCALL_EXX_WR16(r16)                   _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_EXX_WR16(r16,v)                 _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_EXX_WRTQ(r32)                   _BFGET_(r32, 2, 2)
    #define   SET32ISA_SYSCALL_EXX_WRTQ(r32,v)                 _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SYSCALL_EXX_WRTQ(r16)                   _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_EXX_WRTQ(r16,v)                 _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_EXX_ALU64PUSH(r32)              _BFGET_(r32, 3, 3)
    #define   SET32ISA_SYSCALL_EXX_ALU64PUSH(r32,v)            _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SYSCALL_EXX_ALU64PUSH(r16)              _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_EXX_ALU64PUSH(r16,v)            _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_EXX_ALU64POP(r32)               _BFGET_(r32, 4, 4)
    #define   SET32ISA_SYSCALL_EXX_ALU64POP(r32,v)             _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SYSCALL_EXX_ALU64POP(r16)               _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_EXX_ALU64POP(r16,v)             _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_SYSCALL_EXX_ALU64SQ(r32)                _BFGET_(r32, 5, 5)
    #define   SET32ISA_SYSCALL_EXX_ALU64SQ(r32,v)              _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_SYSCALL_EXX_ALU64SQ(r16)                _BFGET_(r16, 5, 5)
    #define   SET16ISA_SYSCALL_EXX_ALU64SQ(r16,v)              _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_SYSCALL_EXX_ALU64TQ(r32)                _BFGET_(r32, 6, 6)
    #define   SET32ISA_SYSCALL_EXX_ALU64TQ(r32,v)              _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_SYSCALL_EXX_ALU64TQ(r16)                _BFGET_(r16, 6, 6)
    #define   SET16ISA_SYSCALL_EXX_ALU64TQ(r16,v)              _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_SYSCALL_EXX_ALU64MEM(r32)               _BFGET_(r32, 7, 7)
    #define   SET32ISA_SYSCALL_EXX_ALU64MEM(r32,v)             _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_SYSCALL_EXX_ALU64MEM(r16)               _BFGET_(r16, 7, 7)
    #define   SET16ISA_SYSCALL_EXX_ALU64MEM(r16,v)             _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_SYSCALL_EXX_BRANCH(r32)                 _BFGET_(r32, 8, 8)
    #define   SET32ISA_SYSCALL_EXX_BRANCH(r32,v)               _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_SYSCALL_EXX_BRANCH(r16)                 _BFGET_(r16, 8, 8)
    #define   SET16ISA_SYSCALL_EXX_BRANCH(r16,v)               _BFSET_(r16, 8, 8,v)

    #define     w32ISA_SYSCALL_EXX                             {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_SYSCALL_EXX;
            struct w32ISA_SYSCALL_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_SYSCALL_WB_RF16(r32)                    _BFGET_(r32, 0, 0)
    #define   SET32ISA_SYSCALL_WB_RF16(r32,v)                  _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_SYSCALL_WB_RF16(r16)                    _BFGET_(r16, 0, 0)
    #define   SET16ISA_SYSCALL_WB_RF16(r16,v)                  _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_SYSCALL_WB_RF16W0(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_SYSCALL_WB_RF16W0(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_SYSCALL_WB_RF16W0(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_SYSCALL_WB_RF16W0(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_SYSCALL_WB_RF16MEM(r32)                 _BFGET_(r32, 2, 2)
    #define   SET32ISA_SYSCALL_WB_RF16MEM(r32,v)               _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_SYSCALL_WB_RF16MEM(r16)                 _BFGET_(r16, 2, 2)
    #define   SET16ISA_SYSCALL_WB_RF16MEM(r16,v)               _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_SYSCALL_WB_RF16Q(r32)                   _BFGET_(r32, 3, 3)
    #define   SET32ISA_SYSCALL_WB_RF16Q(r32,v)                 _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_SYSCALL_WB_RF16Q(r16)                   _BFGET_(r16, 3, 3)
    #define   SET16ISA_SYSCALL_WB_RF16Q(r16,v)                 _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_SYSCALL_WB_RF64(r32)                    _BFGET_(r32, 4, 4)
    #define   SET32ISA_SYSCALL_WB_RF64(r32,v)                  _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_SYSCALL_WB_RF64(r16)                    _BFGET_(r16, 4, 4)
    #define   SET16ISA_SYSCALL_WB_RF64(r16,v)                  _BFSET_(r16, 4, 4,v)

    #define     w32ISA_SYSCALL_WB                              {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_SYSCALL_WB;
            struct w32ISA_SYSCALL_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_SYSCALL;

    typedef union  T32ISA_SYSCALL_Mask
          { UNSG32 u32;
            struct w32ISA_SYSCALL_Mask;
                 } T32ISA_SYSCALL_Mask;
    typedef union  T32ISA_SYSCALL_Opcode
          { UNSG32 u32;
            struct w32ISA_SYSCALL_Opcode;
                 } T32ISA_SYSCALL_Opcode;
    typedef union  T32ISA_SYSCALL_ID
          { UNSG32 u32;
            struct w32ISA_SYSCALL_ID;
                 } T32ISA_SYSCALL_ID;
    typedef union  T32ISA_SYSCALL_LD
          { UNSG32 u32;
            struct w32ISA_SYSCALL_LD;
                 } T32ISA_SYSCALL_LD;
    typedef union  T32ISA_SYSCALL_EX
          { UNSG32 u32;
            struct w32ISA_SYSCALL_EX;
                 } T32ISA_SYSCALL_EX;
    typedef union  T32ISA_SYSCALL_EXX
          { UNSG32 u32;
            struct w32ISA_SYSCALL_EXX;
                 } T32ISA_SYSCALL_EXX;
    typedef union  T32ISA_SYSCALL_WB
          { UNSG32 u32;
            struct w32ISA_SYSCALL_WB;
                 } T32ISA_SYSCALL_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_SYSCALL_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_Mask;
                   };
                 } TISA_SYSCALL_Mask;
    typedef union  TISA_SYSCALL_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_Opcode;
                   };
                 } TISA_SYSCALL_Opcode;
    typedef union  TISA_SYSCALL_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_ID;
                   };
                 } TISA_SYSCALL_ID;
    typedef union  TISA_SYSCALL_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_LD;
                   };
                 } TISA_SYSCALL_LD;
    typedef union  TISA_SYSCALL_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_EX;
                   };
                 } TISA_SYSCALL_EX;
    typedef union  TISA_SYSCALL_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_EXX;
                   };
                 } TISA_SYSCALL_EXX;
    typedef union  TISA_SYSCALL_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_SYSCALL_WB;
                   };
                 } TISA_SYSCALL_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_SYSCALL_drvrd(SIE_ISA_SYSCALL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_SYSCALL_drvwr(SIE_ISA_SYSCALL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_SYSCALL_reset(SIE_ISA_SYSCALL *p);
     SIGN32 ISA_SYSCALL_cmp  (SIE_ISA_SYSCALL *p, SIE_ISA_SYSCALL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_SYSCALL_check(p,pie,pfx,hLOG) ISA_SYSCALL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_SYSCALL_print(p,    pfx,hLOG) ISA_SYSCALL_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_SYSCALL
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE ISA_NOP                                  (4,4)
///     ###
///     * Serves as bubble in the FIGO program. Hardware does nothing.
///     * Note: ALU64 uses a-synchronized model, result will be received by another A64LD instruction.
///     * No flags are affected.
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000 Mask                 (P)
///               %unsigned 24 INS                       0xFFFFFF
///               %%        8          # Stuffing bits...
///     @ 0x00004 Opcode               (P)
///               %unsigned 24 INS                       0x0
///                                    ###
///                                    * -                                                                 
///                                    * - { "NOP" ,                  , "0000 0000 0000 0000 0000 0000" } ,
///                                    * - Usage:
///                                    * -    NOP                     ; do nothing
///                                    ###
///               %%        8          # Stuffing bits...
///     @ 0x00008 ID                   (P)
///               ###
///               * Controls at ID stage
///               ###
///               %unsigned 1  RBRF                      
///               %unsigned 1  RARF                      
///               %unsigned 1  RAK8                      
///               %unsigned 1  RAI16                     
///               %unsigned 1  RAK16                     
///               %unsigned 1  RFSP                      
///               %unsigned 1  W4D4                      
///               %unsigned 1  W4S4                      
///               %%        24         # Stuffing bits...
///     @ 0x0000C LD                   (P)
///               ###
///               * Controls at LD stage
///               ###
///               %unsigned 1  SPRF                      
///               %unsigned 1  SPK8                      
///               %unsigned 1  SPJ                       
///               %unsigned 1  SP4S                      
///               %unsigned 1  SP8S                      
///               %unsigned 1  SP8U                      
///               %unsigned 1  SP12S                     
///               %unsigned 1  SP16                      
///               %unsigned 1  TPRF                      
///               %unsigned 1  TPJ                       
///               %unsigned 1  TP4S                      
///               %unsigned 1  TP8L                      
///               %unsigned 1  TP8H                      
///               %unsigned 1  TP8LF                     
///               %unsigned 1  TP8HF                     
///               %unsigned 1  SQRF64                    
///               %unsigned 1  TQRF16Q                   
///               %unsigned 1  TQRFx4                    
///               %unsigned 1  RD                        
///               %unsigned 1  WARF                      
///               %unsigned 1  WAK8                      
///               %unsigned 1  WAK16                     
///               %%        10         # Stuffing bits...
///     @ 0x00010 EX                   (P)
///               ###
///               * Controls at EX stage (ALU16)
///               ###
///               %unsigned 1  ALU16FlagZ                
///               %unsigned 1  ALU16FlagC                
///               %unsigned 1  ALU16FlagN                
///               %unsigned 1  ALU16FlagV                
///               %unsigned 1  ALU16FlagTP               
///               %unsigned 1  ALU16MUL                  
///               %unsigned 1  ALU16DIV                  
///               %unsigned 1  ALU16FlagLD               
///               %unsigned 1  ALU16MDL                  
///               %unsigned 1  ALU16MDH                  
///               %unsigned 1  ALU16ADD                  
///               %unsigned 1  ALU16SUB                  
///               %unsigned 1  ALU16ADDC                 
///               %unsigned 1  ALU16SUBC                 
///               %unsigned 1  ALU16ASR                  
///               %unsigned 1  ALU16SL                   
///               %unsigned 1  ALU16SR                   
///               %unsigned 1  ALU16GET                  
///               %unsigned 1  ALU16SET                  
///               %unsigned 1  ALU16SEL                  
///               %unsigned 1  ALU16OR                   
///               %unsigned 1  ALU16AND                  
///               %unsigned 1  ALU16XOR                  
///               %unsigned 1  ALU16SP                   
///               %%        8          # Stuffing bits...
///     @ 0x00014 EXX                  (P)
///               ###
///               * Controls at EX stage (others)
///               ###
///               %unsigned 1  WRSQ                      
///               %unsigned 1  WR16                      
///               %unsigned 1  WRTQ                      
///               %unsigned 1  ALU64PUSH                 
///               %unsigned 1  ALU64POP                  
///               %unsigned 1  ALU64SQ                   
///               %unsigned 1  ALU64TQ                   
///               %unsigned 1  ALU64MEM                  
///               %unsigned 1  BRANCH                    
///               %%        23         # Stuffing bits...
///     @ 0x00018 WB                   (P)
///               ###
///               * Controls at WB stage
///               ###
///               %unsigned 1  RF16                      
///               %unsigned 1  RF16W0                    
///               %unsigned 1  RF16MEM                   
///               %unsigned 1  RF16Q                     
///               %unsigned 1  RF64                      
///               %%        27         # Stuffing bits...
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:      28B, bits:     116b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_ISA_NOP
#define h_ISA_NOP (){}

    #define     RA_ISA_NOP_Mask                                0x0000

    #define     BA_ISA_NOP_Mask_INS                            0x0000
    #define     B16ISA_NOP_Mask_INS                            0x0000
    #define   LSb32ISA_NOP_Mask_INS                               0
    #define   LSb16ISA_NOP_Mask_INS                               0
    #define       bISA_NOP_Mask_INS                            24
    #define   MSK32ISA_NOP_Mask_INS                               0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_Opcode                              0x0004

    #define     BA_ISA_NOP_Opcode_INS                          0x0004
    #define     B16ISA_NOP_Opcode_INS                          0x0004
    #define   LSb32ISA_NOP_Opcode_INS                             0
    #define   LSb16ISA_NOP_Opcode_INS                             0
    #define       bISA_NOP_Opcode_INS                          24
    #define   MSK32ISA_NOP_Opcode_INS                             0x00FFFFFF
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_ID                                  0x0008

    #define     BA_ISA_NOP_ID_RBRF                             0x0008
    #define     B16ISA_NOP_ID_RBRF                             0x0008
    #define   LSb32ISA_NOP_ID_RBRF                                0
    #define   LSb16ISA_NOP_ID_RBRF                                0
    #define       bISA_NOP_ID_RBRF                             1
    #define   MSK32ISA_NOP_ID_RBRF                                0x00000001

    #define     BA_ISA_NOP_ID_RARF                             0x0008
    #define     B16ISA_NOP_ID_RARF                             0x0008
    #define   LSb32ISA_NOP_ID_RARF                                1
    #define   LSb16ISA_NOP_ID_RARF                                1
    #define       bISA_NOP_ID_RARF                             1
    #define   MSK32ISA_NOP_ID_RARF                                0x00000002

    #define     BA_ISA_NOP_ID_RAK8                             0x0008
    #define     B16ISA_NOP_ID_RAK8                             0x0008
    #define   LSb32ISA_NOP_ID_RAK8                                2
    #define   LSb16ISA_NOP_ID_RAK8                                2
    #define       bISA_NOP_ID_RAK8                             1
    #define   MSK32ISA_NOP_ID_RAK8                                0x00000004

    #define     BA_ISA_NOP_ID_RAI16                            0x0008
    #define     B16ISA_NOP_ID_RAI16                            0x0008
    #define   LSb32ISA_NOP_ID_RAI16                               3
    #define   LSb16ISA_NOP_ID_RAI16                               3
    #define       bISA_NOP_ID_RAI16                            1
    #define   MSK32ISA_NOP_ID_RAI16                               0x00000008

    #define     BA_ISA_NOP_ID_RAK16                            0x0008
    #define     B16ISA_NOP_ID_RAK16                            0x0008
    #define   LSb32ISA_NOP_ID_RAK16                               4
    #define   LSb16ISA_NOP_ID_RAK16                               4
    #define       bISA_NOP_ID_RAK16                            1
    #define   MSK32ISA_NOP_ID_RAK16                               0x00000010

    #define     BA_ISA_NOP_ID_RFSP                             0x0008
    #define     B16ISA_NOP_ID_RFSP                             0x0008
    #define   LSb32ISA_NOP_ID_RFSP                                5
    #define   LSb16ISA_NOP_ID_RFSP                                5
    #define       bISA_NOP_ID_RFSP                             1
    #define   MSK32ISA_NOP_ID_RFSP                                0x00000020

    #define     BA_ISA_NOP_ID_W4D4                             0x0008
    #define     B16ISA_NOP_ID_W4D4                             0x0008
    #define   LSb32ISA_NOP_ID_W4D4                                6
    #define   LSb16ISA_NOP_ID_W4D4                                6
    #define       bISA_NOP_ID_W4D4                             1
    #define   MSK32ISA_NOP_ID_W4D4                                0x00000040

    #define     BA_ISA_NOP_ID_W4S4                             0x0008
    #define     B16ISA_NOP_ID_W4S4                             0x0008
    #define   LSb32ISA_NOP_ID_W4S4                                7
    #define   LSb16ISA_NOP_ID_W4S4                                7
    #define       bISA_NOP_ID_W4S4                             1
    #define   MSK32ISA_NOP_ID_W4S4                                0x00000080
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_LD                                  0x000C

    #define     BA_ISA_NOP_LD_SPRF                             0x000C
    #define     B16ISA_NOP_LD_SPRF                             0x000C
    #define   LSb32ISA_NOP_LD_SPRF                                0
    #define   LSb16ISA_NOP_LD_SPRF                                0
    #define       bISA_NOP_LD_SPRF                             1
    #define   MSK32ISA_NOP_LD_SPRF                                0x00000001

    #define     BA_ISA_NOP_LD_SPK8                             0x000C
    #define     B16ISA_NOP_LD_SPK8                             0x000C
    #define   LSb32ISA_NOP_LD_SPK8                                1
    #define   LSb16ISA_NOP_LD_SPK8                                1
    #define       bISA_NOP_LD_SPK8                             1
    #define   MSK32ISA_NOP_LD_SPK8                                0x00000002

    #define     BA_ISA_NOP_LD_SPJ                              0x000C
    #define     B16ISA_NOP_LD_SPJ                              0x000C
    #define   LSb32ISA_NOP_LD_SPJ                                 2
    #define   LSb16ISA_NOP_LD_SPJ                                 2
    #define       bISA_NOP_LD_SPJ                              1
    #define   MSK32ISA_NOP_LD_SPJ                                 0x00000004

    #define     BA_ISA_NOP_LD_SP4S                             0x000C
    #define     B16ISA_NOP_LD_SP4S                             0x000C
    #define   LSb32ISA_NOP_LD_SP4S                                3
    #define   LSb16ISA_NOP_LD_SP4S                                3
    #define       bISA_NOP_LD_SP4S                             1
    #define   MSK32ISA_NOP_LD_SP4S                                0x00000008

    #define     BA_ISA_NOP_LD_SP8S                             0x000C
    #define     B16ISA_NOP_LD_SP8S                             0x000C
    #define   LSb32ISA_NOP_LD_SP8S                                4
    #define   LSb16ISA_NOP_LD_SP8S                                4
    #define       bISA_NOP_LD_SP8S                             1
    #define   MSK32ISA_NOP_LD_SP8S                                0x00000010

    #define     BA_ISA_NOP_LD_SP8U                             0x000C
    #define     B16ISA_NOP_LD_SP8U                             0x000C
    #define   LSb32ISA_NOP_LD_SP8U                                5
    #define   LSb16ISA_NOP_LD_SP8U                                5
    #define       bISA_NOP_LD_SP8U                             1
    #define   MSK32ISA_NOP_LD_SP8U                                0x00000020

    #define     BA_ISA_NOP_LD_SP12S                            0x000C
    #define     B16ISA_NOP_LD_SP12S                            0x000C
    #define   LSb32ISA_NOP_LD_SP12S                               6
    #define   LSb16ISA_NOP_LD_SP12S                               6
    #define       bISA_NOP_LD_SP12S                            1
    #define   MSK32ISA_NOP_LD_SP12S                               0x00000040

    #define     BA_ISA_NOP_LD_SP16                             0x000C
    #define     B16ISA_NOP_LD_SP16                             0x000C
    #define   LSb32ISA_NOP_LD_SP16                                7
    #define   LSb16ISA_NOP_LD_SP16                                7
    #define       bISA_NOP_LD_SP16                             1
    #define   MSK32ISA_NOP_LD_SP16                                0x00000080

    #define     BA_ISA_NOP_LD_TPRF                             0x000D
    #define     B16ISA_NOP_LD_TPRF                             0x000C
    #define   LSb32ISA_NOP_LD_TPRF                                8
    #define   LSb16ISA_NOP_LD_TPRF                                8
    #define       bISA_NOP_LD_TPRF                             1
    #define   MSK32ISA_NOP_LD_TPRF                                0x00000100

    #define     BA_ISA_NOP_LD_TPJ                              0x000D
    #define     B16ISA_NOP_LD_TPJ                              0x000C
    #define   LSb32ISA_NOP_LD_TPJ                                 9
    #define   LSb16ISA_NOP_LD_TPJ                                 9
    #define       bISA_NOP_LD_TPJ                              1
    #define   MSK32ISA_NOP_LD_TPJ                                 0x00000200

    #define     BA_ISA_NOP_LD_TP4S                             0x000D
    #define     B16ISA_NOP_LD_TP4S                             0x000C
    #define   LSb32ISA_NOP_LD_TP4S                                10
    #define   LSb16ISA_NOP_LD_TP4S                                10
    #define       bISA_NOP_LD_TP4S                             1
    #define   MSK32ISA_NOP_LD_TP4S                                0x00000400

    #define     BA_ISA_NOP_LD_TP8L                             0x000D
    #define     B16ISA_NOP_LD_TP8L                             0x000C
    #define   LSb32ISA_NOP_LD_TP8L                                11
    #define   LSb16ISA_NOP_LD_TP8L                                11
    #define       bISA_NOP_LD_TP8L                             1
    #define   MSK32ISA_NOP_LD_TP8L                                0x00000800

    #define     BA_ISA_NOP_LD_TP8H                             0x000D
    #define     B16ISA_NOP_LD_TP8H                             0x000C
    #define   LSb32ISA_NOP_LD_TP8H                                12
    #define   LSb16ISA_NOP_LD_TP8H                                12
    #define       bISA_NOP_LD_TP8H                             1
    #define   MSK32ISA_NOP_LD_TP8H                                0x00001000

    #define     BA_ISA_NOP_LD_TP8LF                            0x000D
    #define     B16ISA_NOP_LD_TP8LF                            0x000C
    #define   LSb32ISA_NOP_LD_TP8LF                               13
    #define   LSb16ISA_NOP_LD_TP8LF                               13
    #define       bISA_NOP_LD_TP8LF                            1
    #define   MSK32ISA_NOP_LD_TP8LF                               0x00002000

    #define     BA_ISA_NOP_LD_TP8HF                            0x000D
    #define     B16ISA_NOP_LD_TP8HF                            0x000C
    #define   LSb32ISA_NOP_LD_TP8HF                               14
    #define   LSb16ISA_NOP_LD_TP8HF                               14
    #define       bISA_NOP_LD_TP8HF                            1
    #define   MSK32ISA_NOP_LD_TP8HF                               0x00004000

    #define     BA_ISA_NOP_LD_SQRF64                           0x000D
    #define     B16ISA_NOP_LD_SQRF64                           0x000C
    #define   LSb32ISA_NOP_LD_SQRF64                              15
    #define   LSb16ISA_NOP_LD_SQRF64                              15
    #define       bISA_NOP_LD_SQRF64                           1
    #define   MSK32ISA_NOP_LD_SQRF64                              0x00008000

    #define     BA_ISA_NOP_LD_TQRF16Q                          0x000E
    #define     B16ISA_NOP_LD_TQRF16Q                          0x000E
    #define   LSb32ISA_NOP_LD_TQRF16Q                             16
    #define   LSb16ISA_NOP_LD_TQRF16Q                             0
    #define       bISA_NOP_LD_TQRF16Q                          1
    #define   MSK32ISA_NOP_LD_TQRF16Q                             0x00010000

    #define     BA_ISA_NOP_LD_TQRFx4                           0x000E
    #define     B16ISA_NOP_LD_TQRFx4                           0x000E
    #define   LSb32ISA_NOP_LD_TQRFx4                              17
    #define   LSb16ISA_NOP_LD_TQRFx4                              1
    #define       bISA_NOP_LD_TQRFx4                           1
    #define   MSK32ISA_NOP_LD_TQRFx4                              0x00020000

    #define     BA_ISA_NOP_LD_RD                               0x000E
    #define     B16ISA_NOP_LD_RD                               0x000E
    #define   LSb32ISA_NOP_LD_RD                                  18
    #define   LSb16ISA_NOP_LD_RD                                  2
    #define       bISA_NOP_LD_RD                               1
    #define   MSK32ISA_NOP_LD_RD                                  0x00040000

    #define     BA_ISA_NOP_LD_WARF                             0x000E
    #define     B16ISA_NOP_LD_WARF                             0x000E
    #define   LSb32ISA_NOP_LD_WARF                                19
    #define   LSb16ISA_NOP_LD_WARF                                3
    #define       bISA_NOP_LD_WARF                             1
    #define   MSK32ISA_NOP_LD_WARF                                0x00080000

    #define     BA_ISA_NOP_LD_WAK8                             0x000E
    #define     B16ISA_NOP_LD_WAK8                             0x000E
    #define   LSb32ISA_NOP_LD_WAK8                                20
    #define   LSb16ISA_NOP_LD_WAK8                                4
    #define       bISA_NOP_LD_WAK8                             1
    #define   MSK32ISA_NOP_LD_WAK8                                0x00100000

    #define     BA_ISA_NOP_LD_WAK16                            0x000E
    #define     B16ISA_NOP_LD_WAK16                            0x000E
    #define   LSb32ISA_NOP_LD_WAK16                               21
    #define   LSb16ISA_NOP_LD_WAK16                               5
    #define       bISA_NOP_LD_WAK16                            1
    #define   MSK32ISA_NOP_LD_WAK16                               0x00200000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_EX                                  0x0010

    #define     BA_ISA_NOP_EX_ALU16FlagZ                       0x0010
    #define     B16ISA_NOP_EX_ALU16FlagZ                       0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagZ                          0
    #define   LSb16ISA_NOP_EX_ALU16FlagZ                          0
    #define       bISA_NOP_EX_ALU16FlagZ                       1
    #define   MSK32ISA_NOP_EX_ALU16FlagZ                          0x00000001

    #define     BA_ISA_NOP_EX_ALU16FlagC                       0x0010
    #define     B16ISA_NOP_EX_ALU16FlagC                       0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagC                          1
    #define   LSb16ISA_NOP_EX_ALU16FlagC                          1
    #define       bISA_NOP_EX_ALU16FlagC                       1
    #define   MSK32ISA_NOP_EX_ALU16FlagC                          0x00000002

    #define     BA_ISA_NOP_EX_ALU16FlagN                       0x0010
    #define     B16ISA_NOP_EX_ALU16FlagN                       0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagN                          2
    #define   LSb16ISA_NOP_EX_ALU16FlagN                          2
    #define       bISA_NOP_EX_ALU16FlagN                       1
    #define   MSK32ISA_NOP_EX_ALU16FlagN                          0x00000004

    #define     BA_ISA_NOP_EX_ALU16FlagV                       0x0010
    #define     B16ISA_NOP_EX_ALU16FlagV                       0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagV                          3
    #define   LSb16ISA_NOP_EX_ALU16FlagV                          3
    #define       bISA_NOP_EX_ALU16FlagV                       1
    #define   MSK32ISA_NOP_EX_ALU16FlagV                          0x00000008

    #define     BA_ISA_NOP_EX_ALU16FlagTP                      0x0010
    #define     B16ISA_NOP_EX_ALU16FlagTP                      0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagTP                         4
    #define   LSb16ISA_NOP_EX_ALU16FlagTP                         4
    #define       bISA_NOP_EX_ALU16FlagTP                      1
    #define   MSK32ISA_NOP_EX_ALU16FlagTP                         0x00000010

    #define     BA_ISA_NOP_EX_ALU16MUL                         0x0010
    #define     B16ISA_NOP_EX_ALU16MUL                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16MUL                            5
    #define   LSb16ISA_NOP_EX_ALU16MUL                            5
    #define       bISA_NOP_EX_ALU16MUL                         1
    #define   MSK32ISA_NOP_EX_ALU16MUL                            0x00000020

    #define     BA_ISA_NOP_EX_ALU16DIV                         0x0010
    #define     B16ISA_NOP_EX_ALU16DIV                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16DIV                            6
    #define   LSb16ISA_NOP_EX_ALU16DIV                            6
    #define       bISA_NOP_EX_ALU16DIV                         1
    #define   MSK32ISA_NOP_EX_ALU16DIV                            0x00000040

    #define     BA_ISA_NOP_EX_ALU16FlagLD                      0x0010
    #define     B16ISA_NOP_EX_ALU16FlagLD                      0x0010
    #define   LSb32ISA_NOP_EX_ALU16FlagLD                         7
    #define   LSb16ISA_NOP_EX_ALU16FlagLD                         7
    #define       bISA_NOP_EX_ALU16FlagLD                      1
    #define   MSK32ISA_NOP_EX_ALU16FlagLD                         0x00000080

    #define     BA_ISA_NOP_EX_ALU16MDL                         0x0011
    #define     B16ISA_NOP_EX_ALU16MDL                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16MDL                            8
    #define   LSb16ISA_NOP_EX_ALU16MDL                            8
    #define       bISA_NOP_EX_ALU16MDL                         1
    #define   MSK32ISA_NOP_EX_ALU16MDL                            0x00000100

    #define     BA_ISA_NOP_EX_ALU16MDH                         0x0011
    #define     B16ISA_NOP_EX_ALU16MDH                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16MDH                            9
    #define   LSb16ISA_NOP_EX_ALU16MDH                            9
    #define       bISA_NOP_EX_ALU16MDH                         1
    #define   MSK32ISA_NOP_EX_ALU16MDH                            0x00000200

    #define     BA_ISA_NOP_EX_ALU16ADD                         0x0011
    #define     B16ISA_NOP_EX_ALU16ADD                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16ADD                            10
    #define   LSb16ISA_NOP_EX_ALU16ADD                            10
    #define       bISA_NOP_EX_ALU16ADD                         1
    #define   MSK32ISA_NOP_EX_ALU16ADD                            0x00000400

    #define     BA_ISA_NOP_EX_ALU16SUB                         0x0011
    #define     B16ISA_NOP_EX_ALU16SUB                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16SUB                            11
    #define   LSb16ISA_NOP_EX_ALU16SUB                            11
    #define       bISA_NOP_EX_ALU16SUB                         1
    #define   MSK32ISA_NOP_EX_ALU16SUB                            0x00000800

    #define     BA_ISA_NOP_EX_ALU16ADDC                        0x0011
    #define     B16ISA_NOP_EX_ALU16ADDC                        0x0010
    #define   LSb32ISA_NOP_EX_ALU16ADDC                           12
    #define   LSb16ISA_NOP_EX_ALU16ADDC                           12
    #define       bISA_NOP_EX_ALU16ADDC                        1
    #define   MSK32ISA_NOP_EX_ALU16ADDC                           0x00001000

    #define     BA_ISA_NOP_EX_ALU16SUBC                        0x0011
    #define     B16ISA_NOP_EX_ALU16SUBC                        0x0010
    #define   LSb32ISA_NOP_EX_ALU16SUBC                           13
    #define   LSb16ISA_NOP_EX_ALU16SUBC                           13
    #define       bISA_NOP_EX_ALU16SUBC                        1
    #define   MSK32ISA_NOP_EX_ALU16SUBC                           0x00002000

    #define     BA_ISA_NOP_EX_ALU16ASR                         0x0011
    #define     B16ISA_NOP_EX_ALU16ASR                         0x0010
    #define   LSb32ISA_NOP_EX_ALU16ASR                            14
    #define   LSb16ISA_NOP_EX_ALU16ASR                            14
    #define       bISA_NOP_EX_ALU16ASR                         1
    #define   MSK32ISA_NOP_EX_ALU16ASR                            0x00004000

    #define     BA_ISA_NOP_EX_ALU16SL                          0x0011
    #define     B16ISA_NOP_EX_ALU16SL                          0x0010
    #define   LSb32ISA_NOP_EX_ALU16SL                             15
    #define   LSb16ISA_NOP_EX_ALU16SL                             15
    #define       bISA_NOP_EX_ALU16SL                          1
    #define   MSK32ISA_NOP_EX_ALU16SL                             0x00008000

    #define     BA_ISA_NOP_EX_ALU16SR                          0x0012
    #define     B16ISA_NOP_EX_ALU16SR                          0x0012
    #define   LSb32ISA_NOP_EX_ALU16SR                             16
    #define   LSb16ISA_NOP_EX_ALU16SR                             0
    #define       bISA_NOP_EX_ALU16SR                          1
    #define   MSK32ISA_NOP_EX_ALU16SR                             0x00010000

    #define     BA_ISA_NOP_EX_ALU16GET                         0x0012
    #define     B16ISA_NOP_EX_ALU16GET                         0x0012
    #define   LSb32ISA_NOP_EX_ALU16GET                            17
    #define   LSb16ISA_NOP_EX_ALU16GET                            1
    #define       bISA_NOP_EX_ALU16GET                         1
    #define   MSK32ISA_NOP_EX_ALU16GET                            0x00020000

    #define     BA_ISA_NOP_EX_ALU16SET                         0x0012
    #define     B16ISA_NOP_EX_ALU16SET                         0x0012
    #define   LSb32ISA_NOP_EX_ALU16SET                            18
    #define   LSb16ISA_NOP_EX_ALU16SET                            2
    #define       bISA_NOP_EX_ALU16SET                         1
    #define   MSK32ISA_NOP_EX_ALU16SET                            0x00040000

    #define     BA_ISA_NOP_EX_ALU16SEL                         0x0012
    #define     B16ISA_NOP_EX_ALU16SEL                         0x0012
    #define   LSb32ISA_NOP_EX_ALU16SEL                            19
    #define   LSb16ISA_NOP_EX_ALU16SEL                            3
    #define       bISA_NOP_EX_ALU16SEL                         1
    #define   MSK32ISA_NOP_EX_ALU16SEL                            0x00080000

    #define     BA_ISA_NOP_EX_ALU16OR                          0x0012
    #define     B16ISA_NOP_EX_ALU16OR                          0x0012
    #define   LSb32ISA_NOP_EX_ALU16OR                             20
    #define   LSb16ISA_NOP_EX_ALU16OR                             4
    #define       bISA_NOP_EX_ALU16OR                          1
    #define   MSK32ISA_NOP_EX_ALU16OR                             0x00100000

    #define     BA_ISA_NOP_EX_ALU16AND                         0x0012
    #define     B16ISA_NOP_EX_ALU16AND                         0x0012
    #define   LSb32ISA_NOP_EX_ALU16AND                            21
    #define   LSb16ISA_NOP_EX_ALU16AND                            5
    #define       bISA_NOP_EX_ALU16AND                         1
    #define   MSK32ISA_NOP_EX_ALU16AND                            0x00200000

    #define     BA_ISA_NOP_EX_ALU16XOR                         0x0012
    #define     B16ISA_NOP_EX_ALU16XOR                         0x0012
    #define   LSb32ISA_NOP_EX_ALU16XOR                            22
    #define   LSb16ISA_NOP_EX_ALU16XOR                            6
    #define       bISA_NOP_EX_ALU16XOR                         1
    #define   MSK32ISA_NOP_EX_ALU16XOR                            0x00400000

    #define     BA_ISA_NOP_EX_ALU16SP                          0x0012
    #define     B16ISA_NOP_EX_ALU16SP                          0x0012
    #define   LSb32ISA_NOP_EX_ALU16SP                             23
    #define   LSb16ISA_NOP_EX_ALU16SP                             7
    #define       bISA_NOP_EX_ALU16SP                          1
    #define   MSK32ISA_NOP_EX_ALU16SP                             0x00800000
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_EXX                                 0x0014

    #define     BA_ISA_NOP_EXX_WRSQ                            0x0014
    #define     B16ISA_NOP_EXX_WRSQ                            0x0014
    #define   LSb32ISA_NOP_EXX_WRSQ                               0
    #define   LSb16ISA_NOP_EXX_WRSQ                               0
    #define       bISA_NOP_EXX_WRSQ                            1
    #define   MSK32ISA_NOP_EXX_WRSQ                               0x00000001

    #define     BA_ISA_NOP_EXX_WR16                            0x0014
    #define     B16ISA_NOP_EXX_WR16                            0x0014
    #define   LSb32ISA_NOP_EXX_WR16                               1
    #define   LSb16ISA_NOP_EXX_WR16                               1
    #define       bISA_NOP_EXX_WR16                            1
    #define   MSK32ISA_NOP_EXX_WR16                               0x00000002

    #define     BA_ISA_NOP_EXX_WRTQ                            0x0014
    #define     B16ISA_NOP_EXX_WRTQ                            0x0014
    #define   LSb32ISA_NOP_EXX_WRTQ                               2
    #define   LSb16ISA_NOP_EXX_WRTQ                               2
    #define       bISA_NOP_EXX_WRTQ                            1
    #define   MSK32ISA_NOP_EXX_WRTQ                               0x00000004

    #define     BA_ISA_NOP_EXX_ALU64PUSH                       0x0014
    #define     B16ISA_NOP_EXX_ALU64PUSH                       0x0014
    #define   LSb32ISA_NOP_EXX_ALU64PUSH                          3
    #define   LSb16ISA_NOP_EXX_ALU64PUSH                          3
    #define       bISA_NOP_EXX_ALU64PUSH                       1
    #define   MSK32ISA_NOP_EXX_ALU64PUSH                          0x00000008

    #define     BA_ISA_NOP_EXX_ALU64POP                        0x0014
    #define     B16ISA_NOP_EXX_ALU64POP                        0x0014
    #define   LSb32ISA_NOP_EXX_ALU64POP                           4
    #define   LSb16ISA_NOP_EXX_ALU64POP                           4
    #define       bISA_NOP_EXX_ALU64POP                        1
    #define   MSK32ISA_NOP_EXX_ALU64POP                           0x00000010

    #define     BA_ISA_NOP_EXX_ALU64SQ                         0x0014
    #define     B16ISA_NOP_EXX_ALU64SQ                         0x0014
    #define   LSb32ISA_NOP_EXX_ALU64SQ                            5
    #define   LSb16ISA_NOP_EXX_ALU64SQ                            5
    #define       bISA_NOP_EXX_ALU64SQ                         1
    #define   MSK32ISA_NOP_EXX_ALU64SQ                            0x00000020

    #define     BA_ISA_NOP_EXX_ALU64TQ                         0x0014
    #define     B16ISA_NOP_EXX_ALU64TQ                         0x0014
    #define   LSb32ISA_NOP_EXX_ALU64TQ                            6
    #define   LSb16ISA_NOP_EXX_ALU64TQ                            6
    #define       bISA_NOP_EXX_ALU64TQ                         1
    #define   MSK32ISA_NOP_EXX_ALU64TQ                            0x00000040

    #define     BA_ISA_NOP_EXX_ALU64MEM                        0x0014
    #define     B16ISA_NOP_EXX_ALU64MEM                        0x0014
    #define   LSb32ISA_NOP_EXX_ALU64MEM                           7
    #define   LSb16ISA_NOP_EXX_ALU64MEM                           7
    #define       bISA_NOP_EXX_ALU64MEM                        1
    #define   MSK32ISA_NOP_EXX_ALU64MEM                           0x00000080

    #define     BA_ISA_NOP_EXX_BRANCH                          0x0015
    #define     B16ISA_NOP_EXX_BRANCH                          0x0014
    #define   LSb32ISA_NOP_EXX_BRANCH                             8
    #define   LSb16ISA_NOP_EXX_BRANCH                             8
    #define       bISA_NOP_EXX_BRANCH                          1
    #define   MSK32ISA_NOP_EXX_BRANCH                             0x00000100
    ///////////////////////////////////////////////////////////
    #define     RA_ISA_NOP_WB                                  0x0018

    #define     BA_ISA_NOP_WB_RF16                             0x0018
    #define     B16ISA_NOP_WB_RF16                             0x0018
    #define   LSb32ISA_NOP_WB_RF16                                0
    #define   LSb16ISA_NOP_WB_RF16                                0
    #define       bISA_NOP_WB_RF16                             1
    #define   MSK32ISA_NOP_WB_RF16                                0x00000001

    #define     BA_ISA_NOP_WB_RF16W0                           0x0018
    #define     B16ISA_NOP_WB_RF16W0                           0x0018
    #define   LSb32ISA_NOP_WB_RF16W0                              1
    #define   LSb16ISA_NOP_WB_RF16W0                              1
    #define       bISA_NOP_WB_RF16W0                           1
    #define   MSK32ISA_NOP_WB_RF16W0                              0x00000002

    #define     BA_ISA_NOP_WB_RF16MEM                          0x0018
    #define     B16ISA_NOP_WB_RF16MEM                          0x0018
    #define   LSb32ISA_NOP_WB_RF16MEM                             2
    #define   LSb16ISA_NOP_WB_RF16MEM                             2
    #define       bISA_NOP_WB_RF16MEM                          1
    #define   MSK32ISA_NOP_WB_RF16MEM                             0x00000004

    #define     BA_ISA_NOP_WB_RF16Q                            0x0018
    #define     B16ISA_NOP_WB_RF16Q                            0x0018
    #define   LSb32ISA_NOP_WB_RF16Q                               3
    #define   LSb16ISA_NOP_WB_RF16Q                               3
    #define       bISA_NOP_WB_RF16Q                            1
    #define   MSK32ISA_NOP_WB_RF16Q                               0x00000008

    #define     BA_ISA_NOP_WB_RF64                             0x0018
    #define     B16ISA_NOP_WB_RF64                             0x0018
    #define   LSb32ISA_NOP_WB_RF64                                4
    #define   LSb16ISA_NOP_WB_RF64                                4
    #define       bISA_NOP_WB_RF64                             1
    #define   MSK32ISA_NOP_WB_RF64                                0x00000010
    ///////////////////////////////////////////////////////////

    typedef struct SIE_ISA_NOP {
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_Mask_INS(r32)                       _BFGET_(r32,23, 0)
    #define   SET32ISA_NOP_Mask_INS(r32,v)                     _BFSET_(r32,23, 0,v)

    #define     w32ISA_NOP_Mask                                {\
            UNSG32 uMask_INS                                   : 24;\
            UNSG32 RSVDx0_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_NOP_Mask;
            struct w32ISA_NOP_Mask;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_Opcode_INS(r32)                     _BFGET_(r32,23, 0)
    #define   SET32ISA_NOP_Opcode_INS(r32,v)                   _BFSET_(r32,23, 0,v)

    #define     w32ISA_NOP_Opcode                              {\
            UNSG32 uOpcode_INS                                 : 24;\
            UNSG32 RSVDx4_b24                                  :  8;\
          }
    union { UNSG32 u32ISA_NOP_Opcode;
            struct w32ISA_NOP_Opcode;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_ID_RBRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_NOP_ID_RBRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_NOP_ID_RBRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_ID_RBRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_ID_RARF(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_NOP_ID_RARF(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_NOP_ID_RARF(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_ID_RARF(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_ID_RAK8(r32)                        _BFGET_(r32, 2, 2)
    #define   SET32ISA_NOP_ID_RAK8(r32,v)                      _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_NOP_ID_RAK8(r16)                        _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_ID_RAK8(r16,v)                      _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_ID_RAI16(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_NOP_ID_RAI16(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_NOP_ID_RAI16(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_ID_RAI16(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_ID_RAK16(r32)                       _BFGET_(r32, 4, 4)
    #define   SET32ISA_NOP_ID_RAK16(r32,v)                     _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_NOP_ID_RAK16(r16)                       _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_ID_RAK16(r16,v)                     _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_ID_RFSP(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_NOP_ID_RFSP(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_NOP_ID_RFSP(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_ID_RFSP(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_NOP_ID_W4D4(r32)                        _BFGET_(r32, 6, 6)
    #define   SET32ISA_NOP_ID_W4D4(r32,v)                      _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_NOP_ID_W4D4(r16)                        _BFGET_(r16, 6, 6)
    #define   SET16ISA_NOP_ID_W4D4(r16,v)                      _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_NOP_ID_W4S4(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_NOP_ID_W4S4(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_NOP_ID_W4S4(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_NOP_ID_W4S4(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define     w32ISA_NOP_ID                                  {\
            UNSG32 uID_RBRF                                    :  1;\
            UNSG32 uID_RARF                                    :  1;\
            UNSG32 uID_RAK8                                    :  1;\
            UNSG32 uID_RAI16                                   :  1;\
            UNSG32 uID_RAK16                                   :  1;\
            UNSG32 uID_RFSP                                    :  1;\
            UNSG32 uID_W4D4                                    :  1;\
            UNSG32 uID_W4S4                                    :  1;\
            UNSG32 RSVDx8_b8                                   : 24;\
          }
    union { UNSG32 u32ISA_NOP_ID;
            struct w32ISA_NOP_ID;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_LD_SPRF(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_NOP_LD_SPRF(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_NOP_LD_SPRF(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_LD_SPRF(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_LD_SPK8(r32)                        _BFGET_(r32, 1, 1)
    #define   SET32ISA_NOP_LD_SPK8(r32,v)                      _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_NOP_LD_SPK8(r16)                        _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_LD_SPK8(r16,v)                      _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_LD_SPJ(r32)                         _BFGET_(r32, 2, 2)
    #define   SET32ISA_NOP_LD_SPJ(r32,v)                       _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_NOP_LD_SPJ(r16)                         _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_LD_SPJ(r16,v)                       _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_LD_SP4S(r32)                        _BFGET_(r32, 3, 3)
    #define   SET32ISA_NOP_LD_SP4S(r32,v)                      _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_NOP_LD_SP4S(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_LD_SP4S(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_LD_SP8S(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_NOP_LD_SP8S(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_NOP_LD_SP8S(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_LD_SP8S(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_LD_SP8U(r32)                        _BFGET_(r32, 5, 5)
    #define   SET32ISA_NOP_LD_SP8U(r32,v)                      _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_NOP_LD_SP8U(r16)                        _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_LD_SP8U(r16,v)                      _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_NOP_LD_SP12S(r32)                       _BFGET_(r32, 6, 6)
    #define   SET32ISA_NOP_LD_SP12S(r32,v)                     _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_NOP_LD_SP12S(r16)                       _BFGET_(r16, 6, 6)
    #define   SET16ISA_NOP_LD_SP12S(r16,v)                     _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_NOP_LD_SP16(r32)                        _BFGET_(r32, 7, 7)
    #define   SET32ISA_NOP_LD_SP16(r32,v)                      _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_NOP_LD_SP16(r16)                        _BFGET_(r16, 7, 7)
    #define   SET16ISA_NOP_LD_SP16(r16,v)                      _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_NOP_LD_TPRF(r32)                        _BFGET_(r32, 8, 8)
    #define   SET32ISA_NOP_LD_TPRF(r32,v)                      _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_NOP_LD_TPRF(r16)                        _BFGET_(r16, 8, 8)
    #define   SET16ISA_NOP_LD_TPRF(r16,v)                      _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_NOP_LD_TPJ(r32)                         _BFGET_(r32, 9, 9)
    #define   SET32ISA_NOP_LD_TPJ(r32,v)                       _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_NOP_LD_TPJ(r16)                         _BFGET_(r16, 9, 9)
    #define   SET16ISA_NOP_LD_TPJ(r16,v)                       _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_NOP_LD_TP4S(r32)                        _BFGET_(r32,10,10)
    #define   SET32ISA_NOP_LD_TP4S(r32,v)                      _BFSET_(r32,10,10,v)
    #define   GET16ISA_NOP_LD_TP4S(r16)                        _BFGET_(r16,10,10)
    #define   SET16ISA_NOP_LD_TP4S(r16,v)                      _BFSET_(r16,10,10,v)

    #define   GET32ISA_NOP_LD_TP8L(r32)                        _BFGET_(r32,11,11)
    #define   SET32ISA_NOP_LD_TP8L(r32,v)                      _BFSET_(r32,11,11,v)
    #define   GET16ISA_NOP_LD_TP8L(r16)                        _BFGET_(r16,11,11)
    #define   SET16ISA_NOP_LD_TP8L(r16,v)                      _BFSET_(r16,11,11,v)

    #define   GET32ISA_NOP_LD_TP8H(r32)                        _BFGET_(r32,12,12)
    #define   SET32ISA_NOP_LD_TP8H(r32,v)                      _BFSET_(r32,12,12,v)
    #define   GET16ISA_NOP_LD_TP8H(r16)                        _BFGET_(r16,12,12)
    #define   SET16ISA_NOP_LD_TP8H(r16,v)                      _BFSET_(r16,12,12,v)

    #define   GET32ISA_NOP_LD_TP8LF(r32)                       _BFGET_(r32,13,13)
    #define   SET32ISA_NOP_LD_TP8LF(r32,v)                     _BFSET_(r32,13,13,v)
    #define   GET16ISA_NOP_LD_TP8LF(r16)                       _BFGET_(r16,13,13)
    #define   SET16ISA_NOP_LD_TP8LF(r16,v)                     _BFSET_(r16,13,13,v)

    #define   GET32ISA_NOP_LD_TP8HF(r32)                       _BFGET_(r32,14,14)
    #define   SET32ISA_NOP_LD_TP8HF(r32,v)                     _BFSET_(r32,14,14,v)
    #define   GET16ISA_NOP_LD_TP8HF(r16)                       _BFGET_(r16,14,14)
    #define   SET16ISA_NOP_LD_TP8HF(r16,v)                     _BFSET_(r16,14,14,v)

    #define   GET32ISA_NOP_LD_SQRF64(r32)                      _BFGET_(r32,15,15)
    #define   SET32ISA_NOP_LD_SQRF64(r32,v)                    _BFSET_(r32,15,15,v)
    #define   GET16ISA_NOP_LD_SQRF64(r16)                      _BFGET_(r16,15,15)
    #define   SET16ISA_NOP_LD_SQRF64(r16,v)                    _BFSET_(r16,15,15,v)

    #define   GET32ISA_NOP_LD_TQRF16Q(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_NOP_LD_TQRF16Q(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_NOP_LD_TQRF16Q(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_LD_TQRF16Q(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_LD_TQRFx4(r32)                      _BFGET_(r32,17,17)
    #define   SET32ISA_NOP_LD_TQRFx4(r32,v)                    _BFSET_(r32,17,17,v)
    #define   GET16ISA_NOP_LD_TQRFx4(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_LD_TQRFx4(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_LD_RD(r32)                          _BFGET_(r32,18,18)
    #define   SET32ISA_NOP_LD_RD(r32,v)                        _BFSET_(r32,18,18,v)
    #define   GET16ISA_NOP_LD_RD(r16)                          _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_LD_RD(r16,v)                        _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_LD_WARF(r32)                        _BFGET_(r32,19,19)
    #define   SET32ISA_NOP_LD_WARF(r32,v)                      _BFSET_(r32,19,19,v)
    #define   GET16ISA_NOP_LD_WARF(r16)                        _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_LD_WARF(r16,v)                      _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_LD_WAK8(r32)                        _BFGET_(r32,20,20)
    #define   SET32ISA_NOP_LD_WAK8(r32,v)                      _BFSET_(r32,20,20,v)
    #define   GET16ISA_NOP_LD_WAK8(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_LD_WAK8(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_LD_WAK16(r32)                       _BFGET_(r32,21,21)
    #define   SET32ISA_NOP_LD_WAK16(r32,v)                     _BFSET_(r32,21,21,v)
    #define   GET16ISA_NOP_LD_WAK16(r16)                       _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_LD_WAK16(r16,v)                     _BFSET_(r16, 5, 5,v)

    #define     w32ISA_NOP_LD                                  {\
            UNSG32 uLD_SPRF                                    :  1;\
            UNSG32 uLD_SPK8                                    :  1;\
            UNSG32 uLD_SPJ                                     :  1;\
            UNSG32 uLD_SP4S                                    :  1;\
            UNSG32 uLD_SP8S                                    :  1;\
            UNSG32 uLD_SP8U                                    :  1;\
            UNSG32 uLD_SP12S                                   :  1;\
            UNSG32 uLD_SP16                                    :  1;\
            UNSG32 uLD_TPRF                                    :  1;\
            UNSG32 uLD_TPJ                                     :  1;\
            UNSG32 uLD_TP4S                                    :  1;\
            UNSG32 uLD_TP8L                                    :  1;\
            UNSG32 uLD_TP8H                                    :  1;\
            UNSG32 uLD_TP8LF                                   :  1;\
            UNSG32 uLD_TP8HF                                   :  1;\
            UNSG32 uLD_SQRF64                                  :  1;\
            UNSG32 uLD_TQRF16Q                                 :  1;\
            UNSG32 uLD_TQRFx4                                  :  1;\
            UNSG32 uLD_RD                                      :  1;\
            UNSG32 uLD_WARF                                    :  1;\
            UNSG32 uLD_WAK8                                    :  1;\
            UNSG32 uLD_WAK16                                   :  1;\
            UNSG32 RSVDxC_b22                                  : 10;\
          }
    union { UNSG32 u32ISA_NOP_LD;
            struct w32ISA_NOP_LD;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_EX_ALU16FlagZ(r32)                  _BFGET_(r32, 0, 0)
    #define   SET32ISA_NOP_EX_ALU16FlagZ(r32,v)                _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_NOP_EX_ALU16FlagZ(r16)                  _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_EX_ALU16FlagZ(r16,v)                _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_EX_ALU16FlagC(r32)                  _BFGET_(r32, 1, 1)
    #define   SET32ISA_NOP_EX_ALU16FlagC(r32,v)                _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_NOP_EX_ALU16FlagC(r16)                  _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_EX_ALU16FlagC(r16,v)                _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_EX_ALU16FlagN(r32)                  _BFGET_(r32, 2, 2)
    #define   SET32ISA_NOP_EX_ALU16FlagN(r32,v)                _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_NOP_EX_ALU16FlagN(r16)                  _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_EX_ALU16FlagN(r16,v)                _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_EX_ALU16FlagV(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_NOP_EX_ALU16FlagV(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_NOP_EX_ALU16FlagV(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_EX_ALU16FlagV(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_EX_ALU16FlagTP(r32)                 _BFGET_(r32, 4, 4)
    #define   SET32ISA_NOP_EX_ALU16FlagTP(r32,v)               _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_NOP_EX_ALU16FlagTP(r16)                 _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_EX_ALU16FlagTP(r16,v)               _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_EX_ALU16MUL(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_NOP_EX_ALU16MUL(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_NOP_EX_ALU16MUL(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_EX_ALU16MUL(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_NOP_EX_ALU16DIV(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_NOP_EX_ALU16DIV(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_NOP_EX_ALU16DIV(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_NOP_EX_ALU16DIV(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_NOP_EX_ALU16FlagLD(r32)                 _BFGET_(r32, 7, 7)
    #define   SET32ISA_NOP_EX_ALU16FlagLD(r32,v)               _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_NOP_EX_ALU16FlagLD(r16)                 _BFGET_(r16, 7, 7)
    #define   SET16ISA_NOP_EX_ALU16FlagLD(r16,v)               _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_NOP_EX_ALU16MDL(r32)                    _BFGET_(r32, 8, 8)
    #define   SET32ISA_NOP_EX_ALU16MDL(r32,v)                  _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_NOP_EX_ALU16MDL(r16)                    _BFGET_(r16, 8, 8)
    #define   SET16ISA_NOP_EX_ALU16MDL(r16,v)                  _BFSET_(r16, 8, 8,v)

    #define   GET32ISA_NOP_EX_ALU16MDH(r32)                    _BFGET_(r32, 9, 9)
    #define   SET32ISA_NOP_EX_ALU16MDH(r32,v)                  _BFSET_(r32, 9, 9,v)
    #define   GET16ISA_NOP_EX_ALU16MDH(r16)                    _BFGET_(r16, 9, 9)
    #define   SET16ISA_NOP_EX_ALU16MDH(r16,v)                  _BFSET_(r16, 9, 9,v)

    #define   GET32ISA_NOP_EX_ALU16ADD(r32)                    _BFGET_(r32,10,10)
    #define   SET32ISA_NOP_EX_ALU16ADD(r32,v)                  _BFSET_(r32,10,10,v)
    #define   GET16ISA_NOP_EX_ALU16ADD(r16)                    _BFGET_(r16,10,10)
    #define   SET16ISA_NOP_EX_ALU16ADD(r16,v)                  _BFSET_(r16,10,10,v)

    #define   GET32ISA_NOP_EX_ALU16SUB(r32)                    _BFGET_(r32,11,11)
    #define   SET32ISA_NOP_EX_ALU16SUB(r32,v)                  _BFSET_(r32,11,11,v)
    #define   GET16ISA_NOP_EX_ALU16SUB(r16)                    _BFGET_(r16,11,11)
    #define   SET16ISA_NOP_EX_ALU16SUB(r16,v)                  _BFSET_(r16,11,11,v)

    #define   GET32ISA_NOP_EX_ALU16ADDC(r32)                   _BFGET_(r32,12,12)
    #define   SET32ISA_NOP_EX_ALU16ADDC(r32,v)                 _BFSET_(r32,12,12,v)
    #define   GET16ISA_NOP_EX_ALU16ADDC(r16)                   _BFGET_(r16,12,12)
    #define   SET16ISA_NOP_EX_ALU16ADDC(r16,v)                 _BFSET_(r16,12,12,v)

    #define   GET32ISA_NOP_EX_ALU16SUBC(r32)                   _BFGET_(r32,13,13)
    #define   SET32ISA_NOP_EX_ALU16SUBC(r32,v)                 _BFSET_(r32,13,13,v)
    #define   GET16ISA_NOP_EX_ALU16SUBC(r16)                   _BFGET_(r16,13,13)
    #define   SET16ISA_NOP_EX_ALU16SUBC(r16,v)                 _BFSET_(r16,13,13,v)

    #define   GET32ISA_NOP_EX_ALU16ASR(r32)                    _BFGET_(r32,14,14)
    #define   SET32ISA_NOP_EX_ALU16ASR(r32,v)                  _BFSET_(r32,14,14,v)
    #define   GET16ISA_NOP_EX_ALU16ASR(r16)                    _BFGET_(r16,14,14)
    #define   SET16ISA_NOP_EX_ALU16ASR(r16,v)                  _BFSET_(r16,14,14,v)

    #define   GET32ISA_NOP_EX_ALU16SL(r32)                     _BFGET_(r32,15,15)
    #define   SET32ISA_NOP_EX_ALU16SL(r32,v)                   _BFSET_(r32,15,15,v)
    #define   GET16ISA_NOP_EX_ALU16SL(r16)                     _BFGET_(r16,15,15)
    #define   SET16ISA_NOP_EX_ALU16SL(r16,v)                   _BFSET_(r16,15,15,v)

    #define   GET32ISA_NOP_EX_ALU16SR(r32)                     _BFGET_(r32,16,16)
    #define   SET32ISA_NOP_EX_ALU16SR(r32,v)                   _BFSET_(r32,16,16,v)
    #define   GET16ISA_NOP_EX_ALU16SR(r16)                     _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_EX_ALU16SR(r16,v)                   _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_EX_ALU16GET(r32)                    _BFGET_(r32,17,17)
    #define   SET32ISA_NOP_EX_ALU16GET(r32,v)                  _BFSET_(r32,17,17,v)
    #define   GET16ISA_NOP_EX_ALU16GET(r16)                    _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_EX_ALU16GET(r16,v)                  _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_EX_ALU16SET(r32)                    _BFGET_(r32,18,18)
    #define   SET32ISA_NOP_EX_ALU16SET(r32,v)                  _BFSET_(r32,18,18,v)
    #define   GET16ISA_NOP_EX_ALU16SET(r16)                    _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_EX_ALU16SET(r16,v)                  _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_EX_ALU16SEL(r32)                    _BFGET_(r32,19,19)
    #define   SET32ISA_NOP_EX_ALU16SEL(r32,v)                  _BFSET_(r32,19,19,v)
    #define   GET16ISA_NOP_EX_ALU16SEL(r16)                    _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_EX_ALU16SEL(r16,v)                  _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_EX_ALU16OR(r32)                     _BFGET_(r32,20,20)
    #define   SET32ISA_NOP_EX_ALU16OR(r32,v)                   _BFSET_(r32,20,20,v)
    #define   GET16ISA_NOP_EX_ALU16OR(r16)                     _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_EX_ALU16OR(r16,v)                   _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_EX_ALU16AND(r32)                    _BFGET_(r32,21,21)
    #define   SET32ISA_NOP_EX_ALU16AND(r32,v)                  _BFSET_(r32,21,21,v)
    #define   GET16ISA_NOP_EX_ALU16AND(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_EX_ALU16AND(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_NOP_EX_ALU16XOR(r32)                    _BFGET_(r32,22,22)
    #define   SET32ISA_NOP_EX_ALU16XOR(r32,v)                  _BFSET_(r32,22,22,v)
    #define   GET16ISA_NOP_EX_ALU16XOR(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_NOP_EX_ALU16XOR(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_NOP_EX_ALU16SP(r32)                     _BFGET_(r32,23,23)
    #define   SET32ISA_NOP_EX_ALU16SP(r32,v)                   _BFSET_(r32,23,23,v)
    #define   GET16ISA_NOP_EX_ALU16SP(r16)                     _BFGET_(r16, 7, 7)
    #define   SET16ISA_NOP_EX_ALU16SP(r16,v)                   _BFSET_(r16, 7, 7,v)

    #define     w32ISA_NOP_EX                                  {\
            UNSG32 uEX_ALU16FlagZ                              :  1;\
            UNSG32 uEX_ALU16FlagC                              :  1;\
            UNSG32 uEX_ALU16FlagN                              :  1;\
            UNSG32 uEX_ALU16FlagV                              :  1;\
            UNSG32 uEX_ALU16FlagTP                             :  1;\
            UNSG32 uEX_ALU16MUL                                :  1;\
            UNSG32 uEX_ALU16DIV                                :  1;\
            UNSG32 uEX_ALU16FlagLD                             :  1;\
            UNSG32 uEX_ALU16MDL                                :  1;\
            UNSG32 uEX_ALU16MDH                                :  1;\
            UNSG32 uEX_ALU16ADD                                :  1;\
            UNSG32 uEX_ALU16SUB                                :  1;\
            UNSG32 uEX_ALU16ADDC                               :  1;\
            UNSG32 uEX_ALU16SUBC                               :  1;\
            UNSG32 uEX_ALU16ASR                                :  1;\
            UNSG32 uEX_ALU16SL                                 :  1;\
            UNSG32 uEX_ALU16SR                                 :  1;\
            UNSG32 uEX_ALU16GET                                :  1;\
            UNSG32 uEX_ALU16SET                                :  1;\
            UNSG32 uEX_ALU16SEL                                :  1;\
            UNSG32 uEX_ALU16OR                                 :  1;\
            UNSG32 uEX_ALU16AND                                :  1;\
            UNSG32 uEX_ALU16XOR                                :  1;\
            UNSG32 uEX_ALU16SP                                 :  1;\
            UNSG32 RSVDx10_b24                                 :  8;\
          }
    union { UNSG32 u32ISA_NOP_EX;
            struct w32ISA_NOP_EX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_EXX_WRSQ(r32)                       _BFGET_(r32, 0, 0)
    #define   SET32ISA_NOP_EXX_WRSQ(r32,v)                     _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_NOP_EXX_WRSQ(r16)                       _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_EXX_WRSQ(r16,v)                     _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_EXX_WR16(r32)                       _BFGET_(r32, 1, 1)
    #define   SET32ISA_NOP_EXX_WR16(r32,v)                     _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_NOP_EXX_WR16(r16)                       _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_EXX_WR16(r16,v)                     _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_EXX_WRTQ(r32)                       _BFGET_(r32, 2, 2)
    #define   SET32ISA_NOP_EXX_WRTQ(r32,v)                     _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_NOP_EXX_WRTQ(r16)                       _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_EXX_WRTQ(r16,v)                     _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_EXX_ALU64PUSH(r32)                  _BFGET_(r32, 3, 3)
    #define   SET32ISA_NOP_EXX_ALU64PUSH(r32,v)                _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_NOP_EXX_ALU64PUSH(r16)                  _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_EXX_ALU64PUSH(r16,v)                _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_EXX_ALU64POP(r32)                   _BFGET_(r32, 4, 4)
    #define   SET32ISA_NOP_EXX_ALU64POP(r32,v)                 _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_NOP_EXX_ALU64POP(r16)                   _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_EXX_ALU64POP(r16,v)                 _BFSET_(r16, 4, 4,v)

    #define   GET32ISA_NOP_EXX_ALU64SQ(r32)                    _BFGET_(r32, 5, 5)
    #define   SET32ISA_NOP_EXX_ALU64SQ(r32,v)                  _BFSET_(r32, 5, 5,v)
    #define   GET16ISA_NOP_EXX_ALU64SQ(r16)                    _BFGET_(r16, 5, 5)
    #define   SET16ISA_NOP_EXX_ALU64SQ(r16,v)                  _BFSET_(r16, 5, 5,v)

    #define   GET32ISA_NOP_EXX_ALU64TQ(r32)                    _BFGET_(r32, 6, 6)
    #define   SET32ISA_NOP_EXX_ALU64TQ(r32,v)                  _BFSET_(r32, 6, 6,v)
    #define   GET16ISA_NOP_EXX_ALU64TQ(r16)                    _BFGET_(r16, 6, 6)
    #define   SET16ISA_NOP_EXX_ALU64TQ(r16,v)                  _BFSET_(r16, 6, 6,v)

    #define   GET32ISA_NOP_EXX_ALU64MEM(r32)                   _BFGET_(r32, 7, 7)
    #define   SET32ISA_NOP_EXX_ALU64MEM(r32,v)                 _BFSET_(r32, 7, 7,v)
    #define   GET16ISA_NOP_EXX_ALU64MEM(r16)                   _BFGET_(r16, 7, 7)
    #define   SET16ISA_NOP_EXX_ALU64MEM(r16,v)                 _BFSET_(r16, 7, 7,v)

    #define   GET32ISA_NOP_EXX_BRANCH(r32)                     _BFGET_(r32, 8, 8)
    #define   SET32ISA_NOP_EXX_BRANCH(r32,v)                   _BFSET_(r32, 8, 8,v)
    #define   GET16ISA_NOP_EXX_BRANCH(r16)                     _BFGET_(r16, 8, 8)
    #define   SET16ISA_NOP_EXX_BRANCH(r16,v)                   _BFSET_(r16, 8, 8,v)

    #define     w32ISA_NOP_EXX                                 {\
            UNSG32 uEXX_WRSQ                                   :  1;\
            UNSG32 uEXX_WR16                                   :  1;\
            UNSG32 uEXX_WRTQ                                   :  1;\
            UNSG32 uEXX_ALU64PUSH                              :  1;\
            UNSG32 uEXX_ALU64POP                               :  1;\
            UNSG32 uEXX_ALU64SQ                                :  1;\
            UNSG32 uEXX_ALU64TQ                                :  1;\
            UNSG32 uEXX_ALU64MEM                               :  1;\
            UNSG32 uEXX_BRANCH                                 :  1;\
            UNSG32 RSVDx14_b9                                  : 23;\
          }
    union { UNSG32 u32ISA_NOP_EXX;
            struct w32ISA_NOP_EXX;
          };
    ///////////////////////////////////////////////////////////
    #define   GET32ISA_NOP_WB_RF16(r32)                        _BFGET_(r32, 0, 0)
    #define   SET32ISA_NOP_WB_RF16(r32,v)                      _BFSET_(r32, 0, 0,v)
    #define   GET16ISA_NOP_WB_RF16(r16)                        _BFGET_(r16, 0, 0)
    #define   SET16ISA_NOP_WB_RF16(r16,v)                      _BFSET_(r16, 0, 0,v)

    #define   GET32ISA_NOP_WB_RF16W0(r32)                      _BFGET_(r32, 1, 1)
    #define   SET32ISA_NOP_WB_RF16W0(r32,v)                    _BFSET_(r32, 1, 1,v)
    #define   GET16ISA_NOP_WB_RF16W0(r16)                      _BFGET_(r16, 1, 1)
    #define   SET16ISA_NOP_WB_RF16W0(r16,v)                    _BFSET_(r16, 1, 1,v)

    #define   GET32ISA_NOP_WB_RF16MEM(r32)                     _BFGET_(r32, 2, 2)
    #define   SET32ISA_NOP_WB_RF16MEM(r32,v)                   _BFSET_(r32, 2, 2,v)
    #define   GET16ISA_NOP_WB_RF16MEM(r16)                     _BFGET_(r16, 2, 2)
    #define   SET16ISA_NOP_WB_RF16MEM(r16,v)                   _BFSET_(r16, 2, 2,v)

    #define   GET32ISA_NOP_WB_RF16Q(r32)                       _BFGET_(r32, 3, 3)
    #define   SET32ISA_NOP_WB_RF16Q(r32,v)                     _BFSET_(r32, 3, 3,v)
    #define   GET16ISA_NOP_WB_RF16Q(r16)                       _BFGET_(r16, 3, 3)
    #define   SET16ISA_NOP_WB_RF16Q(r16,v)                     _BFSET_(r16, 3, 3,v)

    #define   GET32ISA_NOP_WB_RF64(r32)                        _BFGET_(r32, 4, 4)
    #define   SET32ISA_NOP_WB_RF64(r32,v)                      _BFSET_(r32, 4, 4,v)
    #define   GET16ISA_NOP_WB_RF64(r16)                        _BFGET_(r16, 4, 4)
    #define   SET16ISA_NOP_WB_RF64(r16,v)                      _BFSET_(r16, 4, 4,v)

    #define     w32ISA_NOP_WB                                  {\
            UNSG32 uWB_RF16                                    :  1;\
            UNSG32 uWB_RF16W0                                  :  1;\
            UNSG32 uWB_RF16MEM                                 :  1;\
            UNSG32 uWB_RF16Q                                   :  1;\
            UNSG32 uWB_RF64                                    :  1;\
            UNSG32 RSVDx18_b5                                  : 27;\
          }
    union { UNSG32 u32ISA_NOP_WB;
            struct w32ISA_NOP_WB;
          };
    ///////////////////////////////////////////////////////////
    } SIE_ISA_NOP;

    typedef union  T32ISA_NOP_Mask
          { UNSG32 u32;
            struct w32ISA_NOP_Mask;
                 } T32ISA_NOP_Mask;
    typedef union  T32ISA_NOP_Opcode
          { UNSG32 u32;
            struct w32ISA_NOP_Opcode;
                 } T32ISA_NOP_Opcode;
    typedef union  T32ISA_NOP_ID
          { UNSG32 u32;
            struct w32ISA_NOP_ID;
                 } T32ISA_NOP_ID;
    typedef union  T32ISA_NOP_LD
          { UNSG32 u32;
            struct w32ISA_NOP_LD;
                 } T32ISA_NOP_LD;
    typedef union  T32ISA_NOP_EX
          { UNSG32 u32;
            struct w32ISA_NOP_EX;
                 } T32ISA_NOP_EX;
    typedef union  T32ISA_NOP_EXX
          { UNSG32 u32;
            struct w32ISA_NOP_EXX;
                 } T32ISA_NOP_EXX;
    typedef union  T32ISA_NOP_WB
          { UNSG32 u32;
            struct w32ISA_NOP_WB;
                 } T32ISA_NOP_WB;
    ///////////////////////////////////////////////////////////

    typedef union  TISA_NOP_Mask
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_Mask;
                   };
                 } TISA_NOP_Mask;
    typedef union  TISA_NOP_Opcode
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_Opcode;
                   };
                 } TISA_NOP_Opcode;
    typedef union  TISA_NOP_ID
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_ID;
                   };
                 } TISA_NOP_ID;
    typedef union  TISA_NOP_LD
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_LD;
                   };
                 } TISA_NOP_LD;
    typedef union  TISA_NOP_EX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_EX;
                   };
                 } TISA_NOP_EX;
    typedef union  TISA_NOP_EXX
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_EXX;
                   };
                 } TISA_NOP_EXX;
    typedef union  TISA_NOP_WB
          { UNSG32 u32[1];
            struct {
            struct w32ISA_NOP_WB;
                   };
                 } TISA_NOP_WB;

    ///////////////////////////////////////////////////////////
     SIGN32 ISA_NOP_drvrd(SIE_ISA_NOP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 ISA_NOP_drvwr(SIE_ISA_NOP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void ISA_NOP_reset(SIE_ISA_NOP *p);
     SIGN32 ISA_NOP_cmp  (SIE_ISA_NOP *p, SIE_ISA_NOP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define ISA_NOP_check(p,pie,pfx,hLOG) ISA_NOP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define ISA_NOP_print(p,    pfx,hLOG) ISA_NOP_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: ISA_NOP
////////////////////////////////////////////////////////////

//////
/// 
/// $INTERFACE FigoISA                                  (4,4)
///     ###
///     * All Figo instructions excluding NOP
///     ###
///     # # ----------------------------------------------------------
///     @ 0x00000                      (P)
///     # 0x00000 A64CMD               
///               $ISA_A64CMD          A64CMD            REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "A64CMD" , "C,rS,xT,K"   , "1111 CCCC SSSS CCCC TTKK KKKK" } ,
///                                    ###
///     @ 0x0001C                      (P)
///     # 0x0001C SELx                 
///               $ISA_SELx            SELx              REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "SEL.x"   , "rD,C,K,rT"   , "1110 KKKK KKKK CCCC TTTT DDDD" } ,
///                                    ###
///     @ 0x00038                      (P)
///     # 0x00038 ADDi                 
///               $ISA_ADDi            ADDi              REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "ADD.i"   , "rD,N,rT"     , "1101 NNNN NNNN NNNN TTTT DDDD" } ,
///                                    ###
///     @ 0x00054                      (P)
///     # 0x00054 SUBi                 
///               $ISA_SUBi            SUBi              REG          
///                                    ###
///                                    * - { "SUB.i"   , "rD,N,rT"     , "1100 NNNN NNNN NNNN TTTT DDDD" } ,
///                                    ###
///     @ 0x00070                      (P)
///     # 0x00070 LD                   
///               $ISA_LD              LD                REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "LD"      , "rD,N"        , "1011 NNNN NNNN NNNN NNNN DDDD" } ,
///                                    ###
///     @ 0x0008C                      (P)
///     # 0x0008C RDi                  
///               $ISA_RDi             RDi               REG          
///                                    ###
///                                    * - { "RD.i"    , "C,rD"        , "1010 CCCC CCCC CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x000A8                      (P)
///     # 0x000A8 WRi                  
///               $ISA_WRi             WRi               REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "WR.i"    , "C,rT"        , "1001 CCCC CCCC CCCC TTTT CCCC" } ,
///                                    ###
///     @ 0x000C4                      (P)
///     # 0x000C4 PREJ                 
///               $ISA_PREJ            PREJ              REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "PREJ"    , "C,B,A"       , "1000 AAAA AAAA CCCC BBBB BBBB" } ,
///                                    ###
///     @ 0x000E0                      (P)
///     # 0x000E0 XRDi                 
///               $ISA_XRDi            XRDi              REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.RD.i" , "C,xT"        , "0111 CCCC CCCC CCCC TT-0 CCCC" } ,
///                                    ###
///     @ 0x000FC                      (P)
///     # 0x000FC XWRi                 
///               $ISA_XWRi            XWRi              REG          
///                                    ###
///                                    * - { "X.WR.i" , "C,xT"        , "0111 CCCC CCCC CCCC TT-1 CCCC" } ,
///                                    ###
///     @ 0x00118                      (P)
///     # 0x00118 RDINC                
///               $ISA_RDINC           RDINC             REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "RD.INC" , "rS,N,rD"     , "0110 NNNN SSSS NNNN --00 DDDD" } ,
///                                    ###
///     @ 0x00134                      (P)
///     # 0x00134 OFFRD                
///               $ISA_OFFRD           OFFRD             REG          
///                                    ###
///                                    * - { "OFF.RD" , "N,rD"        , "0110 NNNN ---- NNNN --01 DDDD" } ,
///                                    ###
///     @ 0x00150                      (P)
///     # 0x00150 XA64LD               
///               $ISA_XA64LD          XA64LD            REG          
///                                    ###
///                                    * - { "X.A64LD" , "N,xT,rS"     , "0110 NNNN SSSS NNNN TT10 ----" } ,
///                                    ###
///     @ 0x0016C                      (P)
///     # 0x0016C A64LD                
///               $ISA_A64LD           A64LD             REG          
///                                    ###
///                                    * - { "A64LD"   , "C,rD,rS"     , "0110 NNNN SSSS NNNN --11 DDDD" } ,
///                                    ###
///     @ 0x00188                      (P)
///     # 0x00188 WR                   
///               $ISA_WR              WR                REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "WR"      , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0000" } ,
///                                    ###
///     @ 0x001A4                      (P)
///     # 0x001A4 WRINC                
///               $ISA_WRINC           WRINC             REG          
///                                    ###
///                                    * - { "WR.INC" , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0001" } ,
///                                    ###
///     @ 0x001C0                      (P)
///     # 0x001C0 INCWR                
///               $ISA_INCWR           INCWR             REG          
///                                    ###
///                                    * - { "INC.WR" , "rS,N,rT"     , "0101 NNNN SSSS NNNN TTTT 0010" } ,
///                                    ###
///     @ 0x001DC                      (P)
///     # 0x001DC CMPi                 
///               $ISA_CMPi            CMPi              REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "CMP.i"   , "N,rT"        , "0101 NNNN NNNN NNNN TTTT 0100" } ,
///                                    ###
///     @ 0x001F8                      (P)
///     # 0x001F8 XRDINC               
///               $ISA_XRDINC          XRDINC            REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "X.RD.INC", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1000" } ,
///                                    ###
///     @ 0x00214                      (P)
///     # 0x00214 XOFFRD               
///               $ISA_XOFFRD          XOFFRD            REG          
///                                    ###
///                                    * - { "X.OFF.RD", "N,xT"        , "0101 NNNN ---- NNNN TT-- 1001" } ,
///                                    ###
///     @ 0x00230                      (P)
///     # 0x00230 XWR                  
///               $ISA_XWR             XWR               REG          
///                                    ###
///                                    * - { "X.WR"    , "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1100" } ,
///                                    ###
///     @ 0x0024C                      (P)
///     # 0x0024C XWRINC               
///               $ISA_XWRINC          XWRINC            REG          
///                                    ###
///                                    * - { "X.WR.INC", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1101" } ,
///                                    ###
///     @ 0x00268                      (P)
///     # 0x00268 XINCWR               
///               $ISA_XINCWR          XINCWR            REG          
///                                    ###
///                                    * - { "X.INC.WR", "rS,N,xT"     , "0101 NNNN SSSS NNNN TT-- 1110" } ,
///                                    ###
///     @ 0x00284                      (P)
///     # 0x00284 QRDINC               
///               $ISA_QRDINC          QRDINC            REG          
///                                    ###
///                                    * -                                                                
///                                    * - { "Q.RD.INC", "rS,N,qT"     , "0100 NNNN SSSS NNNN 00TT TTTT" } ,
///                                    ###
///     @ 0x002A0                      (P)
///     # 0x002A0 QOFFRD               
///               $ISA_QOFFRD          QOFFRD            REG          
///                                    ###
///                                    * - { "Q.OFF.RD", "N,qT"        , "0100 NNNN ---- NNNN 01TT TTTT" } ,
///                                    ###
///     @ 0x002BC                      (P)
///     # 0x002BC QWR                  
///               $ISA_QWR             QWR               REG          
///                                    ###
///                                    * - { "Q.WR"    , "rS,N,qT"     , "0100 NNNN SSSS NNNN 10TT TTTT" } ,
///                                    ###
///     @ 0x002D8                      (P)
///     # 0x002D8 QWRINC               
///               $ISA_QWRINC          QWRINC            REG          
///                                    ###
///                                    * - { "Q.WR.INC", "rS,N,qT"     , "0100 NNNN SSSS NNNN 11TT TTTT" } ,
///                                    ###
///     @ 0x002F4                      (P)
///     # 0x002F4 QA64LD               
///               $ISA_QA64LD          QA64LD            REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "Q.A64LD" , "C,qS"        , "0011 0001 CCCC CCCC --SS SSSS" } ,
///                                    ###
///     @ 0x00310                      (P)
///     # 0x00310 X2Q                  
///               $ISA_X2Q             X2Q               REG          
///                                    ###
///                                    * - { "X2Q"     , "qS,xT"       , "0011 0010 ---- ---- TTSS SSSS" } ,
///                                    ###
///     @ 0x0032C                      (P)
///     # 0x0032C Q2X                  
///               $ISA_Q2X             Q2X               REG          
///                                    ###
///                                    * - { "Q2X"     , "xT,qS"       , "0011 0011 ---- ---- TTSS SSSS" } ,
///                                    ###
///     @ 0x00348                      (P)
///     # 0x00348 PREJR                
///               $ISA_PREJR           PREJR             REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "PREJR"   , "C,B,rS"      , "0011 0100 SSSS CCCC BBBB BBBB" } ,
///                                    ###
///     @ 0x00364                      (P)
///     # 0x00364 ORL                  
///               $ISA_ORL             ORL               REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "ORL"     , "rD,rS,C"     , "0010 1000 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x00380                      (P)
///     # 0x00380 ORH                  
///               $ISA_ORH             ORH               REG          
///                                    ###
///                                    * - { "ORH"     , "rD,rS,C"     , "0010 1001 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x0039C                      (P)
///     # 0x0039C ANDL                 
///               $ISA_ANDL            ANDL              REG          
///                                    ###
///                                    * - { "ANDL"    , "rD,rS,C"     , "0010 1010 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x003B8                      (P)
///     # 0x003B8 ANDH                 
///               $ISA_ANDH            ANDH              REG          
///                                    ###
///                                    * - { "ANDH"    , "rD,rS,C"     , "0010 1011 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x003D4                      (P)
///     # 0x003D4 XORL                 
///               $ISA_XORL            XORL              REG          
///                                    ###
///                                    * - { "XORL"    , "rD,rS,C"     , "0010 1100 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x003F0                      (P)
///     # 0x003F0 XORH                 
///               $ISA_XORH            XORH              REG          
///                                    ###
///                                    * - { "XORH"    , "rD,rS,C"     , "0010 1101 SSSS CCCC CCCC DDDD" } ,
///                                    ###
///     @ 0x0040C                      (P)
///     # 0x0040C MULi                 
///               $ISA_MULi            MULi              REG          
///                                    ###
///                                    * - { "MUL.i"   , "rS,C"        , "0010 1110 SSSS CCCC CCCC ----" } ,
///                                    ###
///     @ 0x00428                      (P)
///     # 0x00428 DIVi                 
///               $ISA_DIVi            DIVi              REG          
///                                    ###
///                                    * - { "DIV.i"   , "rS,C"        , "0010 1111 SSSS CCCC CCCC ----" } ,
///                                    ###
///     @ 0x00444                      (P)
///     # 0x00444 ADD                  
///               $ISA_ADD             ADD               REG          
///                                    ###
///                                    * -                                                                 
///                                    * - { "ADD"     , "rD,rS,rT"    , "0001 0000 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x00460                      (P)
///     # 0x00460 ADDC                 
///               $ISA_ADDC            ADDC              REG          
///                                    ###
///                                    * - { "ADDC"    , "rD,rS,rT"    , "0001 0001 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x0047C                      (P)
///     # 0x0047C SUB                  
///               $ISA_SUB             SUB               REG          
///                                    ###
///                                    * - { "SUB"     , "rD,rS,rT"    , "0001 0010 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x00498                      (P)
///     # 0x00498 SUBC                 
///               $ISA_SUBC            SUBC              REG          
///                                    ###
///                                    * - { "SUBC"    , "rD,rS,rT"    , "0001 0011 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x004B4                      (P)
///     # 0x004B4 OR                   
///               $ISA_OR              OR                REG          
///                                    ###
///                                    * - { "OR"      , "rD,rS,rT"    , "0001 0100 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x004D0                      (P)
///     # 0x004D0 AND                  
///               $ISA_AND             AND               REG          
///                                    ###
///                                    * - { "AND"     , "rD,rS,rT"    , "0001 0101 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x004EC                      (P)
///     # 0x004EC XOR                  
///               $ISA_XOR             XOR               REG          
///                                    ###
///                                    * - { "XOR"     , "rD,rS,rT"    , "0001 0110 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x00508                      (P)
///     # 0x00508 ASRi                 
///               $ISA_ASRi            ASRi              REG          
///                                    ###
///                                    * -
///                                    * - { "ASR.i"   , "rD,rS,C"     , "0001 1010 SSSS ---- CCCC DDDD" } ,
///                                    ###
///     @ 0x00524                      (P)
///     # 0x00524 ASR                  
///               $ISA_ASR             ASR               REG          
///                                    ###
///                                    * - { "ASR"     , "rD,rS,rT"    , "0001 1011 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x00540                      (P)
///     # 0x00540 SLi                  
///               $ISA_SLi             SLi               REG          
///                                    ###
///                                    * - { "SL.i"    , "rD,rS,C"     , "0001 1100 SSSS ---- CCCC DDDD" } ,
///                                    ###
///     @ 0x0055C                      (P)
///     # 0x0055C SL                   
///               $ISA_SL              SL                REG          
///                                    ###
///                                    * - { "SL"      , "rD,rS,rT"    , "0001 1101 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x00578                      (P)
///     # 0x00578 SRi                  
///               $ISA_SRi             SRi               REG          
///                                    ###
///                                    * - { "SR.i"    , "rD,rS,C"     , "0001 1110 SSSS ---- CCCC DDDD" } ,
///                                    ###
///     @ 0x00594                      (P)
///     # 0x00594 SR                   
///               $ISA_SR              SR                REG          
///                                    ###
///                                    * - { "SR"      , "rD,rS,rT"    , "0001 1111 SSSS ---- TTTT DDDD" } ,
///                                    ###
///     @ 0x005B0                      (P)
///     # 0x005B0 NOP                  
///               $ISA_NOP             NOP               REG          
///                                    ###
///                                    * -
///                                    * - { "NOP"     , ""            , "0000 0000 0000 0000 0000 0000" } ,
///                                    ###
///     @ 0x005CC                      (P)
///     # 0x005CC CMP                  
///               $ISA_CMP             CMP               REG          
///                                    ###
///                                    * - { "CMP"     , "rS,rT"       , "0000 0001 SSSS ---- TTTT ----" } ,
///                                    ###
///     @ 0x005E8                      (P)
///     # 0x005E8 MUL                  
///               $ISA_MUL             MUL               REG          
///                                    ###
///                                    * - { "MUL"     , "rS,rT"       , "0000 0010 SSSS ---- TTTT ----" } ,
///                                    ###
///     @ 0x00604                      (P)
///     # 0x00604 DIV                  
///               $ISA_DIV             DIV               REG          
///                                    ###
///                                    * - { "DIV"     , "rS,rT"       , "0000 0011 SSSS ---- TTTT ----" } ,
///                                    ###
///     @ 0x00620                      (P)
///     # 0x00620 SEL                  
///               $ISA_SEL             SEL               REG          
///                                    ###
///                                    * -
///                                    * - { "SEL"     , "rD,C,rS,rT" , "0000 0100 SSSS CCCC TTTT DDDD" } ,
///                                    ###
///     @ 0x0063C                      (P)
///     # 0x0063C SELi                 
///               $ISA_SELi            SELi              REG          
///                                    ###
///                                    * - { "SEL.i"   , "rD,C,N,M"    , "0000 0101 NNNN CCCC MMMM DDDD" } ,
///                                    ###
///     @ 0x00658                      (P)
///     # 0x00658 BFGETi               
///               $ISA_BFGETi          BFGETi            REG          
///                                    ###
///                                    * - { "BFGET.i" , "rD,rS,C,K"   , "0000 0110 SSSS CCCC KKKK DDDD" } ,
///                                    ###
///     @ 0x00674                      (P)
///     # 0x00674 BFSETi               
///               $ISA_BFSETi          BFSETi            REG          
///                                    ###
///                                    * - { "BFSET.i" , "rS,rT,C,K"   , "0000 0111 SSSS CCCC TTTT KKKK" } ,
///                                    ###
///     @ 0x00690                      (P)
///     # 0x00690 STFLG                
///               $ISA_STFLG           STFLG             REG          
///                                    ###
///                                    * - { "ST.FLG" , "rT"          , "0000 1001 ---- ---- TTTT ----" } ,
///                                    ###
///     @ 0x006AC                      (P)
///     # 0x006AC SYSCALL              
///               $ISA_SYSCALL         SYSCALL           REG          
///                                    ###
///                                    * - { "SYSCALL" , "C"           , "0000 101C CCCC CCCC CCCC CCCC" } ,
///                                    ###
///     @ 0x006C8                      (P)
///     # 0x006C8 LDFLG                
///               $ISA_LDFLG           LDFLG             REG          
///                                    ###
///                                    * - { "LD.FLG" , "rD"          , "0000 1101 ---- ---- ---- DDDD" } ,
///                                    ###
///     @ 0x006E4                      (P)
///     # 0x006E4 LDMDL                
///               $ISA_LDMDL           LDMDL             REG          
///                                    ###
///                                    * - { "LD.MDL" , "rD"          , "0000 1110 ---- ---- ---- DDDD" } ,
///                                    ###
///     @ 0x00700                      (P)
///     # 0x00700 LDMDH                
///               $ISA_LDMDH           LDMDH             REG          
///                                    ###
///                                    * - { "LD.MDH" , "rD"          , "0000 1111 ---- ---- ---- DDDD" } ,
///                                    ###
///     # # ----------------------------------------------------------
/// $ENDOFINTERFACE  # size:    1820B, bits:    7540b, padding:     0B
////////////////////////////////////////////////////////////
#ifndef h_FigoISA
#define h_FigoISA (){}

    #define     RA_FigoISA_A64CMD                              0x0000
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SELx                                0x001C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ADDi                                0x0038
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SUBi                                0x0054
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_LD                                  0x0070
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_RDi                                 0x008C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_WRi                                 0x00A8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_PREJ                                0x00C4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XRDi                                0x00E0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XWRi                                0x00FC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_RDINC                               0x0118
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_OFFRD                               0x0134
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XA64LD                              0x0150
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_A64LD                               0x016C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_WR                                  0x0188
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_WRINC                               0x01A4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_INCWR                               0x01C0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_CMPi                                0x01DC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XRDINC                              0x01F8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XOFFRD                              0x0214
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XWR                                 0x0230
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XWRINC                              0x024C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XINCWR                              0x0268
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_QRDINC                              0x0284
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_QOFFRD                              0x02A0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_QWR                                 0x02BC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_QWRINC                              0x02D8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_QA64LD                              0x02F4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_X2Q                                 0x0310
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_Q2X                                 0x032C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_PREJR                               0x0348
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ORL                                 0x0364
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ORH                                 0x0380
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ANDL                                0x039C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ANDH                                0x03B8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XORL                                0x03D4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XORH                                0x03F0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_MULi                                0x040C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_DIVi                                0x0428
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ADD                                 0x0444
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ADDC                                0x0460
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SUB                                 0x047C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SUBC                                0x0498
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_OR                                  0x04B4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_AND                                 0x04D0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_XOR                                 0x04EC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ASRi                                0x0508
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_ASR                                 0x0524
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SLi                                 0x0540
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SL                                  0x055C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SRi                                 0x0578
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SR                                  0x0594
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_NOP                                 0x05B0
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_CMP                                 0x05CC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_MUL                                 0x05E8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_DIV                                 0x0604
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SEL                                 0x0620
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SELi                                0x063C
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_BFGETi                              0x0658
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_BFSETi                              0x0674
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_STFLG                               0x0690
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_SYSCALL                             0x06AC
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_LDFLG                               0x06C8
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_LDMDL                               0x06E4
    ///////////////////////////////////////////////////////////
    #define     RA_FigoISA_LDMDH                               0x0700
    ///////////////////////////////////////////////////////////

    typedef struct SIE_FigoISA {
    ///////////////////////////////////////////////////////////
              SIE_ISA_A64CMD                                   ie_A64CMD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SELx                                     ie_SELx;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ADDi                                     ie_ADDi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SUBi                                     ie_SUBi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_LD                                       ie_LD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_RDi                                      ie_RDi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_WRi                                      ie_WRi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_PREJ                                     ie_PREJ;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XRDi                                     ie_XRDi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XWRi                                     ie_XWRi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_RDINC                                    ie_RDINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_OFFRD                                    ie_OFFRD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XA64LD                                   ie_XA64LD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_A64LD                                    ie_A64LD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_WR                                       ie_WR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_WRINC                                    ie_WRINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_INCWR                                    ie_INCWR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_CMPi                                     ie_CMPi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XRDINC                                   ie_XRDINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XOFFRD                                   ie_XOFFRD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XWR                                      ie_XWR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XWRINC                                   ie_XWRINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XINCWR                                   ie_XINCWR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_QRDINC                                   ie_QRDINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_QOFFRD                                   ie_QOFFRD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_QWR                                      ie_QWR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_QWRINC                                   ie_QWRINC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_QA64LD                                   ie_QA64LD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_X2Q                                      ie_X2Q;
    ///////////////////////////////////////////////////////////
              SIE_ISA_Q2X                                      ie_Q2X;
    ///////////////////////////////////////////////////////////
              SIE_ISA_PREJR                                    ie_PREJR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ORL                                      ie_ORL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ORH                                      ie_ORH;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ANDL                                     ie_ANDL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ANDH                                     ie_ANDH;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XORL                                     ie_XORL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XORH                                     ie_XORH;
    ///////////////////////////////////////////////////////////
              SIE_ISA_MULi                                     ie_MULi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_DIVi                                     ie_DIVi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ADD                                      ie_ADD;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ADDC                                     ie_ADDC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SUB                                      ie_SUB;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SUBC                                     ie_SUBC;
    ///////////////////////////////////////////////////////////
              SIE_ISA_OR                                       ie_OR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_AND                                      ie_AND;
    ///////////////////////////////////////////////////////////
              SIE_ISA_XOR                                      ie_XOR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ASRi                                     ie_ASRi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_ASR                                      ie_ASR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SLi                                      ie_SLi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SL                                       ie_SL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SRi                                      ie_SRi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SR                                       ie_SR;
    ///////////////////////////////////////////////////////////
              SIE_ISA_NOP                                      ie_NOP;
    ///////////////////////////////////////////////////////////
              SIE_ISA_CMP                                      ie_CMP;
    ///////////////////////////////////////////////////////////
              SIE_ISA_MUL                                      ie_MUL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_DIV                                      ie_DIV;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SEL                                      ie_SEL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SELi                                     ie_SELi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_BFGETi                                   ie_BFGETi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_BFSETi                                   ie_BFSETi;
    ///////////////////////////////////////////////////////////
              SIE_ISA_STFLG                                    ie_STFLG;
    ///////////////////////////////////////////////////////////
              SIE_ISA_SYSCALL                                  ie_SYSCALL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_LDFLG                                    ie_LDFLG;
    ///////////////////////////////////////////////////////////
              SIE_ISA_LDMDL                                    ie_LDMDL;
    ///////////////////////////////////////////////////////////
              SIE_ISA_LDMDH                                    ie_LDMDH;
    ///////////////////////////////////////////////////////////
    } SIE_FigoISA;

    ///////////////////////////////////////////////////////////
     SIGN32 FigoISA_drvrd(SIE_FigoISA *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
     SIGN32 FigoISA_drvwr(SIE_FigoISA *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
       void FigoISA_reset(SIE_FigoISA *p);
     SIGN32 FigoISA_cmp  (SIE_FigoISA *p, SIE_FigoISA *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
    #define FigoISA_check(p,pie,pfx,hLOG) FigoISA_cmp(p,pie,pfx,(void*)(hLOG),0,0)
    #define FigoISA_print(p,    pfx,hLOG) FigoISA_cmp(p,0,  pfx,(void*)(hLOG),0,0)

#endif
//////
/// ENDOFINTERFACE: FigoISA
////////////////////////////////////////////////////////////



#ifdef __cplusplus
  }
#endif
#pragma  pack()

#endif
//////
/// ENDOFFILE: Figo.h
////////////////////////////////////////////////////////////

