Learn more about Arm Neon technology with our series of guides. From the fundamentals to more advanced concepts, these guides provide an introduction to the advanced Single Instruction Multiple Data (SIMD) architecture extension, for the Arm Cortex-A and Cortex-R series processors. Check back regularly for new guides and resources.

Introducing Neon for Armv8-A

This guide introduces Arm Neon technology, the Advanced SIMD (Single Instruction Multiple Data) architecture extension for processors that implement the Armv8–A or Armv8–R architecture profiles.

Learn more

Compiling for Neon with auto-vectorization

This guide shows how to use auto-vectorization features in your compiler to automatically generate code containing  Advanced SIMD instructions.

Learn more

Optimizing C code with Neon intrinsics

This guide shows how to use Neon intrinsics in your C code to take advantage of the Advanced SIMD technology in the Armv8 architecture. 

Learn more

Optimizing PNG with Neon Intrinsics in Chromium case study

This guide shows how Neon Intrinsics have been used to improve performance of PNG lib in the open-source Chromium project.

Learn more

Arm optimized routines

This GutHub repository contains implementations of library functions optimized using Neon intrinsics. Studying these implementations is a useful learning tool for programmers wanting to use Neon intrinsics in their own code.

GitHub

Coding for Neon

This guide provides information about how to write SIMD code for Neon using assembly language. This guide will grow and evolve over time. 

Learn more

Developing on Android? Here are some guides

Using Neon C# intrinsics with Unity Burst

This guide explains how you can use Arm Neon C# intrinsics with the Unity Burst compiler to improve performance of your Unity Android application.

Read now

Getting started with Neon Intrinsics on Android

In this guide, you will see how to set up Android Studio for native C++ development, and to utilize Neon intrinsics for Arm-powered mobile devices.

Read now

How to Truncate Thresholding and Convolution of a 1D Signal

In this guide, you will see an approach that can be easily employed to write efficient code that can be useful for signal and image processing, neural networks, or game applications.

Read now