summaryrefslogtreecommitdiff
path: root/testsuite
AgeCommit message (Collapse)AuthorFilesLines
2008-06-30[tests] fix stack alignment test on OS/XDavid Schleef1-3/+10
2008-06-30make mmx test a bit more accurateDavid Schleef1-4/+36
2008-05-12Disable psadbw, since it requires SSE3David Schleef1-2/+2
2008-05-09use an underscore for architectures that require itDavid Schleef1-0/+9
2008-05-03Remove .cvsignore filesDamien Lespiau2-32/+0
Signed-off-by: Damien Lespiau <damien.lespiau@gmail.com>
2008-05-03Update .gitignore filesDamien Lespiau1-0/+20
Signed-off-by: Damien Lespiau <damien.lespiau@gmail.com>
2008-03-13Change illegal powerpc opcode to 0x0David Schleef1-1/+1
2008-03-13Make double_catch work on all architecturesDavid Schleef1-43/+42
2008-03-13Add double SIGILL catch program from #14763David Schleef2-1/+54
2008-02-18[tests] Initialize twice to check for double-init errorsDavid Schleef1-0/+1
2008-02-18Add SSE3 and SSSE3 flags.David Schleef2-0/+41
2008-02-16Improve how latency and throughput are measuredDavid Schleef1-35/+61
2007-12-27Add some gitignore files.David Schleef1-0/+1
2007-11-14* configure.ac:David Schleef1-0/+1
Fix powerpc flags. * examples/videoscale/vs_4tap.c: * liboil/Makefile.am: * liboil/deprecated/vectoradd_s.c: * liboil/liboil.h: * liboil/liboilcolorspace.h: * liboil/liboilcpu.c: * liboil/liboilcpu.h: * liboil/liboildebug.h: * liboil/liboilfault.c: * liboil/liboilfault.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilgcc.h: * liboil/liboilinternal.h: * liboil/liboilparameter.h: * liboil/liboilprofile.h: * liboil/liboilprototype.c: * liboil/liboilprototype.h: * liboil/liboilrandom.h: * liboil/liboiltest.c: * liboil/liboiltest.h: * liboil/liboiltrampolines.c: * liboil/liboiltypes.h: * liboil/liboilutils.c: * liboil/liboilutils.h: Rearrange lots of stuff. Hide everything behind OIL_ENABLE_UNSTABLE_API. * liboil/liboilclasses.h: * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/i386/Makefile.am: * liboil/i386/mas.c: * liboil/i386/wavelet.c: * liboil/i386_amd64/copy.c: * liboil/ref/Makefile.am: * liboil/ref/mas.c: * liboil/ref/wavelet.c: Add some mas functions from schro. * m4/as-gcc-inline-assembly.m4: * testsuite/instruction/check-instructions.pl: Add some new instructions.
2007-05-16* configure.ac:David Schleef1-4/+4
Use AC_LIBTOOL_TAGS so we don't check for FORTRAN * liboil/ref/wavelet.c: Don't construct out-of-range values for testing. * testsuite/mmx_engine.c: Switch to p2align assembler directive.
2007-03-17* configure.ac:David Schleef1-12/+10
* liboil/Makefile.am: * liboil/sse/Makefile.am: * liboil/sse/composite_sse_2pix.c: * liboil/sse/composite_sse_4pix.c: * liboil/sse/sad8x8_sse.c: * liboil/sse/sse_wrapper.h: Add idea to wrap SSE2 functions that have trouble with unaligned stacks with a function that aligns the stack. From Christian Aichinger. * m4/as-gcc-inline-assembly.m4: Fix test for gcc version. * testsuite/stack_align.c: improve somewhat
2007-02-14* examples/printcpu.c:David Schleef1-0/+2
* testsuite/stack_align.c: Fix minor errors on Solaris. Fixed #9824.
2007-01-01* liboil/i386/sad8x8_i386.c:David Schleef1-0/+2
Add impl based on psadbw. Nice. * liboil/i386/wavelet.c: Fix broken impl. * liboil/liboil.h: Add some consts to macro. * liboil/liboilcpu.c: XScale's timestamp isn't available from userspace. Fixes #7988. * liboil/liboiltmp.c: Add some temporary symbols. Fixes build on Windows and OS/X * testsuite/mmx_engine.c: Add psadbw instruction.
2006-11-05* liboil/Makefile.am: dist fixDavid Schleef1-1/+7
* liboil/i386_amd64/resample.c: fix flags * testsuite/mmx_engine.c: fix for pure mmx cpus
2006-11-05* configure.ac:David Schleef1-1/+16
* liboil/Makefile.am: * liboil/amd64/Makefile.am: * liboil/amd64/empty.c: * liboil/i386/Makefile.am: * liboil/i386/clamp.c: * liboil/i386/idct8x8_i386.c: * liboil/i386/mt19937.c: * liboil/i386/resample.c: * liboil/i386/sum.c: * liboil/i386/swab.c: * liboil/i386_amd64/Makefile.am: * liboil/i386_amd64/clamp.c: * liboil/i386_amd64/idct8x8_i386.c: * liboil/i386_amd64/mt19937.c: * liboil/i386_amd64/resample.c: * liboil/i386_amd64/sum.c: * liboil/i386_amd64/swab.c: * testsuite/stack_align.c: Move stuff from i386/ to i386_amd64/ that compiles on amd64 (along with a resample fix). Other random amd64 fixes.
2006-11-05* testsuite/instruction/check-instructions.pl:David Schleef1-1/+9
Add more instructions. * liboil/i386/wavelet.c: Fix flags.
2006-09-29* liboil/i386/resample.c:David Schleef1-119/+19
Disable some (apparently) broken code. * liboil/i386/wavelet.c: Some MMX code. * liboil/liboilclasses.h: * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/liboiltrampolines.c: updated for new classes. * liboil/liboilparameter.h: Export oil_param_from_string(). * liboil/liboilprototype.c: * liboil/liboiltest.c: Handle 'np2' notation. * liboil/ref/rgb.c: * liboil/ref/wavelet.c: Fix a test bug, add some classes. * testsuite/proto3.c: Use oil_param_from_string() in library.
2006-07-06* testsuite/Makefile.am:David Schleef2-1/+320
* testsuite/stack_align.c: Add test for calling functions with multiple stack alignments. Only works on i386/amd64.
2006-02-02* liboil/i386/wavelet.c:liboil_0_3_7David Schleef1-4/+0
* liboil/liboilclasses.h: * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/liboilmarshal.c: * liboil/liboiltrampolines.c: * liboil/ref/Makefile.am: * liboil/ref/wavelet.c: Revert wavelet stuff for release. * testsuite/instruction/list-impls.c: Fixes for HAVE_arch macros from a few days ago.
2006-01-31* testsuite/mmx_engine.c: Add SSE2David Schleef1-21/+225
2006-01-31* configure.ac:David Schleef3-7/+222
* m4/as-host-defines.m4: * liboil/Makefile.am: * liboil/motovec/Makefile.am: * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilimpl-unstable.sgml: * examples/oil-inspect.c: * testsuite/instruction/Makefile.am: Rewrite macros/defines for cpu selection. HAVE_${arch} is the define for cpu architecture, HAVE_GCC_ASM is the define for GCC inline assembly. * liboil/liboilfunction.h: Make implementation flags all part of the same enum, making flags unique across all architectures. This makes it easier to turn flags into feature names platform-independently. * liboil/liboilclasses.h: update * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/liboiltrampolines.c: * liboil/liboilrandom.c: Fix documentation. * liboil/liboiltest.c: same * liboil/liboilrandom.h: remove config.h * license_block: new year * COPYING: Add copyright for mt19937 * examples/Makefile.am: * examples/oil-mt19937.c: * liboil/ref/Makefile.am: * liboil/ref/mt19937ar.c: * liboil/i386/Makefile.am: * liboil/i386/mt19937.c: Add mt19937 and example. * testsuite/Makefile.am: * testsuite/mmx_engine.c: A little thingy for testing the features of an MMX engine.
2006-01-29* liboil/i386/composite_i386.c:David Schleef2-63/+72
* liboil/i386/copy_i386.c: * liboil/i386/resample.c: * testsuite/instruction/check-instructions.pl: * testsuite/instruction/list-impls.c: Fix the instruction lists in check-instructions.pl and fix all the crap it found.
2005-12-26* liboil/i386/Makefile.am: add resample.cDavid Schleef1-1/+1
* liboil/i386/conv_3dnow.c: Fix impl * liboil/i386/conv_sse.c: New impl * liboil/i386/idct8x8_i386.c: disable impls * liboil/i386/swab.c: fix impl * liboil/i386/resample.c: new impls * liboil/liboilclasses.h: update * liboil/liboilfuncs.h: update * liboil/liboilfunction.c: Call srand() at startup. At some point, we need a self-contained random number generator. * liboil/liboiltrampolines.c: update * liboil/ref/resample.c: add new class: merge_linear_u8 * testsuite/instruction/check-instructions.pl: fix misspelling
2005-12-23add list_implsEric Anholt1-0/+1
2005-12-23Move list_impls to a noinst_PROGRAMS variable, so that it gets buildEric Anholt1-1/+2
rules that give it the usual cflags, fixing the build here.
2005-12-22* .cvsignore:David Schleef2-1/+60
* BUGS: * doc/.cvsignore: * liboil/mmx/Makefile.am: * liboil/mmx/fbmmx.c: * patches/divide.c: * patches/nr_mmx_R8G8B8A8_P_EMPTY_A8_RGBAP.S: * patches/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_A8_RGBAP.S: * patches/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM.S: * patches/nr_mmx_R8G8B8_R8G8B8_R8G8B8A8_P.S: * patches/patch-small-lib-2: * testsuite/Makefile.am: * testsuite/list_impls.c: Clean up local source tree. Put spare files in the place where spare files go.
2005-12-19* doc/Makefile.am:David Schleef2-43/+158
* doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilfuncs-copy.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: Documentation updates. * examples/Makefile.am: * examples/oil-test.c: Add an -n option and fix printing u8. * examples/oil-suggest.c: A proggy for recommending stuff to work on. * examples/taylor/example1.c: Random minor changes. * liboil/conv/conv_c.c: Disable lrint stuff for u32, because it can't possibly work. * liboil/i386/conv_3dnow.c: (conv_s32_f32_3dnow): Fix. * liboil/i386/md5_i386.c: (md5_asm1), (md5_asm2): Fix. * liboil/liboilparameter.h: Add oil_type_is_floating_point(); * liboil/liboiltest.c: Add OilTest::tolerance for setting the tolerance on dest arrays. * liboil/liboiltest.h: * liboil/ref/conv.c: (conv_test): Implement a test function for floating point to integer conversions (to test the entire range). * testsuite/align.c: (check_class_with_alignment), (check_class): Rearrange some code here and rely on the internal testing stuff to work. * testsuite/n_impls.c: (oil_class_get_n_impls), (main): New test to make sure we don't accidentally delete implementations between versions.
2005-12-16Fix an issue in the unrolled zigzag function where the src and dstEric Anholt3-1/+60
offsets were swapped. Add a testsuite entry to check that the process of zigzagging and unzigzagging results in the original data.
2005-12-15Make the guard header/footer size configurable at test runtime. UseEric Anholt3-1/+310
this to make a test of implementation invariance with respect to the alignment of arguments (offsetting arguments by 0 to 3 times the size of their type). The align test also varies the length of arguments, to catch issues with fixups at the end of unrolled loops. Note that its tests of the results are stricter than oil's internal tests, resulting in some failures due to accuracy, that should probably be examined. Remove scalarmult_f32_sse which is hopelessly broken (and when fixed, is much slower than ref).
2005-12-12Improve .cvsignores.Eric Anholt2-0/+12
2005-12-04* testsuite/stride.c: (main): Fix crash with -v. (Fixes: #5162)David Schleef1-1/+1
2005-12-04* doc/Makefile.am:David Schleef2-3/+3
Add a sync target to encourage me to upload docs. * examples/Makefile.am: * examples/oil-graph.c: (test), (main): New program to print out time v. N results easily graphable. * liboil/liboilfunction.c: (oil_class_optimize): * liboil/liboiltest.c: (oil_test_check_function), (oil_test_check_impl): * liboil/liboiltest.h: Add ave/std members to OilProfile and use them. * liboil/fb/fbmmx.c: This requires MMXEXT. * testsuite/instruction/check-instructions.pl: Fix regexp. * testsuite/instruction/list-impls.c: (main): Architecture test switched to HAVE_GCC_I386.
2005-10-28* autogen.sh: Refactor how we check for intrinsics and flags.David Schleef1-1/+1
Remove hard-coded CFLAGS that don't work on Forte. This is not complete, specifically, some of the makefiles aren't up to the new order. * configure.ac: * liboil/Makefile.am: * liboil/conv/Makefile.am: * liboil/fb/Makefile.am: * liboil/i386/Makefile.am: * liboil/math/Makefile.am: * liboil/motovec/Makefile.am: * liboil/powerpc/Makefile.am: * liboil/sse/Makefile.am: * liboil/utf8/Makefile.am: * m4/as-gcc-inline-assembly.m4: * m4/as-intrinsics.m4: * testsuite/instruction/Makefile.am:
2005-08-16GCC complains on solaris when isspace() is called with aDavid Schleef2-12/+12
char argument. Rather than argue about such stupidity, I'll play along. * liboil/liboilprototype.c: (oil_prototype_from_string), (parse_string), (oil_param_from_string): * testsuite/introspect.c: (parse_type), (parse_size), (parse_string), (parse_prototype): * testsuite/proto3.c: (check_param):
2005-08-15* liboil/powerpc/Makefile.am: disable fdct8x8theora_altivec.c,David Schleef1-11/+6
because it doesn't compile. * liboil/powerpc/recon8x8_ppc.c: (recon8x8_inter_ppc), (recon8x8_inter2_ppc): disable functions, because they cause bus errors. * liboil/simdpack/clip_fast.c: (clip_s16_fast2): Fix endpoint problem. * testsuite/Makefile.am: remove unused GLIB flags
2005-08-15* testsuite/abs.c: (test), (main): remove glib usage in testsuiteDavid Schleef5-51/+52
* testsuite/copy.c: (test), (main): * testsuite/md5.c: (test), (main): * testsuite/md5_profile.c: (test), (main): * testsuite/trans.c: (test), (main):
2005-08-15* configure.ac: Add some altivec theora codeDavid Schleef1-0/+2
* liboil/Makefile.am: * liboil/powerpc/Makefile.am: * liboil/powerpc/fdct8x8theora_altivec.c: (fdct8x8theora_altivec): * liboil/powerpc/recon8x8_altivec.c: (recon8x8_intra_altivec), (recon8x8_inter_altivec), (recon8x8_inter2_altivec): * liboil/powerpc/recon8x8_ppc.c: (recon8x8_intra_ppc), (recon8x8_inter_ppc), (recon8x8_inter2_ppc): * liboil/colorspace/composite.c: Fix bug in ADD operator. * liboil/dct/fdct8x8theora_i386.c: * liboil/simdpack/average2_u8.c: (average2_u8_trick), (average2_u8_unroll4): Fix n%4!=0 problems noticed by thomasvs. * liboil/simdpack/scalarmult_i386.c: (scalarmult_f32_sse): Fix n%4!=0 problems. * testsuite/stride.c: (main): use a random n to test possible endpoint problems.
2005-08-14* configure.ac: use macro for gtk-doc checkingDavid Schleef2-5/+14
* doc/tmpl/liboil-unused.sgml: update * doc/tmpl/liboilfuncs-conv.sgml: * doc/tmpl/liboilfuncs-copy.sgml: * doc/tmpl/liboilfuncs-dct.sgml: * doc/tmpl/liboilfuncs-doc.sgml: * doc/tmpl/liboilfuncs-math.sgml: * doc/tmpl/liboilfuncs-math8x8.sgml: * doc/tmpl/liboilfuncs-pixel.sgml: * liboil/simdpack/Makefile.am: AMD64 fix * m4/gtk-doc.m4: enable gtk-doc by default * patches/patch-remove-indirection: update * testsuite/instruction/Makefile.am: don't run by default * testsuite/stride.c: (main): add some random striding
2005-08-03* doc/Makefile.am: updatesDavid Schleef1-0/+9
* doc/liboil-docs.sgml: * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilcpu.sgml: * doc/tmpl/liboilfuncs-doc.sgml: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboiltest.sgml: * testsuite/instruction/check-instructions.pl: minor opcode fixes
2005-08-03* HACKING: some notesDavid Schleef1-0/+11
* configure.ac: readd _GNU_SOURCE * liboil/Makefile.am: add new dirs, create decls header * liboil/build_class_decls.c: create decls header * liboil/liboilclasses.h: new decls header * liboil/liboilinternal.h: general internal header * liboil/fb/.cvsignore: cvsignore * liboil/i386/.cvsignore: * liboil/math/.cvsignore: * liboil/motovec/.cvsignore: * liboil/ref/.cvsignore: * liboil/sse/.cvsignore: * liboil/utf8/.cvsignore: * testsuite/instruction/check-instructions.pl: minor opcode fixes
2005-08-01* Makefile.am: add 'foreign' to automake flagsDavid Schleef1-10/+20
* configure.ac: add some dirs * examples/Makefile.am: same * examples/memcpy-speed.c: (main): change back to gromit's cpu * examples/oil-inspect.c: (oil_print_impl): Don't run non-runnable implementations. * examples/oil-test.c: (dump_array), (main): minor fixes * examples/taylor/Makefile.am: new * examples/taylor/example1.c: new * liboil/Makefile.am: add dirs * liboil/colorspace/composite.c: (composite_over_argb_noclamp_2): alternate clamping version * liboil/simdpack/scalarmult.c: add unrolled impls * testsuite/instruction/check-instructions.pl: fixes * liboil/fb/Makefile.am: new * liboil/fb/fbmmx.h: new * liboil/fb/fbmmx.c: new
2005-06-16* liboil/conv/conv_sse.c:David Schleef2-47/+79
* liboil/sse/Makefile.am: Fix flags * liboil/sse/conv_sse.c: (conv_f32_s32_sse): Remove emms, since it's not MMX code, and remove MMX flag. * testsuite/instruction/Makefile.am: convert to check program * testsuite/instruction/check-instructions.pl: add list of instructions that are both mmx and sse2, and differentiate based on usage of %xmm registers.
2005-06-16* testsuite/instruction/Makefile.am:David Schleef2-3/+66
* testsuite/instruction/check-instructions.pl: Add sse2 instructions
2005-06-16* configure.ac: Add instruction checkerDavid Schleef4-0/+544
* testsuite/Makefile.am: * testsuite/instruction/Makefile.am: * testsuite/instruction/check-instructions.pl: * testsuite/instruction/list-impls.c: (main): * liboil/colorspace/argb_paint_i386.c: Fix flags based on advice of the instruction checker * liboil/colorspace/ayuv2argb_i386.c: * liboil/conv/conv_3dnow.c: * liboil/conv/conv_sse.c: * liboil/copy/trans8x8_i386.c: * liboil/dct/idct8x8_i386.c: * liboil/sse/conv_sse.c: * liboil/liboilfuncs.h: update * liboil/liboilmarshal.c: (_oil_test_marshal_function): update * liboil/liboiltest.c: (oil_test_new), (oil_test_check_function): regenerate inplace data for every test iteration. Bump default n to 1000 to force memcpy to choose a good function. (lame hack) * liboil/copy/copy_i386.c: (copy_u8_mmx3), (copy_u8_mmx4), (copy_u8_mmx5): new implementation, fix others * liboil/copy/splat_i386.c: (splat_u32_ns_mmx): make faster * liboil/copy/splat_ref.c: (splat_u8_ns_int): fix bug * liboil/colorspace/argb_paint.c: (argb_splat_u8_ref), (rgba_splat_u8_ref): New functions * liboil/simdpack/average2_u8.c: (average2_u8_ref), (average2_u8_trick), (average2_u8_fast), (average2_u8_unroll4): Implementations really need to follow stride rules. * liboil/Makefile.am: Don't use SSE flags, because people on powerpc don't appreciate it. * examples/memcpy-speed.c: (main): only go to 1<<24 bytes
2005-03-01* configure.ac: add utf8David Schleef1-1/+1
* examples/work/work.c: (test), (dump_array), (dump_test), (dump_source), (main): improve things a bit * liboil/Makefile.am: add utf8 * liboil/liboilfuncs.h: add utf8 * liboil/liboilfunction.c: (oil_class_optimize): Fix memleak. * liboil/utf8/Makefile.am: utf8 functions * liboil/utf8/utf8.c: (utf8_validate_test), (utf8_validate_ref): * liboil/utf8/utf8.h: same * testsuite/dso_check.c: (main): fix compilation