summaryrefslogtreecommitdiff
path: root/volk
diff options
context:
space:
mode:
Diffstat (limited to 'volk')
-rw-r--r--volk/include/volk/volk_16i_max_star_16i_a.h4
-rw-r--r--volk/include/volk/volk_32f_s32f_stddev_32f_a.h6
-rw-r--r--volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h6
-rw-r--r--volk/lib/CMakeLists.txt14
-rw-r--r--volk/orc/volk_16ic_magnitude_16i_a_orc_impl.orc2
-rw-r--r--volk/orc/volk_16sc_magnitude_32f_aligned16_orc_impl.orc2
-rw-r--r--volk/orc/volk_32f_sqrt_32f_a_orc_impl.orc2
-rw-r--r--volk/orc/volk_32fc_magnitude_32f_a_orc_impl.orc2
-rw-r--r--volk/orc/volk_32fc_s32f_magnitude_16i_a_orc_impl.orc2
-rw-r--r--volk/orc/volk_8i_convert_16i_a_orc_impl.orc5
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