[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 02/04: volk: use literal shuffle parameters
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 02/04: volk: use literal shuffle parameters in avx 32fc_deinterleavers |
Date: |
Fri, 31 Oct 2014 20:00:17 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch master
in repository gnuradio.
commit f7322ac5682a65edea021041543c6a9d5a7601ba
Author: Nathan West <address@hidden>
Date: Thu Oct 30 16:48:06 2014 -0500
volk: use literal shuffle parameters in avx 32fc_deinterleavers
Using anything put the literal value is a non-standard extension
that clang does not support.
---
volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h | 6 ++----
volk/kernels/volk/volk_32fc_deinterleave_imag_32f.h | 4 +---
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h
b/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h
index 6874966..aed7f09 100644
--- a/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h
+++ b/volk/kernels/volk/volk_32fc_deinterleave_32f_x2.h
@@ -42,8 +42,6 @@ static inline void volk_32fc_deinterleave_32f_x2_a_avx(float*
iBuffer, float* qB
unsigned int number = 0;
// Mask for real and imaginary parts
- int realMask = 0x88;
- int imagMask = 0xdd;
const unsigned int eighthPoints = num_points / 8;
__m256 cplxValue1, cplxValue2, complex1, complex2, iValue, qValue;
for(;number < eighthPoints; number++){
@@ -58,9 +56,9 @@ static inline void volk_32fc_deinterleave_32f_x2_a_avx(float*
iBuffer, float* qB
complex2 = _mm256_permute2f128_ps(cplxValue1, cplxValue2, 0x31);
// Arrange in i1i2i3i4 format
- iValue = _mm256_shuffle_ps(complex1, complex2, realMask);
+ iValue = _mm256_shuffle_ps(complex1, complex2, 0x88);
// Arrange in q1q2q3q4 format
- qValue = _mm256_shuffle_ps(complex1, complex2, imagMask);
+ qValue = _mm256_shuffle_ps(complex1, complex2, 0xdd);
_mm256_store_ps(iBufferPtr, iValue);
_mm256_store_ps(qBufferPtr, qValue);
diff --git a/volk/kernels/volk/volk_32fc_deinterleave_imag_32f.h
b/volk/kernels/volk/volk_32fc_deinterleave_imag_32f.h
index f80265d..a590c83 100644
--- a/volk/kernels/volk/volk_32fc_deinterleave_imag_32f.h
+++ b/volk/kernels/volk/volk_32fc_deinterleave_imag_32f.h
@@ -37,7 +37,6 @@
static inline void volk_32fc_deinterleave_imag_32f_a_avx(float* qBuffer, const
lv_32fc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
- int imagMask = 0xdd;
const float* complexVectorPtr = (const float*)complexVector;
float* qBufferPtr = qBuffer;
@@ -54,8 +53,7 @@ static inline void
volk_32fc_deinterleave_imag_32f_a_avx(float* qBuffer, const l
complex2 = _mm256_permute2f128_ps(cplxValue1, cplxValue2, 0x31);
// Arrange in q1q2q3q4 format
- qValue = _mm256_shuffle_ps(complex1, complex2, imagMask);
- //iValue = _mm_shuffle_ps(cplxValue1, cplxValue2, _MM_SHUFFLE(3,1,3,1));
+ qValue = _mm256_shuffle_ps(complex1, complex2, 0xdd);
_mm256_store_ps(qBufferPtr, qValue);