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

Tweaks to the SME2 intrinsics #278

Merged
merged 1 commit into from
Nov 27, 2023

Commits on Nov 22, 2023

  1. Tweaks to the SME2 intrinsics

    This patch makes a few tweaks to the SME2 intrinsics:
    
    *   The type suffix of the SME2 svread* intrinsics needs to be
        explicit (non-optional), since there is no merge input that
        can be used to infer it.
    
    *   The zn argument to the svluti* intrinsics is a collection of
        2-bit and 4-bit quantities, so it doesn't have a natural element
        size or signedness.  It seems better to keep it as svuint8_t for
        all variants.
    
    *   Because of that, there is no argument that implies the return
        type of the svluti* intrinsics, so the type suffix needs to be
        explicit.  Also, since the instruction performs a bag-of-bits
        lookup, it makes sense to have floating-point variants too.
    
    *   The ZA slice forms of svread* and svwrite* are likewise
        bag-of-bits moves, so we can provide alternatives for all
        element types.
    
    *   arm_neon.h shift-by-immediate instructions use an _n suffix
        to indicate that the shift amount is scalar.  arm_sve.h
        carried this across to the full/non-overloaded forms of SVE
        immediate shifts.  It seems worth doing the same here for
        consistency, and to protect against vector-vector forms
        being added in future.
    rsandifo-arm committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    250b019 View commit details
    Browse the repository at this point in the history