DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.07k stars 141 forks source link

NOSIMD=true doesn't disable SIMD entirely #645

Open yurivict opened 2 months ago

yurivict commented 2 months ago

Version

24.04

Plugin type

Native / JACK

OS

FreeBSD 14.0

DAW / Host (if applicable)

No response

Description

Makefile.base.mk seems to respect the NOSIMD variable in one place, but -msse2 still appears in some compilation commands, for example:

cc -Wall -Wextra -pipe -MD -MP -fPIC -DPIC -DNDEBUG -O3 -ffast-math -fdata-sections -ffunction-sections -mtune=generic -msse -msse2 -mfpmath=sse -fvisibility=hidden -DUSING_CARDINAL_NOT_RACK -I/usr/ports/audio/cardinal/work/cardinal-24.04/include -I/usr/ports/audio/cardinal/work/cardinal-24.04/include/simd-compat -I/usr/ports/audio/cardinal/work/cardinal-24.04/deps/sysroot/include -DCARDINAL_NOSIMD -DCARDINAL_SYSDEPS -I/usr/local/include -DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC -pthread -I/usr/ports/audio/cardinal/work/cardinal-24.04/src/Rack/dep/simde -DSIMDE_ACCURACY_PREFERENCE=0 -DSIMDE_FAST_CONVERSION_RANGE -DSIMDE_FAST_MATH -DSIMDE_FAST_NANS -DSIMDE_FAST_ROUND_MODE -DSIMDE_FAST_ROUND_TIES -std=gnu99 -O2 -pipe -march=znver4  -isystem /usr/local/include -fno-strict-aliasing  -fno-finite-math-only -fno-strict-aliasing -D_GNU_SOURCE -DCONFIG_VERSION='"Cardinal"' -w -O2 -c -o .obj/libregexp.o libregexp.c

If NOSIMD to be respected, it should work everywhere, or it shouldn't be present at all.

falkTX commented 1 month ago

this should be fixed in latest git, can you confirm?