--- 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<QVBoxLayout *>(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-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.cpp.sse 2021-10-11 15:41:23.000000000 +0900
+++ ugene-40.1/src/plugins_3rdparty/hmm2/src/u_search/uhmmsearch_sse.cpp 2021-11-09 01:41:17.023845328 +0900
@@ -6,6 +6,7 @@
#include <hmmer2/funcs.h>
#include <assert.h>
+#if defined (__SSE2__)
#include <emmintrin.h>
using namespace U2;
@@ -490,3 +491,4 @@
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<float> sseScoring( unsigned char * dsq, int seqlen, plan7_s* hmm, HMMSeqGranulation * gr, U2::TaskStateInfo& ti );
+#endif
#endif // __HMMSEARCH_SSE_H__