From 8bc67ec2c0d2b5444d51a1bed1d50f0e10d92717 Mon Sep 17 00:00:00 2001 From: Henrik Gramner Date: Sat, 11 Jul 2015 20:32:11 +0200 Subject: 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=' to run benchmarks for all functions that starts with , and '' 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 --- .gitignore | 1 + 1 file changed, 1 insertion(+) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index d3cde42c65..96494aad54 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,7 @@ /libavutil/avconfig.h /tests/audiogen /tests/base64 +/tests/checkasm/checkasm /tests/data/ /tests/pixfmts.mak /tests/rotozoom -- cgit v1.2.3