2006-03-21 David Schleef <ds@schleef.org>
* configure.ac: version 0.3.8 * doc/tmpl/liboildebug.sgml: gtk-doc wanted to change these * doc/tmpl/liboilimpl-unstable.sgml: 2006-03-21 David Schleef <ds@schleef.org> * liboil/i386/wavelet.c: add mmx/mmxext flag to impls 2006-03-20 David Schleef <ds@schleef.org> * examples/Makefile.am: add oil-bugreport * examples/oil-bugreport.c: * liboil/liboildebug.c: 2006-03-20 David Schleef <ds@schleef.org> * liboil/fb/fbmmx.c: Disabling fbCompositeSolid_nx8888mmx(). I'm tired of it being randomly broken. * liboil/liboilcpu.c: Changes some of the debug messages to produce a coherent story at OIL_DEBUG=3. * liboil/liboilfunction.c: same 2006-03-20 David Schleef <ds@schleef.org> * liboil/liboilfunction.c: (oil_impl_is_runnable): Check if impl is disabled. 2006-03-20 David Schleef <ds@schleef.org> * liboil/Makefile.am: Disable fb/ if SSE2 instrinsics aren't present. Rather harsh, but it's uncommon and people should really be using a decent toolchain. (Fixes #6067) 2006-03-20 David Schleef <ds@schleef.org> * liboil/i386/mt19937.c: Add MMXEXT flag to functions that require it. (Fixes #6060) 2006-03-20 David Schleef <ds@schleef.org> * liboil/liboilprofile.c: Detect what kind of ARM processor is being run on and select the correct profile function. (Fixes parts of #6077). Fix s390 assembly (fixes #5822) 2006-03-20 David Schleef <ds@schleef.org> * liboil/liboilprofile.c: Fix misspelling of XScale profile function (fixes #6076) 2006-03-04 David Schleef <ds@schleef.org> * liboil/i386/Makefile.am: * liboil/liboilclasses.h: * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/liboilmarshal.c: * liboil/liboiltrampolines.c: * liboil/ref/Makefile.am: Reenable wavelet code. 2006-02-18 Eric Anholt <anholt@FreeBSD.org> * liboil/liboilcpu.c: (get_proc_cpuinfo), (oil_cpu_i386_getflags): Disable linux-only code on non-linux to pacify Werror. 2006-02-15 David Schleef <ds@schleef.org> * liboil/Makefile.am: Require SSE2 intrinsics for sse/. It likely only affects gcc-3.3 although it should be fixed some day. * liboil/i386/copy_i386.c: Disable some code that's being bad. * m4/as-intrinsics.m4: Check for an intrinsic that's buggy in gcc-3.3. 2006-02-03 David Schleef <ds@schleef.org> * liboil/conv/conv_bitstuff.c: Disable impl that is busted on powerpc. 2006-02-03 David Schleef <ds@schleef.org> * liboil/powerpc/conv.c: Fix compile failure on powerpc. 2006-02-02 David Schleef <ds@schleef.org> * configure.ac: version bump === 0.3.7 === 2006-02-02 David Schleef <ds@schleef.org> * liboil/i386/wavelet.c: * 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-30 David Schleef <ds@schleef.org> * testsuite/mmx_engine.c: Add SSE2 2006-01-30 David Schleef <ds@schleef.org> * configure.ac: * 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-28 David Schleef <ds@schleef.org> * liboil/i386/composite_i386.c: * liboil/i386/resample.c: Fixes for SSE2 code 2006-01-28 David Schleef <ds@schleef.org> * liboil/i386/composite_i386.c: * 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. 2006-01-28 David Schleef <ds@schleef.org> * examples/oil-suggest.c: cleanup * liboil/Makefile.am: clean liboil-stdint.h * liboil/liboilclasses.h: add splat_u16_ns * liboil/ref/splat.c: same * liboil/liboilfuncs-04.h: same * liboil/liboilfuncs.h: same * liboil/liboiltrampolines.c: same 2006-01-20 David Schleef <ds@schleef.org> * configure.ac: Add LIBOIL_OLD_MAJORMINOR * liboil/Makefile.am: Use LIBOIL_OLD_MAJORMINOR and link liboiltmp.c into liboiltmp, so that it doesn't have unresolved symbols. * liboil/liboiltmp.c: new 2006-01-18 David Schleef <ds@schleef.org> * liboil/ref/convert.c: new classes * liboil/sse/clamp_sse.c: compile fix 2006-01-18 David Schleef <ds@schleef.org> * liboil/ref/Makefile.am: * liboil/ref/wavelet.c: * liboil/c/Makefile.am: * liboil/c/wavelet.c: * liboil/i386/wavelet.c: add some new wavelet code * liboil/liboilclasses.h: * liboil/liboilfuncs-04.h: * liboil/liboilfuncs.h: * liboil/liboilmarshal.c: * liboil/liboiltrampolines.c: updates 2006-01-06 David Schleef <ds@schleef.org> * liboil/build_prototypes.c: * liboil/build_prototypes_04.c: * liboil/build_trampolines.c: * liboil/liboilfunction.c: Replace strdup() calls with a local function. Fixes #5515 2006-01-05 Eric Anholt <anholt@FreeBSD.org> * liboil/jpeg/zigzag8x8_c.c: (unzigzag8x8_s16_unroll): Add an unrolled unzigzag8x8_s16, just like zigzag8x8_s16 has. Performance improvement is similar at over 6x. 2006-01-05 Eric Anholt <anholt@FreeBSD.org> * liboil/math/Makefile.am: Minor distcheck fix. 2006-01-05 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: Fix a memleak if /proc/cpuinfo doesn't exist. (Fixes #5513) Also fix an fd leak. Reenable SSE on OS's that don't support it, since there's no SSE detection for Windows, but Windows 2000+ does support it. 2005-12-27 David Schleef <ds@schleef.org> * configure.ac: If --enable-new-abi is selected, use 0.4 * liboil/Makefile.am: * liboil/build_prototypes.c: * liboil/build_prototypes_04.c: * liboil/build_trampolines.c: Misc changes for making it easy to switch betwen 0.3 and 0.4 ABIs. * liboil/i386/Makefile.am: * liboil/liboilfuncs-04.h: * liboil/liboiltrampolines.c: * liboil/simdpack/Makefile.am: Disable impls for deprecated classes if --enable-new-abi is used. * liboil/deprecated/.cvsignore: * liboil/deprecated/Makefile.am: * liboil/deprecated/abs.c: * liboil/deprecated/average2_u8.c: * liboil/deprecated/clip_ref.c: * liboil/deprecated/conv.c: * liboil/deprecated/permute.c: * liboil/deprecated/scalaradd.c: * liboil/deprecated/scalarmult.c: * liboil/deprecated/tablelookup.c: * liboil/deprecated/vectoradd_f64.c: * liboil/deprecated/vectoradd_s.c: * liboil/ref/Makefile.am: * liboil/ref/abs.c: * liboil/ref/average2_u8.c: * liboil/ref/clip_ref.c: * liboil/ref/conv.c: * liboil/ref/permute.c: * liboil/ref/scalaradd.c: * liboil/ref/scalarmult.c: * liboil/ref/tablelookup.c: * liboil/ref/vectoradd_f64.c: * liboil/ref/vectoradd_s.c: Move a bunch of reference functions because they're now deprecated. 2005-12-26 Eric Anholt <anholt@FreeBSD.org> * examples/.cvsignore: * examples/Makefile.am: * examples/printcpu.c: (string_append), (oil_cpu_flags_to_string), (main): Add an example program to pretty-print the set of cpu flags. To be used by the tinderbox for reporting about the cpu it's running on. 2005-12-26 David Schleef <ds@schleef.org> * liboil/c/Makefile.am: * liboil/c/ag_clamp.c: * liboil/c/generate_clamp.pl: Some autogenerated C implementations for clamp. * liboil/i386/Makefile.am: * liboil/i386/clamp.c: Some implementations. * liboil/i386/conv_3dnow.c: Disable a slightly broken impl. * liboil/ref/clamp.c: Fix some silliness in the prototypes for the clamp functions. I'm surprised it even worked at all. 2005-12-25 David Schleef <ds@schleef.org> * liboil/i386/Makefile.am: add resample.c * 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-23 Eric Anholt <anholt@FreeBSD.org> * liboil/i386/copy_i386.c: (copy_u8_i386_mmx), (splat_u8_ns_i386_mmx): * liboil/i386/splat_i386.c: (splat_u32_ns_i386_mmx): * liboil/mmx/copy_mmx.c: (copy_u8_mmx), (copy_u8_mmx_unroll4): * liboil/mmx/splat_mmx.c: (splat_u32_ns_mmx), (splat_u32_ns_mmx_unroll4), (splat_u8_ns_mmx), (splat_u8_ns_mmx_unroll4): Rename some i386 mmx implementations to not collide with mmx intrinsics implementations. And don't forget the _mm_empty()s in the new mmx code. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/mmx/Makefile.am: * liboil/mmx/copy_mmx.c: (copy_u8_mmx), (copy_u8_mmx_unroll4): * liboil/sse/Makefile.am: * liboil/sse/copy_sse.c: (copy_u8_sse), (copy_u8_sse_unroll2): Add MMX/SSE2 copy implementations. MMX wins on my desktop, but I'm leaving SSE2 in just in case (note: both of them beat out the previous winner). 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/Makefile.am: Correct the splat_sse.c filename, which I botched at the last minute while splitting up commits. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/mmx/Makefile.am: * liboil/mmx/splat_mmx.c: (splat_u32_ns_mmx), (splat_u32_ns_mmx_unroll4), (splat_u8_ns_mmx), (splat_u8_ns_mmx_unroll4): * liboil/sse/Makefile.am: * liboil/sse/splat_sse.c: (splat_u32_ns_sse), (splat_u32_ns_sse_unroll2), (splat_u8_ns_sse), (splat_u8_ns_sse_unroll2): Add some MMX/SSE2 splat_ns implementations. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/clamp_sse.c: (clamp_u8_sse), (clamp_s16_sse), (clamplow_u8_sse), (clamplow_s16_sse), (clamphigh_u8_sse), (clamphigh_s16_sse): Add a few more easy-to-write clamp implementations for SSE2. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/Makefile.am: * liboil/sse/sad8x8_sse.c: (sad8x8_u8_sse): Add an SSE2 sad8x8 implementation that's way faster than _ref. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/i386/Makefile.am: Disable fdct8x8theora_mmx, since it produces garbage results for me. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * testsuite/Makefile.am: Move list_impls to a noinst_PROGRAMS variable, so that it gets build rules that give it the usual cflags, fixing the build here. 2005-12-23 Eric Anholt <anholt@FreeBSD.org> * liboil/c/Makefile.am: * liboil/c/composite.c: (composite_in_argb_fast), (composite_in_argb_const_src_fast), (composite_in_argb_const_mask_fast), (composite_over_argb_fast), (composite_over_argb_const_src_fast), (composite_add_argb_fast), (composite_add_argb_const_src_fast), (composite_in_over_argb_fast), (composite_in_over_argb_const_src_fast), (composite_in_over_argb_const_mask_fast), (composite_add_u8_fast), (composite_add_u8_const_src_fast), (composite_over_u8_fast): Add fast C implementations of composite classes, operating on two channels at a time in a uint32_t. Inspired by fbpict.h's FbByte* macros. oil-inspect says they generally take about 2/3 the cycles of _ref. 2005-12-22 David Schleef <ds@schleef.org> * liboil/mmx/Makefile.am: * liboil/mmx/fbmmx.c: Oops, duplicate of fb/fbmmx.c 2005-12-22 David Schleef <ds@schleef.org> * .cvsignore: * 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-22 David Schleef <ds@schleef.org> * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilprofile.sgml: * liboil/liboilfunction.c: init_no_optimize() should agree with oil_init() that the library has been initialized. Also stop using oil_profile_stamp_gtod() * liboil/liboilprofile.c: * liboil/liboilprofile.h: Move all the inline profile functions to liboilprofile.c. Remove oil_profile_stamp_gtod(). Also fix the s390 timestamp function. * liboil/copy/splat_ref.c: More impls. * liboil/i386/copy_i386.c: More impls. 2005-12-22 David Schleef <ds@schleef.org> * examples/jpeg/jpeg_rgb_decoder.c: Use new colorspace_argb class. * liboil/colorspace/Makefile.am: remove ayuv2argb.c (broken) * liboil/colorspace/ayuv2argb.c: remove (broken) * liboil/i386/ayuv2argb_i386.c: remove broken impls, add mmx for colorspace_argb * liboil/jpeg/yuv2rgb_c.c: disable broken impls * liboil/liboilclasses.h: new class * liboil/liboilfuncs.h: new class * liboil/liboiltrampolines.c: new class * liboil/ref/ayuv2argb.c: add colorspace_argb reference 2005-12-21 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/composite_sse.c: (composite_add_u8_sse), (composite_add_u8_const_src_sse): Don't forget to increment the source pointer in composite_add_u8_sse, and also be careful about getting some types promoted, to prevent overflow. Fixes testsuite errors. 2005-12-21 Eric Anholt <anholt@FreeBSD.org> * liboil/utf8/utf8_fast.c: (utf8_validate_fast2), (utf8_validate_fast3), (utf8_validate_lookup): Check for overflows in fast utf8 functions where truncated wide characters would result in reads past the end of the buffer. Fixes testsuite failures. 2005-12-20 Eric Anholt <anholt@FreeBSD.org> * liboil/i386/recon8x8_i386.c: (recon8x8_intra_i386_mmx), (recon8x8_inter_i386_mmx), (recon8x8_inter2_i386_mmx): * liboil/mmx/Makefile.am: * liboil/mmx/recon8x8_mmx.c: (recon8x8_intra_mmx), (recon8x8_inter_mmx), (recon8x8_inter2_mmx): Add a set of MMX-intrinsics implementations of recon8x8_*. Disable the two i386 recon8x8_inter* implementations that didn't respect the strides. 2005-12-21 David Schleef <ds@schleef.org> * m4/as-unaligned-access.m4: New macro. 2005-12-21 David Schleef <ds@schleef.org> * configure.ac: Check whether we can do unaligned access. * liboil/c/Makefile.am: Add copy.c * liboil/c/copy.c: Some impls * liboil/i386/Makefile.am: add swab.c * liboil/i386/swab.c: Add some swabbing code. asm, MMX, SSE2. * liboil/i386/error8x8_i386.c: Fix impl. pavgb sucks. * liboil/i386/sad8x8avg_i386.c: same * liboil/ref/copy.c: fix doc * liboil/ref/swab.c: Doh! stupid mistake in reference function * liboil/c/swab.c: same 2005-12-21 David Schleef <ds@schleef.org> * liboil/dct/idct8x8theora_ref.c: Fix stupid bug in reference implementation. 2005-12-20 David Schleef <ds@schleef.org> * examples/oil-test.c: Print out the correct values for the test results. 2005-12-20 David Schleef <ds@schleef.org> * liboil/dct/idct8x8_c.c: Add a test function. * liboil/i386/fdct8x8theora_i386.c: Compile fix on gcc-4.1. * liboil/liboilfunction.h: wrap a macro arg in () * liboil/liboiltest.c: Doh! Maybe we should compare values in the actual data region rather than the header. This shows lots of additional breakage. 2005-12-20 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/Makefile.am: * liboil/sse/composite_sse.c: (composite_add_argb_sse), (composite_add_argb_const_src_sse), (composite_add_u8_sse), (composite_add_u8_const_src_sse): * liboil/sse/composite_sse_2pix.c: (argb_A_sse2), (muldiv_255_sse2), (negate_argb_sse2), (load_argb_sse2), (set1_argb_sse2), (load_u8_mask), (set1_u8_mask), (store_argb_sse2), (over_argb_sse2), (composite_in_argb_sse_2pix), (composite_in_argb_const_src_sse_2pix), (composite_in_argb_const_mask_sse_2pix), (composite_over_argb_sse_2pix), (composite_over_argb_const_src_sse_2pix), (composite_in_over_argb_sse_2pix), (composite_in_over_argb_const_src_sse_2pix), (composite_in_over_argb_const_mask_sse_2pix), (composite_over_u8_sse_2pix): * liboil/sse/composite_sse_4pix.c: (argb_A_sse2), (inner_muldiv_255_sse2), (muldiv_255_sse2), (negate_argb_sse2), (load_argb_sse2), (set1_argb_sse2), (load_u8_mask), (set1_u8_mask), (store_argb_sse2), (over_argb_sse2), (composite_in_argb_sse), (composite_in_argb_const_src_sse), (composite_in_argb_const_mask_sse), (composite_over_argb_sse), (composite_over_argb_const_src_sse), (composite_in_over_argb_sse), (composite_in_over_argb_const_src_sse), (composite_in_over_argb_const_mask_sse), (composite_over_u8_sse): Add more SSE2-intrinsics composite code. There are actually 2 copies, unless we can figure out if 2pix is always slower. The 4pix version operates on registers with 4 packed pixels, and does unpacking for the purposes of the muldiv stage. On the other hand, the 2pix version works on registers containing 2 unpacked pixels. Speeds are similar, and generally around 25 to 50% the ticks of _ref, according to oil-inspect. It's not very pretty code, but I've been staring at it for too long and want to get it committed. 2005-12-19 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/Makefile.am: Add an SSE2 implementation of composite_add_u8_const_src. 2005-12-19 Eric Anholt <anholt@FreeBSD.org> * liboil/Makefile.am: Enable building of mmx intrinsics code on amd64. 2005-12-19 Eric Anholt <anholt@FreeBSD.org> * liboil/liboilclasses.h: * liboil/liboilfuncs.h: * liboil/liboilmarshal.c: (_oil_test_marshal_function): * liboil/liboiltrampolines.c: (oil_clamp_f32), (oil_clamp_f64), (oil_clamp_s16), (oil_clamp_s32), (oil_clamp_s8), (oil_clamp_u16), (oil_clamp_u32), (oil_clamp_u8), (oil_clamphigh_f32), (oil_clamphigh_f64), (oil_clamphigh_s16), (oil_clamphigh_s32), (oil_clamphigh_s8), (oil_clamphigh_u16), (oil_clamphigh_u32), (oil_clamphigh_u8), (oil_clamplow_f32), (oil_clamplow_f64), (oil_clamplow_s16), (oil_clamplow_s32), (oil_clamplow_s8), (oil_clamplow_u16), (oil_clamplow_u32), (oil_clamplow_u8): * liboil/ref/Makefile.am: * liboil/ref/clamp.c: * liboil/sse/Makefile.am: * liboil/sse/clamp_sse.c: (clamp_f32_sse), (clamp_f64_sse), (clamplow_f32_sse), (clamplow_f64_sse), (clamphigh_f32_sse), (clamphigh_f64_sse): Add a ref and sse implementation of a new group of "clamp" functions. They behave like clip, but unstrided, and renamed to something people might expect more than "clip". Also offered are clamplow/high, which perform clamping on only one side. SSE implementations are about half the ticks of the ref funtions on this amd64. 2005-12-19 Eric Anholt <anholt@FreeBSD.org> * liboil/Makefile.am: * liboil/liboilclasses.h: * liboil/liboilfuncs.h: * liboil/liboiltrampolines.c: (oil_composite_add_u8_const_src): * liboil/mmx/.cvsignore: * liboil/mmx/Makefile.am: * liboil/mmx/composite_mmx.c: (composite_add_u8_const_src_mmx): * liboil/ref/composite.c: (composite_add_u8_const_src_ref): Add a ref and mmx implementation of composite_add_u8_const_src, like composite_add_argb_const_src. This may prove useful for trapezoid rasterization in cairo. 2005-12-19 David Schleef <ds@schleef.org> * doc/Makefile.am: * 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-18 David Schleef <ds@schleef.org> * liboil/utf8/utf8.c: (utf8_validate_test), (utf8_validate_ref): * liboil/utf8/utf8_fast.c: (utf8_validate_fast), (utf8_validate_fast2), (utf8_validate_fast3), (utf8_validate_lookup): Some utf8 hacking. At least it works now. 2005-12-17 David Schleef <ds@schleef.org> * liboil/liboilparameter.h: * liboil/liboilprototype.c: (oil_param_get_source_data): * liboil/liboiltest.c: (oil_test_get_value): * liboil/liboiltest.h: New functions for getting values common in test setup functions. * liboil/dct/idct8x8theora_ref.c: * liboil/ref/clip_ref.c: * liboil/ref/composite.c: * liboil/ref/permute.c: * liboil/ref/resample.c: * liboil/utf8/utf8.c: Use new functions. 2005-12-17 David Schleef <ds@schleef.org> * liboil/Makefile.am: Add librandom.c * liboil/liboilcolorspace.h: * liboil/liboilrandom.c: Some C code to write arrays of random numbers. * liboil/liboilrandom.h: Add prototypes from above, remove a bunch of macros that aren't used. * liboil/liboiltest.c: Use array functions instead of macros. * liboil/liboiltest.h: Add oil_test_get_source_data() * liboil/liboiltypes.h: Add 64-bit types. * liboil/i386/composite_i386.c: Add simple mmx implementations for all the composite functions. 2005-12-16 David Schleef <ds@schleef.org> * liboil/conv/conv_bitstuff.c: * liboil/conv/conv_c.c: * liboil/conv/conv_misc.c: * liboil/copy/copy.c: * liboil/copy/copy8x8.c: * liboil/copy/splat_ref.c: * liboil/copy/trans8x8_c.c: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/fdct8x8_f64.c: * liboil/dct/fdct8x8s_s16.c: * liboil/dct/fdct8x8theora.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/idct8x8theora_ref.c: * liboil/dct/imdct32_f32.c: Put const in all the right places in implementation prototypes. 2005-12-15 David Schleef <ds@schleef.org> * liboil/c/swab.c: swabbing functions * liboil/liboilclasses.h: * liboil/liboilfuncs.h: * liboil/ref/copy.c: some new classes. 2005-12-15 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboiltypes.sgml: * liboil/conv/conv_c.c: * liboil/liboilprototype.c: * liboil/liboiltypes.h: * liboil/ref/clip_ref.c: * liboil/ref/conv.c: * liboil/ref/multsum.c: * liboil/ref/permute.c: * liboil/ref/scalaradd.c: * liboil/ref/scalarmult.c: * liboil/ref/trans8x8.c: * liboil/ref/vectoradd_f64.c: * liboil/ref/vectoradd_s.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: Global change from type_* to oil_type_* 2005-12-15 Eric Anholt <anholt@FreeBSD.org> * liboil/jpeg/zigzag8x8_c.c: (zigzag8x8_s16_unroll): * testsuite/Makefile.am: Fix an issue in the unrolled zigzag function where the src and dst offsets were swapped. Add a testsuite entry to check that the process of zigzagging and unzigzagging results in the original data. 2005-12-15 Eric Anholt <anholt@FreeBSD.org> * liboil/fb/fbmmx.c: (pix_multiply): Fix an off-by-one reported by the align test (reported as a much larger error, since the pixels get represented as ints) by fixing an ordering issue of instructions in the rounding code. This is also reflected in current upstream sources. 2005-12-15 David Schleef <ds@schleef.org> * liboil/liboilcolorspace.h: Fix doc on oil_divide_255(). 2005-12-15 David Schleef <ds@schleef.org> * configure.ac: * liboil/Makefile.am: * liboil/build_prototypes.c: * liboil/build_trampolines.c: * liboil/liboiltrampolines.c: Add a configure option --enable-new-abi, which compiles liboil with an experimental (and incompatible) ABI. You need to run 'make; make update; make' to get it to build correctly, and remember to not check in the files autogenerated for the new ABI. 2005-12-15 David Schleef <ds@schleef.org> * liboil/Makefile.am: * liboil/build_trampolines.c: * liboil/liboilprototype.c: * liboil/liboilprototype.h: * liboil/liboiltrampolines.c: Some C code to generate trampolines for every class in C. For possible use in the 0.4 ABI. 2005-12-15 David Schleef <ds@schleef.org> * liboil/sse/Makefile.am: * liboil/sse/conv_sse.c: Remove this, since I'm not sure of its provenance and a bug (GNOME #324069) complained it's broken. 2005-12-14 Eric Anholt <anholt@FreeBSD.org> * liboil/sse/math_sse.c: (scalaradd_f32_ns_sse), (scalarmultiply_f32_ns_sse): * liboil/sse/math_sse_unroll2.c: (scalaradd_f32_ns_sse_unroll2), (scalarmultiply_f32_ns_sse_unroll2): Use _mm_load_ps1 to avoid manually expanding the constant fp value into a temporary array and doing _mm_loadu_ps. The resulting assembly also looks a decent bit better. Suggested by Stephane Fillod. 2005-12-14 Eric Anholt <anholt@FreeBSD.org> * liboil/Makefile.am: * liboil/amd64/Makefile.am: * liboil/amd64/scalarmult_amd64.c: * liboil/dct/idct8x8theora_ref.c: (idct8theora_s16_test), (idct8x8theora_s16_test): * liboil/i386/Makefile.am: * liboil/i386/scalarmult_i386.c: * liboil/liboilparameter.h: * liboil/liboiltest.c: (oil_test_new), (oil_test_set_test_header), (oil_test_set_test_footer), (oil_test_check_function), (oil_test_check_impl), (init_parameter): * liboil/liboiltest.h: * liboil/ref/clip_ref.c: * liboil/ref/composite.c: (composite_test): * liboil/ref/permute.c: (permute_test): * liboil/ref/resample.c: (resample_linear_u8_test), (resample_linear_argb_test), (merge_linear_argb_test): * liboil/utf8/utf8.c: (utf8_validate_test): * testsuite/.cvsignore: * testsuite/Makefile.am: * testsuite/align.c: (dump_array), (dump_source), (dump_dest_ref), (test_difference), (check_test), (check_class), (main): Make the guard header/footer size configurable at test runtime. Use 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-14 Eric Anholt <anholt@FreeBSD.org> * liboil/fb/fbmmx.c: (store8888), (fbCompositeSolid_nx8888mmx): Fix a write past the end of the buffer when doing a short alignment fixup or odd-length fixup in fbCompositeSolid_nx8888mmx. Probably saves some work, as well. 2005-12-14 Eric Anholt <anholt@FreeBSD.org> * liboil/utf8/utf8_fast.c: (utf8_validate_fast): For (n % 4) != 0, utf8_validate_fast would read up to 3 bytes beyond the end of the buffer and could return a value greater than n if the bytes read happened to not have their highest bits set. 2005-12-13 Eric Anholt <anholt@FreeBSD.org> * liboil/amd64/Makefile.am: * liboil/amd64/math_amd64.c: * liboil/sse/math_sse.c: (add_f32_sse), (subtract_f32_sse), (multiply_f32_sse), (divide_f32_sse), (minimum_f32_sse), (maximum_f32_sse), (inverse_f32_sse), (negative_f32_sse), (scalaradd_f32_ns_sse), (scalarmultiply_f32_ns_sse): * liboil/sse/math_sse_unroll2.c: (add_f32_sse_unroll2), (subtract_f32_sse_unroll2), (multiply_f32_sse_unroll2), (divide_f32_sse_unroll2), (minimum_f32_sse_unroll2), (maximum_f32_sse_unroll2), (inverse_f32_sse_unroll2), (negative_f32_sse_unroll2), (scalaradd_f32_ns_sse_unroll2), (scalarmultiply_f32_ns_sse_unroll2): Fix SSE intrinsics code in the presence of un-SSE-alignment of the dest pointer, detected by hardcoding a new value of OIL_TEST_HEADER. Remove the AMD64 SSE inline asm code for being broken in the same way but not caring enough to fix it (inline asm version might be useful for older GCC on i386, but probably not on amd64 where we'll have intrinsics). 2005-12-13 Eric Anholt <anholt@FreeBSD.org> * liboil/simdpack/multsum.c: (multsum_f32_unroll2): Implement multsum_f32_unroll2 as I think it was meant to be implemented (previous implementation looked bogus). Fixes a make check failure for me. 2005-12-12 Eric Anholt <anholt@FreeBSD.org> * liboil/amd64/math_amd64.c: (add_f32_amd64), (subtract_f32_amd64), (multiply_f32_amd64), (divide_f32_amd64), (negative_f32_amd64), (scalaradd_f32_ns_amd64), (scalarmultiply_f32_ns_amd64): * liboil/sse/Makefile.am: * liboil/sse/math_sse.c: (add_f32_sse), (subtract_f32_sse), (multiply_f32_sse), (divide_f32_sse), (minimum_f32_sse), (maximum_f32_sse), (inverse_f32_sse), (negative_f32_sse), (scalaradd_f32_ns_sse), (scalarmultiply_f32_ns_sse): * liboil/sse/math_sse_unroll2.c: (add_f32_sse_unroll2), (subtract_f32_sse_unroll2), (multiply_f32_sse_unroll2), (divide_f32_sse_unroll2), (minimum_f32_sse_unroll2), (maximum_f32_sse_unroll2), (inverse_f32_sse_unroll2), (negative_f32_sse_unroll2), (scalaradd_f32_ns_sse_unroll2), (scalarmultiply_f32_ns_sse_unroll2): * testsuite/.cvsignore: * testsuite/Makefile.am: * testsuite/math.c: (dump_array), (dump_source), (test_difference), (check_test), (check_class), (main): Add SSE intrinsics code doing what math_amd64.c does, but working for both amd64 and i386, and with a couple more functions. Performance is generally equivalent to math_amd64.c but better in some cases. Renames math_amd64.c functions to avoid clashes with intrinsics code. Also add an unrolled-once version of this code that's around a 2-10% improvement in the tests I've done with oil-test. 2005-12-12 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (get_cpuid): Revert the broken change to i386 cpu detection. (oops) 2005-12-12 Eric Anholt <anholt@FreeBSD.org> * liboil/amd64/math_amd64.c: Note: New code doesn't work well if you leave in the #if 0 you used for turning it off for final performance tests. 2005-12-12 Eric Anholt <anholt@FreeBSD.org> * configure.ac: * liboil/Makefile.am: * liboil/amd64/Makefile.am: * liboil/amd64/math_amd64.c: (add_f32_sse), (subtract_f32_sse), (multiply_f32_sse), (divide_f32_sse), (negative_f32_sse), (scalaradd_f32_ns_sse), (scalarmultiply_f32_ns_sse): * liboil/amd64/scalarmult_amd64.c: (scalarmult_f32_sse): * liboil/liboilcpu.c: (get_cpuid), (oil_cpu_i386_kernel_restrict_flags), (_oil_cpu_init): Add support for detecting amd64 capabilities, and add the existing SSE intrinsics and fbmmx code for it. Add a set of simple math implementations using SSE that could use some tuning, but have provided my app a 10.5% +/- 1.0% performance improvement in the case I'm testing. 2005-12-10 David Schleef <ds@schleef.org> * m4/ax_create_stdint_h.m4: New macro. 2005-12-10 David Schleef <ds@schleef.org> * liboil/Makefile.am: * liboil/liboil.h: * liboil/liboilgcc.h: * liboil/liboilprofile.h: * liboil/liboiltypes.h: Use generated stdint.h file. 2005-12-09 David Schleef <ds@schleef.org> * configure.ac: * examples/oil-test.c: (dump_array), (help), (main): * m4/pkg.m4: Check for inttypes.h header. Use PRIx8 and friends in oil-test.c to print stuff correctly on 64-bit platforms. Also add new -x option to print in hex. (Fixes: #5042) 2005-12-06 David Schleef <ds@schleef.org> * liboil/fb/fbmmx.c: * liboil/sse/conv_sse.c: (conv_f32_s32_sse): And make sure that it works with gcc. 2005-12-06 David Schleef <ds@schleef.org> * liboil/fb/fbmmx.c: * liboil/sse/conv_sse.c: Compilation fixes for icc. configure still thinks it's ok to use -Werror with icc, which is a problem, so turn it off manually. 2005-12-06 David Schleef <ds@schleef.org> * liboil/c/swab.c: Disable the i386 asm, 'cuz it's in the wrong place. 2005-12-04 David Schleef <ds@schleef.org> * liboil/Makefile.am: Fix build dependencies for update target (Fixes: #5121) 2005-12-04 David Schleef <ds@schleef.org> * testsuite/stride.c: (main): Fix crash with -v. (Fixes: #5162) 2005-12-04 David Schleef <ds@schleef.org> * configure.ac: * m4/as-gcc-inline-assembly.m4: * liboil/powerpc/clip.c: * liboil/powerpc/conv.c: Add HAVE_GCC_ASM_POWERPC_FPU and use it if -fsoft-float is specified. 2005-12-04 David Schleef <ds@schleef.org> * liboil/Makefile.am: * liboil/c/Makefile.am: * liboil/c/swab.c: * liboil/liboilclasses.h: * liboil/liboilfuncs.h: * liboil/ref/Makefile.am: * liboil/ref/swab.c: (swab_u16_ref), (swab_u32_ref): Add swabbing functions. 2005-12-04 David Schleef <ds@schleef.org> * doc/Makefile.am: 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-11-30 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: * doc/tmpl/liboilfuncs-math.sgml: * liboil/liboilclasses.h: * liboil/liboilfuncs.h: * liboil/ref/squaresum_f64.c: (squaresum_shifted_s16_ref): New class for thomasvs. 2005-11-23 David Schleef <ds@schleef.org> * configure.ac: * liboil/3dnow/Makefile.am: * liboil/Makefile.am: * liboil/c/Makefile.am: * liboil/mmx/Makefile.am: 2005-11-18 David Schleef <ds@schleef.org> * liboil/math/Makefile.am: Autogenerated implementations. Doesn't get better than this! * liboil/math/ag_math.c: * liboil/math/generate_math.pl: * liboil/math/math.c: 2005-11-16 David Schleef <ds@schleef.org> * liboil/copy/copy.c: (copy_u8_llints), (copy_u8_llints_duff): * liboil/copy/copy8x8.c: (copy8x8_u8_ints_unrolled): Some implementations from Adam Moss 2005-11-14 David Schleef <ds@schleef.org> * configure.ac: return version to nano=1 === 0.3.5 === 2005-11-14 David Schleef <ds@schleef.org> * configure.ac: version bump 2005-11-13 David Schleef <ds@schleef.org> * doc/tmpl/conv.sgml: Remove old template files. * doc/tmpl/convert.sgml: * doc/tmpl/dct.sgml: * doc/tmpl/jpeg.sgml: * doc/tmpl/liboilgcc.sgml: * doc/tmpl/md5.sgml: * doc/tmpl/simdpack.sgml: * doc/tmpl/utf8.sgml: 2005-11-13 David Schleef <ds@schleef.org> * doc/liboil-docs.sgml: Clean up documentation, document remaining functions. Up to 96% coverage, woohoo! * doc/liboil-overrides.txt: * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilclass-unstable.sgml: * doc/tmpl/liboildebug.sgml: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilimpl-unstable.sgml: * doc/tmpl/liboilinit-unstable.sgml: * doc/tmpl/liboilinit.sgml: * doc/tmpl/liboiljunk.sgml: * doc/tmpl/liboilmacros.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: * liboil/liboil.h: * liboil/liboildebug.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilprofile.h: * liboil/liboiltest.h: * liboil/liboiltypes.h: 2005-11-13 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: Clean up documentation. * doc/tmpl/liboil.sgml: * doc/tmpl/liboilcpu.sgml: * doc/tmpl/liboildebug.sgml: * 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: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: * liboil/dct/fdct8x8s_s16.c: * liboil/dct/idct8x8_c.c: * liboil/liboilcpu.c: * liboil/liboildebug.c: * liboil/liboildebug.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilprofile.c: * liboil/liboilprofile.h: * liboil/liboilprototype.c: * liboil/liboilrandom.h: * liboil/liboiltest.c: * liboil/ref/clip_ref.c: * liboil/ref/composite.c: * liboil/ref/conv.c: * liboil/ref/copy.c: * liboil/ref/generate-conv: * liboil/ref/math.c: 2005-11-13 David Schleef <ds@schleef.org> * doc/Makefile.am: Write a little bit of documentation. * doc/liboil-overrides.txt: * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboil.sgml: * 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: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/fdct8x8_f64.c: * liboil/dct/fdct8x8s_s16.c: * liboil/dct/fdct8x8theora.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/idct8x8theora_ref.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/jpeg_rgb_decoder.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/liboilclasses.h: * liboil/liboilcolorspace.h: * liboil/liboilcpu.c: (oil_cpu_fault_check_enable): * liboil/liboildebug.c: * liboil/liboildebug.h: * liboil/liboilfuncs.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilparameter.h: * liboil/liboilprofile.c: * liboil/liboilprofile.h: * liboil/liboilprototype.c: (oil_prototype_to_string), (oil_prototype_from_string): * liboil/liboilprototype.h: * liboil/liboilrandom.h: * liboil/liboiltest.c: * liboil/liboiltest.h: * liboil/liboiltypes.h: * liboil/md5/md5.c: * liboil/null.c: * liboil/ref/average2_u8.c: * liboil/ref/clip_ref.c: * liboil/ref/composite.c: * liboil/ref/conv.c: * liboil/ref/copy.c: * liboil/ref/copy8x8.c: * liboil/ref/diff8x8.c: * liboil/ref/diffsquaresum_f64.c: * liboil/ref/error8x8.c: * liboil/ref/math.c: * liboil/ref/mix_u8.c: * liboil/ref/mult8x8_s16.c: * liboil/ref/multsum.c: * liboil/ref/permute.c: * liboil/ref/recon8x8.c: * liboil/ref/resample.c: * liboil/ref/rowcolsad8x8.c: * liboil/ref/sad8x8.c: * liboil/ref/sad8x8_broken.c: * liboil/ref/sad8x8avg.c: * liboil/ref/scalaradd.c: * liboil/ref/scalarmult.c: * liboil/ref/sincos_f64.c: * liboil/ref/splat.c: * liboil/ref/squaresum_f64.c: * liboil/ref/sum_f64.c: * liboil/ref/tablelookup.c: * liboil/ref/trans8x8.c: * liboil/ref/vectoradd_f64.c: * liboil/ref/vectoradd_s.c: * liboil/utf8/utf8.c: 2005-11-13 David Schleef <ds@schleef.org> * liboil/i386/fdct8x8theora_i386.c: (fdct8x8theora_mmx): * liboil/i386/recon8x8_i386.c: (recon8x8_intra_mmx): Fix some asm code that accesses global variables from asm code in a very incorrect manner. (#5032) 2005-11-12 David Schleef <ds@schleef.org> * liboil/math/math.c: split math.c into ref/ and math/ versions. * liboil/ref/Makefile.am: * liboil/ref/math.c: 2005-11-11 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: Documentation? Is he MAD? * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilfuncs-math.sgml: * liboil/jpeg/yuv2rgb_c.c: * liboil/liboilfunction.c: * liboil/ref/abs.c: * liboil/ref/argb_paint.c: * liboil/ref/ayuv2argb.c: * liboil/ref/composite.c: * liboil/ref/resample.c: * liboil/ref/rgb.c: * liboil/ref/yuv.c: 2005-11-06 David Schleef <ds@schleef.org> * liboil/Makefile.am: Fix more stuff and reenable MMX * liboil/conv/Makefile.am: * liboil/conv/conv_3dnow.c: move * liboil/conv/conv_sse.c: move * liboil/fb/Makefile.am: * liboil/i386/Makefile.am: * liboil/i386/conv_3dnow.c: move * liboil/i386/conv_sse.c: move 2005-11-04 David Schleef <ds@schleef.org> * configure.ac: version bump 2005-11-04 David Schleef <ds@schleef.org> * configure.ac: version bump * liboil/Makefile.am: Don't install liboiltmp1.la. This change actually made it into the release. === 0.3.4 === 2005-11-03 David Schleef <ds@schleef.org> * liboil/sse/Makefile.am: Clean up sse building 2005-11-03 David Schleef <ds@schleef.org> * configure.ac: Turn of asm-blocks, becuase it doesn't compile on OS/X. 2005-11-02 David Schleef <ds@schleef.org> * configure.ac: revert to -Wa,-mregnames * liboil/powerpc/md5.c: fixes * liboil/powerpc/zigzag8x8.c: fixes * liboil/powerpc/Makefile.am: move fdct8x8theora_altivec.c * liboil/powerpc/fdct8x8theora_altivec.c: from here * liboil/powerpc_asm_blocks/fdct8x8theora_altivec.c: to here * liboil/powerpc_asm_blocks/Makefile.am: * m4/as-intrinsics.m4: fix altivec test 2005-11-02 David Schleef <ds@schleef.org> * configure.ac: Use AC_CANONICAL_HOST * liboil/powerpc/Makefile.am: fix dist 2005-10-28 David Schleef <ds@schleef.org> * configure.ac: Use AC_LIBTOOL_WIN32_DLL * liboil/Makefile.am: Fix sed patterns for extracting symbols from libtool .exp files to handle different format on windows targets. Move sse directory to a conditional. * liboil/README: new file * liboil/liboiltest.h: remove // comment * liboil/powerpc_asm_blocks/Makefile.am: name ltlibrary correctly * m4/as-intrinsics.m4: Fix SSE2 test 2005-10-28 David Schleef <ds@schleef.org> * liboil/i386/diff8x8_i386.c: (diff8x8_const128_s16_u8_mmx): Fix problem pulling in global constant. 2005-10-27 David Schleef <ds@schleef.org> * liboil/Makefile.am: Fixups from conflicts in previous commit. * liboil/conv/Makefile.am: * liboil/powerpc/recon8x8_altivec.c: * liboil/powerpc/recon8x8_ppc.c: * liboil/powerpc_asm_blocks/Makefile.am: Move asm-blocks stuff to a separate directory, since it requires different CPU flags. * liboil/powerpc_asm_blocks/recon8x8_altivec.c: * liboil/powerpc_asm_blocks/recon8x8_ppc.c: 2005-10-27 David Schleef <ds@schleef.org> * autogen.sh: Refactor how we check for intrinsics and flags. 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-10-17 Eric Anholt <anholt@FreeBSD.org> * liboil/liboilcpu.c: (oil_cpu_i386_kernel_restrict_flags), (oil_cpu_i386_getflags): Disable SSE on versions of FreeBSD with no kernel support for it. On non-FreeBSD, non-Linux kernels, disable it until we learn to check whether the operating system supports SSE. 2005-10-17 Eric Anholt <anholt@FreeBSD.org> * liboil/powerpc/Makefile.am: Don't attempt to build powerpc files on non-powerpcs, where the altivec flags break the compile. 2005-10-17 David Schleef <ds@schleef.org> * configure.ac: Check for -masm-blocks before using the feature * liboil/powerpc/Makefile.am: 2005-10-10 David Schleef <ds@schleef.org> * liboil/powerpc/clip.c: Move more files around * liboil/ref/Makefile.am: * liboil/ref/abs.c: * liboil/ref/average2_u8.c: * liboil/ref/clip_ref.c: * liboil/ref/diffsquaresum_f64.c: * liboil/ref/mix_u8.c: * liboil/ref/mult8x8_s16.c: * liboil/ref/multsum.c: * liboil/ref/sad8x8.c: * liboil/ref/sad8x8_broken.c: * liboil/ref/scalaradd.c: * liboil/ref/scalarmult.c: * liboil/ref/sincos_f64.c: * liboil/ref/squaresum_f64.c: * liboil/ref/sum_f64.c: * liboil/ref/vectoradd_f64.c: * liboil/ref/vectoradd_s.c: * liboil/simdpack/Makefile.am: * liboil/simdpack/abs.c: * liboil/simdpack/average2_u8.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/sad8x8_broken.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: * liboil/simdpack/vectoradd_f64.c: * liboil/simdpack/vectoradd_s.c: 2005-10-10 David Schleef <ds@schleef.org> * m4/ltdl.m4: Seems Debian's new libtool package doesn't have a good definition of AC_LTDL_SYMBOL_USCORE 2005-10-10 David Schleef <ds@schleef.org> * liboil/i386/abs_i386.c: Move more files. * liboil/i386/argb_paint_i386.c: * liboil/i386/ayuv2argb_i386.c: * liboil/i386/composite_i386.c: * liboil/i386/copy8x8_i386.c: * liboil/i386/copy_i386.c: * liboil/i386/fdct8x8theora_i386.c: * liboil/i386/idct8x8_i386.c: * liboil/i386/md5_i386.c: * liboil/i386/mult8x8_i386.c: * liboil/i386/scalarmult_i386.c: * liboil/i386/splat_i386.c: * liboil/i386/trans8x8_i386.c: * liboil/i386/vectoradd_s_i386.c: 2005-10-01 David Schleef <ds@schleef.org> What have I done?!? Move files around. * liboil/colorspace/Makefile.am: * liboil/colorspace/argb_paint.c: * liboil/colorspace/argb_paint_i386.c: * liboil/colorspace/ayuv2argb.c: * liboil/colorspace/ayuv2argb_i386.c: * liboil/colorspace/composite.c: * liboil/colorspace/composite_i386.c: * liboil/colorspace/resample.c: * liboil/colorspace/resample_powerpc.c: * liboil/colorspace/rgb2bgr.c: * liboil/colorspace/rgb2bgr_powerpc.c: * liboil/colorspace/rgb2rgba.c: * liboil/colorspace/rgb2rgba_powerpc.c: * liboil/colorspace/yuv.c: * liboil/conv/Makefile.am: * liboil/conv/conv_powerpc.c: * liboil/conv/conv_ref.c: * liboil/copy/Makefile.am: * liboil/copy/copy.c: * liboil/copy/copy8x8.c: * liboil/copy/copy8x8_i386.c: * liboil/copy/copy_i386.c: * liboil/copy/copy_powerpc.c: * liboil/copy/permute.c: * liboil/copy/splat_i386.c: * liboil/copy/splat_powerpc.c: * liboil/copy/splat_ref.c: * liboil/copy/tablelookup_ref.c: * liboil/copy/trans8x8.c: * liboil/copy/trans8x8_i386.c: * liboil/dct/Makefile.am: * liboil/dct/fdct8x8theora_i386.c: * liboil/dct/idct8x8_i386.c: * liboil/i386/Makefile.am: * liboil/jpeg/Makefile.am: * liboil/jpeg/zigzag8x8_powerpc.c: * liboil/md5/Makefile.am: * liboil/md5/md5_i386.c: * liboil/md5/md5_powerpc.c: * liboil/powerpc/Makefile.am: * liboil/powerpc/abs.c: (abs_u16_s16_a16_altivec): * liboil/powerpc/clip.c: (clip_s16_ppcasm), (clip_s16_ppcasm2), (clip_s16_ppcasm3): * liboil/powerpc/conv.c: (_sl_clipconv_S8_F32__powerpc_altivec), (_sl_clipconv_S16_F32__powerpc_altivec), (_sl_clipconvert_S32_F32__powerpc_altivec), (convert_s16_f64__powerpc), (_sl_convert_S16_F32__powerpc), (conv_f64_s16_altivec), (clipconv_s16_f64_ppcasm): * liboil/powerpc/copy.c: (copy_u8_altivec), (copy_u8_altivec2): * liboil/powerpc/md5.c: (md5_asm1), (md5_asm2), (md5_asm3): * liboil/powerpc/mix.c: (mix_u8_a16_altivec): * liboil/powerpc/multsum.c: (multsum_f32_ppcasm): * liboil/powerpc/resample.c: (__attribute__), (merge_linear_argb_powerpc): * liboil/powerpc/rgb2bgr.c: (rgb2bgr_ppc), (rgb2bgr_ppc2), (rgb2bgr_ppc3), (rgb2bgr_ppc4): * liboil/powerpc/rgb2rgba.c: (rgb2rgba_powerpcasm): * liboil/powerpc/sad8x8.c: (sad8x8_s16_a16_altivec), (sad8x8_s16_l15_a16_altivec): * liboil/powerpc/splat.c: (splat_u8_ns_altivec), (splat_u8_ns_altivec2), (splat_u32_ns_altivec): * liboil/powerpc/zigzag8x8.c: (__attribute__), (zigzag8x8_s16_a16_altivec): * liboil/ref/Makefile.am: * liboil/ref/argb_paint.c: (argb_paint_u8_ref): * liboil/ref/ayuv2argb.c: (ayuv2argb_u8_ref): * liboil/ref/composite.c: (composite_test), (composite_in_argb_ref), (composite_in_argb_const_src_ref), (composite_in_argb_const_mask_ref), (composite_over_argb_ref), (composite_over_argb_const_src_ref), (composite_add_argb_ref), (composite_add_argb_const_src_ref), (composite_in_over_argb_ref), (composite_in_over_argb_const_src_ref), (composite_in_over_argb_const_mask_ref), (composite_add_u8_ref), (composite_over_u8_ref): * liboil/ref/conv.c: * liboil/ref/copy.c: (copy_u8_ref): * liboil/ref/copy8x8.c: (copy8x8_u8_ref): * liboil/ref/permute.c: (permute_test): * liboil/ref/resample.c: (resample_linear_u8_test), (resample_linear_argb_test), (resample_linear_u8_ref), (resample_linear_argb_ref), (merge_linear_argb_test), (merge_linear_argb_ref): * liboil/ref/rgb.c: (rgb2bgr_ref), (rgb2rgba_ref): * liboil/ref/splat.c: (splat_u8_ref), (splat_u32_ref), (splat_u8_ns_ref), (splat_u32_ns_ref): * liboil/ref/tablelookup.c: (tablelookup_u8_ref): * liboil/ref/trans8x8.c: * liboil/ref/yuv.c: (yuyv2ayuv_ref), (yvyu2ayuv_ref), (uyvy2ayuv_ref), (ayuv2yuyv_ref), (ayuv2yvyu_ref), (ayuv2uyvy_ref): * liboil/simdpack/Makefile.am: * liboil/simdpack/abs_i386.c: * liboil/simdpack/abs_powerpc.c: * liboil/simdpack/clip_powerpc.c: * liboil/simdpack/mix_powerpc.c: * liboil/simdpack/mult8x8_i386.c: * liboil/simdpack/multsum_powerpc.c: * liboil/simdpack/sad8x8_powerpc.c: * liboil/simdpack/scalarmult_i386.c: * liboil/simdpack/vectoradd_s_i386.c: 2005-10-01 David Schleef <ds@schleef.org> * configure.ac: nano back to 1 === 0.3.3 === 2005-09-30 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: remove old functions 2005-09-30 David Schleef <ds@schleef.org> * configure.ac: version bump * doc/liboil-overrides.txt: doc fixes * doc/liboil-sections.txt: * doc/tmpl/liboilrandom.sgml: 2005-09-29 David Schleef <ds@schleef.org> * liboil/colorspace/rgb2bgr_powerpc.c: Fix impl 2005-09-28 David Schleef <ds@schleef.org> * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboil.sgml: * doc/tmpl/liboilcpu.sgml: * doc/tmpl/liboildebug.sgml: * 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: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilgcc.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: documentation update. 2005-09-15 David Schleef <ds@schleef.org> * examples/oil-test.c: Add 64-bit types * liboil/liboilparameter.h: same * liboil/liboilprototype.c: same * liboil/liboilrandom.h: same * liboil/liboiltest.c: same * liboil/Makefile.am: fix windows build * liboil/simdpack/sincos_f64.c: minor change 2005-09-13 David Schleef <ds@schleef.org> * liboil/simdpack/sincos_f64.c: (sincos_f64_sincos): Add impl using sincos() 2005-08-15 David Schleef <ds@schleef.org> GCC complains on solaris when isspace() is called with a 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 David Schleef <ds@schleef.org> * liboil/powerpc/Makefile.am: disable fdct8x8theora_altivec.c, 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 David Schleef <ds@schleef.org> * liboil/i386/Makefile.am: compile empty file on non-i386 * liboil/motovec/motovec.c: get underscore conditional correctly 2005-08-15 David Schleef <ds@schleef.org> * testsuite/abs.c: (test), (main): remove glib usage in testsuite * testsuite/copy.c: (test), (main): * testsuite/md5.c: (test), (main): * testsuite/md5_profile.c: (test), (main): * testsuite/trans.c: (test), (main): 2005-08-15 David Schleef <ds@schleef.org> * configure.ac: Add some altivec theora code * 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-15 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (oil_cpu_i386_getflags_cpuinfo): SSE2 implies MMXEXT in both codepaths. 2005-08-13 David Schleef <ds@schleef.org> * configure.ac: use macro for gtk-doc checking * 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-08 David Schleef <ds@schleef.org> * liboil/null.c: MMX isn't really portable 2005-08-04 David Schleef <ds@schleef.org> * liboil/colorspace/Makefile.am: Disable some code on amd64. * liboil/copy/Makefile.am: * liboil/dct/Makefile.am: 2005-08-02 David Schleef <ds@schleef.org> * doc/Makefile.am: updates * 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-02 David Schleef <ds@schleef.org> * liboil/fb/fbpict.h: oops, need this 2005-08-02 David Schleef <ds@schleef.org> * liboil/simdpack/scalarmult.c: Readd some implementations, since they're unbroken now. (They still suck.) 2005-08-02 David Schleef <ds@schleef.org> * HACKING: some notes * 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-02 David Schleef <ds@schleef.org> Patch from Wim Taymans adding a bunch of classes and MMX implementations for libtheora. Heavily modified by ds. * Makefile.am: * liboil-uninstalled.pc.in: * liboil/copy/Makefile.am: * liboil/copy/copy.c: * liboil/copy/copy8x8.c: * liboil/copy/copy8x8_i386.c: * liboil/dct/Makefile.am: * liboil/dct/fdct8x8theora.c: * liboil/dct/fdct8x8theora_i386.c: * liboil/i386/Makefile.am: * liboil/i386/diff8x8_i386.c: * liboil/i386/error8x8_i386.c: * liboil/i386/recon8x8_i386.c: * liboil/i386/rowcolsad8x8_i386.c: * liboil/i386/sad8x8_i386.c: * liboil/i386/sad8x8avg_i386.c: * liboil/ref/Makefile.am: * liboil/ref/diff8x8.c: * liboil/ref/error8x8.c: * liboil/ref/recon8x8.c: * liboil/ref/rowcolsad8x8.c: * liboil/ref/sad8x8avg.c: 2005-08-02 David Schleef <ds@schleef.org> * liboil/Makefile.am: add libcolorspace.h * liboil/build_marshal.c: (main): use oil_init_no_optimize() to save us from horrible build problems (like what happened today) * liboil/build_prototypes.c: (main): same * liboil/build_prototypes_doc.c: (main): same * liboil/liboilfunction.h: same * liboil/liboilfunction.c: (oil_init_no_optimize): same * liboil/liboilmarshal.c: (_oil_test_marshal_function): some new marshal cases needed by wim's code. * liboil/null.c: (null_mmx): add mmx impl * liboil/colorspace/argb_paint.c: prototype fixes * liboil/colorspace/ayuv2argb.c: * liboil/colorspace/composite.c: * liboil/colorspace/rgb2bgr.c: * liboil/colorspace/rgb2rgba.c: * liboil/fb/Makefile.am: add headers * liboil/fb/fbmmx.c: hacking * liboil/liboilfuncs.h: update 2005-08-02 David Schleef <ds@schleef.org> * configure.ac: Define HAVE_LD_UNDERSCORE to indicate whether or not an underscore is prepended to C symbols. * liboil/motovec/motovec.c: 2005-08-01 David Schleef <ds@schleef.org> * configure.ac: use BSD_SOURCE instead of POSIX_C_SOURCE, because POSIX_C_SOURCE causes symbols that we'd like to use to be hidden. 2005-08-01 David Schleef <ds@schleef.org> * configure.ac: Changes to make amd64 not suck * liboil/colorspace/Makefile.am: * liboil/conv/Makefile.am: * liboil/copy/Makefile.am: * liboil/dct/Makefile.am: * liboil/fb/Makefile.am: * liboil/liboilprofile.h: * liboil/md5/Makefile.am: * liboil/simdpack/Makefile.am: * liboil/simdpack/scalarmult.c: * liboil/sse/Makefile.am: * liboil/utf8/Makefile.am: 2005-08-01 David Schleef <ds@schleef.org> * m4/gtk-doc.m4: this is useful 2005-08-01 David Schleef <ds@schleef.org> * configure.ac: add -D_BSD_SOURCE 2005-08-01 David Schleef <ds@schleef.org> * liboil/colorspace/composite_i386.c: (composite_over_argb_sse2_3): minor improvement 2005-08-01 David Schleef <ds@schleef.org> * Makefile.am: add 'foreign' to automake flags * 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-08-01 David Schleef <ds@schleef.org> * liboil/colorspace/composite_i386.c: (composite_over_argb_sse2_2), (composite_over_argb_sse2_3): hacking * liboil/liboilcpu.c: (oil_cpu_i386_getflags_cpuid): Intel's SSE2 implies MMXEXT 2005-07-31 David Schleef <ds@schleef.org> * liboil/colorspace/composite_i386.c: (composite_over_argb_mmx_4), (composite_over_argb_mmx_5), (composite_over_argb_sse2): hacking 2005-07-30 David Schleef <ds@schleef.org> * liboil/colorspace/composite_i386.c: (composite_over_argb_mmx), (composite_over_argb_mmx_2), (composite_over_argb_mmx_3), (composite_over_argb_mmx_4), (composite_over_argb_sse2): some new implementations 2005-07-30 David Schleef <ds@schleef.org> * examples/report.c: (oil_print_class): Fix printing * liboil/colorspace/Makefile.am: * liboil/colorspace/composite.c: use colorspace header * liboil/colorspace/composite_i386.c: new * liboil/liboil.h: remove prefetch, it was a bad idea * liboil/liboilcolorspace.h: new header * liboil/liboilcpu.c: (oil_cpu_get_ticks_per_second): * liboil/liboilcpu.h: * liboil/liboiltest.c: (oil_test_init), (oil_test_check_function): add oil_test_init() and reshuffle code * liboil/liboiltest.h: ditto 2005-07-26 David Schleef <ds@schleef.org> * configure.ac: oops, compile fix 2005-07-26 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: Add some recent new prototypes. * doc/tmpl/liboilfuncs-math.sgml: * doc/tmpl/liboilfuncs-pixel.sgml: * examples/report.c: (get_n_impls), (oil_print_class): * liboil/Makefile.am: add math subdir * liboil/colorspace/composite.c: (composite_in_argb_ref), (composite_in_argb_const_src_ref), (composite_in_argb_const_mask_ref), (composite_over_argb_ref), (composite_over_argb_const_src_ref), (composite_add_argb_ref), (composite_add_argb_const_src_ref), (composite_in_over_argb_ref), (composite_in_over_argb_const_src_ref), (composite_in_over_argb_const_mask_ref): Fix OVER operator, and rename compose to composite everywhere. * liboil/liboilfuncs.h: new math functions * liboil/liboiltest.c: (oil_test_new): change size of test array back to 100, because 1000 is wrong and slow * liboil/math/Makefile.am: new math code * liboil/math/math.c: 2005-07-26 David Schleef <ds@schleef.org> * CVS_HAS_MOVED: Revert last change in new repository * autogen.sh: * configure.ac: * cvs-changeroot: 2005-07-26 David Schleef <ds@schleef.org> * CVS_HAS_MOVED: disable CVS, pointing to new location * autogen.sh: * configure.ac: * cvs-changeroot: 2005-07-20 Andy Wingo <wingo@pobox.com> * liboil/liboilprototype.c: (oil_arg_type_name): Implement. * liboil/liboilfunction.c: (oil_class_optimize): Log what implementation we chose. * liboil/liboildebug.h: (OIL_FUNCTION): Make sure we get PRETTY_FUNCTION with gcc. 2005-06-18 David Schleef <ds@schleef.org> * configure.ac: add compiler flag for powerpc * examples/memcpy-speed.c: (main): only run runnable functions * liboil/colorspace/Makefile.am: add yuv.c * liboil/colorspace/yuv.c: (yuyv2ayuv_ref), (yvyu2ayuv_ref), (uyvy2ayuv_ref), (ayuv2yuyv_ref), (ayuv2yvyu_ref), (ayuv2uyvy_ref): New classes * liboil/liboilfunction.c: include stdlib for malloc * liboil/motovec/vec_memcpy.S: change .global to .globl, add initial underscore * liboil/motovec/vec_memset.S: same * liboil/sse/Makefile.am: compile empty.c if nothing else is available 2005-06-17 David Schleef <ds@schleef.org> * liboil/Makefile.am: create a tmpfile for liboilarray.c to avoid unnecessary building of liboil-0.3.la * liboil/colorspace/Makefile.am: add resample_powerpc.c * liboil/colorspace/resample.c: (merge_linear_argb_test): add test function, since one parameter needs to be in the range [0,256] * liboil/colorspace/resample_powerpc.c: (merge_linear_argb_powerpc): altivec impl * liboil/colorspace/rgb2rgba_powerpc.c: (rgb2rgba_powerpcasm): Improve the asm * liboil/copy/Makefile.am: new file * liboil/copy/splat_powerpc.c: (splat_u8_ns_altivec), (splat_u8_ns_altivec2), (splat_u32_ns_altivec): some altivec impls 2005-06-17 David Schleef <ds@schleef.org> * liboil/copy/copy_powerpc.c: (copy_u8_altivec), (copy_u8_altivec2): Rewrite so that they actually work. * liboil/motovec/Makefile.am: Fix up motovec stuff * liboil/motovec/motovec.c: (copy_u8_motovec), (splat_u8_ns_motovec): same 2005-06-17 David Schleef <ds@schleef.org> * configure.ac: snarf LIBMOTOVEC because it has a compatible license. * COPYING: * liboil/Makefile.am: * liboil/motovec/Makefile.am: * liboil/motovec/README: * liboil/motovec/checksum_vec.S: * liboil/motovec/string_vec.S: * liboil/motovec/vec_csum.S: * liboil/motovec/vec_memcmp.S: * liboil/motovec/vec_memcpy.S: * liboil/motovec/vec_memset.S: * liboil/motovec/vec_strcpy.S: 2005-06-17 David Schleef <ds@schleef.org> * liboil/colorspace/Makefile.am: new files * liboil/colorspace/argb_paint.c: remove temporary classes * liboil/colorspace/composite.c: new * liboil/colorspace/resample.c: new * liboil/liboilfuncs.h: update * liboil/liboilmarshal.c: (_oil_test_marshal_function): update 2005-06-16 David Schleef <ds@schleef.org> * liboil/conv/conv_sse.c: * 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 David Schleef <ds@schleef.org> * testsuite/instruction/Makefile.am: * testsuite/instruction/check-instructions.pl: Add sse2 instructions 2005-06-15 David Schleef <ds@schleef.org> * configure.ac: Add instruction checker * 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-06-02 David Schleef <ds@schleef.org> * examples/Makefile.am: * examples/memcpy-speed.c: (main): New memory speed test program * examples/oil-test.c: (main): Use n=100 for test. * liboil/copy/Makefile.am: * liboil/copy/copy_i386.c: (copy_u8_mmx3): movntq based copy * liboil/copy/splat_i386.c: (splat_u32_ns_mmx): movntq based splat 2005-05-26 David Schleef <ds@schleef.org> * liboil/liboil.h: * liboil/liboilcpu.c: (oil_memory_prefetch_local), (oil_memory_prefetch_transient): Add prefetch functions. 2005-05-26 David Schleef <ds@schleef.org> * liboil/colorspace/argb_paint_i386.c: (argb_paint_u8_mmx): fix asm contraints that gcc-4.0 doesn't like * liboil/conv/conv_3dnow.c: (conv_f32_s16_3dnow), (conv_s32_f32_3dnow): remove mm0 constraint, it's irrelevant * liboil/conv/conv_sse.c: (conv_f32_s32_sse), (conv_s32_f64_sse): * liboil/copy/splat_ref.c: (splat_u32_ns_unroll4): add another unroll * liboil/liboilfunction.h: parentheses are good * liboil/sse/Makefile.am: add a separate directory for SSE intrinsics, since they need to be compiled with special flags. * liboil/sse/conv_sse.c: (conv_f32_s32_sse): * liboil/Makefile.am: add sse directory * configure.ac: cleanup 2005-05-08 David Schleef <ds@schleef.org> * patches/patch-remove-indirection: Some patches that might get applied in 0.4 transition. * patches/patch-small-lib: 2005-05-08 David Schleef <ds@schleef.org> * configure.ac: version bump * liboil/liboilprofile.h: disable broken MIPS code These are autogenerated. * doc/xml/liboil-doc.bottom: * doc/xml/liboil.xml: * doc/xml/liboilcpu.xml: * doc/xml/liboildebug.xml: * doc/xml/liboilfuncs-doc.xml: * doc/xml/liboilfunction.xml: * doc/xml/liboilparameter.xml: * doc/xml/liboilprofile.xml: * doc/xml/liboilprototype.xml: * doc/xml/liboilrandom.xml: * doc/xml/liboiltest.xml: * doc/xml/liboiltypes.xml: * doc/xml/object_index.sgml: * doc/xml/tree_index.sgml: === 0.3.2 === 2005-05-08 David Schleef <ds@schleef.org> * configure.ac: version bump 2005-05-08 David Schleef <ds@schleef.org> Rearrangement of docs * doc/liboil-docs.sgml: * doc/liboil-sections.txt: * doc/tmpl/convert.sgml: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboil.sgml: * 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: * doc/tmpl/liboilgcc.sgml: * doc/tmpl/utf8.sgml: 2005-05-08 David Schleef <ds@schleef.org> * README: cleanup * doc/liboil-sections.txt: add new functions for 0.3.2 * doc/tmpl/liboilfuncs-doc.sgml: updates, plus more words * doc/tmpl/liboilfunction.sgml: updates 2005-05-07 David Schleef <ds@schleef.org> * liboil/copy/splat_ref.c: (splat_u8_ns_int): Stupid monkey! make the function actually do what it's supposed to do. * liboil/copy/trans8x8_i386.c: (trans8x8_u16_asm2): Remove ebx clobbering * liboil/dct/idct8x8theora_ref.c: remove _REF flag for non-ref function. 2005-05-06 David Schleef <ds@schleef.org> * examples/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment): Fix gcc-4.0 warning. * examples/report.c: (oil_print_class): print the chosen impl name * liboil/conv/conv_ref.c: remove some cruft, add scaleconv classes * liboil/dct/idct8x8_i386.c: (idct8x8_s16_mmx): Fix usage of ebx * liboil/liboil.h: add macro for trans8x8_s16 * liboil/liboilfuncs.h: update * liboil/md5/md5_i386.c: disable some stuff that gcc-4.0 doesn't like. 2005-05-06 David Schleef <ds@schleef.org> * doc/xml/liboilfunction.xml: update * examples/report.c: (oil_print_class): print whether fastest implementation is due to alternate optimization flags * liboil/copy/splat_ref.c: (splat_u8_ns_ref), (splat_u32_ns_ref), (splat_u32_ns_unroll2), (splat_u8_ns_memset), (splat_u8_ns_int): Add new splat classes * liboil/copy/trans8x8_c.c: make static * liboil/copy/trans8x8_i386.c: make functions static * liboil/utf8/utf8_fast.c: make functions static * liboil/liboilcpu.c: (oil_cpu_i386_getflags_cpuid), (oil_cpu_fault_check_enable), (oil_cpu_fault_check_disable): fix up signal() fallback. Allow nested calls to check_enable(). * liboil/liboilfunction.c: (oil_optimize_all): wrap in fault check 2005-05-02 David Schleef <ds@schleef.org> * examples/Makefile.am: add report * examples/report.c: Create report of classes and speedups. * liboil/conv/conv_3dnow.c: (conv_f32_s16_3dnow), (conv_s32_f32_3dnow): reindent 2005-05-02 David Schleef <ds@schleef.org> * liboil/utf8/Makefile.am: * liboil/utf8/utf8_fast.c: Some implementations. 2005-05-02 David Schleef <ds@schleef.org> * configure.ac: Check for gettimeofday and sigaction. Define LIBM for linking with libm. * liboil/Makefile.am: Fixes for win32 building * liboil/conv/Makefile.am: same * liboil/dct/idct8x8_i386.c: (fdct8x8s_s16_mmx): save ebx properly * liboil/liboilcpu.c: (oil_cpu_fault_check_enable), (oil_cpu_fault_check_disable): conditionally use sigaction * liboil/liboilfunction.c: (oil_class_register_impl), (oil_class_register_impl_full): Add function * liboil/liboilfunction.h: same * liboil/liboilprofile.c: (oil_profile_stamp_gtod): make use of gettimeofday conditional. 2005-04-30 David Schleef <ds@schleef.org> * liboil/copy/Makefile.am: Some cool new implementations. * liboil/copy/trans8x8_c.c: (trans8x8_u16_c1), (trans8x8_u16_c2), (trans8x8_u16_c3), (trans8x8_u16_c4): * liboil/copy/trans8x8_i386.c: (trans8x8_u16_asm1), (trans8x8_u16_asm2): 2005-04-30 David Schleef <ds@schleef.org> * examples/uberopt/uberopt.c: Select 100 random sequences instead of generating all possible. * examples/uberopt/it.c: Example code 2005-04-30 David Schleef <ds@schleef.org> * liboil/copy/Makefile.am: * liboil/copy/trans8x8_c.c: (trans8x8_u16_c1), (trans8x8_u16_c2), (trans8x8_u16_c3), (trans8x8_u16_c4): Some pretty fast C implementations. * liboil/copy/trans8x8_i386.c: (trans8x8_u16_asm1), (trans8x8_u16_asm2): asm implementations. nearly optimal. 2005-04-29 David Schleef <ds@schleef.org> * examples/Makefile.am: add oil-test * examples/oil-test.c: A copy of work.c modified for displaying test results for any class. * liboil/dct/Makefile.am: * liboil/dct/idct8x8_i386.c: (idct8x8_s16_mmx), (fdct8x8s_s16_mmx): Add mmx code for idct * liboil/dct/idct8x8theora_ref.c: Add some classes for idct8x8 to the theora spec. * liboil/liboilfuncs.h: update 2005-04-28 David Schleef <ds@schleef.org> Add an example huffman (variable code length) decoder * configure.ac: * examples/Makefile.am: * examples/huffman/Makefile.am: * examples/huffman/huffman.c: (huffman_new), (huffman_add_code), (huffman_decode_iterate), (huffman_decode_ref): * examples/huffman/huffman.h: * examples/huffman/huffman_test.c: (main): 2005-04-26 David Schleef <ds@schleef.org> * configure.ac: version bump * doc/xml/liboilfunction.xml: update * liboil/Makefile.am: install a few more headers * liboil/build_prototypes.c: (main): Make sure we print "void" for oil_null() function prototype. * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_1d): * liboil/dct/fdct8x8s_s16.c: * liboil/dct/idct8x8_c.c: (idct8x8_f64_ref), (idct8x8lim10_f64_ref), (idct8x8_s16_ref), (idct8x8lim10_s16_ref): * liboil/liboilcpu.c: (test_cpuid), (oil_cpu_i386_getflags_cpuid): remember to disable fault checking. * liboil/liboilfuncs.h: update * liboil/liboilfunction.c: (oil_class_optimize), (oil_class_register_impl_by_name), (oil_class_register_impl): Better error checking. Allow registration by class, since we allow unregistered classes. * liboil/liboilfunction.h: same * liboil/liboilmarshal.c: (_oil_test_marshal_function): update * liboil/liboiltest.c: (oil_test_check_ref): better error checking * liboil/simdpack/Makefile.am: add sad8x8_broken.c * liboil/simdpack/clip_ref.c: Add a test function to make sure low < high. * liboil/simdpack/sad8x8.c: (sad8x8_f64_2_ref), (sad8x8_s16_2_ref), (sad8x8_u8_ref): Deprecate old classes, because the prototypes are strangely wrong. Replace with new, correct class definitions. Add a new u8 class. * liboil/simdpack/sad8x8_broken.c: (sad8x8_f64_ref), (sad8x8_s16_ref): Move old classes here. 2005-03-24 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (get_proc_cpuinfo), (oil_cpu_i386_getflags_cpuinfo), (get_cpuid), (oil_cpu_i386_getflags_cpuid), (oil_cpu_i386_getflags): Add support for getting flags from cpuid instruction directly. * liboil/liboilfunction.h: Add SSE3 2005-03-17 David Schleef <ds@schleef.org> * configure.ac: bump version * doc/tmpl/liboil-unused.sgml: revert patch * doc/tmpl/liboilfuncs-doc.sgml: * doc/xml/liboilfuncs-doc.xml: * liboil/Makefile.am: * liboil/simdpack/Makefile.am: * liboil/simdpack/clip_ref.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/simdpack.h: 2005-03-17 David Schleef <ds@schleef.org> * examples/work/Makefile.am: yet another random change * examples/work/work.c: (main): same * liboil/liboilcpu.c: (test_altivec): powerpc fixes * liboil/simdpack/Makefile.am: remove i386 flags 2005-03-17 David Schleef <ds@schleef.org> * doc/liboil.types: add 2005-03-17 David Schleef <ds@schleef.org> * examples/work/conv.c: (conv_s16_f32_asm1), (register_impls): add me 2005-03-17 David Schleef <ds@schleef.org> * liboil/simdpack/vectoradd_s_i386.c: need this too. part of the patch below. 2005-03-16 David Schleef <ds@schleef.org> * gtk-doc.make: add me 2005-03-16 David Schleef <ds@schleef.org> Patch from Jakub Stachowski <stachowski@hypair.net> to add a few classes and implementations. They're not correct -- requires fixage before release. * examples/work/Makefile.am: * examples/work/work.c: * liboil/simdpack/Makefile.am: * liboil/simdpack/abs_sse.c: (abs_u8_s8_sse): * liboil/simdpack/clip_ref.c: * liboil/simdpack/scalaradd.c: (scalaradd_s8_mmx): * liboil/simdpack/simdpack.h: * liboil/simdpack/vectoradd_s.c: 2005-03-16 David Schleef <ds@schleef.org> * doc/liboil-sections.txt: clean up * liboil/Makefile.am: clean liboilfuncs-doc.h 2005-03-16 David Schleef <ds@schleef.org> * liboil/Makefile.am: add liboilgcc.h, build build_prototypes_doc * liboil/liboilfunction.c: fix docs * liboil/build_prototypes_doc.c: build a file appropriate for gtk-doc * liboil/liboilgcc.h: File for gcc magic 2005-03-16 David Schleef <ds@schleef.org> * doc/tmpl/liboil-unused.sgml: More of the same * doc/tmpl/liboilcpu.sgml: * doc/tmpl/liboilfuncs-doc.sgml: 2005-03-16 David Schleef <ds@schleef.org> * Makefile.am: upgrade gtk-doc stuff, convert to XML * configure.ac: * doc/Makefile.am: * doc/build_prototypes_doc.c: * doc/liboil-docs.sgml: * doc/liboil-sections.txt: * doc/xml/liboil-doc.bottom: move sgml files here * doc/xml/liboil.xml: * doc/xml/liboilcpu.xml: * doc/xml/liboildebug.xml: * doc/xml/liboilfuncs-doc.xml: * doc/xml/liboilfunction.xml: * doc/xml/liboilparameter.xml: * doc/xml/liboilprofile.xml: * doc/xml/liboilprototype.xml: * doc/xml/liboilrandom.xml: * doc/xml/liboiltest.xml: * doc/xml/liboiltypes.xml: * doc/xml/object_index.sgml: * doc/xml/tree_index.sgml: 2005-03-01 David Schleef <ds@schleef.org> * configure.ac: add utf8 * 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 2005-02-13 David Schleef <ds@schleef.org> * testsuite/dso_check.c: (main): Add 2005-02-01 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (test_altivec), (oil_cpu_powerpc_getflags), (illegal_instruction_handler), (oil_cpu_fault_check_enable), (oil_cpu_fault_check_try), (oil_cpu_fault_check_disable): Add illegal instruction checking. * liboil/liboilcpu.h: * liboil/liboilfunction.c: (oil_init): * liboil/liboiltest.c: (oil_test_check_function), (oil_test_check_impl): 2005-01-31 David Schleef <ds@schleef.org> * doc/Makefile.am: Stop abusing _LDFLAGS * examples/Makefile.am: * examples/jpeg/Makefile.am: * examples/md5/Makefile.am: * examples/uberopt/Makefile.am: * liboil/Makefile.am: * testsuite/Makefile.am: 2005-01-18 David Schleef <ds@schleef.org> * Makefile.am: documentation. woohoo. * configure.ac: * doc/Makefile.am: * doc/build_prototypes_doc.c: (main), (print_header), (print_footer): * doc/liboil-docs.sgml: * doc/liboil-sections.txt: * doc/tmpl/conv.sgml: * doc/tmpl/dct.sgml: * doc/tmpl/jpeg.sgml: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboil.sgml: * doc/tmpl/liboilcpu.sgml: * doc/tmpl/liboildebug.sgml: * doc/tmpl/liboilfuncs-doc.sgml: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: * doc/tmpl/md5.sgml: * doc/tmpl/simdpack.sgml: * liboil/liboil.h: * liboil/liboildebug.h: * liboil/liboilfunction.c: * liboil/liboilparameter.h: * liboil/liboiltest.c: (check_holes): * liboil/liboiltypes.h: 2005-01-13 David Schleef <ds@schleef.org> * testsuite/Makefile.am: add proto4 * testsuite/proto1.c: (main): fix * testsuite/proto4.c: (main): new 2005-01-13 David Schleef <ds@schleef.org> * liboil/colorspace/rgb2rgba_powerpc.c: (rgb2rgba_ppc): fix code * liboil/conv/conv_powerpc.c: asm fix * liboil/simdpack/abs_powerpc.c: broken * liboil/simdpack/clip_powerpc.c: same * liboil/simdpack/mix_powerpc.c: same * liboil/simdpack/multsum_powerpc.c: same 2005-01-13 David Schleef <ds@schleef.org> * Makefile.am: dist autogen.sh * README: add comments * configure.ac: bump version. Fix ordering. failing->broken * liboil.pc.in: add -lm * liboil/dct/dct36_f32.c: (dct36_f32_ref): still broken. Note to self: only add classes that _have_ a reference implementation. * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_1d): fix striding * liboil/liboilfuncs.h: parameter name change * liboil/liboilparameter.h: Add guard value. * liboil/liboiltest.c: (oil_test_check_function), (check_guard), (oil_test_check_impl), (init_parameter), (check_holes): check interstitial regions. Use a guard value instead of 0. * liboil/simdpack/abs_i386.c: (abs_u16_s16_mmx2), (abs_u16_s16_sse2): disable broken impls * liboil/simdpack/scalarmult_i386.c: (scalarmult_f32_sse): fix impl 2005-01-11 David Schleef <ds@schleef.org> * README: additional notes * configure.ac: look for mmap() * examples/md5/md5sum.c: (main): fix for same * liboil/copy/trans8x8_i386.c: (trans8x8_u16_mmx): Need to be careful about using %ebx * liboil/dct/idct8x8_i386.c: (fdct8x8s_s16_mmx): same * liboil/simdpack/abs_i386.c: (abs_u16_s16_mmx): clobber memory 2005-01-09 David Schleef <ds@schleef.org> * autogen.sh: * configure.ac: fix regressions. Add some architectures. 2005-01-09 David Schleef <ds@schleef.org> * INSTALL: er, no, we don't need this 2005-01-09 David Schleef <ds@schleef.org> * autogen.sh: new and improved simple autogen.sh * configure.ac: oops, define libversion correctly 2005-01-09 David Schleef <ds@schleef.org> * AUTHORS: add * INSTALL: add * Makefile.am: add ACLOCAL_FLAGS * NEWS: add * configure.ac: fix up for modern autoconf/automake * liboil/Makefile.am: use -version-info * license_block: update for 2005 2005-01-09 David Schleef <ds@schleef.org> * examples/oil-inspect.c: (oil_print_impl): use "std." as abbr for standard * examples/uberopt/uberopt.c: (main): fix compile problem on ia64 * examples/work/Makefile.am: glib fixes * liboil/Makefile.am: autobuild a marshalling function * liboil/build_marshal.c: (main), (add_pointer_mask), (print_header), (print_footer): same * liboil/liboilmarshal.c: (_oil_test_marshal_function): the autobuilt source * liboil/liboiltest.c: (oil_test_check_function): use the autobuilt marshalling function * liboil/liboiltest.h: same 2005-01-09 David Schleef <ds@schleef.org> * examples/work/work.c: (test), (main): misc changes * liboil/conv/conv_3dnow.c: (conv_f32_s16_3dnow), (conv_s32_f32_3dnow): fix asm * liboil/conv/conv_bitstuff.c: disable brokenness * liboil/liboilprofile.h: fix s390 profiling * liboil/simdpack/Makefile.am: * liboil/simdpack/clip_fast.c: (clip_s16_fast), (clip_s16_fast2), (clip_s32_fast): merge clip_s16.c and clip_s32.c * liboil/simdpack/clip_s16.c: remove * liboil/simdpack/clip_s32.c: remove * testsuite/Makefile.am: glib fixes * testsuite/proto3.c: (check_param): fail if problem * testsuite/stride.c: (main): same 2005-01-09 David Schleef <ds@schleef.org> * examples/uberopt/uberopt.c: (main): Use gsize * liboil/colorspace/rgb2bgr_powerpc.c: (rgb2bgr_ppc), (rgb2bgr_ppc2): Fix powerpc asm * liboil/colorspace/rgb2rgba_powerpc.c: (rgb2rgba_ppc): same * liboil/conv/conv_powerpc.c: (_sl_clipconv_S8_F32__powerpc_altivec): same * liboil/copy/copy_powerpc.c: (copy_u8_altivec), (copy_u8_altivec2), (copy_u8_altivec3): same * liboil/liboilfunction.c: (oil_impl_is_runnable), (oil_class_optimize): add is_runnable() function * liboil/liboilfunction.h: same * liboil/simdpack/abs_powerpc.c: (abs_u16_s16_a16_altivec): fix asm * liboil/simdpack/clip_powerpc.c: (clip_s16_ppcasm), (clip_s16_ppcasm2), (clip_s16_ppcasm3): same * liboil/simdpack/mix_powerpc.c: (mix_u8_a16_altivec): same * testsuite/copy.c: (main): use oil_impl_is_runnable() 2005-01-09 David Schleef <ds@schleef.org> * liboil/colorspace/rgb2bgr_powerpc.c: (rgb2bgr_ppc), (rgb2bgr_ppc2), (rgb2bgr_ppc3), (rgb2bgr_ppc4): Change from NN notation to rNN. 2005-01-09 David Schleef <ds@schleef.org> * testsuite/trans.c: (main): Disable some temporary code that fails on uhv. 2005-01-08 David Schleef <ds@schleef.org> * examples/md5/md5sum.c: Don't use MAP_POPULATE if it's not defined. * liboil/dct/fdct8x8_f64.c: Fix pointer offsets * liboil/dct/fdct8x8s_s16.c: (fdct8x8s_s16_ref): same * liboil/simdpack/clip_s32.c: (clip_s32_fast): same * liboil/simdpack/sad8x8.c: (sad8x8_f64_ref), (sad8x8_s16_ref): same * testsuite/introspect.c: (xstrndup), (parse_string): add xstrndup() * liboil/liboiltest.c: (check_array): Solaris chokes on INFINITY. 2005-01-07 David Schleef <ds@schleef.org> * README: add some stuff to read * configure.ac: check for ieee754.h header * liboil/colorspace/argb_paint.c: (argb_paint_u8_ref), (argb_paint_u8_fast): change algorithm to be more accurate * liboil/colorspace/argb_paint_i386.c: (argb_paint_u8_mmx): same * liboil/conv/conv_3dnow.c: (conv_f32_s16_3dnow), (conv_s32_f32_3dnow): make these implementations actually work * liboil/conv/conv_bitstuff.c: compile fixes * liboil/conv/conv_misc.c: (conv_f64_s16_table), (conv_f32_s16_table): add a f32 impl * liboil/simdpack/diffsquaresum_f64.c: (diffsquaresum_f64_ref), (diffsquaresum_f64_i10_simple), (diffsquaresum_f64_i10_fast): fix implementation 2005-01-05 David Schleef <ds@schleef.org> * testsuite/stride.c: (main), (hist): new test 2005-01-01 David Schleef <ds@schleef.org> * liboil/colorspace/argb_paint_i386.c: * liboil/colorspace/ayuv2argb_i386.c: * liboil/liboilfunction.c: (oil_class_optimize): disable functions that fail test * liboil/liboiltest.c: (oil_test_new), (check_zero), (oil_test_check_impl), (init_parameter): Fix double-free bug, plus other problems with testing from applications. * liboil/dct/idct8x8_i386.c: pshufw apparently is not MMX * liboil/simdpack/abs_i386.c: (abs_u16_s16_i386asm3), (abs_u16_s16_mmx), (abs_u16_s16_mmxx): disable code that doesn't handle strides correctly. * liboil/simdpack/clip_s32.c: (clip_s32_fast): fix code to pass test * liboil/simdpack/diffsquaresum_f64.c: (diffsquaresum_f64_i10_unroll4): fix prototype * liboil/simdpack/scalaradd.c: fix implementation * liboil/simdpack/scalarmult.c: fix implementation * testsuite/Makefile.am: add stride test 2004-12-30 David Schleef <ds@schleef.org> * liboil/dct/idct8x8_i386.c: (idct8x8_s16_mmx), (fdct8x8s_s16_mmx): new file 2004-12-30 David Schleef <ds@schleef.org> * liboil/liboilfunction.h: add DISABLED flag and reformat 2004-12-29 David Schleef <ds@schleef.org> Add support for checking the output of functions and comparing it to the reference function. * examples/oil-inspect.c: (oil_print_impl), (oil_print_class): * examples/work/Makefile.am: * examples/work/work.c: (test), (main): * liboil/copy/permute.c: (permute_test): * liboil/liboilfuncs.h: * liboil/liboilfunction.c: (oil_class_optimize), (oil_class_register_impl_by_name): * liboil/liboilfunction.h: * liboil/liboilparameter.h: * liboil/liboilprototype.c: (oil_param_from_string): * liboil/liboiltest.c: (oil_test_free), (_oil_test_marshal_function), (oil_test_check_function), (oil_test_check_ref), (oil_test_check_impl), (init_parameter), (fill_array), (check_array): * liboil/liboiltest.h: * testsuite/test1.c: (main): 2004-12-29 David Schleef <ds@schleef.org> * liboil/colorspace/Makefile.am: some new classes * liboil/colorspace/argb_paint.c: (argb_paint_u8_ref), (argb_paint_u8_fast): * liboil/colorspace/argb_paint_i386.c: (argb_paint_u8_mmx): * liboil/colorspace/ayuv2argb.c: (ayuv2argb_u8_ref), (ayuv2argb_u8_int): * liboil/colorspace/ayuv2argb_i386.c: (ayuv2argb_u8_mmx), (ayuv2argb_u8_mmx2), (ayuv2argb_u8_mmx3): 2004-12-27 David Schleef <ds@schleef.org> * liboil/copy/copy_i386.c: (copy_u8_mmx), (copy_u8_mmx2): Fix bug for certain values of n. * liboil/liboil.h: add oil_memcpy() 2004-12-23 David Schleef <ds@schleef.org> Clean up API. * examples/md5/md5sum.c: * examples/oil-inspect.c: (oil_print_impl), (oil_print_all): * examples/work/work.c: * liboil/build_prototypes.c: (main), (print_header), (print_footer): * liboil/liboil.h: * liboil/liboilcpu.c: (_oil_cpu_init), (oil_cpu_get_flags): * liboil/liboilcpu.h: * liboil/liboildebug.c: (_oil_debug_init), (oil_debug_print_valist), (_oil_debug_print), (oil_debug_get_level), (oil_debug_set_level), (oil_debug_set_print_function): * liboil/liboildebug.h: * liboil/liboilfuncs.h: * liboil/liboilfunction.c: (oil_optimize_all), (oil_class_get_n_classes), (oil_class_get_by_index), (oil_impl_get_by_index), (oil_class_get), (oil_class_optimize), (oil_init_pointers), (oil_init_structs): * liboil/liboilfunction.h: * liboil/liboilprototype.c: * liboil/liboiltest.c: * testsuite/abs.c: * testsuite/copy.c: * testsuite/introspect.c: (main): * testsuite/md5.c: * testsuite/md5_profile.c: * testsuite/proto1.c: (main): * testsuite/proto2.c: (main): * testsuite/test1.c: (main): * testsuite/trans.c: 2004-12-22 David Schleef <ds@schleef.org> * configure.ac: add examples/work * examples/Makefile.am: same * examples/oil-inspect.c: (oil_flags_to_string): REQUIRES->FLAG * examples/work/Makefile.am: * examples/work/work.c: (test), (main): * liboil/conv/conv_3dnow.c: REQUIRES->FLAG * liboil/conv/conv_sse.c: same * liboil/copy/copy_i386.c: same * liboil/copy/copy_powerpc.c: same * liboil/dct/dct12_f32.c: (mdct12_f64_ref), (imdct12_f64_ref), (mdct36_f64_ref), (imdct36_f64_ref): remove mpglib code, new reference implementations of mdct functions * liboil/jpeg/zigzag8x8_powerpc.c: REQUIRES->FLAG * liboil/liboilcpu.c: (oil_cpu_i386_getflags), (oil_cpu_powerpc_getflags): REQUIRES->FLAG * liboil/liboilfuncs.h: update * liboil/liboilfunction.h: REQUIRES->FLAG * liboil/liboilprototype.c: (oil_prototype_to_string): Add 'const' for source arrays. * liboil/simdpack/abs_i386.c: REQUIRES->FLAG * liboil/simdpack/abs_powerpc.c: REQUIRES->FLAG * liboil/simdpack/mix_powerpc.c: REQUIRES->FLAG * liboil/simdpack/mult8x8_i386.c: REQUIRES->FLAG * liboil/simdpack/scalarmult_i386.c: REQUIRES->FLAG 2004-12-21 David Schleef <ds@schleef.org> * testsuite/copy.c: (test), (main): new test 2004-12-21 David Schleef <ds@schleef.org> * examples/example1.c: more relicensing * examples/md5/md5sum.c: * examples/oil-inspect.c: * examples/uberopt/example.c: * examples/uberopt/uberopt.c: * testsuite/abs.c: * testsuite/introspect.c: * testsuite/md5.c: * testsuite/md5_profile.c: * testsuite/moo.c: * testsuite/proto1.c: * testsuite/proto2.c: * testsuite/proto3.c: * testsuite/test1.c: * testsuite/trans.c: 2004-12-21 David Schleef <ds@schleef.org> * liboil/liboil_begin.c: remove, unused * liboil/liboil_end.c: 2004-12-21 David Schleef <ds@schleef.org> Move non-relicensed code to lgpl/. Not yet in the build. * liboil/lgpl/dct12_f32.c: (dct12_f32_mpglib): * liboil/lgpl/dct36.c: (dct36): * liboil/lgpl/imdct32_f32.c: (imdct32_f32_mpglib): 2004-12-21 David Schleef <ds@schleef.org> Global relicensing. * liboil/build_prototypes.c: (print_header): * liboil/colorspace/rgb2bgr.c: * liboil/colorspace/rgb2bgr_powerpc.c: * liboil/colorspace/rgb2rgba.c: * liboil/colorspace/rgb2rgba_powerpc.c: * liboil/conv/conv.h: * liboil/conv/conv_3dnow.c: * liboil/conv/conv_bitstuff.c: * liboil/conv/conv_c.c: * liboil/conv/conv_misc.c: * liboil/conv/conv_powerpc.c: * liboil/conv/conv_ref.c: * liboil/conv/conv_sse.c: * liboil/copy/copy.c: * liboil/copy/copy_i386.c: * liboil/copy/copy_powerpc.c: * liboil/copy/permute.c: * liboil/copy/splat_ref.c: * liboil/copy/tablelookup_ref.c: * liboil/copy/trans8x8.c: * liboil/copy/trans8x8_i386.c: * liboil/dct/dct.h: * liboil/dct/dct12_f32.c: * liboil/dct/dct36.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/fdct8x8_f64.c: * liboil/dct/fdct8x8s_s16.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/jpeg.h: * liboil/jpeg/jpeg_rgb_decoder.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/yuv2rgb_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/jpeg/zigzag8x8_powerpc.c: * liboil/junk/conv8x8_f64_s16.c: * liboil/junk/conv8x8_s16x8_s8.c: * liboil/junk/conv_f64_s16.c: * liboil/junk/conv_s16_f64.c: * liboil/junk/downsample1x_f64.c: * liboil/junk/downsample2_f64.c: * liboil/junk/downsample2_s16.c: * liboil/junk/downsample2_u8.c: * liboil/junk/downsamplex_f64.c: * liboil/junk/fdct8x8_s16.c: * liboil/junk/get8x8_f64.c: * liboil/junk/idct8x8_f64.c: * liboil/junk/idct8x8_s16.c: * liboil/junk/idct8x8s_s16.c: * liboil/junk/trans8x8_f32.c: * liboil/junk/trans8x8_s16.c: * liboil/junk/zigzag8x8_s16.c: * liboil/liboil.h: * liboil/liboil_begin.c: * liboil/liboil_end.c: * liboil/liboilcpu.c: * liboil/liboilcpu.h: * liboil/liboildebug.c: * liboil/liboildebug.h: * liboil/liboilfuncs.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilparameter.h: * liboil/liboilprofile.c: * liboil/liboilprofile.h: * liboil/liboilprototype.c: * liboil/liboilprototype.h: * liboil/liboilrandom.h: * liboil/liboiltest.c: * liboil/liboiltest.h: * liboil/liboiltypes.h: * liboil/md5/md5.c: * liboil/md5/md5.h: * liboil/md5/md5_i386.c: * liboil/md5/md5_powerpc.c: * liboil/null.c: * liboil/simdpack/abs.c: * liboil/simdpack/abs_i386.c: * liboil/simdpack/abs_misc.c: * liboil/simdpack/abs_powerpc.c: * liboil/simdpack/average2_u8.c: * liboil/simdpack/clip_powerpc.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/clip_s16.c: * liboil/simdpack/clip_s32.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/mix_powerpc.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_i386.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/multsum_powerpc.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/sad8x8_powerpc.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/scalarmult_i386.c: * liboil/simdpack/simdpack.h: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: * liboil/simdpack/vectoradd_f64.c: 2004-12-21 David Schleef <ds@schleef.org> * testsuite/trans.c: (test), (main): Add test code. 2004-12-21 David Schleef <ds@schleef.org> * autogen.sh: who needs static libraries * examples/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment), (sprintbits): clean up * examples/jpeg/test_rgb.c: (main): clean up * examples/md5/md5sum.c: (main): use mmap only if available * examples/uberopt/Makefile.am: depends on glib * liboil/Makefile.am: liboilarray.c depends on Makefile * liboil/dct/Makefile.am: add code * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_ref), (fdct8x8_f64_ref2), (fdct8x8_f64_1d): fix code to compile * liboil/dct/fdct8x8s_s16.c: (fdct8x8s_s16_ref): same * liboil/liboildebug.c: (oil_debug_print_valist): make stuff const * liboil/liboilfuncs.h: random update * liboil/liboilprofile.h: add arm * liboil/liboilprototype.c: make stuff const * testsuite/Makefile.am: add test 2004-12-21 David Schleef <ds@schleef.org> * COPYING: change to BSD license * license_block: license block * liboil/copy/copy_powerpc.c: (copy_u8_altivec2), (copy_u8_altivec3): new implementation * testsuite/Makefile.am: 2004-12-06 David Schleef <ds@schleef.org> * examples/uberopt/Makefile.am: dist example.c, not it.c 2004-12-06 David Schleef <ds@schleef.org> * liboil/copy/Makefile.am: add copy_i386 * liboil/copy/copy_i386.c: (copy_u8_mmx), (copy_u8_mmx2): some mmx implementations * liboil/simdpack/Makefile.am: add _i386 sources * liboil/simdpack/mult8x8_i386.c: (mult8x8_s16_mmx): new impls * liboil/simdpack/mult8x8_s16.c: (mult8x8_s16_ref): should have been added earlier * liboil/simdpack/scalarmult_i386.c: (scalarmult_f32_sse): new impls 2004-12-05 David Schleef <ds@schleef.org> * configure.ac: add uberopt * examples/Makefile.am: same * examples/oil-inspect.c: (impl_compare), (oil_print_class): sort implementations by profile_ave before printing. * examples/uberopt/Makefile.am: add uberopt * examples/uberopt/example.c: (abs_u16_s16_i386asm_UBER_INDEX): * examples/uberopt/uberopt.c: (main): * liboil/copy/Makefile.am: add trans8x8_i386.c * liboil/copy/copy.c: not reference functions * liboil/copy/trans8x8.c: fix reference function (oops!) * liboil/copy/trans8x8_i386.c: new. mmx implementation * liboil/simdpack/abs_i386.c: (abs_u16_s16_i386asm_uber4), (abs_u16_s16_i386asm3): new impl created by uberopt * liboil/simdpack/abs_misc.c: (abs_u16_s16_unroll2), (abs_u16_s16_unroll4): add unroll2 2004-12-05 David Schleef <ds@schleef.org> * liboil/jpeg/zigzag8x8_c.c: (zigzag8x8_s16_ref), (zigzag8x8_s16_unroll): new implementation * liboil/simdpack/mix_powerpc.c: (mix_u8_a16_altivec): Add altivec flag. * testsuite/test1.c: (main): 2004-12-05 David Schleef <ds@schleef.org> * liboil/copy/Makefile.am: add copy_powerpc.c * liboil/copy/copy_powerpc.c: a fast altivec copy_u8 * liboil/liboilparameter.h: add ptr field * liboil/liboiltest.c: (oil_test_free), (init_parameter): use ptr field instead of value for the allocated area, to make the code simpler, and also allow for a buffer area. * liboil/liboiltest.h: add OIL_TEST_HEADER/FOOTER 2004-12-05 David Schleef <ds@schleef.org> * liboil/jpeg/Makefile.am: Add zigzag8x8_powerpc.c * liboil/jpeg/jpeg.h: * liboil/jpeg/zigzag8x8_c.c: (zigzag8x8_s16_ref), (unzigzag8x8_s16_ref): add zigzag function class * liboil/jpeg/zigzag8x8_powerpc.c: add non-working altivec implementation 2004-12-03 David Schleef <ds@schleef.org> Compile and segfault fixes. * liboil/colorspace/rgb2bgr_powerpc.c: (rgb2bgr_ppc): * liboil/colorspace/rgb2rgba_powerpc.c: * liboil/conv/conv_powerpc.c: (_sl_clipconv_S8_F32__powerpc_altivec), (_sl_clipconv_S16_F32__powerpc_altivec), (_sl_clipconvert_S32_F32__powerpc_altivec), (convert_s16_f64__powerpc), (_sl_convert_S16_F32__powerpc): * liboil/copy/copy.c: (copy_u8_ptr), (copy_u8_ints): * liboil/simdpack/sad8x8_powerpc.c: 2004-12-03 David Schleef <ds@schleef.org> * liboil/conv/conv_powerpc.c: (convert_s16_f64__powerpc): fix up some powerpc asm code. probably doesn't compile. * liboil/liboilfunction.c: (oil_init): bump debugging * liboil/liboilfunction.h: add OIL_DEFINE_IMPL_ASM * liboil/md5/md5_i386.c: use it * liboil/md5/md5_powerpc.c: * liboil/colorspace/rgb2bgr_powerpc.c: * liboil/colorspace/rgb2rgba_powerpc.c: * liboil/simdpack/abs_i386.c: * liboil/simdpack/clip_powerpc.c: * liboil/simdpack/mix_powerpc.c: * liboil/simdpack/multsum_powerpc.c: * liboil/simdpack/sad8x8_powerpc.c: (sad8x8_s16_l15_a16_altivec): * testsuite/test1.c: (main), (hist): quiet down a bit 2004-12-03 David Schleef <ds@schleef.org> Move asm code into arch-specific files. * liboil/colorspace/Makefile.am: * liboil/colorspace/rgb2bgr.c: * liboil/colorspace/rgb2bgr_powerpc.c: * liboil/colorspace/rgb2rgba.c: * liboil/colorspace/rgb2rgba_powerpc.c: * liboil/conv/conv_misc.c: * liboil/conv/conv_powerpc.c: * liboil/copy/Makefile.am: * liboil/dct/Makefile.am: * liboil/jpeg/Makefile.am: * liboil/md5/Makefile.am: * liboil/simdpack/Makefile.am: * liboil/simdpack/abs_i386.c: * liboil/simdpack/abs_misc.c: * liboil/simdpack/abs_powerpc.c: * liboil/simdpack/abs_u16_s16.c: * liboil/simdpack/abs_u32_s32.c: * liboil/simdpack/clip_powerpc.c: * liboil/simdpack/clip_s16.c: * liboil/simdpack/mix_powerpc.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/multsum.c: * liboil/simdpack/multsum_powerpc.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/sad8x8_powerpc.c: 2004-12-03 David Schleef <ds@schleef.org> * configure.ac: move conv code to its own directory * liboil/Makefile.am: * liboil/conv.h: * liboil/conv/.cvsignore: * liboil/conv/Makefile.am: * liboil/conv/conv.h: * liboil/conv/conv_3dnow.c: * liboil/conv/conv_bitstuff.c: * liboil/conv/conv_c.c: * liboil/conv/conv_misc.c: * liboil/conv/conv_powerpc.c: * liboil/conv/conv_ref.c: * liboil/conv/conv_sse.c: * liboil/conv_3dnow.c: * liboil/conv_bitstuff.c: * liboil/conv_c.c: * liboil/conv_misc.c: * liboil/conv_powerpc.c: * liboil/conv_ref.c: * liboil/conv_sse.c: 2004-12-02 David Schleef <ds@schleef.org> * examples/example1.c: (main): remove oil_optimize_all() * examples/oil-inspect.c: (oil_flags_to_string), (oil_print_impl), (oil_print_class), (main): fix flag and profile printing * liboil/liboildebug.c: remove oil_spill() * liboil/liboildebug.h: same * liboil/liboilfunction.c: (oil_init), (oil_class_get_by_index), (oil_impl_get_by_index), (oil_class_optimize), (oil_init_pointers): remove GNU_LINKER stuff. Implement optimization. * liboil/liboilfunction.h: change profile info to double. add ASM flag. * liboil/liboilprofile.c: (oil_profile_get_ave_std): add function to eliminate outliers in a profile measurement. * liboil/liboilprofile.h: same * liboil/liboiltest.c: (oil_test_go): use it * testsuite/abs.c: (main): remove oil_optimize_all() * testsuite/md5.c: (main): remove oil_optimize_all() * testsuite/md5_profile.c: (main): remove oil_optimize_all() * testsuite/moo.c: (main): remove oil_optimize_all() 2004-12-02 David Schleef <ds@schleef.org> * liboil/Makefile.am: add null.c, libprofile.c * liboil/null.c: a null function * liboil/liboilprofile.c: profiling code * liboil/conv_3dnow.c: (conv_f32_s32_3dnow), (conv_s32_f32_3dnow): add 'emms' * liboil/liboilprofile.h: clean up, move some stuff to .c * liboil/liboiltest.c: (oil_test_go): fix for profile changes * liboil/simdpack/abs_u16_s16.c: (abs_u16_s16_mmx), (abs_u16_s16_mmxx), (abs_u16_s16_mmx2): add 'emms' * testsuite/md5_profile.c: (test): fix for profile changes * testsuite/test1.c: (main), (calc_average), (calc_std), (calc_std2), (calc_max), (hist): fix for profile changes. Add code to get a good estimate of the average execution time, removing outliers. 2004-12-02 David Schleef <ds@schleef.org> * liboil/copy/trans8x8_f32.c: Move unused files to junk directory * liboil/copy/trans8x8_s16.c: * liboil/dct/fdct8x8_s16.c: * liboil/dct/idct8x8_f64.c: * liboil/dct/idct8x8_s16.c: * liboil/dct/idct8x8s_s16.c: * liboil/jpeg/zigzag8x8_s16.c: * liboil/junk/conv8x8_f64_s16.c: * liboil/junk/conv8x8_s16x8_s8.c: * liboil/junk/conv_f64_s16.c: * liboil/junk/conv_s16_f64.c: * liboil/junk/downsample2_f64.c: * liboil/junk/downsample2_s16.c: * liboil/junk/downsample2_u8.c: * liboil/junk/downsamplex_f64.c: * liboil/junk/fdct8x8_s16.c: * liboil/junk/idct8x8_f64.c: * liboil/junk/idct8x8_s16.c: * liboil/junk/idct8x8s_s16.c: * liboil/junk/trans8x8_f32.c: * liboil/junk/trans8x8_s16.c: * liboil/junk/zigzag8x8_s16.c: * liboil/simdpack/conv8x8_f64_s16.c: * liboil/simdpack/conv8x8_s16x8_s8.c: * liboil/simdpack/conv_f64_s16.c: * liboil/simdpack/conv_s16_f64.c: * liboil/simdpack/downsample2_f64.c: * liboil/simdpack/downsample2_s16.c: * liboil/simdpack/downsample2_u8.c: * liboil/simdpack/downsamplex_f64.c: 2004-12-02 David Schleef <ds@schleef.org> * liboil/liboiltest.c: (oil_test_new), (oil_test_free), (oil_test_go): Fix memleaks by freeing stuff properly. * liboil/liboiltest.h: same * liboil/copy/permute.c: (permute_test): implement test function * liboil/copy/tablelookup_ref.c: (tablelookup_u8_ref): fix prototype and remove test function. 2004-12-02 David Schleef <ds@schleef.org> * liboil/copy/trans8x8_f32.c: Remove simdpack-ish TEST functions * liboil/copy/trans8x8_s16.c: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/fdct8x8_f64.c: * liboil/dct/fdct8x8_s16.c: * liboil/dct/fdct8x8s_s16.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_f64.c: * liboil/dct/idct8x8_s16.c: * liboil/dct/idct8x8s_s16.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/zigzag8x8_s16.c: * liboil/junk/downsample1x_f64.c: * liboil/junk/get8x8_f64.c: 2004-12-02 David Schleef <ds@schleef.org> * README: some notes * examples/.cvsignore: update some cvsignore files * examples/md5/.cvsignore: * liboil/.cvsignore: * liboil/colorspace/.cvsignore: * liboil/copy/.cvsignore: * liboil/md5/.cvsignore: * testsuite/.cvsignore: 2004-12-02 David Schleef <ds@schleef.org> * configure.ac: use -fomit-frame-pointer, -funroll-all-loops and -Wno-unused-functions * liboil/colorspace/Makefile.am: create opt libs * liboil/copy/Makefile.am: same * liboil/dct/Makefile.am: same * liboil/jpeg/Makefile.am: same * liboil/md5/Makefile.am: same 2004-12-02 David Schleef <ds@schleef.org> * liboil/Makefile.am: fix distcheck * liboil/liboilprototype.c: (oil_prototype_check_sanity): oops, remove debugging 2004-12-02 David Schleef <ds@schleef.org> * liboil/build_prototypes.c: (main): complain if prototype parsing fails. * liboil/conv_misc.c: (conv_f64_s16_table): fix valgrind problem * liboil/liboilcpu.c: (_oil_cpu_init): parse OIL_CPU_FLAGS environment variable * liboil/liboilfunction.h: move stuff to liboilparameter.h * liboil/liboilparameter.h: new * liboil/liboilprototype.c: (oil_prototype_from_string), (oil_prototype_check_sanity), (oil_arg_type_name), (oil_param_from_string): implement a new style of parameter names * liboil/liboilprototype.h: use liboilparameter.h * liboil/liboiltest.c: (oil_test_new), (oil_test_go), (fill_array), (init_parameter), (oil_test_init_params): implement a new style of parameter names * liboil/liboiltest.h: add m * liboil/liboiltypes.h: move some typedefs here * testsuite/introspect.c: (main): check return values * testsuite/proto1.c: (main): same * testsuite/proto2.c: (main): same * testsuite/test1.c: (main): same Fixes for new style of parameter names: * liboil/colorspace/rgb2bgr.c: * liboil/colorspace/rgb2rgba.c: * liboil/copy/splat_ref.c: * liboil/copy/trans8x8.c: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: (dct36_f32_ref): * liboil/dct/fdct8_f64.c: * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_ref): * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/yuv2rgb_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/md5/md5.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/clip_s16.c: (clip_s16_fast2): fix bugs * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: (multsum_f32_unroll2): * liboil/simdpack/sad8x8.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/vectoradd_f64.c: 2004-12-01 David Schleef <ds@schleef.org> * liboil/simdpack/clip_s16.c: (clip_s16_ppcasm), (clip_s16_ppcasm2), (clip_s16_ppcasm3): Fix compile problem. Change asm arguments from read/write to read. Not 100% correct, but we don't care, because we're not simdpack. 2004-12-01 David Schleef <ds@schleef.org> * autogen.sh: add alt-opt by default * configure.ac: add -funroll-all-loops * testsuite/Makefile.am: Add proto3 * testsuite/proto3.c: (main), (check_param), (print_param): A little proggy to test parsing of a new style of parameter names 2004-12-01 David Schleef <ds@schleef.org> * liboil/simdpack/abs_u32_s32.c: rip out simdpack test functions * liboil/simdpack/average2_u8.c: * liboil/simdpack/conv8x8_f64_s16.c: * liboil/simdpack/conv8x8_s16x8_s8.c: * liboil/simdpack/conv_f64_s16.c: * liboil/simdpack/conv_s16_f64.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/downsample2_f64.c: * liboil/simdpack/downsample2_s16.c: * liboil/simdpack/downsample2_u8.c: * liboil/simdpack/downsamplex_f64.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: 2004-12-01 David Schleef <ds@schleef.org> * configure.ac: Add --enable-prototype-checking and --enable-alternate-optimization. * liboil/Makefile.am: same * liboil/colorspace/Makefile.am: remove colorspace.h * liboil/colorspace/rgb2bgr.c: (rgb2bgr_test): temporary fix * liboil/colorspace/rgb2rgba.c: (rgb2rgba_test): temporary fix * liboil/liboilfuncs.h: update * liboil/liboilfunction.h: add alternate optimization stuff * liboil/simdpack/Makefile.am: build alt opt lib * liboil/simdpack/sincos_f64.c: (sincos_f64_ref), (sincos_f64_i20_fast): change params to pointers 2004-12-01 David Schleef <ds@schleef.org> From Benjamin Otte * liboil/colorspace/Makefile.am: * liboil/colorspace/rgb2bgr.c: (rgb2bgr_ref), (rgb2bgr_ppc), (rgb2bgr_ppc2), (rgb2bgr_ppc3), (rgb2bgr_ppc4): * liboil/colorspace/rgb2rgba.c: (rgb2rgba_ref), (rgb2rgba_ppc): 2004-12-01 David Schleef <ds@schleef.org> * liboil/Makefile.am: remove old begin/end stuff * liboil/build_prototypes.c: (main): add a typedef for functions * liboil/copy/permute.c: (permute_test): add comment * liboil/copy/tablelookup_ref.c: (tablelookup_test): same * liboil/liboilfuncs.h: update * liboil/liboilfunction.h: remove old begin/end stuff * liboil/liboilprototype.c: switch to OIL_ARG_PARAM1 * liboil/liboilprototype.h: include liboilfunction.h * liboil/liboiltest.c: (oil_test_go), (fill_array), (init_src_array), (oil_test_init_src_arrays), (init_param), (oil_test_init_params): add support for parameters. require parameters to be pointers. * liboil/liboiltest.h: same * liboil/md5/md5.c: (md5_test): add test * liboil/simdpack/clip_ref.c: fix prototypes and functions * liboil/simdpack/clip_s16.c: (clip_s16_fast), (clip_s16_fast2), (clip_s16_ppcasm), (clip_s16_ppcasm2), (clip_s16_ppcasm3): same * liboil/simdpack/clip_s32.c: (clip_s32_fast): same * liboil/simdpack/mix_u8.c: (mix_u8_fast2): same * liboil/simdpack/sad8x8.c: (sad8x8_s16_ref): same * liboil/simdpack/scalaradd.c: same * liboil/simdpack/scalarmult.c: same * liboil/simdpack/scalarmult_f64.c: same * liboil/simdpack/vectoradd_f64.c: same 2004-11-30 David Schleef <ds@schleef.org> * liboil/Makefile.am: add target for rebuilding liboilfuncs.h * liboil/copy/Makefile.am: * liboil/copy/copy.c: (copy_u8_ref), (copy_u8_libc): Add a memcpy function. * liboil/copy/copy.h: remove useless header file * liboil/copy/splat_ref.c: same * liboil/copy/trans8x8.c: same * liboil/liboilfuncs.h: update 2004-11-30 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (oil_cpu_i386_getflags), (test_altivec), (illegal_instruction_handler), (oil_cpu_powerpc_getflags), (_oil_cpu_init): Detect altivec 2004-11-30 David Schleef <ds@schleef.org> * liboil/Makefile.am: add testing * liboil/conv_sse.c: opcodes are SSE2, not SSE (oops) * liboil/copy/permute.c: (permute_test): avoid generic test function * liboil/copy/tablelookup_ref.c: (tablelookup_test): same * liboil/jpeg/yuv2rgb_c.c: (yuv_test): same * liboil/liboilfunction.c: (oil_class_optimize): change to OIL_CPU_FLAG_MASK * liboil/liboilfunction.h: same. Misc API adjustments * liboil/liboilprototype.c: (oil_type_name), (oil_arg_type_name), (oil_arg_type_from_string): handle parameter aliases * liboil/liboilprototype.h: add functions * liboil/liboilrandom.h: new. #define wrapping rand() for various types and ranges * liboil/liboiltest.c: (oil_test_new), (oil_test_free), (oil_test_set_impl), (oil_test_set_iterations), (oil_test_go), (oil_test_cleanup), (init_src_array), (oil_test_init_src_arrays), (init_dest_array), (oil_test_init_dest_arrays): testing structure * liboil/liboiltest.h: same * liboil/simdpack/abs_u32_s32.c: (abs_u32_s32_fast): fix. previously ignored stride. * testsuite/Makefile.am: new test * testsuite/proto2.c: (main), (get_param_by_type): ignore this * testsuite/test1.c: look at this instead. tests the new testing structure. 2004-11-29 David Schleef <ds@schleef.org> * configure.ac: bump to 0.3 series * liboil/liboilfunction.h: Add types and argument types. * liboil/liboilprototype.c: (oil_prototype_to_string), (oil_prototype_from_string), (oil_prototype_free), (_strndup), (oil_type_sizeof), (oil_type_name), (oil_type_from_string), (oil_arg_type_from_string): Add stuff for types and argument types. * liboil/liboilprototype.h: Move some stuff to liboilfunction.h (why?) * testsuite/Makefile.am: Add proto2 * testsuite/introspect.c: (main), (parse_size): remove junk * testsuite/proto1.c: (main): add state * testsuite/proto2.c: add 2004-11-29 David Schleef <ds@schleef.org> From Benjamin Otte * liboil/Makefile.am: * liboil/conv_sse.c: (conv_f64_s32_sse), (conv_s32_f64_sse): Fix implementations. * liboil/conv_3dnow.c: new 2004-11-27 David Schleef <ds@schleef.org> * configure.ac: version bump * testsuite/md5.c: (test): compile fix 2004-11-27 David Schleef <ds@schleef.org> From Benjamin Otte * autogen.sh: * examples/Makefile.am: Add oil-inspect * examples/oil-inspect.c: (printerr), (string_append), (oil_flags_to_string), (oil_print_impl), (oil_print_class), (oil_print_all), (main): * liboil/liboilfunction.h: * liboil/md5/md5_i386.c: don't mark functions as reference 2004-11-27 David Schleef <ds@schleef.org> * examples/md5/md5sum.c: (main): Fix problem with file sizes that are multiples of 64. 2004-11-27 David Schleef <ds@schleef.org> * liboil/simdpack/clip_s16.c: (clip_s16_ppcasm3): Use r22 instead of r30. 2004-11-24 David Schleef <ds@schleef.org> * liboil/liboilcpu.c: (get_cpuinfo), (oil_cpu_i386_getflags): Fix segfault if /proc/cpuinfo doesn't exist (reported by Jakub Bogusz) === 0.2.2 === 2004-11-22 David Schleef <ds@schleef.org> * configure.ac: version bump * testsuite/md5.c: (test): fix warning 2004-11-22 David Schleef <ds@schleef.org> * liboil/simdpack/simdpack.h: remove defines that are automatically in liboilfuncs.h. 2004-11-22 David Schleef <ds@schleef.org> * liboil/simdpack/clip_s16.c: compile fix. * liboil/simdpack/downsample2_u8.c: (downsample2_u8_ref), (downsample2_u8_ave), (downsample2_u8_fast), (downsample2_u8_trick1), (downsample2_u8_trick2), (downsample2_u8_trick3), (downsample2_u8_unroll4), (downsample2_u8_ppcasm): remove more simdpack-isms. 2004-11-22 David Schleef <ds@schleef.org> * configure.ac: bump nano * examples/jpeg/jpeg.c: (jpeg_decoder_application0): Fix warnings under gcc-3.5 * liboil/Makefile.am: Add dependency to convince automake to build things in the correct order (fixes build problems with -j2) * liboil/md5/md5_i386.c: (md5_asm1), (md5_asm2), (md5_asm3): Don't clobber ebx, since gcc can't handle it. * liboil/simdpack/average2_u8.c: remove simdpack-isms * liboil/simdpack/clip_s16.c: same * liboil/simdpack/conv_f64_s16.c: same * liboil/simdpack/downsample2_s16.c: (downsample2_s16_ref), (downsample2_s16_fast), (downsample2_s16_unroll4), (downsample2_s16_ppcasm): same * liboil/simdpack/mix_u8.c: same * liboil/simdpack/sad8x8.c: same === 0.2.1 === 2004-11-17 David Schleef <ds@schleef.org> * configure.ac: version bump * examples/jpeg/Makefile.am: add deps * examples/md5/Makefile.am: * examples/md5/md5sum.c: fix warning * liboil/md5/md5_i386.c: (md5_asm2), (md5_asm3): fix warning 2004-11-04 David Schleef <ds@schleef.org> * configure.ac: add endianness check * examples/md5/md5sum.c: (main): endianness fixes * liboil/md5/md5.c: (md5_c): endianness fixes * liboil/md5/md5_powerpc.c: (md5_asm1), (md5_asm2), (md5_asm3): some asm implementations * testsuite/Makefile.am: * testsuite/md5.c: (test): endianness fixes * testsuite/md5_profile.c: (test), (main): Add a profiling tool for md5. 2004-11-01 David Schleef <ds@schleef.org> * configure.ac: add md5sum example * examples/Makefile.am: * examples/md5/Makefile.am: * examples/md5/md5sum.c: (main): * liboil/md5/Makefile.am: * liboil/md5/md5_i386.c: (md5_asm3): optimization * liboil/md5/md5_powerpc.c: (md5_asm1): stub 2004-11-01 David Schleef <ds@schleef.org> * COPYING: add * Makefile.am: Add COPYING, fix CLEANFILES * configure.ac: version bump * examples/jpeg/Makefile.am: fix glib dep * liboil/Makefile.am: add md5, fix glib dep * liboil/copy/Makefile.am: * liboil/liboilfuncs.h: update * liboil/liboilfunction.c: (oil_class_choose_by_name): add new function * liboil/liboilfunction.h: same * liboil/md5/Makefile.am: add md5 function class * liboil/md5/md5.c: (md5_c): * liboil/md5/md5.h: * liboil/md5/md5_i386.c: (md5_asm1), (md5_asm2): * testsuite/Makefile.am: add an md5 test * testsuite/md5.c: (test), (main): 2004-10-21 David Schleef <ds@schleef.org> * configure.ac: fixes for powerpc * liboil/simdpack/abs_u16_s16.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/multsum.c: (multsum_f32_ppcasm): * liboil/simdpack/sad8x8.c: * testsuite/Makefile.am: 2004-09-15 David Schleef <ds@schleef.org> * configure.ac: Add jpeg library from swfdec. * examples/Makefile.am: * examples/jpeg/Makefile.am: * examples/jpeg/bits.h: * examples/jpeg/huffman.c: * examples/jpeg/huffman.h: * examples/jpeg/jpeg.c: * examples/jpeg/jpeg.h: * examples/jpeg/jpeg_debug.h: * examples/jpeg/jpeg_internal.h: * examples/jpeg/jpeg_rgb_decoder.c: * examples/jpeg/jpeg_rgb_decoder.h: * examples/jpeg/jpeg_rgb_internal.h: * examples/jpeg/test.c: * examples/jpeg/test_rgb.c: 2004-09-13 David Schleef <ds@schleef.org> * examples/example1.c: (main): call optimize_all() * liboil/Makefile.am: remove build_lists * liboil/liboilfunction.h: use HAVE_GNU_LINKER * testsuite/Makefile.am: add test * testsuite/proto1.c: (main): 2004-09-13 David Schleef <ds@schleef.org> * Makefile.am: Bump API version to 0.2 * configure.ac: * liboil-0.1-uninstalled.pc.in: * liboil-0.1.pc.in: * liboil.pc.in: 2004-09-09 David Schleef <ds@schleef.org> * liboil/Makefile.am: Hoop jumping to extract a list of symbols to generate into liboilarray.c * liboil/build_lists.c: remove * liboil/liboilarray.c: remove 2004-09-09 David Schleef <ds@schleef.org> * liboil/build_lists.c: (main), (print_header): new 2004-09-09 David Schleef <ds@schleef.org> * configure.ac: Check for GNU linker (i.e., Linux) * liboil/Makefile.am: Use alternate liboilarray.c if not Linux. * liboil/build_prototypes.c: (main), (print_header): * liboil/liboilarray.c: Array of classes and impls. * liboil/liboil_begin.c: fix API changes * liboil/liboil_end.c: api changes * liboil/liboildebug.c: (oil_spill): api changes * liboil/liboilfunction.c: (oil_optimize_all), (oil_class_get_by_index), (oil_impl_get_by_index), (oil_class_get), (oil_init_pointers), (oil_init_structs): Handle class and impl arrays if not using gnu linker. * liboil/liboilfunction.h: api changes * testsuite/proto1.c: (main): api changes 2004-09-08 David Schleef <ds@schleef.org> * liboil/liboilprototype.c: (parse_string), (oil_string_free), (_strndup): Add strndup implementation 2004-09-08 David Schleef <ds@schleef.org> * configure.ac: Use -Wa,-mregnames if possible 2004-09-08 David Schleef <ds@schleef.org> * .cvsignore: Some stuff to ignore * examples/.cvsignore: * liboil/.cvsignore: * liboil/dct/.cvsignore: * liboil/jpeg/.cvsignore: * liboil/simdpack/.cvsignore: * m4/pkg.m4: * testsuite/.cvsignore: 2004-09-07 David Schleef <ds@schleef.org> * liboil/Makefile.am: only export oil_ symbols * liboil/build_prototypes.c: (main): change to oil_function_class_ptr_%s * liboil/conv_c.c: same * liboil/conv_misc.c: same * liboil/conv_ref.c: same * liboil/conv_sse.c: same * liboil/copy/permute.c: same... * liboil/copy/splat_ref.c: * liboil/copy/tablelookup_ref.c: * liboil/copy/trans8x8.c: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/jpeg_rgb_decoder.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/yuv2rgb_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/liboil_begin.c: * liboil/liboil_end.c: * liboil/liboilfuncs.h: update * liboil/liboilfunction.c: move declarations to .c files * liboil/liboilfunction.h: same. Fix namespace issues. * liboil/simdpack/abs.c: class fixes * liboil/simdpack/abs_u16_s16.c: same... * liboil/simdpack/abs_u32_s32.c: * liboil/simdpack/average2_u8.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/clip_s16.c: * liboil/simdpack/clip_s32.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: * liboil/simdpack/vectoradd_f64.c: * testsuite/abs.c: (main): remove usage of internal symbol * testsuite/moo.c: (main): same 2004-09-07 David Schleef <ds@schleef.org> Global change from OIL_DEFINE_CLASS_X to OIL_DEFINE_CLASS * liboil/conv_ref.c: * liboil/copy/permute.c: * liboil/copy/splat_ref.c: * liboil/copy/tablelookup_ref.c: * liboil/copy/trans8x8.c: * liboil/dct/dct12_f32.c: * liboil/dct/dct36_f32.c: * liboil/dct/fdct8_f64.c: * liboil/dct/idct8_f64.c: * liboil/dct/idct8x8_c.c: * liboil/dct/imdct32_f32.c: * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/jpeg_rgb_decoder.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/yuv2rgb_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/junk/downsample1x_f64.c: * liboil/junk/get8x8_f64.c: * liboil/liboilfunction.h: * liboil/simdpack/abs.c: * liboil/simdpack/average2_u8.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: * liboil/simdpack/vectoradd_f64.c: 2004-09-07 David Schleef <ds@schleef.org> Add oil_ prefix to all virtual functions. * examples/example1.c: (main): * liboil/build_prototypes.c: (main): * liboil/dct/idct8x8_c.c: (idct8x8_f64_c), (idct8x8_s16_slow): * liboil/liboilfuncs.h: * testsuite/abs.c: (test): 2004-09-07 David Schleef <ds@schleef.org> * liboil/build_prototypes.c: Use new api * liboil/copy/permute.c: param changes * liboil/copy/splat_ref.c: param changes * liboil/copy/tablelookup_ref.c: param changes * liboil/jpeg/jpeg_rgb_decoder.c: param changes * liboil/jpeg/quantize8x8_c.c: param changes * liboil/jpeg/yuv2rgb_c.c: param changes * liboil/liboilprototype.c: bugfixes * liboil/simdpack/Makefile.am: remove files * liboil/simdpack/clip_ref.c: param changes * liboil/simdpack/mix_u8.c: param changes * liboil/simdpack/scalaradd.c: param changes * liboil/simdpack/scalarmult.c: param changes * liboil/simdpack/sincos_f64.c: param changes * liboil/simdpack/vectoradd_f64.c: param changes * testsuite/Makefile.am: new test * testsuite/proto1.c: prototype checker 2004-09-07 David Schleef <ds@schleef.org> * liboil/junk/downsample1x_f64.c: move these * liboil/junk/get8x8_f64.c: * liboil/simdpack/downsample1x_f64.c: * liboil/simdpack/get8x8_f64.c: 2004-09-03 David Schleef <ds@schleef.org> * liboil/Makefile.am: add liboilprototype.c * liboil/build_prototypes.c: use liboilprototype.h * liboil/conv_c.c: include conv.h * liboil/conv_misc.c: include conv.h * liboil/conv_sse.c: include conv.h * liboil/liboilfuncs.h: use pointers to classes instead of directly * liboil/liboilfunction.h: Add class pointer definition * liboil/liboilprototype.c: (oil_prototype_append_param), (oil_prototype_to_string), (oil_prototype_from_string), (parse_string), (oil_prototype_free), (oil_string_new), (oil_string_append), (oil_string_free): Add some prototype manipulation functions. * liboil/liboilprototype.h: ditto * liboil/simdpack/abs.c: (abs_f32_f32_ref), (abs_f64_f64_ref): Fix bug. * testsuite/abs.c: (test), (main): works now 2004-09-03 David Schleef <ds@schleef.org> Move a bunch of files around. * configure.ac: * liboil/Makefile.am: * liboil/build_prototypes.c: (main): * liboil/copy/Makefile.am: * liboil/copy/copy.h: * liboil/copy/permute.c: * liboil/copy/splat_ref.c: (splat_u8_ref), (splat_u32_ref), (splat_u32_unroll2): * liboil/copy/tablelookup_ref.c: (tablelookup_u8_ref): * liboil/copy/trans8x8.c: (TEST_trans8x8_f64): * liboil/copy/trans8x8_f32.c: (trans8x8_f32_ref), (trans4x4_f32_a16_altivec), (trans8x8_f32_a16_altivec), (TEST_trans8x8_f32): * liboil/copy/trans8x8_s16.c: (trans8x8_s16_ref), (trans8x8_s16_a16_altivec), (trans8x8_s16_altivecwrap), (TEST_trans8x8_s16): * liboil/dct/Makefile.am: * liboil/dct/dct.h: * liboil/dct/dct12_f32.c: (dct12_f32_ref), (dct12_f32_ref1), (dct12_f32_mpglib), (TEST_dct12_f32): * liboil/dct/dct36.c: (dct36): * liboil/dct/dct36_f32.c: (dct36_f32_ref), (TEST_dct36_f32): * liboil/dct/fdct8_f64.c: (fdct8_f64_ref), (fdct8_f64_fast), (TEST_fdct8_f64): * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_ref), (fdct8x8_f64_ref2), (fdct8x8_f64_1d), (TEST_fdct8x8_f64): * liboil/dct/fdct8x8_s16.c: (fdct8x8_s16_ref), (TEST_fdct8x8_s16): * liboil/dct/fdct8x8s_s16.c: (fdct8x8s_s16_ref), (TEST_fdct8x8s_s16): * liboil/dct/idct8_f64.c: (idct8_f64_ref), (idct8_f64_fastx), (TEST_idct8_f64): * liboil/dct/idct8x8_c.c: (idct8x8_f64_slow), (idct8x8_f64_c), (idct8x8_s16_slow): * liboil/dct/idct8x8_f64.c: (idct8x8_f64_ref), (idct8x8_f64_ref2), (idct8x8_f64_1d), (TEST_idct8x8_f64): * liboil/dct/idct8x8_s16.c: (idct8x8_s16_ref), (idct8x8_s16_fast), (TEST_idct8x8_s16): * liboil/dct/idct8x8s_s16.c: (idct8x8s_s16_ref), (TEST_idct8x8s_s16): * liboil/dct/imdct32_f32.c: (imdct32_f32_ref), (imdct32_f32_mpglib), (TEST_imdct32_f32): * liboil/jpeg/Makefile.am: * liboil/jpeg/idct8_c.c: * liboil/jpeg/idct8x8_c.c: * liboil/jpeg/jpeg.c: * liboil/jpeg/jpeg.h: * liboil/jpeg/jpeg_rgb_decoder.c: * liboil/jpeg/quantize8x8_c.c: * liboil/jpeg/yuv2rgb_c.c: * liboil/jpeg/zigzag8x8_c.c: * liboil/liboilcpu.c: (oil_cpu_i386_getflags): * liboil/liboildebug.c: (oil_debug_print_valist): * liboil/liboilfuncs.h: * liboil/liboilfunction.c: (oil_class_get_by_index), (oil_class_optimize), (oil_init_pointers), (oil_init_structs): * liboil/liboilfunction.h: * liboil/simdpack/Makefile.am: * liboil/simdpack/abs.c: (abs_u8_s8_ref), (abs_u16_s16_ref), (abs_u32_s32_ref): * liboil/simdpack/abs_u32_s32.c: * liboil/simdpack/average2_u8.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/dct12_f32.c: * liboil/simdpack/dct36.c: * liboil/simdpack/dct36_f32.c: * liboil/simdpack/diffsquaresum_f64.c: * liboil/simdpack/downsample1x_f64.c: * liboil/simdpack/fdct8_f64.c: * liboil/simdpack/fdct8x8_f64.c: * liboil/simdpack/fdct8x8_s16.c: * liboil/simdpack/fdct8x8s_s16.c: * liboil/simdpack/get8x8_f64.c: * liboil/simdpack/idct8_f64.c: * liboil/simdpack/idct8x8_f64.c: * liboil/simdpack/idct8x8_s16.c: * liboil/simdpack/idct8x8s_s16.c: * liboil/simdpack/imdct32_f32.c: * liboil/simdpack/mix_u8.c: * liboil/simdpack/mult8x8_s16.c: * liboil/simdpack/multsum.c: * liboil/simdpack/permute.c: * liboil/simdpack/sad8x8.c: * liboil/simdpack/scalaradd.c: * liboil/simdpack/simdpack.c: * liboil/simdpack/sincos_f64.c: * liboil/simdpack/squaresum_f64.c: * liboil/simdpack/sum_f64.c: * liboil/simdpack/trans8x8.c: * liboil/simdpack/trans8x8_f32.c: * liboil/simdpack/trans8x8_s16.c: * liboil/simdpack/vectoradd_f64.c: * liboil/simdpack/zigzag8x8_s16.c: * testsuite/Makefile.am: * testsuite/abs.c: (test), (main): * testsuite/introspect.c: (main): 2004-09-02 David Schleef <ds@schleef.org> * configure.ac: remove strict glib dependency * liboil-0.1-uninstalled.pc.in: remove glib * liboil-0.1.pc.in: remove glib * liboil/Makefile.am: remove glib dependency, make conv_sse an i386 source * liboil/liboilcpu.c: handle non-Linux builds 2004-08-20 David Schleef <ds@schleef.org> * m4/as-compiler-flag.m4: add 2004-08-18 David Schleef <ds@schleef.org> * Makefile.am: remove liboil-lite * configure.ac: add -D_GNU_SOURCE to flags * liboil/simdpack/abs_u16_s16.c: (abs_u16_s16_i386asm2), (abs_u16_s16_mmxx), (abs_u16_s16_mmx2), (abs_u16_s16_sse2): Fix some problems with ebx usage. 2004-08-13 David Schleef <ds@schleef.org> Partial port to Forte/non-gcc-compilers. Kill me now. * configure.ac: * liboil/Makefile.am: * liboil/build_prototypes.c: (parse_string): * liboil/conv_bitstuff.c: (conv_f32_u8_bitstuff), (conv_f32_s8_bitstuff), (conv_f32_u16_bitstuff), (conv_f32_s16_bitstuff), (conv_s16_f32_bitstuff), (conv_f64_u8_bitstuff), (conv_f64_s8_bitstuff), (conv_f64_u16_bitstuff), (conv_f64_s16_bitstuff): * liboil/conv_c.c: * liboil/conv_ref.c: * liboil/conv_sse.c: * liboil/jpeg/idct8_c.c: * liboil/liboil_begin.c: * liboil/liboil_end.c: * liboil/liboildebug.h: * liboil/liboilfunction.h: * liboil/simdpack/abs.c: (abs_u16_s16_ref), (abs_u32_s32_ref), (abs_f32_f32_ref), (abs_f64_f64_ref): * liboil/simdpack/abs_u16_s16.c: (abs_u16_s16_ref): * liboil/simdpack/abs_u32_s32.c: * liboil/simdpack/clip_ref.c: * liboil/simdpack/clip_s16.c: (clip_s16_ref), (clip_s16_fast): * liboil/simdpack/fdct8_f64.c: (fdct8_f64_ref), (fdct8_f64_fast): * liboil/simdpack/fdct8x8_f64.c: (fdct8x8_f64_ref), (fdct8x8_f64_ref2): * liboil/simdpack/fdct8x8s_s16.c: (fdct8x8s_s16_ref): * liboil/simdpack/get8x8_f64.c: (get8x8_f64_ref): * liboil/simdpack/idct8_f64.c: (idct8_f64_ref), (idct8_f64_fastx): * liboil/simdpack/mult8x8_s16.c: (mult8x8_s16_ref): * liboil/simdpack/multsum.c: (multsum_f32_unroll2): * liboil/simdpack/permute.c: * liboil/simdpack/sad8x8.c: (sad8x8_f64_ref), (sad8x8_s16_ref): * liboil/simdpack/scalaradd.c: * liboil/simdpack/scalarmult.c: * liboil/simdpack/sum_f64.c: (sum_f64_ref), (sum_f64_i10_simple), (sum_f64_i10_unroll4): * liboil/simdpack/vectoradd_f64.c: * liboil/simdpack/zigzag8x8_s16.c: (zigzag8x8_s16_ref): * liboil/splat_ref.c: (splat_u8_ref), (splat_u32_ref), (splat_u32_unroll2): * liboil/tablelookup_ref.c: (tablelookup_u8_ref): 2004-08-12 David Schleef <ds@schleef.org> * configure.ac: Check for rintf() and friends * liboil/conv_c.c: use check * liboil/simdpack/Makefile.am: enable abs_u16_s16.c * liboil/simdpack/abs_u16_s16.c: fix compilation * liboil/splat_ref.c: (splat_u32_ref), (splat_u32_unroll2): 2004-08-12 David Schleef <ds@schleef.org> * m4/as-version.m4: Update from autostars 2004-08-12 David Schleef <ds@schleef.org> * testsuite/abs.c: (test), (main): Add 2004-08-12 David Schleef <ds@schleef.org> Start changelog and add some random changes. * liboil/Makefile.am: * liboil/build_prototypes.c: (main), (param_free), (print_header), (print_footer): * liboil/jpeg/convert8x8_c.c: * liboil/jpeg/idct8_c.c: * liboil/jpeg/idct8x8_c.c: * liboil/jpeg/jpeg.c: * liboil/jpeg/jpeg.h: * liboil/jpeg/zigzag8x8_c.c: * liboil/liboilcpu.c: (oil_cpu_i386_getflags), (strsplit): * liboil/liboilfuncs.h: * liboil/splat_ref.c: (splat_u32_ref): |