FEX/unittests/ASM/Primary
Ryan Houdek 2e93d10eba OpcodeDispatcher: Fixes ROR imm OF calculation
Turns out this was calculating OF incorrectly, breaking Denuvo early in
its execution.

Changes the ROL imm OF calculation code as well to be more consistent
and not keep src1 alive longer than it needs to be.

Also adds two new unit tests to ensure this stays correct.
2022-10-31 10:28:47 -07:00
..
Pause.asm unittests: Adds basic PAUSE test 2022-05-26 08:51:00 -07:00
Primary_3A.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_3B.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_3C.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_3D.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_6A_2.asm Adds a new test for push 8bit immediate 2020-10-22 19:10:28 -07:00
Primary_6A.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_6B.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_8C_2.asm OpcodeDispatcher: Fixes weirdo edge case in segment moving 2022-02-07 21:12:53 -08:00
Primary_8C.asm Removes undefined behaviour in our unit tests 2020-09-22 18:32:19 -07:00
Primary_8D_2.asm Adds new LEA unit test for address size override 2020-09-16 19:17:35 -07:00
Primary_8D.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_9B.asm Implements an fwait unit test 2020-04-25 23:54:09 -07:00
Primary_9C.asm Ensures eflags matches real state 2020-09-23 00:09:35 -07:00
Primary_9D.asm Ensures eflags matches real state 2020-09-23 00:09:35 -07:00
Primary_9E.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_00.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_01_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_01_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_01_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_08.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_09_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_09_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_09_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_10_2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_10_3.asm Adds unittests for locked ADC and SBB 2021-03-11 00:24:03 -08:00
Primary_10_4.asm Adds unittests for locked ADC and SBB 2021-03-11 00:24:03 -08:00
Primary_10.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_18_2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_18_3.asm Adds unittests for locked ADC and SBB 2021-03-11 00:24:03 -08:00
Primary_18_4.asm Adds unittests for locked ADC and SBB 2021-03-11 00:24:03 -08:00
Primary_18.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_20.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_23_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_23_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_23_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_28.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_29_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_29_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_29_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_30.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_31_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_31_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_31_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_38.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_39.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_50_2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_50.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_63.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_68.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_69.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_84_2.asm Hotfix: Disable ConstProp/RemoveUselessMasking, add a test for it 2020-12-25 15:04:27 +02:00
Primary_84.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_85.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_86.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_87_2.asm Tests: Add xchg 32 and 64 bit 2020-08-20 10:32:38 +03:00
Primary_87_3.asm Tests: Add xchg 32 and 64 bit 2020-08-20 10:32:38 +03:00
Primary_87_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_87_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_87_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_87.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_90_2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_90_3.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_90_4.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_90.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_98_2.asm Adds more unit tests for Sign extension 2020-04-04 23:11:48 -07:00
Primary_98.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_99_2.asm Adds more unit tests for Sign extension 2020-04-04 23:11:48 -07:00
Primary_99.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_A0.asm Workaround quick with memory allocator. Aligned 4GB regions are hard to allocate 2021-05-01 07:39:14 -07:00
Primary_A2.asm Workaround quick with memory allocator. Aligned 4GB regions are hard to allocate 2021-05-01 07:39:14 -07:00
Primary_A4_REP_Down.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A4_REP_many.asm OpDisp: Improve block ordering for multi-block ops 2021-01-15 21:05:29 +02:00
Primary_A4_REP.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A4_REPNE_Down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A4_REPNE_many.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A4_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A4.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_dword_REP_Down.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_dword_REP.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_dword_REPNE_Down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5_dword_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5_dword.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_qword_REP_Down.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_qword_REP.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_qword_REPNE_Down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5_qword_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5_qword.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_REP_Down.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_REP.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A5_REPNE_Down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A5.asm Adds MOVS unit tests 2020-03-09 22:33:20 -07:00
Primary_A6_down.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A6_REP_down_Equal.asm Implements unit tests for CMPS 2020-03-10 18:18:36 -07:00
Primary_A6_REP_down.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A6_REP_Equal.asm Implements unit tests for CMPS 2020-03-10 18:18:36 -07:00
Primary_A6_REP_Smaller.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A6_REP.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A6_REPNE_Equal.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_A6_REPNE.asm Implements unit tests for CMPS 2020-03-10 18:18:36 -07:00
Primary_A6.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_dword_down.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_dword.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_qword_down.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_qword.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_word_down.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A7_word.asm Fixes CMPSB unit tests 2020-09-23 10:03:33 -07:00
Primary_A8.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_A9.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_AA_REP_down.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AA_REP.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AA_REPNE_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AA_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AA.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_dword_REP_down.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_dword_REP.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_dword_REPNE_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_dword_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_dword.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_qword_REP_down.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_qword_REP.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_qword_REPNE_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_qword_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_qword.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_word_REP_down.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_word_REP.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AB_word_REPNE_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_word_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AB_word.asm Adds STOS unit tests 2020-03-09 22:59:59 -07:00
Primary_AC_REP_down.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AC_REP.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AC_REPNE_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AC_REPNE.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AC.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_dword.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_qword.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_dword_down.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_dword.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_qword_down.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_qword.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_word_down.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REP_word.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AD_REPNE_dword_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_REPNE_dword.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_REPNE_qword_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_REPNE_qword.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_REPNE_word_down.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_REPNE_word.asm unittests: Duplicates rep string unit tests with repne 2021-08-21 20:19:38 -07:00
Primary_AD_word.asm Implements LODS unit tests 2020-05-29 23:37:27 -07:00
Primary_AE_REP_down.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AE_REP.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AE_REPNE_down.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AE_REPNE.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AE.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AF_REP_dword.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AF_REP_qword.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_AF_REP_word.asm Implements SCAS unit tests 2020-05-29 23:38:27 -07:00
Primary_B0.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_B8_2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_B8_3.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_B8.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_C2.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_C3.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_C8_2.asm Implements unit test for enter instruction 2020-06-06 11:52:51 -07:00
Primary_C8.asm Implements unit test for enter instruction 2020-06-06 11:52:51 -07:00
Primary_C9.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_CF.asm unittests: Hotfix for older nasm 2021-08-22 21:59:57 -07:00
Primary_D7.asm Implements a unit test for XLAT 2020-04-29 18:26:03 -07:00
Primary_E0.asm Implements unit tests for the three new loop instructions 2020-04-29 17:20:09 -07:00
Primary_E1.asm Implements unit tests for the three new loop instructions 2020-04-29 17:20:09 -07:00
Primary_E2.asm Implements unit tests for the three new loop instructions 2020-04-29 17:20:09 -07:00
Primary_E3.asm Implements JRCXZ unit test 2020-04-25 22:07:24 -07:00
Primary_E8.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_E9.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_EB.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_F5.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_F8.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_F9.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_FC.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_FD.asm Implements Primary table unit tests 2020-03-09 18:15:43 -07:00
Primary_FF_0_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_FF_0_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_FF_0_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_FF_1_Atomic16.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_FF_1_Atomic32.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
Primary_FF_1_Atomic64.asm Implements unit tests for the new unaligned atomics 2021-02-22 18:25:25 -08:00
ROL_Flags.asm unittests: Adds ROL and ROR CF flag calculation tests 2022-10-14 23:37:46 -07:00
ROL_OF.asm OpcodeDispatcher: Fixes ROR imm OF calculation 2022-10-31 10:28:47 -07:00
ROR_Flags.asm unittests: Adds ROL and ROR CF flag calculation tests 2022-10-14 23:37:46 -07:00
ROR_OF.asm OpcodeDispatcher: Fixes ROR imm OF calculation 2022-10-31 10:28:47 -07:00
SHL.asm unittests: Ensures overloaded shifts don't result in JIT failure 2022-10-14 23:38:35 -07:00
SHR.asm unittests: Ensures overloaded shifts don't result in JIT failure 2022-10-14 23:38:35 -07:00