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

Add missing overloads of hardware intrinsic#32370

Merged
stephentoub merged 2 commits into
dotnet:masterfrom
fiigii:missapis
Sep 25, 2018
Merged

Add missing overloads of hardware intrinsic#32370
stephentoub merged 2 commits into
dotnet:masterfrom
fiigii:missapis

Conversation

@fiigii
Copy link
Copy Markdown
Contributor

@fiigii fiigii commented Sep 20, 2018

@fiigii
Copy link
Copy Markdown
Contributor Author

fiigii commented Sep 22, 2018

@dotnet-bot test this please

@fiigii
Copy link
Copy Markdown
Contributor Author

fiigii commented Sep 24, 2018

@dotnet-bot test NETFX x86 Release Build
@dotnet-bot test Packaging All Configurations x64 Debug Build

public static unsafe Vector128<int> BroadcastScalarToVector128(int* source) { throw null; }
public static unsafe Vector128<uint> BroadcastScalarToVector128(uint* source) { throw null; }
public static unsafe Vector128<long> BroadcastScalarToVector128(long* source) { throw null; }
public static unsafe Vector128<ulong> BroadcastScalarToVector128(ulong* source) { throw null; }
Copy link
Copy Markdown
Contributor

@4creators 4creators Sep 24, 2018

Choose a reason for hiding this comment

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

Why are we not having double* and single* overloads as well. Broadcast is type agnostic what matters is operand size. Nevermind, this is Avx2

public static Vector256<int> BlendVariable(Vector256<int> left, Vector256<int> right, Vector256<int> mask) { throw null; }
public static Vector256<uint> BlendVariable(Vector256<uint> left, Vector256<uint> right, Vector256<uint> mask) { throw null; }
public static Vector256<long> BlendVariable(Vector256<long> left, Vector256<long> right, Vector256<long> mask) { throw null; }
public static Vector256<ulong> BlendVariable(Vector256<ulong> left, Vector256<ulong> right, Vector256<ulong> mask) { throw null; }
Copy link
Copy Markdown
Contributor

@4creators 4creators Sep 24, 2018

Choose a reason for hiding this comment

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

Why are we not having double and single overloads as well. BlendVariable is type agnostic what matters is operand size. Nevermind this is Avx2.

@fiigii
Copy link
Copy Markdown
Contributor Author

fiigii commented Sep 24, 2018

@tannergooding @jkotas The "Packaging All Configurations x64 Debug Build" seems to need more work than adding new API surface? Could you help?

@jkotas
Copy link
Copy Markdown
Member

jkotas commented Sep 24, 2018

@morganbr I do not think we need to be running the API baseline checks for the netcoreappaot configuration. They cause extra busy work for folks adding new APIs. The situations like above are happening several times a week. The fix is always to just add the missing APIs to the baseline, so it is not really adding any value.

@fiigii Could you please try to fix this break by changing https://github.com/dotnet/corefx/blob/master/Directory.Build.props#L103 to <RunApiCompat Condition="'$(TargetGroup)' != 'netcoreappaot'">true</RunApiCompat> ?

@fiigii
Copy link
Copy Markdown
Contributor Author

fiigii commented Sep 24, 2018

@jkotas Thank you so much! Will try.

@morganbr
Copy link
Copy Markdown

@jkotas, if we don't run it, I think that means we'll be breaking the netcoreappaot build regularly. Additionally, if the API in question isn't in netcoreappaot, it's probably also missing from uapaot, so something needs to be ported or baselined anyway.

CC @ericstj

@jkotas
Copy link
Copy Markdown
Member

jkotas commented Sep 24, 2018

if the API in question isn't in netcoreappaot, it's probably also missing from uapaot

There are many APIs that are in netcoreappaot, but not in uapaot. For example, System.Runtime.Intrinsics that is actively being worked on.

I am not suggesting to disable the baseline checked for uapaot.

@fiigii
Copy link
Copy Markdown
Contributor Author

fiigii commented Sep 24, 2018

@dotnet-bot test this please

@stephentoub stephentoub merged commit 581627f into dotnet:master Sep 25, 2018
@fiigii fiigii deleted the missapis branch October 3, 2018 21:43
@karelz karelz added this to the 3.0 milestone Oct 8, 2018
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
* Add missing overloads of hardware intrinsic

* disable API baseline checks for the netcoreappaot


Commit migrated from dotnet/corefx@581627f
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.

7 participants