mirror of
https://github.com/FEX-Emu/FEX.git
synced 2025-02-08 23:57:05 +00:00
Merge pull request #2098 from Sonicadvance1/fprem_tests
unittests/asm: Adds more extensive FPREM/FPREM1 tests
This commit is contained in:
commit
b726f60afd
@ -4,7 +4,7 @@ import subprocess
|
||||
import os.path
|
||||
from os import path
|
||||
|
||||
# Args: <Known Failures file> <DisabledTestsFile> <DisabledTestsTypeFile> <DisabledTestsRunnerFile> <TestName> <Test Harness Executable> <Args>...
|
||||
# Args: <Known Failures file> <Known Failures Type File> <DisabledTestsFile> <DisabledTestsTypeFile> <DisabledTestsRunnerFile> <TestName> <Test Harness Executable> <Args>...
|
||||
|
||||
if (len(sys.argv) < 7):
|
||||
sys.exit()
|
||||
@ -12,19 +12,25 @@ if (len(sys.argv) < 7):
|
||||
known_failures = {}
|
||||
disabled_tests = {}
|
||||
known_failures_file = sys.argv[1]
|
||||
disabled_tests_file = sys.argv[2]
|
||||
disabled_tests_type_file = sys.argv[3]
|
||||
disabled_tests_runner_file = sys.argv[4]
|
||||
known_failures_type_file = sys.argv[2]
|
||||
disabled_tests_file = sys.argv[3]
|
||||
disabled_tests_type_file = sys.argv[4]
|
||||
disabled_tests_runner_file = sys.argv[5]
|
||||
|
||||
current_test = sys.argv[5]
|
||||
runner = sys.argv[6]
|
||||
args_start_index = 7
|
||||
current_test = sys.argv[6]
|
||||
runner = sys.argv[7]
|
||||
args_start_index = 8
|
||||
|
||||
# Open the known failures file and add it to a dictionary
|
||||
with open(known_failures_file) as kff:
|
||||
for line in kff:
|
||||
known_failures[line.strip()] = 1
|
||||
|
||||
if path.exists(known_failures_type_file):
|
||||
with open(known_failures_type_file) as dtf:
|
||||
for line in dtf:
|
||||
known_failures[line.strip()] = 1
|
||||
|
||||
with open(disabled_tests_file) as dtf:
|
||||
for line in dtf:
|
||||
disabled_tests[line.strip()] = 1
|
||||
|
@ -84,6 +84,7 @@ foreach(ASM_SRC ${ASM_SOURCES})
|
||||
add_test(NAME ${TEST_NAME}
|
||||
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/testharness_runner.py"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Known_Failures"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Known_Failures_${TEST_TYPE}"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Disabled_Tests"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Disabled_Tests_${TEST_TYPE}"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Disabled_Tests_${CPU_CLASS}"
|
||||
|
@ -92,6 +92,7 @@ foreach(ASM_SRC ${ASM_SOURCES})
|
||||
add_test(NAME ${TEST_NAME}
|
||||
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/testharness_runner.py"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/ASM/Known_Failures"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/ASM/Known_Failures_${TEST_TYPE}"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_${TEST_TYPE}"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_${CPU_CLASS}"
|
||||
|
3
unittests/ASM/Known_Failures_int
Normal file
3
unittests/ASM/Known_Failures_int
Normal file
@ -0,0 +1,3 @@
|
||||
# FPREM is incorrect
|
||||
Test_X87/D9_F5_2.asm
|
||||
Test_X87/D9_F5_3.asm
|
3
unittests/ASM/Known_Failures_jit
Normal file
3
unittests/ASM/Known_Failures_jit
Normal file
@ -0,0 +1,3 @@
|
||||
# FPREM is incorrect
|
||||
Test_X87/D9_F5_2.asm
|
||||
Test_X87/D9_F5_3.asm
|
55
unittests/ASM/X87/D9_F5_2.asm
Normal file
55
unittests/ASM/X87/D9_F5_2.asm
Normal file
@ -0,0 +1,55 @@
|
||||
%ifdef CONFIG
|
||||
{
|
||||
"RegData": {
|
||||
"MM6": ["0xC000000000000000", "0xC000"],
|
||||
"MM7": ["0x8000000000000000", "0x4001"]
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
lea rdx, [rel data]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel data2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
fprem
|
||||
|
||||
lea rdx, [rel result1]
|
||||
fstp tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel data2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
fprem1
|
||||
|
||||
lea rdx, [rel result2]
|
||||
fstp tword [rdx + 8 * 0]
|
||||
|
||||
ffreep st0
|
||||
|
||||
lea rdx, [rel result1]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel result2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
; MM6 contains result2 (fprem1)
|
||||
; MM7 contains result1 (fprem)
|
||||
|
||||
hlt
|
||||
|
||||
align 8
|
||||
data:
|
||||
dt 7.0
|
||||
dq 0
|
||||
data2:
|
||||
dt 11.0
|
||||
dq 0
|
||||
|
||||
result1:
|
||||
dt 0.0
|
||||
dq 0.0
|
||||
result2:
|
||||
dt 0.0
|
||||
dq 0.0
|
55
unittests/ASM/X87/D9_F5_3.asm
Normal file
55
unittests/ASM/X87/D9_F5_3.asm
Normal file
@ -0,0 +1,55 @@
|
||||
%ifdef CONFIG
|
||||
{
|
||||
"RegData": {
|
||||
"MM6": ["0xC000000000000000", "0x4000"],
|
||||
"MM7": ["0x8000000000000000", "0xC001"]
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
lea rdx, [rel data]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel data2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
fprem
|
||||
|
||||
lea rdx, [rel result1]
|
||||
fstp tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel data2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
fprem1
|
||||
|
||||
lea rdx, [rel result2]
|
||||
fstp tword [rdx + 8 * 0]
|
||||
|
||||
ffreep st0
|
||||
|
||||
lea rdx, [rel result1]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
lea rdx, [rel result2]
|
||||
fld tword [rdx + 8 * 0]
|
||||
|
||||
; MM6 contains result2 (fprem1)
|
||||
; MM7 contains result1 (fprem)
|
||||
|
||||
hlt
|
||||
|
||||
align 8
|
||||
data:
|
||||
dt 7.0
|
||||
dq 0
|
||||
data2:
|
||||
dt -11.0
|
||||
dq 0
|
||||
|
||||
result1:
|
||||
dt 0.0
|
||||
dq 0.0
|
||||
result2:
|
||||
dt 0.0
|
||||
dq 0.0
|
@ -54,6 +54,7 @@ foreach(IR_SRC ${IR_SOURCES})
|
||||
add_test(NAME ${TEST_NAME}
|
||||
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/testharness_runner.py"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/IR/Known_Failures"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/IR/Known_Failures_${TEST_TYPE}"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/IR/Disabled_Tests"
|
||||
"${CMAKE_SOURCE_DIR}/unittests/IR/Disabled_Tests_${TEST_TYPE}"
|
||||
"${RUNNER_DISABLED}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user