Hi,

I noticed while testing a backport of the PR121772 fix to GCC 13 that
the test wasn't triggering the ICE as expected with the unpatched
compiler.

This turned out to be because the ICE is a checking ICE, and we
configure by default with --enable-checking=release on the branches.
Additionally, I hadn't noticed when doing the backports to 15 and 14
since there we still ICE later on in emit_move_insn even if we don't
catch the invalid gimple with checking.

I'm not too sure why the 13 branch doesn't see the emit_move_insn ICE,
but it's somewhat irrelevant - the important thing is that adding
-fchecking to the options makes the test fail as expected with an
unpatched compiler (i.e. with a gimple checking failure), even on
release branches.

I considered applying this patch to just the release branches, but
figured that trunk will at some point itself become a release branch, so
it seems to make most sense just to apply it everywhere.

I've checked that the test still passes with this patch, and still fails
if I revert the PR121772 fix.

Committing to trunk as obvious.  Will apply to 15/14, and then squash
into the backport of the fix to 13.

Thanks,
Alex

gcc/testsuite/ChangeLog:

        PR tree-optimization/121772
        * gcc.target/aarch64/torture/pr121772.c: Add -fchecking to
        dg-options.
diff --git a/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c 
b/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c
index 3b4cf4d7d18..d47a026c3ce 100644
--- a/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c
+++ b/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-options "-fchecking" } */
 #include <arm_neon.h>
 int16_t f(int16x4_t b) {
   return vaddvq_s16(vcombine_s16(b, vdup_n_s16 (0)));

Reply via email to