Improve configure test for the sse4.2 crc instruction.
authorAndres Freund <andres@anarazel.de>
Mon, 17 Aug 2015 09:15:46 +0000 (11:15 +0200)
committerAndres Freund <andres@anarazel.de>
Mon, 17 Aug 2015 09:15:46 +0000 (11:15 +0200)
commit6cf72879e944f32b5b8232541cccd575de797fa4
tree284212479c37342d47918d1d9a8d92c84fe09387
parent0e8efed59e7f98f237e90fba20364165f7cc9ba9
Improve configure test for the sse4.2 crc instruction.

With optimizations enabled at least one compiler, clang 3.7, optimized
away the crc intrinsics knowing that the result went on unused and has
no side effects. That can trigger errors in code generation when the
intrinsic is used, as we chose to use the intrinsics without any
additional compiler flag. Return the computed value to prevent that.

With some more pedantic warning flags (-Wold-style-definition) the
configure test failed to recognize the existence of _mm_crc32_u*
intrinsics due to an independent warning in the test because the test
turned on -Werror, but that's not actually needed here.

Discussion: 20150814092039.GH4955@awork2.anarazel.de
Backpatch: 9.5, where the use of crc intrinsics was integrated.
config/c-compiler.m4
configure