aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/simd_32/simd_altivec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/simd_32/simd_altivec.h')
-rw-r--r--src/utils/simd_32/simd_altivec.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/utils/simd_32/simd_altivec.h b/src/utils/simd_32/simd_altivec.h
index e1aa62002..c6dd8a289 100644
--- a/src/utils/simd_32/simd_altivec.h
+++ b/src/utils/simd_32/simd_altivec.h
@@ -168,6 +168,12 @@ class SIMD_Altivec
return vec_nor(reg, reg);
}
+ SIMD_Altivec andc(const SIMD_Altivec& other)
+ {
+ // AltiVec does arg1 & ~arg2 rather than SSE's ~arg1 & arg2
+ return vec_andc(other.reg, reg);
+ }
+
SIMD_Altivec bswap() const
{
__vector unsigned char perm = vec_lvsl(0, (u32bit*)0);