-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
When compiling with gcc 11.2.0, smithWatermanBackTrack
isn't actually inlined, and this results in both the AVX2 and AVX-512 implementations calling the same copy of it. This is bad because each copy needs to be specialized to use either AVX2 instructions or AVX-512 instructions. Here's the relevant bits from objdump -d build/native/libgkl_smithwaterman.so
:
0000000000001610 <_Z19runSWOnePairBT_avx2iiiiPhS_ssaPciPjPi>:
193c: e8 8f f7 ff ff call 10d0 <_Z22smithWatermanBackTrackP10dnaSeqPairiiiiPii@plt>
0000000000002a80 <_Z21runSWOnePairBT_avx512iiiiPhS_ssaPciPjPi>:
2dec: e8 df e2 ff ff call 10d0 <_Z22smithWatermanBackTrackP10dnaSeqPairiiiiPii@plt>
I think it should at least be changed to static inline
, and possibly renamed to CONCAT(smithWatermanBackTrack_,SIMD_ENGINE)
.
Metadata
Metadata
Assignees
Labels
No labels