Attention is currently required from: pespin. Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/30966
to look at the new patch set (#2).
Change subject: ms: adjust float<->integral type conversion ......................................................................
ms: adjust float<->integral type conversion
Given integral type A and non integral type B and depending on rounding mode, optimization, compiler, and phase of the moon A(A)*B != A(A*B) so split the two cases.
While at it, also make the template automagically work for complex types instead of requiring manual casts, the general idea here is to allow inlining and vectorization by treating all args as plain arrays, which is fine.
This works as expected with -tune=native, x64 implies sse2, and we do not target any neon-less arm versions either.
Clang only array length hints can improve this even more.
Change-Id: I93f077f967daf2ed382d12cc20a54846b3688634 --- M Transceiver52M/Complex.h M Transceiver52M/ms/ms.cpp M Transceiver52M/ms/ms.h M Transceiver52M/ms/ms_rx_burst_test.cpp M Transceiver52M/ms/ms_rx_lower.cpp M Transceiver52M/ms/ms_upper.cpp 6 files changed, 56 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/66/30966/2