Я не рекомендую делать это самостоятельно, если вы не очень хорошо разбираетесь в сборке. Использование SSE, скорее всего, потребует тщательной реорганизации ваших данных, как указывает Skizz , и преимущество в лучшем случае часто сомнительно.
Возможно, для вас было бы гораздо лучше написать очень маленькие циклы и держать ваши данные очень плотно организованными, и просто полагаться на то, что компилятор сделает это за вас. И компилятор Intel C, и GCC (начиная с 4.1) могут автоматически векторизовать ваш код и, вероятно, справятся с этим лучше, чем вы. (Просто добавьте -ftree-vectorize к своим CXXFLAGS.)
Редактировать : Еще одна вещь, которую я должен упомянуть, - это то, что несколько компиляторов поддерживают встроенные функции , которые, вероятно, в IMO проще использовать, чем синтаксис asm () или __asm {} .