[c++] sse, mmx, etc
на sparc SSE и MMX нет
лучше писать самому конечно.
для этого полно готовых оптимизированных библиотек, разве нет?
на линуксе intel xeon
какие фишки есть у спарков?
разве да, но нам нельзя использовать внешние либы.
Думаю, круче всего сделать так: возложить на компилятор, почитать ассемблер, который он генерирует, убедится, что ничего существенно улучшить нельзя. То, что может быть сделано автоматически, должно делаться автоматически.
Есть еще icc. Он SSE генерирует. SSE2 это вообще целочисленная арифметика, тебе это надо? Сами instruction set-ы легко найти в гугле. И еще, можно вместо ifdef лучше писать if, есть такая инструкция cpuid.
сам придумал?
ну, в том числе и целая
MMX - целочисленная, SSE - вещественная, SSE2 - целочисленная. Или ты под SSE2 хочешь понимать SSE+SSE2? Но что это меняет?..
с тебя ссылка на источник
принимаются только материалы с http://www.intel.com
> Или ты под SSE2 хочешь понимать SSE+SSE2?
я под SSE2 понимаю SSE2, в котором появилаcь возможность работы с парами вещественных чисел двойной точности
Попробуйте http://www.fftw.org/ и потом переубедите тех, кто запрещает использовать внешние либы.
:Using Streaming SIMD Extensions 2 (SSE2)
SSE2, в котором появилаcь возможность работы с парами вещественных чисел двойной точности
ффтв давно скачал.
Оставить комментарий
Maurog
дайте плиз линки на описания того, как можно ассемблеровскими вставками оптимизировать свой си-код (в общем инетересует в какие регистры и что надо запихнуть и какой командой индуцировать вызов функции из sse2)хочется при наличие sse2 (к примеру) в коде написать
#ifdef HAVE_SSE2
asm {
...
}
#endif
в коде используются всякие ФФТ, свертки и матричные операции.
дополнительно интересует:
1. сложно ли будет таким образом оптимизировать код?
2. стОит ли это делать самому или возложить это на компиляторы, добавив ключики для оптимизации сырцов (под sse2 к примеру)? используются CC (sparc gcc (linux VC6.0 (win)