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 ARMvext
instruction. - The IDISA
simd_pdep
operation optimized to use similar logic as that of theIDISA_SSE2
builder. - The IDISA
esimd_mergel
andesimd_mergeh
instructions for field widths 1 and 2 can use logic similar to theIDISA_SSSE3
builder. - Investigate other improvements as well.
Updated Sun Dec. 29 2024, 08:36 by cameron.