Skip site navigation (1)Skip section navigation (2)
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>