On Mon, Jun 29, 2020 at 12:38:45PM +0100, Richard Sandiford wrote: > It looks like aarch64_comp_type_attributes is missing cases for > the SVE attributes, but I'll handle that in a separate patch. > > Any thoughts? I'll apply this after 5pm UTC tomorrow if no asks > me not to. :-) > > If I do apply the patch in its current form and there's no fallout, > I'll post a similar one for AArch32. I'm not sure yet what to do > about backports though -- there does seem to be a too-high risk > of breaking things.
I believe Jason said to do it only if comparing_specializations is set, the problem is that comparing_specializations is defined in the C++ FE and the hooks can be linked without the C++ FE being linked in. Perhaps for backports only move the int comparing_specializations; definition out from the C++ FE to some generic file (tree.c) with a comment that it is an ugly hack? Non-C++ FEs would just keep the variable 0 all the time and thus no change except when the C++ FE compares template arguments? Thanks for working on this. > 2020-06-26 Richard Sandiford <richard.sandif...@arm.com> > > gcc/ > PR target/92789 > PR target/95726 > * config/aarch64/aarch64.c (aarch64_attribute_table): Add > "Advanced SIMD type". > (aarch64_comp_type_attributes): Check that the "Advanced SIMD type" > attributes are equal. > * config/aarch64/aarch64-builtins.c: Include stringpool.h and > attribs.h. > (aarch64_mangle_builtin_vector_type): Use the mangling recorded > in the "Advanced SIMD type" attribute. > (aarch64_init_simd_builtin_types): Add an "Advanced SIMD type" > attribute to each Advanced SIMD type, using the mangled type > as the attribute's single argument. > > gcc/testsuite/ > PR target/92789 > PR target/95726 > * g++.target/aarch64/pr95726.C: New test. Jakub