File: cpu-level.sh

package info (click to toggle)
python-diskimage-builder 3.39.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,704 kB
  • sloc: sh: 7,474; python: 6,454; makefile: 37
file content (34 lines) | stat: -rw-r--r-- 812 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/env bash

function report_cpu_flags() {
    local flag

    for flag; do
        ## Note, it's important to keep a trailing space
        case " ${flags} " in
            *" ${flag} "*)
                echo "  ${flag} Found"
                ;;
            *)
                echo "  ${flag} NOT Found"
                ;;
        esac
    done
}

data=$(< /proc/cpuinfo)
flags=""
flags=$(grep "^flags[[:space:]]*:" <<< "${data}" | head -n 1)
flags="${flags#*:}"
flags="${flags## }"

echo "${flags}"

echo "x86_64-v1"
report_cpu_flags lm cmov cx8 fpu fxsr mmx syscall sse2
echo "x86_64-v2"
report_cpu_flags cx16 lahf_lm popcnt sse4_1 sse4_2 ssse3
echo "x86_64-v3"
report_cpu_flags avx avx2 bmi1 bmi2 f16c fma abm movbe xsave
echo "x86_64-v4"
report_cpu_flags avx512f avx512bw avx512cd avx512dq avx512vl