Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.
Date: 2015-04-14 15:34:31
Message-ID: 552D3387.7090807@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 04/14/2015 06:28 PM, Simon Riggs wrote:
> On 14 April 2015 at 10:09, Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2015-04-14 15:40:11 Re: pgsql: Use Intel SSE 4.2 CRC instructions where available.
Previous Message Alvaro Herrera 2015-04-14 15:28:36 pgsql: Fix typo in comment

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-04-14 15:40:11 Re: pgsql: Use Intel SSE 4.2 CRC instructions where available.
Previous Message Simon Riggs 2015-04-14 15:28:26 Re: pgsql: Use Intel SSE 4.2 CRC instructions where available.