From owner-svn-ports-head@freebsd.org Fri Dec 7 00:26:52 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2875513227A3; Fri, 7 Dec 2018 00:26:52 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C52706E45F; Fri, 7 Dec 2018 00:26:51 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A79E13866; Fri, 7 Dec 2018 00:26:51 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wB70QpL6073332; Fri, 7 Dec 2018 00:26:51 GMT (envelope-from linimon@FreeBSD.org) Received: (from linimon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wB70QpPJ073329; Fri, 7 Dec 2018 00:26:51 GMT (envelope-from linimon@FreeBSD.org) Message-Id: <201812070026.wB70QpPJ073329@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: linimon set sender to linimon@FreeBSD.org using -f From: Mark Linimon Date: Fri, 7 Dec 2018 00:26:51 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r486815 - head/comms/liquid-dsp/files X-SVN-Group: ports-head X-SVN-Commit-Author: linimon X-SVN-Commit-Paths: head/comms/liquid-dsp/files X-SVN-Commit-Revision: 486815 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: C52706E45F X-Spamd-Result: default: False [-1.88 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_SHORT(-0.96)[-0.958,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_MEDIUM(-0.87)[-0.865,0]; NEURAL_HAM_LONG(-0.05)[-0.054,0] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2018 00:26:52 -0000 Author: linimon Date: Fri Dec 7 00:26:50 2018 New Revision: 486815 URL: https://svnweb.freebsd.org/changeset/ports/486815 Log: Running this port on powerpc64 platform requires Altivec-related fixes. Taken from https://github.com/jgaeddert/liquid-dsp/pull/136 . PR: 233790 Submitted by: Piotr Kubaj Approved by: portmgr (tier-2 blanket) Added: head/comms/liquid-dsp/files/ head/comms/liquid-dsp/files/patch-configure.ac (contents, props changed) head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__crcf.av.c (contents, props changed) head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__rrrf.av.c (contents, props changed) Added: head/comms/liquid-dsp/files/patch-configure.ac ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/comms/liquid-dsp/files/patch-configure.ac Fri Dec 7 00:26:50 2018 (r486815) @@ -0,0 +1,11 @@ +--- configure.ac.orig 2018-12-04 23:39:19 UTC ++++ configure.ac +@@ -195,7 +195,7 @@ else + src/dotprod/src/dotprod_rrrf.av.o \ + src/dotprod/src/dotprod_crcf.av.o \ + src/dotprod/src/sumsq.o" +- ARCH_OPTION="-fno-common -faltivec";; ++ ARCH_OPTION="-fno-common -maltivec";; + armv1*|armv2*|armv3*|armv4*|armv5*|armv6*) + # assume neon instructions are NOT available + MLIBS_DOTPROD="src/dotprod/src/dotprod_cccf.o \ Added: head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__crcf.av.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__crcf.av.c Fri Dec 7 00:26:50 2018 (r486815) @@ -0,0 +1,39 @@ +--- src/dotprod/src/dotprod_crcf.av.c.orig 2018-12-04 23:40:11 UTC ++++ src/dotprod/src/dotprod_crcf.av.c +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + #include "liquid.internal.h" + +@@ -168,8 +169,8 @@ void dotprod_crcf_execute(dotprod_crcf _q, + union { vector float v; float w[4];} s; + unsigned int nblocks; + +- ar = (vector float*)( (int)_x & ~15); +- al = ((int)_x & 15)/sizeof(float); ++ ar = (vector float*)( (uintptr_t)_x & ~15); ++ al = ((uintptr_t)_x & 15)/sizeof(float); + + d = (vector float*)_q->h[al]; + +@@ -179,7 +180,7 @@ void dotprod_crcf_execute(dotprod_crcf _q, + // split into four vectors each with four 32-bit + // partial sums. Effectively each loop iteration + // operates on 16 input samples at a time. +- s0 = s1 = s2 = s3 = (vector float)(0); ++ s0 = s1 = s2 = s3 = (vector float){0,0,0,0}; + while (nblocks >= 4) { + s0 = vec_madd(ar[nblocks-1],d[nblocks-1],s0); + s1 = vec_madd(ar[nblocks-2],d[nblocks-2],s1); +@@ -200,7 +201,7 @@ void dotprod_crcf_execute(dotprod_crcf _q, + // move the result into the union s (effetively, + // this loads the four 32-bit values in s0 into + // the array w). +- s.v = vec_add(s0,(vector float)(0)); ++ s.v = vec_add(s0,(vector float){0,0,0,0}); + + // sum the resulting array + //*_r = s.w[0] + s.w[1] + s.w[2] + s.w[3]; Added: head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__rrrf.av.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/comms/liquid-dsp/files/patch-src_dotprod_src_dotprod__rrrf.av.c Fri Dec 7 00:26:50 2018 (r486815) @@ -0,0 +1,39 @@ +--- src/dotprod/src/dotprod_rrrf.av.c.orig 2018-12-04 23:41:32 UTC ++++ src/dotprod/src/dotprod_rrrf.av.c +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + #include "liquid.internal.h" + +@@ -163,8 +164,8 @@ void dotprod_rrrf_execute(dotprod_rrrf _q, + union { vector float v; float w[4];} s; + unsigned int nblocks; + +- ar = (vector float*)( (int)_x & ~15); +- al = ((int)_x & 15)/sizeof(float); ++ ar = (vector float*)( (uintptr_t)_x & ~15); ++ al = ((uintptr_t)_x & 15)/sizeof(float); + + d = (vector float*)_q->h[al]; + +@@ -173,7 +174,7 @@ void dotprod_rrrf_execute(dotprod_rrrf _q, + // split into four vectors each with four 32-bit + // partial sums. Effectively each loop iteration + // operates on 16 input samples at a time. +- s0 = s1 = s2 = s3 = (vector float)(0); ++ s0 = s1 = s2 = s3 = (vector float){0,0,0,0}; + while (nblocks >= 4) { + s0 = vec_madd(ar[nblocks-1],d[nblocks-1],s0); + s1 = vec_madd(ar[nblocks-2],d[nblocks-2],s1); +@@ -194,7 +195,7 @@ void dotprod_rrrf_execute(dotprod_rrrf _q, + // move the result into the union s (effetively, + // this loads the four 32-bit values in s0 into + // the array w). +- s.v = vec_add(s0,(vector float)(0)); ++ s.v = vec_add(s0,(vector float){0,0,0,0}); + + // sum the resulting array + *_r = s.w[0] + s.w[1] + s.w[2] + s.w[3];