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

[mono] Enable arm64 intrinsic tests #48397

Merged
merged 22 commits into from
Mar 2, 2021

Conversation

imhameed
Copy link
Contributor

@imhameed imhameed commented Feb 17, 2021

This change:

  • Removes base from the list of LLVM-style attributes supported by the AOT
    compiler.

  • Adds another icall that raises a PlatformNotSupportedException, and bumps
    the AOT file format version number.

  • Makes unsupported intrinsics raise a PlatformNotSupportedException
    regardless of the codegen backend used: AOT/JIT/interpreter, mini/LLVM.

  • Enables formerly-disabled tests in JIT/HardwareIntrinsics/Arm/**/*.

  • Incrementally consolidates duplicated arm64/amd64 intrinsics-handling code.
    Intrinsic "group" lookup is now table-driven, and most hardware intrinsic
    lookup logic happens in one place.

@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch from 2d5c210 to c05e4af Compare February 17, 2021 11:47
@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch from 72d0d5e to 8b47a48 Compare February 17, 2021 19:19
@imhameed imhameed added area-Codegen-LLVM-mono runtime-mono specific to the Mono runtime and removed area-Codegen-JIT-mono labels Feb 17, 2021
@imhameed imhameed marked this pull request as ready for review February 17, 2021 22:36
@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch 3 times, most recently from 10c4bfc to 13c34a0 Compare February 17, 2021 23:35
@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch from 710ab1b to 1e5d147 Compare February 18, 2021 12:56
@imhameed
Copy link
Contributor Author

The arm64 failures are relevant, although I haven't (yet) reproduced the exact same failure on an actual arm64 Linux machine

@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch 2 times, most recently from 620bc18 to bd1e26f Compare February 18, 2021 21:36
@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch from bd1e26f to b760ded Compare February 26, 2021 18:25
Base automatically changed from master to main March 1, 2021 09:07
Copy link
Member

@lambdageek lambdageek left a comment

Choose a reason for hiding this comment

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

LGTM, but I'm not an intrinsics expert

imhameed and others added 22 commits March 2, 2021 08:06
…ume base/crc/crypto/simd for arm64 and sse-sse4.2/popcnt/lzcnt/bmi/bmi2 for amd64
…translating an intrinsic that is unimplemented. Eagerly fail to translate Vector64 AdvSimd.Abs. Bump MONO_AOT_FILE_VERSION, as suggested by jit-icall-reg.h
This reverts commit a6b13de141adc462de901182d1ca123010842dba.
…otSupportedException for recursive calls outside of functions contained within intrinsic-related namespaces/classes
@imhameed imhameed force-pushed the mono-enable-arm64-intrinsics-tests branch from b2d0d5d to ed0fa19 Compare March 2, 2021 16:06
@imhameed imhameed merged commit e348011 into dotnet:main Mar 2, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Apr 1, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Codegen-LLVM-mono runtime-mono specific to the Mono runtime
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants