summaryrefslogtreecommitdiff
path: root/liboil/simdpack
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2005-01-14 00:23:56 +0000
committerDavid Schleef <ds@schleef.org>2005-01-14 00:23:56 +0000
commitcd1eaf60c81ce39a4deeaff4bc1471434ab8c4b3 (patch)
tree0492ad54aa31428646d9dbb80e4e69c99cfa97eb /liboil/simdpack
parent7b47b1bc65acd20b15fa7b62114024f2f6e9b652 (diff)
downloadliboil-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
Diffstat (limited to 'liboil/simdpack')
-rw-r--r--liboil/simdpack/abs_powerpc.c2
-rw-r--r--liboil/simdpack/clip_powerpc.c6
-rw-r--r--liboil/simdpack/mix_powerpc.c3
-rw-r--r--liboil/simdpack/multsum_powerpc.c2
4 files changed, 12 insertions, 1 deletions
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