[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd/cvd_src utility.cc
From: |
Edward Rosten |
Subject: |
[libcvd-members] libcvd/cvd_src utility.cc |
Date: |
Tue, 04 Sep 2007 23:33:08 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: libcvd
Changes by: Edward Rosten <edrosten> 07/09/04 23:33:08
Modified files:
cvd_src : utility.cc
Log message:
Minor fix for gcc3, from S. Brumby.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/utility.cc?cvsroot=libcvd&r1=1.7&r2=1.8
Patches:
Index: utility.cc
===================================================================
RCS file: /cvsroot/libcvd/libcvd/cvd_src/utility.cc,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- utility.cc 25 Oct 2006 00:47:45 -0000 1.7
+++ utility.cc 4 Sep 2007 23:33:08 -0000 1.8
@@ -246,8 +246,10 @@
#if defined(CVD_HAVE_SSE) && defined(CVD_HAVE_XMMINTRIN)
- template <bool Aligned> inline __m128 load_ps(const void* addr) { return
_mm_loadu_ps((const float*)addr); }
- template <> inline __m128 load_ps<true>(const void* addr) { return
_mm_load_ps((const float*)addr); }
+ //Some versions of gcc do not define _mm_load?_ps as taking a const
float*
+ //Later versions always use the const.
+ template <bool Aligned> inline __m128 load_ps(const void* addr) { return
_mm_loadu_ps(static_cast<float*>(const_cast<void*>(addr))); }
+ template <> inline __m128 load_ps<true>(const void* addr) { return
_mm_load_ps(static_cast<float*>(const_cast<void*>(addr))); }
template <bool Aligned> inline void store_ps(__m128 m, void* addr) {
return _mm_storeu_ps((float*)addr, m); }
template <> inline void store_ps<true>(__m128 m, void* addr) { return
_mm_store_ps((float*)addr, m); }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] libcvd/cvd_src utility.cc,
Edward Rosten <=