aboutsummaryrefslogtreecommitdiff
path: root/gcc/coverage.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-30 15:23:30 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-30 15:23:30 +0000
commit51051f474a768d285714d713f1b7535d6a139350 (patch)
tree2d51c313466b59810bdc099b5211c548a806233f /gcc/coverage.c
parent4baad9863a5df7ec01b42afecd4170f4d58a1aac (diff)
downloadgcc-51051f474a768d285714d713f1b7535d6a139350.zip
gcc-51051f474a768d285714d713f1b7535d6a139350.tar.gz
gcc-51051f474a768d285714d713f1b7535d6a139350.tar.bz2
[AArch64] Strengthen aarch64_hard_regno_call_part_clobbered
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. 2019-09-30 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. From-SVN: r276305
Diffstat (limited to 'gcc/coverage.c')
0 files changed, 0 insertions, 0 deletions