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