Skip to content

Commit abec09c

Browse files
authored
Update cpuinfo.h
1 parent 41c6f09 commit abec09c

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

include/cpuinfo.h

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1672,6 +1672,11 @@ struct cpuinfo_arm_isa {
16721672
bool i8mm;
16731673
bool sme;
16741674
bool sme2;
1675+
bool sme2p1;
1676+
bool sme_i16i32;
1677+
bool sme_bi32i32;
1678+
bool sme_b16b16;
1679+
bool sme_f16f16;
16751680
uint32_t svelen;
16761681
#endif
16771682
bool rdm;
@@ -2070,6 +2075,46 @@ static inline bool cpuinfo_has_arm_sme2(void) {
20702075
#endif
20712076
}
20722077

2078+
static inline bool cpuinfo_has_arm_sme2p1(void) {
2079+
#if CPUINFO_ARCH_ARM64
2080+
return cpuinfo_isa.sme2p1;
2081+
#else
2082+
return false;
2083+
#endif
2084+
}
2085+
2086+
static inline bool cpuinfo_has_arm_sme_i16i32(void) {
2087+
#if CPUINFO_ARCH_ARM64
2088+
return cpuinfo_isa.sme_i16i32;
2089+
#else
2090+
return false;
2091+
#endif
2092+
}
2093+
2094+
static inline bool cpuinfo_has_arm_sme_bi32i32(void) {
2095+
#if CPUINFO_ARCH_ARM64
2096+
return cpuinfo_isa.sme_bi32i32;
2097+
#else
2098+
return false;
2099+
#endif
2100+
}
2101+
2102+
static inline bool cpuinfo_has_arm_sme_b16b16(void) {
2103+
#if CPUINFO_ARCH_ARM64
2104+
return cpuinfo_isa.sme_b16b16;
2105+
#else
2106+
return false;
2107+
#endif
2108+
}
2109+
2110+
static inline bool cpuinfo_has_arm_sme_f16f16(void) {
2111+
#if CPUINFO_ARCH_ARM64
2112+
return cpuinfo_isa.sme_f16f16;
2113+
#else
2114+
return false;
2115+
#endif
2116+
}
2117+
20732118
#if CPUINFO_ARCH_RISCV32 || CPUINFO_ARCH_RISCV64
20742119
/* This structure is not a part of stable API. Use cpuinfo_has_riscv_* functions
20752120
* instead. */

0 commit comments

Comments
 (0)