summaryrefslogtreecommitdiff
path: root/tests/checkasm/x86
Commit message (Collapse)AuthorAge
* checkasm: Fix floating point arguments on 64-bit WindowsHenrik Gramner2015-08-25
|
* checkasm: x86: properly save rdx/edx in checked_call()Henrik Gramner2015-08-19
| | | | | | | | | If the return value doesn't fit in a single register rdx/edx can in some cases be used in addition to rax/eax. Doesn't affect any of the existing checkasm tests but might be useful later. Also comment the relevant code a bit better.
* checkasm: Explicitly declare function prototypesHenrik Gramner2015-08-19
| | | | | | | | | | Now we no longer have to rely on function pointers intentionally declared without specified argument types. This makes it easier to support functions with floating point parameters or return values as well as functions returning 64-bit values on 32-bit architectures. It also avoids having to explicitly cast strides to ptrdiff_t for example.
* tests/checkasm/x86/Makefile: Use ASMSTRIPFLAGS for asmMichael Niedermayer2015-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '8bc67ec2c0d2b5444d51a1bed1d50f0e10d92717'Michael Niedermayer2015-07-12
| | | | | | | * commit '8bc67ec2c0d2b5444d51a1bed1d50f0e10d92717': Checkasm: assembly testing and benchmarking tool Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* Checkasm: assembly testing and benchmarking toolHenrik Gramner2015-07-12
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>