@@ -226,52 +226,52 @@ Reference Manual], or elsewhere on [developer.arm.com].
226
226
> The following pairs of features should both be marked as enabled or disabled together if used:
227
227
> - ` paca ` and ` pacg ` , which LLVM currently implements as one feature.
228
228
229
- Feature | Implicitly Enables | Feature Name
230
- ---------------| --------------------|------- ------------
231
- ` aes ` | ` neon ` | FEAT_AES & FEAT_PMULL --- Advanced <abbr title =" Single Instruction Multiple Data " >SIMD</abbr > AES & PMULL instructions
232
- ` bf16 ` | | FEAT_BF16 --- BFloat16 instructions
233
- ` bti ` | | FEAT_BTI --- Branch Target Identification
234
- ` crc ` | | FEAT_CRC --- CRC32 checksum instructions
235
- ` dit ` | | FEAT_DIT --- Data Independent Timing instructions
236
- ` dotprod ` | | FEAT_DotProd --- Advanced SIMD Int8 dot product instructions
237
- ` dpb ` | | FEAT_DPB --- Data cache clean to point of persistence
238
- ` dpb2 ` | | FEAT_DPB2 --- Data cache clean to point of deep persistence
239
- ` f32mm ` | ` sve ` | FEAT_F32MM --- SVE single-precision FP matrix multiply instruction
240
- ` f64mm ` | ` sve ` | FEAT_F64MM --- SVE double-precision FP matrix multiply instruction
241
- ` fcma ` | ` neon ` | FEAT_FCMA --- Floating point complex number support
242
- ` fhm ` | ` fp16 ` | FEAT_FHM --- Half-precision FP FMLAL instructions
243
- ` flagm ` | | FEAT_FlagM --- Conditional flag manipulation
244
- ` fp16 ` | ` neon ` | FEAT_FP16 --- Half-precision FP data processing
245
- ` frintts ` | | FEAT_FRINTTS --- Floating-point to int helper instructions
246
- ` i8mm ` | | FEAT_I8MM --- Int8 Matrix Multiplication
247
- ` jsconv ` | ` neon ` | FEAT_JSCVT --- JavaScript conversion instruction
248
- ` lse ` | | FEAT_LSE --- Large System Extension
249
- ` lor ` | | FEAT_LOR --- Limited Ordering Regions extension
250
- ` mte ` | | FEAT_MTE & FEAT_MTE2 --- Memory Tagging Extension
251
- ` neon ` | | FEAT_FP & FEAT_AdvSIMD --- Floating Point and Advanced SIMD extension
252
- ` pan ` | | FEAT_PAN --- Privileged Access-Never extension
253
- ` paca ` | | FEAT_PAuth --- Pointer Authentication (address authentication)
254
- ` pacg ` | | FEAT_PAuth --- Pointer Authentication (generic authentication)
255
- ` pmuv3 ` | | FEAT_PMUv3 --- Performance Monitors extension (v3)
256
- ` rand ` | | FEAT_RNG --- Random Number Generator
257
- ` ras ` | | FEAT_RAS & FEAT_RASv1p1 --- Reliability, Availability and Serviceability extension
258
- ` rcpc ` | | FEAT_LRCPC --- Release consistent Processor Consistent
259
- ` rcpc2 ` | ` rcpc ` | FEAT_LRCPC2 --- RcPc with immediate offsets
260
- ` rdm ` | | FEAT_RDM --- Rounding Double Multiply accumulate
261
- ` sb ` | | FEAT_SB --- Speculation Barrier
262
- ` sha2 ` | ` neon ` | FEAT_SHA1 & FEAT_SHA256 --- Advanced SIMD SHA instructions
263
- ` sha3 ` | ` sha2 ` | FEAT_SHA512 & FEAT_SHA3 --- Advanced SIMD SHA instructions
264
- ` sm4 ` | ` neon ` | FEAT_SM3 & FEAT_SM4 --- Advanced SIMD SM3/4 instructions
265
- ` spe ` | | FEAT_SPE --- Statistical Profiling Extension
266
- ` ssbs ` | | FEAT_SSBS & FEAT_SSBS2 --- Speculative Store Bypass Safe
267
- ` sve ` | ` fp16 ` | FEAT_SVE --- Scalable Vector Extension
268
- ` sve2 ` | ` sve ` | FEAT_SVE2 --- Scalable Vector Extension 2
269
- ` sve2-aes ` | ` sve2 ` , ` aes ` | FEAT_SVE_AES --- SVE AES instructions
270
- ` sve2-sm4 ` | ` sve2 ` , ` sm4 ` | FEAT_SVE_SM4 --- SVE SM4 instructions
271
- ` sve2-sha3 ` | ` sve2 ` , ` sha3 ` | FEAT_SVE_SHA3 --- SVE SHA3 instructions
272
- ` sve2-bitperm ` | ` sve2 ` | FEAT_SVE_BitPerm --- SVE Bit Permute
273
- ` tme ` | | FEAT_TME --- Transactional Memory Extension
274
- ` vh ` | | FEAT_VHE --- Virtualization Host Extensions
229
+ Feature | Implicity Enables | Feature Name
230
+ ------- | ----------------- | ------------
231
+ ` aes ` | ` neon ` | FEAT_AES & FEAT_PMULL --- Advanced <abbr title =" Single Instruction Multiple Data " >SIMD</abbr > AES & PMULL instructions
232
+ ` bf16 ` | | FEAT_BF16 --- BFloat16 instructions
233
+ ` bti ` | | FEAT_BTI --- Branch Target Identification
234
+ ` crc ` | | FEAT_CRC --- CRC32 checksum instructions
235
+ ` dit ` | | FEAT_DIT --- Data Independent Timing instructions
236
+ ` dotprod ` | ` neon ` | FEAT_DotProd --- Advanced SIMD Int8 dot product instructions
237
+ ` dpb ` | | FEAT_DPB --- Data cache clean to point of persistence
238
+ ` dpb2 ` | ` dpb ` | FEAT_DPB2 --- Data cache clean to point of deep persistence
239
+ ` f32mm ` | ` sve ` | FEAT_F32MM --- SVE single-precision FP matrix multiply instruction
240
+ ` f64mm ` | ` sve ` | FEAT_F64MM --- SVE double-precision FP matrix multiply instruction
241
+ ` fcma ` | ` neon ` | FEAT_FCMA --- Floating point complex number support
242
+ ` fhm ` | ` fp16 ` | FEAT_FHM --- Half-precision FP FMLAL instructions
243
+ ` flagm ` | | FEAT_FLAGM --- Conditional flag manipulation
244
+ ` fp16 ` | ` neon ` | FEAT_FP16 --- Half-precision FP data processing
245
+ ` frintts ` | | FEAT_FRINTTS --- Floating-point to int helper instructions
246
+ ` i8mm ` | | FEAT_I8MM --- Int8 Matrix Multiplication
247
+ ` jsconv ` | ` neon ` | FEAT_JSCVT --- JavaScript conversion instruction
248
+ ` lor ` | | FEAT_LOR --- Limited Ordering Regions extension
249
+ ` lse ` | | FEAT_LSE --- Large System Extensions
250
+ ` mte ` | | FEAT_MTE & FEAT_MTE2 --- Memory Tagging Extension
251
+ ` neon ` | | FEAT_AdvSimd & FEAT_FP --- Floating Point and Advanced SIMD extension
252
+ ` paca ` | | FEAT_PAUTH --- Pointer Authentication (address authentication)
253
+ ` pacg ` | | FEAT_PAUTH --- Pointer Authentication (generic authentication)
254
+ ` pan ` | | FEAT_PAN --- Privileged Access-Never extension
255
+ ` pmuv3 ` | | FEAT_PMUv3 --- Performance Monitors extension (v3)
256
+ ` rand ` | | FEAT_RNG --- Random Number Generator
257
+ ` ras ` | | FEAT_RAS & FEAT_RASv1p1 --- Reliability, Availability and Serviceability extension
258
+ ` rcpc ` | | FEAT_LRCPC --- Release consistent Processor Consistent
259
+ ` rcpc2 ` | ` rcpc ` | FEAT_LRCPC2 --- RcPc with immediate offsets
260
+ ` rdm ` | ` neon ` | FEAT_RDM --- Rounding Double Multiply accumulate
261
+ ` sb ` | | FEAT_SB --- Speculation Barrier
262
+ ` sha2 ` | ` neon ` | FEAT_SHA1 & FEAT_SHA256 --- Advanced SIMD SHA instructions
263
+ ` sha3 ` | ` sha2 ` | FEAT_SHA512 & FEAT_SHA3 --- Advanced SIMD SHA instructions
264
+ ` sm4 ` | ` neon ` | FEAT_SM3 & FEAT_SM4 --- Advanced SIMD SM3/4 instructions
265
+ ` spe ` | | FEAT_SPE --- Statistical Profiling Extension
266
+ ` ssbs ` | | FEAT_SSBS & FEAT_SSBS2 --- Speculative Store Bypass Safe
267
+ ` sve ` | ` neon ` | FEAT_SVE --- Scalable Vector Extension
268
+ ` sve2 ` | ` sve ` | FEAT_SVE2 --- Scalable Vector Extension 2
269
+ ` sve2-aes ` | ` sve2 ` ` aes ` , | FEAT_SVE_AES & FEAT_SVE_PMULL128 --- SVE AES instructions
270
+ ` sve2-bitperm ` | ` sve2 ` | FEAT_SVE2_BitPerm --- SVE Bit Permute
271
+ ` sve2-sha3 ` | ` sve2 ` ` sha3 ` , | FEAT_SVE2_SHA3 --- SVE SHA3 instructions
272
+ ` sve2-sm4 ` | ` sve2 ` ` sm4 ` , | FEAT_SVE2_SM4 --- SVE SM4 instructions
273
+ ` tme ` | | FEAT_TME --- Transactional Memory Extension
274
+ ` vh ` | | FEAT_VHE --- Virtualization Host Extensions
275
275
276
276
r[ attributes.codegen.target_feature.riscv]
277
277
#### ` riscv32 ` or ` riscv64 `
0 commit comments