-
Notifications
You must be signed in to change notification settings - Fork 775
Description
This OPTIONAL property specifies an array of strings, each specifying a mandatory CPU feature (for example
sse4oraes).
The definition of platform.features seems vague.
At first glance, I thought the values are adopted from Linux /proc/cpuinfo, but I learned that the cpuinfo file never contains sse4.
http://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean
Intel-defined CPU features, CPUID level 0x00000001 (ecx)
- sse4_1: SSE-4.1
- sse4_2: SSE-4.2
More extended AMD flags: CPUID level 0x80000001, ecx
- sse4a: SSE-4A
(Note: AMD's SSE-4A is completely unrelated to Intel's SSE4 http://www.cpu-world.com/Glossary/S/SSE4a.html)
How about improving the definition like this:
This OPTIONAL property specifies an array of strings, each specifying a mandatory CPU feature.
Values for features SHOULD use, and implementations SHOULD understand, flags entries listed in the Linux /proc/cpuinfo file. If an architecture is not supported by Linux, it SHOULD be submitted to this specification for standardization.
For example, sse4_1 or aes on the amd64 and i386 architecture.
Also, for compatibility with Docker images, implementations SHOULD understand the following features values as well:
| Architecture | Docker-compatible value | OCI standard value |
|---|---|---|
amd64, i386 |
sse4 |
sse4_1 |