On 9 December 2015 at 11:39, Oded Gabbay <oded.gab...@gmail.com> wrote: > On Wed, Dec 9, 2015 at 1:09 PM, Emil Velikov <emil.l.veli...@gmail.com> wrote: >> On 9 December 2015 at 05:37, Jonathan Gray <j...@jsg.id.au> wrote: >>> Change the __m128i variables to be volatile so gcc 4.9 won't optimise >>> all of them out with -O1 or greater. The _mm_set1_epi32/pinsrd calls >>> still get optimised out but now there is at least one SSE4.1 instruction >>> generated via _mm_max_epu32/pmaxud. When all of the sse4.1 instructions >>> got optimised out the configure test would incorrectly pass when the >>> compiler supported the intrinsics and the assembler didn't support the >>> instructions. >>> >> Must admit that I was not expecting that one. Looks like pixman (the >> inspiration for this check) is missing volatile as well. Does that one >> build/run fine on OpenBSD ? >> >>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91806 >>> Signed-off-by: Jonathan Gray <j...@jsg.id.au> >>> Cc: "11.0 11.1" <mesa-sta...@lists.freedesktop.org> >> Reviewed-by: Emil Velikov <emil.veli...@collabora.com> >> >> I'll pick this in a couple of days (barring any objections). >> >> Thanks >> Emil > > Adding pixman ML. > I must admit ignorance on this one. > I looked at configure.ac of pixman and I don't see any SSE4.1 > reference, and AFAIK, we don't use those instructions (only SSE2 and > SSSE3). > Is the above patch relevant for those as well ? because the tests in > configure.ac does *not* contain volatile. > True, there is no SSE4.1 detection in pixman but the logic should still holds. .Unless ... it is exclusive to SSE4.1, which I rather doubt. Unfortunately there is no easy way to get older GCC on Arch otherwise I would have tried it.
The full patch for reference http://patchwork.freedesktop.org/patch/67449/ -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev