[Bug middle-end/99782] [13/14/15/16 Regression] Compile time and memory hog w/ __int128 on aarch64/x86_64 (-mapxf)
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 5 05:42:20 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99782
--- Comment #14 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pinskia@gcc.gnu.org>:
https://gcc.gnu.org/g:e148a21f38327f7c0e1040bf28c676dd0d13ca38
commit r16-5897-ge148a21f38327f7c0e1040bf28c676dd0d13ca38
Author: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
Date: Thu Oct 23 21:20:24 2025 -0700
x86/aarch64: Fix compile time hog with ccmp [PR99782]
With ccmp, right now with TER, we hit an O(n^2) explosion in
compile time. This can be stopped by returning NULL early in
ix86_gen_ccmp_next before we expand the operands which will expand
seperately
at that point.
A similar change aarch64's aarch64_gen_ccmp_next is done.
Changes since v1:
* v2: Change how cmp_mode is assigned in ix86_gen_ccmp_next.
Reworded commit message about aarch64.
Bootstrapped and tested on x86_64-linux-gnu and aarch64-linux-gnu.
PR middle-end/99782
gcc/ChangeLog:
* config/i386/i386-expand.cc (ix86_gen_ccmp_next): Move the check
for mode earlier before expand_operands.
* config/aarch64/aarch64.cc (aarch64_gen_ccmp_next): Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/torture/pr99782-1.c: New test.
Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
More information about the Gcc-bugs
mailing list