From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | hlinnaka(at)iki(dot)fi |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: gcc -ansi versus SSE4.2 detection |
Date: | 2015-06-05 19:07:53 |
Message-ID: | 25456.1433531273@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Heikki Linnakangas <hlinnaka(at)iki(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Petr Jelinek | 2015-06-05 19:08:44 | Re: Further issues with jsonb semantics, documentation |
Previous Message | Steve Kehlet | 2015-06-05 19:01:47 | Re: [GENERAL] 9.4.1 -> 9.4.2 problem: could not access status of transaction 1 |