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
