Not logged in. Login

Improvements to the ARM Builder (Neon instructions)

ARM processors generally come with a set of 128-bit SIMD instructions implementing the NEON instruction set extension for ARM.

The IDISA ARM builder (include/idisa/idisa_arm_builder.h, lib/idisa/idisa_arm_builder.cpp uses ARM Neon instructions to implement a number of the core IDISA operations for Parabix. However, there are additional operations that can be implemented in terms of ARM Neon instructions.

Investigate the following:

  • The IDISA mvmd_dslli operation implemented in terms of the ARM vext instruction.
  • The IDISA simd_pdep operation optimized to use similar logic as that of the IDISA_SSE2 builder.
  • The IDISA esimd_mergel and esimd_mergeh instructions for field widths 1 and 2 can use logic similar to the IDISA_SSSE3 builder.
  • Investigate other improvements as well.
Updated Sun Dec. 29 2024, 08:36 by cameron.