Compare commits
	
		
			No commits in common. "00de7ebc6ad82f74dbb2f1c394845580f394de4d" and "10b02b3755c5eabf0cf45458c34b0ceef35310db" have entirely different histories.
		
	
	
		
			00de7ebc6a
			...
			10b02b3755
		
	
		
							
								
								
									
										9
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -191,3 +191,12 @@ jobs: | |||||||
|       run: | |       run: | | ||||||
|         docker run -u root --rm -v $(pwd):/${{ github.workspace }} -w ${{ github.workspace }} --platform linux/${{ matrix.arch }} debian:unstable-slim \ |         docker run -u root --rm -v $(pwd):/${{ github.workspace }} -w ${{ github.workspace }} --platform linux/${{ matrix.arch }} debian:unstable-slim \ | ||||||
|           /bin/bash -c "apt update && apt install -y gcc libc6-dev && gcc main.c -o ruapu && ./ruapu" |           /bin/bash -c "apt update && apt install -y gcc libc6-dev && gcc main.c -o ruapu && ./ruapu" | ||||||
|  | 
 | ||||||
|  |   macos-flyci: | ||||||
|  |     runs-on: flyci-macos-14-xlarge-m2 | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v4 | ||||||
|  |     - name: build-test | ||||||
|  |       run: | | ||||||
|  |         clang main.c -o ruapu | ||||||
|  |         ./ruapu | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								.github/workflows/pypi.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/pypi.yml
									
									
									
									
										vendored
									
									
								
							| @ -23,7 +23,7 @@ jobs: | |||||||
|           platforms: all |           platforms: all | ||||||
| 
 | 
 | ||||||
|       - name: cibuildwheel |       - name: cibuildwheel | ||||||
|         uses: pypa/cibuildwheel@v2.20.0 |         uses: pypa/cibuildwheel@v2.18.0 | ||||||
|         env: |         env: | ||||||
|           CIBW_ARCHS_LINUX: "x86_64 i686 aarch64 ppc64le s390x" |           CIBW_ARCHS_LINUX: "x86_64 i686 aarch64 ppc64le s390x" | ||||||
|           CIBW_ARCHS_MACOS: "x86_64 arm64 universal2" |           CIBW_ARCHS_MACOS: "x86_64 arm64 universal2" | ||||||
|  | |||||||
							
								
								
									
										50
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								README.md
									
									
									
									
									
								
							| @ -62,14 +62,14 @@ _`fma4` on zen1, ISA in hypervisor, etc._ | |||||||
| 
 | 
 | ||||||
| |CPU|ISA| | |CPU|ISA| | ||||||
| |:---:|---| | |:---:|---| | ||||||
| |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` `bmi1` `bmi2` `gfni` `aesni` `vaes` `sha` `rdrand` `rdseed` `tsx`| | |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`| | |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`| | |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` `mmi` `sx` `asx` `msa2` `crypto`| | |mips|`msa` `mmi` `sx` `asx` `msa2` `crypto`| | ||||||
| |powerpc|`vsx`| | |powerpc|`vsx`| | ||||||
| |s390x|`zvector`| | |s390x|`zvector`| | ||||||
| |loongarch|`lsx` `lasx`| | |loongarch|`lsx` `lasx`| | ||||||
| |risc-v|`i` `m` `a` `f` `d` `c` `v` `zba` `zbb` `zbc` `zbs` `zbkb` `zbkc` `zbkx` `zcb` `zfa` `zfbfmin` `zfh` `zfhmin` `zicond` `zicsr` `zifencei` `zmmul` `zvbb` `zvbc` `zvfh` `zvfhmin` `zvfbfmin` `zvfbfwma` `zvkb` `zvl32b` `zvl64b` `zvl128b` `zvl256b` `zvl512b` `zvl1024b` `xtheadba` `xtheadbb` `xtheadbs` `xtheadcondmov` `xtheadfmemidx` `xtheadfmv` `xtheadmac` `xtheadmemidx` `xtheadmempair` `xtheadsync` `xtheadvdot` `spacemitvmadot` `spacemitvmadotn` `spacemitvfmadot`| | |risc-v|`i` `m` `a` `f` `d` `c` `v` `zba` `zbb` `zbc` `zbs` `zbkb` `zbkc` `zbkx` `zfa` `zfbfmin` `zfh` `zfhmin` `zicond` `zicsr` `zifencei` `zmmul` `zvbb` `zvbc` `zvfh` `zvfhmin` `zvfbfmin` `zvfbfwma` `zvkb` `zvl32b` `zvl64b` `zvl128b` `zvl256b` `zvl512b` `zvl1024b` `xtheadba` `xtheadbb` `xtheadbs` `xtheadcondmov` `xtheadfmemidx` `xtheadfmv` `xtheadmac` `xtheadmemidx` `xtheadmempair` `xtheadsync` `xtheadvdot`| | ||||||
| |openrisc| `orbis32` `orbis64` `orfpx32` `orfpx64` `orvdx64` | | |openrisc| `orbis32` `orbis64` `orfpx32` `orfpx64` `orvdx64` | | ||||||
| 
 | 
 | ||||||
| ## Let's ruapu | ## Let's ruapu | ||||||
| @ -495,52 +495,6 @@ class Example { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| </td></tr> |  | ||||||
| </table> |  | ||||||
| 
 |  | ||||||
| ### ruapu with cangjie |  | ||||||
| 
 |  | ||||||
| <table> |  | ||||||
| 
 |  | ||||||
| <tr><td> |  | ||||||
| 
 |  | ||||||
| Compile ruapu library |  | ||||||
| 
 |  | ||||||
| ```bash |  | ||||||
| cd cangjie |  | ||||||
| cd c-src |  | ||||||
| cmake . |  | ||||||
| make |  | ||||||
| ``` |  | ||||||
| run example |  | ||||||
| ```bash |  | ||||||
| cd cangjie |  | ||||||
| cjpm run |  | ||||||
| ``` |  | ||||||
| or compile example |  | ||||||
| ```bash |  | ||||||
| cd cangjie |  | ||||||
| cjpm build |  | ||||||
| ./target/release/bin/main |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| </td> |  | ||||||
| <td> |  | ||||||
| Use ruapu in cangjie |  | ||||||
| 
 |  | ||||||
| ```swift |  | ||||||
| import ruapu.* |  | ||||||
| main(): Int64 { |  | ||||||
|     ruapu_init() |  | ||||||
|     let neon_supported = ruapu_supports("neon") |  | ||||||
|     println("supports neon: ${neon_supported}")  |  | ||||||
|     let d = ruapu_rua() |  | ||||||
|     for (i in d) { |  | ||||||
|         println(i) |  | ||||||
|     } |  | ||||||
|     return 0 |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
| </td></tr> | </td></tr> | ||||||
| </table> | </table> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,14 +0,0 @@ | |||||||
| ## ruapu cangjie |  | ||||||
| 
 |  | ||||||
| 当前代码仓颉版本: `0.51.4` |  | ||||||
| 
 |  | ||||||
| > 仓颉目前处于内测阶段,不保证该代码在更新的仓颉编译器版本中可用 |  | ||||||
| 
 |  | ||||||
| ```bash |  | ||||||
| cd cangjie |  | ||||||
| cd c-src |  | ||||||
| cmake . |  | ||||||
| make |  | ||||||
| cd .. |  | ||||||
| cjpm run |  | ||||||
| ``` |  | ||||||
| @ -1,10 +0,0 @@ | |||||||
| cmake_minimum_required(VERSION 3.5) |  | ||||||
| 
 |  | ||||||
| project(ruapu) |  | ||||||
| 
 |  | ||||||
| include_directories(../../) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| add_library(ruapu  |  | ||||||
|     ruapu-binding.c |  | ||||||
| ) |  | ||||||
| @ -1,14 +0,0 @@ | |||||||
| #define RUAPU_IMPLEMENTATION |  | ||||||
| #include "ruapu.h" |  | ||||||
| 
 |  | ||||||
| void ruapu_init_c() { |  | ||||||
|     ruapu_init(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| int ruapu_supports_c(const char* isa) { |  | ||||||
|     return ruapu_supports(isa); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const char* const* ruapu_rua_c() { |  | ||||||
|     return ruapu_rua(); |  | ||||||
| } |  | ||||||
| @ -1,16 +0,0 @@ | |||||||
| [dependencies] |  | ||||||
| 
 |  | ||||||
| [package] |  | ||||||
|   cjc-version = "0.51.4" |  | ||||||
|   compile-option = "" |  | ||||||
|   description = "ruapu" |  | ||||||
|   link-option = "" |  | ||||||
|   name = "ruapu_cangjie" |  | ||||||
|   output-type = "executable" |  | ||||||
|   src-dir = "" |  | ||||||
|   target-dir = "" |  | ||||||
|   version = "1.0.0" |  | ||||||
|   package-configuration = {} |  | ||||||
| 
 |  | ||||||
| [ffi.c] |  | ||||||
|   ruapu = { path = "./c-src/" } |  | ||||||
| @ -1,11 +0,0 @@ | |||||||
| import ruapu.* |  | ||||||
| main(): Int64 { |  | ||||||
|     ruapu_init() |  | ||||||
|     let neon_supported = ruapu_supports("neon") |  | ||||||
|     println("supports neon: ${neon_supported}")  |  | ||||||
|     let d = ruapu_rua() |  | ||||||
|     for (i in d) { |  | ||||||
|         println(i) |  | ||||||
|     } |  | ||||||
|     return 0 |  | ||||||
| } |  | ||||||
| @ -1,30 +0,0 @@ | |||||||
| package ruapu |  | ||||||
| 
 |  | ||||||
| from std import collection.ArrayList |  | ||||||
| 
 |  | ||||||
| foreign func ruapu_init_c(): Unit |  | ||||||
| 
 |  | ||||||
| foreign func ruapu_supports_c(s: CString): Int32 |  | ||||||
| 
 |  | ||||||
| foreign func ruapu_rua_c(): CPointer<CString> |  | ||||||
| 
 |  | ||||||
| public func ruapu_init(): Unit { |  | ||||||
|     unsafe{ ruapu_init_c() } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| public func ruapu_supports(isa: String): Bool { |  | ||||||
|     var isa_c = unsafe { LibC.mallocCString(isa) } |  | ||||||
|     let result_c = unsafe { ruapu_supports_c(isa_c) } |  | ||||||
|     return result_c == 1 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| public func ruapu_rua(): Array<String> { |  | ||||||
|     var ruaList = ArrayList<String>() |  | ||||||
|     var sp = unsafe { ruapu_rua_c() } |  | ||||||
|     while(!unsafe { sp.read().isNull() }) { |  | ||||||
|         let temp = unsafe { sp.read() } |  | ||||||
|         ruaList.append(temp.toString()) |  | ||||||
|         sp = unsafe { sp + 1 } |  | ||||||
|     } |  | ||||||
|     return Array<String>(ruaList) |  | ||||||
| } |  | ||||||
| @ -1,321 +0,0 @@ | |||||||
| { |  | ||||||
|   "configVersion": 2, |  | ||||||
|   "packages": [ |  | ||||||
|     { |  | ||||||
|       "name": "_fe_analyzer_shared", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-73.0.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "_macros", |  | ||||||
|       "rootUri": "file:///opt/homebrew/Cellar/dart/3.5.3/libexec/pkg/_macros", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "analyzer", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/analyzer-6.8.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "args", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/args-2.5.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "async", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/async-2.11.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.18" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "boolean_selector", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.17" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "collection", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/collection-1.19.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "convert", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/convert-3.1.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.18" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "coverage", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/coverage-1.9.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "crypto", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/crypto-3.0.5", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "ffi", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/ffi-1.2.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "file", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/file-7.0.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "frontend_server_client", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "glob", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/glob-2.1.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.19" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "http_multi_server", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "http_parser", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/http_parser-4.1.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "io", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/io-1.0.4", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "js", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/js-0.7.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.1" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "lints", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/lints-4.0.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.1" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "logging", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/logging-1.2.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.19" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "macros", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/macros-0.1.2-main.4", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "matcher", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/matcher-0.12.16+1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "meta", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/meta-1.16.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "mime", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/mime-2.0.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.2" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "node_preamble", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/node_preamble-2.0.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "package_config", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/package_config-2.1.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "path", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/path-1.9.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "pool", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/pool-1.5.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "pub_semver", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/pub_semver-2.1.4", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.17" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "shelf", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/shelf-1.4.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "shelf_packages_handler", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.17" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "shelf_static", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/shelf_static-1.1.3", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "shelf_web_socket", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/shelf_web_socket-2.0.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "source_map_stack_trace", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "source_maps", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/source_maps-0.10.12", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.18" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "source_span", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/source_span-1.10.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.18" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "stack_trace", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/stack_trace-1.12.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "stream_channel", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/stream_channel-2.1.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.19" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "string_scanner", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/string_scanner-1.3.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.1" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "term_glyph", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.12" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "test", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/test-1.25.8", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "test_api", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/test_api-0.7.3", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "test_core", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/test_core-0.6.5", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "typed_data", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/typed_data-1.3.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.17" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "vm_service", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/vm_service-14.3.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "watcher", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/watcher-1.1.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "web", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/web-1.1.0", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "web_socket", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/web_socket-0.1.6", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "web_socket_channel", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.3" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "webkit_inspection_protocol", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.0" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "yaml", |  | ||||||
|       "rootUri": "file:///Users/darren/.pub-cache/hosted/pub.dev/yaml-3.1.2", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "2.19" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "dartHello", |  | ||||||
|       "rootUri": "../", |  | ||||||
|       "packageUri": "lib/", |  | ||||||
|       "languageVersion": "3.4" |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "generated": "2024-10-14T02:37:48.199003Z", |  | ||||||
|   "generator": "pub", |  | ||||||
|   "generatorVersion": "3.5.3", |  | ||||||
|   "pubCache": "file:///Users/darren/.pub-cache" |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| 
 |  | ||||||
| PROJECT_DIR=$(pwd) |  | ||||||
| RUAPU_API_DIR="$PROJECT_DIR/ruapu-api" |  | ||||||
| BUILD_DIR="$PROJECT_DIR/build" |  | ||||||
| 
 |  | ||||||
| mkdir -p "$BUILD_DIR" |  | ||||||
| cd "$BUILD_DIR" || exit |  | ||||||
| 
 |  | ||||||
| cmake "$RUAPU_API_DIR" |  | ||||||
| make |  | ||||||
| 
 |  | ||||||
| if [ $? -ne 0 ]; then |  | ||||||
|   echo "编译失败,请检查错误信息。" |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| cd "$PROJECT_DIR" || exit |  | ||||||
| 
 |  | ||||||
| dart pub get |  | ||||||
| 
 |  | ||||||
| dart run main.dart |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| import 'dart:io'; |  | ||||||
| import 'ruapu_api.dart'; |  | ||||||
| import 'package:path/path.dart' as path; |  | ||||||
| 
 |  | ||||||
| void main() { |  | ||||||
|   var libraryPath = |  | ||||||
|   path.join(Directory.current.path, 'build', 'libruapu.so'); |  | ||||||
| 
 |  | ||||||
|   if (Platform.isMacOS) { |  | ||||||
|     libraryPath = |  | ||||||
|         path.join(Directory.current.path, 'build', 'libruapu.dylib'); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   if (Platform.isWindows) { |  | ||||||
|     libraryPath = path.join( |  | ||||||
|         Directory.current.path, 'build', 'Debug', 'hello.dll'); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   Ruapu api = Ruapu(libraryPath); |  | ||||||
| 
 |  | ||||||
|   api.init(); |  | ||||||
| 
 |  | ||||||
|   List<String> isas = api.getRuapuISA(); |  | ||||||
|   print("This CPU Support:"); |  | ||||||
|   for (String isa in isas) { |  | ||||||
|     print(isa); |  | ||||||
|   } |  | ||||||
|   print("================="); |  | ||||||
| 
 |  | ||||||
|   String isaToCheck = 'aes'; |  | ||||||
|   bool isSupported = api.supportsISA(isaToCheck); |  | ||||||
|   print('Does the system support $isaToCheck? $isSupported'); |  | ||||||
| } |  | ||||||
| @ -1,410 +0,0 @@ | |||||||
| # Generated by pub |  | ||||||
| # See https://dart.dev/tools/pub/glossary#lockfile |  | ||||||
| packages: |  | ||||||
|   _fe_analyzer_shared: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: _fe_analyzer_shared |  | ||||||
|       sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "73.0.0" |  | ||||||
|   _macros: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: dart |  | ||||||
|     source: sdk |  | ||||||
|     version: "0.3.2" |  | ||||||
|   analyzer: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: analyzer |  | ||||||
|       sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "6.8.0" |  | ||||||
|   args: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: args |  | ||||||
|       sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.5.0" |  | ||||||
|   async: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: async |  | ||||||
|       sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.11.0" |  | ||||||
|   boolean_selector: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: boolean_selector |  | ||||||
|       sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.1" |  | ||||||
|   collection: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: collection |  | ||||||
|       sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.19.0" |  | ||||||
|   convert: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: convert |  | ||||||
|       sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.1.1" |  | ||||||
|   coverage: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: coverage |  | ||||||
|       sha256: c1fb2dce3c0085f39dc72668e85f8e0210ec7de05345821ff58530567df345a5 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.9.2" |  | ||||||
|   crypto: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: crypto |  | ||||||
|       sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.0.5" |  | ||||||
|   ffi: |  | ||||||
|     dependency: "direct main" |  | ||||||
|     description: |  | ||||||
|       name: ffi |  | ||||||
|       sha256: "13a6ccf6a459a125b3fcdb6ec73bd5ff90822e071207c663bfd1f70062d51d18" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.2.1" |  | ||||||
|   file: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: file |  | ||||||
|       sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "7.0.1" |  | ||||||
|   frontend_server_client: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: frontend_server_client |  | ||||||
|       sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "4.0.0" |  | ||||||
|   glob: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: glob |  | ||||||
|       sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.2" |  | ||||||
|   http_multi_server: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: http_multi_server |  | ||||||
|       sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.2.1" |  | ||||||
|   http_parser: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: http_parser |  | ||||||
|       sha256: "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "4.1.0" |  | ||||||
|   io: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: io |  | ||||||
|       sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.0.4" |  | ||||||
|   js: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: js |  | ||||||
|       sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.7.1" |  | ||||||
|   lints: |  | ||||||
|     dependency: "direct dev" |  | ||||||
|     description: |  | ||||||
|       name: lints |  | ||||||
|       sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "4.0.0" |  | ||||||
|   logging: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: logging |  | ||||||
|       sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.2.0" |  | ||||||
|   macros: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: macros |  | ||||||
|       sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.1.2-main.4" |  | ||||||
|   matcher: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: matcher |  | ||||||
|       sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.12.16+1" |  | ||||||
|   meta: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: meta |  | ||||||
|       sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.16.0" |  | ||||||
|   mime: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: mime |  | ||||||
|       sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.0.0" |  | ||||||
|   node_preamble: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: node_preamble |  | ||||||
|       sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.0.2" |  | ||||||
|   package_config: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: package_config |  | ||||||
|       sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.0" |  | ||||||
|   path: |  | ||||||
|     dependency: "direct main" |  | ||||||
|     description: |  | ||||||
|       name: path |  | ||||||
|       sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.9.0" |  | ||||||
|   pool: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: pool |  | ||||||
|       sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.5.1" |  | ||||||
|   pub_semver: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: pub_semver |  | ||||||
|       sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.4" |  | ||||||
|   shelf: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: shelf |  | ||||||
|       sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.4.2" |  | ||||||
|   shelf_packages_handler: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: shelf_packages_handler |  | ||||||
|       sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.0.2" |  | ||||||
|   shelf_static: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: shelf_static |  | ||||||
|       sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.1.3" |  | ||||||
|   shelf_web_socket: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: shelf_web_socket |  | ||||||
|       sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.0.0" |  | ||||||
|   source_map_stack_trace: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: source_map_stack_trace |  | ||||||
|       sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.2" |  | ||||||
|   source_maps: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: source_maps |  | ||||||
|       sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.10.12" |  | ||||||
|   source_span: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: source_span |  | ||||||
|       sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.10.0" |  | ||||||
|   stack_trace: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: stack_trace |  | ||||||
|       sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.12.0" |  | ||||||
|   stream_channel: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: stream_channel |  | ||||||
|       sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "2.1.2" |  | ||||||
|   string_scanner: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: string_scanner |  | ||||||
|       sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.3.0" |  | ||||||
|   term_glyph: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: term_glyph |  | ||||||
|       sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.2.1" |  | ||||||
|   test: |  | ||||||
|     dependency: "direct dev" |  | ||||||
|     description: |  | ||||||
|       name: test |  | ||||||
|       sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.25.8" |  | ||||||
|   test_api: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: test_api |  | ||||||
|       sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.7.3" |  | ||||||
|   test_core: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: test_core |  | ||||||
|       sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.6.5" |  | ||||||
|   typed_data: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: typed_data |  | ||||||
|       sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.3.2" |  | ||||||
|   vm_service: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: vm_service |  | ||||||
|       sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "14.3.0" |  | ||||||
|   watcher: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: watcher |  | ||||||
|       sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.1.0" |  | ||||||
|   web: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: web |  | ||||||
|       sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.1.0" |  | ||||||
|   web_socket: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: web_socket |  | ||||||
|       sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "0.1.6" |  | ||||||
|   web_socket_channel: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: web_socket_channel |  | ||||||
|       sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.0.1" |  | ||||||
|   webkit_inspection_protocol: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: webkit_inspection_protocol |  | ||||||
|       sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "1.2.1" |  | ||||||
|   yaml: |  | ||||||
|     dependency: transitive |  | ||||||
|     description: |  | ||||||
|       name: yaml |  | ||||||
|       sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" |  | ||||||
|       url: "https://pub.dev" |  | ||||||
|     source: hosted |  | ||||||
|     version: "3.1.2" |  | ||||||
| sdks: |  | ||||||
|   dart: ">=3.4.0 <4.0.0" |  | ||||||
| @ -1,18 +0,0 @@ | |||||||
| name: dartHello |  | ||||||
| version: 0.0.1 |  | ||||||
| description: >- |  | ||||||
|   A super simple example of calling C code from Dart with FFI |  | ||||||
| 
 |  | ||||||
| # This example isn't intended for publishing on pub.dev. |  | ||||||
| publish_to: none |  | ||||||
| 
 |  | ||||||
| environment: |  | ||||||
|   sdk: ^3.4.0 |  | ||||||
| 
 |  | ||||||
| dependencies: |  | ||||||
|   path: ^1.9.0 |  | ||||||
|   ffi: ^1.0.0 |  | ||||||
| 
 |  | ||||||
| dev_dependencies: |  | ||||||
|   lints: ^4.0.0 |  | ||||||
|   test: ^1.25.0 |  | ||||||
| @ -1,12 +0,0 @@ | |||||||
| cmake_minimum_required(VERSION 3.7 FATAL_ERROR) |  | ||||||
| project(ruapu_library VERSION 1.0.0 LANGUAGES C) |  | ||||||
| add_library(ruapu_library SHARED ruapu.c ruapu.def) |  | ||||||
| include_directories(../../) |  | ||||||
| 
 |  | ||||||
| set_target_properties(ruapu_library PROPERTIES |  | ||||||
|     PUBLIC_HEADER ../../ruapu.h |  | ||||||
|     VERSION ${PROJECT_VERSION} |  | ||||||
|     SOVERSION 1 |  | ||||||
|     OUTPUT_NAME "ruapu" |  | ||||||
|     XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Hex_Identity_ID_Goes_Here" |  | ||||||
| ) |  | ||||||
| @ -1,3 +0,0 @@ | |||||||
| #define RUAPU_IMPLEMENTATION |  | ||||||
| #include "ruapu.h" |  | ||||||
| 
 |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| LIBRARY     ruapu |  | ||||||
| EXPORTS |  | ||||||
|    ruapu_rua |  | ||||||
|    ruapu_supports |  | ||||||
|    ruapu_init |  | ||||||
| @ -1,63 +0,0 @@ | |||||||
| import 'dart:ffi'; // 导入 dart:ffi 库 |  | ||||||
| import 'package:ffi/ffi.dart'; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| typedef RuapuRUA_C = Pointer<Pointer<Utf8>> Function(); |  | ||||||
| typedef RuapuRUA_Dart = Pointer<Pointer<Utf8>> Function(); |  | ||||||
| 
 |  | ||||||
| typedef RuapuInit_C = Void Function(); |  | ||||||
| typedef RuapuInit_Dart = void Function(); |  | ||||||
| 
 |  | ||||||
| typedef RuapuSupports_C = Int32 Function(Pointer<Utf8>); |  | ||||||
| typedef RuapuSupports_Dart = int Function(Pointer<Utf8>); |  | ||||||
| 
 |  | ||||||
| class Ruapu { |  | ||||||
|   final DynamicLibrary _nativeLib; |  | ||||||
| 
 |  | ||||||
|   Ruapu(String libraryPath) : _nativeLib = DynamicLibrary.open(libraryPath); |  | ||||||
| 
 |  | ||||||
|   /// 初始化 |  | ||||||
|   void init() { |  | ||||||
|     final RuapuInit_Dart ruapu_init = _nativeLib |  | ||||||
|         .lookup<NativeFunction<RuapuInit_C>>('ruapu_init') |  | ||||||
|         .asFunction(); |  | ||||||
|     ruapu_init(); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /// 获取支持的ISA列表 |  | ||||||
|   List<String> getRuapuISA() { |  | ||||||
|     final RuapuRUA_Dart ruapu_rua = _nativeLib |  | ||||||
|         .lookup<NativeFunction<RuapuRUA_C>>('ruapu_rua') |  | ||||||
|         .asFunction(); |  | ||||||
| 
 |  | ||||||
|     Pointer<Pointer<Utf8>> result = ruapu_rua(); |  | ||||||
| 
 |  | ||||||
|     List<String> isas = []; |  | ||||||
|     int index = 0; |  | ||||||
|     while (true) { |  | ||||||
|       Pointer<Utf8> strPtr = result.elementAt(index).value; |  | ||||||
|       if (strPtr.address == 0) break; // 结束标志 |  | ||||||
|       String str = strPtr.toDartString(); |  | ||||||
|       isas.add(str); |  | ||||||
|       index++; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return isas; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /// 检查是否支持某个ISA |  | ||||||
|   bool supportsISA(String isa) { |  | ||||||
|     final Pointer<Utf8> cIsa = isa.toNativeUtf8(); |  | ||||||
| 
 |  | ||||||
|     final RuapuSupports_Dart ruapu_supports = _nativeLib |  | ||||||
|         .lookup<NativeFunction<RuapuSupports_C>>('ruapu_supports') |  | ||||||
|         .asFunction(); |  | ||||||
| 
 |  | ||||||
|     int result = ruapu_supports(cIsa); |  | ||||||
| 
 |  | ||||||
|     malloc.free(cIsa); |  | ||||||
| 
 |  | ||||||
|     return result != 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
							
								
								
									
										14
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								main.c
									
									
									
									
									
								
							| @ -52,15 +52,6 @@ int main() | |||||||
|     PRINT_ISA_SUPPORT(amxbf16) |     PRINT_ISA_SUPPORT(amxbf16) | ||||||
|     PRINT_ISA_SUPPORT(amxint8) |     PRINT_ISA_SUPPORT(amxint8) | ||||||
|     PRINT_ISA_SUPPORT(amxtile) |     PRINT_ISA_SUPPORT(amxtile) | ||||||
|     PRINT_ISA_SUPPORT(bmi1) |  | ||||||
|     PRINT_ISA_SUPPORT(bmi2) |  | ||||||
|     PRINT_ISA_SUPPORT(gfni) |  | ||||||
|     PRINT_ISA_SUPPORT(aesni) |  | ||||||
|     PRINT_ISA_SUPPORT(vaes) |  | ||||||
|     PRINT_ISA_SUPPORT(sha) |  | ||||||
|     PRINT_ISA_SUPPORT(rdrand) |  | ||||||
|     PRINT_ISA_SUPPORT(rdseed) |  | ||||||
|     PRINT_ISA_SUPPORT(tsx) |  | ||||||
| 
 | 
 | ||||||
| #elif __aarch64__ || defined(_M_ARM64) | #elif __aarch64__ || defined(_M_ARM64) | ||||||
|     PRINT_ISA_SUPPORT(neon) |     PRINT_ISA_SUPPORT(neon) | ||||||
| @ -144,7 +135,6 @@ int main() | |||||||
|     PRINT_ISA_SUPPORT(zbkb) |     PRINT_ISA_SUPPORT(zbkb) | ||||||
|     PRINT_ISA_SUPPORT(zbkc) |     PRINT_ISA_SUPPORT(zbkc) | ||||||
|     PRINT_ISA_SUPPORT(zbkx) |     PRINT_ISA_SUPPORT(zbkx) | ||||||
|     PRINT_ISA_SUPPORT(zcb) |  | ||||||
|     PRINT_ISA_SUPPORT(zfa) |     PRINT_ISA_SUPPORT(zfa) | ||||||
|     PRINT_ISA_SUPPORT(zfbfmin) |     PRINT_ISA_SUPPORT(zfbfmin) | ||||||
|     PRINT_ISA_SUPPORT(zfh) |     PRINT_ISA_SUPPORT(zfh) | ||||||
| @ -179,10 +169,6 @@ int main() | |||||||
|     PRINT_ISA_SUPPORT(xtheadsync) |     PRINT_ISA_SUPPORT(xtheadsync) | ||||||
|     PRINT_ISA_SUPPORT(xtheadvdot) |     PRINT_ISA_SUPPORT(xtheadvdot) | ||||||
| 
 | 
 | ||||||
|     PRINT_ISA_SUPPORT(spacemitvmadot) |  | ||||||
|     PRINT_ISA_SUPPORT(spacemitvmadotn) |  | ||||||
|     PRINT_ISA_SUPPORT(spacemitvfmadot) |  | ||||||
| 
 |  | ||||||
| #elif __openrisc__ | #elif __openrisc__ | ||||||
|     PRINT_ISA_SUPPORT(orbis32) |     PRINT_ISA_SUPPORT(orbis32) | ||||||
|     PRINT_ISA_SUPPORT(orbis64) |     PRINT_ISA_SUPPORT(orbis64) | ||||||
|  | |||||||
							
								
								
									
										42
									
								
								ruapu.h
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								ruapu.h
									
									
									
									
									
								
							| @ -82,29 +82,28 @@ static int ruapu_detect_isa(ruapu_some_inst some_inst) | |||||||
| #include <signal.h> | #include <signal.h> | ||||||
| #include <setjmp.h> | #include <setjmp.h> | ||||||
| 
 | 
 | ||||||
| static int g_ruapu_sig_caught = 0; | static int g_ruapu_sigill_caught = 0; | ||||||
| static sigjmp_buf g_ruapu_jmpbuf; | static sigjmp_buf g_ruapu_jmpbuf; | ||||||
| 
 | 
 | ||||||
| static void ruapu_catch_sig(int signo, siginfo_t* si, void* data) | static void ruapu_catch_sigill(int signo, siginfo_t* si, void* data) | ||||||
| { | { | ||||||
|     (void)signo; |     (void)signo; | ||||||
|     (void)si; |     (void)si; | ||||||
|     (void)data; |     (void)data; | ||||||
| 
 | 
 | ||||||
|     g_ruapu_sig_caught = 1; |     g_ruapu_sigill_caught = 1; | ||||||
|     siglongjmp(g_ruapu_jmpbuf, -1); |     siglongjmp(g_ruapu_jmpbuf, -1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ruapu_detect_isa(ruapu_some_inst some_inst) | static int ruapu_detect_isa(ruapu_some_inst some_inst) | ||||||
| { | { | ||||||
|     g_ruapu_sig_caught = 0; |     g_ruapu_sigill_caught = 0; | ||||||
| 
 | 
 | ||||||
|     struct sigaction sa = { 0 }; |     struct sigaction sa = { 0 }; | ||||||
|     struct sigaction old_sa; |     struct sigaction old_sa; | ||||||
|     sa.sa_flags = SA_ONSTACK | SA_RESTART | SA_SIGINFO; |     sa.sa_flags = SA_ONSTACK | SA_RESTART | SA_SIGINFO; | ||||||
|     sa.sa_sigaction = ruapu_catch_sig; |     sa.sa_sigaction = ruapu_catch_sigill; | ||||||
|     sigaction(SIGILL, &sa, &old_sa); |     sigaction(SIGILL, &sa, &old_sa); | ||||||
|     sigaction(SIGSEGV, &sa, &old_sa); |  | ||||||
| 
 | 
 | ||||||
|     if (sigsetjmp(g_ruapu_jmpbuf, 1) == 0) |     if (sigsetjmp(g_ruapu_jmpbuf, 1) == 0) | ||||||
|     { |     { | ||||||
| @ -112,9 +111,8 @@ static int ruapu_detect_isa(ruapu_some_inst some_inst) | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     sigaction(SIGILL, &old_sa, NULL); |     sigaction(SIGILL, &old_sa, NULL); | ||||||
|     sigaction(SIGSEGV, &old_sa, NULL); |  | ||||||
| 
 | 
 | ||||||
|     return g_ruapu_sig_caught ? 0 : 1; |     return g_ruapu_sigill_caught ? 0 : 1; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #elif defined __SYTERKIT__ | #elif defined __SYTERKIT__ | ||||||
| @ -225,15 +223,6 @@ RUAPU_INSTCODE(amxfp16, 0xc4, 0xe2, 0x7b, 0x5c, 0xd1) // tdpfp16ps %tmm0, %tmm1, | |||||||
| RUAPU_INSTCODE(amxbf16, 0xc4, 0xe2, 0x7a, 0x5c, 0xd1) // tdpbf16ps %tmm0, %tmm1, %tmm2
 | RUAPU_INSTCODE(amxbf16, 0xc4, 0xe2, 0x7a, 0x5c, 0xd1) // tdpbf16ps %tmm0, %tmm1, %tmm2
 | ||||||
| RUAPU_INSTCODE(amxint8, 0xc4, 0xe2, 0x7b, 0x5e, 0xd1) // tdpbssd %tmm0, %tmm1, %tmm2
 | RUAPU_INSTCODE(amxint8, 0xc4, 0xe2, 0x7b, 0x5e, 0xd1) // tdpbssd %tmm0, %tmm1, %tmm2
 | ||||||
| RUAPU_INSTCODE(amxtile, 0xc4, 0xe2, 0x7a, 0x49, 0xc0) // tilezero %tmm0
 | RUAPU_INSTCODE(amxtile, 0xc4, 0xe2, 0x7a, 0x49, 0xc0) // tilezero %tmm0
 | ||||||
| RUAPU_INSTCODE(bmi1, 0xc4, 0xe2, 0x78, 0xf2, 0xc0) // andn eax,eax,eax
 |  | ||||||
| RUAPU_INSTCODE(bmi2, 0xc4, 0xe2, 0x7b, 0xf6, 0xc0) // mulx eax,eax,eax
 |  | ||||||
| RUAPU_INSTCODE(gfni, 0x66, 0x0f, 0x38, 0xcf, 0xc0) // gf2p8mulb xmm0,xmm0
 |  | ||||||
| RUAPU_INSTCODE(aesni, 0x66, 0x0f, 0x38, 0xdc, 0xc0) // aesenc xmm0,xmm0
 |  | ||||||
| RUAPU_INSTCODE(vaes, 0xc4, 0xe2, 0x7d, 0xdc, 0xc0) // vaesenc ymm0,ymm0,ymm0
 |  | ||||||
| RUAPU_INSTCODE(sha, 0x0f, 0x38, 0xc9, 0xc0) // sha1msg1 xmm0,xmm0
 |  | ||||||
| RUAPU_INSTCODE(rdrand, 0x0f, 0xc7, 0xf0) // rdrand eax
 |  | ||||||
| RUAPU_INSTCODE(rdseed, 0x0f, 0xc7, 0xf8) // rdseed eax
 |  | ||||||
| RUAPU_INSTCODE(tsx, 0x0f, 0x01, 0xd6) // xtest
 |  | ||||||
| 
 | 
 | ||||||
| #elif __aarch64__ || defined(_M_ARM64) | #elif __aarch64__ || defined(_M_ARM64) | ||||||
| RUAPU_INSTCODE(neon, 0x4e20d400) // fadd v0.4s,v0.4s,v0.4s
 | RUAPU_INSTCODE(neon, 0x4e20d400) // fadd v0.4s,v0.4s,v0.4s
 | ||||||
| @ -325,7 +314,6 @@ RUAPU_INSTCODE(zbs, 0x48a51533) // bclr a0,a0,a0 | |||||||
| RUAPU_INSTCODE(zbkb, 0x08a54533) // pack a0,a0,a0
 | RUAPU_INSTCODE(zbkb, 0x08a54533) // pack a0,a0,a0
 | ||||||
| RUAPU_INSTCODE(zbkc, 0x0aa53533) // clmulh a0,a0,a0
 | RUAPU_INSTCODE(zbkc, 0x0aa53533) // clmulh a0,a0,a0
 | ||||||
| RUAPU_INSTCODE(zbkx, 0x28a52533) // xperm.n a0,a0,a0
 | RUAPU_INSTCODE(zbkx, 0x28a52533) // xperm.n a0,a0,a0
 | ||||||
| RUAPU_INSTCODE(zcb, 0x9d759d75) // c.not a0 c.not a0
 |  | ||||||
| RUAPU_INSTCODE(zfa, 0xf0108053) // fli.s ft0, min
 | RUAPU_INSTCODE(zfa, 0xf0108053) // fli.s ft0, min
 | ||||||
| RUAPU_INSTCODE(zfbfmin, 0x44807053) // fcvt.bf16.s ft0,ft0
 | RUAPU_INSTCODE(zfbfmin, 0x44807053) // fcvt.bf16.s ft0,ft0
 | ||||||
| RUAPU_INSTCODE(zfh, 0x04007053); // fadd.hs ft0, ft0, ft0
 | RUAPU_INSTCODE(zfh, 0x04007053); // fadd.hs ft0, ft0, ft0
 | ||||||
| @ -347,10 +335,6 @@ RUAPU_INSTCODE(xtheadmempair, 0xe0a1450b) // th.lwd a0,a0,(sp),#0,3 | |||||||
| RUAPU_INSTCODE(xtheadsync, 0x0180000b) // th.sync
 | RUAPU_INSTCODE(xtheadsync, 0x0180000b) // th.sync
 | ||||||
| RUAPU_INSTCODE(xtheadvdot, 0x8000600b) // th.vmaqa.vv v0,v0,v0
 | RUAPU_INSTCODE(xtheadvdot, 0x8000600b) // th.vmaqa.vv v0,v0,v0
 | ||||||
| 
 | 
 | ||||||
| RUAPU_INSTCODE(spacemitvmadot, 0xe200312b) // vmadot v2,v0,v0
 |  | ||||||
| RUAPU_INSTCODE(spacemitvmadotn, 0xe600b12b) // vmadot3 v2,v0,v1 //vmadot2 vmadot1
 |  | ||||||
| RUAPU_INSTCODE(spacemitvfmadot, 0xea00012b) // vfmadot v2,v0,v0
 |  | ||||||
| 
 |  | ||||||
| // RVV 1.0 support
 | // RVV 1.0 support
 | ||||||
| // unimp (csrrw x0, cycle, x0)
 | // unimp (csrrw x0, cycle, x0)
 | ||||||
| #define RUAPU_RV_TRAP() asm volatile(".align 2\n.word 0xc0001073") | #define RUAPU_RV_TRAP() asm volatile(".align 2\n.word 0xc0001073") | ||||||
| @ -445,15 +429,6 @@ RUAPU_ISAENTRY(amxfp16) | |||||||
| RUAPU_ISAENTRY(amxbf16) | RUAPU_ISAENTRY(amxbf16) | ||||||
| RUAPU_ISAENTRY(amxint8) | RUAPU_ISAENTRY(amxint8) | ||||||
| RUAPU_ISAENTRY(amxtile) | RUAPU_ISAENTRY(amxtile) | ||||||
| RUAPU_ISAENTRY(bmi1) |  | ||||||
| RUAPU_ISAENTRY(bmi2) |  | ||||||
| RUAPU_ISAENTRY(gfni) |  | ||||||
| RUAPU_ISAENTRY(aesni) |  | ||||||
| RUAPU_ISAENTRY(vaes) |  | ||||||
| RUAPU_ISAENTRY(sha) |  | ||||||
| RUAPU_ISAENTRY(rdrand) |  | ||||||
| RUAPU_ISAENTRY(rdseed) |  | ||||||
| RUAPU_ISAENTRY(tsx) |  | ||||||
| 
 | 
 | ||||||
| #elif __aarch64__ || defined(_M_ARM64) | #elif __aarch64__ || defined(_M_ARM64) | ||||||
| RUAPU_ISAENTRY(neon) | RUAPU_ISAENTRY(neon) | ||||||
| @ -537,7 +512,6 @@ RUAPU_ISAENTRY(zbs) | |||||||
| RUAPU_ISAENTRY(zbkb) | RUAPU_ISAENTRY(zbkb) | ||||||
| RUAPU_ISAENTRY(zbkc) | RUAPU_ISAENTRY(zbkc) | ||||||
| RUAPU_ISAENTRY(zbkx) | RUAPU_ISAENTRY(zbkx) | ||||||
| RUAPU_ISAENTRY(zcb) |  | ||||||
| RUAPU_ISAENTRY(zfa) | RUAPU_ISAENTRY(zfa) | ||||||
| RUAPU_ISAENTRY(zfbfmin) | RUAPU_ISAENTRY(zfbfmin) | ||||||
| RUAPU_ISAENTRY(zfh) | RUAPU_ISAENTRY(zfh) | ||||||
| @ -572,10 +546,6 @@ RUAPU_ISAENTRY(xtheadmempair) | |||||||
| RUAPU_ISAENTRY(xtheadsync) | RUAPU_ISAENTRY(xtheadsync) | ||||||
| RUAPU_ISAENTRY(xtheadvdot) | RUAPU_ISAENTRY(xtheadvdot) | ||||||
| 
 | 
 | ||||||
| RUAPU_ISAENTRY(spacemitvmadot) |  | ||||||
| RUAPU_ISAENTRY(spacemitvmadotn) |  | ||||||
| RUAPU_ISAENTRY(spacemitvfmadot) |  | ||||||
| 
 |  | ||||||
| #elif __openrisc__ | #elif __openrisc__ | ||||||
| RUAPU_ISAENTRY(orbis32) | RUAPU_ISAENTRY(orbis32) | ||||||
| RUAPU_ISAENTRY(orbis64) | RUAPU_ISAENTRY(orbis64) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user