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][LLVM][ARM] Implemented Arm64 Abs intrinsic #47482

Merged
merged 2 commits into from
Jan 27, 2021

Conversation

naricc
Copy link
Member

@naricc naricc commented Jan 26, 2021

Implements AdvSimd.Abs intrinsic on arm64 with LLVM.

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 26, 2021
@naricc naricc changed the title Implemented Arm64 Abs intrinsic [Mono][LLVM][ARM] Implemented Arm64 Abs intrinsic Jan 26, 2021
@naricc naricc removed the request for review from CoffeeFlux January 26, 2021 19:03
break;
case INTRINS_ADV_SIMD_ABS_INT64:
intrins = add_intrins1 (module, id, sse_i8_t);
break;
Copy link
Member

Choose a reason for hiding this comment

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

The whole function looks like the work to define signatures for intrinsics could be done via macros in llvm-intrinsics.h instead.

Copy link
Member Author

Choose a reason for hiding this comment

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

Do we have macros to do this type of thing, or were you suggesting I create some? I would have think think a little about how to do it; this function predates my changes and would need some reworking.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, I mean in general, if you want to eventually implement the full set of intrinsics it makes sense to minimize verbosity of the changes.

src/mono/mono/mini/simd-intrinsics-netcore.c Outdated Show resolved Hide resolved
src/mono/mono/mini/simd-intrinsics-netcore.c Outdated Show resolved Hide resolved
src/mono/mono/mini/simd-intrinsics-netcore.c Outdated Show resolved Hide resolved
src/mono/mono/mini/simd-intrinsics-netcore.c Outdated Show resolved Hide resolved
Copy link
Member

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

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

LGTM. So this is the first AdvSimd.Arm64 API that is being supported in mono?

@naricc
Copy link
Member Author

naricc commented Jan 27, 2021

@kunalspathak

LGTM. So this is the first AdvSimd.Arm64 API that is being supported in mono?

Yes. I am working on implement more; the issue listing them all is here: #42266

@kunalspathak
Copy link
Member

Yes. I am working on implement more; the issue listing them all is here: #42266

Got it. I have added a reference to the documentation that I worked few months back to explain what every AdvSimd.Arm64 intrinsic API does. In case it is helpful to you or anyone working on this feature.

https://kunalspathak.github.io/tags/#intrinsics

@naricc naricc merged commit f638a75 into dotnet:master Jan 27, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Feb 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
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.

None yet

6 participants