highway icon indicating copy to clipboard operation
highway copied to clipboard

Highway 1.0.4 + aarch64 + GCC 13.0.1: test 88 and 89 failures

Open eclipseo opened this issue 1 year ago • 6 comments

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,

eclipseo avatar Mar 18 '23 18:03 eclipseo

What do you refer to with 13.0.1 ? I do not see any release yet.

malaterre avatar Mar 19 '23 08:03 malaterre

gcc-13.0.1 is latest git snapshot, propably.

stefson avatar Mar 19 '23 08:03 stefson

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.

jan-wassenberg avatar Mar 20 '23 15:03 jan-wassenberg

I was hoping to run this in Godbolt but looks like they do not support that (qemu) yet: https://gcc.godbolt.org/z/1qMM3bz8r

jan-wassenberg avatar May 17 '23 14:05 jan-wassenberg

Any news on this?

stefson avatar Mar 01 '24 09:03 stefson

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?

jan-wassenberg avatar Apr 09 '24 09:04 jan-wassenberg