[Bug target/68934] New: ARM using simd types should be rejected if not fpu=neon
chrbr at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 16 09:40:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68934
Bug ID: 68934
Summary: ARM using simd types should be rejected if not
fpu=neon
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: chrbr at gcc dot gnu.org
Target Milestone: ---
the declaration:
--------------
#pragma GCC target ("fpu=vfp")
__simd64_int8_t b;
--------------
legitimately fails with
error: unknown type name '__simd64_int8_t'
However, if the type was previously created as (for instance) with
----------------
#pragma GCC target ("fpu=neon")
__simd64_int8_t a;
#pragma GCC target ("fpu=vfp")
__simd64_int8_t b;
-----------------
then it compiles, but this is wrong for 2 reasons:
1) it's not consistent (the user doesn't know if neon types are available or
not)
2) nothing prevents "b" to be latter used in a code compiled for NEON, creating
discrepancies between modes and possible wrong code (or ICEs)
A mechanism to deactivate SIMD types in arm_set_current_function is needed.
More information about the Gcc-bugs
mailing list