Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available. - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.
Date
Msg-id 552D3387.7090807@iki.fi
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.
List pgsql-hackers
On 04/14/2015 06:28 PM, Simon Riggs wrote:
> On 14 April 2015 at 10:09, Heikki Linnakangas <heikki.linnakangas@iki.fi> wrote:
>
>> Abhijit Menon-Sen, heavily modified by me, reviewed by Andres Freund.
>
> Did the heavy modifications have any affect on the patch behaviour, or
> was this just related to where you would like to put the code?

Didn't affect behaviour.

Hmm, the buildfarm animals using Intel C compiler didn't like this 
patch. The problem seems to be that unlike on gcc and clang, icc always 
has the SSE 4.2 intrinsics (_mm_crc32_u64, _mm_crc32_u8 etc.), even when 
the target CPU architecture is not SSE 4.2. On gcc/clang, those 
intrinsics are not defined unless you build with -msse4.2.

I'll try to find a fix. I think we could use the __SSE4_2__ define to 
check whether SSE4.2 is targeted. Or we can punt and always build the 
version with the runtime check, unless overridden manually at configure 
command line.

- Heikki




pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: FPW compression leaks information
Next
From: Simon Riggs
Date:
Subject: Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.