Commit f42684d5 by Uros Bizjak Committed by Uros Bizjak

re PR target/28946 (assembler shifts set the flag ZF, no need to re-test to zero)

        PR target/28946
        * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
        "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
        "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
        "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
        "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
        "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
        "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
        "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
        "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
        implement only CC setting effects of shift instructions.

testsuite/ChangeLog:

       PR target/28946
       * gcc.target/i386/pr28946.c: New test.

From-SVN: r116756
parent d4a200d3
2006-09-07 Uros Bizjak <uros@kss-loka.si>
PR target/28946
* config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
"*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
"*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
"*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
"*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
"*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
"*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
"*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
"*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
implement only CC setting effects of shift instructions.
2006-09-07 Martin Michlmayr <tbm@cyrius.com> 2006-09-07 Martin Michlmayr <tbm@cyrius.com>
* doc/contrib.texi: Add myself. * doc/contrib.texi: Add myself.
......
2006-09-07 Uros Bizjak <uros@kss-loka.si>
PR target/28946
* gcc.target/i386/pr28946.c: New test.
2006-09-07 Steven G. Kargl <kargls@comcast.net> 2006-09-07 Steven G. Kargl <kargls@comcast.net>
* gfortran.fortran-torture/compile/data_1.f90: Fix integer oveflow * gfortran.fortran-torture/compile/data_1.f90: Fix integer oveflow
/* { dg-do compile } */
/* { dg-options "-O" } */
/* { dg-final { scan-assembler-not "test" } } */
int fct1 (void);
int fct2 (void);
int
fct (unsigned nb)
{
if ((nb >> 5) != 0)
return fct1 ();
else
return fct2 ();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment