Home | Back
2006-05-22  David Schleef  <ds@schleef.org>

* liboil/powerpc/copy.c:
  Fix a mistake in the fast path.

2006-05-22  David Schleef  <ds@schleef.org>

* liboil/sse/multsum_sse.c: disable broken impl

2006-05-22  David Schleef  <ds@schleef.org>

* configure.ac: version bump

2006-05-22  David Schleef  <ds@schleef.org>

* liboil/i386/abs_i386.c:
* liboil/i386/error8x8_i386.c:
  Change movsx opcodes to something more AT&T-like.

2006-05-22  David Schleef  <ds@schleef.org>

* liboil/i386/diff8x8_i386.c: remove .rept macro, since it isn't
  portable.
* liboil/i386/sad8x8_i386.c: same

2006-05-22  David Schleef  <ds@schleef.org>

* liboil/c/composite.c:
* liboil/copy/copy.c:
* liboil/copy/copy8x8.c:
* liboil/copy/splat_ref.c:
  Wrap a bunch of functions in HAVE_UNALIGNED_ACCESS to fix
  alignment issues (Fixes: #6969)

2006-05-19  David Schleef  <ds@schleef.org>

* liboil/deprecated/conv.c: Fix the test function on conv_ functions,
  since it was testing convertion of negative numbers to unsigned
  ints.
* liboil/ref/convert.c: same

2006-05-18  David Schleef  <ds@schleef.org>

* m4/as-intrinsics.m4: Fix SSE2 check.  (Fixes #6714)

2006-05-18  David Schleef  <ds@schleef.org>

* liboil/liboilcpu.c: (oil_cpu_detect_arch): Oops, fix compile bug
  from last checkin.
* liboil/simdpack/multsum.c: (multsum_f64_unroll8):
* liboil/sse/multsum_sse.c: New file.
* liboil/sse/Makefile.am:
  Patch from Marcus Brubaker adding some multsum_f64 impls.
  (Fixes #6957)

2006-05-18  David Schleef  <ds@schleef.orog>

* configure.ac: Remove -O2
* liboil/liboilcpu.c: (oil_cpu_detect_arch): use __ppc__ and __PPC__
  instead of __powerpc__, which is not supported on OS/X.

2006-05-04  David Schleef  <ds@schleef.org>

* liboil/utf8/utf8_fast.c: Make some code dependent on unaligned
access.

2006-04-28  David Schleef  <ds@schleef.org>

* liboil/i386/copy8x8_i386.c: Remove .balign directives
* liboil/i386/diff8x8_i386.c:
* liboil/i386/error8x8_i386.c:
* liboil/i386/fdct8x8theora_i386.c:
* liboil/i386/recon8x8_i386.c:
* liboil/i386/rowcolsad8x8_i386.c:
* liboil/i386/sad8x8_i386.c:
* liboil/i386/sad8x8avg_i386.c:

2006-04-21  David Schleef  <ds@schleef.org>

* liboil/liboilcpu.c:  attempt to make it compile on arm

2006-04-21  David Schleef  <ds@schleef.org>

* Makefile.am:
* liboil/Makefile.am: dist various files
* liboil/liboildebug.c: debug fix
* liboil/liboilfunction.c: doc fix
* liboil/liboilcpu.c: move timestamp code here, since it depends
  closely on the cpu detection code.
* liboil/liboilprofile.c:

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):