Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

configure

  • Heikki Linnakangas's avatar
    936546dc
    Optimize pg_comp_crc32c_sse42 routine slightly, and also use it on x86. · 936546dc
    Heikki Linnakangas authored
    Eliminate the separate 'len' variable from the loops, and also use the 4
    byte instruction. This shaves off a few more cycles. Even though this
    routine that uses the special SSE 4.2 instructions is much faster than a
    generic routine, it's still a hot spot, so let's make it as fast as
    possible.
    
    Change the configure test to not test _mm_crc32_u64. That variant is only
    available in the 64-bit x86-64 architecture, not in 32-bit x86. Modify
    pg_comp_crc32c_sse42 so that it only uses _mm_crc32_u64 on x86-64. With
    these changes, the SSE accelerated CRC-32C implementation can also be used
    on 32-bit x86 systems.
    
    This also fixes the 32-bit MSVC build.
    936546dc
    History
    Optimize pg_comp_crc32c_sse42 routine slightly, and also use it on x86.
    Heikki Linnakangas authored
    Eliminate the separate 'len' variable from the loops, and also use the 4
    byte instruction. This shaves off a few more cycles. Even though this
    routine that uses the special SSE 4.2 instructions is much faster than a
    generic routine, it's still a hot spot, so let's make it as fast as
    possible.
    
    Change the configure test to not test _mm_crc32_u64. That variant is only
    available in the 64-bit x86-64 architecture, not in 32-bit x86. Modify
    pg_comp_crc32c_sse42 so that it only uses _mm_crc32_u64 on x86-64. With
    these changes, the SSE accelerated CRC-32C implementation can also be used
    on 32-bit x86 systems.
    
    This also fixes the 32-bit MSVC build.