dis_tables_xop.inc 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. /////////////////////////////////////////////////////////////////////////
  2. // $Id: dis_tables_xop.inc 11863 2013-10-07 19:23:19Z sshwarts $
  3. /////////////////////////////////////////////////////////////////////////
  4. //
  5. // Copyright (c) 2011-2013 Stanislav Shwartsman
  6. // Written by Stanislav Shwartsman [sshwarts at sourceforge net]
  7. //
  8. // This library is free software; you can redistribute it and/or
  9. // modify it under the terms of the GNU Lesser General Public
  10. // License as published by the Free Software Foundation; either
  11. // version 2 of the License, or (at your option) any later version.
  12. //
  13. // This library is distributed in the hope that it will be useful,
  14. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. // Lesser General Public License for more details.
  17. //
  18. // You should have received a copy of the GNU Lesser General Public
  19. // License along with this library; if not, write to the Free Software
  20. // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  21. //
  22. /////////////////////////////////////////////////////////////////////////
  23. static BxDisasmOpcodeTable_t BxDisasmGroupXOP_G1[8] = {
  24. /* 0 */ { 0, &Ia_Invalid },
  25. /* 1 */ { 0, &Ia_blcfill_By_Ey },
  26. /* 2 */ { 0, &Ia_blsfill_By_Ey },
  27. /* 3 */ { 0, &Ia_blcs_By_Ey },
  28. /* 4 */ { 0, &Ia_tzmsk_By_Ey },
  29. /* 5 */ { 0, &Ia_blcic_By_Ey },
  30. /* 6 */ { 0, &Ia_blsic_By_Ey },
  31. /* 7 */ { 0, &Ia_t1mskc_By_Ey }
  32. };
  33. static BxDisasmOpcodeTable_t BxDisasmGroupXOP_G2[8] = {
  34. /* 0 */ { 0, &Ia_Invalid },
  35. /* 1 */ { 0, &Ia_blcmsk_By_Ey },
  36. /* 2 */ { 0, &Ia_Invalid },
  37. /* 3 */ { 0, &Ia_Invalid },
  38. /* 4 */ { 0, &Ia_Invalid },
  39. /* 5 */ { 0, &Ia_Invalid },
  40. /* 6 */ { 0, &Ia_blci_By_Ey },
  41. /* 7 */ { 0, &Ia_Invalid }
  42. };
  43. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop8_a2[2] = {
  44. /* 0 */ { 0, &Ia_vpcmov_Vdq_Hdq_Wdq_VIb },
  45. /* 1 */ { 0, &Ia_vpcmov_Vdq_Hdq_VIb_Wdq }
  46. };
  47. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop8_a3[2] = {
  48. /* 0 */ { 0, &Ia_vpperm_Vdq_Hdq_Wdq_VIb },
  49. /* 1 */ { 0, &Ia_vpperm_Vdq_Hdq_VIb_Wdq }
  50. };
  51. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_88[2] = {
  52. /* 0 */ { 0, &Ia_vpshab_Vdq_Wdq_Hdq },
  53. /* 1 */ { 0, &Ia_vpshab_Vdq_Hdq_Wdq }
  54. };
  55. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_89[2] = {
  56. /* 0 */ { 0, &Ia_vpshaw_Vdq_Wdq_Hdq },
  57. /* 1 */ { 0, &Ia_vpshaw_Vdq_Hdq_Wdq }
  58. };
  59. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_8a[2] = {
  60. /* 0 */ { 0, &Ia_vpshad_Vdq_Wdq_Hdq },
  61. /* 1 */ { 0, &Ia_vpshad_Vdq_Hdq_Wdq }
  62. };
  63. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_8b[2] = {
  64. /* 0 */ { 0, &Ia_vpshaq_Vdq_Wdq_Hdq },
  65. /* 1 */ { 0, &Ia_vpshaq_Vdq_Hdq_Wdq }
  66. };
  67. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_90[2] = {
  68. /* 0 */ { 0, &Ia_vprotb_Vdq_Wdq_Hdq },
  69. /* 1 */ { 0, &Ia_vprotb_Vdq_Hdq_Wdq }
  70. };
  71. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_91[2] = {
  72. /* 0 */ { 0, &Ia_vprotw_Vdq_Wdq_Hdq },
  73. /* 1 */ { 0, &Ia_vprotw_Vdq_Hdq_Wdq }
  74. };
  75. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_92[2] = {
  76. /* 0 */ { 0, &Ia_vprotd_Vdq_Wdq_Hdq },
  77. /* 1 */ { 0, &Ia_vprotd_Vdq_Hdq_Wdq }
  78. };
  79. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_93[2] = {
  80. /* 0 */ { 0, &Ia_vprotq_Vdq_Wdq_Hdq },
  81. /* 1 */ { 0, &Ia_vprotq_Vdq_Hdq_Wdq }
  82. };
  83. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_94[2] = {
  84. /* 0 */ { 0, &Ia_vpshlb_Vdq_Wdq_Hdq },
  85. /* 1 */ { 0, &Ia_vpshlb_Vdq_Hdq_Wdq }
  86. };
  87. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_95[2] = {
  88. /* 0 */ { 0, &Ia_vpshlw_Vdq_Wdq_Hdq },
  89. /* 1 */ { 0, &Ia_vpshlw_Vdq_Hdq_Wdq }
  90. };
  91. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_96[2] = {
  92. /* 0 */ { 0, &Ia_vpshld_Vdq_Wdq_Hdq },
  93. /* 1 */ { 0, &Ia_vpshld_Vdq_Hdq_Wdq }
  94. };
  95. static BxDisasmOpcodeTable_t BxDisasmGrpVexW_xop9_97[2] = {
  96. /* 0 */ { 0, &Ia_vpshlq_Vdq_Wdq_Hdq },
  97. /* 1 */ { 0, &Ia_vpshlq_Vdq_Hdq_Wdq }
  98. };
  99. static BxDisasmOpcodeTable_t BxDisasmOpcodesXOP[256*3] = {
  100. // 256 entries for XOP map 0x8 opcodes
  101. /* 00 */ { 0, &Ia_Invalid },
  102. /* 01 */ { GRPN(XOP_G1) },
  103. /* 02 */ { GRPN(XOP_G2) },
  104. /* 03 */ { 0, &Ia_Invalid },
  105. /* 04 */ { 0, &Ia_Invalid },
  106. /* 05 */ { 0, &Ia_Invalid },
  107. /* 06 */ { 0, &Ia_Invalid },
  108. /* 07 */ { 0, &Ia_Invalid },
  109. /* 08 */ { 0, &Ia_Invalid },
  110. /* 09 */ { 0, &Ia_Invalid },
  111. /* 0A */ { 0, &Ia_Invalid },
  112. /* 0B */ { 0, &Ia_Invalid },
  113. /* 0C */ { 0, &Ia_Invalid },
  114. /* 0D */ { 0, &Ia_Invalid },
  115. /* 0E */ { 0, &Ia_Invalid },
  116. /* 0F */ { 0, &Ia_Invalid },
  117. /* 10 */ { 0, &Ia_Invalid },
  118. /* 11 */ { 0, &Ia_Invalid },
  119. /* 12 */ { 0, &Ia_Invalid },
  120. /* 13 */ { 0, &Ia_Invalid },
  121. /* 14 */ { 0, &Ia_Invalid },
  122. /* 15 */ { 0, &Ia_Invalid },
  123. /* 16 */ { 0, &Ia_Invalid },
  124. /* 17 */ { 0, &Ia_Invalid },
  125. /* 18 */ { 0, &Ia_Invalid },
  126. /* 19 */ { 0, &Ia_Invalid },
  127. /* 1A */ { 0, &Ia_Invalid },
  128. /* 1B */ { 0, &Ia_Invalid },
  129. /* 1C */ { 0, &Ia_Invalid },
  130. /* 1D */ { 0, &Ia_Invalid },
  131. /* 1E */ { 0, &Ia_Invalid },
  132. /* 1F */ { 0, &Ia_Invalid },
  133. /* 20 */ { 0, &Ia_Invalid },
  134. /* 21 */ { 0, &Ia_Invalid },
  135. /* 22 */ { 0, &Ia_Invalid },
  136. /* 23 */ { 0, &Ia_Invalid },
  137. /* 24 */ { 0, &Ia_Invalid },
  138. /* 25 */ { 0, &Ia_Invalid },
  139. /* 26 */ { 0, &Ia_Invalid },
  140. /* 27 */ { 0, &Ia_Invalid },
  141. /* 28 */ { 0, &Ia_Invalid },
  142. /* 29 */ { 0, &Ia_Invalid },
  143. /* 2A */ { 0, &Ia_Invalid },
  144. /* 2B */ { 0, &Ia_Invalid },
  145. /* 2C */ { 0, &Ia_Invalid },
  146. /* 2D */ { 0, &Ia_Invalid },
  147. /* 2E */ { 0, &Ia_Invalid },
  148. /* 2F */ { 0, &Ia_Invalid },
  149. /* 30 */ { 0, &Ia_Invalid },
  150. /* 31 */ { 0, &Ia_Invalid },
  151. /* 32 */ { 0, &Ia_Invalid },
  152. /* 33 */ { 0, &Ia_Invalid },
  153. /* 34 */ { 0, &Ia_Invalid },
  154. /* 35 */ { 0, &Ia_Invalid },
  155. /* 36 */ { 0, &Ia_Invalid },
  156. /* 37 */ { 0, &Ia_Invalid },
  157. /* 38 */ { 0, &Ia_Invalid },
  158. /* 39 */ { 0, &Ia_Invalid },
  159. /* 3A */ { 0, &Ia_Invalid },
  160. /* 3B */ { 0, &Ia_Invalid },
  161. /* 3C */ { 0, &Ia_Invalid },
  162. /* 3D */ { 0, &Ia_Invalid },
  163. /* 3E */ { 0, &Ia_Invalid },
  164. /* 3F */ { 0, &Ia_Invalid },
  165. /* 40 */ { 0, &Ia_Invalid },
  166. /* 41 */ { 0, &Ia_Invalid },
  167. /* 42 */ { 0, &Ia_Invalid },
  168. /* 43 */ { 0, &Ia_Invalid },
  169. /* 44 */ { 0, &Ia_Invalid },
  170. /* 45 */ { 0, &Ia_Invalid },
  171. /* 46 */ { 0, &Ia_Invalid },
  172. /* 47 */ { 0, &Ia_Invalid },
  173. /* 48 */ { 0, &Ia_Invalid },
  174. /* 49 */ { 0, &Ia_Invalid },
  175. /* 4A */ { 0, &Ia_Invalid },
  176. /* 4B */ { 0, &Ia_Invalid },
  177. /* 4C */ { 0, &Ia_Invalid },
  178. /* 4D */ { 0, &Ia_Invalid },
  179. /* 4E */ { 0, &Ia_Invalid },
  180. /* 4F */ { 0, &Ia_Invalid },
  181. /* 50 */ { 0, &Ia_Invalid },
  182. /* 51 */ { 0, &Ia_Invalid },
  183. /* 52 */ { 0, &Ia_Invalid },
  184. /* 53 */ { 0, &Ia_Invalid },
  185. /* 54 */ { 0, &Ia_Invalid },
  186. /* 55 */ { 0, &Ia_Invalid },
  187. /* 56 */ { 0, &Ia_Invalid },
  188. /* 57 */ { 0, &Ia_Invalid },
  189. /* 58 */ { 0, &Ia_Invalid },
  190. /* 59 */ { 0, &Ia_Invalid },
  191. /* 5A */ { 0, &Ia_Invalid },
  192. /* 5B */ { 0, &Ia_Invalid },
  193. /* 5C */ { 0, &Ia_Invalid },
  194. /* 5D */ { 0, &Ia_Invalid },
  195. /* 5E */ { 0, &Ia_Invalid },
  196. /* 5F */ { 0, &Ia_Invalid },
  197. /* 60 */ { 0, &Ia_Invalid },
  198. /* 61 */ { 0, &Ia_Invalid },
  199. /* 62 */ { 0, &Ia_Invalid },
  200. /* 63 */ { 0, &Ia_Invalid },
  201. /* 64 */ { 0, &Ia_Invalid },
  202. /* 65 */ { 0, &Ia_Invalid },
  203. /* 66 */ { 0, &Ia_Invalid },
  204. /* 67 */ { 0, &Ia_Invalid },
  205. /* 68 */ { 0, &Ia_Invalid },
  206. /* 69 */ { 0, &Ia_Invalid },
  207. /* 6A */ { 0, &Ia_Invalid },
  208. /* 6B */ { 0, &Ia_Invalid },
  209. /* 6C */ { 0, &Ia_Invalid },
  210. /* 6D */ { 0, &Ia_Invalid },
  211. /* 6E */ { 0, &Ia_Invalid },
  212. /* 6F */ { 0, &Ia_Invalid },
  213. /* 70 */ { 0, &Ia_Invalid },
  214. /* 71 */ { 0, &Ia_Invalid },
  215. /* 72 */ { 0, &Ia_Invalid },
  216. /* 73 */ { 0, &Ia_Invalid },
  217. /* 74 */ { 0, &Ia_Invalid },
  218. /* 75 */ { 0, &Ia_Invalid },
  219. /* 76 */ { 0, &Ia_Invalid },
  220. /* 77 */ { 0, &Ia_Invalid },
  221. /* 78 */ { 0, &Ia_Invalid },
  222. /* 79 */ { 0, &Ia_Invalid },
  223. /* 7A */ { 0, &Ia_Invalid },
  224. /* 7B */ { 0, &Ia_Invalid },
  225. /* 7C */ { 0, &Ia_Invalid },
  226. /* 7D */ { 0, &Ia_Invalid },
  227. /* 7E */ { 0, &Ia_Invalid },
  228. /* 7F */ { 0, &Ia_Invalid },
  229. /* 80 */ { 0, &Ia_Invalid },
  230. /* 81 */ { 0, &Ia_Invalid },
  231. /* 82 */ { 0, &Ia_Invalid },
  232. /* 83 */ { 0, &Ia_Invalid },
  233. /* 84 */ { 0, &Ia_Invalid },
  234. /* 85 */ { 0, &Ia_vpmacssww_Vdq_Hdq_Wdq_VIb },
  235. /* 86 */ { 0, &Ia_vpmacsswd_Vdq_Hdq_Wdq_VIb },
  236. /* 87 */ { 0, &Ia_vpmacssdql_Vdq_Hdq_Wdq_VIb },
  237. /* 88 */ { 0, &Ia_Invalid },
  238. /* 89 */ { 0, &Ia_Invalid },
  239. /* 8A */ { 0, &Ia_Invalid },
  240. /* 8B */ { 0, &Ia_Invalid },
  241. /* 8C */ { 0, &Ia_Invalid },
  242. /* 8D */ { 0, &Ia_Invalid },
  243. /* 8E */ { 0, &Ia_vpmacssdd_Vdq_Hdq_Wdq_VIb },
  244. /* 8F */ { 0, &Ia_vpmacssdqh_Vdq_Hdq_Wdq_VIb },
  245. /* 90 */ { 0, &Ia_Invalid },
  246. /* 91 */ { 0, &Ia_Invalid },
  247. /* 92 */ { 0, &Ia_Invalid },
  248. /* 93 */ { 0, &Ia_Invalid },
  249. /* 94 */ { 0, &Ia_Invalid },
  250. /* 95 */ { 0, &Ia_vpmacsww_Vdq_Hdq_Wdq_VIb },
  251. /* 96 */ { 0, &Ia_vpmacswd_Vdq_Hdq_Wdq_VIb },
  252. /* 97 */ { 0, &Ia_vpmacsdql_Vdq_Hdq_Wdq_VIb },
  253. /* 98 */ { 0, &Ia_Invalid },
  254. /* 99 */ { 0, &Ia_Invalid },
  255. /* 9A */ { 0, &Ia_Invalid },
  256. /* 9B */ { 0, &Ia_Invalid },
  257. /* 9C */ { 0, &Ia_Invalid },
  258. /* 9D */ { 0, &Ia_Invalid },
  259. /* 9E */ { 0, &Ia_vpmacsdd_Vdq_Hdq_Wdq_VIb },
  260. /* 9F */ { 0, &Ia_vpmacsdqh_Vdq_Hdq_Wdq_VIb },
  261. /* A0 */ { 0, &Ia_Invalid },
  262. /* A1 */ { 0, &Ia_Invalid },
  263. /* A2 */ { GRPVEXW(xop8_a2) },
  264. /* A3 */ { GRPVEXW(xop8_a3) },
  265. /* A4 */ { 0, &Ia_Invalid },
  266. /* A5 */ { 0, &Ia_Invalid },
  267. /* A6 */ { 0, &Ia_vpmadcsswd_Vdq_Hdq_Wdq_VIb },
  268. /* A7 */ { 0, &Ia_Invalid },
  269. /* A8 */ { 0, &Ia_Invalid },
  270. /* A9 */ { 0, &Ia_Invalid },
  271. /* AA */ { 0, &Ia_Invalid },
  272. /* AB */ { 0, &Ia_Invalid },
  273. /* AC */ { 0, &Ia_Invalid },
  274. /* AD */ { 0, &Ia_Invalid },
  275. /* AE */ { 0, &Ia_Invalid },
  276. /* AF */ { 0, &Ia_Invalid },
  277. /* B0 */ { 0, &Ia_Invalid },
  278. /* B1 */ { 0, &Ia_Invalid },
  279. /* B2 */ { 0, &Ia_Invalid },
  280. /* B3 */ { 0, &Ia_Invalid },
  281. /* B4 */ { 0, &Ia_Invalid },
  282. /* B5 */ { 0, &Ia_Invalid },
  283. /* B6 */ { 0, &Ia_vpmadcswd_Vdq_Hdq_Wdq_VIb },
  284. /* B7 */ { 0, &Ia_Invalid },
  285. /* B8 */ { 0, &Ia_Invalid },
  286. /* B9 */ { 0, &Ia_Invalid },
  287. /* BA */ { 0, &Ia_Invalid },
  288. /* BB */ { 0, &Ia_Invalid },
  289. /* BC */ { 0, &Ia_Invalid },
  290. /* BD */ { 0, &Ia_Invalid },
  291. /* BE */ { 0, &Ia_Invalid },
  292. /* BF */ { 0, &Ia_Invalid },
  293. /* C0 */ { 0, &Ia_vprotb_Vdq_Wdq_Ib },
  294. /* C1 */ { 0, &Ia_vprotw_Vdq_Wdq_Ib },
  295. /* C2 */ { 0, &Ia_vprotd_Vdq_Wdq_Ib },
  296. /* C3 */ { 0, &Ia_vprotq_Vdq_Wdq_Ib },
  297. /* C4 */ { 0, &Ia_Invalid },
  298. /* C5 */ { 0, &Ia_Invalid },
  299. /* C6 */ { 0, &Ia_Invalid },
  300. /* C7 */ { 0, &Ia_Invalid },
  301. /* C8 */ { 0, &Ia_Invalid },
  302. /* C9 */ { 0, &Ia_Invalid },
  303. /* CA */ { 0, &Ia_Invalid },
  304. /* CB */ { 0, &Ia_Invalid },
  305. /* CC */ { 0, &Ia_vpcomb_Vdq_Hdq_Wdq_Ib },
  306. /* CD */ { 0, &Ia_vpcomw_Vdq_Hdq_Wdq_Ib },
  307. /* CE */ { 0, &Ia_vpcomd_Vdq_Hdq_Wdq_Ib },
  308. /* CF */ { 0, &Ia_vpcomq_Vdq_Hdq_Wdq_Ib },
  309. /* D0 */ { 0, &Ia_Invalid },
  310. /* D1 */ { 0, &Ia_Invalid },
  311. /* D2 */ { 0, &Ia_Invalid },
  312. /* D3 */ { 0, &Ia_Invalid },
  313. /* D4 */ { 0, &Ia_Invalid },
  314. /* D5 */ { 0, &Ia_Invalid },
  315. /* D6 */ { 0, &Ia_Invalid },
  316. /* D7 */ { 0, &Ia_Invalid },
  317. /* D8 */ { 0, &Ia_Invalid },
  318. /* D9 */ { 0, &Ia_Invalid },
  319. /* DA */ { 0, &Ia_Invalid },
  320. /* DB */ { 0, &Ia_Invalid },
  321. /* DC */ { 0, &Ia_Invalid },
  322. /* DD */ { 0, &Ia_Invalid },
  323. /* DE */ { 0, &Ia_Invalid },
  324. /* DF */ { 0, &Ia_Invalid },
  325. /* E0 */ { 0, &Ia_Invalid },
  326. /* E1 */ { 0, &Ia_Invalid },
  327. /* E2 */ { 0, &Ia_Invalid },
  328. /* E3 */ { 0, &Ia_Invalid },
  329. /* E4 */ { 0, &Ia_Invalid },
  330. /* E5 */ { 0, &Ia_Invalid },
  331. /* E6 */ { 0, &Ia_Invalid },
  332. /* E7 */ { 0, &Ia_Invalid },
  333. /* E8 */ { 0, &Ia_Invalid },
  334. /* E9 */ { 0, &Ia_Invalid },
  335. /* EA */ { 0, &Ia_Invalid },
  336. /* EB */ { 0, &Ia_Invalid },
  337. /* EC */ { 0, &Ia_vpcomub_Vdq_Hdq_Wdq_Ib },
  338. /* ED */ { 0, &Ia_vpcomuw_Vdq_Hdq_Wdq_Ib },
  339. /* EE */ { 0, &Ia_vpcomud_Vdq_Hdq_Wdq_Ib },
  340. /* EF */ { 0, &Ia_vpcomuq_Vdq_Hdq_Wdq_Ib },
  341. /* F0 */ { 0, &Ia_Invalid },
  342. /* F1 */ { 0, &Ia_Invalid },
  343. /* F2 */ { 0, &Ia_Invalid },
  344. /* F3 */ { 0, &Ia_Invalid },
  345. /* F4 */ { 0, &Ia_Invalid },
  346. /* F5 */ { 0, &Ia_Invalid },
  347. /* F6 */ { 0, &Ia_Invalid },
  348. /* F7 */ { 0, &Ia_Invalid },
  349. /* F8 */ { 0, &Ia_Invalid },
  350. /* F9 */ { 0, &Ia_Invalid },
  351. /* FA */ { 0, &Ia_Invalid },
  352. /* FB */ { 0, &Ia_Invalid },
  353. /* FC */ { 0, &Ia_Invalid },
  354. /* FD */ { 0, &Ia_Invalid },
  355. /* FE */ { 0, &Ia_Invalid },
  356. /* FF */ { 0, &Ia_Invalid },
  357. // 256 entries for XOP map 0x9 opcodes
  358. /* 00 */ { 0, &Ia_Invalid },
  359. /* 01 */ { 0, &Ia_Invalid },
  360. /* 02 */ { 0, &Ia_Invalid },
  361. /* 03 */ { 0, &Ia_Invalid },
  362. /* 04 */ { 0, &Ia_Invalid },
  363. /* 05 */ { 0, &Ia_Invalid },
  364. /* 06 */ { 0, &Ia_Invalid },
  365. /* 07 */ { 0, &Ia_Invalid },
  366. /* 08 */ { 0, &Ia_Invalid },
  367. /* 09 */ { 0, &Ia_Invalid },
  368. /* 0A */ { 0, &Ia_Invalid },
  369. /* 0B */ { 0, &Ia_Invalid },
  370. /* 0C */ { 0, &Ia_Invalid },
  371. /* 0D */ { 0, &Ia_Invalid },
  372. /* 0E */ { 0, &Ia_Invalid },
  373. /* 0F */ { 0, &Ia_Invalid },
  374. /* 10 */ { 0, &Ia_Invalid },
  375. /* 11 */ { 0, &Ia_Invalid },
  376. /* 12 */ { 0, &Ia_Invalid },
  377. /* 13 */ { 0, &Ia_Invalid },
  378. /* 14 */ { 0, &Ia_Invalid },
  379. /* 15 */ { 0, &Ia_Invalid },
  380. /* 16 */ { 0, &Ia_Invalid },
  381. /* 17 */ { 0, &Ia_Invalid },
  382. /* 18 */ { 0, &Ia_Invalid },
  383. /* 19 */ { 0, &Ia_Invalid },
  384. /* 1A */ { 0, &Ia_Invalid },
  385. /* 1B */ { 0, &Ia_Invalid },
  386. /* 1C */ { 0, &Ia_Invalid },
  387. /* 1D */ { 0, &Ia_Invalid },
  388. /* 1E */ { 0, &Ia_Invalid },
  389. /* 1F */ { 0, &Ia_Invalid },
  390. /* 20 */ { 0, &Ia_Invalid },
  391. /* 21 */ { 0, &Ia_Invalid },
  392. /* 22 */ { 0, &Ia_Invalid },
  393. /* 23 */ { 0, &Ia_Invalid },
  394. /* 24 */ { 0, &Ia_Invalid },
  395. /* 25 */ { 0, &Ia_Invalid },
  396. /* 26 */ { 0, &Ia_Invalid },
  397. /* 27 */ { 0, &Ia_Invalid },
  398. /* 28 */ { 0, &Ia_Invalid },
  399. /* 29 */ { 0, &Ia_Invalid },
  400. /* 2A */ { 0, &Ia_Invalid },
  401. /* 2B */ { 0, &Ia_Invalid },
  402. /* 2C */ { 0, &Ia_Invalid },
  403. /* 2D */ { 0, &Ia_Invalid },
  404. /* 2E */ { 0, &Ia_Invalid },
  405. /* 2F */ { 0, &Ia_Invalid },
  406. /* 30 */ { 0, &Ia_Invalid },
  407. /* 31 */ { 0, &Ia_Invalid },
  408. /* 32 */ { 0, &Ia_Invalid },
  409. /* 33 */ { 0, &Ia_Invalid },
  410. /* 34 */ { 0, &Ia_Invalid },
  411. /* 35 */ { 0, &Ia_Invalid },
  412. /* 36 */ { 0, &Ia_Invalid },
  413. /* 37 */ { 0, &Ia_Invalid },
  414. /* 38 */ { 0, &Ia_Invalid },
  415. /* 39 */ { 0, &Ia_Invalid },
  416. /* 3A */ { 0, &Ia_Invalid },
  417. /* 3B */ { 0, &Ia_Invalid },
  418. /* 3C */ { 0, &Ia_Invalid },
  419. /* 3D */ { 0, &Ia_Invalid },
  420. /* 3E */ { 0, &Ia_Invalid },
  421. /* 3F */ { 0, &Ia_Invalid },
  422. /* 40 */ { 0, &Ia_Invalid },
  423. /* 41 */ { 0, &Ia_Invalid },
  424. /* 42 */ { 0, &Ia_Invalid },
  425. /* 43 */ { 0, &Ia_Invalid },
  426. /* 44 */ { 0, &Ia_Invalid },
  427. /* 45 */ { 0, &Ia_Invalid },
  428. /* 46 */ { 0, &Ia_Invalid },
  429. /* 47 */ { 0, &Ia_Invalid },
  430. /* 48 */ { 0, &Ia_Invalid },
  431. /* 49 */ { 0, &Ia_Invalid },
  432. /* 4A */ { 0, &Ia_Invalid },
  433. /* 4B */ { 0, &Ia_Invalid },
  434. /* 4C */ { 0, &Ia_Invalid },
  435. /* 4D */ { 0, &Ia_Invalid },
  436. /* 4E */ { 0, &Ia_Invalid },
  437. /* 4F */ { 0, &Ia_Invalid },
  438. /* 50 */ { 0, &Ia_Invalid },
  439. /* 51 */ { 0, &Ia_Invalid },
  440. /* 52 */ { 0, &Ia_Invalid },
  441. /* 53 */ { 0, &Ia_Invalid },
  442. /* 54 */ { 0, &Ia_Invalid },
  443. /* 55 */ { 0, &Ia_Invalid },
  444. /* 56 */ { 0, &Ia_Invalid },
  445. /* 57 */ { 0, &Ia_Invalid },
  446. /* 58 */ { 0, &Ia_Invalid },
  447. /* 59 */ { 0, &Ia_Invalid },
  448. /* 5A */ { 0, &Ia_Invalid },
  449. /* 5B */ { 0, &Ia_Invalid },
  450. /* 5C */ { 0, &Ia_Invalid },
  451. /* 5D */ { 0, &Ia_Invalid },
  452. /* 5E */ { 0, &Ia_Invalid },
  453. /* 5F */ { 0, &Ia_Invalid },
  454. /* 60 */ { 0, &Ia_Invalid },
  455. /* 61 */ { 0, &Ia_Invalid },
  456. /* 62 */ { 0, &Ia_Invalid },
  457. /* 63 */ { 0, &Ia_Invalid },
  458. /* 64 */ { 0, &Ia_Invalid },
  459. /* 65 */ { 0, &Ia_Invalid },
  460. /* 66 */ { 0, &Ia_Invalid },
  461. /* 67 */ { 0, &Ia_Invalid },
  462. /* 68 */ { 0, &Ia_Invalid },
  463. /* 69 */ { 0, &Ia_Invalid },
  464. /* 6A */ { 0, &Ia_Invalid },
  465. /* 6B */ { 0, &Ia_Invalid },
  466. /* 6C */ { 0, &Ia_Invalid },
  467. /* 6D */ { 0, &Ia_Invalid },
  468. /* 6E */ { 0, &Ia_Invalid },
  469. /* 6F */ { 0, &Ia_Invalid },
  470. /* 70 */ { 0, &Ia_Invalid },
  471. /* 71 */ { 0, &Ia_Invalid },
  472. /* 72 */ { 0, &Ia_Invalid },
  473. /* 73 */ { 0, &Ia_Invalid },
  474. /* 74 */ { 0, &Ia_Invalid },
  475. /* 75 */ { 0, &Ia_Invalid },
  476. /* 76 */ { 0, &Ia_Invalid },
  477. /* 77 */ { 0, &Ia_Invalid },
  478. /* 78 */ { 0, &Ia_Invalid },
  479. /* 79 */ { 0, &Ia_Invalid },
  480. /* 7A */ { 0, &Ia_Invalid },
  481. /* 7B */ { 0, &Ia_Invalid },
  482. /* 7C */ { 0, &Ia_Invalid },
  483. /* 7D */ { 0, &Ia_Invalid },
  484. /* 7E */ { 0, &Ia_Invalid },
  485. /* 7F */ { 0, &Ia_Invalid },
  486. /* 80 */ { 0, &Ia_frczps_Vps_Wps },
  487. /* 81 */ { 0, &Ia_frczpd_Vpd_Wpd },
  488. /* 82 */ { 0, &Ia_frczss_Vss_Wss },
  489. /* 83 */ { 0, &Ia_frczsd_Vsd_Wsd },
  490. /* 84 */ { 0, &Ia_Invalid },
  491. /* 85 */ { 0, &Ia_Invalid },
  492. /* 86 */ { 0, &Ia_Invalid },
  493. /* 87 */ { 0, &Ia_Invalid },
  494. /* 88 */ { GRPVEXW(xop9_88) },
  495. /* 89 */ { GRPVEXW(xop9_89) },
  496. /* 8A */ { GRPVEXW(xop9_8a) },
  497. /* 8B */ { GRPVEXW(xop9_8b) },
  498. /* 8C */ { 0, &Ia_Invalid },
  499. /* 8D */ { 0, &Ia_Invalid },
  500. /* 8E */ { 0, &Ia_Invalid },
  501. /* 8F */ { 0, &Ia_Invalid },
  502. /* 90 */ { GRPVEXW(xop9_90) },
  503. /* 91 */ { GRPVEXW(xop9_91) },
  504. /* 92 */ { GRPVEXW(xop9_92) },
  505. /* 93 */ { GRPVEXW(xop9_93) },
  506. /* 94 */ { GRPVEXW(xop9_94) },
  507. /* 95 */ { GRPVEXW(xop9_95) },
  508. /* 96 */ { GRPVEXW(xop9_96) },
  509. /* 97 */ { GRPVEXW(xop9_97) },
  510. /* 98 */ { 0, &Ia_Invalid },
  511. /* 99 */ { 0, &Ia_Invalid },
  512. /* 9A */ { 0, &Ia_Invalid },
  513. /* 9B */ { 0, &Ia_Invalid },
  514. /* 9C */ { 0, &Ia_Invalid },
  515. /* 9D */ { 0, &Ia_Invalid },
  516. /* 9E */ { 0, &Ia_Invalid },
  517. /* 9F */ { 0, &Ia_Invalid },
  518. /* A0 */ { 0, &Ia_Invalid },
  519. /* A1 */ { 0, &Ia_Invalid },
  520. /* A2 */ { 0, &Ia_Invalid },
  521. /* A3 */ { 0, &Ia_Invalid },
  522. /* A4 */ { 0, &Ia_Invalid },
  523. /* A5 */ { 0, &Ia_Invalid },
  524. /* A6 */ { 0, &Ia_Invalid },
  525. /* A7 */ { 0, &Ia_Invalid },
  526. /* A8 */ { 0, &Ia_Invalid },
  527. /* A9 */ { 0, &Ia_Invalid },
  528. /* AA */ { 0, &Ia_Invalid },
  529. /* AB */ { 0, &Ia_Invalid },
  530. /* AC */ { 0, &Ia_Invalid },
  531. /* AD */ { 0, &Ia_Invalid },
  532. /* AE */ { 0, &Ia_Invalid },
  533. /* AF */ { 0, &Ia_Invalid },
  534. /* B0 */ { 0, &Ia_Invalid },
  535. /* B1 */ { 0, &Ia_Invalid },
  536. /* B2 */ { 0, &Ia_Invalid },
  537. /* B3 */ { 0, &Ia_Invalid },
  538. /* B4 */ { 0, &Ia_Invalid },
  539. /* B5 */ { 0, &Ia_Invalid },
  540. /* B6 */ { 0, &Ia_Invalid },
  541. /* B7 */ { 0, &Ia_Invalid },
  542. /* B8 */ { 0, &Ia_Invalid },
  543. /* B9 */ { 0, &Ia_Invalid },
  544. /* BA */ { 0, &Ia_Invalid },
  545. /* BB */ { 0, &Ia_Invalid },
  546. /* BC */ { 0, &Ia_Invalid },
  547. /* BD */ { 0, &Ia_Invalid },
  548. /* BE */ { 0, &Ia_Invalid },
  549. /* BF */ { 0, &Ia_Invalid },
  550. /* C0 */ { 0, &Ia_Invalid },
  551. /* C1 */ { 0, &Ia_vphaddbw_Vdq_Wdq },
  552. /* C2 */ { 0, &Ia_vphaddbd_Vdq_Wdq },
  553. /* C3 */ { 0, &Ia_vphaddbq_Vdq_Wdq },
  554. /* C4 */ { 0, &Ia_Invalid },
  555. /* C5 */ { 0, &Ia_Invalid },
  556. /* C6 */ { 0, &Ia_vphaddwd_Vdq_Wdq },
  557. /* C7 */ { 0, &Ia_vphaddwq_Vdq_Wdq },
  558. /* C8 */ { 0, &Ia_Invalid },
  559. /* C9 */ { 0, &Ia_Invalid },
  560. /* CA */ { 0, &Ia_Invalid },
  561. /* CB */ { 0, &Ia_vphadddq_Vdq_Wdq },
  562. /* CC */ { 0, &Ia_Invalid },
  563. /* CD */ { 0, &Ia_Invalid },
  564. /* CE */ { 0, &Ia_Invalid },
  565. /* CF */ { 0, &Ia_Invalid },
  566. /* D0 */ { 0, &Ia_Invalid },
  567. /* D1 */ { 0, &Ia_vphaddubw_Vdq_Wdq },
  568. /* D2 */ { 0, &Ia_vphaddubd_Vdq_Wdq },
  569. /* D3 */ { 0, &Ia_vphaddubq_Vdq_Wdq },
  570. /* D4 */ { 0, &Ia_Invalid },
  571. /* D5 */ { 0, &Ia_Invalid },
  572. /* D6 */ { 0, &Ia_vphadduwd_Vdq_Wdq },
  573. /* D7 */ { 0, &Ia_vphadduwq_Vdq_Wdq },
  574. /* D8 */ { 0, &Ia_Invalid },
  575. /* D9 */ { 0, &Ia_Invalid },
  576. /* DA */ { 0, &Ia_Invalid },
  577. /* DB */ { 0, &Ia_vphaddudq_Vdq_Wdq },
  578. /* DC */ { 0, &Ia_Invalid },
  579. /* DD */ { 0, &Ia_Invalid },
  580. /* DE */ { 0, &Ia_Invalid },
  581. /* DF */ { 0, &Ia_Invalid },
  582. /* E0 */ { 0, &Ia_Invalid },
  583. /* E1 */ { 0, &Ia_vphsubbw_Vdq_Wdq },
  584. /* E2 */ { 0, &Ia_vphsubwd_Vdq_Wdq },
  585. /* E3 */ { 0, &Ia_vphsubdq_Vdq_Wdq },
  586. /* E4 */ { 0, &Ia_Invalid },
  587. /* E5 */ { 0, &Ia_Invalid },
  588. /* E6 */ { 0, &Ia_Invalid },
  589. /* E7 */ { 0, &Ia_Invalid },
  590. /* E8 */ { 0, &Ia_Invalid },
  591. /* E9 */ { 0, &Ia_Invalid },
  592. /* EA */ { 0, &Ia_Invalid },
  593. /* EB */ { 0, &Ia_Invalid },
  594. /* EC */ { 0, &Ia_Invalid },
  595. /* ED */ { 0, &Ia_Invalid },
  596. /* EE */ { 0, &Ia_Invalid },
  597. /* EF */ { 0, &Ia_Invalid },
  598. /* F0 */ { 0, &Ia_Invalid },
  599. /* F1 */ { 0, &Ia_Invalid },
  600. /* F2 */ { 0, &Ia_Invalid },
  601. /* F3 */ { 0, &Ia_Invalid },
  602. /* F4 */ { 0, &Ia_Invalid },
  603. /* F5 */ { 0, &Ia_Invalid },
  604. /* F6 */ { 0, &Ia_Invalid },
  605. /* F7 */ { 0, &Ia_Invalid },
  606. /* F8 */ { 0, &Ia_Invalid },
  607. /* F9 */ { 0, &Ia_Invalid },
  608. /* FA */ { 0, &Ia_Invalid },
  609. /* FB */ { 0, &Ia_Invalid },
  610. /* FC */ { 0, &Ia_Invalid },
  611. /* FD */ { 0, &Ia_Invalid },
  612. /* FE */ { 0, &Ia_Invalid },
  613. /* FF */ { 0, &Ia_Invalid },
  614. // 256 entries for XOP map 0xA opcodes
  615. /* 00 */ { 0, &Ia_Invalid },
  616. /* 01 */ { 0, &Ia_Invalid },
  617. /* 02 */ { 0, &Ia_Invalid },
  618. /* 03 */ { 0, &Ia_Invalid },
  619. /* 04 */ { 0, &Ia_Invalid },
  620. /* 05 */ { 0, &Ia_Invalid },
  621. /* 06 */ { 0, &Ia_Invalid },
  622. /* 07 */ { 0, &Ia_Invalid },
  623. /* 08 */ { 0, &Ia_Invalid },
  624. /* 09 */ { 0, &Ia_Invalid },
  625. /* 0A */ { 0, &Ia_Invalid },
  626. /* 0B */ { 0, &Ia_Invalid },
  627. /* 0C */ { 0, &Ia_Invalid },
  628. /* 0D */ { 0, &Ia_Invalid },
  629. /* 0E */ { 0, &Ia_Invalid },
  630. /* 0F */ { 0, &Ia_Invalid },
  631. /* 10 */ { 0, &Ia_bextr_Gy_Ey_Id },
  632. /* 11 */ { 0, &Ia_Invalid },
  633. /* 12 */ { 0, &Ia_Invalid },
  634. /* 13 */ { 0, &Ia_Invalid },
  635. /* 14 */ { 0, &Ia_Invalid },
  636. /* 15 */ { 0, &Ia_Invalid },
  637. /* 16 */ { 0, &Ia_Invalid },
  638. /* 17 */ { 0, &Ia_Invalid },
  639. /* 18 */ { 0, &Ia_Invalid },
  640. /* 19 */ { 0, &Ia_Invalid },
  641. /* 1A */ { 0, &Ia_Invalid },
  642. /* 1B */ { 0, &Ia_Invalid },
  643. /* 1C */ { 0, &Ia_Invalid },
  644. /* 1D */ { 0, &Ia_Invalid },
  645. /* 1E */ { 0, &Ia_Invalid },
  646. /* 1F */ { 0, &Ia_Invalid },
  647. /* 20 */ { 0, &Ia_Invalid },
  648. /* 21 */ { 0, &Ia_Invalid },
  649. /* 22 */ { 0, &Ia_Invalid },
  650. /* 23 */ { 0, &Ia_Invalid },
  651. /* 24 */ { 0, &Ia_Invalid },
  652. /* 25 */ { 0, &Ia_Invalid },
  653. /* 26 */ { 0, &Ia_Invalid },
  654. /* 27 */ { 0, &Ia_Invalid },
  655. /* 28 */ { 0, &Ia_Invalid },
  656. /* 29 */ { 0, &Ia_Invalid },
  657. /* 2A */ { 0, &Ia_Invalid },
  658. /* 2B */ { 0, &Ia_Invalid },
  659. /* 2C */ { 0, &Ia_Invalid },
  660. /* 2D */ { 0, &Ia_Invalid },
  661. /* 2E */ { 0, &Ia_Invalid },
  662. /* 2F */ { 0, &Ia_Invalid },
  663. /* 30 */ { 0, &Ia_Invalid },
  664. /* 31 */ { 0, &Ia_Invalid },
  665. /* 32 */ { 0, &Ia_Invalid },
  666. /* 33 */ { 0, &Ia_Invalid },
  667. /* 34 */ { 0, &Ia_Invalid },
  668. /* 35 */ { 0, &Ia_Invalid },
  669. /* 36 */ { 0, &Ia_Invalid },
  670. /* 37 */ { 0, &Ia_Invalid },
  671. /* 38 */ { 0, &Ia_Invalid },
  672. /* 39 */ { 0, &Ia_Invalid },
  673. /* 3A */ { 0, &Ia_Invalid },
  674. /* 3B */ { 0, &Ia_Invalid },
  675. /* 3C */ { 0, &Ia_Invalid },
  676. /* 3D */ { 0, &Ia_Invalid },
  677. /* 3E */ { 0, &Ia_Invalid },
  678. /* 3F */ { 0, &Ia_Invalid },
  679. /* 40 */ { 0, &Ia_Invalid },
  680. /* 41 */ { 0, &Ia_Invalid },
  681. /* 42 */ { 0, &Ia_Invalid },
  682. /* 43 */ { 0, &Ia_Invalid },
  683. /* 44 */ { 0, &Ia_Invalid },
  684. /* 45 */ { 0, &Ia_Invalid },
  685. /* 46 */ { 0, &Ia_Invalid },
  686. /* 47 */ { 0, &Ia_Invalid },
  687. /* 48 */ { 0, &Ia_Invalid },
  688. /* 49 */ { 0, &Ia_Invalid },
  689. /* 4A */ { 0, &Ia_Invalid },
  690. /* 4B */ { 0, &Ia_Invalid },
  691. /* 4C */ { 0, &Ia_Invalid },
  692. /* 4D */ { 0, &Ia_Invalid },
  693. /* 4E */ { 0, &Ia_Invalid },
  694. /* 4F */ { 0, &Ia_Invalid },
  695. /* 50 */ { 0, &Ia_Invalid },
  696. /* 51 */ { 0, &Ia_Invalid },
  697. /* 52 */ { 0, &Ia_Invalid },
  698. /* 53 */ { 0, &Ia_Invalid },
  699. /* 54 */ { 0, &Ia_Invalid },
  700. /* 55 */ { 0, &Ia_Invalid },
  701. /* 56 */ { 0, &Ia_Invalid },
  702. /* 57 */ { 0, &Ia_Invalid },
  703. /* 58 */ { 0, &Ia_Invalid },
  704. /* 59 */ { 0, &Ia_Invalid },
  705. /* 5A */ { 0, &Ia_Invalid },
  706. /* 5B */ { 0, &Ia_Invalid },
  707. /* 5C */ { 0, &Ia_Invalid },
  708. /* 5D */ { 0, &Ia_Invalid },
  709. /* 5E */ { 0, &Ia_Invalid },
  710. /* 5F */ { 0, &Ia_Invalid },
  711. /* 60 */ { 0, &Ia_Invalid },
  712. /* 61 */ { 0, &Ia_Invalid },
  713. /* 62 */ { 0, &Ia_Invalid },
  714. /* 63 */ { 0, &Ia_Invalid },
  715. /* 64 */ { 0, &Ia_Invalid },
  716. /* 65 */ { 0, &Ia_Invalid },
  717. /* 66 */ { 0, &Ia_Invalid },
  718. /* 67 */ { 0, &Ia_Invalid },
  719. /* 68 */ { 0, &Ia_Invalid },
  720. /* 69 */ { 0, &Ia_Invalid },
  721. /* 6A */ { 0, &Ia_Invalid },
  722. /* 6B */ { 0, &Ia_Invalid },
  723. /* 6C */ { 0, &Ia_Invalid },
  724. /* 6D */ { 0, &Ia_Invalid },
  725. /* 6E */ { 0, &Ia_Invalid },
  726. /* 6F */ { 0, &Ia_Invalid },
  727. /* 70 */ { 0, &Ia_Invalid },
  728. /* 71 */ { 0, &Ia_Invalid },
  729. /* 72 */ { 0, &Ia_Invalid },
  730. /* 73 */ { 0, &Ia_Invalid },
  731. /* 74 */ { 0, &Ia_Invalid },
  732. /* 75 */ { 0, &Ia_Invalid },
  733. /* 76 */ { 0, &Ia_Invalid },
  734. /* 77 */ { 0, &Ia_Invalid },
  735. /* 78 */ { 0, &Ia_Invalid },
  736. /* 79 */ { 0, &Ia_Invalid },
  737. /* 7A */ { 0, &Ia_Invalid },
  738. /* 7B */ { 0, &Ia_Invalid },
  739. /* 7C */ { 0, &Ia_Invalid },
  740. /* 7D */ { 0, &Ia_Invalid },
  741. /* 7E */ { 0, &Ia_Invalid },
  742. /* 7F */ { 0, &Ia_Invalid },
  743. /* 80 */ { 0, &Ia_Invalid },
  744. /* 81 */ { 0, &Ia_Invalid },
  745. /* 82 */ { 0, &Ia_Invalid },
  746. /* 83 */ { 0, &Ia_Invalid },
  747. /* 84 */ { 0, &Ia_Invalid },
  748. /* 85 */ { 0, &Ia_Invalid },
  749. /* 86 */ { 0, &Ia_Invalid },
  750. /* 87 */ { 0, &Ia_Invalid },
  751. /* 88 */ { 0, &Ia_Invalid },
  752. /* 89 */ { 0, &Ia_Invalid },
  753. /* 8A */ { 0, &Ia_Invalid },
  754. /* 8B */ { 0, &Ia_Invalid },
  755. /* 8C */ { 0, &Ia_Invalid },
  756. /* 8D */ { 0, &Ia_Invalid },
  757. /* 8E */ { 0, &Ia_Invalid },
  758. /* 8F */ { 0, &Ia_Invalid },
  759. /* 90 */ { 0, &Ia_Invalid },
  760. /* 91 */ { 0, &Ia_Invalid },
  761. /* 92 */ { 0, &Ia_Invalid },
  762. /* 93 */ { 0, &Ia_Invalid },
  763. /* 94 */ { 0, &Ia_Invalid },
  764. /* 95 */ { 0, &Ia_Invalid },
  765. /* 96 */ { 0, &Ia_Invalid },
  766. /* 97 */ { 0, &Ia_Invalid },
  767. /* 98 */ { 0, &Ia_Invalid },
  768. /* 99 */ { 0, &Ia_Invalid },
  769. /* 9A */ { 0, &Ia_Invalid },
  770. /* 9B */ { 0, &Ia_Invalid },
  771. /* 9C */ { 0, &Ia_Invalid },
  772. /* 9D */ { 0, &Ia_Invalid },
  773. /* 9E */ { 0, &Ia_Invalid },
  774. /* 9F */ { 0, &Ia_Invalid },
  775. /* A0 */ { 0, &Ia_Invalid },
  776. /* A1 */ { 0, &Ia_Invalid },
  777. /* A2 */ { 0, &Ia_Invalid },
  778. /* A3 */ { 0, &Ia_Invalid },
  779. /* A4 */ { 0, &Ia_Invalid },
  780. /* A5 */ { 0, &Ia_Invalid },
  781. /* A6 */ { 0, &Ia_Invalid },
  782. /* A7 */ { 0, &Ia_Invalid },
  783. /* A8 */ { 0, &Ia_Invalid },
  784. /* A9 */ { 0, &Ia_Invalid },
  785. /* AA */ { 0, &Ia_Invalid },
  786. /* AB */ { 0, &Ia_Invalid },
  787. /* AC */ { 0, &Ia_Invalid },
  788. /* AD */ { 0, &Ia_Invalid },
  789. /* AE */ { 0, &Ia_Invalid },
  790. /* AF */ { 0, &Ia_Invalid },
  791. /* B0 */ { 0, &Ia_Invalid },
  792. /* B1 */ { 0, &Ia_Invalid },
  793. /* B2 */ { 0, &Ia_Invalid },
  794. /* B3 */ { 0, &Ia_Invalid },
  795. /* B4 */ { 0, &Ia_Invalid },
  796. /* B5 */ { 0, &Ia_Invalid },
  797. /* B6 */ { 0, &Ia_Invalid },
  798. /* B7 */ { 0, &Ia_Invalid },
  799. /* B8 */ { 0, &Ia_Invalid },
  800. /* B9 */ { 0, &Ia_Invalid },
  801. /* BA */ { 0, &Ia_Invalid },
  802. /* BB */ { 0, &Ia_Invalid },
  803. /* BC */ { 0, &Ia_Invalid },
  804. /* BD */ { 0, &Ia_Invalid },
  805. /* BE */ { 0, &Ia_Invalid },
  806. /* BF */ { 0, &Ia_Invalid },
  807. /* C0 */ { 0, &Ia_Invalid },
  808. /* C1 */ { 0, &Ia_Invalid },
  809. /* C2 */ { 0, &Ia_Invalid },
  810. /* C3 */ { 0, &Ia_Invalid },
  811. /* C4 */ { 0, &Ia_Invalid },
  812. /* C5 */ { 0, &Ia_Invalid },
  813. /* C6 */ { 0, &Ia_Invalid },
  814. /* C7 */ { 0, &Ia_Invalid },
  815. /* C8 */ { 0, &Ia_Invalid },
  816. /* C9 */ { 0, &Ia_Invalid },
  817. /* CA */ { 0, &Ia_Invalid },
  818. /* CB */ { 0, &Ia_Invalid },
  819. /* CC */ { 0, &Ia_Invalid },
  820. /* CD */ { 0, &Ia_Invalid },
  821. /* CE */ { 0, &Ia_Invalid },
  822. /* CF */ { 0, &Ia_Invalid },
  823. /* D0 */ { 0, &Ia_Invalid },
  824. /* D1 */ { 0, &Ia_Invalid },
  825. /* D2 */ { 0, &Ia_Invalid },
  826. /* D3 */ { 0, &Ia_Invalid },
  827. /* D4 */ { 0, &Ia_Invalid },
  828. /* D5 */ { 0, &Ia_Invalid },
  829. /* D6 */ { 0, &Ia_Invalid },
  830. /* D7 */ { 0, &Ia_Invalid },
  831. /* D8 */ { 0, &Ia_Invalid },
  832. /* D9 */ { 0, &Ia_Invalid },
  833. /* DA */ { 0, &Ia_Invalid },
  834. /* DB */ { 0, &Ia_Invalid },
  835. /* DC */ { 0, &Ia_Invalid },
  836. /* DD */ { 0, &Ia_Invalid },
  837. /* DE */ { 0, &Ia_Invalid },
  838. /* DF */ { 0, &Ia_Invalid },
  839. /* E0 */ { 0, &Ia_Invalid },
  840. /* E1 */ { 0, &Ia_Invalid },
  841. /* E2 */ { 0, &Ia_Invalid },
  842. /* E3 */ { 0, &Ia_Invalid },
  843. /* E4 */ { 0, &Ia_Invalid },
  844. /* E5 */ { 0, &Ia_Invalid },
  845. /* E6 */ { 0, &Ia_Invalid },
  846. /* E7 */ { 0, &Ia_Invalid },
  847. /* E8 */ { 0, &Ia_Invalid },
  848. /* E9 */ { 0, &Ia_Invalid },
  849. /* EA */ { 0, &Ia_Invalid },
  850. /* EB */ { 0, &Ia_Invalid },
  851. /* EC */ { 0, &Ia_Invalid },
  852. /* ED */ { 0, &Ia_Invalid },
  853. /* EE */ { 0, &Ia_Invalid },
  854. /* EF */ { 0, &Ia_Invalid },
  855. /* F0 */ { 0, &Ia_Invalid },
  856. /* F1 */ { 0, &Ia_Invalid },
  857. /* F2 */ { 0, &Ia_Invalid },
  858. /* F3 */ { 0, &Ia_Invalid },
  859. /* F4 */ { 0, &Ia_Invalid },
  860. /* F5 */ { 0, &Ia_Invalid },
  861. /* F6 */ { 0, &Ia_Invalid },
  862. /* F7 */ { 0, &Ia_Invalid },
  863. /* F8 */ { 0, &Ia_Invalid },
  864. /* F9 */ { 0, &Ia_Invalid },
  865. /* FA */ { 0, &Ia_Invalid },
  866. /* FB */ { 0, &Ia_Invalid },
  867. /* FC */ { 0, &Ia_Invalid },
  868. /* FD */ { 0, &Ia_Invalid },
  869. /* FE */ { 0, &Ia_Invalid },
  870. /* FF */ { 0, &Ia_Invalid }
  871. };