-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[compiler-rt][AArch64][FMV] Use the hw.optional.arm.caps fast path #95275
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
Conversation
…en available. MacOS 15.0 and iOS 18.0 added a new sysctl to fetch a bitvector of all the hw.optional.arm.FEAT_*'s in one go. Using this has a perf advantage over doing multiple round-trips to the kernel and back, but since it's not present in older oses, we still need the slow fallback.
✅ With the latest revision this PR passed the C/C++ code formatter. |
CHECK_BIT(CAP_BIT_FEAT_I8MM, FEAT_I8MM); | ||
CHECK_BIT(CAP_BIT_FEAT_DIT, FEAT_DIT); | ||
CHECK_BIT(CAP_BIT_FEAT_FP16, FEAT_FP16); | ||
CHECK_BIT(CAP_BIT_FEAT_SSBS, FEAT_SSBS2); |
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.
As I said on the other review SSBS2 implies SSBS.
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.
Looks good. I noticed MTE/2 are missing, perhaps other features too? Is that deliberate?
Note that |
Oops. Thanks. I'll put up another PR. |
…lvm#95275) MacOS 15.0 and iOS 18.0 added a new sysctl to fetch a bitvector of all the hw.optional.arm.FEAT_*'s in one go. Using this has a perf advantage over doing multiple round-trips to the kernel and back, but since it's not present in older oses, we still need the slow fallback.
MacOS 15.0 and iOS 18.0 added a new sysctl to fetch a bitvector of all the hw.optional.arm.FEAT_*'s in one go. Using this has a perf advantage over doing multiple round-trips to the kernel and back, but since it's not present in older oses, we still need the slow fallback.