mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 09:00:17 +02:00
Lets us shave off an instruction and also avoid using a temporary register in some cases. We can also tweak our worst case that requires a predicate to eliminate the temporary as well. We can also expand our cmpps cases, so that we can reflect the BSL2N usages in instcountci.
FEX Unit tests
FEX has its own test suite for x86-64 emulation, and we also use gcc's target tests, posixtest, and gvisor's tests. We use a combination of CMake/CTest and python runner scripts.
We also regularly run and pass qemu's and valgrind's tests for validation, but those aren't in CI right now.
x86/64 testing
- A lot of handwritten assembly unit tests in 32Bit_ASM and ASM folders, run via our TestHarnessHelper
- A few handwritten IR tests in IR, run via our IRLoader
- gcc-target-tests-32 and gcc-target-tests-64, run via FEX. The tests binaries are in External/fex-gcc-target-tests-bins
Syscall testing
- 64-bit posixtest from http://posixtest.sourceforge.net/, run via FEX. The tests binaries are in External/fex-posixtest-bins
- 64-bit gvisor tests from https://github.com/google/gvisor, run via FEX. The tests binaries are in External/fex-gvisor-tests-bins