]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix gcc.target/powerpc/vsx-builtin-7.c test [PR119382]
authorJeevitha <jeevitha@linux.ibm.com>
Thu, 31 Jul 2025 09:32:17 +0000 (04:32 -0500)
committerJeevitha <jeevitha@linux.ibm.com>
Thu, 31 Jul 2025 09:32:17 +0000 (04:32 -0500)
The test vsx-builtin-7.c failed on powerpc64le-linux due to Identical
Code Folding (ICF) merging the functions insert_di_0_v2 and insert_di_0.
This behavior was introduced by commit r15-7961-gdc47161c1f32c3, which
enhanced alias analysis in ao_compare::compare_ao_refs, enabling the
compiler to identify and optimize structurally identical functions. As a
result, the compiler replaced insert_di_0_v2 with a tail call to
insert_di_0, altering the expected test behavior.

This patch adds -fno-ipa-icf to the test's dg-options to disable ICF,
avoiding function merging and ensuring the test executes correctly.

2025-06-24  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

gcc/testsuite/
PR testsuite/119382
* gcc.target/powerpc/vsx-builtin-7.c: Add '-fno-ipa-icf' to dg-options.

(cherry picked from commit a1fb757342058111fddcdc5ca2f866c61e87c9b8)

gcc/testsuite/gcc.target/powerpc/vsx-builtin-7.c

index 8841660fd0395e556215edb5c142c208d8188f4b..dd55fbf2f4514d4f99adc11bfa0ed55abaf352bb 100644 (file)
@@ -1,7 +1,15 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
 /* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-O2 -mdejagnu-cpu=power7 -fno-inline-functions" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power7 -fno-inline-functions -fno-ipa-icf" } */
+
+/* PR testsuite/119382
+   Note: Added -fno-ipa-icf to disable Interprocedural Identical Code
+   Folding (ICF). Without this, insert_di_0_v2 is merged with insert_di_0
+   due to improved alias analysis introduced in commit r15-7961-gdc47161c1f32c3.
+   This results in the compiler replacing insert_di_0_v2 with a tail call to
+   insert_di_0, altering expected test behavior. Disabling ICF ensures correct
+   execution of the test.  */
 
 /* Test simple extract/insert/slat operations.  Make sure all types are
    supported with various options.  */