Detect IBM z13 and newer CPU generations by searching for the vector facility's feature flag in /proc/cpuinfo. --- acinclude.m4 | 4 ++-- config.guess | 8 +++++++- config.sub | 4 ++-- configure.ac | 9 +++++++++ 4 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4 index 86175ce42..f69bea23f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -54,10 +54,10 @@ define(POWERPC64_PATTERN, [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]]) define(S390_PATTERN, -[[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-*]]) +[[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-* | z13esa-*-* ]]) define(S390X_PATTERN, -[[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-*]]) +[[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-* | z13-*-* ]]) define(X86_PATTERN, [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]]) diff --git a/config.guess b/config.guess index c28e14080..d9513f8d2 100755 --- a/config.guess +++ b/config.guess @@ -1138,8 +1138,14 @@ s390*-*-*) 2097 | 2098) zcpu="z10" ;; 2817 | 2818 | *) zcpu="z196" ;; esac + if grep -q "^features.* vx" /proc/cpuinfo; then + zcpu="z13" + fi + case "$guess_full" in - s390x-*-*) exact_cpu=${zcpu} ;; + s390x-*-*) + exact_cpu=${zcpu} + ;; s390-*-*) exact_cpu=${zcpu}esa ;; esac fi diff --git a/config.sub b/config.sub index d1b76f765..9ce624ce6 100755 --- a/config.sub +++ b/config.sub @@ -122,9 +122,9 @@ ultrasparc | ultrasparc2 | ultrasparc2i | ultrasparc3 | ultrasparct[12345]) sh2) test_cpu=sh ;; -z900 | z990 | z9 | z10 | z196) +z900 | z990 | z9 | z10 | z196 | z13) test_cpu=s390x;; -z900esa | z990esa | z9esa | z10esa | z196esa) +z900esa | z990esa | z9esa | z10esa | z196esa | z13esa) test_cpu=s390;; armsa1 | armxscale | arm9tdmi | arm9te | \ diff --git a/configure.ac b/configure.ac index e520df942..ab899fec2 100644 --- a/configure.ac +++ b/configure.ac @@ -347,6 +347,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1], #undef HAVE_HOST_CPU_s390_z9 #undef HAVE_HOST_CPU_s390_z10 #undef HAVE_HOST_CPU_s390_z196 +#undef HAVE_HOST_CPU_s390_z13 /* Define to 1 iff we have a s390 with 64-bit registers. */ #undef HAVE_HOST_CPU_s390_zarch]) @@ -1395,6 +1396,11 @@ case $host in gccarch="z196" extra_functions="" ;; + z13) + cpu="z13" + gccarch="z13" + extra_functions="" + ;; esac if test x"$cpu" != x ; then @@ -1414,6 +1420,9 @@ case $host in gcc_64_cflags="$gcc_cflags -m64" path_64="s390_64/$host_cpu s390_64" extra_functions="" + if test "$cpu" = "z13"; then + gcc_64_cflags="$gcc_64_cflags -mzvector" + fi ;; esac ;; -- 2.26.2 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel