A C/C++ header file that converts Intel SSE intrinsics to Arm/Aarch64 NEON intrinsics.
The SIMD instruction set of Intel, which is known as SSE is used in many applications for improved performance. ARM also have introduced an SIMD instruction set called Neon to their processors. Rewriting code written for SSE to work on Neon is very time consuming. and this is a header file that can automatically convert some of the SSE instricts into NEON instricts.
-
Put the file
sse2neon.hin to your source code directory. -
Locate the following SSE header files included in the code:
#include <xmmintrin.h>
#include <emmintrin.h>- Replace them with :
#include "sse2neon.h"- On ARMv7-A targets, you need to append the following compiler option:
-mfpu=neon- SIMDe: fast and portable implementations of SIMD intrinsics on hardware which doesn't natively support them, such as calling SSE functions on ARM.
- SSE2NEON.h : A porting guide and header file to convert SSE intrinsics to their ARM NEON equivalent
- CatBoost's sse2neon
- ARM_NEON_2_x86_SSE
- SSE2NEON - High Performance MPC on ARM
sse2neon is freely redistributable under the MIT License.