After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 791757 - Configuring Gimp with CFLAGS='-O2 -mno-sse4.2 -mno-sse4.1 -pipe' fails to compile
Configuring Gimp with CFLAGS='-O2 -mno-sse4.2 -mno-sse4.1 -pipe' fails to com...
Status: RESOLVED WONTFIX
Product: GIMP
Classification: Other
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2017-12-18 20:52 UTC by Sebastian Pipping
Modified: 2017-12-19 11:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Pipping 2017-12-18 20:52:32 UTC
Hi!


Some people pass explicit counterparts to `-march=native` for compilation and it turned out [1] that CFLAGS='-O2 -mno-sse4.2 -mno-sse4.1 -pipe' failes compilation of app/operations/layer-modes/gimpoperationnormal-sse4.c complaining that `_mm_blend_ps` cannot be inlined due to a "target specific option mismatch".

No problem if you consider this case too specific to handle; just thought you should know.

To reproduce quickly:


# tar xf gimp-2.9.8.tar.bz2

# cd gimp-2.9.8

# ./configure CFLAGS='-O2 -mno-sse4.2 -mno-sse4.1 -pipe' GEGL="$(which gegl-0.3)"

# cd app/operations/layer-modes/

# make V=1 gimpoperationnormal-sse4.o
gcc -DHAVE_CONFIG_H -I. -I../../..  -DG_LOG_DOMAIN=\"Gimp-Layer-Modes\" -I../../.. -I../../.. -I../../../app -I../../../app -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -pthread -I/usr/include/gegl-0.3 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/babl-0.1 -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/local/include -DGIMP_DISABLE_DEPRECATED -DBABL_DISABLE_DEPRECATED -DGSEAL_ENABLE -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE  -O2 -mno-sse4.2 -mno-sse4.1 -pipe -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Werror=missing-prototypes  -Wmissing-declarations -Winit-self -Wpointer-arith  -Wmissing-format-attribute -Wformat-security -Wlogical-op -Wtype-limits -fno-common -fdiagnostics-show-option -Wreturn-type   -MT gimpoperationnormal-sse4.o -MD -MP -MF .deps/gimpoperationnormal-sse4.Tpo -c -o gimpoperationnormal-sse4.o gimpoperationnormal-sse4.c
In file included from gimpoperationnormal-sse4.c:33:0:
gimpoperationnormal-sse4.c: In function ‘gimp_operation_normal_process_sse4’:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:112:29: error: called from here
                   out_pixel = _mm_blend_ps (out_pixel, out_alpha, 0x08);
                             ^
In file included from gimpoperationnormal-sse4.c:33:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:112:29: error: called from here
                   out_pixel = _mm_blend_ps (out_pixel, out_alpha, 0x08);
                             ^
In file included from gimpoperationnormal-sse4.c:33:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:158:29: error: called from here
                   out_pixel = _mm_blend_ps (out_pixel, dst_alpha, 0x08);
                             ^
In file included from gimpoperationnormal-sse4.c:33:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:158:29: error: called from here
                   out_pixel = _mm_blend_ps (out_pixel, dst_alpha, 0x08);
                             ^
In file included from gimpoperationnormal-sse4.c:33:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:204:25: error: called from here
               out_pixel = _mm_blend_ps (out_pixel, alpha, 0x08);
                         ^
In file included from gimpoperationnormal-sse4.c:33:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/smmintrin.h:191:1: error: inlining failed in call to always_inline ‘_mm_blend_ps’: target specific option mismatch
 _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
 ^
gimpoperationnormal-sse4.c:249:25: error: called from here
               out_pixel = _mm_blend_ps (out_pixel, alpha, 0x08);
                         ^
make: *** [Makefile:761: gimpoperationnormal-sse4.o] Error 1


Best



Sebastian


[1] https://bugs.gentoo.org/581602
Comment 1 Michael Natterer 2017-12-18 22:49:53 UTC
I would say somebody shot themselves in the foot... also, gentoo.

But I'll leave that to Ell to decide, he is guilty of all new layer
mode magic.
Comment 2 Michael Schumacher 2017-12-19 09:29:17 UTC
At least some of the Gentoo devs seem to think "... also, gentoo users." :)

https://bugs.gentoo.org/581602#c8
Comment 3 Michael Natterer 2017-12-19 11:21:33 UTC
I think we can safely WONTFIX this without upsetting anyone. Thanks
for reporting anyway!