diff options
Diffstat (limited to 'volk')
-rw-r--r-- | volk/include/volk/volk_16i_max_star_16i_a.h | 4 | ||||
-rw-r--r-- | volk/include/volk/volk_32f_s32f_stddev_32f_a.h | 6 | ||||
-rw-r--r-- | volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h | 6 | ||||
-rw-r--r-- | volk/lib/CMakeLists.txt | 14 | ||||
-rw-r--r-- | volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc | 2 | ||||
-rw-r--r-- | volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc | 2 | ||||
-rw-r--r-- | volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc | 2 | ||||
-rw-r--r-- | volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc | 2 | ||||
-rw-r--r-- | volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc | 2 | ||||
-rw-r--r-- | volk/orc/volk_8i_convert_16i_a_orc_impl.orc | 5 |
10 files changed, 28 insertions, 17 deletions
diff --git a/volk/include/volk/volk_16i_max_star_16i_a.h b/volk/include/volk/volk_16i_max_star_16i_a.h index 6a4f63708..28197ddef 100644 --- a/volk/include/volk/volk_16i_max_star_16i_a.h +++ b/volk/include/volk/volk_16i_max_star_16i_a.h @@ -18,7 +18,7 @@ static inline void volk_16i_max_star_16i_a_ssse3(short* target, short* src0, un short candidate = src0[0]; short cands[8]; - __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6; + __m128i xmm0, xmm1, xmm3, xmm4, xmm5, xmm6; __m128i *p_src0; @@ -41,7 +41,7 @@ static inline void volk_16i_max_star_16i_a_ssse3(short* target, short* src0, un for(i = 0; i < bound; ++i) { xmm1 = _mm_load_si128(p_src0); p_src0 += 1; - xmm2 = _mm_sub_epi16(xmm1, xmm0); + //xmm2 = _mm_sub_epi16(xmm1, xmm0); diff --git a/volk/include/volk/volk_32f_s32f_stddev_32f_a.h b/volk/include/volk/volk_32f_s32f_stddev_32f_a.h index 881067bdc..75fe0cb2e 100644 --- a/volk/include/volk/volk_32f_s32f_stddev_32f_a.h +++ b/volk/include/volk/volk_32f_s32f_stddev_32f_a.h @@ -60,7 +60,7 @@ static inline void volk_32f_s32f_stddev_32f_a_sse4_1(float* stddev, const float* } returnValue /= num_points; returnValue -= (mean * mean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; } @@ -106,7 +106,7 @@ static inline void volk_32f_s32f_stddev_32f_a_sse(float* stddev, const float* in } returnValue /= num_points; returnValue -= (mean * mean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; } @@ -133,7 +133,7 @@ static inline void volk_32f_s32f_stddev_32f_a_generic(float* stddev, const float returnValue /= num_points; returnValue -= (mean * mean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; } diff --git a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h index 3a82e3d2f..20ff676d8 100644 --- a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h +++ b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h @@ -72,7 +72,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse4_1(float* stddev, float newMean /= num_points; returnValue /= num_points; returnValue -= (newMean * newMean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; *mean = newMean; @@ -128,7 +128,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse(float* stddev, float* m newMean /= num_points; returnValue /= num_points; returnValue -= (newMean * newMean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; *mean = newMean; @@ -157,7 +157,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_generic(float* stddev, floa newMean /= num_points; returnValue /= num_points; returnValue -= (newMean * newMean); - returnValue = sqrt(returnValue); + returnValue = sqrtf(returnValue); } *stddev = returnValue; *mean = newMean; diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt index 092c3ba0d..00d8660ab 100644 --- a/volk/lib/CMakeLists.txt +++ b/volk/lib/CMakeLists.txt @@ -85,7 +85,17 @@ execute_process( #set the various overrule values (see archs.xml) #a lot of this is translating between automake and cmake if(NOT "${CROSSCOMPILE_MULTILIB}" STREQUAL "true") - set(MD_SUBCPU ${CMAKE_HOST_SYSTEM_PROCESSOR}) + set(MD_SUBCPU ${CMAKE_SYSTEM_PROCESSOR}) + #detect 32 or 64 bit compiler + if(MD_SUBCPU MATCHES "^(i.86|x86|x86_64|amd64)$") + include(CheckTypeSize) + check_type_size("void*" SIZEOF_VOID_P BUILTIN_TYPES_ONLY) + if (${SIZEOF_VOID_P} EQUAL 8) + set(MD_SUBCPU x86_64) + else() + set(MD_SUBCPU x86) + endif() + endif() endif() if(NOT "${ORC_FOUND}" STREQUAL "TRUE") set(LV_HAVE_ORC "no") @@ -267,7 +277,7 @@ if(ORC_FOUND) #create a rule to generate the source and add to the list of sources add_custom_command( - COMMAND ${ORCC_EXECUTABLE} --implementation -o ${orcc_gen} ${orc_file} + COMMAND ${ORCC_EXECUTABLE} --include math.h --implementation -o ${orcc_gen} ${orc_file} DEPENDS ${orc_file} OUTPUT ${orcc_gen} ) list(APPEND volk_sources ${orcc_gen}) diff --git a/volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc b/volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc index 3966526ed..fbaebc46d 100644 --- a/volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc +++ b/volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc @@ -17,7 +17,7 @@ x2 divf iqf, iqf, scalar x2 mulf prodiqf, iqf, iqf splitql qf, if, prodiqf addf sumf, if, qf -sqrt, sqrtf rootf, sumf +sqrtf rootf, sumf mulf rootf, rootf, scalar convfl rootl, rootf convlw dst, rootl diff --git a/volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc b/volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc index d5c8212c3..66fef7d2e 100644 --- a/volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc +++ b/volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc @@ -22,4 +22,4 @@ divf imagf, imagf, scalar mulf realf, realf, realf mulf imagf, imagf, imagf addf sumf, realf, imagf -sqrt, sqrtf dst, sumf +sqrtf dst, sumf diff --git a/volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc b/volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc index 719cca037..f339b1122 100644 --- a/volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc +++ b/volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc @@ -1,4 +1,4 @@ .function volk_32f_sqrt_32f_a_orc_impl .source 4 src .dest 4 dst -sqrt, sqrtf dst, src +sqrtf dst, src diff --git a/volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc b/volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc index 4fc0642fc..032ab2b1b 100644 --- a/volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc +++ b/volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc @@ -10,4 +10,4 @@ x2 mulf prodiqf, src, src splitql qf, if, prodiqf addf sumf, if, qf -sqrt, sqrtf dst, sumf +sqrtf dst, sumf diff --git a/volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc b/volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc index ed89c3d18..d3bf78935 100644 --- a/volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc +++ b/volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc @@ -14,7 +14,7 @@ x2 mulf prodiqf, src, src splitql qf, if, prodiqf addf sumf, if, qf -sqrt, sqrtf rootf, sumf +sqrtf rootf, sumf mulf rootf, rootf, scalar #cmpltf maskl, 32768.0, rootf #andl maskl, maskl, 0x80000000 diff --git a/volk/orc/volk_8i_convert_16i_a_orc_impl.orc b/volk/orc/volk_8i_convert_16i_a_orc_impl.orc index d813c6cfa..17198bf1e 100644 --- a/volk/orc/volk_8i_convert_16i_a_orc_impl.orc +++ b/volk/orc/volk_8i_convert_16i_a_orc_impl.orc @@ -1,5 +1,6 @@ .function volk_8i_convert_16i_a_orc_impl .source 1 src .dest 2 dst -convsbw dst, src -shlw dst, dst, 8 +.temp 2 tmp +convsbw tmp, src +shlw dst, tmp, 8 |