Skip to content

API Proposal : Arm64 Load & Store #24771

@sdmaclea

Description

@sdmaclea

Edit: Removed StaticCast as that is handled by Vector128.As*. Kept the Load/Store APIs as generic with note that the actual implementation is exploded and supports all 10 primitive types

namespace System.Runtime.Intrinsics.Arm
{
    public abstract class AdvSimd 
    {
        public abstract class Arm64
        {
            /// <summary>
            /// Vector load
            ///
            /// Corresponds to vector form of ARM64 LDR
            /// </summary>
            public static unsafe Vector64<T>  LoadVector64<T>(void* address) where T : struct { throw null; }
            public static unsafe Vector128<T> LoadVector128<T>(void* address) where T : struct { throw null; }
    
            /// <summary>
            /// Vector store
            ///
            /// Corresponds to vector form of ARM64 STR
            /// </summary>
            public static unsafe void Store<T>(void* address, Vector64<T>  source) where T : struct { throw null; }
            public static unsafe void Store<T>(void* address, Vector128<T> source) where T : struct { throw null; }
        }
    }
}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions