-
Notifications
You must be signed in to change notification settings - Fork 289
More altivec intrinsics #1443
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
More altivec intrinsics #1443
Conversation
r? @Amanieu (rustbot has picked a reviewer for you, use r? to override) |
e430d84
to
8a92242
Compare
The inlining issue happens because the PowerPC LLVM backend doesn't implement Note that |
We could have |
@Amanieu I believe https://reviews.llvm.org/D150396 will not allow inlining with incompatible target features even if alwaysinline is specified. |
Mark wrapped intrinsics as inline(always) This should mitigate having the inliner decide not to inline when the architecture is lacking an implementation of TargetTransformInfo::areInlineCompatible aware of the target features (e.g. PowerPC as today). See rust-lang/stdarch#1443 (comment)
Considering the upcoming LLVM changes, I think it's fine to merge with the current workaround. Ideally we'll want a proper implementation of |
Mark wrapped intrinsics as inline(always) This should mitigate having the inliner decide not to inline when the architecture is lacking an implementation of TargetTransformInfo::areInlineCompatible aware of the target features (e.g. PowerPC as today). See rust-lang/stdarch#1443 (comment)
vec_xl
contains an ugly workaround sincecopy_nonoverlapping
is not correctly inlined.