Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ShuffleUnsafe methods #99596

Closed
wants to merge 54 commits into from
Closed

Implement ShuffleUnsafe methods #99596

wants to merge 54 commits into from

Commits on Mar 12, 2024

  1. Configuration menu
    Copy the full SHA
    4ed9fd8 View commit details
    Browse the repository at this point in the history
  2. Update Vector256.cs

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    f5dcfed View commit details
    Browse the repository at this point in the history
  3. Update Vector64.cs

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    37063ff View commit details
    Browse the repository at this point in the history
  4. Fix values to vector

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    1c456b0 View commit details
    Browse the repository at this point in the history
  5. Update Vector256.cs

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    32347d3 View commit details
    Browse the repository at this point in the history
  6. Apply feedback & fix tests

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    b65b8f3 View commit details
    Browse the repository at this point in the history
  7. Update Vector512Tests.cs

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    3cf87ff View commit details
    Browse the repository at this point in the history
  8. Fix new tests

    hamarb123 committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    fef9edd View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Fix new tests

    hamarb123 committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    31136cb View commit details
    Browse the repository at this point in the history
  2. Update Vector128Tests.cs

    hamarb123 committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    bc86f69 View commit details
    Browse the repository at this point in the history
  3. Update Vector128Tests.cs

    hamarb123 committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    3c20a8b View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. Optimise standard shuffle using ShuffleUnsafe

    - Used when non-constant indices are given to Shuffle, and an intrinsic implementation of ShuffleUnsafe is available
    - Optimises byte and sbyte cases only
    hamarb123 committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    64ab7c1 View commit details
    Browse the repository at this point in the history
  2. Compilation fixes

    hamarb123 committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    b2e6885 View commit details
    Browse the repository at this point in the history
  3. Fix

    hamarb123 committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    bd809c1 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Re-implement in JIT

    - Re-implement ShuffleUnsafe in JIT
    - Also re-implement the Shuffle optimisations in JIT
    - Add basic JIT support for mono (ShuffleUnsafe just gets the same implementation as Shuffle)
    - Implement support for variable index Shuffle & ShuffleUnsafe (for bytes)
    - Implement support for cross-lane shuffling in JIT (for bytes)
    - Optimise Vector128 shuffle for bytes in JIT to use Avx2.Shuffle
    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    c533e98 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9dd6cf6 View commit details
    Browse the repository at this point in the history
  3. Fix mono compile

    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    d9888bf View commit details
    Browse the repository at this point in the history
  4. Update simd-methods.h

    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    f57d52d View commit details
    Browse the repository at this point in the history
  5. Update gentree.cpp

    - Fix incorrect usage of gtNewConditionalNode
    - Fix type of valueMask
    - Add assert
    - Use gtNewSimdCreateBroadcastNode where possible
    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    cde0362 View commit details
    Browse the repository at this point in the history
  6. Fix test failures

    - Logic change for short shuffle was incorrect: reverted
    - Accidentally ignored permutation node when shuffling also
    - Read from op2 instead of vecCns.u8, but assumed values were in the 0->31, 255 ranges
    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    510927b View commit details
    Browse the repository at this point in the history
  7. Fix formatting of JIT code

    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    8ec52e9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1e23887 View commit details
    Browse the repository at this point in the history
  9. Formatting fixes

    hamarb123 committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    aaac9a8 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Fix bug

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    055a1ba View commit details
    Browse the repository at this point in the history
  2. Use byte shuffle implementation for short with constants

    - Use Avx2.Shuffle for contant-index short shuffle operations too
    - Implement cross-lane shuffles for constant-index short shuffles
    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    5a62b6a View commit details
    Browse the repository at this point in the history
  3. Fix fomatting

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    090023b View commit details
    Browse the repository at this point in the history
  4. Fix formatting

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    465b0a5 View commit details
    Browse the repository at this point in the history
  5. Update gentree.cpp

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    b028da5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    08589bd View commit details
    Browse the repository at this point in the history
  7. Comment change and implement ShuffleUnsafe for sbyte

    - Implement `ShuffleUnsafe` for `sbyte`
    - Remove remaining detailed comment on V128.ShuffleUnsafe (which specified which intrinsics were used): it is not good to only have it for this one, which could also theoretically change behaviour in the future e.g., with the introduction of RISC-V
    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    9868e73 View commit details
    Browse the repository at this point in the history
  8. Non-constant indices handling on arm64

    - Implement non-constant indices handling for Shuffle & ShuffleUnsafe for all type sizes on arm64
    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    434ff31 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d52deed View commit details
    Browse the repository at this point in the history
  10. Fix compile issues

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    3737e3e View commit details
    Browse the repository at this point in the history
  11. Fix compile

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    9a0fec3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    24bfa4f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    78b6ccf View commit details
    Browse the repository at this point in the history
  14. Non-constant indices for xarch

    - Implement non-constant indices handling for Shuffle & ShuffleUnsafe for all type sizes on xarch
    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    71804b7 View commit details
    Browse the repository at this point in the history
  15. FIx compile errors

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f67169d View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    62888b0 View commit details
    Browse the repository at this point in the history
  17. Update gentree.cpp

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    40cfed7 View commit details
    Browse the repository at this point in the history
  18. Fix build issues for tests

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    85db8bb View commit details
    Browse the repository at this point in the history
  19. Fix tests again

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    0bf77ff View commit details
    Browse the repository at this point in the history
  20. Update Vector128Tests.cs

    hamarb123 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    142f7ee View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    64f1ec9 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    243d6a0 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Fix some bugs

    hamarb123 committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    9f169fa View commit details
    Browse the repository at this point in the history
  2. Fix formatting

    hamarb123 committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    e038767 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Configuration menu
    Copy the full SHA
    e5b501b View commit details
    Browse the repository at this point in the history
  2. Fix bugs

    hamarb123 committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    ab94fb3 View commit details
    Browse the repository at this point in the history
  3. Fix formatting

    hamarb123 committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    08f4a51 View commit details
    Browse the repository at this point in the history
  4. Update gentree.cpp

    hamarb123 committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    cdb928f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fb790a3 View commit details
    Browse the repository at this point in the history
  6. Update gentree.cpp

    hamarb123 committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    5658b0f View commit details
    Browse the repository at this point in the history
  7. Fix shift usage

    hamarb123 committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    a8490ed View commit details
    Browse the repository at this point in the history