aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-06-25 18:40:07 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-06-25 18:40:07 +0000
commit0fe0c61499096286867bcee0df3dfbba3d3f7cba (patch)
treef5b099c90d08d909541a996d27adf8816b06dfcd /gcc/testsuite/gcc.dg
parent71f85957b6ec652431ca32b7de602167180b7fe0 (diff)
downloadgcc-0fe0c61499096286867bcee0df3dfbba3d3f7cba.zip
gcc-0fe0c61499096286867bcee0df3dfbba3d3f7cba.tar.gz
gcc-0fe0c61499096286867bcee0df3dfbba3d3f7cba.tar.bz2
re PR middle-end/15825 (if-cvt optimisation patch noce_try_sign_mask breaks apple-ppc-darwin port)
PR middle-end/15825 * ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence. Use get_isns and end_sequence instead of accepting a seq argument. Scan the instruction sequence for unrecognizable or jump insns. (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith, noce_try_minmax, noce_try_abs, noce_try_sign_mask): Use end_ifcvt_sequence to factor common code. * gcc.dg/pr15825-1.c: New test case. From-SVN: r83671
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/pr15825-1.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr15825-1.c b/gcc/testsuite/gcc.dg/pr15825-1.c
new file mode 100644
index 0000000..a4b46d4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr15825-1.c
@@ -0,0 +1,18 @@
+/* PR middle-end/15825 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+unsigned int foo(long long high, int unsigned_p)
+{
+ int i;
+ if (high < 0)
+ if (!unsigned_p)
+ {
+ i = 1;
+ goto t;
+ }
+ i = 0;
+t:
+ return i;
+}
+