AArch64: Add if condition in aarch64_function_value [PR96479]
authorPeixin Qiao <qiaopeixin@huawei.com>
Wed, 12 Aug 2020 16:11:41 +0000 (17:11 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 12 Aug 2020 16:11:41 +0000 (17:11 +0100)
commitb418ccb358e428091fb9c6020fd10be5ae40a17a
treed1a0e7ac1cc37fb49f6c34184d9df44c4eca2f4b
parent21cfe724cbdc30612bf1ef59b26f19ada2210832
AArch64: Add if condition in aarch64_function_value [PR96479]

Report diagnostic information instead of ICE if it generats fp/simd for
return register when fp/simd is disabled by -mgeneral-regs-only.

gcc/ChangeLog:

* config/aarch64/aarch64.c (aarch64_function_value): Add if
condition to check ag_mode after entering if condition of
aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
set as false by -mgeneral-regs-only, report the diagnostic
information of -mgeneral-regs-only imcompatible with the use
of fp/simd register(s).

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that
-mgeneral-regs-only is compatible with the use of vector type
used in the test case.
gcc/config/aarch64/aarch64.c
gcc/testsuite/gcc.target/aarch64/mgeneral-regs_1.c