-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Consolidate implementation of Rotate and PopCount #22584
Conversation
|
@dotnet-bot test this please |
|
@dotnet-bot test coreclr-ci (Build Linux arm debug) please |
|
/azp run coreclr-ci |
|
/azp run |
|
Lots of infra failures |
|
Based on my conversation with Azure Devops folks, you have to be collaborator in order to be able to trigger builds from comments, I think contributors can't do it yet 😢 |
|
/azp run coreclr-ci |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@dotnet-bot test OSX10.12 x64 Checked Innerloop Build and Test please |
|
@safern Are you able to make sense of all the failing Azure Pipelines tasks on this PR? Are they all infrastructure issues? |
|
@dotnet-bot test Windows_NT x64 Release CoreFX Tests please |
|
This last check is failing on a ping test, which sounds like infra. Hopefully it goes through this time |
|
Thanks! |
|
Thanks again @jkotas, once again the feedback is appreciated. Always something new to learn here. |
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Signed-off-by: dotnet-bot <[email protected]>
* Perf: BitOps.LeadingZeroCount * Remove redundant MSIL cast, conv.u8 * Use local functions for SoftwareFallback * Target BIT32/64 Commit migrated from dotnet/coreclr@b4f99f2
RotateLeft, RotateRight
There are several implementations of
RotateLeftandRotateRightin the stack.BitOpsmethods pass unitsUnlike the related PRs (LZCNT, TZCNT) where the goal was to fix & optimize the code,
the benefits here are:
Note related JIT optimization which makes all such methods pseudo-intrinsic: #1830
PopCount
For
PopCount, the goal is to:TrailingZeroCount
TrailingZeroCountrelated to MSIL generation (removing redundantconv.u8)cc @tannergooding