- 18 Feb, 2016 1 commit
-
-
Diego Biurrun authored
-
- 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>
-
- 07 Jan, 2016 2 commits
-
-
Martin Storsjö authored
This is disabled on iOS, since iOS uses a slightly different ABI for vararg parameters. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Use two separate functions, depending on whether VFP/NEON is available. This is set to require armv5te - it uses blx, which is only available since armv5t, but we don't have a separate configure item for that. (It also uses ldrd, which requires armv5te, but this could be avoided if necessary.) Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 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.
-
- 24 Dec, 2015 1 commit
-
-
Alexandra Hájková authored
They were superseded with their integer equivalents. Rename integer decode_hf to decode_hf.
-
- 21 Dec, 2015 5 commits
-
-
Janne Grunau authored
-
Janne Grunau authored
-
Janne Grunau authored
-
Janne Grunau authored
-
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.
-
- 14 Dec, 2015 1 commit
-
-
Janne Grunau authored
The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu implementations do not support it in hardware. Vector mode code will depending the OS either be emulated in software or result in an illegal instruction on cpus which does not support it. This was not really problem in practice since NEON implementations of the same functions are preferred. It will however become a problem for checkasm which tests every cpu flag separately. Since this is a cpu feature newer cpu do not support anymore the behaviour of this flag differs from the other flags. It can be only activated by runtime cpu feature selection.
-
- 05 Dec, 2015 1 commit
-
-
Anton Khirnov authored
-
- 03 Oct, 2015 1 commit
-
-
Henrik Gramner authored
The previous implementation was behaving incorrectly in some corner cases. Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 28 Sep, 2015 2 commits
-
-
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>
-
Henrik Gramner authored
Tested functions are internally kept in a binary search tree for efficient lookups. The downside of the current implementation is that the tree quickly becomes unbalanced which causes an unneccessary amount of comparisons between nodes. Improve this by changing the tree into a self-balancing left-leaning red-black tree with a worst case lookup/insertion time complexity of O(log n). Significantly reduces the recursion depth and makes the tests run around 10% faster overall. The relative performance improvement compared to the existing non-balanced tree will also most likely increase as more tests are added. Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 17 Sep, 2015 1 commit
-
-
Henrik Gramner authored
-
- 06 Sep, 2015 1 commit
-
-
Henrik Gramner authored
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
- 28 Aug, 2015 1 commit
-
-
Henrik Gramner authored
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 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>
-
- 11 Aug, 2015 1 commit
-
-
Henrik Gramner authored
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 30 Jul, 2015 1 commit
-
-
Martin Storsjö authored
configure does check for isatty, and checkasm properly checks HAVE_ISATTY, but on some platforms (e.g. WinRT), io.h needs to be included for isatty to be available. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 27 Jul, 2015 1 commit
-
-
Henrik Gramner authored
Makes it a bit more clear where each test belongs. Suggested by Anton Khirnov. Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 26 Jul, 2015 1 commit
-
-
Michael Niedermayer authored
Fixes alignment issues and bus errors. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 22 Jul, 2015 1 commit
-
-
Janne Grunau authored
Fixes MSVC compilation.
-
- 21 Jul, 2015 1 commit
-
-
Luca Barbato authored
Checkasm needs to use internal symbols that should not be made public.
-
- 17 Jul, 2015 5 commits
-
-
Janne Grunau authored
-
Michael Niedermayer authored
-
Henrik Gramner authored
-
Luca Barbato authored
-
Henrik Gramner authored
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
- 15 Jul, 2015 1 commit
-
-
Henrik Gramner authored
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
- 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>
-