Advertisement
Guest User

Untitled

a guest
Jul 16th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.62 KB | None | 0 0
  1. diff --git a/volk/gen/machines.xml b/volk/gen/machines.xml
  2. index 8e3c9c8..d88a1a5 100644
  3. --- a/volk/gen/machines.xml
  4. +++ b/volk/gen/machines.xml
  5. @@ -10,7 +10,7 @@
  6. </machine>
  7.  
  8. <machine name="sse">
  9. -<archs>generic 32|64| mmx sse orc|</archs>
  10. +<archs>generic 32|64| mmx| sse orc|</archs>
  11. </machine>
  12. -->
  13.  
  14. @@ -20,7 +20,7 @@
  15.  
  16. <!-- trailing | bar means generate without either for MSVC -->
  17. <machine name="sse2">
  18. -<archs>generic 32|64| mmx sse sse2 orc|</archs>
  19. +<archs>generic 32|64| mmx| sse sse2 orc|</archs>
  20. </machine>
  21.  
  22. <machine name="sse3">
  23. @@ -45,7 +45,7 @@
  24.  
  25. <!-- trailing | bar means generate without either for MSVC -->
  26. <machine name="avx">
  27. -<archs>generic 32|64| mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
  28. +<archs>generic 32|64| mmx| sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
  29. </machine>
  30.  
  31. <machine name="altivec">
  32. 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
  33. index 940aa5d..0b97080 100644
  34. --- a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
  35. +++ b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
  36. @@ -37,7 +37,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_generic(lv_32fc_t* result, cons
  37. #endif /*LV_HAVE_GENERIC*/
  38.  
  39.  
  40. -#ifdef LV_HAVE_SSE
  41. +#ifdef LV_HAVE_SSE && LV_HAVE_MMX
  42.  
  43.  
  44. 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) {
  45. @@ -116,7 +116,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const
  46. *result = *(lv_32fc_t*)(&res[0]);
  47. }
  48.  
  49. -#endif /*LV_HAVE_SSE*/
  50. +#endif /*LV_HAVE_SSE && LV_HAVE_MMX*/
  51.  
  52.  
  53. #endif /*INCLUDED_volk_16i_32fc_dot_prod_32fc_a_H*/
  54. diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
  55. index 8288786..288f41e 100644
  56. --- a/volk/lib/CMakeLists.txt
  57. +++ b/volk/lib/CMakeLists.txt
  58. @@ -131,6 +131,9 @@ if(NOT CROSSCOMPILE_MULTILIB AND CPU_IS_x86)
  59. check_type_size("void*[8]" SIZEOF_CPU BUILTIN_TYPES_ONLY)
  60. if (${SIZEOF_CPU} EQUAL 64)
  61. OVERRULE_ARCH(32 "CPU width is 64 bits")
  62. + if (MSVC)
  63. + OVERRULE_ARCH(mmx "No MMX for Win64")
  64. + endif (MSVC)
  65. endif()
  66. if (${SIZEOF_CPU} EQUAL 32)
  67. OVERRULE_ARCH(64 "CPU width is 32 bits")
  68. jblum@blarg:~/src/gnuradio$ git diff
  69. diff --git a/volk/gen/machines.xml b/volk/gen/machines.xml
  70. index 8e3c9c8..d88a1a5 100644
  71. --- a/volk/gen/machines.xml
  72. +++ b/volk/gen/machines.xml
  73. @@ -10,7 +10,7 @@
  74. </machine>
  75.  
  76. <machine name="sse">
  77. -<archs>generic 32|64| mmx sse orc|</archs>
  78. +<archs>generic 32|64| mmx| sse orc|</archs>
  79. </machine>
  80. -->
  81.  
  82. @@ -20,7 +20,7 @@
  83.  
  84. <!-- trailing | bar means generate without either for MSVC -->
  85. <machine name="sse2">
  86. -<archs>generic 32|64| mmx sse sse2 orc|</archs>
  87. +<archs>generic 32|64| mmx| sse sse2 orc|</archs>
  88. </machine>
  89.  
  90. <machine name="sse3">
  91. @@ -45,7 +45,7 @@
  92.  
  93. <!-- trailing | bar means generate without either for MSVC -->
  94. <machine name="avx">
  95. -<archs>generic 32|64| mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
  96. +<archs>generic 32|64| mmx| sse sse2 sse3 ssse3 sse4_1 sse4_2 popcount avx orc|</archs>
  97. </machine>
  98.  
  99. <machine name="altivec">
  100. 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
  101. index 940aa5d..1f6554a 100644
  102. --- a/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
  103. +++ b/volk/include/volk/volk_16i_32fc_dot_prod_32fc_a.h
  104. @@ -37,7 +37,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_generic(lv_32fc_t* result, cons
  105. #endif /*LV_HAVE_GENERIC*/
  106.  
  107.  
  108. -#ifdef LV_HAVE_SSE
  109. +#if LV_HAVE_SSE && LV_HAVE_MMX
  110.  
  111.  
  112. 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) {
  113. @@ -116,7 +116,7 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse( lv_32fc_t* result, const
  114. *result = *(lv_32fc_t*)(&res[0]);
  115. }
  116.  
  117. -#endif /*LV_HAVE_SSE*/
  118. +#endif /*LV_HAVE_SSE && LV_HAVE_MMX*/
  119.  
  120.  
  121. #endif /*INCLUDED_volk_16i_32fc_dot_prod_32fc_a_H*/
  122. diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
  123. index 8288786..0ecfd7f 100644
  124. --- a/volk/lib/CMakeLists.txt
  125. +++ b/volk/lib/CMakeLists.txt
  126. @@ -135,6 +135,12 @@ if(NOT CROSSCOMPILE_MULTILIB AND CPU_IS_x86)
  127. if (${SIZEOF_CPU} EQUAL 32)
  128. OVERRULE_ARCH(64 "CPU width is 32 bits")
  129. endif()
  130. +
  131. + #MSVC 64 bit does not have MMX, overrule it
  132. + if (${SIZEOF_CPU} EQUAL 64 AND MSVC)
  133. + OVERRULE_ARCH(mmx "No MMX for Win64")
  134. + endif()
  135. +
  136. endif()
  137.  
  138. ########################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement