Hi,
Probably these errors are false detections caused by precision errors in floating-point arithmetic. Please ignore the mail. We'll update the tests. I apologize for the false detection.
Details are as follows. The primary purpose of this TP (https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0683/0683_0...) is to verify OpenMP SIMD reduction. However, since -fopenmp is not specified, !$omp simd is treated as a comment. Consequently, we are currently verifying the results of sequential calculations for single-precision complex numbers.
In this TP, we determine whether the result is OK or NG by calculating the size of the complex difference in the accumulation results for single-precision complex numbers. Due to SLP vectorization, a difference arose in the accumulation results, and the difference between the calculated value and the expected value was 3 ULP in the real part and 5 ULP in the imaginary part. Consequently, the size of the complex difference is 5.8309517, which exceeds the threshold of 5.0, resulting in an NG. Since the difference is approximately 5 ULP, it is considered to be within the range of rounding errors associated with single-precision complex integration.
if (abs(ss-result) < 5.0) then print *, "PASS" else print *, ss, abs(ss-result) endif
Expected values: (-15069242.0, -9596797.00) Actual values: (-15069245.0, -9596802.00)
Therefore, we make the following two corrections. ・To verify OpenMP SIMD reduction, which is the original objective, specify the -fopenmp option. ・Due to vectorization, a difference of 3 ULP in the real part and 5 ULP in the imaginary part has arisen in the single-precision complex multiplication. In this test, the size of the complex difference is calculated as abs(ss - result)\ , but the current threshold of 5.0 does not allow for a complex difference of 5.8309517. To allow for rounding errors of approximately 5 ULP as complex differences, the threshold will be relaxed from 5.0 to 6.0.
Best regards, Yasuyuki Ohno
Software Development Div., Advanced Technology Development Unit, Fujitsu Research, Fujitsu Limited, JAPAN.
________________________________ 差出人: ci_notify@linaro.org ci_notify@linaro.org 送信: 2026 年 4 月 30 日 (木曜日) 0:41 宛先: contact-ci-compiler-test-suite@cs.jp.fujitsu.com contact-ci-compiler-test-suite@cs.jp.fujitsu.com Cc: maxim.kuvyrkov@linaro.org maxim.kuvyrkov@linaro.org 件名: [Linaro-TCWG-CI] llvmorg-23-init-12953-g1348766d1d68: 1 regression on aarch64
[Some people who received this message don't often get email from ci_notify@linaro.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
Dear contributor,
Our automatic CI has detected problems related to your patch(es). Please find some details below.
In tcwg_flang_test/main-aarch64-Ofast-sve_vla, after: | commit llvmorg-23-init-12953-g1348766d1d68 | Author: Alexey Bataev a.bataev@outlook.com | Date: Sat Apr 25 07:27:36 2026 -0400 | | [SLP]Initial support for non-power-of-2 vectorization | | Enables non-power-of-2 vectorization within the SLP tree. The root nodes | are still required to be power-of-2, will be addressed in a follow-up | patches. | ... 4 lines of the commit log omitted.
Produces 1 regression: | | regressions.sum: | Running test-suite:Fujitsu/Fortran/0683 ... | FAIL: test-suite :: Fujitsu/Fortran/0683/Fujitsu-Fortran-0683_0101.test | # "FAIL" means : the execution of the compiled binary failed / output of the binary differs from the expected one
Used configuration : * Toolchain : cmake -G Ninja ../llvm/llvm "-DLLVM_ENABLE_PROJECTS=clang;lld;flang;clang-tools-extra" "-DLLVM_ENABLE_RUNTIMES=openmp" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install "-DLLVM_TARGETS_TO_BUILD=AArch64" -DCLANG_DEFAULT_LINKER=lld * Testsuite : export LD_LIBRARY_PATH=$\WORKSPACE/llvm-install/lib/aarch64-unknown-linux-gnu${LD_LIBRARY_PATH:+:$\LD_LIBRARY_PATH} cmake -GNinja -DCMAKE_C_COMPILER="$\WORKSPACE/llvm-install/bin2/clang" -DCMAKE_CXX_COMPILER="$\WORKSPACE/llvm-install/bin2/clang++" -DCMAKE_Fortran_COMPILER="$\WORKSPACE/llvm-install/bin2/flang-new" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_Fortran_FLAGS= -DCMAKE_C_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=scalable -mllvm -scalable-vectorization=preferred -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=scalable -mllvm -scalable-vectorization=preferred -DNDEBUG" -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=scalable -mllvm -scalable-vectorization=preferred -DNDEBUG" -DTEST_SUITE_FORTRAN=ON -DTEST_SUITE_SUBDIRS=Fujitsu -DTEST_SUITE_FUJITSU_WITH_FAST_MATH=ON "$\WORKSPACE/test/test-suite"
We track this bug report under https://linaro.atlassian.net/browse/LLVM-2211. Please let us know if you have a fix.
If you have any questions regarding this report, please ask on linaro-toolchain@lists.linaro.org mailing list.
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below contains the details of the failures, and the ways to reproduce a debug environment:
You can find the failure logs in *.log.1.xz files in * http://54.172.246.49:9090/jobs/tcwg_flang_test--main-aarch64-Ofast-sve_vla-b... The full lists of regressions and improvements as well as configure and make commands are in * http://54.172.246.49:9090/jobs/tcwg_flang_test--main-aarch64-Ofast-sve_vla-b... The list of [ignored] baseline and flaky failures are in * http://54.172.246.49:9090/jobs/tcwg_flang_test--main-aarch64-Ofast-sve_vla-b...
Fujitsu testsuite : https://github.com/fujitsu/compiler-test-suite/
Current build : http://54.172.246.49:9090/jobs/tcwg_flang_test--main-aarch64-Ofast-sve_vla-b... Reference build : http://54.172.246.49:9090/jobs/tcwg_flang_test--main-aarch64-Ofast-sve_vla-b...
Instruction to reproduce the build : https://gitlab.com/LinaroLtd/tcwg/ci/interesting-commits/-/raw/master/llvm/s...
Full commit : https://github.com/llvm/llvm-project/commit/1348766d1d686b8825bdaa2f6638c178...
linaro-toolchain@lists.linaro.org