--- ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/HMMSearchDialogController.cpp.sse 2021-10-11 15:41:23.000000000 +0900 +++ ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/HMMSearchDialogController.cpp 2021-11-09 01:34:30.052988784 +0900 @@ -81,7 +81,9 @@ QWidget* w = createController->getWidget(); QVBoxLayout* l = qobject_cast(layout()); l->insertWidget(1, w); +#if defined (__SSE2__) algoCombo->addItem(tr("SSE optimized"), HMMSearchAlgo_SSEOptimized); +#endif algoCombo->addItem(tr("Conservative"), HMMSearchAlgo_Conservative); okButton = buttonBox->button(QDialogButtonBox::Ok); --- ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch.cpp.sse 2021-10-11 15:41:23.000000000 +0900 +++ ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch.cpp 2021-11-09 01:34:30.052988784 +0900 @@ -56,9 +56,15 @@ tophit_s* dhit = AllocTophits(200); // domain hits: 200=lumpsize int nseq = 0; // number of sequences searched +#if defined(__SSE2__) if (s.alg == HMMSearchAlgo_SSEOptimized) { main_loop_opt(hmm, seq, seqLen, &thresh, do_forward, do_null2, do_xnu, histogram, ghit, dhit, &nseq, si, sseScoring); - } else if (s.alg == HMMSearchAlgo_Conservative) { + } +#else + if (0) { + } +#endif + else if (s.alg == HMMSearchAlgo_Conservative) { main_loop_serial(hmm, seq, seqLen, &thresh, do_forward, do_null2, do_xnu, histogram, ghit, dhit, &nseq, si); } else { assert(false && "bad hmmsearch algorithm selected"); --- ugene-42.0/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.cpp.sse 2022-03-09 15:37:14.586340751 +0900 +++ ugene-42.0/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.cpp 2022-03-09 15:47:23.559077800 +0900 @@ -1,4 +1,5 @@ #include +#if defined (__SSE2__) #include #include @@ -488,3 +489,4 @@ QList sseScoring(unsigned char* d return results; } +#endif --- ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.h.sse 2021-10-11 15:41:23.000000000 +0900 +++ ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.h 2021-11-09 01:34:30.052988784 +0900 @@ -1,6 +1,8 @@ #ifndef __HMMSEARCH_SSE_H__ #define __HMMSEARCH_SSE_H__ +#if defined(__SSE2__) QList sseScoring(unsigned char* dsq, int seqlen, plan7_s* hmm, HMMSeqGranulation* gr, U2::TaskStateInfo& ti); +#endif #endif // __HMMSEARCH_SSE_H__