[PATCH] D18701: [ARM] Adding IEEE-754 SIMD detection to loop vectorizer

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 05:17:49 PDT 2016


rengolin added inline comments.

================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:4714
@@ +4713,3 @@
+      // non-IEEE-754 compliant SIMD units.
+      } else if (it->getType()->isFloatingPointTy() &&
+                (it->isBinaryOp() || it->isCast()) &&
----------------
ashutosh.nema wrote:
> You may want to set unsafe flag for some of the intrinsics as well.
> i.e. intrinsic like minnum, maxnum are floating point unsafe and 
> follows IEEE-754 semantics. 
> 
Hum, that's a good point.

But I don't want to be listing specific intrinsics if the list is not *very* short, or completely target independent.

Maybe I should just be safe and do that for all FP operations except move, load and store?


http://reviews.llvm.org/D18701





More information about the llvm-commits mailing list