Если вы выбираете 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.