- 14 Jun, 2017 1 commit
-
-
James Almer authored
Meant for DSP functions returning a float or double, as they'd fail if emms is called after every run on x86_32. Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 17 Oct, 2016 2 commits
-
-
Diego Biurrun authored
They only contain one line and will never contain more.
-
Diego Biurrun authored
And move the asm recipe to the top-level Makefile next to the other local pattern rules for .o files.
-
- 23 Jan, 2016 1 commit
-
-
Geza Lore authored
Some debuggers/profilers use this metadata to determine which function a given instruction is in; without it they get can confused by local labels (if you haven't stripped those). On the other hand, some tools are still confused even with this metadata. e.g. this fixes `gdb`, but not `perf`. Currently only implemented for ELF. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 21 Jan, 2016 1 commit
-
-
Geza Lore authored
Some debuggers/profilers use this metadata to determine which function a given instruction is in; without it they get can confused by local labels (if you haven't stripped those). On the other hand, some tools are still confused even with this metadata. e.g. this fixes `gdb`, but not `perf`. Currently only implemented for ELF.
-
- 29 Dec, 2015 1 commit
-
-
Janne Grunau authored
Check the full FPU tag word instead of only the lower half and simplify the comparison. Use upper-case function base name as macro name to instantiate both checked_call variants.
-
- 21 Dec, 2015 1 commit
-
-
Janne Grunau authored
Not every asm routine is expected clear the MMX state after returning. It is however a requisite for testing floating point code in checkasm. Annotate functions requiring cleanup with declare_func_emms() and issue emms after the call. The remaining functions are checked for having a cleared MMX state after return.
-
- 28 Sep, 2015 1 commit
-
-
Henrik Gramner authored
The System V ABI on x86-64 specifies that the al register contains an upper bound of the number of arguments passed in vector registers when calling variadic functions, so we aren't allowed to clobber it. checkasm_fail_func() is a variadic function so also zero al before calling it. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 27 Sep, 2015 1 commit
-
-
Henrik Gramner authored
The System V ABI on x86-64 specifies that the al register contains an upper bound of the number of arguments passed in vector registers when calling variadic functions, so we aren't allowed to clobber it. checkasm_fail_func() is a variadic function so also zero al before calling it.
-
- 28 Aug, 2015 1 commit
-
-
Henrik Gramner authored
Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 25 Aug, 2015 1 commit
-
-
Henrik Gramner authored
-
- 20 Aug, 2015 2 commits
-
-
Henrik Gramner authored
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. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
Henrik Gramner authored
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. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 19 Aug, 2015 2 commits
-
-
Henrik Gramner authored
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.
-
Henrik Gramner authored
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.
-
- 13 Jul, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 12 Jul, 2015 1 commit
-
-
Henrik Gramner authored
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>
-