rjmccall added inline comments.
================ Comment at: clang/docs/MatrixTypes.rst:29 +A *matrix element type* must be a real type (as in C99 6.2.5p17) excluding +enumeration types or an implementation-defined half-precision floating point +type, otherwise the program is ill-formed. ---------------- fhahn wrote: > SjoerdMeijer wrote: > > Now I am wondering if this requires some explanations on binary operations > > for these implemenation-defined types? For example, for `__fp16` and > > matrices with this `__fp16` element type, I assume arithmetic is performed > > in at least the (single) floating-point precision. So I guess in section > > "Arithmetic Conversions" a rule needs to be added that the conversion of > > these implementation defined types need to performed? > > > I don't think we need to specifically discuss the implementation defined > types here, as the conversions and binary operator definitions are framed in > terms of the existing rules for the element types used. I am potentially > missing something, but with the current wording the conversions for `__fp16` > would use the conversion rules for that type and the binary operators would > use the arithmetic rules for it. Yeah, for the scalar conversions / scalar operands, you should just say that the source has to be a real type and not otherwise restrict it. All of those types should already be convertible to any matrix element type. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76612/new/ https://reviews.llvm.org/D76612 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits