[Bug target/80530] [7/8 Regression][AArch64] ICE when expanding reciprocal square root with -mcpu=exynos-m1 or -mcpu=xgene-1
rearnsha at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 27 14:12:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80530
--- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
Author: rearnsha
Date: Thu Apr 27 14:11:47 2017
New Revision: 247341
URL: https://gcc.gnu.org/viewcvs?rev=247341&root=gcc&view=rev
Log:
[AArch64] Fix for gcc-7 regression PR 80530
This patch fixes the regression caused by the changes to add square root
estimation when compiling for xgene-1 or exynos-m1 targets.
The issue is that the expand path for the reciprocal estimate square
root pattern assumes that pattern cannot fail once it has been decided
that this expansion path is available, but because the logic deep inside
aarch64_emit_approx_sqrt() differs from use_rsqrt_p() the two disagree
as to what is safe.
This patch refactors the logic to ensure that we cannot unknowingly make
different choices here.
PR target/80530
* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
that the logic for permitting reciprocal estimates matches that
in use_rsqrt_p.
Modified:
branches/gcc-7-branch/gcc/ChangeLog
branches/gcc-7-branch/gcc/config/aarch64/aarch64.c
More information about the Gcc-bugs
mailing list