[PATCH] D82553: [ARM] Allow rounding intrinsics to be tail predicated
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 26 05:56:50 PDT 2020
dmgreen added inline comments.
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:271
LLVM_FALLTHROUGH;
case Intrinsic::fma:
case Intrinsic::sadd_sat:
----------------
fma can go into the float block too.
================
Comment at: llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-round.ll:229
+; nearbyint shouldn't be tail predicated because it's lowered into multiple instructions
+define arm_aapcs_vfpcc void @nearbyint(i32* noalias nocapture %dst, float* noalias nocapture readonly %src, i32 %n) #0 {
+; CHECK-LABEL: nearbyint:
----------------
You can use the same test code as floor, for example, but with floor replaced by nearbyint. This won't test that the vecotrizer does or doesn't tail predicate it, but will test that we expand to something non-tail predicated still.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82553/new/
https://reviews.llvm.org/D82553
More information about the llvm-commits
mailing list