Add some small benchmarks

This commit is contained in:
Alexis Engelke
2019-01-13 08:55:11 +01:00
parent 6b34f55855
commit ec7d27302e
2 changed files with 36 additions and 7 deletions

13
tests/benchmarks.txt Normal file
View File

@@ -0,0 +1,13 @@
decode 90 [NOP]
decode 0fcd [BSWAP REG4:5]
decode 660fcd [BSWAP REG2:5]
decode 6650 [PUSH REG2:0]
decode a5 [MOVS_4]
decode f3a5 [MOVS_4]
decode 66a5 [MOVS_2]
decode f366a5 [MOVS_2]
decode f7d7 [NOT REG4:7]
decode f717 [NOT MEM4:7:0x0]
decode f7142f [NOT MEM4:7:1*5:0x0]
decode f7542f12 [NOT MEM4:7:1*5:0x12]
decode f7942f34120000 [NOT MEM4:7:1*5:0x1234]

View File

@@ -1,5 +1,13 @@
cases = [ test_driver = executable('test_driver', 'driver.c',
dependencies: libx86decode,
c_args: ['-D_GNU_SOURCE'])
test_args = [files('test.py'), test_driver, archmode]
## Test cases
testcases = [
['enter', 'decode-enter.sh'], ['enter', 'decode-enter.sh'],
['imul', 'decode-imul.sh'], ['imul', 'decode-imul.sh'],
['inc', 'decode-inc.sh'], ['inc', 'decode-inc.sh'],
@@ -10,11 +18,19 @@ cases = [
['sse-movq', 'decode-sse-movq.sh'], ['sse-movq', 'decode-sse-movq.sh'],
] ]
test_driver = executable('test_driver', 'driver.c', foreach case : testcases
dependencies: libx86decode,
c_args: ['-D_GNU_SOURCE'])
test_args = files('test.py') + [test_driver.full_path(), get_option('archmode')]
foreach case : cases
test(case[0], python3, args: test_args + files(case[1])) test(case[0], python3, args: test_args + files(case[1]))
endforeach endforeach
## Benchmarks
#
# Note that we don't use meson's benchmark function here, because it doesn't
# give us the output we need by default.
benchmarks = [
'benchmarks.txt',
]
run_target('benchmark_decode',
command: [python3, test_args, '--benchmark', files(benchmarks)])