https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116238
Richard Sandiford <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot
gnu.org
--- Comment #5 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Yeah, seems to be a latent bug in aarch64_hard_regno_caller_save_mode. A
brute-force reproducer is:
void foo();
typedef unsigned char v2qi __attribute__((vector_size(2)));
void f(v2qi *ptr)
{
v2qi x = *ptr;
asm volatile ("" :: "w" (x));
asm volatile ("" ::: "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15");
foo();
asm volatile ("" :: "w" (x));
*ptr = x;
}