You copied the Doc URL to your clipboard.

NEON instructions without equivalent intrinsics

Most NEON instructions have an equivalent NEON intrinsic, however a small subset of instructions do not.

Even though these NEON instructions do not have equivalent intrinsics, their behavior can still be expressed either by using different intrinsics or standard C operations. See the following table for a list of NEON instructions that do not have an equivalent intrinsic:


Table 1. NEON instructions without equivalent intrinsics
NEON instruction Alternative

VBIF

VBIT

The vbsl* intrinsics compile to any of VBSL/VBIF/VBIT depending on register allocation.

VLDM

VLDR

VSTM

VSTR

The compiler generates these instructions automatically as appropriate for accesses to floating-point and vector data types.

VMRS

VMSR

Use the named register variable __asm("fpscr") to access the Floating-Point Status and Control Register (FPSCR). Using the named register variable causes the compiler to emit VMRS/VMSR instructions as required.

VPOP

VPUSH

These instructions are used for saving and restoring callee-saved registers. The compiler generates them automatically at function entry and exit as appropriate for the registers used in the function.
VSWP This instruction has no benefit as an intrinsic because intrinsics use variables to encapsulate register allocation and access. As a result. swapping of variables can be performed using simple C-style variable assignments.

Was this page helpful? Yes No