highway
highway copied to clipboard
Highway 1.0.4 + aarch64 + GCC 13.0.1: test 88 and 89 failures
The following tests are failing on AARCH64 with GCC 13.0.1 on the latest release:
The following tests FAILED:
88 - HighwayTestGroup/HighwayTest.TestAllIsInf/NEON # GetParam() = 268435456 (Subprocess aborted)
89 - HighwayTestGroup/HighwayTest.TestAllIsInf/NEON_WITHOUT_AES # GetParam() = 536870912 (Subprocess aborted)
Errors while running CTest
Here is the output:
Running main() from /builddir/build/BUILD/googletest-1.13.0/googletest/src/gtest_main.cc
Note: Google Test filter = HighwayTestGroup/HighwayTest.TestAllIsInf/NEON
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from HighwayTestGroup/HighwayTest
[ RUN ] HighwayTestGroup/HighwayTest.TestAllIsInf/NEON
f64 expect [0+ ->]:
-nan,
f64 actual [0+ ->]:
0,
Abort at /builddir/build/BUILD/highway-1.0.4/hwy/highway_test.cc:380: NEON, f64x1 lane 0 mismatch: expected '-nan', got '0'.
Start 176: HwyCombineTestGroup/HwyCombineTest.TestAllUpperHalf/NEON_WITHOUT_AES # GetParam() = 536870912
145/513 Test #89: HighwayTestGroup/HighwayTest.TestAllIsInf/NEON_WITHOUT_AES # GetParam() = 536870912 ...................................Subprocess aborted***Exception: 0.33 sec
Running main() from /builddir/build/BUILD/googletest-1.13.0/googletest/src/gtest_main.cc
Note: Google Test filter = HighwayTestGroup/HighwayTest.TestAllIsInf/NEON_WITHOUT_AES
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from HighwayTestGroup/HighwayTest
[ RUN ] HighwayTestGroup/HighwayTest.TestAllIsInf/NEON_WITHOUT_AES
f64 expect [0+ ->]:
-nan,
f64 actual [0+ ->]:
0,
What do you refer to with 13.0.1 ? I do not see any release yet.
gcc-13.0.1 is latest git snapshot, propably.
Thanks for reporting. Looks like IsInf is not returning true as expected.
Would you mind inserting these lines before line 380 of highway_test.cc and sharing the output?
Print(d, "input should be inf", inf);
Print(d, "is_inf mask should be -nan", VecFromMask(d, IsInf(inf)));
With clang I am seeing inf and -nan as expected.
I was hoping to run this in Godbolt but looks like they do not support that (qemu) yet: https://gcc.godbolt.org/z/1qMM3bz8r
Any news on this?
Yes, I'm currently seeing NEON tests (run_tests.sh with -11 changed to -13) pass. This is GCC 13.2.0. Is it an option to update to that compiler?