Fix Polyspace Compilation Errors Related to Green Hills Compiler
If you choose greenhills for the option Compiler (-compiler), you encounter this
issue.
Issue
During Polyspace® analysis, you see an error related to vector data types specific to Green
Hills target rh850. For instance, you see an error related to
identifier __ev64_u16__.
Cause
When compiling code using the Green Hills® compiler with target rh850, to enable single
instruction multiple data (SIMD) vector instructions, you specify two flags:
-rh850_simd: You enable intrinsic functions that support SIMD vector instructions. The functions are defined in your compiler header files. These data types are available:__ev64_u16____ev64_s16____ev64_u32____ev64_s32____ev64_u64____ev64_s64____ev64_opaque____ev128_opaque__
-rh850_fpsimd: You enable intrinsic functions that support floating-point SIMD vector instructions. The functions are defined in your compiler header files. These data types are available:__ev128_f32____ev256_f32__
The Polyspace analysis does not enable SIMD support by default. You must identify your compiler flags to Polyspace.
Solution
In your Polyspace analysis, use the command-line option
-compiler-parameter. In the user interface, you can enter the
command-line option in the Other
field, under the Advanced Settings in the
Configuration pane.
-rh850_simd: For your Polyspace analysis, use-compiler-parameter -rh850_simd
-rh850_fpsimd: For your Polyspace analysis, use-compiler-parameter -rh850_fpsimd
Note
__ev128_opaque__is 16 bytes aligned in Polyspace.__ev256_f32__is 32 bytes aligned in Polyspace.