diff --git a/src/workers/MultiWorker.cpp b/src/workers/MultiWorker.cpp index a25665df..9b0877b8 100644 --- a/src/workers/MultiWorker.cpp +++ b/src/workers/MultiWorker.cpp @@ -54,17 +54,24 @@ bool MultiWorker::selfTest() using namespace xmrig; if (m_thread->algorithm() == CRYPTONIGHT) { - return verify(VARIANT_0, test_output_v0) && - verify(VARIANT_1, test_output_v1) && - verify(VARIANT_2, test_output_v2) && - verify(VARIANT_XTL, test_output_xtl) && - verify(VARIANT_MSR, test_output_msr) && - verify(VARIANT_XAO, test_output_xao) && - verify(VARIANT_RTO, test_output_rto) && -# ifndef XMRIG_NO_CN_GPU - verify(VARIANT_GPU, test_output_gpu) && -# endif - verify(VARIANT_HALF, test_output_half); + const bool rc = verify(VARIANT_0, test_output_v0) && + verify(VARIANT_1, test_output_v1) && + verify(VARIANT_2, test_output_v2) && + verify(VARIANT_XTL, test_output_xtl) && + verify(VARIANT_MSR, test_output_msr) && + verify(VARIANT_XAO, test_output_xao) && + verify(VARIANT_RTO, test_output_rto) && + verify(VARIANT_HALF, test_output_half); + +# ifndef XMRIG_NO_CN_GPU + if (!rc || N > 1) { + return rc; + } + + return verify(VARIANT_GPU, test_output_gpu); +# else + return rc; +# endif } # ifndef XMRIG_NO_AEON