Hi, On 2018-09-05 10:05:26 -0400, Tom Lane wrote: > Peter Eisentraut <peter.eisentr...@2ndquadrant.com> writes: > > On 05/09/2018 02:51, Andres Freund wrote: > >> My current proposal is thus to do add a check that does > >> #if defined(__clang__) && defined(__i386__) && !defined(__SSE2_MATH__) > >> something-that-fails > >> #endif > >> in an autoconf test, and have configure complain if that fails. > > > Would this not be invalidated if the bug you have filed gets fixed?
Realistically we're going to be running into old versions of clang for a long time. And the importance of running i386 without SSE2 surely isn't increasing. So I don't really see an urgent need to do anything about it. And if it gets fixed, and we care, we can just add a clang version check to the test. > Perhaps, but how would autoconf tell that? I wouldn't have any confidence > in a runtime test, as it might or might not trigger the bug depending on > all sorts of factors like -O level. > > In any case, it seems like "use -msse2 on x86" is good advice from a > performance standpoint even if it doesn't prevent a compiler bug. Indeed. > One thought is that maybe we should provide a way to override this, > in case somebody really can't or doesn't want to use -msse2, and > is willing to put up with platform-dependent float behavior. IDK, people that are capable of making that decision can just hack configure. Greetings, Andres Freund