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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to