pgsql: Try to fix the CRC-32C autoconf magic for icc compiler.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Try to fix the CRC-32C autoconf magic for icc compiler.
Date: 2015-04-14 16:59:29
Message-ID: E1Yi4BN-0003aC-9N@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Try to fix the CRC-32C autoconf magic for icc compiler.

On gcc and clang, the _mm_crc32_u8 and _mm_crc32_u64 intrinsics are not
defined at all, when not building with -msse4.2. But on icc, they are.
So we cannot assume that if those intrinsics are defined, we can always use
them safely, we might still need the runtime check.

To fix, check if the __SSE_4_2__ preprocessor symbol is defined. That's
supposed to be defined only when the compiler is targeting a processor that
has SSE 4.2 support.

Per buildfarm members fulmar and okapi.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b4eb2d168d2c426978a02de8b9b6ccdb85e1b442

Modified Files
--------------
configure | 38 ++++++++++++++++++++++++++++++++------
configure.in | 24 ++++++++++++++++++------
2 files changed, 50 insertions(+), 12 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2015-04-14 18:05:34 Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.
Previous Message Simon Riggs 2015-04-14 16:01:56 Re: [COMMITTERS] pgsql: Use Intel SSE 4.2 CRC instructions where available.