forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeatures-info.ll
301 lines (300 loc) · 27.7 KB
/
features-info.ll
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
; RUN: llc -mtriple=riscv32 -mattr=help 2>&1 | FileCheck %s
; RUN: llc -mtriple=riscv64 -mattr=help 2>&1 | FileCheck %s
; CHECK: Available features for this target:
; CHECK-EMPTY:
; CHECK-NEXT: 32bit - Implements RV32.
; CHECK-NEXT: 64bit - Implements RV64.
; CHECK-NEXT: a - 'A' (Atomic Instructions).
; CHECK-NEXT: auipc-addi-fusion - Enable AUIPC+ADDI macrofusion.
; CHECK-NEXT: b - 'B' (the collection of the Zba, Zbb, Zbs extensions).
; CHECK-NEXT: c - 'C' (Compressed Instructions).
; CHECK-NEXT: conditional-cmv-fusion - Enable branch+c.mv fusion.
; CHECK-NEXT: d - 'D' (Double-Precision Floating-Point).
; CHECK-NEXT: disable-latency-sched-heuristic - Disable latency scheduling heuristic.
; CHECK-NEXT: dlen-factor-2 - Vector unit DLEN(data path width) is half of VLEN.
; CHECK-NEXT: e - 'E' (Embedded Instruction Set with 16 GPRs).
; CHECK-NEXT: exact-asm - Enable Exact Assembly (Disables Compression and Relaxation).
; CHECK-NEXT: experimental - Experimental intrinsics.
; CHECK-NEXT: experimental-p - 'P' ('Base P' (Packed SIMD)).
; CHECK-NEXT: experimental-rvm23u32 - RISC-V experimental-rvm23u32 profile.
; CHECK-NEXT: experimental-smctr - 'Smctr' (Control Transfer Records Machine Level).
; CHECK-NEXT: experimental-ssctr - 'Ssctr' (Control Transfer Records Supervisor Level).
; CHECK-NEXT: experimental-svukte - 'Svukte' (Address-Independent Latency of User-Mode Faults to Supervisor Addresses).
; CHECK-NEXT: experimental-xqccmp - 'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves).
; CHECK-NEXT: experimental-xqcia - 'Xqcia' (Qualcomm uC Arithmetic Extension).
; CHECK-NEXT: experimental-xqciac - 'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension).
; CHECK-NEXT: experimental-xqcibi - 'Xqcibi' (Qualcomm uC Branch Immediate Extension).
; CHECK-NEXT: experimental-xqcibm - 'Xqcibm' (Qualcomm uC Bit Manipulation Extension).
; CHECK-NEXT: experimental-xqcicli - 'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension).
; CHECK-NEXT: experimental-xqcicm - 'Xqcicm' (Qualcomm uC Conditional Move Extension).
; CHECK-NEXT: experimental-xqcics - 'Xqcics' (Qualcomm uC Conditional Select Extension).
; CHECK-NEXT: experimental-xqcicsr - 'Xqcicsr' (Qualcomm uC CSR Extension).
; CHECK-NEXT: experimental-xqciint - 'Xqciint' (Qualcomm uC Interrupts Extension).
; CHECK-NEXT: experimental-xqciio - 'Xqciio' (Qualcomm uC External Input Output Extension).
; CHECK-NEXT: experimental-xqcilb - 'Xqcilb' (Qualcomm uC Long Branch Extension).
; CHECK-NEXT: experimental-xqcili - 'Xqcili' (Qualcomm uC Load Large Immediate Extension).
; CHECK-NEXT: experimental-xqcilia - 'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension).
; CHECK-NEXT: experimental-xqcilo - 'Xqcilo' (Qualcomm uC Large Offset Load Store Extension).
; CHECK-NEXT: experimental-xqcilsm - 'Xqcilsm' (Qualcomm uC Load Store Multiple Extension).
; CHECK-NEXT: experimental-xqcisim - 'Xqcisim' (Qualcomm uC Simulation Hint Extension).
; CHECK-NEXT: experimental-xqcisls - 'Xqcisls' (Qualcomm uC Scaled Load Store Extension).
; CHECK-NEXT: experimental-xqcisync - 'Xqcisync' (Qualcomm uC Sync Delay Extension).
; CHECK-NEXT: experimental-xrivosvisni - 'XRivosVisni' (Rivos Vector Integer Small New).
; CHECK-NEXT: experimental-xrivosvizip - 'XRivosVizip' (Rivos Vector Register Zips).
; CHECK-NEXT: experimental-zalasr - 'Zalasr' (Load-Acquire and Store-Release Instructions).
; CHECK-NEXT: experimental-zicfilp - 'Zicfilp' (Landing pad).
; CHECK-NEXT: experimental-zicfiss - 'Zicfiss' (Shadow stack).
; CHECK-NEXT: experimental-zvbc32e - 'Zvbc32e' (Vector Carryless Multiplication with 32-bits elements).
; CHECK-NEXT: experimental-zvkgs - 'Zvkgs' (Vector-Scalar GCM instructions for Cryptography).
; CHECK-NEXT: experimental-zvqdotq - 'Zvqdotq' (Vector quad widening 4D Dot Product).
; CHECK-NEXT: f - 'F' (Single-Precision Floating-Point).
; CHECK-NEXT: forced-atomics - Assume that lock-free native-width atomics are available.
; CHECK-NEXT: h - 'H' (Hypervisor).
; CHECK-NEXT: i - 'I' (Base Integer Instruction Set).
; CHECK-NEXT: ld-add-fusion - Enable LD+ADD macrofusion.
; CHECK-NEXT: log-vrgather - Has vrgather.vv with LMUL*log2(LMUL) latency
; CHECK-NEXT: lui-addi-fusion - Enable LUI+ADDI macro fusion.
; CHECK-NEXT: m - 'M' (Integer Multiplication and Division).
; CHECK-NEXT: mips-p8700 - MIPS p8700 processor.
; CHECK-NEXT: no-default-unroll - Disable default unroll preference..
; CHECK-NEXT: no-rvc-hints - Disable RVC Hint Instructions..
; CHECK-NEXT: no-sink-splat-operands - Disable sink splat operands to enable .vx, .vf,.wx, and .wf instructions.
; CHECK-NEXT: no-trailing-seq-cst-fence - Disable trailing fence for seq-cst store..
; CHECK-NEXT: optimized-nf2-segment-load-store - vlseg2eN.v and vsseg2eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf3-segment-load-store - vlseg3eN.v and vsseg3eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf4-segment-load-store - vlseg4eN.v and vsseg4eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf5-segment-load-store - vlseg5eN.v and vsseg5eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf6-segment-load-store - vlseg6eN.v and vsseg6eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf7-segment-load-store - vlseg7eN.v and vsseg7eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-nf8-segment-load-store - vlseg8eN.v and vsseg8eN.v are implemented as a wide memory op and shuffle.
; CHECK-NEXT: optimized-zero-stride-load - Optimized (perform fewer memory operations)zero-stride vector load.
; CHECK-NEXT: predictable-select-expensive - Prefer likely predicted branches over selects.
; CHECK-NEXT: prefer-vsetvli-over-read-vlenb - Prefer vsetvli over read vlenb CSR to calculate VLEN.
; CHECK-NEXT: prefer-w-inst - Prefer instructions with W suffix.
; CHECK-NEXT: relax - Enable Linker relaxation..
; CHECK-NEXT: reserve-x1 - Reserve X1.
; CHECK-NEXT: reserve-x10 - Reserve X10.
; CHECK-NEXT: reserve-x11 - Reserve X11.
; CHECK-NEXT: reserve-x12 - Reserve X12.
; CHECK-NEXT: reserve-x13 - Reserve X13.
; CHECK-NEXT: reserve-x14 - Reserve X14.
; CHECK-NEXT: reserve-x15 - Reserve X15.
; CHECK-NEXT: reserve-x16 - Reserve X16.
; CHECK-NEXT: reserve-x17 - Reserve X17.
; CHECK-NEXT: reserve-x18 - Reserve X18.
; CHECK-NEXT: reserve-x19 - Reserve X19.
; CHECK-NEXT: reserve-x2 - Reserve X2.
; CHECK-NEXT: reserve-x20 - Reserve X20.
; CHECK-NEXT: reserve-x21 - Reserve X21.
; CHECK-NEXT: reserve-x22 - Reserve X22.
; CHECK-NEXT: reserve-x23 - Reserve X23.
; CHECK-NEXT: reserve-x24 - Reserve X24.
; CHECK-NEXT: reserve-x25 - Reserve X25.
; CHECK-NEXT: reserve-x26 - Reserve X26.
; CHECK-NEXT: reserve-x27 - Reserve X27.
; CHECK-NEXT: reserve-x28 - Reserve X28.
; CHECK-NEXT: reserve-x29 - Reserve X29.
; CHECK-NEXT: reserve-x3 - Reserve X3.
; CHECK-NEXT: reserve-x30 - Reserve X30.
; CHECK-NEXT: reserve-x31 - Reserve X31.
; CHECK-NEXT: reserve-x4 - Reserve X4.
; CHECK-NEXT: reserve-x5 - Reserve X5.
; CHECK-NEXT: reserve-x6 - Reserve X6.
; CHECK-NEXT: reserve-x7 - Reserve X7.
; CHECK-NEXT: reserve-x8 - Reserve X8.
; CHECK-NEXT: reserve-x9 - Reserve X9.
; CHECK-NEXT: rva20s64 - RISC-V rva20s64 profile.
; CHECK-NEXT: rva20u64 - RISC-V rva20u64 profile.
; CHECK-NEXT: rva22s64 - RISC-V rva22s64 profile.
; CHECK-NEXT: rva22u64 - RISC-V rva22u64 profile.
; CHECK-NEXT: rva23s64 - RISC-V rva23s64 profile.
; CHECK-NEXT: rva23u64 - RISC-V rva23u64 profile.
; CHECK-NEXT: rvb23s64 - RISC-V rvb23s64 profile.
; CHECK-NEXT: rvb23u64 - RISC-V rvb23u64 profile.
; CHECK-NEXT: rvi20u32 - RISC-V rvi20u32 profile.
; CHECK-NEXT: rvi20u64 - RISC-V rvi20u64 profile.
; CHECK-NEXT: save-restore - Enable save/restore..
; CHECK-NEXT: sdext - 'Sdext' (External debugger).
; CHECK-NEXT: sdtrig - 'Sdtrig' (Debugger triggers).
; CHECK-NEXT: sha - 'Sha' (Augmented Hypervisor).
; CHECK-NEXT: shcounterenw - 'Shcounterenw' (Support writeable hcounteren enable bit for any hpmcounter that is not read-only zero).
; CHECK-NEXT: shgatpa - 'Shgatpa' (SvNNx4 mode supported for all modes supported by satp, as well as Bare).
; CHECK-NEXT: shifted-zextw-fusion - Enable SLLI+SRLI to be fused when computing (shifted) word zero extension.
; CHECK-NEXT: short-forward-branch-opt - Enable short forward branch optimization.
; CHECK-NEXT: shtvala - 'Shtvala' (htval provides all needed values).
; CHECK-NEXT: shvsatpa - 'Shvsatpa' (vsatp supports all modes supported by satp).
; CHECK-NEXT: shvstvala - 'Shvstvala' (vstval provides all needed values).
; CHECK-NEXT: shvstvecd - 'Shvstvecd' (vstvec supports Direct mode).
; CHECK-NEXT: sifive7 - SiFive 7-Series processors.
; CHECK-NEXT: smaia - 'Smaia' (Advanced Interrupt Architecture Machine Level).
; CHECK-NEXT: smcdeleg - 'Smcdeleg' (Counter Delegation Machine Level).
; CHECK-NEXT: smcntrpmf - 'Smcntrpmf' (Cycle and Instret Privilege Mode Filtering).
; CHECK-NEXT: smcsrind - 'Smcsrind' (Indirect CSR Access Machine Level).
; CHECK-NEXT: smdbltrp - 'Smdbltrp' (Double Trap Machine Level).
; CHECK-NEXT: smepmp - 'Smepmp' (Enhanced Physical Memory Protection).
; CHECK-NEXT: smmpm - 'Smmpm' (Machine-level Pointer Masking for M-mode).
; CHECK-NEXT: smnpm - 'Smnpm' (Machine-level Pointer Masking for next lower privilege mode).
; CHECK-NEXT: smrnmi - 'Smrnmi' (Resumable Non-Maskable Interrupts).
; CHECK-NEXT: smstateen - 'Smstateen' (Machine-mode view of the state-enable extension).
; CHECK-NEXT: ssaia - 'Ssaia' (Advanced Interrupt Architecture Supervisor Level).
; CHECK-NEXT: ssccfg - 'Ssccfg' (Counter Configuration Supervisor Level).
; CHECK-NEXT: ssccptr - 'Ssccptr' (Main memory supports page table reads).
; CHECK-NEXT: sscofpmf - 'Sscofpmf' (Count Overflow and Mode-Based Filtering).
; CHECK-NEXT: sscounterenw - 'Sscounterenw' (Support writeable scounteren enable bit for any hpmcounter that is not read-only zero).
; CHECK-NEXT: sscsrind - 'Sscsrind' (Indirect CSR Access Supervisor Level).
; CHECK-NEXT: ssdbltrp - 'Ssdbltrp' (Double Trap Supervisor Level).
; CHECK-NEXT: ssnpm - 'Ssnpm' (Supervisor-level Pointer Masking for next lower privilege mode).
; CHECK-NEXT: sspm - 'Sspm' (Indicates Supervisor-mode Pointer Masking).
; CHECK-NEXT: ssqosid - 'Ssqosid' (Quality-of-Service (QoS) Identifiers).
; CHECK-NEXT: ssstateen - 'Ssstateen' (Supervisor-mode view of the state-enable extension).
; CHECK-NEXT: ssstrict - 'Ssstrict' (No non-conforming extensions are present).
; CHECK-NEXT: sstc - 'Sstc' (Supervisor-mode timer interrupts).
; CHECK-NEXT: sstvala - 'Sstvala' (stval provides all needed values).
; CHECK-NEXT: sstvecd - 'Sstvecd' (stvec supports Direct mode).
; CHECK-NEXT: ssu64xl - 'Ssu64xl' (UXLEN=64 supported).
; CHECK-NEXT: supm - 'Supm' (Indicates User-mode Pointer Masking).
; CHECK-NEXT: svade - 'Svade' (Raise exceptions on improper A/D bits).
; CHECK-NEXT: svadu - 'Svadu' (Hardware A/D updates).
; CHECK-NEXT: svbare - 'Svbare' (satp mode Bare supported).
; CHECK-NEXT: svinval - 'Svinval' (Fine-Grained Address-Translation Cache Invalidation).
; CHECK-NEXT: svnapot - 'Svnapot' (NAPOT Translation Contiguity).
; CHECK-NEXT: svpbmt - 'Svpbmt' (Page-Based Memory Types).
; CHECK-NEXT: svvptc - 'Svvptc' (Obviating Memory-Management Instructions after Marking PTEs Valid).
; CHECK-NEXT: tagged-globals - Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits.
; CHECK-NEXT: unaligned-scalar-mem - Has reasonably performant unaligned scalar loads and stores.
; CHECK-NEXT: unaligned-vector-mem - Has reasonably performant unaligned vector loads and stores.
; CHECK-NEXT: use-postra-scheduler - Schedule again after register allocation.
; CHECK-NEXT: v - 'V' (Vector Extension for Application Processors).
; CHECK-NEXT: ventana-veyron - Ventana Veyron-Series processors.
; CHECK-NEXT: vxrm-pipeline-flush - VXRM writes causes pipeline flush.
; CHECK-NEXT: xcvalu - 'XCValu' (CORE-V ALU Operations).
; CHECK-NEXT: xcvbi - 'XCVbi' (CORE-V Immediate Branching).
; CHECK-NEXT: xcvbitmanip - 'XCVbitmanip' (CORE-V Bit Manipulation).
; CHECK-NEXT: xcvelw - 'XCVelw' (CORE-V Event Load Word).
; CHECK-NEXT: xcvmac - 'XCVmac' (CORE-V Multiply-Accumulate).
; CHECK-NEXT: xcvmem - 'XCVmem' (CORE-V Post-incrementing Load & Store).
; CHECK-NEXT: xcvsimd - 'XCVsimd' (CORE-V SIMD ALU).
; CHECK-NEXT: xmipscmov - 'XMIPSCMov' (MIPS conditional move instruction (mips.ccmov)).
; CHECK-NEXT: xmipslsp - 'XMIPSLSP' (MIPS optimization for hardware load-store bonding).
; CHECK-NEXT: xsfcease - 'XSfcease' (SiFive sf.cease Instruction).
; CHECK-NEXT: xsfvcp - 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions).
; CHECK-NEXT: xsfvfnrclipxfqf - 'XSfvfnrclipxfqf' (SiFive FP32-to-int8 Ranged Clip Instructions).
; CHECK-NEXT: xsfvfwmaccqqq - 'XSfvfwmaccqqq' (SiFive Matrix Multiply Accumulate Instruction and 4-by-4)).
; CHECK-NEXT: xsfvqmaccdod - 'XSfvqmaccdod' (SiFive Int8 Matrix Multiplication Instructions (2-by-8 and 8-by-2)).
; CHECK-NEXT: xsfvqmaccqoq - 'XSfvqmaccqoq' (SiFive Int8 Matrix Multiplication Instructions (4-by-8 and 8-by-4)).
; CHECK-NEXT: xsifivecdiscarddlone - 'XSiFivecdiscarddlone' (SiFive sf.cdiscard.d.l1 Instruction).
; CHECK-NEXT: xsifivecflushdlone - 'XSiFivecflushdlone' (SiFive sf.cflush.d.l1 Instruction).
; CHECK-NEXT: xtheadba - 'XTHeadBa' (T-Head address calculation instructions).
; CHECK-NEXT: xtheadbb - 'XTHeadBb' (T-Head basic bit-manipulation instructions).
; CHECK-NEXT: xtheadbs - 'XTHeadBs' (T-Head single-bit instructions).
; CHECK-NEXT: xtheadcmo - 'XTHeadCmo' (T-Head cache management instructions).
; CHECK-NEXT: xtheadcondmov - 'XTHeadCondMov' (T-Head conditional move instructions).
; CHECK-NEXT: xtheadfmemidx - 'XTHeadFMemIdx' (T-Head FP Indexed Memory Operations).
; CHECK-NEXT: xtheadmac - 'XTHeadMac' (T-Head Multiply-Accumulate Instructions).
; CHECK-NEXT: xtheadmemidx - 'XTHeadMemIdx' (T-Head Indexed Memory Operations).
; CHECK-NEXT: xtheadmempair - 'XTHeadMemPair' (T-Head two-GPR Memory Operations).
; CHECK-NEXT: xtheadsync - 'XTHeadSync' (T-Head multicore synchronization instructions).
; CHECK-NEXT: xtheadvdot - 'XTHeadVdot' (T-Head Vector Extensions for Dot).
; CHECK-NEXT: xventanacondops - 'XVentanaCondOps' (Ventana Conditional Ops).
; CHECK-NEXT: xwchc - 'Xwchc' (WCH/QingKe additional compressed opcodes).
; CHECK-NEXT: za128rs - 'Za128rs' (Reservation Set Size of at Most 128 Bytes).
; CHECK-NEXT: za64rs - 'Za64rs' (Reservation Set Size of at Most 64 Bytes).
; CHECK-NEXT: zaamo - 'Zaamo' (Atomic Memory Operations).
; CHECK-NEXT: zabha - 'Zabha' (Byte and Halfword Atomic Memory Operations).
; CHECK-NEXT: zacas - 'Zacas' (Atomic Compare-And-Swap Instructions).
; CHECK-NEXT: zalrsc - 'Zalrsc' (Load-Reserved/Store-Conditional).
; CHECK-NEXT: zama16b - 'Zama16b' (Atomic 16-byte misaligned loads, stores and AMOs).
; CHECK-NEXT: zawrs - 'Zawrs' (Wait on Reservation Set).
; CHECK-NEXT: zba - 'Zba' (Address Generation Instructions).
; CHECK-NEXT: zbb - 'Zbb' (Basic Bit-Manipulation).
; CHECK-NEXT: zbc - 'Zbc' (Carry-Less Multiplication).
; CHECK-NEXT: zbkb - 'Zbkb' (Bitmanip instructions for Cryptography).
; CHECK-NEXT: zbkc - 'Zbkc' (Carry-less multiply instructions for Cryptography).
; CHECK-NEXT: zbkx - 'Zbkx' (Crossbar permutation instructions).
; CHECK-NEXT: zbs - 'Zbs' (Single-Bit Instructions).
; CHECK-NEXT: zca - 'Zca' (part of the C extension, excluding compressed floating point loads/stores).
; CHECK-NEXT: zcb - 'Zcb' (Compressed basic bit manipulation instructions).
; CHECK-NEXT: zcd - 'Zcd' (Compressed Double-Precision Floating-Point Instructions).
; CHECK-NEXT: zce - 'Zce' (Compressed extensions for microcontrollers).
; CHECK-NEXT: zcf - 'Zcf' (Compressed Single-Precision Floating-Point Instructions).
; CHECK-NEXT: zclsd - 'Zclsd' (Compressed Load/Store Pair Instructions).
; CHECK-NEXT: zcmop - 'Zcmop' (Compressed May-Be-Operations).
; CHECK-NEXT: zcmp - 'Zcmp' (sequenced instructions for code-size reduction).
; CHECK-NEXT: zcmt - 'Zcmt' (table jump instructions for code-size reduction).
; CHECK-NEXT: zdinx - 'Zdinx' (Double in Integer).
; CHECK-NEXT: zexth-fusion - Enable SLLI+SRLI to be fused to zero extension of halfword.
; CHECK-NEXT: zextw-fusion - Enable SLLI+SRLI to be fused to zero extension of word.
; CHECK-NEXT: zfa - 'Zfa' (Additional Floating-Point).
; CHECK-NEXT: zfbfmin - 'Zfbfmin' (Scalar BF16 Converts).
; CHECK-NEXT: zfh - 'Zfh' (Half-Precision Floating-Point).
; CHECK-NEXT: zfhmin - 'Zfhmin' (Half-Precision Floating-Point Minimal).
; CHECK-NEXT: zfinx - 'Zfinx' (Float in Integer).
; CHECK-NEXT: zhinx - 'Zhinx' (Half Float in Integer).
; CHECK-NEXT: zhinxmin - 'Zhinxmin' (Half Float in Integer Minimal).
; CHECK-NEXT: zic64b - 'Zic64b' (Cache Block Size Is 64 Bytes).
; CHECK-NEXT: zicbom - 'Zicbom' (Cache-Block Management Instructions).
; CHECK-NEXT: zicbop - 'Zicbop' (Cache-Block Prefetch Instructions).
; CHECK-NEXT: zicboz - 'Zicboz' (Cache-Block Zero Instructions).
; CHECK-NEXT: ziccamoa - 'Ziccamoa' (Main Memory Supports All Atomics in A).
; CHECK-NEXT: ziccif - 'Ziccif' (Main Memory Supports Instruction Fetch with Atomicity Requirement).
; CHECK-NEXT: zicclsm - 'Zicclsm' (Main Memory Supports Misaligned Loads/Stores).
; CHECK-NEXT: ziccrse - 'Ziccrse' (Main Memory Supports Forward Progress on LR/SC Sequences).
; CHECK-NEXT: zicntr - 'Zicntr' (Base Counters and Timers).
; CHECK-NEXT: zicond - 'Zicond' (Integer Conditional Operations).
; CHECK-NEXT: zicsr - 'Zicsr' (CSRs).
; CHECK-NEXT: zifencei - 'Zifencei' (fence.i).
; CHECK-NEXT: zihintntl - 'Zihintntl' (Non-Temporal Locality Hints).
; CHECK-NEXT: zihintpause - 'Zihintpause' (Pause Hint).
; CHECK-NEXT: zihpm - 'Zihpm' (Hardware Performance Counters).
; CHECK-NEXT: zilsd - 'Zilsd' (Load/Store Pair Instructions).
; CHECK-NEXT: zimop - 'Zimop' (May-Be-Operations).
; CHECK-NEXT: zk - 'Zk' (Standard scalar cryptography extension).
; CHECK-NEXT: zkn - 'Zkn' (NIST Algorithm Suite).
; CHECK-NEXT: zknd - 'Zknd' (NIST Suite: AES Decryption).
; CHECK-NEXT: zkne - 'Zkne' (NIST Suite: AES Encryption).
; CHECK-NEXT: zknh - 'Zknh' (NIST Suite: Hash Function Instructions).
; CHECK-NEXT: zkr - 'Zkr' (Entropy Source Extension).
; CHECK-NEXT: zks - 'Zks' (ShangMi Algorithm Suite).
; CHECK-NEXT: zksed - 'Zksed' (ShangMi Suite: SM4 Block Cipher Instructions).
; CHECK-NEXT: zksh - 'Zksh' (ShangMi Suite: SM3 Hash Function Instructions).
; CHECK-NEXT: zkt - 'Zkt' (Data Independent Execution Latency).
; CHECK-NEXT: zmmul - 'Zmmul' (Integer Multiplication).
; CHECK-NEXT: ztso - 'Ztso' (Memory Model - Total Store Order).
; CHECK-NEXT: zvbb - 'Zvbb' (Vector basic bit-manipulation instructions).
; CHECK-NEXT: zvbc - 'Zvbc' (Vector Carryless Multiplication).
; CHECK-NEXT: zve32f - 'Zve32f' (Vector Extensions for Embedded Processors with maximal 32 EEW and F extension).
; CHECK-NEXT: zve32x - 'Zve32x' (Vector Extensions for Embedded Processors with maximal 32 EEW).
; CHECK-NEXT: zve64d - 'Zve64d' (Vector Extensions for Embedded Processors with maximal 64 EEW, F and D extension).
; CHECK-NEXT: zve64f - 'Zve64f' (Vector Extensions for Embedded Processors with maximal 64 EEW and F extension).
; CHECK-NEXT: zve64x - 'Zve64x' (Vector Extensions for Embedded Processors with maximal 64 EEW).
; CHECK-NEXT: zvfbfmin - 'Zvfbfmin' (Vector BF16 Converts).
; CHECK-NEXT: zvfbfwma - 'Zvfbfwma' (Vector BF16 widening mul-add).
; CHECK-NEXT: zvfh - 'Zvfh' (Vector Half-Precision Floating-Point).
; CHECK-NEXT: zvfhmin - 'Zvfhmin' (Vector Half-Precision Floating-Point Minimal).
; CHECK-NEXT: zvkb - 'Zvkb' (Vector Bit-manipulation used in Cryptography).
; CHECK-NEXT: zvkg - 'Zvkg' (Vector GCM instructions for Cryptography).
; CHECK-NEXT: zvkn - 'Zvkn' (shorthand for 'Zvkned', 'Zvknhb', 'Zvkb', and 'Zvkt').
; CHECK-NEXT: zvknc - 'Zvknc' (shorthand for 'Zvknc' and 'Zvbc').
; CHECK-NEXT: zvkned - 'Zvkned' (Vector AES Encryption & Decryption (Single Round)).
; CHECK-NEXT: zvkng - 'Zvkng' (shorthand for 'Zvkn' and 'Zvkg').
; CHECK-NEXT: zvknha - 'Zvknha' (Vector SHA-2 (SHA-256 only)).
; CHECK-NEXT: zvknhb - 'Zvknhb' (Vector SHA-2 (SHA-256 and SHA-512)).
; CHECK-NEXT: zvks - 'Zvks' (shorthand for 'Zvksed', 'Zvksh', 'Zvkb', and 'Zvkt').
; CHECK-NEXT: zvksc - 'Zvksc' (shorthand for 'Zvks' and 'Zvbc').
; CHECK-NEXT: zvksed - 'Zvksed' (SM4 Block Cipher Instructions).
; CHECK-NEXT: zvksg - 'Zvksg' (shorthand for 'Zvks' and 'Zvkg').
; CHECK-NEXT: zvksh - 'Zvksh' (SM3 Hash Function Instructions).
; CHECK-NEXT: zvkt - 'Zvkt' (Vector Data-Independent Execution Latency).
; CHECK-NEXT: zvl1024b - 'Zvl1024b' (Minimum Vector Length 1024).
; CHECK-NEXT: zvl128b - 'Zvl128b' (Minimum Vector Length 128).
; CHECK-NEXT: zvl16384b - 'Zvl16384b' (Minimum Vector Length 16384).
; CHECK-NEXT: zvl2048b - 'Zvl2048b' (Minimum Vector Length 2048).
; CHECK-NEXT: zvl256b - 'Zvl256b' (Minimum Vector Length 256).
; CHECK-NEXT: zvl32768b - 'Zvl32768b' (Minimum Vector Length 32768).
; CHECK-NEXT: zvl32b - 'Zvl32b' (Minimum Vector Length 32).
; CHECK-NEXT: zvl4096b - 'Zvl4096b' (Minimum Vector Length 4096).
; CHECK-NEXT: zvl512b - 'Zvl512b' (Minimum Vector Length 512).
; CHECK-NEXT: zvl64b - 'Zvl64b' (Minimum Vector Length 64).
; CHECK-NEXT: zvl65536b - 'Zvl65536b' (Minimum Vector Length 65536).
; CHECK-NEXT: zvl8192b - 'Zvl8192b' (Minimum Vector Length 8192).
; CHECK-EMPTY: