Skip to content
Snippets Groups Projects
  • Andres Freund's avatar
    6cf72879
    Improve configure test for the sse4.2 crc instruction. · 6cf72879
    Andres Freund authored
    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.
    6cf72879
    History
    Improve configure test for the sse4.2 crc instruction.
    Andres Freund authored
    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.