[PATCH] D53927: [AArch64] Enable libm vectorized functions via SLEEF

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 15 02:37:20 PST 2019

rengolin added a comment.

Thanks for your answers, they make sense. Other than the mistake I made on disabling exp calls (you were right), looks fine.

Comment at: lib/Analysis/TargetLibraryInfo.cpp:368
-    TLI.setUnavailable(LibFunc_exp10);
-    TLI.setUnavailable(LibFunc_exp10f);
-    TLI.setUnavailable(LibFunc_exp10l);
+    if (T.getArch() != Triple::aarch64) {
+      TLI.setUnavailable(LibFunc_exp10);
steleman wrote:
> rengolin wrote:
> > This would probably fail in many non-Arm64 arches, too. 
> > 
> > Best to restrict to what this was meant for, which I'm guessing is x86.
> I am a bit worried about this one. The original set exp10|exp10f|exp10l as unavailable on all arches. I originally enabled these functions for AArch64 only.
> If we restrict this to x86|x86_64 only, then these functions will become available
> on MIPS, PPC, PPC64, etc. I have no way of testing these ISA's to determine if they're broken or not. 
> So I disabled these functions for x86|x86_64 only. Let me know if you'd like to revert this to the original, which was to enable them on AArch64 only.
My bad, I read it the other way round. Your original patch was correct.



More information about the llvm-commits mailing list