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