summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-benchmark
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-01-29 12:10:44 -0800
committerKhem Raj <raj.khem@gmail.com>2019-01-30 13:34:49 -0800
commit9c4f08ba84e394157d029851c46fdee49967211a (patch)
treec18fd9df13cf321b3e6d8b492d5539f2ec029de1 /meta-oe/recipes-benchmark
parent677a32a2b611a9577d27b2e12aad0e15b8783e33 (diff)
downloadmeta-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')
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch69
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch47
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch31
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb37
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb30
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 @@
1From 064a63860bf9ee4bf54facb76ca66f9f957d4797 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Jan 2019 11:12:38 -0800
4Subject: [PATCH] cpuburn*.S: Remove .func/.endfunc
5
6These are needed to generate stabs debug info which we dont use
7and are silently ignored by gnu assembler when unused, clang assembler
8however barfs, so remove them
9
10Upstream-Status: Pending
11Signed-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
19diff --git a/cpuburn-a7.S b/cpuburn-a7.S
20index 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
36diff --git a/cpuburn-a8.S b/cpuburn-a8.S
37index 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
53diff --git a/cpuburn-a9.S b/cpuburn-a9.S
54index 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 @@
1From c2adcca93a0075665a8195caad49b89785886e8e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Jan 2019 12:02:22 -0800
4Subject: [PATCH] burn.S: Add
5
6This is originally from
7https://hardwarebug.org/files/burn.S
8
9Upstream-Status: Pending
10Signed-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
16diff --git a/burn.S b/burn.S
17new file mode 100644
18index 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 @@
1From 078df5b25d75578bb0448ca53514c23debe6d920 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Jan 2019 12:03:11 -0800
4Subject: [PATCH] burn.S: Remove .func/.endfunc
5
6These are useless on Linux systems where we use dwarf debug info instead
7of stabs
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 burn.S | 2 --
13 1 file changed, 2 deletions(-)
14
15diff --git a/burn.S b/burn.S
16index 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 @@
1SUMMARY = "A collection of cpuburn programs tuned for different ARM hardware"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://cpuburn-a53.S;beginline=1;endline=22;md5=3b7ccd70144c16d3fe14ac491c2d4a87"
4
5RPROVIDES_${PN} = "cpuburn-neon"
6PROVIDES += "cpuburn-neon"
7
8SRCREV = "ad7e646700d14b81413297bda02fb7fe96613c3f"
9
10PV = "1.0+git${SRCPV}"
11
12SRC_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
18S = "${WORKDIR}/git"
19
20do_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
29do_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
36COMPATIBLE_MACHINE ?= "(^$)"
37COMPATIBLE_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 @@
1SUMMARY = "CPU burn app that loads the NEON coprocessor fully"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://burn.S;md5=823abc72c2cd448e87df9bc5355a4456"
4
5DL_DIR_append = "/${PN}-${PV}"
6
7# Ensure to make this available for machine which has neon
8COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})"
9
10SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \
11 https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb"
12
13SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456"
14SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2"
15SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94"
16SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d"
17
18S = "${WORKDIR}"
19
20do_compile() {
21 ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
22 ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8
23}
24
25do_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