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_dsllioperation implemented in terms of the ARMvextinstruction. - The IDISA
simd_pdepoperation optimized to use similar logic as that of theIDISA_SSE2builder. - The IDISA
esimd_mergelandesimd_mergehinstructions for field widths 1 and 2 can use logic similar to theIDISA_SSSE3builder. - Investigate other improvements as well.
Updated Sun Dec. 29 2024, 08:36 by cameron.