Если вы выбираете greenhills для опции Compiler (-compiler), вы сталкиваетесь с этой проблемой.
Во время анализа Polyspace® вы видите, что ошибка, связанная с векторными типами данных, характерными для Зеленых Выступов, предназначается для 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 Поле (Polyspace Bug Finder), под 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.