Richard Sandiford <richard.sandif...@arm.com> writes: > The aarch64_vector_pcs handling in aarch64_hard_regno_call_part_clobbered > checks whether the mode might be bigger than 16 bytes, since on SVE > targets the (non-SVE) vector PCS only guarantees that the low 16 bytes > are preserved. But for multi-register modes, we should instead test > whether each single-register part might be bigger than 16 bytes. > (The size is always divided evenly between registers.) > > The testcase uses XImode as an example where this helps. > > Tested on aarch64-linux-gnu (with and without SVE). OK to install? > > Richard > > > 2019-09-10 Richard Sandiford <richard.sandif...@arm.com> > > gcc/ > * config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered): > For multi-registers modes, test how big each register part is. > > gcc/testsuite/ > * gcc.target/aarch64/torture/simd-abi-8.c: New test.
I've now applied this as r276305. Thanks, Richard