re PR target/49186 (optimize problem with unsigned long long value.)
PR target/49186 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high part of the second operand is 0. * gcc.c-torture/execute/pr49186.c: New. From-SVN: r174667
This commit is contained in:
parent
6e98bff4dc
commit
a13dc62afe
|
@ -1,3 +1,12 @@
|
|||
2011-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
Backport from mainline
|
||||
2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
PR target/49186
|
||||
* config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
|
||||
part of the second operand is 0.
|
||||
|
||||
2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
PR target/43700
|
||||
|
|
|
@ -1600,7 +1600,10 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison)
|
|||
else if (op2h != CONST0_RTX (SImode))
|
||||
msw_taken = LTU;
|
||||
else
|
||||
break;
|
||||
{
|
||||
msw_skip = swap_condition (LTU);
|
||||
break;
|
||||
}
|
||||
msw_skip = swap_condition (msw_taken);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2011-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
Backport from mainline
|
||||
2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
PR target/49186
|
||||
* gcc.c-torture/execute/pr49186.c: New.
|
||||
|
||||
2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* gcc.target/mips/reg-var-1.c: New test.
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
/* PR target/49186 */
|
||||
extern void abort (void);
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int x;
|
||||
unsigned long long uv = 0x1000000001ULL;
|
||||
|
||||
x = (uv < 0x80) ? 1 : ((uv < 0x800) ? 2 : 3);
|
||||
if (x != 3)
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue