Heikki Linnakangas <hlinn...@iki.fi> writes: > On 06/05/2015 09:27 PM, Tom Lane wrote: >> ... However I found out that adding -ansi >> also caused configure to stop selecting "-msse4.2", which seemed odd, >> since that switch has no bearing on C language conformance. And it fell >> back to the slicing-by-8 CRC implementation too.
> Hmm, that's odd. -ansi has no effect on the CRC implementation on my system. Ummm ... I was reading the diff backwards. Actually it seems that on dromedary's platform, CFLAGS_SSE42 is set to empty by default, but forcing "-ansi" makes it get set to "-msse4.2". Evidently, (this) gcc will accept the _mm_crc32_foo intrinsics by default normally, but if you say -ansi then it won't accept them unless you also say "-msse4.2". It looks like the actual reason that we aren't using the runtime-check CRC implementation is that we can't find a way to do "cpuid" on this old version of OS X. Not sure if it's worth the time to look for one; modern versions of OS X do have __get_cpuid(). regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers