[PATCH 1/3] tests/tcg/s390x: Test compiler flags only once, not every time

Thomas Huth posted 3 patches 3 years, 2 months ago
Maintainers: Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>
[PATCH 1/3] tests/tcg/s390x: Test compiler flags only once, not every time
Posted by Thomas Huth 3 years, 2 months ago
This is common practice, see the Makefile.target in the aarch64
folder for example.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/tcg/s390x/Makefile.target | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.target
index c830313e67..29c8af8207 100644
--- a/tests/tcg/s390x/Makefile.target
+++ b/tests/tcg/s390x/Makefile.target
@@ -1,6 +1,13 @@
 S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
 VPATH+=$(S390X_SRC)
 CFLAGS+=-march=zEC12 -m64
+
+config-cc.mak: Makefile
+	$(quiet-@)( \
+	    $(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
+	    $(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
+-include config-cc.mak
+
 TESTS+=hello-s390x
 TESTS+=csst
 TESTS+=ipm
@@ -18,20 +25,20 @@ TESTS+=signals-s390x
 TESTS+=branch-relative-long
 TESTS+=noexec
 
+ifneq ($(CROSS_CC_HAS_Z14),)
 Z14_TESTS=vfminmax
 vfminmax: LDFLAGS+=-lm
 $(Z14_TESTS): CFLAGS+=-march=z14 -O2
+TESTS+=$(Z14_TESTS)
+endif
 
-TESTS+=$(if $(shell $(CC) -march=z14 -S -o /dev/null -xc /dev/null \
-			 >/dev/null 2>&1 && echo OK),$(Z14_TESTS))
-
-VECTOR_TESTS=vxeh2_vs
-VECTOR_TESTS+=vxeh2_vcvt
-VECTOR_TESTS+=vxeh2_vlstr
-$(VECTOR_TESTS): CFLAGS+=-march=z15 -O2
-
-TESTS+=$(if $(shell $(CC) -march=z15 -S -o /dev/null -xc /dev/null \
-			 >/dev/null 2>&1 && echo OK),$(VECTOR_TESTS))
+ifneq ($(CROSS_CC_HAS_Z15),)
+Z15_TESTS=vxeh2_vs
+Z15_TESTS+=vxeh2_vcvt
+Z15_TESTS+=vxeh2_vlstr
+$(Z15_TESTS): CFLAGS+=-march=z15 -O2
+TESTS+=$(Z15_TESTS)
+endif
 
 ifneq ($(HAVE_GDB_BIN),)
 GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
-- 
2.31.1


Re: [PATCH 1/3] tests/tcg/s390x: Test compiler flags only once, not every time
Posted by Richard Henderson 3 years, 2 months ago
On 10/13/22 11:27, Thomas Huth wrote:
> This is common practice, see the Makefile.target in the aarch64
> folder for example.
> 
> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   tests/tcg/s390x/Makefile.target | 27 +++++++++++++++++----------
>   1 file changed, 17 insertions(+), 10 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

Re: [PATCH 1/3] tests/tcg/s390x: Test compiler flags only once, not every time
Posted by David Hildenbrand 3 years, 2 months ago
On 12.10.22 20:27, Thomas Huth wrote:
> This is common practice, see the Makefile.target in the aarch64
> folder for example.
> 
> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   tests/tcg/s390x/Makefile.target | 27 +++++++++++++++++----------
>   1 file changed, 17 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.target
> index c830313e67..29c8af8207 100644
> --- a/tests/tcg/s390x/Makefile.target
> +++ b/tests/tcg/s390x/Makefile.target
> @@ -1,6 +1,13 @@
>   S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
>   VPATH+=$(S390X_SRC)
>   CFLAGS+=-march=zEC12 -m64
> +
> +config-cc.mak: Makefile
> +	$(quiet-@)( \
> +	    $(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
> +	    $(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
> +-include config-cc.mak
> +
>   TESTS+=hello-s390x
>   TESTS+=csst
>   TESTS+=ipm
> @@ -18,20 +25,20 @@ TESTS+=signals-s390x
>   TESTS+=branch-relative-long
>   TESTS+=noexec
>   
> +ifneq ($(CROSS_CC_HAS_Z14),)
>   Z14_TESTS=vfminmax
>   vfminmax: LDFLAGS+=-lm
>   $(Z14_TESTS): CFLAGS+=-march=z14 -O2
> +TESTS+=$(Z14_TESTS)
> +endif
>   
> -TESTS+=$(if $(shell $(CC) -march=z14 -S -o /dev/null -xc /dev/null \
> -			 >/dev/null 2>&1 && echo OK),$(Z14_TESTS))
> -
> -VECTOR_TESTS=vxeh2_vs
> -VECTOR_TESTS+=vxeh2_vcvt
> -VECTOR_TESTS+=vxeh2_vlstr
> -$(VECTOR_TESTS): CFLAGS+=-march=z15 -O2
> -
> -TESTS+=$(if $(shell $(CC) -march=z15 -S -o /dev/null -xc /dev/null \
> -			 >/dev/null 2>&1 && echo OK),$(VECTOR_TESTS))
> +ifneq ($(CROSS_CC_HAS_Z15),)
> +Z15_TESTS=vxeh2_vs
> +Z15_TESTS+=vxeh2_vcvt
> +Z15_TESTS+=vxeh2_vlstr
> +$(Z15_TESTS): CFLAGS+=-march=z15 -O2
> +TESTS+=$(Z15_TESTS)
> +endif
>   
>   ifneq ($(HAVE_GDB_BIN),)
>   GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Thanks,

David / dhildenb