On Sun, Oct 11, 2015 at 8:59 PM, Matt Turner <matts...@gmail.com> wrote: > We had lots of hacks to handle the inability to include xmmintrin.h > without compiling with -msse (lest SSE instructions be used in > pixman-mmx.c). Some recent version of gcc relaxed this restriction. > > Change configure.ac to test that xmmintrin.h can be included and that we > can use some intrinsics from it, and remove the work-around code from > pixman-mmx.c. > > Evidently allows gcc 4.9.3 to optimize better as well: > > text data bss dec hex filename > 657078 30848 680 688606 a81de libpixman-1.so.0.33.3 before > 656710 30848 680 688238 a806e libpixman-1.so.0.33.3 after > > Signed-off-by: Matt Turner <matts...@gmail.com> > ---
Ugh. This is apparently not sufficient... https://bugs.gentoo.org/show_bug.cgi?id=564024 GCC allows you to *include* xmmintrin.h without enabling SSE, but it still doesn't allow you to use any of the functions: conftest.c: In function ‘main’: /usr/lib/gcc/x86_64-pc-linux-gnu/5.1.0/include/xmmintrin.h:1124:1: error: inlining failed in call to always_inline ‘_mm_mulhi_pu16’: target specific option mismatch _mm_mulhi_pu16 (__m64 __A, __m64 __B) ^ conftest.c:12:7: error: called from here w = _mm_mulhi_pu16(w, w); I'm not sure what to do except to revert. The MMX but no SSE case is important, at least it was in the past because of OLPC's XO-1. Suggestions besides reverting this? _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman