OptimeGBA icon indicating copy to clipboard operation
OptimeGBA copied to clipboard

Non-SIMD fallback

Open Martin1994 opened this issue 2 years ago • 0 comments

Summary

This patch implements a non-SIMD fallback on non-AVX2 machine.

Testing

Tested with Kirby & The Amazing Mirror's loading screen and prologue on:

  • x86 AVX2 machine with AVX2 routine
  • x86 AVX2 machine with non-SIMD routine
  • aarch64 machine with non-SIMD routine

I also tuned the code a little bit to run both AVX and non-SIMD routines and made sure their output matched.

Known issues

  • 8 bit routine is not covered.
  • SIMD implementation with NEON would be hard because many of the intrinsics are not available. Also there is at most 128 bit SIMD on ARM platform rather than 256 bits.

Martin1994 avatar Jan 05 '22 02:01 Martin1994