Commit Graph

5 Commits

Author SHA1 Message Date
Henrik Gramner 65c1480152 checkasm: Modify report format
Makes it a bit more clear where each test belongs.

Suggested by Anton Khirnov.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-07-27 07:45:11 +02:00
Michael Niedermayer cb33f8d0f4 checkasm: Give macro a body to avoid potential unexpected syntax issues 2015-07-18 01:06:44 +02:00
Henrik Gramner d37f232635 checkasm: Add unit tests for bswapdsp
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-17 20:03:55 +02:00
Henrik Gramner 2cb34f82b9 checkasm: Add unit tests for h264qpel
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-15 19:47:07 +02:00
Henrik Gramner 8bc67ec2c0 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>
2015-07-12 16:39:07 +02:00