Должна быть нулевая разница, но проверьте, как я видел, действительно дрянные, старые версии GCC создают разные коды ARM / Thumb между двумя. Один оптимизировал сравнение после вычитания, чтобы установить нулевой флаг, а другой - нет. Был очень хромым.
Повторное вложение не должно иметь никакого значения. Не уверен насчет SSE / векторизации, но, опять же, я ожидаю, что разницы не будет.