URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
/* PR rtl-optimization/20532 */
|
/* PR rtl-optimization/20532 */
|
|
|
/* { dg-do run } */
|
/* { dg-do run } */
|
/* { dg-options "" } */
|
/* { dg-options "" } */
|
/* { dg-options "-march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
|
/* { dg-options "-march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
|
|
|
/* We used to optimize the DImode shift-by-32 to zero because in combine
|
/* We used to optimize the DImode shift-by-32 to zero because in combine
|
we turned:
|
we turned:
|
|
|
(v << 31) + (v << 31)
|
(v << 31) + (v << 31)
|
|
|
into:
|
into:
|
|
|
(v * (((HOST_WIDE_INT)1 << 31) + ((HOST_WIDE_INT)1 << 31)))
|
(v * (((HOST_WIDE_INT)1 << 31) + ((HOST_WIDE_INT)1 << 31)))
|
|
|
With a 32-bit HOST_WIDE_INT, the coefficient overflowed to zero. */
|
With a 32-bit HOST_WIDE_INT, the coefficient overflowed to zero. */
|
|
|
unsigned long long int badshift(unsigned long long int v)
|
unsigned long long int badshift(unsigned long long int v)
|
{
|
{
|
return v << 31 << 1;
|
return v << 31 << 1;
|
}
|
}
|
|
|
extern void abort ();
|
extern void abort ();
|
|
|
int main() {
|
int main() {
|
if (badshift (1) == 0)
|
if (badshift (1) == 0)
|
abort ();
|
abort ();
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.