10/18 Opcode from Chapter 6
[dyninst.git] / instructionAPI / src / power_opcode_tables.C
1 /*
2  * See the dyninst/COPYRIGHT file for copyright information.
3  * 
4  * We provide the Paradyn Tools (below described as "Paradyn")
5  * on an AS IS basis, and do not warrant its validity or performance.
6  * We reserve the right to update, modify, or discontinue this
7  * software at any time.  We shall have no obligation to supply such
8  * updates or modifications or any other form of support to you.
9  * 
10  * By your use of Paradyn, you understand and agree that we (or any
11  * other person or entity with proprietary rights in Paradyn) are
12  * under no obligation to provide either maintenance services,
13  * update services, notices of latent defects, or correction of
14  * defects for Paradyn.
15  * 
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Lesser General Public
18  * License as published by the Free Software Foundation; either
19  * version 2.1 of the License, or (at your option) any later version.
20  * 
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * Lesser General Public License for more details.
25  * 
26  * You should have received a copy of the GNU Lesser General Public
27  * License along with this library; if not, write to the Free Software
28  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29  */
30 bool power_entry::built_tables = false;
31
32 std::vector<power_entry> power_entry::main_opcode_table;
33 power_table power_entry::extended_op_0;
34 power_table power_entry::extended_op_4;
35 power_table power_entry::extended_op_19;
36 power_table power_entry::extended_op_30;
37 power_table power_entry::extended_op_31;
38 power_table power_entry::extended_op_57;
39 power_table power_entry::extended_op_58;
40 power_table power_entry::extended_op_59;
41 power_table power_entry::extended_op_60;
42 power_table power_entry::extended_op_61;
43 power_table power_entry::extended_op_63;
44
45 void power_entry::buildTables()
46 {
47     if(built_tables) return;
48     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_0), operandSpec()));
49     main_opcode_table.push_back(power_entry(power_op_INVALID, "INVALID", NULL, operandSpec()));
50     main_opcode_table.push_back(power_entry(power_op_tdi, "tdi", NULL, list_of(fn(TO))(fn(RA))(fn(SI))));
51     main_opcode_table.push_back(power_entry(power_op_twi, "twi", NULL, list_of(fn(TO))(fn(RA))(fn(SI))));
52     main_opcode_table.push_back(power_entry(power_op_INVALID, "INVALID", NULL, operandSpec()));
53     main_opcode_table.push_back(power_entry(power_op_INVALID, "INVALID", NULL, operandSpec()));
54     main_opcode_table.push_back(power_entry(power_op_INVALID, "INVALID", NULL, operandSpec()));
55     main_opcode_table.push_back(power_entry(power_op_mulli, "mulli", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
56     main_opcode_table.push_back(power_entry(power_op_subfic, "subfic", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
57     main_opcode_table.push_back(power_entry(power_op_dozi, "dozi", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
58     main_opcode_table.push_back(power_entry(power_op_cmpli, "cmpli", NULL, list_of(fn(BF))(fn(L))(fn(RA))(fn(UI))));
59     main_opcode_table.push_back(power_entry(power_op_cmpi, "cmpi", NULL, list_of(fn(BF))(fn(L))(fn(RA))(fn(SI))));
60     main_opcode_table.push_back(power_entry(power_op_addic, "addic", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
61     main_opcode_table.push_back(power_entry(power_op_addic_rc, "addic.", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
62     main_opcode_table.push_back(power_entry(power_op_addi, "addi", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
63     main_opcode_table.push_back(power_entry(power_op_addis, "addis", NULL, list_of(fn(RT))(fn(RA))(fn(SI))));
64     main_opcode_table.push_back(power_entry(power_op_bc, "bc", NULL, list_of(fn(BO))(fn(BI))(fn(BD))(fn(AA))(fn(LK))));
65     main_opcode_table.push_back(power_entry(power_op_svcs, "sc", NULL, list_of(fn(syscall))));
66     main_opcode_table.push_back(power_entry(power_op_b, "b", NULL, list_of(fn(LL))(fn(AA))(fn(LK))));
67     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_19), operandSpec()));
68     main_opcode_table.push_back(power_entry(power_op_rlwimi, "rlwimi", NULL,
69                                 list_of(fn(RA))(fn(RS))(fn(SH))(fn(ME))(fn(MB))(fn(Rc))));
70     main_opcode_table.push_back(power_entry(power_op_rlwinm, "rlwinm", NULL,
71                                 list_of(fn(RA))(fn(RS))(fn(SH))(fn(MB))(fn(ME))(fn(Rc))));
72     main_opcode_table.push_back(power_entry(power_op_rlmi, "rlmi", NULL,
73                                 list_of(fn(RA))(fn(RS))(fn(RB))(fn(MB))(fn(ME))(fn(Rc))));
74     main_opcode_table.push_back(power_entry(power_op_rlwnm, "rlwnm", NULL,
75                                 list_of(fn(RA))(fn(RS))(fn(RB))(fn(MB))(fn(ME))(fn(Rc))));
76     main_opcode_table.push_back(power_entry(power_op_ori, "ori", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
77     main_opcode_table.push_back(power_entry(power_op_oris, "oris", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
78     main_opcode_table.push_back(power_entry(power_op_xori, "xori", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
79     main_opcode_table.push_back(power_entry(power_op_xoris, "xoris", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
80     main_opcode_table.push_back(power_entry(power_op_andi_rc, "andi.", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
81     main_opcode_table.push_back(power_entry(power_op_andis_rc, "andis.", NULL, list_of(fn(RA))(fn(RS))(fn(UI))));
82     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_30), operandSpec()));
83     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_31), operandSpec()));
84     main_opcode_table.push_back(power_entry(power_op_lwz, "lwz", NULL, list_of(fn(RT))(fn(L<u32>))));
85     main_opcode_table.push_back(power_entry(power_op_lwzu, "lwzu", NULL, list_of(fn(RT))(fn(LU<u32>))));
86     main_opcode_table.push_back(power_entry(power_op_lbz, "lbz", NULL, list_of(fn(RT))(fn(L<u8>))));
87     main_opcode_table.push_back(power_entry(power_op_lbzu, "lbzu", NULL, list_of(fn(RT))(fn(LU<u8>))));
88     main_opcode_table.push_back(power_entry(power_op_stw, "stw", NULL, list_of(fn(RS))(fn(ST<u32>))));
89     main_opcode_table.push_back(power_entry(power_op_stwu, "stwu", NULL, list_of(fn(RS))(fn(STU<u32>))));
90     main_opcode_table.push_back(power_entry(power_op_stb, "stb", NULL, list_of(fn(RS))(fn(ST<u8>))));
91     main_opcode_table.push_back(power_entry(power_op_stbu, "stbu", NULL, list_of(fn(RS))(fn(STU<u8>))));
92     main_opcode_table.push_back(power_entry(power_op_lhz, "lhz", NULL, list_of(fn(RT))(fn(L<u16>))));
93     main_opcode_table.push_back(power_entry(power_op_lhzu, "lhzu", NULL, list_of(fn(RT))(fn(LU<u16>))));
94     main_opcode_table.push_back(power_entry(power_op_lha, "lha", NULL, list_of(fn(RT))(fn(L<u16>))));
95     main_opcode_table.push_back(power_entry(power_op_lhau, "lhau", NULL, list_of(fn(RT))(fn(LU<u16>))));
96     main_opcode_table.push_back(power_entry(power_op_sth, "sth", NULL, list_of(fn(RS))(fn(ST<u16>))));
97     main_opcode_table.push_back(power_entry(power_op_sthu, "sthu", NULL, list_of(fn(RS))(fn(STU<u16>))));
98     main_opcode_table.push_back(power_entry(power_op_lmw, "lmw", NULL, list_of(fn(RT))(fn(L<u32>))));
99     main_opcode_table.push_back(power_entry(power_op_stmw, "stmw", NULL, list_of(fn(RT))(fn(ST<u32>))));
100     main_opcode_table.push_back(power_entry(power_op_lfs, "lfs", NULL, list_of(fn(FRT))(fn(L<sp_float>))));
101     main_opcode_table.push_back(power_entry(power_op_lfsu, "lfsu", NULL, list_of(fn(FRT))(fn(LU<sp_float>))));
102     main_opcode_table.push_back(power_entry(power_op_lfd, "lfd", NULL, list_of(fn(FRT))(fn(L<dp_float>))));
103     main_opcode_table.push_back(power_entry(power_op_lfdu, "lfdu", NULL, list_of(fn(FRT))(fn(LU<dp_float>))));
104     main_opcode_table.push_back(power_entry(power_op_stfs, "stfs", NULL, list_of(fn(FRS))(fn(ST<sp_float>))));
105     main_opcode_table.push_back(power_entry(power_op_stfsu, "stfsu", NULL, list_of(fn(FRS))(fn(STU<sp_float>))));
106     main_opcode_table.push_back(power_entry(power_op_stfd, "stfd", NULL, list_of(fn(FRS))(fn(ST<dp_float>))));
107     main_opcode_table.push_back(power_entry(power_op_stfdu, "stfdu", NULL, list_of(fn(FRS))(fn(STU<dp_float>))));
108     main_opcode_table.push_back(power_entry(power_op_lfq, "lfq", NULL, list_of(fn(FRT2))(fn(L<dbl128>))));
109         //opcode57: revised, previous:lfqu
110                 //main_opcode_table.push_back(power_entry(power_op_lfqu, "lfqu", NULL, list_of(fn(FRT2))(fn(LU<dbl128>))));i
111                 //new extended opcode 57        
112                 main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_57), operandSpec()));
113                 
114                 main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_58), operandSpec()));
115     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_59), operandSpec()));
116     //opcode60 revised, previous:stfq
117     //new extended opcode 60
118                 main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_60), operandSpec()));
119
120     //opcode61 revised, previous:stfqu
121                 //main_opcode_table.push_back(power_entry(power_op_stfqu, "stfqu", NULL, list_of(fn(FRS2))(fn(STU<dbl128>))));
122     //new extended opcode 61 
123     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_61), operandSpec()));
124                 
125                 main_opcode_table.push_back(power_entry(power_op_stdu, "stdu", NULL, list_of(fn(RS))(fn(STU<u64>))));
126     main_opcode_table.push_back(power_entry(power_op_extended, "extended", fn(extended_op_63), operandSpec()));
127
128     extended_op_0[1] = power_entry(power_op_qvfxxmadds, "qvfxxmadds", NULL,
129                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
130     extended_op_0[3] = power_entry(power_op_qvfxxcpnmadds, "qvfxxcpnmadds", NULL,
131                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
132     extended_op_0[5] = power_entry(power_op_fpsel, "fpsel", NULL,
133         list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
134     extended_op_0[8] = power_entry(power_op_fpmul, "fpmul", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRCP)));
135        extended_op_0[10] = power_entry(power_op_fxpmul, "fxpmul", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRCP)));
136        extended_op_0[12] = power_entry(power_op_fpadd, "fpadd", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP)));
137        extended_op_0[13] = power_entry(power_op_fpsub, "fpsub", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP)));
138        extended_op_0[14] = power_entry(power_op_fpre, "fpre", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
139        extended_op_0[15] = power_entry(power_op_fprsqrte, "fprsqrte", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
140        extended_op_0[16] = power_entry(power_op_fpmadd, "fpmadd", NULL,
141 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
142        extended_op_0[17] = power_entry(power_op_fxmadd, "fxmadd", NULL,
143 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
144        extended_op_0[18] = power_entry(power_op_fxcpmadd, "fxcpmadd", NULL,
145 list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
146        extended_op_0[19] = power_entry(power_op_fxcsmadd, "fxcsmadd", NULL,
147 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
148 #ifdef os_bgq
149        extended_op_0[9] = power_entry(power_op_qvfxmadds, "qvfxmadds", NULL,
150                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
151        extended_op_0[11] = power_entry(power_op_qvfxxnpmadds, "qvfxxnpmadds", NULL,
152                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
153        extended_op_0[17] = power_entry(power_op_qvfxmuls, "qvfxmuls", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QFRCP)));
154        extended_op_0[20] = power_entry(power_op_qvfsubs, "qvfsubs", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
155        extended_op_0[21] = power_entry(power_op_qvfadds, "qvfadds", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
156        extended_op_0[24] = power_entry(power_op_qvfres, "qvfres", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
157        extended_op_0[25] = power_entry(power_op_qvfmuls, "qvfmuls", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QFRCP)));
158        extended_op_0[26] = power_entry(power_op_qvfrsqrtes, "qvfrsqrtes", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
159        extended_op_0[28] = power_entry(power_op_qvfmsubs, "qvfmsubs", NULL,
160           list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
161        extended_op_0[29] = power_entry(power_op_qvfmadds, "qvfmadds", NULL,
162           list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
163        extended_op_0[30] = power_entry(power_op_qvfnmsubs, "qvfnmsubs", NULL,
164           list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
165        extended_op_0[31] = power_entry(power_op_qvfnmadds, "qvfnmadds", NULL,
166           list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
167 #else
168        extended_op_0[9] = power_entry(power_op_fxmul, "fxmul", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRCP)));
169        extended_op_0[11] = power_entry(power_op_fxsmul, "fxsmul", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRCP)));
170        extended_op_0[20] = power_entry(power_op_fpnmadd, "fpnmadd", NULL,
171 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
172        extended_op_0[21] = power_entry(power_op_fxnmadd, "fxnmadd", NULL,
173 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
174        extended_op_0[24] = power_entry(power_op_fpmsub, "fpmsub", NULL,
175 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
176        extended_op_0[25] = power_entry(power_op_fxmsub, "fxmsub", NULL,
177 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
178        extended_op_0[26] = power_entry(power_op_fxcpmsub, "fxcpmsub", NULL,
179 list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
180        extended_op_0[28] = power_entry(power_op_fpnmsub, "fpnmsub", NULL,
181 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
182        extended_op_0[29] = power_entry(power_op_fxnmsub, "fxnmsub", NULL,
183 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAP))(fn(FRBP))(fn(FRCP)));
184        extended_op_0[30] = power_entry(power_op_fxcpnmsub, "fxcpnmsub", NULL,
185 list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
186        extended_op_0[31] = power_entry(power_op_fxcsnmsub, "fxcsnmsub", NULL,
187 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
188 #endif
189        extended_op_0[22] = power_entry(power_op_fxcpnmadd, "fxcpnmadd", NULL,
190 list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
191        extended_op_0[23] = power_entry(power_op_fxcsnmadd, "fxcsnmadd", NULL,
192 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
193        extended_op_0[27] = power_entry(power_op_fxcsmsub, "fxcsmsub", NULL,
194 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
195        extended_op_0[32] = power_entry(power_op_fpmr, "fpmr", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
196        extended_op_0[96] = power_entry(power_op_fpabs, "fpabs", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
197        extended_op_0[160] = power_entry(power_op_fpneg, "fpneg", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
198        extended_op_0[192] = power_entry(power_op_fprsp, "fprsp", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
199        extended_op_0[224] = power_entry(power_op_fpnabs, "fpnabs", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
200        extended_op_0[288] = power_entry(power_op_fsmr, "fsmr", NULL, list_of(fn(setFPMode))(fn(FRTS))(fn(FRBS)));
201        extended_op_0[320] = power_entry(power_op_fscmp, "fscmp", NULL, list_of(fn(setFPMode))(fn(BF))(fn(FRAS))(fn(FRBS)));
202        extended_op_0[352] = power_entry(power_op_fsabs, "fsabs", NULL, list_of(fn(setFPMode))(fn(FRTS))(fn(FRBS)));
203        extended_op_0[416] = power_entry(power_op_fsneg, "fsneg", NULL, list_of(fn(setFPMode))(fn(FRTS))(fn(FRBS)));
204        extended_op_0[480] = power_entry(power_op_fsnabs, "fsnabs", NULL, list_of(fn(setFPMode))(fn(FRTS))(fn(FRBS)));
205        extended_op_0[544] = power_entry(power_op_fxmr, "fxmr", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
206        extended_op_0[576] = power_entry(power_op_fpctiw, "fpctiw", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
207        extended_op_0[704] = power_entry(power_op_fpctiwz, "fpctiwz", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRBP)));
208        extended_op_0[800] = power_entry(power_op_fsmfp, "fpmr", NULL, list_of(fn(setFPMode))(fn(FRTS))(fn(FRB)));
209        extended_op_0[846] = power_entry(power_op_qvfcfids, "qvfcfids", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
210        extended_op_0[928] = power_entry(power_op_fsmtp, "fpmr", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRBS)));
211        extended_op_0[974] = power_entry(power_op_qvfcfidus, "qvfcfidus", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
212   
213 /* deleted in Version 3.0B
214                          extended_op_4[0] = power_entry(power_op_qvfcmpeq, "qvfcmpeq", NULL,
215                                                          list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
216        extended_op_4[1]   = power_entry(power_op_qvfxxmadd, "qvfxxmadd", NULL,
217                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
218        extended_op_4[3] = power_entry(power_op_qvfxxcpnmadd, "qvfxxcpnmadd", NULL,
219                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
220        extended_op_4[4] = power_entry(power_op_qvflogical, "qvflogical", NULL,
221                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QTT)));
222        extended_op_4[5] = power_entry(power_op_qvfaligni, "qvfaligni", NULL,
223                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QVD)));
224        extended_op_4[6] = power_entry(power_op_qvfperm, "qvfperm", NULL,
225                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
226        extended_op_4[8] = power_entry(power_op_qvfcpsgn, "qvfcpsgn", NULL,
227                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
228        extended_op_4[9] = power_entry(power_op_qvfxmadd, "qvfxmadd", NULL,
229                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
230        extended_op_4[11] = power_entry(power_op_qvfxxnpmadd, "qvfxxnpmadd", NULL,
231                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
232        extended_op_4[12] = power_entry(power_op_qvfrsp, "qvfrsp", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
233        //extended_op_4[14] = power_entry(power_op_qvfctiw, "qvfctiw", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
234                          
235        extended_op_4[15] = power_entry(power_op_qvfctiwz, "qvfctiwz", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
236        extended_op_4[17] = power_entry(power_op_qvfxmul, "qvfxmul", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QFRCP)));
237        extended_op_4[20] = power_entry(power_op_qvfsub, "qvfsub", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
238        extended_op_4[21] = power_entry(power_op_qvfadd, "qvfadd", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
239        extended_op_4[23] = power_entry(power_op_qvfsel, "qvfsel", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
240 */
241                          
242                          
243                         extended_op_4[0] = power_entry(power_op_vaddubm, "vaddubm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
244 extended_op_4[2] = power_entry(power_op_vmaxub, "vmaxub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
245 extended_op_4[6] = power_entry(power_op_vcmpequb, "vcmpequb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
246 extended_op_4[7] = power_entry(power_op_vcmpneb, "vcmpneb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
247 extended_op_4[8] = power_entry(power_op_vmuloub, "vmuloub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
248 extended_op_4[12] = power_entry(power_op_vmrghb, "vmrghb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
249
250 extended_op_4[14] = power_entry(power_op_vpkuhum, "vpkuhum", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
251 #ifdef os_bgq
252   extended_op_4[24] = power_entry(power_op_qvfre, "qvfre", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
253   extended_op_4[25] = power_entry(power_op_qvfmul, "qvfmul", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QFRCP)));
254   extended_op_4[26] = power_entry(power_op_qvfrsqrte, "qvfrsqrte", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
255   extended_op_4[28] = power_entry(power_op_qvfmsub, "qvfmsub", NULL,
256     list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
257   extended_op_4[29] = power_entry(power_op_qvfmadd, "qvfmadd", NULL,
258     list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
259   extended_op_4[30] = power_entry(power_op_qvfnmsub, "qvfnmsub", NULL,
260     list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
261   extended_op_4[31] = power_entry(power_op_qvfnmadd, "qvfnmadd", NULL,
262     list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB))(fn(QFRCP)));
263 #else
264    extended_op_4[24] = power_entry(power_op_fxcpnpma, "fxcpnpma", NULL,
265      list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
266    extended_op_4[25] = power_entry(power_op_fxcsnpma, "fxcsnpma", NULL,
267      list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
268    extended_op_4[26] = power_entry(power_op_fxcpnsma, "fxcpnsma", NULL,
269      list_of(fn(setFPMode))(fn(FRTP))(fn(FRA))(fn(FRBP))(fn(FRCP)));
270    extended_op_4[28] = power_entry(power_op_fxcxnpma, "fxcxnpma", NULL,
271      list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
272    extended_op_4[29] = power_entry(power_op_fxcxnsma, "fxcxnsma", NULL,
273      list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
274    extended_op_4[30] = power_entry(power_op_fxcxma, "fxcxma", NULL, list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
275    extended_op_4[31] = power_entry(power_op_fxcxnms, "fxcxnms", NULL,
276      list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
277 #endif
278 extended_op_4[27] = power_entry(power_op_fxcsnsma, "fxcsnsma", NULL,
279 list_of(fn(setFPMode))(fn(FRTP))(fn(FRAS))(fn(FRBP))(fn(FRCP)));
280 extended_op_4[32] = power_entry(power_op_vmhaddshs, "vmhaddshs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
281 extended_op_4[33] = power_entry(power_op_vmhraddshs, "vmhraddshs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
282 extended_op_4[34] = power_entry(power_op_vmladduhm, "vmladduhm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
283 extended_op_4[35] = power_entry(power_op_vmsumudm, "vmsumudm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
284 extended_op_4[36] = power_entry(power_op_vmsumubm, "vmsumubm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
285 extended_op_4[37] = power_entry(power_op_vmsummbm, "vmsummbm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
286 extended_op_4[38] = power_entry(power_op_vmsumuhm, "vmsumuhm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
287 extended_op_4[39] = power_entry(power_op_vmsumuhs, "vmsumuhs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
288 extended_op_4[40] = power_entry(power_op_vmsumshm, "vmsumshm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
289 extended_op_4[41] = power_entry(power_op_vmsumshs, "vmsumshs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
290 extended_op_4[42] = power_entry(power_op_vsel, "vsel", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
291 extended_op_4[43] = power_entry(power_op_vperm, "vperm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
292 extended_op_4[44] = power_entry(power_op_vsldoi, "vsldoi", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(SHB)));
293 extended_op_4[59] = power_entry(power_op_vpermr, "vpermr", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
294 extended_op_4[60] = power_entry(power_op_vaddeuqm, "vaddeuqm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
295 extended_op_4[61] = power_entry(power_op_vaddecuq, "vaddecuq", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
296 extended_op_4[62] = power_entry(power_op_vsubeuqm, "vsubeuqm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
297 extended_op_4[63] = power_entry(power_op_vsubecuq, "vsubecuq", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(VRC)));
298 extended_op_4[64] = power_entry(power_op_vadduhm, "vadduhm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
299 extended_op_4[66] = power_entry(power_op_vmaxuh, "vmaxuh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
300 extended_op_4[70] = power_entry(power_op_vcmpequh, "vcmpequh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
301 extended_op_4[71] = power_entry(power_op_vcmpneh, "vcmpneh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
302 extended_op_4[72] = power_entry(power_op_vmulouh, "vmulouh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
303 extended_op_4[76] = power_entry(power_op_vmrghh, "vmrghh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
304 extended_op_4[78] = power_entry(power_op_vpkuwum, "vpkuwum", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
305 extended_op_4[96] = power_entry(power_op_qvfcmplt, "qvfcmplt", NULL,
306                                        list_of(fn(setFPMode))(fn(QFRTP))(fn(QFRA))(fn(QRB)));
307 extended_op_4[128] = power_entry(power_op_vadduwm, "vadduwm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
308 extended_op_4[130] = power_entry(power_op_vmaxuw, "vmaxuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
309 extended_op_4[133] = power_entry(power_op_qvgpci, "qvgpci", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QGPC)));
310 extended_op_4[134] = power_entry(power_op_vcmpequw, "vcmpequw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
311 extended_op_4[135] = power_entry(power_op_vcmpnew, "vcmpnew", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
312 extended_op_4[136] = power_entry(power_op_vmulouw, "vmulouw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
313 extended_op_4[137] = power_entry(power_op_vmuluwm, "vmuluwm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
314 extended_op_4[140] = power_entry(power_op_vmrghw, "vmrghw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
315 extended_op_4[142] = power_entry(power_op_vpkuhus, "vpkuhus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
316 extended_op_4[143] = power_entry(power_op_qvfctiwuz, "qvfctiwuz", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
317 extended_op_4[192] = power_entry(power_op_vaddudm, "vaddudm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
318 extended_op_4[194] = power_entry(power_op_vmaxud, "vmaxud", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
319 extended_op_4[199] = power_entry(power_op_vcmpequd, "vcmpequd", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
320 extended_op_4[206] = power_entry(power_op_vpkuwus, "vpkuwus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
321 extended_op_4[256] = power_entry(power_op_vadduqm, "vadduqm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
322 extended_op_4[258] = power_entry(power_op_vmaxsb, "vmaxsb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
323 extended_op_4[263] = power_entry(power_op_vcmpnezb, "vcmpnezb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
324 extended_op_4[264] = power_entry(power_op_vmulosb, "vmulosb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
325 extended_op_4[268] = power_entry(power_op_vmrglb, "vmrglb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
326 extended_op_4[270] = power_entry(power_op_vpkshus, "vpkshus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
327 extended_op_4[320] = power_entry(power_op_vaddcuq, "vaddcuq", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
328 extended_op_4[322] = power_entry(power_op_vmaxsh, "vmaxsh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
329 extended_op_4[327] = power_entry(power_op_vcmpnezh, "vcmpnezh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
330 extended_op_4[328] = power_entry(power_op_vmulosh, "vmulosh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
331 extended_op_4[332] = power_entry(power_op_vmrglh, "vmrglh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
332 extended_op_4[334] = power_entry(power_op_vpkswus, "vpkswus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
333 extended_op_4[384] = power_entry(power_op_vaddcuw, "vaddcuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
334 extended_op_4[386] = power_entry(power_op_vmaxsw, "vmaxsw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
335 extended_op_4[391] = power_entry(power_op_vcmpnezw, "vcmpnezw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
336 extended_op_4[392] = power_entry(power_op_vmulosw, "vmulosw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
337 extended_op_4[396] = power_entry(power_op_vmrglw, "vmrglw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
338 extended_op_4[398] = power_entry(power_op_vpkshss, "vpkshss", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
339 extended_op_4[424] = power_entry(power_op_qvfriz, "qvfriz", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
340 extended_op_4[450] = power_entry(power_op_vmaxsd, "vmaxsd", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
341 extended_op_4[452] = power_entry(power_op_vsl, "vsl", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
342 extended_op_4[456] = power_entry(power_op_qvfrip, "qvfrip", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
343 extended_op_4[462] = power_entry(power_op_vpkswss, "vpkswss", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
344 extended_op_4[512] = power_entry(power_op_vaddubs, "vaddubs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
345 extended_op_4[514] = power_entry(power_op_vminub, "vminub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
346 extended_op_4[518] = power_entry(power_op_vcmpgtub, "vcmpgtub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
347 extended_op_4[520] = power_entry(power_op_vmuleub, "vmuleub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
348 extended_op_4[524] = power_entry(power_op_vspltb, "vspltb", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
349 extended_op_4[525] = power_entry(power_op_vextractub, "vextractub", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
350 extended_op_4[526] = power_entry(power_op_vupkhsb, "vupkhsb", NULL, list_of(fn(VRT))(fn(VRB)));
351 extended_op_4[576] = power_entry(power_op_vadduhs, "vadduhs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
352 extended_op_4[578] = power_entry(power_op_vminuh, "vminuh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
353 extended_op_4[582] = power_entry(power_op_vcmpgtuh, "vcmpgtuh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
354 extended_op_4[584] = power_entry(power_op_vmuleuh, "vmuleuh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
355 extended_op_4[588] = power_entry(power_op_vsplth, "vsplth", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
356 extended_op_4[589] = power_entry(power_op_vextractuh, "vextractuh", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
357 extended_op_4[590] = power_entry(power_op_vupkhsh, "vupkhsh", NULL, list_of(fn(VRT))(fn(VRB)));
358 extended_op_4[642] = power_entry(power_op_vminuw, "vminuw", NULL, list_of(fn(VRT))(fn(VRB)));
359 extended_op_4[640] = power_entry(power_op_vadduws, "vadduws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
360 extended_op_4[646] = power_entry(power_op_vcmpgtuw, "vcmpgtuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
361 extended_op_4[648] = power_entry(power_op_vmuleuw, "vmuleuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
362 extended_op_4[652] = power_entry(power_op_vspltw, "vspltw", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
363 extended_op_4[653] = power_entry(power_op_vextractuw, "vextractuw", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
364 extended_op_4[654] = power_entry(power_op_vupklsb, "vupklsb", NULL, list_of(fn(VRT))(fn(VRB)));
365 extended_op_4[706] = power_entry(power_op_vminud, "vminud", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
366 extended_op_4[708] = power_entry(power_op_vsr, "vsr", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
367 extended_op_4[711] = power_entry(power_op_vcmpgtud, "vcmpgtud", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
368 extended_op_4[717] = power_entry(power_op_vextractd, "vextractd", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
369 extended_op_4[718] = power_entry(power_op_vupklsh, "vupklsh", NULL, list_of(fn(VRT))(fn(VRB)));
370 extended_op_4[768] = power_entry(power_op_vaddsbs, "vaddsbs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
371 extended_op_4[770] = power_entry(power_op_vminsb, "vminsb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
372 extended_op_4[774] = power_entry(power_op_vcmpgtsb, "vcmpgtsb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
373 extended_op_4[776] = power_entry(power_op_vmulesb, "vmulesb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
374 extended_op_4[780] = power_entry(power_op_vspltisb, "vspltisb", NULL, list_of(fn(VRT))(fn(SIM)));
375 extended_op_4[781] = power_entry(power_op_vinsertb, "vinsertb", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
376 extended_op_4[782] = power_entry(power_op_vpkpx, "vpkpx", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
377 extended_op_4[814] = power_entry(power_op_qvfctid, "qvfctid", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
378 extended_op_4[815] = power_entry(power_op_qvfctidz, "qvfctidz", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
379 extended_op_4[832] = power_entry(power_op_vaddshs, "vaddshs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
380 extended_op_4[834] = power_entry(power_op_vminsh, "vminsh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
381 extended_op_4[838] = power_entry(power_op_vcmpgtsh, "vcmpgtsh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
382 extended_op_4[840] = power_entry(power_op_vmulesh, "vmulesh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
383 extended_op_4[844] = power_entry(power_op_vspltish, "vspltish", NULL, list_of(fn(VRT))(fn(SIM)));
384 extended_op_4[845] = power_entry(power_op_vinserth, "vinserth", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
385 extended_op_4[846] = power_entry(power_op_vupkhpx, "vupkhpx", NULL, list_of(fn(VRT))(fn(VRB)));
386 extended_op_4[896] = power_entry(power_op_vaddsws, "vaddsws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
387 extended_op_4[898] = power_entry(power_op_vminsw, "vminsw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
388 extended_op_4[902] = power_entry(power_op_vcmpgtsw, "vcmpgtsw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
389 extended_op_4[904] = power_entry(power_op_vmulesw, "vmulesw", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
390 extended_op_4[908] = power_entry(power_op_vspltisw, "vspltisw", NULL, list_of(fn(VRT))(fn(SIM)));
391 extended_op_4[909] = power_entry(power_op_vinsertw, "vinsertw", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
392 extended_op_4[942] = power_entry(power_op_qvfctidu, "qvfctidu", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
393 extended_op_4[943] = power_entry(power_op_qvfctiduz, "qvfctiduz", NULL, list_of(fn(setFPMode))(fn(QFRTP))(fn(QRB)));
394 extended_op_4[962] = power_entry(power_op_vminsd, "vminsd", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
395 extended_op_4[967] = power_entry(power_op_vcmpgtsd, "vcmpgtsd", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
396 extended_op_4[973] = power_entry(power_op_vinsertd, "vinsertd", NULL, list_of(fn(VRT))(fn(UIM))(fn(VRB)));
397 extended_op_4[974] = power_entry(power_op_vupklpx,  "vupklpx", NULL, list_of(fn(VRT))(fn(VRB)));
398 extended_op_4[1024] = power_entry(power_op_vsububm, "vsububm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
399 extended_op_4[1026] = power_entry(power_op_vavgub, "vavgub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
400 extended_op_4[1027] = power_entry(power_op_vabsdub, "vabsdub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
401 extended_op_4[1030] = power_entry(power_op_vcmpequb, "vcmpequb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
402 extended_op_4[1031] = power_entry(power_op_vcmpneb, "vcmpneb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
403 extended_op_4[1036] = power_entry(power_op_vslo, "vslo", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
404 extended_op_4[1088] = power_entry(power_op_vsubuhm, "vsubuhm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
405 extended_op_4[1090] = power_entry(power_op_vavguh, "vavguh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
406 extended_op_4[1091] = power_entry(power_op_vabsduh, "vabsduh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
407 extended_op_4[1094] = power_entry(power_op_vcmpequh, "vcmpequh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
408 extended_op_4[1095] = power_entry(power_op_vcmpneh, "vcmpneh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
409 extended_op_4[1100] = power_entry(power_op_vsro, "vsro", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
410 extended_op_4[1102] = power_entry(power_op_vpkudum, "vpkudum", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
411 extended_op_4[1152] = power_entry(power_op_vsubuwm, "vsubuwm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
412 extended_op_4[1154] = power_entry(power_op_vavguw, "vavguw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
413 extended_op_4[1155] = power_entry(power_op_vabsduw, "vabsduw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
414 extended_op_4[1158] = power_entry(power_op_vcmpequw, "vcmpequw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
415 extended_op_4[1159] = power_entry(power_op_vcmpnew, "vcmpnew", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
416 extended_op_4[1216] = power_entry(power_op_vsubudm, "vsubudm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
417 extended_op_4[1223] = power_entry(power_op_vcmpequh, "vcmpequh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
418 extended_op_4[1230] = power_entry(power_op_vpkudus, "vpkudus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
419 extended_op_4[1280] = power_entry(power_op_vsubuqm, "vsubuqm", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
420 extended_op_4[1282] = power_entry(power_op_vavgsb, "vavgsb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
421 extended_op_4[1287] = power_entry(power_op_vcmpnezb, "vcmpnezb", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
422 extended_op_4[1344] = power_entry(power_op_vsubcuq, "vsubcuq", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
423 extended_op_4[1346] = power_entry(power_op_vavgsh, "vavgsh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
424 extended_op_4[1351] = power_entry(power_op_vcmpnezh, "vcmpnezh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
425 extended_op_4[1358] = power_entry(power_op_vpksdus, "vpksdus", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
426 extended_op_4[1408] = power_entry(power_op_vsubcuw, "vsubcuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
427 extended_op_4[1410] = power_entry(power_op_vavgsw, "vavgsw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
428 extended_op_4[1415] = power_entry(power_op_vcmpnezw, "vcmpnezw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
429 extended_op_4[1486] = power_entry(power_op_vpksdss, "vpksdss", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
430 extended_op_4[1536] =   power_entry(power_op_vsububs, "vsububs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
431
432
433 //extended_op_4[1538] = power_entry(power_op_extended, "extended", fn(extended_op_4_1538), operandSpec()));
434
435
436 extended_op_4[1542] = power_entry(power_op_vcmpgtub, "vcmpgtub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
437 extended_op_4[1544] = power_entry(power_op_vsum4ubs, "vsum4ubs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
438 extended_op_4[1600] = power_entry(power_op_vsubuhs, "vsubuhs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
439 extended_op_4[1606] = power_entry(power_op_vcmpgtuh, "vcmpgtuh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
440 extended_op_4[1608] = power_entry(power_op_vsum4shs, "vsum4shs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
441 extended_op_4[1614] = power_entry(power_op_vupkhsw, "vupkhsw", NULL, list_of(fn(VRT))(fn(VRB)));
442 extended_op_4[1664] = power_entry(power_op_vsubuws, "vsubuws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
443 extended_op_4[1670] = power_entry(power_op_vcmpgtuw, "vcmpgtuw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
444 extended_op_4[1672] = power_entry(power_op_vsum2sws, "vsum2sws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
445 extended_op_4[1676] = power_entry(power_op_vmrgow, "vmrgow", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
446 extended_op_4[1735] = power_entry(power_op_vcmpgtub, "vcmpgtub", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
447 extended_op_4[1742] = power_entry(power_op_vupklsw, "vupklsw", NULL, list_of(fn(VRT))(fn(VRB)));
448 extended_op_4[1792] = power_entry(power_op_vsubsbs, "vsubsbs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
449 extended_op_4[1796] = power_entry(power_op_vsrv, "vsrv", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
450 extended_op_4[1798] = power_entry(power_op_vcmpequh, "vcmpequh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
451 extended_op_4[1800] = power_entry(power_op_vsum4sbs, "vsum4sbs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
452 extended_op_4[1856] = power_entry(power_op_vsubshs, "vsubshs", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
453 extended_op_4[1860] = power_entry(power_op_vslv, "vslv", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
454 extended_op_4[1862] = power_entry(power_op_vcmpgtsh, "vcmpgtsh", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
455 extended_op_4[1920] = power_entry(power_op_vsubsws, "vsubsws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
456 extended_op_4[1928] = power_entry(power_op_vsumsws, "vsumsws", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
457 extended_op_4[1932] = power_entry(power_op_vmrgew, "vmrgew", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
458 extended_op_4[1956] = power_entry(power_op_vcmpgtsw, "vcmpgtsw", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
459 extended_op_4[1991] = power_entry(power_op_vcmpgtsd, "vcmpgtsd", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(Rc)));
460
461
462
463                         extended_op_19[0] = power_entry(power_op_mcrf, "mcrf", NULL, list_of(fn(BF))(fn(BFA)));
464 extended_op_19[16] = power_entry(power_op_bclr, "bclr", NULL, list_of(fn(BO))(fn(BI))(fn(LK)));
465 extended_op_19[18] = power_entry(power_op_rfid, "rfid", NULL, operandSpec());
466 extended_op_19[33] = power_entry(power_op_crnor, "crnor", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
467 extended_op_19[50] = power_entry(power_op_rfi, "rfi", NULL, operandSpec());
468 extended_op_19[82] = power_entry(power_op_rfsvc, "rfsvc", NULL, list_of(fn(LK)));
469 extended_op_19[129] = power_entry(power_op_crandc, "crandc", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
470 extended_op_19[150] = power_entry(power_op_isync, "isync", NULL, operandSpec());
471 extended_op_19[193] = power_entry(power_op_crxor, "crxor", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
472 extended_op_19[225] = power_entry(power_op_crnand, "crnand", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
473 extended_op_19[257] = power_entry(power_op_crand, "crand", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
474 extended_op_19[289] = power_entry(power_op_creqv, "creqv", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
475 extended_op_19[417] = power_entry(power_op_crorc, "crorc", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
476 extended_op_19[449] = power_entry(power_op_cror, "cror", NULL, list_of(fn(BT))(fn(BA))(fn(BB)));
477 extended_op_19[528] = power_entry(power_op_bcctr, "bcctr", NULL, list_of(fn(BO))(fn(BI))(fn(LK)));
478
479     power_entry::extended_op_30[1] = power_entry(power_op_rldicr, "rldicr", NULL,
480             list_of(fn(RA))(fn(RS))(fn(SH))(fn(ME))(fn(Rc)));
481 extended_op_30[2] = power_entry(power_op_rldic, "rldic", NULL, list_of(fn(RA))(fn(RS))(fn(SH))(fn(MB))(fn(Rc)));
482 extended_op_30[3] = power_entry(power_op_rldimi, "rldimi", NULL, list_of(fn(RA))(fn(RS))(fn(SH))(fn(MB))(fn(Rc)));
483 extended_op_30[8] = power_entry(power_op_rldcl, "rldcl", NULL, list_of(fn(RA))(fn(RS))(fn(RB))(fn(MB))(fn(Rc)));
484 extended_op_30[9] = power_entry(power_op_rldcr, "rldcr", NULL, list_of(fn(RA))(fn(RS))(fn(RB))(fn(ME))(fn(Rc)));
485 extended_op_30[0] = power_entry(power_op_rldicl, "rldicl", NULL, list_of(fn(RA))(fn(RS))(fn(SH))(fn(MB))(fn(SH))(fn(Rc)));
486
487     power_entry::extended_op_31[0] = power_entry(power_op_cmp, "cmp", NULL, list_of(fn(BF))(fn(L))(fn(RA))(fn(RB)));
488 extended_op_31[4] = power_entry(power_op_tw, "tw", NULL, list_of(fn(TO))(fn(RA))(fn(RB)));
489 extended_op_31[6] = power_entry(power_op_lvsl, "lvsl", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
490 extended_op_31[7] = power_entry(power_op_lvebx, "lvebx", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
491 extended_op_31[8] = power_entry(power_op_subfc, "subfc", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
492 extended_op_31[9] = power_entry(power_op_mulhdu, "mulhdu", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
493 extended_op_31[10] = power_entry(power_op_addc, "addc", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
494 extended_op_31[11] = power_entry(power_op_mulhwu, "mulhwu", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
495 extended_op_31[12] = power_entry(power_op_lxsiwzx, "lxsiwzx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
496 extended_op_31[19] = power_entry(power_op_mfcr, "mfcr", NULL, list_of(fn(RT))(fn(Rc)));
497 extended_op_31[20] = power_entry(power_op_lwarx, "lwarx", NULL, list_of(fn(RT))(fn(LX<u32>)));
498 extended_op_31[21] = power_entry(power_op_ldx, "ldx", NULL, list_of(fn(RT))(fn(LX<u64>)));
499 extended_op_31[23] = power_entry(power_op_lwzx, "lwzx", NULL, list_of(fn(RT))(fn(LX<u32>)));
500 extended_op_31[24] = power_entry(power_op_slw, "slw", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
501 extended_op_31[26] = power_entry(power_op_cntlzw, "cntlzw", NULL, list_of(fn(RS))(fn(RA))(fn(Rc)));
502 extended_op_31[27] = power_entry(power_op_sld, "sld", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
503 extended_op_31[28] = power_entry(power_op_and, "and", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
504 extended_op_31[29] = power_entry(power_op_maskg, "maskg", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
505 extended_op_31[32] = power_entry(power_op_cmpl, "cmpl", NULL, list_of(fn(BF))(fn(L))(fn(RA))(fn(RB)));
506 extended_op_31[38] = power_entry(power_op_lvsr, "lvsr", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
507 extended_op_31[39] = power_entry(power_op_lvehx, "lvehx", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
508 extended_op_31[40] = power_entry(power_op_subf, "subf", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
509 extended_op_31[53] = power_entry(power_op_ldux, "ldux", NULL, list_of(fn(RT))(fn(LUX<u64>)));
510 extended_op_31[54] = power_entry(power_op_dcbst, "dcbst", NULL, list_of(fn(RA))(fn(RB)));
511 extended_op_31[55] = power_entry(power_op_lwzux, "lwzux", NULL, list_of(fn(RT))(fn(LUX<u32>)));
512 extended_op_31[58] = power_entry(power_op_cntlzd, "cntlzd", NULL, list_of(fn(RS))(fn(RA))(fn(Rc)));
513 extended_op_31[60] = power_entry(power_op_andc, "andc", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
514 extended_op_31[62] = power_entry(power_op_wait, "wait", NULL, list_of(fn(WC)));
515 extended_op_31[68] = power_entry(power_op_td, "td", NULL, list_of(fn(TO))(fn(RA))(fn(RB)));
516 extended_op_31[70] = power_entry(power_op_qvlpcrdx, "qvlpcrdx", NULL, list_of(fn(QFRTP))(fn(LX<dbl128>)));
517 extended_op_31[71] = power_entry(power_op_lvewx, "lvewx", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
518 extended_op_31[73] = power_entry(power_op_mulhd, "mulhd", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
519 extended_op_31[75] = power_entry(power_op_mulhw, "mulhw", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
520 extended_op_31[78] = power_entry(power_op_lxsiwax, "lxsiwax", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
521 extended_op_31[83] = power_entry(power_op_mfmsr, "mfmsr", NULL, list_of(fn(RT)));
522 extended_op_31[84] = power_entry(power_op_ldarx, "ldarx", NULL, list_of(fn(RT))(fn(LX<u64>)));
523 extended_op_31[86] = power_entry(power_op_dcbf, "dcbf", NULL, list_of(fn(RA))(fn(RB)));
524 extended_op_31[87] = power_entry(power_op_lbzx, "lbzx", NULL, list_of(fn(RT))(fn(LX<u8>)));
525 extended_op_31[103] = power_entry(power_op_lvx, "lvx", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
526 extended_op_31[104] = power_entry(power_op_neg, "neg", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
527 extended_op_31[107] = power_entry(power_op_mul, "mul", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
528 extended_op_31[118] = power_entry(power_op_clf, "clf", NULL, list_of(fn(RA))(fn(RB))(fn(Rc)));
529 extended_op_31[119] = power_entry(power_op_lbzux, "lbzux", NULL, list_of(fn(RT))(fn(LUX<u8>)));
530 extended_op_31[122] = power_entry(power_op_popcntb, "popcntb", NULL, list_of(fn(RS))(fn(RA)));
531 extended_op_31[124] = power_entry(power_op_nor, "nor", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
532 extended_op_31[133] = power_entry(power_op_qvstfcsxi, "qvstfcsxi", NULL,  list_of(fn(QFRSP))(fn(STX<sp_float>)));
533 extended_op_31[135] = power_entry(power_op_stvebx, "stvebx", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
534 extended_op_31[136] = power_entry(power_op_subfe, "subfe", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
535 extended_op_31[138] = power_entry(power_op_adde, "adde", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
536 extended_op_31[140] = power_entry(power_op_stxsiwx, "stxsiwx", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
537 extended_op_31[142] = power_entry(power_op_lfssx, "lfssx", NULL, list_of(fn(FRTS))(fn(LX<u32>)));
538 extended_op_31[144] = power_entry(power_op_mtcrf, "mtcrf", NULL, list_of(fn(RS))(fn(FXM))(fn(Rc)));
539 extended_op_31[149] = power_entry(power_op_stdx, "stdx", NULL, list_of(fn(RS))(fn(STX<u64>)));
540 extended_op_31[150] = power_entry(power_op_stwcx_rc, "stwcx.", NULL, list_of(fn(RS))(fn(STX<u32>)));
541 extended_op_31[151] = power_entry(power_op_stwx, "stwx", NULL, list_of(fn(RS))(fn(STX<u32>)));
542 extended_op_31[152] = power_entry(power_op_slq, "slq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
543 extended_op_31[153] = power_entry(power_op_sle, "sle", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
544 extended_op_31[165] = power_entry(power_op_qvstfcsuxi, "qvstfcsuxi", NULL, list_of(fn(QFRSP))(fn(STUX<sp_float>)));
545 extended_op_31[167] = power_entry(power_op_stvehx, "stvehx", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
546 extended_op_31[174] = power_entry(power_op_lfssux, "lfssux", NULL, list_of(fn(FRTS))(fn(LUX<u32>)));
547 extended_op_31[181] = power_entry(power_op_stdux, "stdux", NULL, list_of(fn(RS))(fn(STUX<u64>)));
548 extended_op_31[183] = power_entry(power_op_stwux, "stwux", NULL, list_of(fn(RS))(fn(STUX<u32>)));
549 extended_op_31[184] = power_entry(power_op_sliq, "sliq", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
550 extended_op_31[197] = power_entry(power_op_qvstfcdxi, "qvstfcdxi", NULL, list_of(fn(QFRSP))(fn(STX<dbl128>)));
551 extended_op_31[199] = power_entry(power_op_stvewx, "stvewx", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
552 extended_op_31[202] = power_entry(power_op_addze, "addze", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
553 extended_op_31[206] = power_entry(power_op_lfsdx, "lfsdx", NULL, list_of(fn(FRTS))(fn(LX<dbl128>)));
554 extended_op_31[214] = power_entry(power_op_stdcx_rc, "stdcx.", NULL, list_of(fn(RS))(fn(STX<u64>)));
555 extended_op_31[215] = power_entry(power_op_stbx, "stbx", NULL, list_of(fn(RS))(fn(STX<u8>)));
556 extended_op_31[216] = power_entry(power_op_sllq, "sllq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
557 extended_op_31[217] = power_entry(power_op_sleq, "sleq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
558 extended_op_31[229] = power_entry(power_op_qvstfcduxi, "qvstfcduxi", NULL, list_of(fn(QFRSP))(fn(STUX<dbl128>)));
559 extended_op_31[231] = power_entry(power_op_stvx, "stvx", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
560 extended_op_31[232] = power_entry(power_op_subfme, "subfme", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
561 extended_op_31[233] = power_entry(power_op_mulld, "mulld", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
562 extended_op_31[234] = power_entry(power_op_addme, "addme", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
563 extended_op_31[235] = power_entry(power_op_mullw, "mullw", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
564 extended_op_31[238] = power_entry(power_op_lfsdux, "lfsdux", NULL, list_of(fn(FRTS))(fn(LUX<dbl128>)));
565 extended_op_31[246] = power_entry(power_op_dcbtst, "dcbtst", NULL, list_of(fn(RA))(fn(RB)));
566 extended_op_31[247] = power_entry(power_op_stbux, "stbux", NULL, list_of(fn(RS))(fn(STUX<u8>)));
567 extended_op_31[248] = power_entry(power_op_slliq, "slliq", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
568 extended_op_31[264] = power_entry(power_op_doz, "doz", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
569 extended_op_31[266] = power_entry(power_op_add, "add", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
570 extended_op_31[268] = power_entry(power_op_lxvx, "lxvx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
571 extended_op_31[269] = power_entry(power_op_lxvl, "lxvl", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
572 extended_op_31[270] = power_entry(power_op_lfxsx, "lfxsx", NULL, list_of(fn(FRTP))(fn(LX<dp_float>)));
573 extended_op_31[277] = power_entry(power_op_lscbx, "lscbx", NULL, list_of(fn(RT))(fn(LX<u8>))(fn(Rc)));
574 extended_op_31[278] = power_entry(power_op_dcbt, "dcbt", NULL, list_of(fn(RA))(fn(RB)));
575 extended_op_31[279] = power_entry(power_op_lhzx, "lhzx", NULL, list_of(fn(RT))(fn(LX<u16>)));
576 extended_op_31[284] = power_entry(power_op_eqv, "eqv", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
577 extended_op_31[300] = power_entry(power_op_lxvx, "lxvx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
578 extended_op_31[301] = power_entry(power_op_lxvll, "lxvll", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
579 extended_op_31[302] = power_entry(power_op_lfxsux, "lfxsux", NULL, list_of(fn(FRTP))(fn(LUX<dp_float>)));
580 extended_op_31[306] = power_entry(power_op_tlbie, "tlbie", NULL, list_of(fn(RB)));
581 extended_op_31[310] = power_entry(power_op_eciwx, "eciwx", NULL, list_of(fn(RT))(fn(RA))(fn(RB)));
582 extended_op_31[316] = power_entry(power_op_xor, "xor", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
583 extended_op_31[311] = power_entry(power_op_lhzux, "lhzux", NULL, list_of(fn(RT))(fn(LUX<u16>)));
584 extended_op_31[332] = power_entry(power_op_lxvdsx, "lxvdsx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
585 extended_op_31[334] = power_entry(power_op_lfxdx, "lfxdx", NULL, list_of(fn(FRTP))(fn(LX<dbl128>)));
586 extended_op_31[339] = power_entry(power_op_mfspr, "mfspr", NULL, list_of(fn(RT))(fn(spr))(fn(Rc)));
587 extended_op_31[341] = power_entry(power_op_lwax, "lwax", NULL, list_of(fn(RT))(fn(LX<u32>)));
588 extended_op_31[343] = power_entry(power_op_lhax, "lhax", NULL, list_of(fn(RT))(fn(LX<u16>)));
589 extended_op_31[359] = power_entry(power_op_lvxl, "lvxl", NULL, list_of(fn(VRT))(fn(RA))(fn(RB)));
590 extended_op_31[360] = power_entry(power_op_abs, "abs", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
591 extended_op_31[363] = power_entry(power_op_divs, "divs", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
592 extended_op_31[364] = power_entry(power_op_lxvwsx, "lxvwsx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
593 extended_op_31[366] = power_entry(power_op_lfxdux, "lfxdux", NULL, list_of(fn(FRTP))(fn(LUX<dbl128>)));
594
595 // xop 371 is mftb (Move from time base). It is phased-out and equivalent to mfspr Rx, 268
596 extended_op_31[371] = power_entry(power_op_mfspr, "mfspr", NULL, list_of(fn(RT))(fn(spr))(fn(Rc)));
597 extended_op_31[373] = power_entry(power_op_lwaux, "lwaux", NULL, list_of(fn(RT))(fn(LUX<u32>)));
598 extended_op_31[375] = power_entry(power_op_lhaux, "lhaux", NULL, list_of(fn(RT))(fn(LUX<u16>)));
599 extended_op_31[378] = power_entry(power_op_popcntw, "popcntw", NULL, list_of(fn(RS))(fn(RA)));
600 extended_op_31[396] = power_entry(power_op_stxvx, "stxvx", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
601 extended_op_31[397] = power_entry(power_op_stxvl, "stxvl", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
602 extended_op_31[398] = power_entry(power_op_lfpsx, "lfpsx", NULL, list_of(fn(FRTP))(fn(LX<sp_float>)));
603 extended_op_31[407] = power_entry(power_op_sthx, "sthx", NULL, list_of(fn(RS))(fn(STX<u16>)));
604 extended_op_31[412] = power_entry(power_op_orc, "orc", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
605 extended_op_31[413] = power_entry(power_op_sradi, "sradi", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
606 extended_op_31[429] = power_entry(power_op_stxvll, "stxvll", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
607 extended_op_31[430] = power_entry(power_op_lfpsux, "lfpsux", NULL, list_of(fn(FRTP))(fn(LUX<sp_float>)));
608 extended_op_31[438] = power_entry(power_op_ecowx, "ecowx", NULL, list_of(fn(RS))(fn(RA))(fn(RB)));
609 extended_op_31[439] = power_entry(power_op_sthux, "sthux", NULL, list_of(fn(RS))(fn(STUX<u16>)));
610 extended_op_31[444] = power_entry(power_op_or, "or", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
611 extended_op_31[457] = power_entry(power_op_divdu, "divdu", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
612 extended_op_31[459] = power_entry(power_op_divwu, "divwu", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
613 extended_op_31[462] = power_entry(power_op_lfpdx, "lfpdx", NULL, list_of(fn(FRTP))(fn(LX<dbl128>)));
614 extended_op_31[467] = power_entry(power_op_mtspr, "mtspr", NULL, list_of(fn(RS))(fn(spr))(fn(Rc)));
615 extended_op_31[470] = power_entry(power_op_dcbi, "dcbi", NULL, list_of(fn(RA))(fn(RB)));
616 extended_op_31[476] = power_entry(power_op_nand, "nand", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
617 extended_op_31[487] = power_entry(power_op_stvxl, "stvxl", NULL, list_of(fn(VRS))(fn(RA))(fn(RB)));
618 extended_op_31[488] = power_entry(power_op_nabs, "nabs", NULL, list_of(fn(RT))(fn(RA))(fn(OE))(fn(Rc)));
619 extended_op_31[489] = power_entry(power_op_divd, "divd", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
620 extended_op_31[491] = power_entry(power_op_divw, "divw", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(OE))(fn(Rc)));
621 extended_op_31[494] = power_entry(power_op_lfpdux, "lfpdux", NULL, list_of(fn(FRTP))(fn(LUX<dbl128>)));
622 extended_op_31[502] = power_entry(power_op_cli, "cli", NULL, list_of(fn(RA))(fn(RB))(fn(Rc)));
623 extended_op_31[506] = power_entry(power_op_popcntd, "popcntd", NULL, list_of(fn(RS))(fn(RA)));
624 extended_op_31[512] = power_entry(power_op_mcrxr, "mcrxr", NULL, list_of(fn(BF)));
625 extended_op_31[518] = power_entry(power_op_qvlpclsx, "qvlpclsx", NULL, list_of(fn(QFRTP))(fn(LX<sp_float>)));
626 extended_op_31[519] = power_entry(power_op_qvlfsx, "qvlfsx", NULL,  list_of(fn(QFRTP))(fn(LX<sp_float>)));
627 extended_op_31[524] = power_entry(power_op_lxsspx, "lxsspx", NULL,  list_of(fn(XT))(fn(RA))(fn(RB)));
628 extended_op_31[526] = power_entry(power_op_stfpiwx, "stfpiwx", NULL, list_of(fn(FRSP))(fn(STUX<u64>)));
629 extended_op_31[531] = power_entry(power_op_clcs, "clcs", NULL, list_of(fn(RT))(fn(RA))(fn(Rc)));
630 extended_op_31[533] = power_entry(power_op_lswx, "lswx", NULL, list_of(fn(RT))(fn(LX<u8>)));
631 extended_op_31[534] = power_entry(power_op_lwbrx, "lwbrx", NULL, list_of(fn(RT))(fn(LX<u32>)));
632 extended_op_31[535] = power_entry(power_op_lfsx, "lfsx", NULL, list_of(fn(FRT))(fn(LX<sp_float>)));
633 extended_op_31[536] = power_entry(power_op_srw, "srw", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
634 extended_op_31[537] = power_entry(power_op_rrib, "rrib", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
635 extended_op_31[539] = power_entry(power_op_srd, "srd", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
636 extended_op_31[541] = power_entry(power_op_maskir, "maskir", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
637 extended_op_31[551] = power_entry(power_op_qvlfsux, "qvlfsux", NULL, list_of(fn(QFRTP))(fn(LUX<sp_float>)));
638 extended_op_31[566] = power_entry(power_op_tlbsync, "tlbsync", NULL, operandSpec());
639 extended_op_31[567] = power_entry(power_op_lfsux, "lfsux", NULL, list_of(fn(FRT))(fn(LUX<sp_float>)));
640 extended_op_31[582] = power_entry(power_op_qvlpcldx, "qvlpcldx", NULL, list_of(fn(QFRTP))(fn(LX<dbl128>)));
641 extended_op_31[583] = power_entry(power_op_qvlfdx, "qvlfdx", NULL, list_of(fn(QFRTP))(fn(LX<dbl128>)));
642
643 // fn(STU<u64>) = RA+DS
644 extended_op_31[588] = power_entry(power_op_lxsdx, "lxsdx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
645
646 extended_op_31[595] = power_entry(power_op_mfsr, "mfsr", NULL, list_of(fn(RT))(fn(SR)));
647 extended_op_31[597] = power_entry(power_op_lswi, "lswi", NULL, list_of(fn(RT))(fn(L<u8>))(fn(NB)));
648 extended_op_31[598] = power_entry(power_op_sync, "sync", NULL, operandSpec());
649 extended_op_31[599] = power_entry(power_op_lfdx, "lfdx", NULL, list_of(fn(FRT))(fn(LX<dp_float>)));
650 extended_op_31[615] = power_entry(power_op_qvlfdux, "qvlfdux", NULL, list_of(fn(QFRTP))(fn(LUX<dbl128>)));
651 extended_op_31[627] = power_entry(power_op_mfsri, "mfsri", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
652 extended_op_31[630] = power_entry(power_op_dclst, "dclst", NULL, list_of(fn(RA))(fn(RB))(fn(Rc)));
653 extended_op_31[631] = power_entry(power_op_lfdux, "lfdux", NULL, list_of(fn(FRT))(fn(LUX<dp_float>)));
654 extended_op_31[645] = power_entry(power_op_qvstfsxi, "qvstfsxi", NULL, list_of(fn(QFRSP))(fn(STX<sp_float>)));
655 extended_op_31[647] = power_entry(power_op_qvstfsx, "qvstfsx", NULL, list_of(fn(QFRSP))(fn(STX<sp_float>)));
656 extended_op_31[652] = power_entry(power_op_stxsspx, "stxsspx", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
657 extended_op_31[654] = power_entry(power_op_stfssx, "stfssx", NULL, list_of(fn(FRSS))(fn(STX<u32>)));
658 extended_op_31[659] = power_entry(power_op_mfsrin, "mfsrin", NULL, list_of(fn(RT))(fn(RB)));
659 extended_op_31[661] = power_entry(power_op_stswx, "stswx", NULL, list_of(fn(RS))(fn(STX<u8>)));
660 extended_op_31[662] = power_entry(power_op_stwbrx, "stwbrx", NULL, list_of(fn(RS))(fn(STX<u32>)));
661 extended_op_31[663] = power_entry(power_op_stfsx, "stfsx", NULL, list_of(fn(FRS))(fn(STX<sp_float>)));
662 extended_op_31[664] = power_entry(power_op_srq, "srq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
663 extended_op_31[665] = power_entry(power_op_sre, "sre", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
664 extended_op_31[679] = power_entry(power_op_qvstfsux, "qvstfsux", NULL, list_of(fn(QFRSP))(fn(STUX<sp_float>)));
665 extended_op_31[686] = power_entry(power_op_stfssux, "stfssux", NULL, list_of(fn(FRSS))(fn(STUX<u32>)));
666 extended_op_31[695] = power_entry(power_op_stfsux, "stfsux", NULL, list_of(fn(FRS))(fn(STUX<sp_float>)));
667 extended_op_31[696] = power_entry(power_op_sriq, "sriq", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
668 extended_op_31[709] = power_entry(power_op_qvstfdxi, "qvstfdxi", NULL, list_of(fn(QFRSP))(fn(STX<dbl128>)));
669 extended_op_31[711] = power_entry(power_op_qvstfdx, "qvstfdx", NULL, list_of(fn(QFRSP))(fn(STX<dbl128>)));
670 extended_op_31[716] = power_entry(power_op_stxsdx, "stxsdx", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
671 extended_op_31[718] = power_entry(power_op_stfsdx, "stfsdx", NULL, list_of(fn(FRSS))(fn(STX<u32>)));
672 extended_op_31[725] = power_entry(power_op_stswi, "stswi", NULL, list_of(fn(RS))(fn(ST<u8>))(fn(NB)));
673 extended_op_31[727] = power_entry(power_op_stfdx, "stfdx", NULL, list_of(fn(FRS))(fn(STX<dp_float>)));
674 extended_op_31[728] = power_entry(power_op_srlq, "srlq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
675 extended_op_31[729] = power_entry(power_op_sreq, "sreq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
676 extended_op_31[741] = power_entry(power_op_qvlstduxi, "qvstfduxi", NULL, list_of(fn(QFRSP))(fn(STUX<dbl128>)));
677 extended_op_31[743] = power_entry(power_op_qvlstdux, "qvstfdux", NULL, list_of(fn(QFRSP))(fn(STUX<dbl128>)));
678 extended_op_31[750] = power_entry(power_op_stfsdux, "stfsdux", NULL, list_of(fn(FRSS))(fn(STUX<u32>)));
679 extended_op_31[759] = power_entry(power_op_stfdux, "stfdux", NULL, list_of(fn(FRS))(fn(STUX<dp_float>)));
680 extended_op_31[760] = power_entry(power_op_srliq, "srliq", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
681 extended_op_31[780] = power_entry(power_op_lxvw4x, "lxvw4x", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
682 extended_op_31[781] = power_entry(power_op_lxsibzx, "lxsibzx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
683 extended_op_31[782] = power_entry(power_op_stfxsx, "stfxsx", NULL, list_of(fn(FRSP))(fn(STX<u64>)));
684 extended_op_31[790] = power_entry(power_op_lhbrx, "lhbrx", NULL, list_of(fn(RT))(fn(LX<u16>)));
685 extended_op_31[791] = power_entry(power_op_lfqx, "lfqx", NULL, list_of(fn(FRT))(fn(LX<dbl128>))(fn(Rc)));
686 extended_op_31[792] = power_entry(power_op_sraw, "sraw", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
687 extended_op_31[794] = power_entry(power_op_srad, "srad", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
688 extended_op_31[812] = power_entry(power_op_lxvh8x, "lxvh8x", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
689 extended_op_31[813] = power_entry(power_op_lxsihzx, "lxsihzx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
690 extended_op_31[813] = power_entry(power_op_lxsihzx, "lxsihzx", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
691 extended_op_31[814] = power_entry(power_op_stfxsux, "stfxsux", NULL, list_of(fn(FRSP))(fn(STUX<u64>)));
692 extended_op_31[818] = power_entry(power_op_rac, "rac", NULL, list_of(fn(RT))(fn(RA))(fn(RB))(fn(Rc)));
693 extended_op_31[823] = power_entry(power_op_lfqux, "lfqux", NULL, list_of(fn(FRT))(fn(LUX<dbl128>))(fn(Rc)));
694 extended_op_31[824] = power_entry(power_op_srawi, "srawi", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
695 extended_op_31[839] = power_entry(power_op_qvlfiwzx, "qvlfiwzx", NULL, list_of(fn(QFRTP))(fn(LX<u32>)));
696 extended_op_31[844] = power_entry(power_op_lxvd2x, "lxvd2x", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
697 extended_op_31[846] = power_entry(power_op_stfxdx, "stfxdx", NULL, list_of(fn(FRSP))(fn(STX<dbl128>)));
698 extended_op_31[854] = power_entry(power_op_eieio, "eieio", NULL, operandSpec());
699 extended_op_31[871] = power_entry(power_op_qvlfiwax, "qvlfiwax", NULL, list_of(fn(QFRTP))(fn(LX<u32>)));
700 extended_op_31[876] = power_entry(power_op_lxvb16x, "lxvb16x", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
701 extended_op_31[878] = power_entry(power_op_stfxdux, "stfxdux", NULL, list_of(fn(FRSP))(fn(STUX<dbl128>)));
702 extended_op_31[908] = power_entry(power_op_stxvw4x, "stxvw4x", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
703 extended_op_31[909] = power_entry(power_op_stxsibx, "stxsibx", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
704 extended_op_31[910] = power_entry(power_op_stfpsx, "stfpsx", NULL, list_of(fn(FRSP))(fn(STX<u32>)));
705 extended_op_31[918] = power_entry(power_op_sthbrx, "sthbrx", NULL, list_of(fn(RS))(fn(STX<u16>)));
706 extended_op_31[919] = power_entry(power_op_stfqx, "stfqx", NULL, list_of(fn(FRS))(fn(STX<dbl128>))(fn(Rc)));
707 extended_op_31[920] = power_entry(power_op_sraq, "sraq", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
708 extended_op_31[921] = power_entry(power_op_srea, "srea", NULL, list_of(fn(RS))(fn(RA))(fn(RB))(fn(Rc)));
709 extended_op_31[922] = power_entry(power_op_extsh, "extsh", NULL, list_of(fn(RS))(fn(RA))(fn(OE))(fn(Rc)));
710 extended_op_31[940] = power_entry(power_op_stxvh8x, "stxvh8x", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
711 extended_op_31[941] = power_entry(power_op_stxsihx, "stxsihx", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
712 extended_op_31[942] = power_entry(power_op_stfpsux, "stfpsux", NULL, list_of(fn(FRSP))(fn(STUX<u32>)));
713 extended_op_31[951] = power_entry(power_op_stfqux, "stfqux", NULL, list_of(fn(FRS))(fn(STUX<dbl128>))(fn(Rc)));
714 extended_op_31[952] = power_entry(power_op_sraiq, "sraiq", NULL, list_of(fn(RS))(fn(RA))(fn(SH))(fn(Rc)));
715 extended_op_31[954] = power_entry(power_op_extsb, "extsb", NULL, list_of(fn(RS))(fn(RA))(fn(Rc)));
716 extended_op_31[967] = power_entry(power_op_qvstfiwx, "qvstfiwx", NULL, list_of(fn(QFRSP))(fn(STX<u32>)));
717 extended_op_31[972] = power_entry(power_op_stxsibx, "stxvd2x", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
718 extended_op_31[974] = power_entry(power_op_stfpdx, "stfpdx", NULL, list_of(fn(FRSP))(fn(STX<dbl128>)));
719 extended_op_31[978] = power_entry(power_op_tlbld, "tlbld", NULL, list_of(fn(RB)));
720 extended_op_31[982] = power_entry(power_op_icbi, "icbi", NULL, list_of(fn(RA))(fn(RB)));
721 extended_op_31[983] = power_entry(power_op_stfiwx, "stfiwx", NULL, list_of(fn(FRS))(fn(STX<u32>)));
722 extended_op_31[986] = power_entry(power_op_extsw, "extsw", NULL, list_of(fn(RS))(fn(RA))(fn(Rc)));
723 //extended_op_31[1004] = power_entry(power_op_stxvb16x, "stxvb16x", NULL, list_of(fn(XS))(fn(RA))(fn(RB)));
724 extended_op_31[1006] = power_entry(power_op_stfpdux, "stfpdux", NULL, list_of(fn(FRSP))(fn(STUX<dbl128>)));
725 extended_op_31[1010] = power_entry(power_op_tlbli, "tlbli", NULL, list_of(fn(RB)));
726 extended_op_31[1014] = power_entry(power_op_dcbz, "dcbz", NULL, list_of(fn(RA))(fn(RB)));
727
728 //new extended opcode added by Yuhan
729 extended_op_57[2] = power_entry(power_op_lxsd, "lxsd", NULL, list_of(fn(VRT))(fn(STU<u64>)));
730 extended_op_57[3] = power_entry(power_op_lxssp, "lxssp", NULL, list_of(fn(VRT))(fn(STU<u64>)));
731
732
733 extended_op_58[0] = power_entry(power_op_ld, "ld", NULL, list_of(fn(RT))(fn(L<u64>)));
734 extended_op_58[1] = power_entry(power_op_ldu, "ldu", NULL, list_of(fn(RT))(fn(LU<u64>)));
735 extended_op_58[2] = power_entry(power_op_lwa, "lwa", NULL, list_of(fn(RT))(fn(L<s32>)));
736
737 extended_op_59[18] = power_entry(power_op_fdivs, "fdivs", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
738 extended_op_59[20] = power_entry(power_op_fsubs, "fsubs", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
739 extended_op_59[21] = power_entry(power_op_fadds, "fadds", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
740 extended_op_59[22] = power_entry(power_op_fsqrts, "fsqrts", NULL, list_of(fn(setFPMode))(fn(RT))(fn(RB))(fn(Rc)));
741 extended_op_59[24] = power_entry(power_op_fres, "fres", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
742 extended_op_59[25] = power_entry(power_op_fmuls, "fmuls", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRC))(fn(Rc)));
743 extended_op_59[28] = power_entry(power_op_fmsubs, "fmsubs", NULL,
744 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
745 extended_op_59[29] = power_entry(power_op_fmadds, "fmadds", NULL,
746 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
747 extended_op_59[30] = power_entry(power_op_fnmsubs, "fnmsubs", NULL,
748 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
749 extended_op_59[31] = power_entry(power_op_fnmadds, "fnmadds", NULL,
750 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
751
752 //Yuhan: new extended opcode
753     extended_op_60[0] = power_entry(power_op_xsaddsp, "xsaddsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
754 extended_op_60[1] = power_entry(power_op_xsaddsp, "xsaddsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
755 extended_op_60[2] = power_entry(power_op_xsmaddasp, "xsmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
756 extended_op_60[3] = power_entry(power_op_xsmaddasp, "xsmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
757 extended_op_60[6] = power_entry(power_op_xscmpeqdp, "xscmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
758 extended_op_60[7] = power_entry(power_op_xscmpeqdp, "xscmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
759 extended_op_60[10] = power_entry(power_op_xsrsqrtesp, "xsrsqrtesp", NULL, list_of(fn(XT))(fn(XB)));
760 extended_op_60[11] = power_entry(power_op_xssqrtsp, "xssqrtsp", NULL, list_of(fn(XT))(fn(XB)));
761 extended_op_60[16] = power_entry(power_op_xssubsp, "xssubsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
762 extended_op_60[17] = power_entry(power_op_xssubsp, "xssubsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
763 extended_op_60[18] = power_entry(power_op_xsmaddmsp, "xsmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
764 extended_op_60[19] = power_entry(power_op_xsmaddmsp, "xsmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
765 extended_op_60[22] = power_entry(power_op_xscmpgtdp, "xscmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
766 extended_op_60[23] = power_entry(power_op_xscmpgtdp, "xscmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
767 extended_op_60[26] = power_entry(power_op_xsresp, "xsresp", NULL, list_of(fn(XT))(fn(XB)));
768 extended_op_60[32] = power_entry(power_op_xsmulsp, "xsmulsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
769 extended_op_60[33] = power_entry(power_op_xsmulsp, "xsmulsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
770 extended_op_60[34] = power_entry(power_op_xsmsubasp, "xsmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
771 extended_op_60[35] = power_entry(power_op_xsmsubasp, "xsmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
772 extended_op_60[36] = power_entry(power_op_xxmrghw, "xxmrghw", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
773 extended_op_60[37] = power_entry(power_op_xxmrghw, "xxmrghw", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
774 extended_op_60[38] = power_entry(power_op_xscmpgedp, "xscmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
775 extended_op_60[39] = power_entry(power_op_xscmpgedp, "xscmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
776 extended_op_60[48] = power_entry(power_op_xsdivsp, "xsdivsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
777 extended_op_60[49] = power_entry(power_op_xsdivsp, "xsdivsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
778 extended_op_60[50] = power_entry(power_op_xsmsubmsp, "xsmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
779 extended_op_60[51] = power_entry(power_op_xsmsubmsp, "xsmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
780 extended_op_60[52] = power_entry(power_op_xxperm, "xxperm", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
781 extended_op_60[53] = power_entry(power_op_xxperm, "xxperm", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
782 extended_op_60[64] = power_entry(power_op_xsadddp, "xsadddp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
783 extended_op_60[65] = power_entry(power_op_xsadddp, "xsadddp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
784 extended_op_60[66] = power_entry(power_op_xsmaddadp, "xsmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
785 extended_op_60[67] = power_entry(power_op_xsmaddadp, "xsmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
786 extended_op_60[70] = power_entry(power_op_xscmpudp, "xscmpudp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
787 extended_op_60[71] = power_entry(power_op_xscmpudp, "xscmpudp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
788 extended_op_60[72] = power_entry(power_op_xscvdpuxws, "xscvdpuxws", NULL, list_of(fn(XT))(fn(XB)));
789 extended_op_60[74] = power_entry(power_op_xsrsqrtedp, "xsrsqrtedp", NULL, list_of(fn(XT))(fn(XB)));
790 extended_op_60[75] = power_entry(power_op_xssqrtdp, "xssqrtdp", NULL, list_of(fn(XT))(fn(XB)));
791 extended_op_60[78] = power_entry(power_op_xsrdpi, "xsrdpi", NULL, list_of(fn(XT))(fn(XB)));
792 extended_op_60[80] = power_entry(power_op_xssubdp, "xssubdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
793 extended_op_60[81] = power_entry(power_op_xssubdp, "xssubdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
794 extended_op_60[82] = power_entry(power_op_xsmaddmdp, "xsmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
795 extended_op_60[83] = power_entry(power_op_xsmaddmdp, "xsmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
796 extended_op_60[86] = power_entry(power_op_xscmpodp, "xscmpodp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
797 extended_op_60[87] = power_entry(power_op_xscmpodp, "xscmpodp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
798 extended_op_60[88] = power_entry(power_op_xscvdpsxws, "xscvdpsxws", NULL, list_of(fn(XT))(fn(XB)));
799 extended_op_60[89] = power_entry(power_op_xsrdpiz, "xsrdpiz", NULL, list_of(fn(XT))(fn(XB)));
800 extended_op_60[90] = power_entry(power_op_xsredp, "xsredp", NULL, list_of(fn(XT))(fn(XB)));
801 extended_op_60[96] = power_entry(power_op_xsmuldp, "xsmuldp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
802 extended_op_60[97] = power_entry(power_op_xsmuldp, "xsmuldp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
803 extended_op_60[98] = power_entry(power_op_xsmsubadp, "xsmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
804 extended_op_60[99] = power_entry(power_op_xsmsubadp, "xsmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
805 extended_op_60[100] = power_entry(power_op_xxmrglw, "xxmrglw", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
806 extended_op_60[101] = power_entry(power_op_xxmrglw, "xxmrglw", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
807 extended_op_60[105] = power_entry(power_op_xsrdpip, "xsrdpip", NULL, list_of(fn(XT))(fn(XB)));
808 extended_op_60[106] = power_entry(power_op_xstsqrtdp, "xstsqrtdp", NULL, list_of(fn(BF))(fn(XB)));
809 extended_op_60[107] = power_entry(power_op_xsrdpic, "xsrdpic", NULL, list_of(fn(XT))(fn(XB)));
810 extended_op_60[112] = power_entry(power_op_xsdivdp, "xsdivdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
811 extended_op_60[113] = power_entry(power_op_xsdivdp, "xsdivdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
812 extended_op_60[114] = power_entry(power_op_xsmsubmdp, "xsmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
813 extended_op_60[115] = power_entry(power_op_xsmsubmdp, "xsmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
814 extended_op_60[116] = power_entry(power_op_xxpermr, "xxpermr", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
815 extended_op_60[117] = power_entry(power_op_xxpermr, "xxpermr", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
816 extended_op_60[118] = power_entry(power_op_xscmpexpdp, "xscmpexpdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
817 extended_op_60[119] = power_entry(power_op_xscmpexpdp, "xscmpexpdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
818 extended_op_60[121] = power_entry(power_op_xsrdpim, "xsrdpim", NULL, list_of(fn(XT))(fn(XB)));
819 extended_op_60[122] = power_entry(power_op_xstdivdp, "xstdivdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
820 extended_op_60[123] = power_entry(power_op_xstdivdp, "xstdivdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
821 extended_op_60[128] = power_entry(power_op_xvaddsp, "xvaddsp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
822 extended_op_60[129] = power_entry(power_op_xvaddsp, "xvaddsp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
823 extended_op_60[130] = power_entry(power_op_xvmaddasp, "xvmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
824 extended_op_60[131] = power_entry(power_op_xvmaddasp, "xvmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
825 extended_op_60[134] = power_entry(power_op_xvcmpeqsp, "xvcmpeqsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
826 extended_op_60[135] = power_entry(power_op_xvcmpeqsp, "xvcmpeqsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
827 extended_op_60[136] = power_entry(power_op_xvcvspuxws, "xvcvspuxws", NULL, list_of(fn(XT))(fn(XB)));
828 extended_op_60[137] = power_entry(power_op_xvrspi, "xvrspi", NULL, list_of(fn(XT))(fn(XB)));
829 extended_op_60[138] = power_entry(power_op_xvrsqrtesp, "xvrsqrtesp",  NULL, list_of(fn(XT))(fn(XB)));
830 extended_op_60[139] = power_entry(power_op_xvsqrtsp, "xvsqrtsp", NULL, list_of(fn(XT))(fn(XB)));
831 extended_op_60[144] = power_entry(power_op_xvsubsp, "xvsubsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
832 extended_op_60[145] = power_entry(power_op_xvsubsp, "xvsubsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
833 extended_op_60[146] = power_entry(power_op_xvmaddmsp, "xvmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
834 extended_op_60[147] = power_entry(power_op_xvmaddmsp, "xvmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
835 extended_op_60[150] = power_entry(power_op_xvcmpgtsp, "xvcmpgtsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
836 extended_op_60[151] = power_entry(power_op_xvcmpgtsp, "xvcmpgtsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
837 extended_op_60[152] = power_entry(power_op_xvcvspsxws, "xvcvspsxws", NULL, list_of(fn(XT))(fn(XB)));
838 extended_op_60[153] = power_entry(power_op_xvrspiz, "xvrspiz", NULL, list_of(fn(XT))(fn(XB)));
839 extended_op_60[154] = power_entry(power_op_xvresp, "xvresp", NULL, list_of(fn(XT))(fn(XB)));
840 extended_op_60[160] = power_entry(power_op_xvmulsp, "xvmulsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
841 extended_op_60[161] = power_entry(power_op_xvmulsp, "xvmulsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
842 extended_op_60[162] = power_entry(power_op_xvmsubasp, "xvmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
843 extended_op_60[164] = power_entry(power_op_xxspltw, "xxspltw", NULL, list_of(fn(XT))(fn(XB))(fn(UIM)));
844 extended_op_60[165] = power_entry(power_op_xxextractuw, "xxextractuw", NULL, list_of(fn(XT))(fn(XB))(fn(UIM)));
845 extended_op_60[166] = power_entry(power_op_xvcmpgesp, "xvcmpgesp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
846 extended_op_60[167] = power_entry(power_op_xvcmpgesp, "xvcmpgesp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
847 extended_op_60[168] = power_entry(power_op_xvcvuxwsp, "xvcvuxwsp", NULL, list_of(fn(XT))(fn(XB)));
848 extended_op_60[169] = power_entry(power_op_xvrspip, "xvrspip", NULL, list_of(fn(XT))(fn(XB)));
849 extended_op_60[170] = power_entry(power_op_xvtsqrtsp, "xvtsqrtsp", NULL, list_of(fn(BF))(fn(XB)));
850 extended_op_60[171] = power_entry(power_op_xvrspic, "xvrspic", NULL, list_of(fn(XT))(fn(XB)));
851 extended_op_60[178] = power_entry(power_op_xvmsubmsp, "xvmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
852 extended_op_60[181] = power_entry(power_op_xxinsertw, "xxextractuw", NULL, list_of(fn(XT))(fn(XB))(fn(UIM)));
853 extended_op_60[184] = power_entry(power_op_xvcvsxwsp, "xvcvsxwsp", NULL, list_of(fn(XT))(fn(XB)));
854 extended_op_60[185] = power_entry(power_op_xvrspim, "xvrspim", NULL, list_of(fn(XT))(fn(XB)));
855 extended_op_60[186] = power_entry(power_op_xvdivsp, "xvdivsp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
856 extended_op_60[187] = power_entry(power_op_xvdivsp, "xvdivsp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
857 extended_op_60[192] = power_entry(power_op_xvadddp, "xvadddp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
858 extended_op_60[193] = power_entry(power_op_xvadddp, "xvadddp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
859 extended_op_60[194] = power_entry(power_op_xvmaddadp, "xvmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
860 extended_op_60[195] = power_entry(power_op_xvmaddadp, "xvmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
861 extended_op_60[198] = power_entry(power_op_xvcmpeqdp, "xvcmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
862 extended_op_60[199] = power_entry(power_op_xvcmpeqdp, "xvcmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
863 extended_op_60[200] = power_entry(power_op_xvcvdpuxws, "xvcvdpuxws", NULL, list_of(fn(XT))(fn(XB)));
864 extended_op_60[201] = power_entry(power_op_xvrdpi, "xvrdpi", NULL, list_of(fn(XT))(fn(XB)));
865 extended_op_60[202] = power_entry(power_op_xvrsqrtedp, "xvrsqrteds", NULL, list_of(fn(XT))(fn(XB)));
866 extended_op_60[203] = power_entry(power_op_xvsqrtdp, "xvsqrtdp", NULL, list_of(fn(XT))(fn(XB)));
867 extended_op_60[208] = power_entry(power_op_xvsubdp, "xvsubdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
868 extended_op_60[209] = power_entry(power_op_xvsubdp, "xvsubdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
869 extended_op_60[210] = power_entry(power_op_xvmaddmdp, "xvmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
870 extended_op_60[211] = power_entry(power_op_xvmaddmdp, "xvmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
871 extended_op_60[214] = power_entry(power_op_xvcmpgtdp, "xvcmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
872 extended_op_60[215] = power_entry(power_op_xvcmpgtdp, "xvcmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
873 extended_op_60[216] = power_entry(power_op_xvcvdpsxws, "xvcvdpsxws", NULL, list_of(fn(XT))(fn(XB)));
874 extended_op_60[217] = power_entry(power_op_xvrdpiz, "xvrdpiz", NULL, list_of(fn(XT))(fn(XB)));
875 extended_op_60[218] = power_entry(power_op_xvredp, "xvredp", NULL, list_of(fn(XT))(fn(XB)));
876 extended_op_60[224] = power_entry(power_op_xvmuldp, "xvmuldp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
877 extended_op_60[226] = power_entry(power_op_xvmsubadp, "xvmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
878 extended_op_60[227] = power_entry(power_op_xvmsubadp, "xvmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
879 extended_op_60[230] = power_entry(power_op_xvcmpgedp, "xvcmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
880 extended_op_60[231] = power_entry(power_op_xvcmpgedp, "xvcmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
881 extended_op_60[232] = power_entry(power_op_xvcvuxwdp, "xvcvuxwdp", NULL, list_of(fn(XT))(fn(XB)));
882 extended_op_60[233] = power_entry(power_op_xvrdpip, "xvrdpip", NULL, list_of(fn(XT))(fn(XB)));
883 extended_op_60[234] = power_entry(power_op_xvtsqrtdp, "xvtsqrtdp", NULL, list_of(fn(BF))(fn(XB)));
884 extended_op_60[235] = power_entry(power_op_xvrdpic, "xvrdpic", NULL, list_of(fn(XT))(fn(XB)));
885 extended_op_60[240] = power_entry(power_op_xvdivdp, "xvdivdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
886 extended_op_60[241] = power_entry(power_op_xvdivdp, "xvdivdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
887 extended_op_60[242] = power_entry(power_op_xvmsubmdp, "xvmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
888 extended_op_60[243] = power_entry(power_op_xvmsubmdp, "xvmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
889 extended_op_60[248] = power_entry(power_op_xvcvsxwdp, "xvcvsxwdp", NULL, list_of(fn(XT))(fn(XB)));
890 extended_op_60[249] = power_entry(power_op_xvrdpim, "xvrdpim", NULL, list_of(fn(XT))(fn(XB)));
891 extended_op_60[250] = power_entry(power_op_xvtdivdp, "xvtdivdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
892 extended_op_60[251] = power_entry(power_op_xvtdivdp, "xvtdivdp", NULL, list_of(fn(BF))(fn(XA))(fn(XB)));
893 extended_op_60[256] = power_entry(power_op_xsmaxcdp, "xsmaxcdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
894 extended_op_60[257] = power_entry(power_op_xsmaxcdp, "xsmaxcdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
895 extended_op_60[258] = power_entry(power_op_xsnmaddasp, "xsnmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
896 extended_op_60[259] = power_entry(power_op_xsnmaddasp, "xsnmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
897 extended_op_60[260] = power_entry(power_op_xxland, "xxland", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
898 extended_op_60[261] = power_entry(power_op_xxland, "xxland", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
899 extended_op_60[265] = power_entry(power_op_xscvdpsp, "xscvdpsp", NULL, list_of(fn(XT))(fn(XB)));
900 extended_op_60[267] = power_entry(power_op_xscvdpspn, "xscvdpspn", NULL, list_of(fn(XT))(fn(XB)));
901 extended_op_60[272] = power_entry(power_op_xsmincdp, "xsmincdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
902 extended_op_60[273] = power_entry(power_op_xsmincdp, "xsmincdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
903 extended_op_60[274] = power_entry(power_op_xsnmaddmsp, "xsnmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
904 extended_op_60[275] = power_entry(power_op_xsnmaddmsp, "xsnmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
905 extended_op_60[276] = power_entry(power_op_xxlandc, "xxlandc", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
906 extended_op_60[277] = power_entry(power_op_xxlandc, "xxlandc", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
907 extended_op_60[281] = power_entry(power_op_xsrsp, "xsrsp", NULL, list_of(fn(XT))(fn(XB)));
908 extended_op_60[288] = power_entry(power_op_xsmaxjdp, "xsmaxjdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
909 extended_op_60[289] = power_entry(power_op_xsmaxjdp, "xsmaxjdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
910 extended_op_60[290] = power_entry(power_op_xsnmsubasp, "xsnmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
911 extended_op_60[291] = power_entry(power_op_xsnmsubasp, "xsnmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
912 extended_op_60[292] = power_entry(power_op_xxlor, "xxlor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
913 extended_op_60[293] = power_entry(power_op_xxlor, "xxlor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
914 extended_op_60[296] = power_entry(power_op_xscvuxdsp, "xscvuxdsp", NULL, list_of(fn(XT))(fn(XB)));
915 extended_op_60[298] = power_entry(power_op_xststdcsp, "xststdcsp", NULL, list_of(fn(BF))(fn(DCMX))(fn(XB)));
916 extended_op_60[304] = power_entry(power_op_xsminjdp, "xsminjdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
917 extended_op_60[305] = power_entry(power_op_xsminjdp, "xsminjdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
918 extended_op_60[306] = power_entry(power_op_xsnmsubmsp, "xsnmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
919 extended_op_60[307] = power_entry(power_op_xsnmsubmsp, "xsnmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
920 extended_op_60[308] = power_entry(power_op_xxlxor, "xxlxor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
921 extended_op_60[309] = power_entry(power_op_xxlxor, "xxlxor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
922 extended_op_60[312] = power_entry(power_op_xscvsxdsp, "xscvsxdsp", NULL, list_of(fn(XT))(fn(XB)));
923 extended_op_60[320] = power_entry(power_op_xsmaxdp, "xsmaxdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
924 extended_op_60[321] = power_entry(power_op_xsmaxdp, "xsmaxdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
925 extended_op_60[322] = power_entry(power_op_xsnmaddadp, "xsnmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
926 extended_op_60[323] = power_entry(power_op_xsnmaddadp, "xsnmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
927 extended_op_60[324] = power_entry(power_op_xxlnor, "xxlnor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
928 extended_op_60[325] = power_entry(power_op_xxlnor, "xxlnor", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
929 extended_op_60[328] = power_entry(power_op_xscmpexpdp, "xscmpexpdp", NULL, list_of(fn(BF))(fn(XB)));
930 extended_op_60[329] = power_entry(power_op_xscvspdp, "xscvspdp", NULL, list_of(fn(XT))(fn(XB)));
931 extended_op_60[331] = power_entry(power_op_xscvspdpn, "xscvspdpn", NULL, list_of(fn(XT))(fn(XB)));
932 extended_op_60[336] = power_entry(power_op_xsmindp, "xsmindp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
933 extended_op_60[337] = power_entry(power_op_xsmindp, "xsmindp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
934 extended_op_60[338] = power_entry(power_op_xsnmaddmdp, "xsnmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
935 extended_op_60[339] = power_entry(power_op_xsnmaddmdp, "xsnmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
936 extended_op_60[340] = power_entry(power_op_xxlorc, "xxlorc", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
937 extended_op_60[341] = power_entry(power_op_xxlorc, "xxlorc", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
938 extended_op_60[344] = power_entry(power_op_xscvdpsxds, "xscvdpsxds", NULL, list_of(fn(XT))(fn(XB)));
939 extended_op_60[345] = power_entry(power_op_xsabsdp, "xsabsdp", NULL, list_of(fn(XT))(fn(XB)));
940 extended_op_60[352] = power_entry(power_op_xscpsgndp, "xscpsgndp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
941 extended_op_60[353] = power_entry(power_op_xscpsgndp, "xscpsgndp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
942 extended_op_60[354] = power_entry(power_op_xsnmsubadp, "xsnmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
943 extended_op_60[355] = power_entry(power_op_xsnmsubadp, "xsnmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
944 extended_op_60[356] = power_entry(power_op_xxlnand, "xxlnand", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
945 extended_op_60[357] = power_entry(power_op_xxlnand, "xxlnand", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
946 extended_op_60[370] = power_entry(power_op_xsnmsubmdp, "xsnmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
947 extended_op_60[371] = power_entry(power_op_xsnmsubmdp, "xsnmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
948 extended_op_60[372] = power_entry(power_op_xxleqv, "xxleqv", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
949 extended_op_60[373] = power_entry(power_op_xxleqv, "xxleqv", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
950 extended_op_60[382] = power_entry(power_op_xvnmaddasp, "xvnmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
951 extended_op_60[383] = power_entry(power_op_xvnmaddasp, "xvnmaddasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
952 extended_op_60[384] = power_entry(power_op_xvmaxsp, "xvmaxsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
953 extended_op_60[390] = power_entry(power_op_xvcmpeqsp, "xvcmpeqsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
954 extended_op_60[391] = power_entry(power_op_xvcmpeqsp, "xvcmpeqsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
955 extended_op_60[400] = power_entry(power_op_xvminsp, "xvminsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
956 extended_op_60[401] = power_entry(power_op_xvminsp, "xvminsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
957 extended_op_60[402] = power_entry(power_op_xvnmaddmsp, "xvnmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
958 extended_op_60[403] = power_entry(power_op_xvnmaddmsp, "xvnmaddmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
959 extended_op_60[406] = power_entry(power_op_xvcmpgtsp, "xvcmpgtsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
960 extended_op_60[407] = power_entry(power_op_xvcmpgtsp, "xvcmpgtsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
961 extended_op_60[416] = power_entry(power_op_xvcpsgnsp, "xvcpsgnsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
962 extended_op_60[417] = power_entry(power_op_xvcpsgnsp, "xvcpsgnsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
963 extended_op_60[422] = power_entry(power_op_xvcmpgesp, "xvcmpgesp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
964 extended_op_60[423] = power_entry(power_op_xvcmpgesp, "xvcmpgesp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
965 extended_op_60[424] = power_entry(power_op_xvcvuxdsp, "xvcvuxdsp", NULL, list_of(fn(XT))(fn(XB)));
966 extended_op_60[425] = power_entry(power_op_xvnabssp, "xvnabssp", NULL, list_of(fn(XT))(fn(XB)));
967 extended_op_60[432] = power_entry(power_op_xviexpsp, "xviexpsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
968 extended_op_60[433] = power_entry(power_op_xviexpsp, "xviexpsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
969 extended_op_60[440] = power_entry(power_op_xvcvsxdsp, "xvcvsxdsp", NULL, list_of(fn(XT))(fn(XB)));
970 extended_op_60[441] = power_entry(power_op_xvnegsp, "xscvuxdsp", NULL, list_of(fn(XT))(fn(XB)));
971 extended_op_60[448] = power_entry(power_op_xvmaxdp, "xvmaxdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
972 extended_op_60[449] = power_entry(power_op_xvmaxdp, "xvmaxdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
973 extended_op_60[450] = power_entry(power_op_xvnmaddadp, "xvnmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
974 extended_op_60[451] = power_entry(power_op_xvnmaddadp, "xvnmaddadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
975 extended_op_60[454] = power_entry(power_op_xvcmpeqdp, "xvcmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
976 extended_op_60[455] = power_entry(power_op_xvcmpeqdp, "xvcmpeqdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
977 extended_op_60[464] = power_entry(power_op_xvmindp, "xvmindp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
978 extended_op_60[466] = power_entry(power_op_xvnmaddmdp, "xvnmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
979 extended_op_60[467] = power_entry(power_op_xvnmaddmdp, "xvnmaddmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
980 extended_op_60[470] = power_entry(power_op_xvcmpgtdp, "xvcmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
981 extended_op_60[471] = power_entry(power_op_xvcmpgtdp, "xvcmpgtdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
982 extended_op_60[480] = power_entry(power_op_xvcpsgndp, "xvcpsgndp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
983 extended_op_60[481] = power_entry(power_op_xvcpsgndp, "xvcpsgndp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
984 extended_op_60[482] = power_entry(power_op_xvnmsubadp, "xvnmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
985 extended_op_60[483] = power_entry(power_op_xvnmsubadp, "xvnmsubadp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
986 extended_op_60[486] = power_entry(power_op_xvcmpgedp, "xvcmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
987 extended_op_60[487] = power_entry(power_op_xvcmpgedp, "xvcmpgedp", NULL, list_of(fn(XT))(fn(XA))(fn(XB))(fn(Rc)));
988 extended_op_60[488] = power_entry(power_op_xvcvuxddp, "xvcvuxddp", NULL, list_of(fn(XT))(fn(XB)));
989 extended_op_60[489] = power_entry(power_op_xvnabsdp, "xvnabsdp", NULL, list_of(fn(XT))(fn(XB)));
990 extended_op_60[496] = power_entry(power_op_xviexpdp, "xviexpdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
991 extended_op_60[497] = power_entry(power_op_xviexpdp, "xviexpdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
992 extended_op_60[498] = power_entry(power_op_xvnmsubmdp, "xvnmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
993 extended_op_60[499] = power_entry(power_op_xvnmsubmdp, "xvnmsubmdp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
994 extended_op_60[504] = power_entry(power_op_xvcvsxddp, "xvcvsxddp", NULL, list_of(fn(XT))(fn(XB)));
995 extended_op_60[505] = power_entry(power_op_xvnegdp, "xvnegdp", NULL, list_of(fn(XT))(fn(XB)));
996 //third level opcode included:
997 //extended_op_60[347] = power_entry(power_op_extended, "extended", fn(extended_op_60_347), operandSpec()));
998 extended_op_60[360] = power_entry(power_op_xscvuxddp, "xscvuxddp", NULL, list_of(fn(XT))(fn(XB)));
999 extended_op_60[361] = power_entry(power_op_xsnabsdp, "xsnabsdp", NULL, list_of(fn(XT))(fn(XB)));
1000 extended_op_60[362] = power_entry(power_op_xststdcdp, "xststdcdp", NULL, list_of(fn(BF))(fn(DCMX))(fn(XB)));
1001 extended_op_60[376] = power_entry(power_op_xscvsxddp, "xscvsxddp", NULL, list_of(fn(XT))(fn(XB)));
1002 extended_op_60[377] = power_entry(power_op_xsnegdp, "xsnegdp", NULL, list_of(fn(XT))(fn(XB)));
1003 extended_op_60[392] = power_entry(power_op_xvcvspuxds, "xvcvspuxds", NULL, list_of(fn(XT))(fn(XB)));
1004 extended_op_60[393] = power_entry(power_op_xvcvdpsp, "xvcvdpsp", NULL, list_of(fn(XT))(fn(XB)));
1005 extended_op_60[408] = power_entry(power_op_xvcvspsxds, "xvcvspsxds", NULL, list_of(fn(XT))(fn(XB)));
1006 extended_op_60[409] = power_entry(power_op_xvabssp, "xvabssp", NULL, list_of(fn(XT))(fn(XB)));
1007 extended_op_60[418] = power_entry(power_op_xvnmsubasp, "xvnmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
1008 extended_op_60[419] = power_entry(power_op_xvnmsubasp, "xvnmsubasp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
1009 extended_op_60[426] = power_entry(power_op_xvtstdcsp, "xvtstdcsp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1010 extended_op_60[427] = power_entry(power_op_xvtstdcsp, "xvtstdcsp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1011 extended_op_60[434] = power_entry(power_op_xvnmsubmsp, "xvnmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
1012 extended_op_60[435] = power_entry(power_op_xvnmsubmsp, "xvnmsubmsp", NULL, list_of(fn(XT))(fn(XA))(fn(XB)));
1013 extended_op_60[442] = power_entry(power_op_xvtstdcsp, "xvtstdcsp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1014 extended_op_60[443] = power_entry(power_op_xvtstdcsp, "xvtstdcsp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1015 extended_op_60[456] = power_entry(power_op_xvcvdpuxds, "xvcvdpuxds", NULL, list_of(fn(XT))(fn(XB)));
1016 extended_op_60[457] = power_entry(power_op_xvcvspdp, "xvcvspdp", NULL, list_of(fn(XT))(fn(XB)));
1017 extended_op_60[459] = power_entry(power_op_xsiexpdp, "xsiexpdp", NULL, list_of(fn(XT))(fn(RA))(fn(RB)));
1018 extended_op_60[472] = power_entry(power_op_xvcvdpsxds, "xvcvdpsxds", NULL, list_of(fn(XT))(fn(XB)));
1019 extended_op_60[473] = power_entry(power_op_xvabsdp, "xvabsdp", NULL, list_of(fn(XT))(fn(XB)));
1020 //extended_op_60[475] = power_entry(power_op_extended, "extended", fn(extended_op_60_475), operandSpec()));
1021 extended_op_60[490] = power_entry(power_op_xvtstdcdp, "xvtstdcdp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1022 extended_op_60[491] = power_entry(power_op_xvtstdcdp, "xvtstdcdp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1023 extended_op_60[506] = power_entry(power_op_xvtstdcdp, "xvtstdcdp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1024 extended_op_60[507] = power_entry(power_op_xvtstdcdp, "xvtstdcdp", NULL, list_of(fn(XT))(fn(XB))(fn(DCMX)));
1025
1026                 extended_op_61[2] = power_entry(power_op_stxsd, "stxsd", NULL, list_of(fn(VRS))(fn(STU<u64>)));
1027                 extended_op_61[3] = power_entry(power_op_stxssp, "stxssp", NULL, list_of(fn(VRS))(fn(STU<u64>)));
1028         
1029     
1030                 extended_op_63[0] = power_entry(power_op_fcmpu, "fcmpu", NULL, list_of(fn(setFPMode))(fn(BF))(fn(FRA))(fn(FRB)));
1031
1032 extended_op_63[4] = power_entry(power_op_xsaddqp, "xsaddqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1033 extended_op_63[5] = power_entry(power_op_xsrqpi, "xsrqpi", NULL, list_of(fn(R))(fn(VRT))(fn(VRB))(fn(RMC))(fn(EX)));
1034 extended_op_63[12] = power_entry(power_op_frsp, "frsp", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1035 extended_op_63[14] = power_entry(power_op_fctiw, "fctiw", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1036 extended_op_63[15] = power_entry(power_op_fctiwz, "fctiwz", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1037 extended_op_63[18] = power_entry(power_op_fdiv, "fdiv", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
1038 extended_op_63[20] = power_entry(power_op_fsub, "fsub", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
1039 extended_op_63[21] = power_entry(power_op_fadd, "fadd", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(Rc)));
1040 extended_op_63[22] = power_entry(power_op_fsqrt, "fsqrt", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1041 extended_op_63[23] = power_entry(power_op_fsel, "fsel", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
1042 extended_op_63[25] = power_entry(power_op_fmul, "fmul", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRC))(fn(Rc)));
1043 extended_op_63[26] = power_entry(power_op_frsqrte, "frsqrte", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1044 extended_op_63[28] = power_entry(power_op_fmsub, "fmsub", NULL,
1045 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
1046 extended_op_63[29] = power_entry(power_op_fmadd, "fmadd", NULL,
1047 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
1048 extended_op_63[30] = power_entry(power_op_fnmsub, "fnmsub", NULL,
1049 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
1050 extended_op_63[31] = power_entry(power_op_fnmadd, "fnmadd", NULL,
1051 list_of(fn(setFPMode))(fn(FRT))(fn(FRA))(fn(FRB))(fn(FRC))(fn(Rc)));
1052 extended_op_63[32] = power_entry(power_op_fcmpo, "fcmpo", NULL, list_of(fn(setFPMode))(fn(BF))(fn(FRA))(fn(FRB)));
1053 extended_op_63[36] = power_entry(power_op_xsmulqp, "xsmulqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1054 //extended_op_63[37] = power_entry(power_op_xsrqpxp, "xsrqpxp", NULL, list_of((fn(R))fn(VRT))(fn(VRB))(fn(RMC)));
1055 extended_op_63[38] = power_entry(power_op_mtfsb1, "mtfsb1", NULL, list_of(fn(setFPMode))(fn(BT))(fn(Rc)));
1056 extended_op_63[40] = power_entry(power_op_fneg, "fneg", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1057 extended_op_63[64] = power_entry(power_op_mcrfs, "mcrfs", NULL, list_of(fn(BF))(fn(BFA)));
1058 extended_op_63[70] = power_entry(power_op_mtfsb0, "mtfsb0", NULL, list_of(fn(BT))(fn(Rc)));
1059 extended_op_63[72] = power_entry(power_op_fmr, "fmr", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1060 extended_op_63[132] = power_entry(power_op_xscmpoqp, "xscmpoqp", NULL, list_of(fn(BF))(fn(VRA))(fn(VRB)));
1061 extended_op_63[134] = power_entry(power_op_mtfsfi, "mtfsfi", NULL, list_of(fn(BF))(fn(U))(fn(Rc)));
1062 extended_op_63[136] = power_entry(power_op_fnabs, "fnabs", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB)));
1063 extended_op_63[164] = power_entry(power_op_xscmpexpqp, "xscmpexpqp", NULL, list_of(fn(BF))(fn(VRA))(fn(VRB)));
1064 extended_op_63[264] = power_entry(power_op_fabs, "fabs", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1065 extended_op_63[388] = power_entry(power_op_xsmaddqp, "xsmaddqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1066 extended_op_63[420] = power_entry(power_op_xsmsubqp, "xsmsubqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1067 extended_op_63[452] = power_entry(power_op_xsnmaddqp, "xsnmaddqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1068 extended_op_63[484] = power_entry(power_op_xsnmsubqp, "xsnmsubqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1069 extended_op_63[516] = power_entry(power_op_xssubqp, "xssubqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1070 //extended_op_63[548] = power_entry(power_op_xsdivqp, "xsdivqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB))(fn(RO)));
1071 extended_op_63[583] = power_entry(power_op_mffs, "mffs", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(Rc)));
1072 extended_op_63[644] = power_entry(power_op_xscmpuqp, "xscmpuqp", NULL, list_of(fn(BF))(fn(VRA))(fn(VRB)));
1073 extended_op_63[708] = power_entry(power_op_xststdcqp, "xststdcqp", NULL, list_of(fn(BF))(fn(DCMX))(fn(VRB)));
1074 extended_op_63[711] = power_entry(power_op_mtfsf, "mtfsf", NULL, list_of(fn(setFPMode))(fn(FLM))(fn(FRB))(fn(Rc)));
1075
1076 //third level opcode included
1077 //extended_op_63[804] = power_entry(power_op_extended, "extended", fn(extended_op_63_804), operandSpec()));
1078
1079 extended_op_63[814] = power_entry(power_op_fctid, "fctid", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1080 extended_op_63[815] = power_entry(power_op_fctidz, "fctidz", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1081 //extended_op_63[836] = power_entry(power_op_extended, "extended", fn(extended_op_63_836), operandSpec()));
1082 extended_op_63[846] = power_entry(power_op_fcfid, "fcfid", NULL, list_of(fn(setFPMode))(fn(FRT))(fn(FRB))(fn(Rc)));
1083 extended_op_63[868] = power_entry(power_op_xsiexpqp, "xsiexpqp", NULL, list_of(fn(VRT))(fn(VRA))(fn(VRB)));
1084
1085 //-------------------------
1086 //Third level opcode follows:
1087 /*  
1088
1089                 extended_op_4_1538[6] = power_entry(power_op_vnegw, "vnegw", NULL, list_of(fn(VRT))(fn(VRB)));
1090 extended_op_4_1538[7] = power_entry(power_op_vnegd, "vnegd", NULL, list_of(fn(VRT))(fn(VRB)));
1091 extended_op_4_1538[16] = power_entry(power_op_vextsb2w, "vextsb2w", NULL, list_of(fn(VRT))(fn(VRB)));
1092 extended_op_4_1538[17] = power_entry(power_op_vextsh2w, "vextsh2w", NULL, list_of(fn(VRT))(fn(VRB)));
1093 extended_op_4_1538[24] = power_entry(power_op_vextsb2d, "vextsb2d", NULL, list_of(fn(VRT))(fn(VRB)));
1094 extended_op_4_1538[25] = power_entry(power_op_vextsh2d, "vextsh2d", NULL, list_of(fn(VRT))(fn(VRB)));
1095 extended_op_4_1538[26] = power_entry(power_op_vextsw2d, "vextsw2d", NULL, list_of(fn(VRT))(fn(VRB)));
1096
1097                 extended_op_60_347[0] = power_entry(power_op_xsxexpdp, "xsxexpdp", NULL, list_of(fn(RT))(fn(XB)));
1098 extended_op_60_347[1] = power_entry(power_op_xsxsigdp, "xsxsigdp", NULL, list_of(fn(RT))(fn(XB)));
1099 extended_op_60_347[16] = power_entry(power_op_xscvdphp, "xscvhpdp", NULL, list_of(fn(XT))(fn(XB)));
1100 extended_op_60_347[17] = power_entry(power_op_xscvhphp, "xscvdphp", NULL, list_of(fn(XT))(fn(XB)));
1101
1102
1103     extended_op_60_475[0] = power_entry(power_op_xvxexpdp, "xvxexpdp", NULL, list_of(fn(XT))(fn(XB)));
1104 extended_op_60_475[1] = power_entry(power_op_xvxsigdp, "xvxsigdp", NULL, list_of(fn(XT))(fn(XB)));
1105 extended_op_60_475[7] = power_entry(power_op_xxbrh, "xxbrh", NULL, list_of(fn(XT))(fn(XB)));
1106 extended_op_60_475[8] = power_entry(power_op_xvxexpsp, "xvxexpsp", NULL, list_of(fn(XT))(fn(XB)));
1107 extended_op_60_475[9] = power_entry(power_op_xvxsigsp, "xvxsigsp", NULL, list_of(fn(XT))(fn(XB)));
1108 extended_op_60_475[15] = power_entry(power_op_xxbrw, "xxbrw", NULL, list_of(fn(XT))(fn(XB)));
1109 extended_op_60_475[23] = power_entry(power_op_xxbrd, "xxbrd", NULL, list_of(fn(XT))(fn(XB)));
1110 extended_op_60_475[24] = power_entry(power_op_xvcvhpsp, "xvcvhpsp", NULL, list_of(fn(XT))(fn(XB)));
1111 extended_op_60_475[25] = power_entry(power_op_xvcvsphp, "xvcvsphp", NULL, list_of(fn(XT))(fn(XB)));
1112 extended_op_60_475[31] = power_entry(power_op_xxbrq, "xxbrq", NULL, list_of(fn(XT))(fn(XB)));
1113
1114     extended_op_63_804[0] = power_entry(power_op_xsabsqp, "xsabsqp", list_of(fn(VRT))(fn(VRB)));
1115 extended_op_63_804[2] = power_entry(power_op_xsxexpqp, "xsxexpqp", list_of(fn(VRT))(fn(VRB)));
1116 extended_op_63_804[16] = power_entry(power_op_xsnegqp, "xsnegqp", list_of(fn(VRT))(fn(VRB)));
1117 extended_op_63_804[18] = power_entry(power_op_xsxsigqp, "xsxsigqp", list_of(fn(VRT))(fn(VRB)));
1118 extended_op_63_804[27] = power_entry(power_op_xssqrtqp, "xssqrtqp", list_of(fn(VRT))(fn(VRB))(fn(RO)));
1119
1120     extended_op_63_836[1] = power_entry(power_op_xscvqpuwz, "xscvqpuwz", list_of(fn(VRT))(fn(VRB)));
1121 extended_op_63_836[2] = power_entry(power_op_xscvudqp, "xscvudqp", list_of(fn(VRT))(fn(VRB)));
1122 extended_op_63_836[9] = power_entry(power_op_xscvqpswz, "xscvqpswz", list_of(fn(VRT))(fn(VRB)));
1123 extended_op_63_836[10] = power_entry(power_op_xscvsdqp, "xscvsdqp", list_of(fn(VRT))(fn(VRB)));
1124 extended_op_63_836[17] = power_entry(power_op_xscvqpudz "xscvqpudz", list_of(fn(VRT))(fn(VRB)));
1125 extended_op_63_836[20] = power_entry(power_op_xscvqpdp, "xscvqpdp", list_of(fn(VRT))(fn(VRB))(fn(RO)));
1126 extended_op_63_836[22] = power_entry(power_op_xscvdpqp, "xscvdpqp", list_of(fn(VRT))(fn(VRB)));
1127 extended_op_63_836[25] = power_entry(power_op_xscvqpsdz, "xscvqpsdz", list_of(fn(VRT))(fn(VRB)));
1128 */
1129
1130
1131 built_tables = true;
1132 }