riscv/riscv-isa-manual

Clarify the ordering of Ztso in ISA Extension Naming Conventions

cyyself opened this issue · 3 comments

Since Ztso belongs to Standard Extension, the description of the ordering of this extension in the current manual is:

The first letter following the "Z" conventionally indicates the most
closely related alphabetical extension category, IMAFDQCVH. For the
"Zfa" extension for additional floating-point instructions, for example, the letter "f"
indicates the extension is related to the "F" standard extension. If
multiple "Z" extensions are named, they should be ordered first by
category, then alphabetically within a category—for example,
"Zicsr_Zifencei_Zam".

In this case, the Zicsr and Zifencei are categorized as Additional Integer Standard Extension since they appear before Zam in Additional Atomic Extension. Thus, the order of "IMAFDQCVH" is correct.

However, the ISA naming table shows Ztso there. But 'T' is not in the "IMAFDQCVH" ordering string.

Also, other extensions like B (Bitmanip) and P (Packed-SIMD) are not in the naming string.

I want to fix it, but I need to know where to place T for Ztso.

I proposed a draft PR #1391, which categorized Ztso and any other extensions that do not relate to any alphabetical
extension category as the "others" category and placed it in the last place among the ordering of all Z* extensions.

There is another concern about T extension standards for transactional memory. Since TSO memory ordering is not related to transactional memory, can we reuse the canonical order defined in RISC-V Linux User ABI? If yes, I think the PR #1391 is OK now.

Fixed in #1391