Claudio Bantaloukas <claudio.bantalou...@arm.com> writes: > The ACLE defines a new scalar type, __mfp8. This is an opaque 8bit types that > can only be used by fp8 intrinsics. Additionally, the mfloat8_t type is made > available in arm_neon.h and arm_sve.h as an alias of the same. > > This implementation uses an unsigned INTEGER_TYPE, with precision 8 to > represent __mfp8. Conversions to int and other types are disabled via the > TARGET_INVALID_CONVERSION hook. > Additionally, operations that are typically available to integer types are > disabled via TARGET_INVALID_UNARY_OP and TARGET_INVALID_BINARY_OP hooks. > > gcc/ChangeLog: > > * config/aarch64/aarch64-builtins.cc (aarch64_mfp8_type_node): Add node > for __mfp8 type. > (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. > (aarch64_init_fp8_types): New function to initialise fp8 types and > register with language backends. > * config/aarch64/aarch64.cc (aarch64_mangle_type): Add ABI mangling for > new type. > (aarch64_invalid_conversion): Add function implementing > TARGET_INVALID_CONVERSION hook that blocks conversion to and from the > __mfp8 type. > (aarch64_invalid_unary_op): Add function implementing TARGET_UNARY_OP > hook that blocks operations on __mfp8 other than &. > (aarch64_invalid_binary_op): Extend TARGET_BINARY_OP hook to disallow > operations on __mfp8 type. > (TARGET_INVALID_CONVERSION): Add define. > (TARGET_INVALID_UNARY_OP): Likewise. > * config/aarch64/aarch64.h (aarch64_mfp8_type_node): Add node for __mfp8 > type. > (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. > * config/aarch64/arm_private_fp8.h (mfloat8_t): Add typedef. > > gcc/testsuite/ChangeLog: > > * g++.target/aarch64/fp8_mangling.C: New tests exercising mangling. > * g++.target/aarch64/fp8_scalar_typecheck_2.C: New tests in C++. > * gcc.target/aarch64/fp8_scalar_1.c: New tests in C. > * gcc.target/aarch64/fp8_scalar_typecheck_1.c: Likewise. > --- > Hi, > Is this ok for master? I do not have commit rights yet, if ok, can someone > commit it on my behalf?
LGTM, thanks. Give it a day or so to see if Kyrill has any comments, but otherwise ok for trunk. (Please ask someone else to push it though, since I won't be around next week.) Richard