osmo-trx: different output in convolve test between x86 vs neon vs neon-vfpv4
I attach the output while running convolve_test (previously in utils/ directory) on a x86 with ssse3 and sse4.1. Now that I am implementing the infrastructure to run tests in ARM (see #2721), I found out that the output for this test is different in neon and neon-vfpv4 cases. The output is also different between the 2 neon ones. The arm testsuite.log files contains the diff aginst the x86 one (as it was the first one I used and the tool was initially wrote against it, it's the "expected" output").
I don't know if that's expected or if it's actually a bug. Assigning to Tom as he seems to be the one knowing more about this topic and who wrote the initial code for ARM.
I still need to look into the specific numbers as well as reproduce the issue locally, however, I suspect the issue relates to IEEE-754 floating point conformance.
The ARMv7 NEON instruction set is not IEEE-754 compliant, which can very well lead to inconsistent floating point output across builds.
An interesting question would be if the test fails on ARMv8 where the NEON instruction set is IEEE-754 compliant.
I will have more details shortly.
Thanks for looking into it. If you have time and didn't see it yet, please read https://lists.osmocom.org/pipermail/openbsc/2018-January/011655.html