Commit 990b31f7 by Jiangning Liu Committed by Ramana Radhakrishnan

Commit for Jiangning.

Add conditional compare support for Thumb2.

From-SVN: r178102
parent 8840ae2b
2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
* config/arm/arm.md (*ior_scc_scc): Enable for Thumb2 as well.
(*ior_scc_scc_cmp): Likewise
(*and_scc_scc): Likewise.
(*and_scc_scc_cmp): Likewise.
(*and_scc_scc_nodom): Likewise.
(*cmp_ite0, *cmp_ite1, *cmp_and, *cmp_ior): Handle Thumb2.
2011-08-26 Jakub Jelinek <jakub@redhat.com>
* rtlanal.c (nonzero_bits1): Handle CLRSB.
......
2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
* gcc.target/arm/thumb2-cond-cmp-1.c: New.
* gcc.target/arm/thumb2-cond-cmp-2.c: Likewise.
* gcc.target/arm/thumb2-cond-cmp-3.c: Likewise.
* gcc.target/arm/thumb2-cond-cmp-4.c: Likewise.
2011-08-26 Andrew Stubbs <ams@codesourcery.com>
* gcc.target/arm/thumb2-replicated-constant1.c: New file.
......
/* Use conditional compare */
/* { dg-options "-O2" } */
/* { dg-skip-if "" { arm_thumb1_ok } } */
/* { dg-final { scan-assembler "cmpne" } } */
int f(int i, int j)
{
if ( (i == '+') || (j == '-') ) {
return 1;
} else {
return 0;
}
}
/* Use conditional compare */
/* { dg-options "-O2" } */
/* { dg-skip-if "" { arm_thumb1_ok } } */
/* { dg-final { scan-assembler "cmpeq" } } */
int f(int i, int j)
{
if ( (i == '+') && (j == '-') ) {
return 1;
} else {
return 0;
}
}
/* Use conditional compare */
/* { dg-options "-O2" } */
/* { dg-skip-if "" { arm_thumb1_ok } } */
/* { dg-final { scan-assembler "cmpgt" } } */
int f(int i, int j)
{
if ( (i >= '+') ? (j > '-') : 0)
return 1;
else
return 0;
}
/* Use conditional compare */
/* { dg-options "-O2" } */
/* { dg-skip-if "" { arm_thumb1_ok } } */
/* { dg-final { scan-assembler "cmpgt" } } */
int f(int i, int j)
{
if ( (i >= '+') ? (j <= '-') : 1)
return 1;
else
return 0;
}
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