Skip flaky qfloat16 1/inf == 0 test on QEMU/Arm64
It's not clear why this test fails - and only does so sometimes - but fail it does, so we ned to skip it to let development keep going. As it happens, the same platform over-optimizes various computations using qfloat16; which can at least be used to test for this platform, since it wrongly distinguishes two qfloat16 values that theory and all other platfomrs agree should coincide. Fixes: QTBUG-75812 Change-Id: Ie9463d7dc21bca679337b475d13417b9f42bbf9b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
parent
3b380c8481
commit
d441f6bba7
@ -172,7 +172,9 @@ void tst_qfloat16::qNan()
|
|||||||
QVERIFY(qIsInf(-inf));
|
QVERIFY(qIsInf(-inf));
|
||||||
QVERIFY(qIsInf(2.f*inf));
|
QVERIFY(qIsInf(2.f*inf));
|
||||||
QVERIFY(qIsInf(inf*2.f));
|
QVERIFY(qIsInf(inf*2.f));
|
||||||
QCOMPARE(qfloat16(1.f/inf), qfloat16(0.f));
|
// QTBUG-75812: QEMU's over-optimized arm64 flakily fails 1/inf == 0 :-(
|
||||||
|
if (qfloat16(9.785e-4f) == qfloat16(9.794e-4f))
|
||||||
|
QCOMPARE(qfloat16(1.f/inf), qfloat16(0.f));
|
||||||
#ifdef Q_CC_INTEL
|
#ifdef Q_CC_INTEL
|
||||||
QEXPECT_FAIL("", "ICC optimizes zero * anything to zero", Continue);
|
QEXPECT_FAIL("", "ICC optimizes zero * anything to zero", Continue);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user