[PATCH] D77597: [SveEmitter] Add ExpandOp1SVALL and builtin for svptrue

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 16 15:37:55 PDT 2020


efriedma added inline comments.


================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:7683
+    if (TypeFlags.isExpandOp1SVALL()) {
+      if (Ops.size() <= 1)
+        Ops.push_back(Builder.getInt32(31));
----------------
sdesmalen wrote:
> efriedma wrote:
> > The `Ops.size() <= 1` seems to return the same result for all the intrinsics you're implementing now. Does it become relevant later?
> Yes that's right, this is there for the saturating inc/dec intrinsics, e.g.
> 
> There is the one that takes a predicate pattern:
> ```int32_t svqdecb_pat[_n_s32](int32_t op, svpattern pattern, uint64_t imm_factor)```
> 
> and one where the pattern SV_ALL is implicit (and inserted as the second operand):
> ```int32_t svqdecb[_n_s32](int32_t op, uint64_t imm_factor)```
I think it would be more clear to use a separate flag for that, so it's obvious what codepaths in EmitAArch64SVEBuiltinExpr actually correspond to particular intrinsics.


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

https://reviews.llvm.org/D77597





More information about the cfe-commits mailing list