Commit Graph

26 Commits

Author SHA1 Message Date
Michael Niedermayer
b940145c67 Merge commit '65c14801527068fcaf729eeffc142ffd4682a21a'
* commit '65c14801527068fcaf729eeffc142ffd4682a21a':
  checkasm: Modify report format

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 12:27:12 +02:00
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
ce466275f8 Merge commit '4d0d55cd623bcd504867f948849380f6b4060b4d'
* commit '4d0d55cd623bcd504867f948849380f6b4060b4d':
  checkasm: Use LOCAL_ALIGNED

See: f467fc02b4
See: 9e83ac6114
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 11:39:58 +02:00
Michael Niedermayer
4d0d55cd62 checkasm: Use LOCAL_ALIGNED
Fixes alignment issues and bus errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 10:36:22 +03:00
Michael Niedermayer
f467fc02b4 tests/checkasm/h264pred: Use LOCAL_ALIGNED_16()
Fixes alignment issue and bus errors

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 00:44:02 +02:00
Michael Niedermayer
9e83ac6114 tests/checkasm/h264qpel: Use LOCAL_ALIGNED_16()
Fixes alignment issue and bus errors

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 00:35:18 +02:00
Michael Niedermayer
e1b5a2e46e Merge commit 'e605bf3b590d295f215fcc9fd58eb11be55b68cb'
* commit 'e605bf3b590d295f215fcc9fd58eb11be55b68cb':
  checkasm: remove empty array initializer list in h264pred test

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 16:38:16 +02:00
Michael Niedermayer
c1692439e0 Merge commit '3ae0e721c7b6e0483801b9039b3d140e3b68b7f5'
* commit '3ae0e721c7b6e0483801b9039b3d140e3b68b7f5':
  checkasm: Always link statically

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 16:30:37 +02:00
Janne Grunau
e605bf3b59 checkasm: remove empty array initializer list in h264pred test
Fixes MSVC compilation.
2015-07-22 12:06:32 +02:00
Luca Barbato
3ae0e721c7 checkasm: Always link statically
Checkasm needs to use internal symbols that should not be made public.
2015-07-21 23:22:42 +02:00
Michael Niedermayer
593731efa8 tests/checkasm/Makefile: Fix checkasm with SDL
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 15:55:05 +02:00
Michael Niedermayer
e6b01480e5 Merge commit '82e6ac85ff9aa7631b8c01521b3d6b5ca0bc8014'
* commit '82e6ac85ff9aa7631b8c01521b3d6b5ca0bc8014':
  checkasm: test all architectures with optimisations

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 02:31:14 +02:00
Michael Niedermayer
78274b19f1 Merge commit '6cc4d3e9a982e926494f4b919d9733fe29774acf'
* commit '6cc4d3e9a982e926494f4b919d9733fe29774acf':
  checkasm: exit with status 0 instead of 1 if there are no tests to perform

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 02:22:43 +02:00
Michael Niedermayer
b1861f18b6 Merge commit 'fc56868399213d3e9be19bdebeb64df233b39a7e'
* commit 'fc56868399213d3e9be19bdebeb64df233b39a7e':
  cosmetics: Reformat checkasm tests

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 01:57:04 +02:00
Janne Grunau
82e6ac85ff checkasm: test all architectures with optimisations 2015-07-18 01:06:45 +02:00
Henrik Gramner
6cc4d3e9a9 checkasm: exit with status 0 instead of 1 if there are no tests to perform 2015-07-18 01:06:44 +02:00
Michael Niedermayer
cb33f8d0f4 checkasm: Give macro a body to avoid potential unexpected syntax issues 2015-07-18 01:06:44 +02:00
Michael Niedermayer
72d1409e23 Merge commit 'd37f23263584774e1798e9ac909a398304a05091'
* commit 'd37f23263584774e1798e9ac909a398304a05091':
  checkasm: Add unit tests for bswapdsp

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 23:26:59 +02:00
Luca Barbato
fc56868399 cosmetics: Reformat checkasm tests 2015-07-17 21:29:20 +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
Michael Niedermayer
a39512ba9e tests/checkasm/checkasm: Give macro a body to avoid potential unexpected syntax issues
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 04:35:14 +02:00
Michael Niedermayer
cbd4a1dbde Merge commit '2cb34f82b92c15b811f5c03dc7f61a4baf6e02e3'
* commit '2cb34f82b92c15b811f5c03dc7f61a4baf6e02e3':
  checkasm: Add unit tests for h264qpel

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 22:44:28 +02:00
Michael Niedermayer
7c944b0a36 tests/checkasm/x86/Makefile: Use ASMSTRIPFLAGS for asm
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 03:15:44 +02:00
Michael Niedermayer
f14fc55969 Merge commit '8bc67ec2c0d2b5444d51a1bed1d50f0e10d92717'
* commit '8bc67ec2c0d2b5444d51a1bed1d50f0e10d92717':
  Checkasm: assembly testing and benchmarking tool

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 21:03:06 +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