-
- Downloads
Checkasm: assembly testing and benchmarking tool
It provides the following features:
* verify correctness by comparing output to the C version.
* detect failure to save and restore clobbered callee-saved registers.
* detect 32-bit parameters being used as if they were 64-bit in x86-64
(the upper halves are not guaranteed to be zero - but in practice
they very often are, which makes those bugs hard to spot otherwise).
* easy benchmarking.
Compile by running 'make checkasm'.
Execute by running 'tests/checkasm/checkasm'.
Optional arguments are '--bench' to run benchmarks for all functions,
'--bench=<pattern>' to run benchmarks for all functions that starts with
<pattern>, and '<integer>' to seed the PRNG for reproducible results.
Contains unit tests for most h264pred functions to get started, more tests
can be added afterwards using those as a reference.
Loosely based on code from x264. Currently only supports x86 and x86-64,
but additional architectures shouldn't be too much of an obstacle to add.
Note that functions with floating point parameters or floating point
return values are not supported. Some compiler-specific features or
preprocessor hacks would likely be required to add support for that.
Signed-off-by:
Janne Grunau <janne-libav@jannau.net>
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- tests/Makefile 2 additions, 0 deletionstests/Makefile
- tests/checkasm/Makefile 33 additions, 0 deletionstests/checkasm/Makefile
- tests/checkasm/checkasm.c 484 additions, 0 deletionstests/checkasm/checkasm.c
- tests/checkasm/checkasm.h 115 additions, 0 deletionstests/checkasm/checkasm.h
- tests/checkasm/h264pred.c 252 additions, 0 deletionstests/checkasm/h264pred.c
- tests/checkasm/x86/Makefile 6 additions, 0 deletionstests/checkasm/x86/Makefile
- tests/checkasm/x86/checkasm.asm 193 additions, 0 deletionstests/checkasm/x86/checkasm.asm
tests/checkasm/Makefile
0 → 100644
tests/checkasm/checkasm.c
0 → 100644
tests/checkasm/checkasm.h
0 → 100644
tests/checkasm/h264pred.c
0 → 100644
tests/checkasm/x86/Makefile
0 → 100644
tests/checkasm/x86/checkasm.asm
0 → 100644
Please register or sign in to comment