This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64] Strengthen aarch64_hard_regno_call_part_clobbered


Richard Sandiford <richard.sandiford@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.sandiford@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]