1. 03 Jan, 2025 1 commit
    • Russell Graves's avatar
      arm: Rename ARM ROL/ROR functions with a SIMDE prefix. · 70fc574b
      Russell Graves authored
      Most SIMDe functions have the SIMDE_ or simde_ prefix internally.
      Several of the ARM hash functions do not have this prefix, and this
      means that the standard names of ROR32/ROL32 can conflict with other
      projects using the library.
      
      This is purely a cosmetic change with internal function renaming.  It
      changes no external interfaces, simply removes a source of potential
      conflict with other projects that have similarly named macros.
      70fc574b
  2. 02 Jan, 2025 2 commits
    • Russell Graves's avatar
      arm neon sli_n: Fix invalid shift warnings (#1253) · a39bd6dd
      Russell Graves authored
      Per the ARMv8 manual, the valid range of shifts for the vector SLI
      operations is "0 to the element width in bits minus 1."  The existing
      SIMDe implementation creates an invalid shift in the case of 0, as
      the shifts are (element width - n) - so, for a 0-bit shift on a
      64-bit value, the shift is 64.  This is undefined per the C spec, and
      leads to compiler warnings on build.
      
      This fix changes the sli_n shift operations to work properly for the
      valid range of values, shifting ((element width - 1) - n), with a
      modified constant value to generate the same results (7f... instead
      of ff...).
      
      While the existing tests all pass with the change, a number of the
      tests have been modified (and have new constant values generated) to
      properly exercise and demonstrate the "n == 0" shift case.  These
      test vectors were generated on an ARMv9 system (Google Compute Engine
      C4A system), and pass on x86 hardware as well.
      a39bd6dd
    • Michael R. Crusoe's avatar
  3. 19 Dec, 2024 1 commit
  4. 17 Dec, 2024 3 commits
  5. 11 Dec, 2024 6 commits
  6. 05 Dec, 2024 1 commit
  7. 04 Dec, 2024 1 commit
  8. 28 Nov, 2024 1 commit
  9. 26 Nov, 2024 1 commit
  10. 23 Nov, 2024 2 commits
  11. 22 Sep, 2024 1 commit
  12. 18 Sep, 2024 1 commit
  13. 15 Sep, 2024 1 commit
  14. 13 Sep, 2024 4 commits
  15. 12 Sep, 2024 3 commits
  16. 10 Sep, 2024 4 commits
  17. 20 Aug, 2024 4 commits
  18. 12 Aug, 2024 1 commit
  19. 20 Jul, 2024 1 commit
  20. 14 Jul, 2024 1 commit