aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2025-02-02 06:46:29 +0800
committerH.J. Lu <hjl.tools@gmail.com>2025-02-02 06:50:43 +0800
commite8262c9041feddd7446840a9532cf458452f3587 (patch)
treea14488136cba6a3a16d755474986e83560d67cb7 /gcc
parentdceec9efbd19b50ff9e5268b9bc35d5c44b2f6e2 (diff)
downloadgcc-e8262c9041feddd7446840a9532cf458452f3587.zip
gcc-e8262c9041feddd7446840a9532cf458452f3587.tar.gz
gcc-e8262c9041feddd7446840a9532cf458452f3587.tar.bz2
x86: Add a test for PR rtl-optimization/111673
Add a test for the target independent bug, PR rtl-optimization/111673. PR rtl-optimization/111673 * gcc.target/i386/pr111673.c: New file. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr111673.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr111673.c b/gcc/testsuite/gcc.target/i386/pr111673.c
new file mode 100644
index 0000000..8d8a5a7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr111673.c
@@ -0,0 +1,17 @@
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-O2 -fdump-rtl-pro_and_epilogue" } */
+
+/* Verify there is an early return without the prolog and shrink-wrap
+ the function. */
+
+int f (int);
+int
+advance (int dz)
+{
+ if (dz > 0)
+ return (dz + dz) * dz;
+ else
+ return dz * f (dz);
+}
+
+/* { dg-final { scan-rtl-dump-times "Performing shrink-wrapping" 1 "pro_and_epilogue" } } */