diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-06-25 18:40:07 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-06-25 18:40:07 +0000 |
commit | 0fe0c61499096286867bcee0df3dfbba3d3f7cba (patch) | |
tree | f5b099c90d08d909541a996d27adf8816b06dfcd /gcc/testsuite/gcc.dg | |
parent | 71f85957b6ec652431ca32b7de602167180b7fe0 (diff) | |
download | gcc-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.c | 18 |
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; +} + |