clang ang clang ++ поддерживает несколько различных разновидностей векторов в дополнение к обычным векторам в стиле G CC (с использованием атрибута vector_size
). ext_vector_type
поддерживает некоторый дополнительный синтаксис, а neon_polyvector_type
выполняет переносное умножение, но что neon_vector_type
предлагает, что vector_size
не дает?
AFAICT neon_vector_type
генерирует тот же машинный код как vector_size
. У него есть некоторые ограничения, которых нет у vec_size
, например, работа с ARM только при включенном NEON, поддержка только 64-битных и 128-битных векторов, работа только с clang и т. Д. c. Я думал о том, что, возможно, весь смысл в том, чтобы убедиться, что вы по ошибке не думаете, что ваш код работает быстро, но мне трудно поверить, что причина этого (хотя это может привести к полезной диагностике c) .