| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -22,45 +22,45 @@ architecture behaviour of decode1 is
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					-- Note: reformat with column -t -o ' '
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					constant decode_rom_array : decode_rom_array_t := (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--                       unit     internal     in1         in2          in3   out   const const const CR   CR   cry  cry  ldst  BR   sgn  upd  rsrv mul  mul  rc   lk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--                                      op                                          1     2     3     in   out  in   out  len        ext             32  sgn
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ILLEGAL    =>       (ALU,    OP_ILLEGAL,   NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADD        =>       (ALU,    OP_ADD,       RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDC       =>       (ALU,    OP_ADDC,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDE       =>       (ALU,    OP_ADDC,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--                       unit     internal     in1         in2          in3   out   const const const CR   CR   cry  cry  ldst  BR   sgn  upd  rsrv mul  mul  rc    lk   sgl
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--                                      op                                          1     2     3     in   out  in   out  len        ext             32  sgn             pipe
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ILLEGAL    =>       (ALU,    OP_ILLEGAL,   NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADD        =>       (ALU,    OP_ADD,       RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDC       =>       (ALU,    OP_ADDC,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDE       =>       (ALU,    OP_ADDC,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_ADDEX
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDI       =>       (ALU,    OP_ADD,       RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIC      =>       (ALU,    OP_ADDC,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIC_RC   =>       (ALU,    OP_ADDC,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIS      =>       (ALU,    OP_ADD,       RA_OR_ZERO, CONST_SI_HI, NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDI       =>       (ALU,    OP_ADD,       RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIC      =>       (ALU,    OP_ADDC,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIC_RC   =>       (ALU,    OP_ADDC,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDIS      =>       (ALU,    OP_ADD,       RA_OR_ZERO, CONST_SI_HI, NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_ADDME
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_ADDPCIS
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDZE      =>       (ALU,    OP_ADDC,      RA,         NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_AND        =>       (ALU,    OP_AND,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDC       =>       (ALU,    OP_ANDC,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDI_RC    =>       (ALU,    OP_AND,       RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDIS_RC   =>       (ALU,    OP_AND,       RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ATTN       =>       (ALU,    OP_ILLEGAL,   NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_B          =>       (ALU,    OP_B,         NONE,       CONST_LI,    NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ADDZE      =>       (ALU,    OP_ADDC,      RA,         NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_AND        =>       (ALU,    OP_AND,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDC       =>       (ALU,    OP_ANDC,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDI_RC    =>       (ALU,    OP_AND,       RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ANDIS_RC   =>       (ALU,    OP_AND,       RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', ONE,  '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ATTN       =>       (ALU,    OP_ILLEGAL,   NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_B          =>       (ALU,    OP_B,         NONE,       CONST_LI,    NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_BA
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BC         =>       (ALU,    OP_BC,        NONE,       CONST_BD,    NONE, NONE, BO,   BI,   NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BC         =>       (ALU,    OP_BC,        NONE,       CONST_BD,    NONE, NONE, BO,   BI,   NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_BCA
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BCCTR      =>       (ALU,    OP_BCCTR,     NONE,       NONE,        NONE, NONE, BO,   BI,   BH,   '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BCCTR      =>       (ALU,    OP_BCCTR,     NONE,       NONE,        NONE, NONE, BO,   BI,   BH,   '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_BCLA
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BCLR       =>       (ALU,    OP_BCLR,      NONE,       NONE,        NONE, NONE, BO,   BI,   BH,   '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_BCLR       =>       (ALU,    OP_BCLR,      NONE,       NONE,        NONE, NONE, BO,   BI,   BH,   '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '1', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_BCTAR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_BPERM
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMP        =>       (ALU,    OP_CMP,       RA,         RB,          NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPB       =>       (ALU,    OP_CMPB,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMP        =>       (ALU,    OP_CMP,       RA,         RB,          NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPB       =>       (ALU,    OP_CMPB,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CMPEQB
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPI       =>       (ALU,    OP_CMP,       RA,         CONST_SI,    NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPL       =>       (ALU,    OP_CMPL,      RA,         RB,          NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPLI      =>       (ALU,    OP_CMPL,      RA,         CONST_UI,    NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPI       =>       (ALU,    OP_CMP,       RA,         CONST_SI,    NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPL       =>       (ALU,    OP_CMPL,      RA,         RB,          NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CMPLI      =>       (ALU,    OP_CMPL,      RA,         CONST_UI,    NONE, NONE, BF,   L,    NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CMPRB
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTLZD     =>       (ALU,    OP_CNTLZD,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTLZW     =>       (ALU,    OP_CNTLZW,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTTZD     =>       (ALU,    OP_CNTTZD,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTTZW     =>       (ALU,    OP_CNTTZW,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTLZD     =>       (ALU,    OP_CNTLZD,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTLZW     =>       (ALU,    OP_CNTLZW,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTTZD     =>       (ALU,    OP_CNTTZD,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_CNTTZW     =>       (ALU,    OP_CNTTZW,    RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CRAND
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CRANDC
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CREQV
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -70,158 +70,158 @@ architecture behaviour of decode1 is
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CRORC
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_CRXOR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DARN
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBF       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBST      =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBT       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBTST     =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBF       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBST      =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBT       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DCBTST     =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DCBZ
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVD       =>       (ALU,    OP_DIVD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVD       =>       (ALU,    OP_DIVD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DIVDE
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DIVDEU
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVDU      =>       (ALU,    OP_DIVDU,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVW       =>       (ALU,    OP_DIVW,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVDU      =>       (ALU,    OP_DIVDU,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVW       =>       (ALU,    OP_DIVW,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DIVWE
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_DIVWEU
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVWU      =>       (ALU,    OP_DIVWU,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EQV        =>       (ALU,    OP_EQV,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSB      =>       (ALU,    OP_EXTSB,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSH      =>       (ALU,    OP_EXTSH,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSW      =>       (ALU,    OP_EXTSW,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_DIVWU      =>       (ALU,    OP_DIVWU,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EQV        =>       (ALU,    OP_EQV,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSB      =>       (ALU,    OP_EXTSB,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSH      =>       (ALU,    OP_EXTSH,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_EXTSW      =>       (ALU,    OP_EXTSW,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_EXTSWSLI
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_ICBI
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ICBT       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ISEL       =>       (ALU,    OP_ISEL,      RA_OR_ZERO, RB,          NONE, RT,   BC,   NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ISYNC      =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ICBT       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ISEL       =>       (ALU,    OP_ISEL,      RA_OR_ZERO, RB,          NONE, RT,   BC,   NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ISYNC      =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--CONST_LI matches CONST_SI, so reuse it
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LD         =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDU        =>       (LDST,   OP_LOAD,      RA,         CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDUX       =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDX        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHA        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWA        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWAUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWAX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LBZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LD         =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDU        =>       (LDST,   OP_LOAD,      RA,         CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDUX       =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LDX        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHA        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHAX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '1', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LHZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWA        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_DS,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWARX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWAUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWAX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '1', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWBRX      =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZ        =>       (LDST,   OP_LOAD,      RA_OR_ZERO, CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZU       =>       (LDST,   OP_LOAD,      RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZUX      =>       (LDST,   OP_LOAD,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_LWZX       =>       (LDST,   OP_LOAD,      RA_OR_ZERO, RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MADDHD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MADDHDU
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MADDLD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MCRF
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MCRXR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MCRXRX
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFCR       =>       (ALU,    OP_MFCR,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFOCRF     =>       (ALU,    OP_MFOCRF,    NONE,       NONE,        NONE, RT,   FXM,  NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFCTR      =>       (ALU,    OP_MFCTR,     NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFLR       =>       (ALU,    OP_MFLR,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFTB       =>       (ALU,    OP_MFTB,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTCTR      =>       (ALU,    OP_MTCTR,     RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTLR       =>       (ALU,    OP_MTLR,      RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFCR       =>       (ALU,    OP_MFCR,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFOCRF     =>       (ALU,    OP_MFOCRF,    NONE,       NONE,        NONE, RT,   FXM,  NONE, NONE, '1', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFCTR      =>       (ALU,    OP_MFCTR,     NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFLR       =>       (ALU,    OP_MFLR,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MFTB       =>       (ALU,    OP_MFTB,      NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTCTR      =>       (ALU,    OP_MTCTR,     RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTLR       =>       (ALU,    OP_MTLR,      RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MFSPR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MODSD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MODSW
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MODUD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MODUW
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTCRF      =>       (ALU,    OP_MTCRF,     RS,         NONE,        NONE, NONE, FXM,  NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTOCRF     =>       (ALU,    OP_MTOCRF,    RS,         NONE,        NONE, NONE, FXM,  NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTCRF      =>       (ALU,    OP_MTCRF,     RS,         NONE,        NONE, NONE, FXM,  NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MTOCRF     =>       (ALU,    OP_MTOCRF,    RS,         NONE,        NONE, NONE, FXM,  NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_MTSPR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHD      =>       (MUL,    OP_MUL_H64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHDU     =>       (MUL,    OP_MUL_H64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHW      =>       (MUL,    OP_MUL_H32,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '1', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHWU     =>       (MUL,    OP_MUL_H32,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLD      =>       (MUL,    OP_MUL_L64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLI      =>       (MUL,    OP_MUL_L64,   RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLW      =>       (MUL,    OP_MUL_L64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '1', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NAND       =>       (ALU,    OP_NAND,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NEG        =>       (ALU,    OP_NEG,       RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NOR        =>       (ALU,    OP_NOR,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_OR         =>       (ALU,    OP_OR,        RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORC        =>       (ALU,    OP_ORC,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORI        =>       (ALU,    OP_OR,        RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORIS       =>       (ALU,    OP_OR,        RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTB    =>       (ALU,    OP_POPCNTB,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTD    =>       (ALU,    OP_POPCNTD,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTW    =>       (ALU,    OP_POPCNTW,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_PRTYD      =>       (ALU,    OP_PRTYD,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_PRTYW      =>       (ALU,    OP_PRTYW,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDCL      =>       (ALU,    OP_RLDCL,     RS,         RB,          NONE, RA,   NONE, MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDCR      =>       (ALU,    OP_RLDCR,     RS,         RB,          NONE, RA,   NONE, MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDIC      =>       (ALU,    OP_RLDIC,     RS,         NONE,        NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDICL     =>       (ALU,    OP_RLDICL,    RS,         NONE,        NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDICR     =>       (ALU,    OP_RLDICR,    RS,         NONE,        NONE, RA,   SH,   ME,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDIMI     =>       (ALU,    OP_RLDIMI,    RA,         RS,          NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWIMI     =>       (ALU,    OP_RLWIMI,    RA,         RS,          NONE, RA,   SH32, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWINM     =>       (ALU,    OP_RLWINM,    RS,         NONE,        NONE, RA,   SH32, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWNM      =>       (ALU,    OP_RLWNM,     RS,         RB,          NONE, RA,   NONE, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHD      =>       (MUL,    OP_MUL_H64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHDU     =>       (MUL,    OP_MUL_H64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHW      =>       (MUL,    OP_MUL_H32,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '1', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULHWU     =>       (MUL,    OP_MUL_H32,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLD      =>       (MUL,    OP_MUL_L64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLI      =>       (MUL,    OP_MUL_L64,   RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '0', '1', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_MULLW      =>       (MUL,    OP_MUL_L64,   RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '1', '0', '0', NONE, '0', '0', '0', '0', '1', '1', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NAND       =>       (ALU,    OP_NAND,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NEG        =>       (ALU,    OP_NEG,       RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_NOR        =>       (ALU,    OP_NOR,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_OR         =>       (ALU,    OP_OR,        RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORC        =>       (ALU,    OP_ORC,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORI        =>       (ALU,    OP_OR,        RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_ORIS       =>       (ALU,    OP_OR,        RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTB    =>       (ALU,    OP_POPCNTB,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTD    =>       (ALU,    OP_POPCNTD,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_POPCNTW    =>       (ALU,    OP_POPCNTW,   RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_PRTYD      =>       (ALU,    OP_PRTYD,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_PRTYW      =>       (ALU,    OP_PRTYW,     RS,         NONE,        NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDCL      =>       (ALU,    OP_RLDCL,     RS,         RB,          NONE, RA,   NONE, MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDCR      =>       (ALU,    OP_RLDCR,     RS,         RB,          NONE, RA,   NONE, MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDIC      =>       (ALU,    OP_RLDIC,     RS,         NONE,        NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDICL     =>       (ALU,    OP_RLDICL,    RS,         NONE,        NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDICR     =>       (ALU,    OP_RLDICR,    RS,         NONE,        NONE, RA,   SH,   ME,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLDIMI     =>       (ALU,    OP_RLDIMI,    RA,         RS,          NONE, RA,   SH,   MB,   NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWIMI     =>       (ALU,    OP_RLWIMI,    RA,         RS,          NONE, RA,   SH32, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWINM     =>       (ALU,    OP_RLWINM,    RS,         NONE,        NONE, RA,   SH32, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_RLWNM      =>       (ALU,    OP_RLWNM,     RS,         RB,          NONE, RA,   NONE, MB32, ME32, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_SETB
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SLD        =>       (ALU,    OP_SLD,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SLW        =>       (ALU,    OP_SLW,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAD       =>       (ALU,    OP_SRAD,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRADI      =>       (ALU,    OP_SRADI,     RS,         NONE,        NONE, RA,   SH,   NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAW       =>       (ALU,    OP_SRAW,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAWI      =>       (ALU,    OP_SRAWI,     RS,         NONE,        NONE, RA,   SH,   NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRD        =>       (ALU,    OP_SRD,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRW        =>       (ALU,    OP_SRW,       RS,         RB,          RS,   RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STB        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '1', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STD        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_DS,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDU       =>       (LDST,   OP_STORE,     RA,         CONST_DS,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STH        =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STW        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '1', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '1', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBF       =>       (ALU,    OP_SUBF,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFC      =>       (ALU,    OP_SUBFC,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFE      =>       (ALU,    OP_SUBFC,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFIC     =>       (ALU,    OP_SUBFC,     RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SLD        =>       (ALU,    OP_SLD,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SLW        =>       (ALU,    OP_SLW,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAD       =>       (ALU,    OP_SRAD,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRADI      =>       (ALU,    OP_SRADI,     RS,         NONE,        NONE, RA,   SH,   NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAW       =>       (ALU,    OP_SRAW,      RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRAWI      =>       (ALU,    OP_SRAWI,     RS,         NONE,        NONE, RA,   SH,   NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRD        =>       (ALU,    OP_SRD,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SRW        =>       (ALU,    OP_SRW,       RS,         RB,          RS,   RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STB        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '1', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '1', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STBX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is1B, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STD        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_DS,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDU       =>       (LDST,   OP_STORE,     RA,         CONST_DS,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STDX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is8B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STH        =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STHX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is2B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STW        =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWBRX     =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '1', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWCX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '1', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWU       =>       (LDST,   OP_STORE,     RA,         CONST_SI,    RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWUX      =>       (LDST,   OP_STORE,     RA,         RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '1', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_STWX       =>       (LDST,   OP_STORE,     RA_OR_ZERO, RB,          RS,   NONE, NONE, NONE, NONE, '0', '0', '0', '0', is4B, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBF       =>       (ALU,    OP_SUBF,      RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFC      =>       (ALU,    OP_SUBFC,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFE      =>       (ALU,    OP_SUBFC,     RA,         RB,          NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFIC     =>       (ALU,    OP_SUBFC,     RA,         CONST_SI,    NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '1', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_SUBFME
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFZE     =>       (ALU,    OP_SUBFC,     RA,         NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SYNC       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SUBFZE     =>       (ALU,    OP_SUBFC,     RA,         NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '1', '1', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SYNC       =>       (ALU,    OP_NOP,       NONE,       NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_TD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_TDI        =>       (ALU,    OP_TDI,       RA,         CONST_SI,    NONE, NONE, TOO,  NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_TDI        =>       (ALU,    OP_TDI,       RA,         CONST_SI,    NONE, NONE, TOO,  NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_TW
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						--PPC_TWI
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XOR        =>       (ALU,    OP_XOR,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XORI       =>       (ALU,    OP_XOR,       RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XORIS      =>       (ALU,    OP_XOR,       RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_READ   =>       (ALU,    OP_SIM_READ,  NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_POLL   =>       (ALU,    OP_SIM_POLL,  NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_WRITE  =>       (ALU,    OP_SIM_WRITE, RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_CONFIG =>       (ALU,    OP_SIM_CONFIG,NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XOR        =>       (ALU,    OP_XOR,       RS,         RB,          NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', RC,   '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XORI       =>       (ALU,    OP_XOR,       RS,         CONST_UI,    NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_XORIS      =>       (ALU,    OP_XOR,       RS,         CONST_UI_HI, NONE, RA,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_READ   =>       (ALU,    OP_SIM_READ,  NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_POLL   =>       (ALU,    OP_SIM_POLL,  NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_WRITE  =>       (ALU,    OP_SIM_WRITE, RS,         NONE,        NONE, NONE, NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						PPC_SIM_CONFIG =>       (ALU,    OP_SIM_CONFIG,NONE,       NONE,        NONE, RT,   NONE, NONE, NONE, '0', '0', '0', '0', NONE, '0', '0', '0', '0', '0', '0', NONE, '0', '1'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						others => decode_rom_init
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					);
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |