diff options
author | Jukka Ojanen <jukka.ojanen@linkotec.net> | 2015-03-18 18:24:11 +0200 |
---|---|---|
committer | Jukka Ojanen <jukka.ojanen@linkotec.net> | 2015-03-18 18:24:11 +0200 |
commit | d8cbe74acac7a867777f407309421b8065705ebf (patch) | |
tree | 0dc245db14881b447207e561140c7fb20b1fe0af /src/codegen_sse.h | |
parent | 83e81fda3974152ce5ef04a0a22f15e079cff394 (diff) | |
download | ffts-d8cbe74acac7a867777f407309421b8065705ebf.zip ffts-d8cbe74acac7a867777f407309421b8065705ebf.tar.gz |
Minimize sin/cos calculations by calculating all factors ones and generate lookup tables by mapping
Diffstat (limited to 'src/codegen_sse.h')
-rw-r--r-- | src/codegen_sse.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/codegen_sse.h b/src/codegen_sse.h index c518481..c0a34fe 100644 --- a/src/codegen_sse.h +++ b/src/codegen_sse.h @@ -38,7 +38,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "arch/x64/x64-codegen.h" #include <assert.h> -#include <string.h> static const FFTS_ALIGN(16) unsigned int sse_constants[20] = { /* 0.0, -0.0, 0.0, -0.0 */ @@ -741,12 +740,12 @@ generate_leaf_eo(insns_t **fp, uint32_t *offsets) insns_t *ins = *fp; #ifdef _M_X64 - x64_sse_movaps_reg_memindex(ins, X64_XMM9, X64_RDX, offsets[0], X64_RAX, 2); - x64_sse_movaps_reg_memindex(ins, X64_XMM7, X64_RDX, offsets[2], X64_RAX, 2); + x64_sse_movaps_reg_memindex(ins, X64_XMM9, X64_RDX, offsets[0], X64_RAX, 2); + x64_sse_movaps_reg_memindex(ins, X64_XMM7, X64_RDX, offsets[2], X64_RAX, 2); x64_sse_movaps_reg_reg(ins, X64_XMM11, X64_XMM9); - x64_sse_movaps_reg_memindex(ins, X64_XMM5, X64_RDX, offsets[3], X64_RAX, 2); + x64_sse_movaps_reg_memindex(ins, X64_XMM5, X64_RDX, offsets[3], X64_RAX, 2); x64_sse_movaps_reg_reg(ins, X64_XMM6, X64_XMM7); - x64_sse_movaps_reg_memindex(ins, X64_XMM4, X64_RDX, offsets[1], X64_RAX, 2); + x64_sse_movaps_reg_memindex(ins, X64_XMM4, X64_RDX, offsets[1], X64_RAX, 2); x64_sse_subps_reg_reg(ins, X64_XMM7, X64_XMM5); x64_sse_addps_reg_reg(ins, X64_XMM11, X64_XMM4); x64_sse_subps_reg_reg(ins, X64_XMM9, X64_XMM4); |