Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

Add missing overloads of hardware intrinsic #32370

Merged
merged 2 commits into from
Sep 25, 2018
Merged

Add missing overloads of hardware intrinsic #32370

merged 2 commits into from
Sep 25, 2018

Conversation

fiigii
Copy link
Contributor

@fiigii fiigii commented Sep 20, 2018

@fiigii
Copy link
Contributor Author

fiigii commented Sep 22, 2018

@dotnet-bot test this please

@fiigii
Copy link
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
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
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
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
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
Contributor Author

fiigii commented Sep 24, 2018

@jkotas Thank you so much! Will try.

@morganbr
Copy link

@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
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
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