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

[Arm64] Add ASIMD pairwise reduce instructions #32277

Merged
merged 9 commits into from
Feb 14, 2020

Conversation

echesakov
Copy link
Contributor

@echesakov echesakov commented Feb 14, 2020

This adds the following Arm64 instructions:

  • fmaxp
  • fmaxnm
  • fmaxnmp
  • fmaxnmv
  • fmaxv
  • fminp
  • fminnm
  • fminnmp
  • fminnmv
  • fminv
  • smaxp
  • sminp
  • umaxp
  • uminp

I validate that the encodings are right by comparing the output of JIT dump with WinDbg u and ALL_ARM64_EMITTER_UNIT_TESTS macro defined.

In addition, I fixed the emitter tests for smaxv, sminv, umaxv, uminv, trn1, trn2, uzp1, uzp2, zip1, zip2.

@echesakov echesakov changed the title Arm64 pairwise reduce instructions [Arm64] Add ASIMD pairwise reduce instructions Feb 14, 2020
@echesakov echesakov added arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Feb 14, 2020
@echesakov
Copy link
Contributor Author

@dotnet/jit-contrib PTAL

@echesakov echesakov marked this pull request as ready for review February 14, 2020 16:54
Copy link
Contributor

@briansull briansull left a comment

Choose a reason for hiding this comment

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

Looks Good

@echesakov
Copy link
Contributor Author

After multiple attempts to retry runtime (Libraries Test Run checked coreclr OSX x64 Debug) continues failing with

/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : The response contained an invalid status code 404 Not Found [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error :  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : Body:  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : The response contained an invalid status code 404 Not Found [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error :  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : Body:  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : The response contained an invalid status code 404 Not Found [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error :  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]
/Users/runner/runners/2.164.8/work/1/s/.packages/microsoft.dotnet.helix.sdk/5.0.0-beta.20112.7/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(60,5): error : Body:  [/Users/runner/runners/2.164.8/work/1/s/src/libraries/sendtohelix.proj]

@dotnet/runtime-infrastructure Is this a known/tracked issue?

When I tried to open some of the links in the failure log I got either

Executed on dci-mac-build-042.local
/bin/sh: /tmp/helix/working/C9EB0ADC/p/scripts/bbb19dec871d44408dab06396740fd38/execute.sh: Permission denied

or 404 error.

I am merging this change anyway since it doesn't affect x64 side of runtime.

@echesakov echesakov merged commit 28054c6 into dotnet:master Feb 14, 2020
@echesakov echesakov deleted the Arm64-Pairwise-Reduce-Instructions branch February 14, 2020 21:22
@trylek
Copy link
Member

trylek commented Feb 14, 2020

I believe @ViktorHofer mentioned earlier today there's a known "permission denied" issue hitting OSX runs overall.

@safern
Copy link
Member

safern commented Feb 14, 2020

Yeah, that issue is tracked here: https://github.com/dotnet/core-eng/issues/8971

@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants