dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.85k stars 4.62k forks source link

Have more C++ intrinsics usage in runtime and JIT #69401

Open kunalspathak opened 2 years ago

kunalspathak commented 2 years ago

We should start adding more C++ intrinsics helper methods and start consuming them in runtime and JIT codebase for throughput increase. E.g. https://github.com/dotnet/runtime/pull/69333 changes the genLog2() implementation of Arm64 to use BitScanForward.

category:implementation theme:throughput skill-level:intermediate cost:medium impact:small

ghost commented 2 years ago

Tagging subscribers to this area: @JulieLeeMSFT See info in area-owners.md if you want to be subscribed.

Issue Details
We should start adding more C++ intrinsics helper methods and start consuming them in runtime and JIT codebase for throughput increase. E.g. https://github.com/dotnet/runtime/pull/69333 changes the `genLog2()` implementation of Arm64 to use [BitScanForward](https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64?view=msvc-170).
Author: kunalspathak
Assignees: -
Labels: `area-CodeGen-coreclr`
Milestone: -