Commit b60685a3 by Jeff Law Committed by Jeff Law

re PR target/39726 ([cond-optab] ColdFire pessimizations on QImode/HImode tests)

        PR target/39726
        * gcc.dg/target/m68k/pr39726-1.c: New test.

From-SVN: r223781
parent 8ed501f1
......@@ -2964,6 +2964,7 @@
2015-05-07 Jeff Law <law@redhat.com>
PR target/39726
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
simplifier to narrow arithmetic.
* generic-match-head.c: (types_match, single_use): New functions.
......
2015-05-27 Jeff Law <law@redhat.com>
PR target/39726
* gcc.dg/target/m68k/pr39726-1.c: New test.
2015-05-27 Nathan Sidwell <nathan@acm.org>
PR c++/66270
......
/* { dg-do assemble } /*
/* { dg-options "-O2 -fomit-frame-pointer" } */
/* { dg-final { object-size text <= 228 } } */
unsigned char v;
int a0bs (unsigned char u, unsigned char w)
{
if ((u - w) & 0x80)
v = 1;
}
int a1bs (unsigned char u, unsigned char w)
{
if ((u + w) & 0x80)
v = 1;
}
int a0b (unsigned char u, unsigned char w)
{
if ((u - w) & 0x22)
v = 1;
}
int a1b (unsigned char u, unsigned char w)
{
if ((u + w) & 0x22)
v = 1;
}
int a0ws (unsigned short u, unsigned short w)
{
if ((u - w) & 0x8000)
v = 1;
}
int a1ws (unsigned short u, unsigned short w)
{
if ((u + w) & 0x8000)
v = 1;
}
int a0wbs (unsigned short u, unsigned short w)
{
if ((u - w) & 0x80)
v = 1;
}
int a1wbs (unsigned short u, unsigned short w)
{
if ((u + w) & 0x80)
v = 1;
}
int a0w (unsigned short u, unsigned short w)
{
if ((u - w) & 0x8421)
v = 1;
}
int a1w (unsigned short u, unsigned short w)
{
if ((u + w) & 0x8421)
v = 1;
}
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