>-----Original Message-----
>From: ci_not...@linaro.org <ci_not...@linaro.org>
>Sent: Sunday, July 11, 2021 9:59 PM
>To: tcwg-validat...@linaro.org; Liu, Hongtao <hongtao....@intel.com>; linaro-
>toolch...@lists.linaro.org
>Subject: [CI-NOTIFY]: TCWG Bisect tcwg_cross/gnu-master-aarch64-
>build_cross - Build # 35 - Successful!
>
>Successfully identified regression in *glibc* in CI configuration
>tcwg_cross/gnu-master-aarch64-build_cross. So far, this commit has
>regressed CI configurations:
> - tcwg_cross/gnu-master-aarch64-build_cross
>
>Culprit:
><cut>
>commit 6ec6c77867af4ddfec7323e0ac6ede89effca852
>Author: liuhongt <hongtao....@intel.com>
>Date: Wed Jul 7 10:07:59 2021 +0800
>
> soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
>__eqhf2/__nehf2
>
> 1. Add __extendhfdf2/__extendhfsf2 to return an IEEE half converted to
>IEEE double/single.
> 2. Add __truncdfhf2/__extendsfhf2 to truncate IEEE double/single into IEEE
>half.
> 3. Add __eqhf2/__nehf2 to return 0 if a == b and a,b are not NAN,
>otherwise return 1.
>
> These are needed by x86 _Float16:
>
> https://software.intel.com/content/www/us/en/develop/download/intel-
>avx512-fp16-architecture-specification.html
>
> support in GCC.
></cut>
>
>Results regressed to (for first_bad ==
>6ec6c77867af4ddfec7323e0ac6ede89effca852)
># reset_artifacts:
>-10
># true:
>0
># build_abe binutils:
>1
># build_abe stage1:
>2
># build_abe linux:
>3
># First few build errors in logs:
># 00:00:14 make[2]: *** [/home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/start.o] Error 1 # 00:00:14 make[2]: ***
>[/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:499: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/start.os] Error 1 # 00:00:14 make[2]: ***
>[/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/crtn.o] Error 1 # 00:00:14 make[2]: ***
>[/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/crti.o] Error 1 # 00:00:14 make[2]: ***
>[../o-iterator.mk:9: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/check_fds.o] Error 1 # 00:00:14 make[2]:
>*** [../o-iterator.mk:9: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/check_fds.os] Error 1 #
>00:00:14 ../sysdeps/aarch64/nptl/tls.h:91:19: error: ‘__builtin_thread_pointer’
>is not supported on this target # 00:00:14 make[2]: *** [/home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/sysd-rules:485: /home/tcwg-
>buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>linux-gnu/glibc-glibc.git~master/csu/libc-tls.o] Error 1 #
>00:00:14 ../sysdeps/unix/sysv/linux/aarch64/sysdep.h:190:17: error: invalid
>register name for ‘_x0’
># 00:00:14 ../sysdeps/unix/sysv/linux/aarch64/sysdep.h:174:22: error: invalid
>register name for ‘_x8’
I'm not sure why adding hf soft-fp resulted in such error, anyone can help look
into it?
>
>from (for last_good == b46cfcef3f7dab8e90729c6616ac1420f2642245)
># reset_artifacts:
>-10
># true:
>0
># build_abe binutils:
>1
># build_abe stage1:
>2
># build_abe linux:
>3
># build_abe glibc:
>4
># build_abe stage2:
>5
># build_abe qemu:
>6
>
>Artifacts of last_good build: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-
>master-aarch64-build_cross/35/artifact/artifacts/build-
>b46cfcef3f7dab8e90729c6616ac1420f2642245/
>Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-
>master-aarch64-build_cross/35/artifact/artifacts/build-
>6ec6c77867af4ddfec7323e0ac6ede89effca852/
>Build top page/logs: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-
>aarch64-build_cross/35/
>
>Configuration details:
>
>
>Reproduce builds:
><cut>
>mkdir investigate-glibc-6ec6c77867af4ddfec7323e0ac6ede89effca852
>cd investigate-glibc-6ec6c77867af4ddfec7323e0ac6ede89effca852
>
>git clone https://git.linaro.org/toolchain/jenkins-scripts
>
>mkdir -p artifacts/manifests
>curl -o artifacts/manifests/build-baseline.sh
>https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>build_cross/35/artifact/artifacts/manifests/build-baseline.sh --fail curl -o
>artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_cross-
>bisect-gnu-master-aarch64-build_cross/35/artifact/artifacts/manifests/build-
>parameters.sh --fail curl -o artifacts/test.sh
>https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>build_cross/35/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh
>
># Reproduce the baseline build (build all pre-requisites) ./jenkins-
>scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh
>
>cd glibc
>
># Reproduce first_bad build
>git checkout --detach 6ec6c77867af4ddfec7323e0ac6ede89effca852
>../artifacts/test.sh
>
># Reproduce last_good build
>git checkout --detach b46cfcef3f7dab8e90729c6616ac1420f2642245
>../artifacts/test.sh
>
>cd ..
></cut>
>
>History of pending regressions and results:
>https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-
>local/ci/tcwg_cross/gnu-master-aarch64-build_cross
>
>Artifacts: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>build_cross/35/artifact/artifacts/
>Build log: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>build_cross/35/consoleText
>
>Full commit (up to 1000 lines):
><cut>
>commit 6ec6c77867af4ddfec7323e0ac6ede89effca852
>Author: liuhongt <hongtao....@intel.com>
>Date: Wed Jul 7 10:07:59 2021 +0800
>
> soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
>__eqhf2/__nehf2
>
> 1. Add __extendhfdf2/__extendhfsf2 to return an IEEE half converted to
>IEEE double/single.
> 2. Add __truncdfhf2/__extendsfhf2 to truncate IEEE double/single into IEEE
>half.
> 3. Add __eqhf2/__nehf2 to return 0 if a == b and a,b are not NAN,
>otherwise return 1.
>
> These are needed by x86 _Float16:
>
> https://software.intel.com/content/www/us/en/develop/download/intel-
>avx512-fp16-architecture-specification.html
>
> support in GCC.
>---
> soft-fp/eqhf2.c | 49
>+++++++++++++++++++++++++++++++++++++++++++++++
> soft-fp/extendhfdf2.c | 53
>+++++++++++++++++++++++++++++++++++++++++++++++++++
> soft-fp/extendhfsf2.c | 49
>+++++++++++++++++++++++++++++++++++++++++++++++
> soft-fp/half.h | 2 ++
> soft-fp/truncdfhf2.c | 52
>++++++++++++++++++++++++++++++++++++++++++++++++++
> soft-fp/truncsfhf2.c | 48
>++++++++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 253 insertions(+)
>
>diff --git a/soft-fp/eqhf2.c b/soft-fp/eqhf2.c new file mode 100644 index
>0000000000..6d6634e5c5
>--- /dev/null
>+++ b/soft-fp/eqhf2.c
>@@ -0,0 +1,49 @@
>+/* Software floating-point emulation.
>+ Return 0 iff a == b, 1 otherwise
>+ Copyright (C) 2021 Free Software Foundation, Inc.
>+ This file is part of the GNU C Library.
>+
>+ The GNU C Library is free software; you can redistribute it and/or
>+ modify it under the terms of the GNU Lesser General Public
>+ License as published by the Free Software Foundation; either
>+ version 2.1 of the License, or (at your option) any later version.
>+
>+ In addition to the permissions in the GNU Lesser General Public
>+ License, the Free Software Foundation gives you unlimited
>+ permission to link the compiled version of this file into
>+ combinations with other programs, and to distribute those
>+ combinations without any restriction coming from the use of this
>+ file. (The Lesser General Public License restrictions do apply in
>+ other respects; for example, they cover modification of the file,
>+ and distribution when not linked into a combine executable.)
>+
>+ The GNU C Library is distributed in the hope that it will be useful,
>+ but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>+ Lesser General Public License for more details.
>+
>+ You should have received a copy of the GNU Lesser General Public
>+ License along with the GNU C Library; if not, see
>+ <http://www.gnu.org/licenses/>. */
>+
>+#include "soft-fp.h"
>+#include "half.h"
>+
>+CMPtype
>+__eqhf2 (HFtype a, HFtype b)
>+{
>+ FP_DECL_EX;
>+ FP_DECL_H (A);
>+ FP_DECL_H (B);
>+ CMPtype r;
>+
>+ FP_INIT_EXCEPTIONS;
>+ FP_UNPACK_RAW_H (A, a);
>+ FP_UNPACK_RAW_H (B, b);
>+ FP_CMP_EQ_H (r, A, B, 1);
>+ FP_HANDLE_EXCEPTIONS;
>+
>+ return r;
>+}
>+
>+strong_alias (__eqhf2, __nehf2);
>diff --git a/soft-fp/extendhfdf2.c b/soft-fp/extendhfdf2.c new file mode
>100644 index 0000000000..337ba791d4
>--- /dev/null
>+++ b/soft-fp/extendhfdf2.c
>@@ -0,0 +1,53 @@
>+/* Software floating-point emulation.
>+ Return an IEEE half converted to IEEE double
>+ Copyright (C) 2021 Free Software Foundation, Inc.
>+ This file is part of the GNU C Library.
>+
>+ The GNU C Library is free software; you can redistribute it and/or
>+ modify it under the terms of the GNU Lesser General Public
>+ License as published by the Free Software Foundation; either
>+ version 2.1 of the License, or (at your option) any later version.
>+
>+ In addition to the permissions in the GNU Lesser General Public
>+ License, the Free Software Foundation gives you unlimited
>+ permission to link the compiled version of this file into
>+ combinations with other programs, and to distribute those
>+ combinations without any restriction coming from the use of this
>+ file. (The Lesser General Public License restrictions do apply in
>+ other respects; for example, they cover modification of the file,
>+ and distribution when not linked into a combine executable.)
>+
>+ The GNU C Library is distributed in the hope that it will be useful,
>+ but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>+ Lesser General Public License for more details.
>+
>+ You should have received a copy of the GNU Lesser General Public
>+ License along with the GNU C Library; if not, see
>+ <http://www.gnu.org/licenses/>. */
>+
>+#define FP_NO_EXACT_UNDERFLOW
>+#include "soft-fp.h"
>+#include "half.h"
>+#include "double.h"
>+
>+DFtype
>+__extendhfdf2 (HFtype a)
>+{
>+ FP_DECL_EX;
>+ FP_DECL_H (A);
>+ FP_DECL_D (R);
>+ DFtype r;
>+
>+ FP_INIT_EXCEPTIONS;
>+ FP_UNPACK_RAW_H (A, a);
>+#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
>+ FP_EXTEND (D, H, 2, 1, R, A);
>+#else
>+ FP_EXTEND (D, H, 1, 1, R, A);
>+#endif
>+ FP_PACK_RAW_D (r, R);
>+ FP_HANDLE_EXCEPTIONS;
>+
>+ return r;
>+}
>diff --git a/soft-fp/extendhfsf2.c b/soft-fp/extendhfsf2.c new file mode
>100644 index 0000000000..a02f46d9a9
>--- /dev/null
>+++ b/soft-fp/extendhfsf2.c
>@@ -0,0 +1,49 @@
>+/* Software floating-point emulation.
>+ Return an IEEE half converted to IEEE single
>+ Copyright (C) 2021 Free Software Foundation, Inc.
>+ This file is part of the GNU C Library.
>+
>+ The GNU C Library is free software; you can redistribute it and/or
>+ modify it under the terms of the GNU Lesser General Public
>+ License as published by the Free Software Foundation; either
>+ version 2.1 of the License, or (at your option) any later version.
>+
>+ In addition to the permissions in the GNU Lesser General Public
>+ License, the Free Software Foundation gives you unlimited
>+ permission to link the compiled version of this file into
>+ combinations with other programs, and to distribute those
>+ combinations without any restriction coming from the use of this
>+ file. (The Lesser General Public License restrictions do apply in
>+ other respects; for example, they cover modification of the file,
>+ and distribution when not linked into a combine executable.)
>+
>+ The GNU C Library is distributed in the hope that it will be useful,
>+ but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>+ Lesser General Public License for more details.
>+
>+ You should have received a copy of the GNU Lesser General Public
>+ License along with the GNU C Library; if not, see
>+ <http://www.gnu.org/licenses/>. */
>+
>+#define FP_NO_EXACT_UNDERFLOW
>+#include "soft-fp.h"
>+#include "half.h"
>+#include "single.h"
>+
>+SFtype
>+__extendhfsf2 (HFtype a)
>+{
>+ FP_DECL_EX;
>+ FP_DECL_H (A);
>+ FP_DECL_S (R);
>+ SFtype r;
>+
>+ FP_INIT_EXCEPTIONS;
>+ FP_UNPACK_RAW_H (A, a);
>+ FP_EXTEND (S, H, 1, 1, R, A);
>+ FP_PACK_RAW_S (r, R);
>+ FP_HANDLE_EXCEPTIONS;
>+
>+ return r;
>+}
>diff --git a/soft-fp/half.h b/soft-fp/half.h index ca2c1fad03..70af2712fc
>100644
>--- a/soft-fp/half.h
>+++ b/soft-fp/half.h
>@@ -167,4 +167,6 @@ union _FP_UNION_H
> #define _FP_FRAC_HIGH_RAW_H(X) _FP_FRAC_HIGH_1 (X)
> #define _FP_FRAC_HIGH_DW_H(X) _FP_FRAC_HIGH_1 (X)
>
>+#define FP_CMP_EQ_H(r, X, Y, ex) _FP_CMP_EQ (H, 1, (r), X, Y, (ex))
>+
> #endif /* !SOFT_FP_HALF_H */
>diff --git a/soft-fp/truncdfhf2.c b/soft-fp/truncdfhf2.c new file mode 100644
>index 0000000000..8bcb278769
>--- /dev/null
>+++ b/soft-fp/truncdfhf2.c
>@@ -0,0 +1,52 @@
>+/* Software floating-point emulation.
>+ Truncate IEEE double into IEEE half.
>+ Copyright (C) 2021 Free Software Foundation, Inc.
>+ This file is part of the GNU C Library.
>+
>+ The GNU C Library is free software; you can redistribute it and/or
>+ modify it under the terms of the GNU Lesser General Public
>+ License as published by the Free Software Foundation; either
>+ version 2.1 of the License, or (at your option) any later version.
>+
>+ In addition to the permissions in the GNU Lesser General Public
>+ License, the Free Software Foundation gives you unlimited
>+ permission to link the compiled version of this file into
>+ combinations with other programs, and to distribute those
>+ combinations without any restriction coming from the use of this
>+ file. (The Lesser General Public License restrictions do apply in
>+ other respects; for example, they cover modification of the file,
>+ and distribution when not linked into a combine executable.)
>+
>+ The GNU C Library is distributed in the hope that it will be useful,
>+ but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>+ Lesser General Public License for more details.
>+
>+ You should have received a copy of the GNU Lesser General Public
>+ License along with the GNU C Library; if not, see
>+ <http://www.gnu.org/licenses/>. */
>+
>+#include "soft-fp.h"
>+#include "half.h"
>+#include "double.h"
>+
>+HFtype
>+__truncdfhf2 (DFtype a)
>+{
>+ FP_DECL_EX;
>+ FP_DECL_D (A);
>+ FP_DECL_H (R);
>+ HFtype r;
>+
>+ FP_INIT_ROUNDMODE;
>+ FP_UNPACK_SEMIRAW_D (A, a);
>+#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
>+ FP_TRUNC (H, D, 1, 2, R, A);
>+#else
>+ FP_TRUNC (H, D, 1, 1, R, A);
>+#endif
>+ FP_PACK_SEMIRAW_H (r, R);
>+ FP_HANDLE_EXCEPTIONS;
>+
>+ return r;
>+}
>diff --git a/soft-fp/truncsfhf2.c b/soft-fp/truncsfhf2.c new file mode 100644
>index 0000000000..25bee29f7f
>--- /dev/null
>+++ b/soft-fp/truncsfhf2.c
>@@ -0,0 +1,48 @@
>+/* Software floating-point emulation.
>+ Truncate IEEE single into IEEE half.
>+ Copyright (C) 2021 Free Software Foundation, Inc.
>+ This file is part of the GNU C Library.
>+
>+ The GNU C Library is free software; you can redistribute it and/or
>+ modify it under the terms of the GNU Lesser General Public
>+ License as published by the Free Software Foundation; either
>+ version 2.1 of the License, or (at your option) any later version.
>+
>+ In addition to the permissions in the GNU Lesser General Public
>+ License, the Free Software Foundation gives you unlimited
>+ permission to link the compiled version of this file into
>+ combinations with other programs, and to distribute those
>+ combinations without any restriction coming from the use of this
>+ file. (The Lesser General Public License restrictions do apply in
>+ other respects; for example, they cover modification of the file,
>+ and distribution when not linked into a combine executable.)
>+
>+ The GNU C Library is distributed in the hope that it will be useful,
>+ but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>+ Lesser General Public License for more details.
>+
>+ You should have received a copy of the GNU Lesser General Public
>+ License along with the GNU C Library; if not, see
>+ <http://www.gnu.org/licenses/>. */
>+
>+#include "soft-fp.h"
>+#include "half.h"
>+#include "single.h"
>+
>+HFtype
>+__truncsfhf2 (SFtype a)
>+{
>+ FP_DECL_EX;
>+ FP_DECL_S (A);
>+ FP_DECL_H (R);
>+ HFtype r;
>+
>+ FP_INIT_ROUNDMODE;
>+ FP_UNPACK_SEMIRAW_S (A, a);
>+ FP_TRUNC (H, S, 1, 1, R, A);
>+ FP_PACK_SEMIRAW_H (r, R);
>+ FP_HANDLE_EXCEPTIONS;
>+
>+ return r;
>+}
></cut>
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain