diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-01-29 12:10:44 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-01-30 13:34:49 -0800 |
commit | 9c4f08ba84e394157d029851c46fdee49967211a (patch) | |
tree | c18fd9df13cf321b3e6d8b492d5539f2ec029de1 /meta-oe/recipes-benchmark | |
parent | 677a32a2b611a9577d27b2e12aad0e15b8783e33 (diff) | |
download | meta-openembedded-9c4f08ba84e394157d029851c46fdee49967211a.tar.gz |
cpuburn-arm: Move cpuburn-neon to cpuburn-arm and add more tests
This provides more benchmarks for different arm arches >= v7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-benchmark')
5 files changed, 184 insertions, 30 deletions
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch new file mode 100644 index 000000000..82f12fe81 --- /dev/null +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch | |||
@@ -0,0 +1,69 @@ | |||
1 | From 064a63860bf9ee4bf54facb76ca66f9f957d4797 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 29 Jan 2019 11:12:38 -0800 | ||
4 | Subject: [PATCH] cpuburn*.S: Remove .func/.endfunc | ||
5 | |||
6 | These are needed to generate stabs debug info which we dont use | ||
7 | and are silently ignored by gnu assembler when unused, clang assembler | ||
8 | however barfs, so remove them | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | |||
13 | --- | ||
14 | cpuburn-a7.S | 2 -- | ||
15 | cpuburn-a8.S | 2 -- | ||
16 | cpuburn-a9.S | 2 -- | ||
17 | 3 files changed, 6 deletions(-) | ||
18 | |||
19 | diff --git a/cpuburn-a7.S b/cpuburn-a7.S | ||
20 | index 74e925a..c1e308c 100644 | ||
21 | --- a/cpuburn-a7.S | ||
22 | +++ b/cpuburn-a7.S | ||
23 | @@ -42,7 +42,6 @@ | ||
24 | |||
25 | .global main | ||
26 | |||
27 | -.func main | ||
28 | .type main, %function | ||
29 | main: | ||
30 | push {r4-r12, lr} | ||
31 | @@ -88,4 +87,3 @@ main: | ||
32 | |||
33 | mov r0, #0 | ||
34 | pop {r4-r12, pc} | ||
35 | -.endfunc | ||
36 | diff --git a/cpuburn-a8.S b/cpuburn-a8.S | ||
37 | index c6f93a6..a42f5a5 100644 | ||
38 | --- a/cpuburn-a8.S | ||
39 | +++ b/cpuburn-a8.S | ||
40 | @@ -46,7 +46,6 @@ | ||
41 | /* 16 seems to be a good choice */ | ||
42 | #define STEP 16 | ||
43 | |||
44 | -.func main | ||
45 | .thumb_func | ||
46 | main: | ||
47 | mov lr, pc | ||
48 | @@ -70,4 +69,3 @@ main: | ||
49 | subs lr, lr, #(STEP * 4) | ||
50 | .endr | ||
51 | bne 0b | ||
52 | -.endfunc | ||
53 | diff --git a/cpuburn-a9.S b/cpuburn-a9.S | ||
54 | index 0338b00..a1ccae5 100644 | ||
55 | --- a/cpuburn-a9.S | ||
56 | +++ b/cpuburn-a9.S | ||
57 | @@ -48,7 +48,6 @@ | ||
58 | /* 64 seems to be a good choice */ | ||
59 | #define STEP 64 | ||
60 | |||
61 | -.func main | ||
62 | .type main, %function | ||
63 | main: | ||
64 | |||
65 | @@ -94,4 +93,3 @@ main: | ||
66 | subsne lr, lr, #(STEP * 4) | ||
67 | .endr | ||
68 | bne 0b | ||
69 | -.endfunc | ||
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch new file mode 100644 index 000000000..eb68c9ce9 --- /dev/null +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From c2adcca93a0075665a8195caad49b89785886e8e Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 29 Jan 2019 12:02:22 -0800 | ||
4 | Subject: [PATCH] burn.S: Add | ||
5 | |||
6 | This is originally from | ||
7 | https://hardwarebug.org/files/burn.S | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | burn.S | 26 ++++++++++++++++++++++++++ | ||
13 | 1 file changed, 26 insertions(+) | ||
14 | create mode 100644 burn.S | ||
15 | |||
16 | diff --git a/burn.S b/burn.S | ||
17 | new file mode 100644 | ||
18 | index 0000000..c372c87 | ||
19 | --- /dev/null | ||
20 | +++ b/burn.S | ||
21 | @@ -0,0 +1,26 @@ | ||
22 | + .arch armv7-a | ||
23 | + .fpu neon | ||
24 | + | ||
25 | + .text | ||
26 | + | ||
27 | + .global main | ||
28 | + .type main, STT_FUNC | ||
29 | + .func main | ||
30 | +main: | ||
31 | + bic sp, sp, #15 | ||
32 | +1: | ||
33 | + vld1.8 {q8}, [sp,:128] | ||
34 | + smuad r6, r4, r5 | ||
35 | + veor q9, q0, q1 | ||
36 | + add lr, r4, r5 | ||
37 | + ldr ip, [sp] | ||
38 | + vext.8 q10, q3, q4, #1 | ||
39 | + eor r5, r4, r5 | ||
40 | + vadd.i32 q11, q0, q1 | ||
41 | + smusd r6, r4, r5 | ||
42 | + ldr r2, [sp] | ||
43 | + vext.8 q12, q1, q2, #3 | ||
44 | + ssub8 lr, r4, r5 | ||
45 | + vmul.u16 q13, q0, q4 | ||
46 | + b 1b | ||
47 | +.endfunc | ||
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch new file mode 100644 index 000000000..f351b62c7 --- /dev/null +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From 078df5b25d75578bb0448ca53514c23debe6d920 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 29 Jan 2019 12:03:11 -0800 | ||
4 | Subject: [PATCH] burn.S: Remove .func/.endfunc | ||
5 | |||
6 | These are useless on Linux systems where we use dwarf debug info instead | ||
7 | of stabs | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | burn.S | 2 -- | ||
13 | 1 file changed, 2 deletions(-) | ||
14 | |||
15 | diff --git a/burn.S b/burn.S | ||
16 | index c372c87..4458f51 100644 | ||
17 | --- a/burn.S | ||
18 | +++ b/burn.S | ||
19 | @@ -5,7 +5,6 @@ | ||
20 | |||
21 | .global main | ||
22 | .type main, STT_FUNC | ||
23 | - .func main | ||
24 | main: | ||
25 | bic sp, sp, #15 | ||
26 | 1: | ||
27 | @@ -23,4 +22,3 @@ main: | ||
28 | ssub8 lr, r4, r5 | ||
29 | vmul.u16 q13, q0, q4 | ||
30 | b 1b | ||
31 | -.endfunc | ||
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb new file mode 100644 index 000000000..d60624c88 --- /dev/null +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "A collection of cpuburn programs tuned for different ARM hardware" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://cpuburn-a53.S;beginline=1;endline=22;md5=3b7ccd70144c16d3fe14ac491c2d4a87" | ||
4 | |||
5 | RPROVIDES_${PN} = "cpuburn-neon" | ||
6 | PROVIDES += "cpuburn-neon" | ||
7 | |||
8 | SRCREV = "ad7e646700d14b81413297bda02fb7fe96613c3f" | ||
9 | |||
10 | PV = "1.0+git${SRCPV}" | ||
11 | |||
12 | SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \ | ||
13 | file://0001-cpuburn-a8.S-Remove-.func-.endfunc.patch \ | ||
14 | file://0002-burn.S-Add.patch \ | ||
15 | file://0003-burn.S-Remove-.func-.endfunc.patch \ | ||
16 | " | ||
17 | |||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | do_compile() { | ||
21 | ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn | ||
22 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7 | ||
23 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8 | ||
24 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9 | ||
25 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 | ||
26 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait | ||
27 | } | ||
28 | |||
29 | do_install() { | ||
30 | install -d ${D}${bindir} | ||
31 | for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do | ||
32 | install -m 0755 $f ${D}${bindir}/$f | ||
33 | done | ||
34 | } | ||
35 | |||
36 | COMPATIBLE_MACHINE ?= "(^$)" | ||
37 | COMPATIBLE_MACHINE_armv7a = "(.*)" | ||
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb deleted file mode 100644 index 14e3fc4f3..000000000 --- a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | SUMMARY = "CPU burn app that loads the NEON coprocessor fully" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://burn.S;md5=823abc72c2cd448e87df9bc5355a4456" | ||
4 | |||
5 | DL_DIR_append = "/${PN}-${PV}" | ||
6 | |||
7 | # Ensure to make this available for machine which has neon | ||
8 | COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})" | ||
9 | |||
10 | SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \ | ||
11 | https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb" | ||
12 | |||
13 | SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456" | ||
14 | SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2" | ||
15 | SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94" | ||
16 | SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d" | ||
17 | |||
18 | S = "${WORKDIR}" | ||
19 | |||
20 | do_compile() { | ||
21 | ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn | ||
22 | ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8 | ||
23 | } | ||
24 | |||
25 | do_install() { | ||
26 | install -d ${D}${bindir} | ||
27 | install -m 0755 ${S}/burn ${D}${bindir}/burn-neon | ||
28 | install -m 0755 ${S}/burn-neona8 ${D}${bindir}/ | ||
29 | } | ||
30 | |||