mirror of
https://github.com/google/cpu_features.git
synced 2025-04-28 07:23:37 +02:00
parent
7634420f31
commit
bc8df0c1c5
22
README.md
22
README.md
@ -124,23 +124,23 @@ flags : aes, avx, sse4_1, sse4_2, ssse3
|
|||||||
<a name="support"></a>
|
<a name="support"></a>
|
||||||
## What's supported
|
## What's supported
|
||||||
|
|
||||||
| | x86 | ARM | AArch64 | MIPS | POWER |
|
| | x86³ | ARM | AArch64 | MIPSel | POWER |
|
||||||
|---------------------------- | :-: | :-: | :-----: | :----: | :-----: |
|
|---------|:-------:|:-------:|:-------:|:-------:|:-------:|
|
||||||
|Features revealed from CPU | yes | no* | no* | not yet | not yet |
|
| Android | yes² | yes¹ | yes¹ | yes¹ | not yet |
|
||||||
|Features revealed from Linux | no | yes | yes | yes | not yet |
|
| iOS | not yet | not yet | not yet | not yet | not yet |
|
||||||
|Microarchitecture detection | yes | no | no | no | not yet |
|
| Linux | yes² | yes¹ | yes¹ | yes¹ | not yet |
|
||||||
|Windows support | yes | no | no | no | not yet |
|
| MacOs | yes² | yes¹ | yes¹ | yes¹ | not yet |
|
||||||
|
| Windows | yes² | not yet | not yet | no | no |
|
||||||
|
|
||||||
- **Features revealed from CPU.** features are retrieved by using the `cpuid`
|
1. **Features revealed from Linux.** We gather data from several sources
|
||||||
instruction. *Unfortunately this instruction is privileged for some
|
|
||||||
architectures, in which case we fall back to Linux.
|
|
||||||
- **Features revealed from Linux.** We gather data from several sources
|
|
||||||
depending on availability:
|
depending on availability:
|
||||||
+ from glibc's
|
+ from glibc's
|
||||||
[getauxval](https://www.gnu.org/software/libc/manual/html_node/Auxiliary-Vector.html)
|
[getauxval](https://www.gnu.org/software/libc/manual/html_node/Auxiliary-Vector.html)
|
||||||
+ by parsing `/proc/self/auxv`
|
+ by parsing `/proc/self/auxv`
|
||||||
+ by parsing `/proc/cpuinfo`
|
+ by parsing `/proc/cpuinfo`
|
||||||
- **Microarchitecture detection.** On x86 some features are not always
|
2. **Features revealed from CPU.** features are retrieved by using the `cpuid`
|
||||||
|
instruction.
|
||||||
|
3. **Microarchitecture detection.** On x86 some features are not always
|
||||||
implemented efficiently in hardware (e.g. AVX on Sandybridge). Exposing the
|
implemented efficiently in hardware (e.g. AVX on Sandybridge). Exposing the
|
||||||
microarchitecture allows the client to reject particular microarchitectures.
|
microarchitecture allows the client to reject particular microarchitectures.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user