Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@gmail.com>
|
|
Signed-off-by: Damien Lespiau <damien.lespiau@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
* 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
|
|
* testsuite/stack_align.c:
Fix minor errors on Solaris. Fixed #9824.
|
|
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.
|
|
* liboil/i386_amd64/resample.c: fix flags
* testsuite/mmx_engine.c: fix for pure mmx cpus
|
|
* 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.
|
|
Add more instructions.
* liboil/i386/wavelet.c:
Fix flags.
|
|
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.
|
|
* testsuite/stack_align.c:
Add test for calling functions with multiple stack alignments.
Only works on i386/amd64.
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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
|
|
|
|
rules that give it the usual cflags, fixing the build here.
|
|
* 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.
|
|
* 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.
|
|
offsets were swapped. Add a testsuite entry to check that the process
of zigzagging and unzigzagging results in the original data.
|
|
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).
|
|
|
|
|
|
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.
|
|
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:
|
|
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):
|
|
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
|
|
* testsuite/copy.c: (test), (main):
* testsuite/md5.c: (test), (main):
* testsuite/md5_profile.c: (test), (main):
* testsuite/trans.c: (test), (main):
|
|
* 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.
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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.
|
|
* testsuite/instruction/check-instructions.pl: Add sse2 instructions
|
|
* 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
|
|
* 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
|