summaryrefslogtreecommitdiffstats
path: root/src/macros-sse.h
diff options
context:
space:
mode:
authorJukka Ojanen <jukka.ojanen@linkotec.net>2014-11-20 16:54:24 +0200
committerJukka Ojanen <jukka.ojanen@linkotec.net>2014-11-20 16:54:24 +0200
commitd896a265d5c75a15333b0998cb7eaa465ecb8419 (patch)
treedbbf20d73c7ebf826a11a3cab72333e6a91543b9 /src/macros-sse.h
parent71f1f4dae77c2f6b335c3e06c13a3ecedf73ccda (diff)
downloadffts-d896a265d5c75a15333b0998cb7eaa465ecb8419.zip
ffts-d896a265d5c75a15333b0998cb7eaa465ecb8419.tar.gz
Use _mm_movelh_ps instead of _mm_shuffle_ps to implement VUNPACKLO
Diffstat (limited to 'src/macros-sse.h')
-rw-r--r--src/macros-sse.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/macros-sse.h b/src/macros-sse.h
index 85cd02d..cab822c 100644
--- a/src/macros-sse.h
+++ b/src/macros-sse.h
@@ -43,7 +43,7 @@ typedef __m128 V;
#define VADD _mm_add_ps
#define VSUB _mm_sub_ps
#define VMUL _mm_mul_ps
-//#define VLIT4 _mm_set_ps
+#define VLIT4 _mm_set_ps
#define VXOR _mm_xor_ps
#define VST _mm_store_ps
#define VLD _mm_load_ps
@@ -51,12 +51,10 @@ typedef __m128 V;
#define VSWAPPAIRS(x) (_mm_shuffle_ps(x,x,_MM_SHUFFLE(2,3,0,1)))
#define VUNPACKHI(x,y) (_mm_shuffle_ps(x,y,_MM_SHUFFLE(3,2,3,2)))
-#define VUNPACKLO(x,y) (_mm_shuffle_ps(x,y,_MM_SHUFFLE(1,0,1,0)))
+#define VUNPACKLO(x,y) (_mm_movelh_ps(x,y))
#define VBLEND(x,y) (_mm_shuffle_ps(x,y,_MM_SHUFFLE(3,2,1,0)))
-#define VLIT4 _mm_set_ps
-
#define VDUPRE(r) (_mm_shuffle_ps(r,r,_MM_SHUFFLE(2,2,0,0)))
#define VDUPIM(r) (_mm_shuffle_ps(r,r,_MM_SHUFFLE(3,3,1,1)))
OpenPOWER on IntegriCloud