xmmintrin.h vs gcc векторные расширения - PullRequest
4 голосов
/ 03 мая 2011

Каким способом мне лучше написать SIMD-инструкции?

мм * методы form * mmintrin.h кажутся более переносимыми для компиляторов.

Но gcc векторные расширения , кажется, производят гораздо более простой код и поддерживают больше архитектур.

Так какой метод лучше?

Ответы [ 2 ]

4 голосов
/ 03 мая 2011

Если вы используете векторные расширения gcc, вы сможете использовать только ограниченное подмножество функций SSE, поскольку существует много встроенных функций SSE, которые не вписываются в общую векторную модель, такую ​​как gcc.Если вы хотите делать только базовые вещи, например, арифметику с плавающей запятой для векторов, то вам это может сойти с рук, но если вы заинтересованы в использовании SIMD для максимальной производительности, тогда вам нужно идти с собственными встроенными функциями.

2 голосов
/ 03 мая 2011

Встроенные функции, доступные в файлах * mmintrin.h, доступны только на машинах SSE, но доступны для разных компиляторов.Векторные расширения GCC более ограничены, но реализованы на более широком спектре платформ и, очевидно, специфичны для GCC.

Как и во всем, нет «лучшего» ответа;вам придется выбрать тот, который соответствует вашим потребностям.

...