31 lines
948 B
C
31 lines
948 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* simd.h
|
|
* Support for platform-specific vector operations.
|
|
*
|
|
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/port/simd.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef SIMD_H
|
|
#define SIMD_H
|
|
|
|
/*
|
|
* SSE2 instructions are part of the spec for the 64-bit x86 ISA. We assume
|
|
* that compilers targeting this architecture understand SSE2 intrinsics.
|
|
*
|
|
* We use emmintrin.h rather than the comprehensive header immintrin.h in
|
|
* order to exclude extensions beyond SSE2. This is because MSVC, at least,
|
|
* will allow the use of intrinsics that haven't been enabled at compile
|
|
* time.
|
|
*/
|
|
#if (defined(__x86_64__) || defined(_M_AMD64))
|
|
#include <emmintrin.h>
|
|
#define USE_SSE2
|
|
#endif
|
|
|
|
#endif /* SIMD_H */
|