On Sun, Oct 25, 2015 at 1:13 PM, Matt Turner <[email protected]> wrote: > On Sun, Oct 11, 2015 at 8:59 PM, Matt Turner <[email protected]> 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 <[email protected]> >> --- > > 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?
I've now reverted this commit and committed Andrea's fix for clang. _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
