summaryrefslogtreecommitdiffstats
path: root/src/codegen_sse.h
diff options
context:
space:
mode:
authorJukka Ojanen <jukka.ojanen@linkotec.net>2014-11-16 14:07:48 +0200
committerJukka Ojanen <jukka.ojanen@linkotec.net>2014-11-16 14:07:48 +0200
commit91c5679d7dd965e58885226e01baed1f843d5870 (patch)
tree2a4e2e4af2fa59e5fa9905246090311e71519638 /src/codegen_sse.h
parent804a00300bc62594714ffba61bd1f87fb2bc28f6 (diff)
downloadffts-91c5679d7dd965e58885226e01baed1f843d5870.zip
ffts-91c5679d7dd965e58885226e01baed1f843d5870.tar.gz
Optionally define SSE constants in header
Diffstat (limited to 'src/codegen_sse.h')
-rw-r--r--src/codegen_sse.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/codegen_sse.h b/src/codegen_sse.h
index 8a03ae4..6153a49 100644
--- a/src/codegen_sse.h
+++ b/src/codegen_sse.h
@@ -51,8 +51,26 @@ extern void x4();
extern void x8_soft();
extern void x8_soft_end();
+#ifdef SSE_DEFINE_CONSTANTS
+static const FFTS_ALIGN(16) unsigned int sse_constants[20] = {
+ 0x00000000, 0x80000000, 0x00000000, 0x80000000,
+ 0x3f3504f3, 0x3f3504f3, 0x3f3504f3, 0x3f3504f3,
+ 0xbf3504f3, 0x3f3504f3, 0xbf3504f3, 0x3f3504f3,
+ 0x3f800000, 0x3f800000, 0x3f3504f3, 0x3f3504f3,
+ 0x00000000, 0x00000000, 0xbf3504f3, 0x3f3504f3
+};
+
+static const FFTS_ALIGN(16) unsigned int sse_constants_inv[20] = {
+ 0x80000000, 0x00000000, 0x80000000, 0x00000000,
+ 0x3f3504f3, 0x3f3504f3, 0x3f3504f3, 0x3f3504f3,
+ 0x3f3504f3, 0xbf3504f3, 0x3f3504f3, 0xbf3504f3,
+ 0x3f800000, 0x3f800000, 0x3f3504f3, 0x3f3504f3,
+ 0x00000000, 0x00000000, 0x3f3504f3, 0xbf3504f3
+};
+#else
extern void sse_constants();
extern void sse_constants_inv();
+#endif
extern const uint32_t sse_leaf_ee_offsets[8];
extern const uint32_t sse_leaf_eo_offsets[8];
OpenPOWER on IntegriCloud