Date: Sat, 20 Jan 2018 19:56:03 +0000 (UTC) From: Larry Rosenman <ler@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r459545 - in head/astro/boinc-setiathome: . files Message-ID: <201801201956.w0KJu3wZ087119@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ler Date: Sat Jan 20 19:56:03 2018 New Revision: 459545 URL: https://svnweb.freebsd.org/changeset/ports/459545 Log: astro/boinc-setiathome: fix build on i386. Submitted by: dim Reported by: pkg-fallout Added: head/astro/boinc-setiathome/files/patch-client_vector_x86__float4.h (contents, props changed) head/astro/boinc-setiathome/files/patch-client_vector_x86__ops.h (contents, props changed) Modified: head/astro/boinc-setiathome/Makefile Modified: head/astro/boinc-setiathome/Makefile ============================================================================== --- head/astro/boinc-setiathome/Makefile Sat Jan 20 19:54:39 2018 (r459544) +++ head/astro/boinc-setiathome/Makefile Sat Jan 20 19:56:03 2018 (r459545) @@ -15,7 +15,6 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_powerpc64= does not compile: analyzeFuncs_altivec.cpp: CoreServices/CoreServices.h: No such file or directory -BROKEN_FreeBSD_10_i386= does not compile: vector/x86_ops.h:149:9: error: unknown type name '__m128i'; did you mean '__m128'? BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3 RUN_DEPENDS= boinc_client:net/boinc-client LIB_DEPENDS= libfftw3f.so:math/fftw3-float Added: head/astro/boinc-setiathome/files/patch-client_vector_x86__float4.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/astro/boinc-setiathome/files/patch-client_vector_x86__float4.h Sat Jan 20 19:56:03 2018 (r459545) @@ -0,0 +1,57 @@ +--- client/vector/x86_float4.h.orig 2018-01-14 23:02:12 UTC ++++ client/vector/x86_float4.h +@@ -58,8 +58,8 @@ extern const_float4 INDGEN[2]; + + ALIGNED(static const int sign_bits[4],16)={INT_MIN, INT_MIN, INT_MIN, INT_MIN}; + ALIGNED(static const int other_bits[4],16)={INT_MAX, INT_MAX, INT_MAX, INT_MAX}; +-#define SIGN_BITS (*(__m128i *)sign_bits) +-#define OTHER_BITS (*(__m128i *)other_bits) ++#define SIGN_BITS (*(__m128 *)sign_bits) ++#define OTHER_BITS (*(__m128 *)other_bits) + + + +@@ -104,19 +104,19 @@ struct float4 { + #endif + return rv; + }; +- inline float4 operator |(const __m128i &b) const { ++ inline float4 operator |(const __m128 &b) const { + register float4 rv; + #ifdef USE_INTRINSICS +- rv.m=_mm_or_ps(*(__m128 *)&b,m); ++ rv.m=_mm_or_ps(b,m); + #elif defined(__GNUC__) + __asm__ ( "orps %2,%0" : "=x" (rv.m) : "0" (b), "xm" (m)); + #endif + return rv; + }; +- inline float4 operator &(const __m128i &b) const { ++ inline float4 operator &(const __m128 &b) const { + register float4 rv; + #ifdef USE_INTRINSICS +- rv.m=_mm_and_ps(*(__m128 *)&b,m); ++ rv.m=_mm_and_ps(b,m); + #elif defined(__GNUC__) + __asm__ ( "andps %2,%0" : "=x" (rv.m) : "0" (b), "xm" (m)); + #endif +@@ -159,7 +159,9 @@ struct float4 { + return *this; + } + inline operator __m128() {return m;}; ++#ifdef __SSE2__ + inline operator __m128i() {return *(__m128i *)&m; }; ++#endif + inline float4 abs() const { + // clear the sign bits + return *this & OTHER_BITS; +@@ -258,7 +260,9 @@ struct const_float4 : public float4 { + inline const_float4(const float4 &b) { m=b.m; }; + inline operator float4() const { return *this; }; + inline operator __m128() {return m;}; ++#ifdef __SSE2__ + inline operator __m128i() {return *(__m128i *)&m; }; ++#endif + }; + + #endif Added: head/astro/boinc-setiathome/files/patch-client_vector_x86__ops.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/astro/boinc-setiathome/files/patch-client_vector_x86__ops.h Sat Jan 20 19:56:03 2018 (r459545) @@ -0,0 +1,24 @@ +--- client/vector/x86_ops.h.orig 2018-01-14 23:02:12 UTC ++++ client/vector/x86_ops.h +@@ -137,8 +137,10 @@ + // SSE2 specific functions/macros here. + #if defined(_MSC_VER) || defined(__clang__) + typedef __m128d x86_m128d; ++typedef __m128i x86_m128i; + #else + typedef double x86_m128d __attribute__ ((mode(V2DF))) __attribute__((aligned(16))); ++typedef int x86_m128i __attribute__ ((mode(V4SI))) __attribute__((aligned(16))); + #endif + #endif + +@@ -146,10 +148,8 @@ typedef double x86_m128d __attribute__ ((mode(V2DF))) + // SSE specific functions/macros here. + #if defined(_MSC_VER) || defined(__clang__) + typedef __m128 x86_m128; +-typedef __m128i x86_m128i; + #else + typedef float x86_m128 __attribute__ ((mode(V4SF))) __attribute__((aligned(16))); +-typedef int x86_m128i __attribute__ ((mode(V4SI))) __attribute__((aligned(16))); + #endif + + static inline void prefetcht0(const void *v) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801201956.w0KJu3wZ087119>