diff options
author | David Schleef <ds@schleef.org> | 2005-01-14 00:23:56 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2005-01-14 00:23:56 +0000 |
commit | cd1eaf60c81ce39a4deeaff4bc1471434ab8c4b3 (patch) | |
tree | 0492ad54aa31428646d9dbb80e4e69c99cfa97eb | |
parent | 7b47b1bc65acd20b15fa7b62114024f2f6e9b652 (diff) | |
download | liboil-cd1eaf60c81ce39a4deeaff4bc1471434ab8c4b3.tar.gz |
* 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
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | liboil/colorspace/rgb2rgba_powerpc.c | 1 | ||||
-rw-r--r-- | liboil/conv/conv_powerpc.c | 4 | ||||
-rw-r--r-- | liboil/simdpack/abs_powerpc.c | 2 | ||||
-rw-r--r-- | liboil/simdpack/clip_powerpc.c | 6 | ||||
-rw-r--r-- | liboil/simdpack/mix_powerpc.c | 3 | ||||
-rw-r--r-- | liboil/simdpack/multsum_powerpc.c | 2 |
7 files changed, 23 insertions, 4 deletions
@@ -1,5 +1,14 @@ 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 diff --git a/liboil/colorspace/rgb2rgba_powerpc.c b/liboil/colorspace/rgb2rgba_powerpc.c index 3aa3a1c..91a2626 100644 --- a/liboil/colorspace/rgb2rgba_powerpc.c +++ b/liboil/colorspace/rgb2rgba_powerpc.c @@ -36,7 +36,6 @@ OIL_DECLARE_CLASS (rgb2rgba); static void rgb2rgba_ppc (uint8_t *dest, uint8_t* src, int n) { - n /= 3; dest -= 4; asm volatile ( " mtctr %2 \n" diff --git a/liboil/conv/conv_powerpc.c b/liboil/conv/conv_powerpc.c index c4dd75f..4a41bc4 100644 --- a/liboil/conv/conv_powerpc.c +++ b/liboil/conv/conv_powerpc.c @@ -80,10 +80,10 @@ OIL_DEFINE_IMPL_ASM(clipconv_##dsttype##_##srctype##_powerpc, \ " lbz r11,7(%5) \n" \ " stbux r11,%0,%7 \n" #define LHZ_STHUX \ - " lhz r11,7(%5) \n" \ + " lhz r11,6(%5) \n" \ " sthux r11,%0,%7 \n" #define LWZ_STWUX \ - " lwz r11,7(%5) \n" \ + " lwz r11,4(%5) \n" \ " stwux r11,%0,%7 \n" DEFINE_CLIPCONVERT_POWERPC(s8,f32, -128.0, 127.0, LFSUX, LBZ_STBUX) diff --git a/liboil/simdpack/abs_powerpc.c b/liboil/simdpack/abs_powerpc.c index a95ec9a..67b2ef8 100644 --- a/liboil/simdpack/abs_powerpc.c +++ b/liboil/simdpack/abs_powerpc.c @@ -34,6 +34,7 @@ #define ABS(x) ((x)>0 ? (x) : -(x)) +#ifdef ENABLE_BROKEN_IMPLS static void abs_u16_s16_a16_altivec (uint16_t * dest, int dstr, int16_t * src, int sstr, int n) @@ -60,4 +61,5 @@ abs_u16_s16_a16_altivec (uint16_t * dest, int dstr, int16_t * src, int sstr, } OIL_DEFINE_IMPL_FULL (abs_u16_s16_a16_altivec, abs_u16_s16, OIL_IMPL_FLAG_ALTIVEC); +#endif diff --git a/liboil/simdpack/clip_powerpc.c b/liboil/simdpack/clip_powerpc.c index b122e4b..052c9bd 100644 --- a/liboil/simdpack/clip_powerpc.c +++ b/liboil/simdpack/clip_powerpc.c @@ -32,6 +32,7 @@ #include <liboil/liboilfunction.h> #include <liboil/simdpack/simdpack.h> +#ifdef ENABLE_BROKEN_IMPLS static void clip_s16_ppcasm (int16_t *dest, int dstr, int16_t *src, int sstr, int n, int16_t *low, int16_t *hi) @@ -56,7 +57,9 @@ clip_s16_ppcasm (int16_t *dest, int dstr, int16_t *src, int sstr, int n, : "7", "9", "10", "8", "11", "0", "ctr"); } OIL_DEFINE_IMPL_ASM (clip_s16_ppcasm, clip_s16); +#endif +#ifdef ENABLE_BROKEN_IMPLS static void clip_s16_ppcasm2 (int16_t *dest, int dstr, int16_t *src, int sstr, int n, int16_t *low, int16_t *hi) @@ -81,7 +84,9 @@ clip_s16_ppcasm2 (int16_t *dest, int dstr, int16_t *src, int sstr, int n, : "9", "10", "8", "11", "0", "ctr"); } OIL_DEFINE_IMPL_ASM (clip_s16_ppcasm2, clip_s16); +#endif +#ifdef ENABLE_BROKEN_IMPLS /* This is just a basic weave of the previous function. It uses * a lot of registers and gets pretty hairy, so it would take some * work to make better. */ @@ -121,5 +126,6 @@ clip_s16_ppcasm3 (int16_t *dest, int dstr, int16_t *src, int sstr, int n, "18", "19", "20", "21", "22", "ctr"); } OIL_DEFINE_IMPL_ASM (clip_s16_ppcasm3, clip_s16); +#endif diff --git a/liboil/simdpack/mix_powerpc.c b/liboil/simdpack/mix_powerpc.c index 16e27c6..4c5b55b 100644 --- a/liboil/simdpack/mix_powerpc.c +++ b/liboil/simdpack/mix_powerpc.c @@ -34,6 +34,7 @@ #include <math.h> +#ifdef ENABLE_BROKEN_IMPLS static void mix_u8_a16_altivec(uint8_t *dest, uint8_t *src1, uint8_t *src2, uint8_t *scale, int n) { static const uint8_t permute[] __attribute__ ((__aligned__ (16))) = { @@ -79,5 +80,5 @@ static void mix_u8_a16_altivec(uint8_t *dest, uint8_t *src1, uint8_t *src2, uint : "12", "ctr"); } OIL_DEFINE_IMPL_FULL (mix_u8_a16_altivec, mix_u8, OIL_IMPL_FLAG_ALTIVEC); - +#endif diff --git a/liboil/simdpack/multsum_powerpc.c b/liboil/simdpack/multsum_powerpc.c index 062000a..b649209 100644 --- a/liboil/simdpack/multsum_powerpc.c +++ b/liboil/simdpack/multsum_powerpc.c @@ -34,6 +34,7 @@ #include <math.h> +#ifdef ENABLE_BROKEN_IMPLS /* This could probably be improved by unrolling */ static void multsum_f32_ppcasm(float *dest, float *src1, int sstr1, float *src2, int sstr2, int n) @@ -54,6 +55,7 @@ static void multsum_f32_ppcasm(float *dest, float *src1, int sstr1, : "32", "33", "34", "ctr"); } OIL_DEFINE_IMPL_ASM (multsum_f32_ppcasm, multsum_f32); +#endif |