File: isa-list

package info (click to toggle)
isa-support 6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 108 kB
  • sloc: perl: 97; sh: 46; makefile: 8
file content (43 lines) | stat: -rw-r--r-- 1,604 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Recognized fields:
# "Name": the isa extension name, the package will be ${Name}-support
# "Architecture": archs to build the package on, wildcards are ok
# "Test": how to detect it, defaults to return !__builtin_cpu_supports("$Name");
#     If the test program dies (SIGILL/etc), that's ok, the answer is "no".
# CFLAGS: passed to the C compiler, can include link-time flags too.
# Description: added to package's description.

Name: sse2
Architecture: any-i386
Description:
 These instructions are available on processors from Pentium 4 onward,
 including any 64-bit capable.  There's no SSE2 on Pentium 3, Athlon XP,
 Via C3, Quark -- and older.

Name: sse3
Architecture: any-i386 any-amd64
Description:
 These instructions are available on almost any 64-bit capable processors
 except for some early AMD models (Sledgehammer and Clawhammer), but not
 most 32-bit only hardware.

Name: sse4.2
Architecture: any-i386 any-amd64
Description:
 These instructions are available on Intel processors since Nehalem (circa
 2008), but notably not on anything AMD until 2011-13, starting with family
 15h (Bulldozer then Jaguar).

Name: altivec
Architecture: powerpc
Test: asm("vsldoi %v1,%v1,%v1,0");
# gcc-6 has __builtin_cpu_supports("altivec") but it's not reliable: silently
# gives wrong answer on qemu, wrong versions of glibc, non-glibc, etc.
# Thus, let's use SIGILL instead.

Name: neon
Architecture: armhf
CFLAGS: -mfpu=neon
Test: asm("VMUL.I16 q0,q0,q1");
Description:
 These instructions are available on the vast majority of armhf hardware
 but not guaranteed before ARMv8 (ie, 64-bit capable).