-
Notifications
You must be signed in to change notification settings - Fork 289
Support ARM crypto extension on A32/T32 #929
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
r? @Amanieu (rust_highfive has picked a reviewer for you, use r? to override) |
@@ -40,6 +54,7 @@ use stdarch_test::assert_instr; | |||
/// AES single round encryption. | |||
#[inline] | |||
#[target_feature(enable = "crypto")] | |||
#[cfg_attr(target_arch = "arm", target_feature(enable = "v8"))] |
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.
Is the v8
feature actually required here? Does it work without this feature?
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.
Is the
v8
feature actually required here? Does it work without this feature?
Yes, v8
feature is required since this is ARMv8 feature. If this is v7
or nothing, this causes LLVM ERROR: Cannot select: intrinsic %llvm.arm.neon.aese
.
Per #1003, it looks like this PR potentially broke the crypto extension on |
It doesn't seem like there's any problem at all with using them: https://rust.godbolt.org/z/r4Yhdn Maybe it's just a rustdoc bug? |
Huh wow, strange! |
Seems plausible. I guess #1003 can be closed as a dup then? |
ARM Crypto Extensions supports on aarch32 too. So we should allow this intrinsics on arm.