Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Nov 2021 18:14:43 +0100
From:      Matthias Andree <mandree@FreeBSD.org>
To:        Christian Weisgerber <naddy@mips.inka.de>, Alexey Dokuchaev <danfe@freebsd.org>
Cc:        Piotr Kubaj <pkubaj@freebsd.org>, ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org
Subject:   Re: git: c6c6e67d83c2 - main - audio/flac: don't disable VSX on powerpc64le
Message-ID:  <47bc0bef-ca47-d62f-d4a2-e3f4db462fe7@FreeBSD.org>
In-Reply-To: <YX/jekyk152JCnsC@lorvorc.mips.inka.de>
References:  <202111010243.1A12hxQj066278@gitrepo.freebsd.org> <YX9ihSk1QxpPn9un@FreeBSD.org> <YX/jekyk152JCnsC@lorvorc.mips.inka.de>

next in thread | previous in thread | raw e-mail | index | archive | help

Am 01.11.21 um 13:54 schrieb Christian Weisgerber:
> Alexey Dokuchaev:
> 
>> I wonder why SSE was disabled in 101cb31e18d13 during the update to
>> version 1.3.2, as it was never explained:
>> ...
>>  CONFIGURE_ARGS=        --enable-static \
>> -               --enable-sse \
>> +               --disable-sse \
> 
> --enable-sse simply adds "-msse2" to the compiler flags.
> 
> On amd64, this is a nop, since SSE2 is part of the amd64 architecture.
> On i386, it generates code that won't run on older CPUs that don't
> support SSE2.

Yeah - do we care? SSE2 has come of age in most legislations :-)

Perhaps you need to force -mstackrealign (at least on GCC) with -msse2
on i386 and if you really need to support museal CPUs, make SSE an
option and default it to enabled.  Or maybe a -nosse flavor.

I had been considering SSE2 for rawtherapee as well, and as a result, I
have had this in ports/graphics/rawtherapee/Makefile. It used to be an
option into early 2019, but aside from one irrelevant complaint of
someone who was trying to argue me out of LTO with -O3 for rawtherapee's
heavy lifting ^W^W number crunching, no complaints.


graphics/rawtherapee/Makefile excerpt:
--------->8-------------------------------------------------------------
.include <bsd.port.options.mk>

# ...

# x86_64/amd64 includes -msse2 by default
.if ${ARCH} == i386
# and SSE2 has been around since the year 2003 latest
_OPT_FLAGS+=    -msse2
.endif

# workaround for values passed on the stack that cause SIGBUS on SSE2
.if ${ARCH} == i386
_OPT_FLAGS+=    -mstackrealign
.endif

.include <bsd.port.pre.mk>

# ...
---------8<-------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47bc0bef-ca47-d62f-d4a2-e3f4db462fe7>