diff --git a/README.md b/README.md index 3423c52..e098eac 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ _`fma4` on zen1, ISA in hypervisor, etc._ |x86|`mmx` `sse` `sse2` `sse3` `ssse3` `sse41` `sse42` `sse4a` `xop` `avx` `f16c` `fma` `fma4` `avx2` `avx512f` `avx512bw` `avx512cd` `avx512dq` `avx512vl` `avx512vnni` `avx512bf16` `avx512ifma` `avx512vbmi` `avx512vbmi2` `avx512fp16` `avx512er` `avx5124fmaps` `avx5124vnniw` `avxvnni` `avxvnniint8` `avxvnniint16` `avxifma` `amxfp16` `amxbf16` `amxint8` `amxtile`| |arm|`half` `edsp` `neon` `vfpv4` `idiv`| |aarch64|`neon` `vfpv4` `lse` `cpuid` `asimdrdm` `asimdhp` `asimddp` `asimdfhm` `bf16` `i8mm` `frint` `jscvt` `fcma` `mte` `mte2` `sve` `sve2` `svebf16` `svei8mm` `svef32mm` `svef64mm` `sme` `smef16f16` `smef64f64` `smei64i64` `pmull` `crc32` `aes` `sha1` `sha2` `sha3` `sha512` `sm3` `sm4` `svepmull` `svebitperm` `sveaes` `svesha3` `svesm4` `amx`| -|mips|`msa`| +|mips|`msa` `mmi` `sx` `asx` `msa2` `crypto`| |powerpc|`vsx`| |s390x|`zvector`| |loongarch|`lsx` `lasx`| diff --git a/main.c b/main.c index fe20d1d..d5e4132 100644 --- a/main.c +++ b/main.c @@ -104,6 +104,11 @@ int main() #elif __mips__ PRINT_ISA_SUPPORT(msa) + PRINT_ISA_SUPPORT(mmi) + PRINT_ISA_SUPPORT(sx) + PRINT_ISA_SUPPORT(asx) + PRINT_ISA_SUPPORT(msa2) + PRINT_ISA_SUPPORT(crypto) #elif __powerpc__ PRINT_ISA_SUPPORT(vsx) diff --git a/ruapu.h b/ruapu.h index a720b08..982470b 100644 --- a/ruapu.h +++ b/ruapu.h @@ -281,6 +281,11 @@ RUAPU_INSTCODE(idiv, 0xe3a00003, 0xe710f010) // movs r0,#3 + sdiv r0,r0,r0 #elif __mips__ RUAPU_INSTCODE(msa, 0x7900001b) // fmadd.w $w0,$w0,$w0 +RUAPU_INSTCODE(mmi, 0x4b60000e) // pmaddhw $f0,$f0 +RUAPU_INSTCODE(sx, 0xef48001e) // __lsx_vffloor_w +RUAPU_INSTCODE(asx, 0xec40001d) // __lasx_xfmadd_w +RUAPU_INSTCODE(msa2, 0x78000008) // __msa2_vperm_b +RUAPU_INSTCODE(crypto, 0x78010017) // __crypto_aes128_dec #elif __powerpc__ RUAPU_INSTCODE(vsx, 0x104210c0) // vaddudm v2,v2,v2 @@ -422,6 +427,11 @@ RUAPU_ISAENTRY(idiv) #elif __mips__ RUAPU_ISAENTRY(msa) +RUAPU_ISAENTRY(mmi) +RUAPU_ISAENTRY(sx) +RUAPU_ISAENTRY(asx) +RUAPU_ISAENTRY(msa2) +RUAPU_ISAENTRY(crypto) #elif __powerpc__ RUAPU_ISAENTRY(vsx)