-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
try regMask to unsigned __int128 for linux/arm64 #94589
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsJust to see the TP impact
|
// | ||
uint32_t BitOperations::PopCount(unsigned __int128 value) | ||
{ | ||
return BitOperations::PopCount(static_cast<uint64_t>(value)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return BitOperations::PopCount(static_cast<uint64_t>(value)); | |
return BitOperations::PopCount(static_cast<uint64_t>(value >> 64)) + BitOperations::PopCount(static_cast<uint64_t>(value)); |
Shouldn't this check all the bits?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should. Currently, since we just use 64-bits, I want to quickly prototype and see the TP impact of changing the regMaskTP
data type to 128-bits. I will be cleaning few things here and other places (e.g. BitScanForward
) before marking it "ready for review".
This sounds like a JIT bug. The JIT's allocator needs to guarantee 16 byte alignment for types with |
yes, we have this today that could change. // Ensure that we always allocate in pointer sized increments.
size = roundUp(size, sizeof(size_t)); But from what I am discovering, this will impact memory consumption a lot. E.g. |
Makes sense... Yeah, it does sound expensive. On a side note having such a mask in |
Exactly my thought when I noticed |
I will work on a different idea of splitting |
Just to see the TP impact