Если вы выбираете greenhills
для опции Compiler (-compiler)
, вы столкнулись с этой проблемой.
Во время Polyspace® анализ показывает ошибку, связанную с типами векторных данных, характерными для целевого объекта Green Hills rh850
. Например, вы видите ошибку, связанную с идентификатором __ev64_u16__
.
При компиляции кода с помощью компилятора Green Hills с целевой rh850
, чтобы включить одну инструкцию множественных данных (SIMD) векторных инструкций, задаете два флага:
-rh850_simd
: Вы включаете внутренние функции, которые поддерживают SIMD векторные инструкции. Функции определены в файлах заголовков компилятора. Доступны следующие типы данных:
__ev64_u16__
__ev64_s16__
__ev64_u32__
__ev64_s32__
__ev64_u64__
__ev64_s64__
__ev64_opaque__
__ev128_opaque__
-rh850_fpsimd
: Вы включаете внутренние функции, которые поддерживают инструкции SIMD вектора с плавающей точкой. Функции определены в файлах заголовков компилятора. Доступны следующие типы данных:
__ev128_f32__
__ev256_f32__
Анализ Polyspace по умолчанию не включает поддержку SIMD. Необходимо идентифицировать флаги компилятора в Polyspace.
В анализе Polyspace используйте опцию командной строки -compiler-parameter
. В пользовательском интерфейсе можно ввести опцию командной строки в Other
поле под Advanced Settings на панели Configuration.
-rh850_simd
: Для вашего анализа Polyspace, используйте
-compiler-parameter -rh850_simd
-rh850_fpsimd
: Для вашего анализа Polyspace, используйте
-compiler-parameter -rh850_fpsimd
Примечание
__ev128_opaque__
16 байт выровнено в Polyspace.
__ev256_f32__
32 байта выровнены в Polyspace.