diff options
author | Anthony Blake <anthonix@me.com> | 2012-11-15 16:04:56 +1300 |
---|---|---|
committer | Anthony Blake <anthonix@me.com> | 2012-11-15 16:04:56 +1300 |
commit | 02e3467b75a6e205c6bd2e82d3a1c8daa3c81f6f (patch) | |
tree | 49a096a4592b4ce05ad071e8641373899c217300 /src/ffts_nd.c | |
parent | 763210e26805abdc61cc7c6efcacf70468dce3e6 (diff) | |
download | ffts-02e3467b75a6e205c6bd2e82d3a1c8daa3c81f6f.zip ffts-02e3467b75a6e205c6bd2e82d3a1c8daa3c81f6f.tar.gz |
2D real-valued transforms work
Diffstat (limited to 'src/ffts_nd.c')
-rw-r--r-- | src/ffts_nd.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/ffts_nd.c b/src/ffts_nd.c index b87822e..76d3fc4 100644 --- a/src/ffts_nd.c +++ b/src/ffts_nd.c @@ -133,13 +133,13 @@ void ffts_transpose(uint64_t *in, uint64_t *out, int w, int h, uint64_t *buf) { size_t i,j; for(i=0;i<w;i+=2) { for(j=0;j<h;j+=2) { -// out[i*h + j] = in[j*w + i]; - __m128d q0 = _mm_load_pd((double *)(in + j*w + i)); - __m128d q1 = _mm_load_pd((double *)(in + j*w + i + w)); - __m128d t0 = _mm_shuffle_pd(q0, q1, _MM_SHUFFLE2(0, 0)); - __m128d t1 = _mm_shuffle_pd(q0, q1, _MM_SHUFFLE2(1, 1)); - _mm_store_pd((double *)(out + i*h + j), t0); - _mm_store_pd((double *)(out + i*h + j + h), t1); +// out[i*h + j] = in[j*w + i]; + __m128d q0 = _mm_load_pd((double *)(in + j*w + i)); + __m128d q1 = _mm_load_pd((double *)(in + j*w + i + w)); + __m128d t0 = _mm_shuffle_pd(q0, q1, _MM_SHUFFLE2(0, 0)); + __m128d t1 = _mm_shuffle_pd(q0, q1, _MM_SHUFFLE2(1, 1)); + _mm_store_pd((double *)(out + i*h + j), t0); + _mm_store_pd((double *)(out + i*h + j + h), t1); } } #endif |