Date: Fri, 28 Oct 2016 23:39:01 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r424887 - in head/multimedia/x264: . files Message-ID: <201610282339.u9SNd1ov086730@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Fri Oct 28 23:39:01 2016 New Revision: 424887 URL: https://svnweb.freebsd.org/changeset/ports/424887 Log: multimedia/libx264: unbreak ASM on armv6 after r422672 /nxb-bin/usr/bin/cc -I. -I. -c -DSTACK_ALIGNMENT=4 -DPIC -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/quant-a.o common/arm/quant-a.S <instantiation>:29:5: error: instruction requires: armv6t2 rbit r1, r1 ^ common/arm/quant-a.S:362:1: note: while in macro instantiation decimate_score_1x 15 ^ <instantiation>:29:5: error: instruction requires: armv6t2 rbit r1, r1 ^ /tmp/quant-a-8aad5d.s:515:1: note: while in macro instantiation decimate_score_1x 16 ^ PR: 213443 Reported by: pkg-fallout, Bernd Walter, Mikael Urankar Approved by: portmgr blanket Added: head/multimedia/x264/files/patch-armv6 (contents, props changed) Modified: head/multimedia/x264/Makefile (contents, props changed) Modified: head/multimedia/x264/Makefile ============================================================================== --- head/multimedia/x264/Makefile Fri Oct 28 21:43:02 2016 (r424886) +++ head/multimedia/x264/Makefile Fri Oct 28 23:39:01 2016 (r424887) @@ -105,8 +105,6 @@ CONFIGURE_ARGS+= --prefix="${PREFIX}" \ --extra-cflags="${CPPFLAGS} ${CFLAGS}" \ --extra-ldflags="${LDFLAGS}" -CFLAGS_armv6+= -mcpu=arm1136jf-s - post-extract-PGO-on: @${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \ >${WRKDIR}/${Y4M_VIDEO} Added: head/multimedia/x264/files/patch-armv6 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/x264/files/patch-armv6 Fri Oct 28 23:39:01 2016 (r424887) @@ -0,0 +1,45 @@ +Downgrade SIMD usage to real armv6 (like Raspberry Pi) + +--- common/arm/quant-a.S.orig 2016-09-21 20:45:06 UTC ++++ common/arm/quant-a.S +@@ -316,6 +316,7 @@ dequant_4x4_dc_rshift: + bx lr + endfunc + ++#if ARCH_AARCH64 || HAVE_ARMV6T2 + .macro decimate_score_1x size + function x264_decimate_score\size\()_neon + vld1.16 {q0, q1}, [r0, :128] +@@ -361,6 +362,7 @@ endfunc + + decimate_score_1x 15 + decimate_score_1x 16 ++#endif + + function x264_decimate_score64_neon + push {lr} +--- common/quant.c.orig 2016-09-21 20:45:06 UTC ++++ common/quant.c +@@ -761,8 +761,10 @@ void x264_quant_init( x264_t *h, int cpu + pf->coeff_last[DCT_LUMA_4x4] = x264_coeff_last16_neon; + pf->coeff_last[DCT_LUMA_8x8] = x264_coeff_last64_neon; + pf->denoise_dct = x264_denoise_dct_neon; ++#if ARCH_AARCH64 || HAVE_ARMV6T2 + pf->decimate_score15 = x264_decimate_score15_neon; + pf->decimate_score16 = x264_decimate_score16_neon; ++#endif + pf->decimate_score64 = x264_decimate_score64_neon; + } + #endif +--- configure.orig 2016-09-21 20:45:06 UTC ++++ configure +@@ -874,9 +874,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $A + fi + + if [ $asm = auto -a $ARCH = ARM ] ; then +- # set flags so neon is built by default +- echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" +- + if cc_check '' '' '__asm__("rev ip, ip");' ; then define HAVE_ARMV6 + cc_check '' '' '__asm__("movt r0, #0");' && define HAVE_ARMV6T2 + cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610282339.u9SNd1ov086730>