summaryrefslogtreecommitdiff
path: root/eclass/tests/toolchain.sh
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /eclass/tests/toolchain.sh
reinit the tree, so we can have metadata
Diffstat (limited to 'eclass/tests/toolchain.sh')
-rwxr-xr-xeclass/tests/toolchain.sh82
1 files changed, 82 insertions, 0 deletions
diff --git a/eclass/tests/toolchain.sh b/eclass/tests/toolchain.sh
new file mode 100755
index 000000000000..47401e687520
--- /dev/null
+++ b/eclass/tests/toolchain.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+source tests-common.sh
+
+inherit toolchain
+
+test_downgrade_arch_flags() {
+ local exp msg ret=0 ver
+
+ ver=${1}
+ exp=${2}
+ shift 2
+ CFLAGS=${@}
+
+ tbegin "${ver} ${CFLAGS} => ${exp}"
+
+ CHOST=x86_64 # needed for tc-arch
+ downgrade_arch_flags ${ver}
+
+ if [[ ${CFLAGS} != ${exp} ]]; then
+ msg="Failure - Expected: \"${exp}\" Got: \"${CFLAGS}\""
+ ret=1
+ fi
+ tend ${ret} ${msg}
+}
+
+# ver expected given
+test_downgrade_arch_flags 4.9 "-march=haswell" "-march=haswell"
+test_downgrade_arch_flags 4.8 "-march=core-avx2" "-march=haswell"
+test_downgrade_arch_flags 4.7 "-march=core-avx2" "-march=haswell"
+test_downgrade_arch_flags 4.6 "-march=core-avx-i" "-march=haswell"
+test_downgrade_arch_flags 4.5 "-march=core2" "-march=haswell"
+test_downgrade_arch_flags 4.4 "-march=core2" "-march=haswell"
+test_downgrade_arch_flags 4.3 "-march=core2" "-march=haswell"
+test_downgrade_arch_flags 4.2 "-march=nocona" "-march=haswell"
+test_downgrade_arch_flags 4.1 "-march=nocona" "-march=haswell"
+test_downgrade_arch_flags 4.0 "-march=nocona" "-march=haswell"
+test_downgrade_arch_flags 3.4 "-march=nocona" "-march=haswell"
+test_downgrade_arch_flags 3.3 "-march=nocona" "-march=haswell"
+
+test_downgrade_arch_flags 4.9 "-march=bdver4" "-march=bdver4"
+test_downgrade_arch_flags 4.8 "-march=bdver3" "-march=bdver4"
+test_downgrade_arch_flags 4.7 "-march=bdver2" "-march=bdver4"
+test_downgrade_arch_flags 4.6 "-march=bdver1" "-march=bdver4"
+test_downgrade_arch_flags 4.5 "-march=amdfam10" "-march=bdver4"
+test_downgrade_arch_flags 4.4 "-march=amdfam10" "-march=bdver4"
+test_downgrade_arch_flags 4.3 "-march=amdfam10" "-march=bdver4"
+test_downgrade_arch_flags 4.2 "-march=k8" "-march=bdver4"
+test_downgrade_arch_flags 4.1 "-march=k8" "-march=bdver4"
+test_downgrade_arch_flags 4.0 "-march=k8" "-march=bdver4"
+test_downgrade_arch_flags 3.4 "-march=k8" "-march=bdver4"
+test_downgrade_arch_flags 3.3 "-march=x86-64" "-march=bdver4"
+
+test_downgrade_arch_flags 3.4 "-march=c3-2" "-march=c3-2"
+test_downgrade_arch_flags 3.3 "-march=c3" "-march=c3-2"
+
+test_downgrade_arch_flags 4.5 "-march=garbage" "-march=garbage"
+
+test_downgrade_arch_flags 4.9 "-mtune=intel" "-mtune=intel"
+test_downgrade_arch_flags 4.8 "-mtune=generic" "-mtune=intel"
+test_downgrade_arch_flags 3.4 "" "-mtune=generic"
+test_downgrade_arch_flags 3.4 "" "-mtune=x86-64"
+test_downgrade_arch_flags 3.3 "" "-mtune=anything"
+
+test_downgrade_arch_flags 4.5 "-march=amdfam10 -mtune=generic" "-march=btver2 -mtune=generic"
+test_downgrade_arch_flags 3.3 "-march=k6-2" "-march=geode -mtune=barcelona"
+test_downgrade_arch_flags 3.4 "-march=k8" "-march=btver2 -mtune=generic"
+
+test_downgrade_arch_flags 4.2 "-march=native" "-march=native"
+test_downgrade_arch_flags 4.1 "-march=nocona" "-march=native"
+
+test_downgrade_arch_flags 4.9 "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+test_downgrade_arch_flags 4.8 "-march=foo -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+test_downgrade_arch_flags 4.7 "-march=foo -mno-avx2 -mno-avx -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+test_downgrade_arch_flags 4.6 "-march=foo -mno-avx -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+test_downgrade_arch_flags 4.3 "-march=foo -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+test_downgrade_arch_flags 4.2 "-march=foo" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
+
+test_downgrade_arch_flags 4.4 "-O2 -march=core2 -ffoo -fblah" "-O2 -march=atom -mno-sha -ffoo -mno-rtm -fblah"
+texit