[PATCH] D65884: [ARM] MVE Tail Predication

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 8 00:07:54 PDT 2019


dmgreen added a comment.

First up, patch context! Everyone seems to be forgetting recently :)

Why does the llvm_arm_vctp32 not return a <4xi1> directly? I didn't understand the "from a software and hardware perspective, is a 16-bit scalar", or at least why that would matter in IR. Would it not just be represented as a vector of i1's? As it already is for cmps/selects for example. What does having to use the separate conversion help with?



================
Comment at: include/llvm/IR/IntrinsicsARM.td:785
+
+def int_arm_mve_convert_pred : Intrinsic<[llvm_anyvector_ty], [llvm_i32_ty],
+                                         [IntrNoMem]>;
----------------
This, at least in isel, is called a PREDICATE_CAST. (It used to be called a REINTERPRET_CAST, but I thought that name was overly broad). I think from IR a better name might be int_arm_mve_vmsr / int_arm_mve_vmrs, to represent that it is converting from a predicate to the scalar, as the instruction does.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65884/new/

https://reviews.llvm.org/D65884





More information about the llvm-commits mailing list