Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/volk/gen/machines.xml b/volk/gen/machines.xml
- index 8e3c9c8..d88a1a5 100644
- --- a/volk/gen/machines.xml
- +++ b/volk/gen/machines.xml
- @@ -10,7 +10,7 @@
- </machine>
- <machine name="sse">
- -<archs>generic 32|64| mmx sse orc|</archs>
- +<archs>generic 32|64| mmx| sse orc|</archs>
- </machine>
- -->
- @@ -20,7 +20,7 @@
- <!-- trailing | bar means generate without either for MSVC -->
- <machine name="sse2">
- -<archs>generic 32|64| mmx sse sse2 orc|</archs>
- +<archs>generic 32|64| mmx| sse sse2 orc|</archs>
- </machine>
- <machine name="sse3">
- @@ -45,7 +45,7 @@
- <!-- trailing | bar means generate without either for MSVC -->
- <machine name="avx">
- -<archs>generic 32|64| mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
- +<archs>generic 32|64| mmx| sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
- </machine>
- <machine name="altivec">
- diff --git a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- index 940aa5d..0b97080 100644
- --- a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- +++ b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- @@ -37,7 +37,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_generic(lv_32fc_t* result, cons
- #endif /*LV_HAVE_GENERIC*/
- -#ifdef LV_HAVE_SSE
- +#ifdef LV_HAVE_SSE && LV_HAVE_MMX
- static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const short* input, const lv_32fc_t* taps, unsigned int num_points) {
- @@ -116,7 +116,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const
- *result = *(lv_32fc_t*)(&res[0]);
- }
- -#endif /*LV_HAVE_SSE*/
- +#endif /*LV_HAVE_SSE && LV_HAVE_MMX*/
- #endif /*INCLUDED_volk_16i_32fc_dot_prod_32fc_a_H*/
- diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
- index 8288786..288f41e 100644
- --- a/volk/lib/CMakeLists.txt
- +++ b/volk/lib/CMakeLists.txt
- @@ -131,6 +131,9 @@ if(NOT CROSSCOMPILE_MULTILIB AND CPU_IS_x86)
- check_type_size("void*[8]" SIZEOF_CPU BUILTIN_TYPES_ONLY)
- if (${SIZEOF_CPU} EQUAL 64)
- OVERRULE_ARCH(32 "CPU width is 64 bits")
- + if (MSVC)
- + OVERRULE_ARCH(mmx "No MMX for Win64")
- + endif (MSVC)
- endif()
- if (${SIZEOF_CPU} EQUAL 32)
- OVERRULE_ARCH(64 "CPU width is 32 bits")
- jblum@blarg:~/src/gnuradio$ git diff
- diff --git a/volk/gen/machines.xml b/volk/gen/machines.xml
- index 8e3c9c8..d88a1a5 100644
- --- a/volk/gen/machines.xml
- +++ b/volk/gen/machines.xml
- @@ -10,7 +10,7 @@
- </machine>
- <machine name="sse">
- -<archs>generic 32|64| mmx sse orc|</archs>
- +<archs>generic 32|64| mmx| sse orc|</archs>
- </machine>
- -->
- @@ -20,7 +20,7 @@
- <!-- trailing | bar means generate without either for MSVC -->
- <machine name="sse2">
- -<archs>generic 32|64| mmx sse sse2 orc|</archs>
- +<archs>generic 32|64| mmx| sse sse2 orc|</archs>
- </machine>
- <machine name="sse3">
- @@ -45,7 +45,7 @@
- <!-- trailing | bar means generate without either for MSVC -->
- <machine name="avx">
- -<archs>generic 32|64| mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
- +<archs>generic 32|64| mmx| sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
- </machine>
- <machine name="altivec">
- diff --git a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- index 940aa5d..1f6554a 100644
- --- a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- +++ b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
- @@ -37,7 +37,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_generic(lv_32fc_t* result, cons
- #endif /*LV_HAVE_GENERIC*/
- -#ifdef LV_HAVE_SSE
- +#if LV_HAVE_SSE && LV_HAVE_MMX
- static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const short* input, const lv_32fc_t* taps, unsigned int num_points) {
- @@ -116,7 +116,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const
- *result = *(lv_32fc_t*)(&res[0]);
- }
- -#endif /*LV_HAVE_SSE*/
- +#endif /*LV_HAVE_SSE && LV_HAVE_MMX*/
- #endif /*INCLUDED_volk_16i_32fc_dot_prod_32fc_a_H*/
- diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
- index 8288786..0ecfd7f 100644
- --- a/volk/lib/CMakeLists.txt
- +++ b/volk/lib/CMakeLists.txt
- @@ -135,6 +135,12 @@ if(NOT CROSSCOMPILE_MULTILIB AND CPU_IS_x86)
- if (${SIZEOF_CPU} EQUAL 32)
- OVERRULE_ARCH(64 "CPU width is 32 bits")
- endif()
- +
- + #MSVC 64 bit does not have MMX, overrule it
- + if (${SIZEOF_CPU} EQUAL 64 AND MSVC)
- + OVERRULE_ARCH(mmx "No MMX for Win64")
- + endif()
- +
- endif()
- ########################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement