ну у тебя ручное разворачивание цикла привело к том, что не addss, а addps стали эмиттиться?
Нет, просто цикл не смог развернуться из-за компилятора (MSVC). Изначальный код не оптимизировался потому, что он не знал кол-во двойных указателей, которые ему посылались, поэтому никакие флаги тут не помогли, и пришлось самому для каждого кол-ва каналов (1, 2, 4, 6, 8) делать свою версию этой функции