]> granicus.if.org Git - postgresql/commit
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:23:31 +0000 (11:23 +0200)
commit2c5c11ae9e0c5f4605fb9cdd2e8bd94fe0a06d95
treef717597e695e9f582b1b02a253508ed2f8a2a4c2
parent9a18a2bfb9f93e4a1aa405e752608746e04619f2
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