imkiva wrote:

> Is this the API we want?  This looks very similar to rounding modes (see 
> https://reviews.llvm.org/D113439 / https://reviews.llvm.org/D121376 / etc.)



Thanks, this is the right precedent to look at. I agree using arbitrary
stateful IR to model the semantics of future matrix operations would not be the
right long-term direction, similar to the VXRM discussion.

My intent in this PR is narrower: these intrinsics implement the spec-defined C
configuration/query API. In particular, `llvm.riscv.ime.vsetlambda.nonzero` is
only a backend primitive for the nonzero arm of `__riscv_vsetlambda`; Clang
emits a separate `readlambda` path for `requested_lambda == 0`, because that
case is a read-only query.

For future IME matrix operation intrinsics/codegen, I agree we should not rely
on a hidden selected-lambda IR state. Those operations should carry the required
IME configuration, such as lambda/altfmt/bs, explicitly on the intrinsic or
pseudo, and a target pass should materialize/coalesce the corresponding vtype
high-field updates, analogous to the VXRM rounding-mode model.

https://github.com/llvm/llvm-project/pull/203774
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to