simd-everywhere / simde

Implementations of SIMD instruction sets for systems which don't natively support them.
https://simd-everywhere.github.io/blog/
MIT License
2.38k stars 247 forks source link

NEON: Implement some f16XN types and f16 related intrinsics. #1071

Closed yyctw closed 1 year ago

yyctw commented 1 year ago

Hi all, this is Eric from Andes Technology Corporation. This PR includes

  1. Add the types simde_float16x4x2_t and simde_float16x8x2_t
  2. Add 105 initial implementations and corresponding test cases in 35 families which are listed below:
    • mul, sub, ext, div, min, max, fma, abs, cgt, clt, clez, padd, pmax
    • get_lane, get_low, get_high, mul_lane, mul_n, set_lane
    • combine, cvt, ld2, ld1_dup, st2, zip1, zip2, zip, reinterpret
    • rsqrts, recps, recpe, rndn, rsqrte, sqrt, qrshrnh_n

All CI tests have passed on my fork! Thanks for reading and any recommendations are welcome!

mr-c commented 1 year ago

@yyctw Thank you very much for this contribution! Can you rebase your branch to bring it up to date?

yyctw commented 1 year ago

@yyctw Thank you very much for this contribution! Can you rebase your branch to bring it up to date?

Thank you for your suggestion! I've already rebased my branch to ensure it's up to date.