From: Alexandre Oliva Date: Thu, 24 Mar 2005 10:52:38 +0000 (+0000) Subject: badshift.c: Renamed to... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a2198f5125444acabd8c7c0ef1afcd3842ae27c;p=gcc.git badshift.c: Renamed to... * gcc.dg/badshift.c: Renamed to... * gcc.dg/torture/badshift.c: ... this. Remove explicit -O1. From-SVN: r96989 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e53a1943638..5fdb7b21628 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2005-03-24 Alexandre Oliva + * gcc.dg/badshift.c: Renamed to... + * gcc.dg/torture/badshift.c: ... this. Remove explicit -O1. + * gcc.target/i386/badshift.c: Renamed to... * gcc.dg/badshift.c: ... this. Fix typo. Use -march=i386 on i?86 only. diff --git a/gcc/testsuite/gcc.dg/badshift.c b/gcc/testsuite/gcc.dg/badshift.c deleted file mode 100644 index 6c32d888c47..00000000000 --- a/gcc/testsuite/gcc.dg/badshift.c +++ /dev/null @@ -1,29 +0,0 @@ -/* PR rtl-optimization/20532 */ - -/* { dg-do run } */ -/* { dg-options "-O1" } */ -/* { dg-options "-march=i386 -O1" { target i?86-*-* } } */ - -/* We used to optimize the DImode shift-by-32 to zero because in combine - we turned: - - (v << 31) + (v << 31) - - into: - - (v * (((HOST_WIDE_INT)1 << 31) + ((HOST_WIDE_INT)1 << 31))) - - With a 32-bit HOST_WIDE_INT, the coefficient overflowed to zero. */ - -unsigned long long int badshift(unsigned long long int v) -{ - return v << 31 << 1; -} - -extern void abort (); - -int main() { - if (badshift (1) == 0) - abort (); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/torture/badshift.c b/gcc/testsuite/gcc.dg/torture/badshift.c new file mode 100644 index 00000000000..d656ed65b88 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/badshift.c @@ -0,0 +1,29 @@ +/* PR rtl-optimization/20532 */ + +/* { dg-do run } */ +/* { dg-options "" } */ +/* { dg-options "-march=i386" { target i?86-*-* } } */ + +/* We used to optimize the DImode shift-by-32 to zero because in combine + we turned: + + (v << 31) + (v << 31) + + into: + + (v * (((HOST_WIDE_INT)1 << 31) + ((HOST_WIDE_INT)1 << 31))) + + With a 32-bit HOST_WIDE_INT, the coefficient overflowed to zero. */ + +unsigned long long int badshift(unsigned long long int v) +{ + return v << 31 << 1; +} + +extern void abort (); + +int main() { + if (badshift (1) == 0) + abort (); + return 0; +}