Нет.
В наборе команд NEON (как и в любом другом векторе ISA *) имеется аппаратная примерная инструкция обратного квадратного корня, которая на намного быстрее , чем та, которую часто цитируют.Вместо этого используйте его, если взаимный квадратный корень на самом деле является узким местом производительности в вашем коде (как всегда, сначала в тесте; не тратьте время на оптимизацию чего-либо, если у вас нет веских доказательств того, что его производительность имеет значение).
Вы можете получитьдля этого, написав свою собственную сборку (встроенную или иную) с помощью инструкции vrsqrte.f32
или из C, Objective-C или C ++, включив заголовок <arm_neon.h>
и используя собственный vrsqrte_f32( )
.
[*] На SSE это rsqrtss
/ rsqrtps
;на Altivec это frsqrte
/ vrsqrte
.