Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Move the various helper intrinsics to be implemented on the S.R.Intrinsics.Vector types#33302

Merged
tannergooding merged 3 commits into
dotnet:masterfrom
tannergooding:helper-intrinsics
Nov 10, 2018
Merged

Move the various helper intrinsics to be implemented on the S.R.Intrinsics.Vector types#33302
tannergooding merged 3 commits into
dotnet:masterfrom
tannergooding:helper-intrinsics

Conversation

@tannergooding
Copy link
Copy Markdown
Member

This is the CoreFX side to dotnet/coreclr#20147


namespace System.Runtime.Intrinsics
{
public static class Vector64
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likely the only thing worth noting is that for double, long, and ulong, only the Create(T value) overload is given. The CreateScalar and CreateScalarUnsafe would do the same thing, since the Vector64<T> can only hold a single element of these types.

private readonly int _dummy;
private readonly int _dummy;
public static Vector64<T> Zero { get { throw null; } }
public Vector64<U> As<U>() where U : struct { throw null; }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed why this uses : struct instead of : unmanaged - mainly to allow wider use within the ecosystem. Makes sense.

Comment thread src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs Outdated
Comment thread src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs Outdated
Comment thread src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs Outdated
Copy link
Copy Markdown
Member

@GrabYourPitchforks GrabYourPitchforks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested some renamings, otherwise LGTM.

@tannergooding tannergooding merged commit 91bad8d into dotnet:master Nov 10, 2018
@karelz karelz added this to the 3.0 milestone Nov 15, 2018
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…nsics.Vector types (dotnet/corefx#33302)

* Move the various helper intrinsics to be implemented on the S.R.Intrinsics.Vector types

* Expose 64-bit only hardware intrinsic in nested classes

* Updating the System.Runtime.Intrinsics ApiCompatBaseline for netcoreappaot


Commit migrated from dotnet/corefx@91bad8d
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants