[PATCH] D66524: [SVE][Inline-Asm] Add constraints for SVE predicate registers
Kerry McLaughlin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 10 05:38:56 PDT 2019
kmclaughlin marked 3 inline comments as done.
kmclaughlin added inline comments.
================
Comment at: docs/LangRef.rst:3818
+- ``Upl``: One of the low eight SVE predicate registers (P0 to P7)
+- ``Upa``: Any of the SVE predicate registers (P0 to P15)
----------------
greened wrote:
> What do these names mean? "<something> predicate lower|all?" I see they are the names used in gcc, so I guess it makes sense to use them here. Are these names used in the SVE architecture manual somewhere? I cannot find them.
The length of the constraint depends on the first letter, and for AArch64 'U' was chosen to indicate a 3-letter constraint. These are not in the SVE architecture manual as they are only for compatibility with GCC inline asm (see https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints)
================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:5747
+
+PredicateConstraint isPredicateConstraint(StringRef Constraint) {
+ PredicateConstraint P = PredicateConstraint::Invalid;
----------------
greened wrote:
> rovka wrote:
> > Nit: I think get- or parsePredicateConstraint reads better, since this doesn't return a simple yes/no answer.
> +1.
Thanks for the suggestion @rovka - I have changed this to parsePredicateConstraint
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66524/new/
https://reviews.llvm.org/D66524
More information about the cfe-commits
mailing list