Skip to content

Commit a9acb52

Browse files
a4lgAmanieu
authored andcommitted
reword RISC-V feature documentation
As the version 20240411 of the RISC-V ISA Manual changed wording to describe many of the standard extensions, this commit largely follows this scheme in general. In many cases, words "Standard Extension" are replaced with "Extension" following the latest ratified ISA Manual. Some RISC-V extensions had tentative summary but it also fixes that (e.g. "Zihintpause"). Following extensions are described in parity with corresponding extensions using floating-point registers: * "Zfinx" Extension for Single-Precision Floating-Point in Integer Registers * "Zdinx" Extension for Double-Precision Floating-Point in Integer Registers * "Zhinx" Extension for Half-Precision Floating-Point in Integer Registers * "Zhinxmin" Extension for Minimal Half-Precision Floating-Point in Integer Registers Following extensions are named against the ISA Manual naming but considered inconsistency inside the ISA manual: * "Zfhmin" Extension for Minimal Half-Precision Floating-Point ISA Manual: "Zfhmin" Standard Extension for Minimal Half-Precision Floating-Point * "V" Extension for Vector Operations ISA Manual: "V" Standard Extension for Vector Operations Following extension is removed from the latest ratified ISA Manual but named like others: * "Zam" Extension for Misaligned Atomics "Zb*" extensions are described like "Extension for ..." using partial summary per extension (including cryptography-related "Zbk*" extensions). "Zk*" extensions are described like "Cryptography Extension for ..." using partial summary per extension (e.g. 'Zkne - NIST Suite: AES Encryption' in the ISA Manual to '"Zkne" Cryptography Extension for NIST Suite: AES Encryption') except following extensions: * "Zkr" Entropy Source Extension Following the general rule will make the description redundant. * "Zk" Cryptography Extension for Standard scalar cryptography The last word "extension" is removed as seemed redundant. Link: <https://lf-riscv.atlassian.net/wiki/spaces/HOME/pages/16154769/RISC-V+Technical+Specifications> (ISA Specifications, Version 20240411; published in May 2024)
1 parent 44bb15f commit a9acb52

File tree

1 file changed

+43
-43
lines changed
  • crates/std_detect/src/detect/arch

1 file changed

+43
-43
lines changed

Diff for: crates/std_detect/src/detect/arch/riscv.rs

+43-43
Original file line numberDiff line numberDiff line change
@@ -105,116 +105,116 @@ features! {
105105
106106
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zicsr: "zicsr";
107107
without cfg check: true;
108-
/// "Zicsr", Control and Status Register (CSR) Instructions
108+
/// "Zicsr" Extension for Control and Status Register (CSR) Instructions
109109
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zicntr: "zicntr";
110110
without cfg check: true;
111-
/// "Zicntr", Standard Extension for Base Counters and Timers
111+
/// "Zicntr" Extension for Base Counters and Timers
112112
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zihpm: "zihpm";
113113
without cfg check: true;
114-
/// "Zihpm", Standard Extension for Hardware Performance Counters
114+
/// "Zihpm" Extension for Hardware Performance Counters
115115
116116
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zifencei: "zifencei";
117117
without cfg check: true;
118-
/// "Zifencei" Instruction-Fetch Fence
118+
/// "Zifencei" Extension for Instruction-Fetch Fence
119119
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zihintpause: "zihintpause";
120120
without cfg check: true;
121-
/// "Zihintpause" Pause Hint
121+
/// "Zihintpause" Extension for Pause Hint
122122
123123
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] m: "m";
124-
/// "M" Standard Extension for Integer Multiplication and Division
124+
/// "M" Extension for Integer Multiplication and Division
125125
126126
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] a: "a";
127-
/// "A" Standard Extension for Atomic Instructions
127+
/// "A" Extension for Atomic Instructions
128128
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zam: "zam";
129129
without cfg check: true;
130-
/// "Zam" Standard Extension for Misaligned Atomics
130+
/// "Zam" Extension for Misaligned Atomics
131131
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] ztso: "ztso";
132132
without cfg check: true;
133-
/// "Ztso" Standard Extension for Total Store Ordering
133+
/// "Ztso" Extension for Total Store Ordering
134134
135135
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] f: "f";
136-
/// "F" Standard Extension for Single-Precision Floating-Point
136+
/// "F" Extension for Single-Precision Floating-Point
137137
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] d: "d";
138-
/// "D" Standard Extension for Double-Precision Floating-Point
138+
/// "D" Extension for Double-Precision Floating-Point
139139
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] q: "q";
140140
without cfg check: true;
141-
/// "Q" Standard Extension for Quad-Precision Floating-Point
141+
/// "Q" Extension for Quad-Precision Floating-Point
142142
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zfh: "zfh";
143-
/// "Zfh" Standard Extension for 16-Bit Half-Precision Floating-Point
143+
/// "Zfh" Extension for Half-Precision Floating-Point
144144
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zfhmin: "zfhmin";
145-
/// "Zfhmin" Standard Extension for Minimal Half-Precision Floating-Point Support
145+
/// "Zfhmin" Extension for Minimal Half-Precision Floating-Point
146146
147147
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zfinx: "zfinx";
148-
/// "Zfinx" Standard Extension for Single-Precision Floating-Point in Integer Registers
148+
/// "Zfinx" Extension for Single-Precision Floating-Point in Integer Registers
149149
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zdinx: "zdinx";
150-
/// "Zdinx" Standard Extension for Double-Precision Floating-Point in Integer Registers
150+
/// "Zdinx" Extension for Double-Precision Floating-Point in Integer Registers
151151
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zhinx: "zhinx";
152-
/// "Zhinx" Standard Extension for Half-Precision Floating-Point in Integer Registers
152+
/// "Zhinx" Extension for Half-Precision Floating-Point in Integer Registers
153153
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zhinxmin: "zhinxmin";
154-
/// "Zhinxmin" Standard Extension for Minimal Half-Precision Floating-Point in Integer Registers
154+
/// "Zhinxmin" Extension for Minimal Half-Precision Floating-Point in Integer Registers
155155
156156
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] c: "c";
157-
/// "C" Standard Extension for Compressed Instructions
157+
/// "C" Extension for Compressed Instructions
158158
159159
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zba: "zba";
160-
/// "Zba" Standard Extension for Address Generation Instructions
160+
/// "Zba" Extension for Address Generation
161161
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbb: "zbb";
162-
/// "Zbb" Standard Extension for Basic Bit-Manipulation
162+
/// "Zbb" Extension for Basic Bit-Manipulation
163163
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbc: "zbc";
164-
/// "Zbc" Standard Extension for Carry-less Multiplication
164+
/// "Zbc" Extension for Carry-less Multiplication
165165
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbs: "zbs";
166-
/// "Zbs" Standard Extension for Single-Bit instructions
166+
/// "Zbs" Extension for Single-Bit instructions
167167
168168
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbkb: "zbkb";
169-
/// "Zbkb" Standard Extension for Bitmanip instructions for Cryptography
169+
/// "Zbkb" Extension for Bit-manipulation for Cryptography
170170
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbkc: "zbkc";
171-
/// "Zbkc" Standard Extension for Carry-less multiply instructions
171+
/// "Zbkc" Extension for Carry-less multiplication for Cryptography
172172
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zbkx: "zbkx";
173-
/// "Zbkx" Standard Extension for Crossbar permutation instructions
173+
/// "Zbkx" Extension for Crossbar permutations
174174
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zknd: "zknd";
175-
/// "Zknd" Standard Extension for NIST Suite: AES Decryption
175+
/// "Zknd" Cryptography Extension for NIST Suite: AES Decryption
176176
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zkne: "zkne";
177-
/// "Zkne" Standard Extension for NIST Suite: AES Encryption
177+
/// "Zkne" Cryptography Extension for NIST Suite: AES Encryption
178178
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zknh: "zknh";
179-
/// "Zknh" Standard Extension for NIST Suite: Hash Function Instructions
179+
/// "Zknh" Cryptography Extension for NIST Suite: Hash Function Instructions
180180
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zksed: "zksed";
181-
/// "Zksed" Standard Extension for ShangMi Suite: SM4 Block Cipher Instructions
181+
/// "Zksed" Cryptography Extension for ShangMi Suite: SM4 Block Cipher Instructions
182182
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zksh: "zksh";
183-
/// "Zksh" Standard Extension for ShangMi Suite: SM3 Hash Function Instructions
183+
/// "Zksh" Cryptography Extension for ShangMi Suite: SM3 Hash Function Instructions
184184
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zkr: "zkr";
185-
/// "Zkr" Standard Extension for Entropy Source Extension
185+
/// "Zkr" Entropy Source Extension
186186
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zkn: "zkn";
187-
/// "Zkn" Standard Extension for NIST Algorithm Suite
187+
/// "Zkn" Cryptography Extension for NIST Algorithm Suite
188188
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zks: "zks";
189-
/// "Zks" Standard Extension for ShangMi Algorithm Suite
189+
/// "Zks" Cryptography Extension for ShangMi Algorithm Suite
190190
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zk: "zk";
191-
/// "Zk" Standard Extension for Standard scalar cryptography extension
191+
/// "Zk" Cryptography Extension for Standard scalar cryptography
192192
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zkt: "zkt";
193-
/// "Zkt" Standard Extension for Data Independent Execution Latency
193+
/// "Zkt" Cryptography Extension for Data Independent Execution Latency
194194
195195
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] v: "v";
196-
/// "V" Standard Extension for Vector Operations
196+
/// "V" Extension for Vector Operations
197197
198198
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] svnapot: "svnapot";
199199
without cfg check: true;
200-
/// "Svnapot" Standard Extension for NAPOT Translation Contiguity
200+
/// "Svnapot" Extension for NAPOT Translation Contiguity
201201
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] svpbmt: "svpbmt";
202202
without cfg check: true;
203-
/// "Svpbmt" Standard Extension for Page-Based Memory Types
203+
/// "Svpbmt" Extension for Page-Based Memory Types
204204
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] svinval: "svinval";
205205
without cfg check: true;
206-
/// "Svinval" Standard Extension for Fine-Grained Address-Translation Cache Invalidation
206+
/// "Svinval" Extension for Fine-Grained Address-Translation Cache Invalidation
207207
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] h: "h";
208208
without cfg check: true;
209-
/// Hypervisor Extension
209+
/// "H" Extension for Hypervisor Support
210210
211211
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] s: "s";
212212
without cfg check: true;
213213
/// Supervisor-Level ISA
214214
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] j: "j";
215215
without cfg check: true;
216-
/// "J" Standard Extension for Dynamically Translated Languages
216+
/// "J" Extension for Dynamically Translated Languages
217217
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] p: "p";
218218
without cfg check: true;
219-
/// "P" Standard Extension for Packed-SIMD Instructions
219+
/// "P" Extension for Packed-SIMD Instructions
220220
}

0 commit comments

Comments
 (0)