Support SSE2 intrinsics where available
authorJohn Naylor <john.naylor@postgresql.org>
Wed, 3 Aug 2022 04:07:40 +0000 (11:07 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Thu, 4 Aug 2022 06:49:18 +0000 (13:49 +0700)
commit56f2c7b58bda00ea5ecc56a93467ed9eae6b3db7
tree095acd0e25e9b7e56cbb3965be31d4b634d7505c
parent1aa8dad41ffad99923a658389ee948e88394491c
Support SSE2 intrinsics where available

SSE2 vector instructions are part of the spec for the 64-bit x86
architecture. Until now we have relied on the compiler to autovectorize
in some limited situations, but some useful coding idioms can only be
expressed explicitly via compiler intrinsics. To this end, add a header
that defines USE_SSE2 where available. While x86-only for now, we can
add other architectures in the future. This will also be the intended
place for helper functions that use vector operations.

Reviewed by Nathan Bossart and Masahiko Sawada

Discussion: https://www.postgresql.org/message-id/CAFBsxsE2G_H_5Wbw%2BNOPm70-BK4xxKf86-mRzY%3DL2sLoQqM%2B-Q%40mail.gmail.com
src/include/port/simd.h [new file with mode: 0644]