Changeset 99309 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Apr 6, 2023 2:16:17 AM (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsCommon.cpp.h
r98916 r99309 38 38 *********************************************************************************************************************************/ 39 39 #ifndef TST_IEM_CHECK_MC 40 /** Function table for the ADD instruction. */41 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_add =42 {43 iemAImpl_add_u8, iemAImpl_add_u8_locked,44 iemAImpl_add_u16, iemAImpl_add_u16_locked,45 iemAImpl_add_u32, iemAImpl_add_u32_locked,46 iemAImpl_add_u64, iemAImpl_add_u64_locked47 };48 49 /** Function table for the ADC instruction. */50 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_adc =51 {52 iemAImpl_adc_u8, iemAImpl_adc_u8_locked,53 iemAImpl_adc_u16, iemAImpl_adc_u16_locked,54 iemAImpl_adc_u32, iemAImpl_adc_u32_locked,55 iemAImpl_adc_u64, iemAImpl_adc_u64_locked56 };57 58 /** Function table for the SUB instruction. */59 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sub =60 {61 iemAImpl_sub_u8, iemAImpl_sub_u8_locked,62 iemAImpl_sub_u16, iemAImpl_sub_u16_locked,63 iemAImpl_sub_u32, iemAImpl_sub_u32_locked,64 iemAImpl_sub_u64, iemAImpl_sub_u64_locked65 };66 67 /** Function table for the SBB instruction. */68 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sbb =69 {70 iemAImpl_sbb_u8, iemAImpl_sbb_u8_locked,71 iemAImpl_sbb_u16, iemAImpl_sbb_u16_locked,72 iemAImpl_sbb_u32, iemAImpl_sbb_u32_locked,73 iemAImpl_sbb_u64, iemAImpl_sbb_u64_locked74 };75 76 /** Function table for the OR instruction. */77 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_or =78 {79 iemAImpl_or_u8, iemAImpl_or_u8_locked,80 iemAImpl_or_u16, iemAImpl_or_u16_locked,81 iemAImpl_or_u32, iemAImpl_or_u32_locked,82 iemAImpl_or_u64, iemAImpl_or_u64_locked83 };84 85 /** Function table for the XOR instruction. */86 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_xor =87 {88 iemAImpl_xor_u8, iemAImpl_xor_u8_locked,89 iemAImpl_xor_u16, iemAImpl_xor_u16_locked,90 iemAImpl_xor_u32, iemAImpl_xor_u32_locked,91 iemAImpl_xor_u64, iemAImpl_xor_u64_locked92 };93 94 /** Function table for the AND instruction. */95 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_and =96 {97 iemAImpl_and_u8, iemAImpl_and_u8_locked,98 iemAImpl_and_u16, iemAImpl_and_u16_locked,99 iemAImpl_and_u32, iemAImpl_and_u32_locked,100 iemAImpl_and_u64, iemAImpl_and_u64_locked101 };102 103 /** Function table for the CMP instruction.104 * @remarks Making operand order ASSUMPTIONS.105 */106 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_cmp =107 {108 iemAImpl_cmp_u8, NULL,109 iemAImpl_cmp_u16, NULL,110 iemAImpl_cmp_u32, NULL,111 iemAImpl_cmp_u64, NULL112 };113 114 /** Function table for the TEST instruction.115 * @remarks Making operand order ASSUMPTIONS.116 */117 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_test =118 {119 iemAImpl_test_u8, NULL,120 iemAImpl_test_u16, NULL,121 iemAImpl_test_u32, NULL,122 iemAImpl_test_u64, NULL123 };124 125 126 /** Function table for the BT instruction. */127 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bt =128 {129 NULL, NULL,130 iemAImpl_bt_u16, NULL,131 iemAImpl_bt_u32, NULL,132 iemAImpl_bt_u64, NULL133 };134 135 /** Function table for the BTC instruction. */136 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btc =137 {138 NULL, NULL,139 iemAImpl_btc_u16, iemAImpl_btc_u16_locked,140 iemAImpl_btc_u32, iemAImpl_btc_u32_locked,141 iemAImpl_btc_u64, iemAImpl_btc_u64_locked142 };143 144 /** Function table for the BTR instruction. */145 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btr =146 {147 NULL, NULL,148 iemAImpl_btr_u16, iemAImpl_btr_u16_locked,149 iemAImpl_btr_u32, iemAImpl_btr_u32_locked,150 iemAImpl_btr_u64, iemAImpl_btr_u64_locked151 };152 153 /** Function table for the BTS instruction. */154 IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bts =155 {156 NULL, NULL,157 iemAImpl_bts_u16, iemAImpl_bts_u16_locked,158 iemAImpl_bts_u32, iemAImpl_bts_u32_locked,159 iemAImpl_bts_u64, iemAImpl_bts_u64_locked160 };161 40 162 41 /** Function table for the BSF instruction. */ … … 294 173 iemAImpl_imul_two_u64, 295 174 }; 296 297 /** Group 1 /r lookup table. */298 IEM_STATIC const PCIEMOPBINSIZES g_apIemImplGrp1[8] =299 {300 &g_iemAImpl_add,301 &g_iemAImpl_or,302 &g_iemAImpl_adc,303 &g_iemAImpl_sbb,304 &g_iemAImpl_and,305 &g_iemAImpl_sub,306 &g_iemAImpl_xor,307 &g_iemAImpl_cmp308 };309 310 /** Function table for the INC instruction. */311 IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_inc =312 {313 iemAImpl_inc_u8, iemAImpl_inc_u8_locked,314 iemAImpl_inc_u16, iemAImpl_inc_u16_locked,315 iemAImpl_inc_u32, iemAImpl_inc_u32_locked,316 iemAImpl_inc_u64, iemAImpl_inc_u64_locked317 };318 319 /** Function table for the DEC instruction. */320 IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_dec =321 {322 iemAImpl_dec_u8, iemAImpl_dec_u8_locked,323 iemAImpl_dec_u16, iemAImpl_dec_u16_locked,324 iemAImpl_dec_u32, iemAImpl_dec_u32_locked,325 iemAImpl_dec_u64, iemAImpl_dec_u64_locked326 };327 328 /** Function table for the NEG instruction. */329 IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_neg =330 {331 iemAImpl_neg_u8, iemAImpl_neg_u8_locked,332 iemAImpl_neg_u16, iemAImpl_neg_u16_locked,333 iemAImpl_neg_u32, iemAImpl_neg_u32_locked,334 iemAImpl_neg_u64, iemAImpl_neg_u64_locked335 };336 337 /** Function table for the NOT instruction. */338 IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_not =339 {340 iemAImpl_not_u8, iemAImpl_not_u8_locked,341 iemAImpl_not_u16, iemAImpl_not_u16_locked,342 iemAImpl_not_u32, iemAImpl_not_u32_locked,343 iemAImpl_not_u64, iemAImpl_not_u64_locked344 };345 346 175 347 176 /** Function table for the ROL instruction. */
Note:
See TracChangeset
for help on using the changeset viewer.