This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ifcombine: Fix problem when optimizing 64 bit checks


On Wed, Jul 25, 2007 at 01:19:44PM +0200, Andreas Krebbel wrote:
> 
> 2007-07-25  Andreas Krebbel  <krebbel1@de.ibm.com>
> 
> 	* gcc.dg/20070725-1.c: Testcase for revision 126876 added.
> 
> 
> Index: gcc/testsuite/gcc.dg/20070725-1.c
> ===================================================================
> *** /dev/null	1970-01-01 00:00:00.000000000 +0000
> --- gcc/testsuite/gcc.dg/20070725-1.c	2007-07-25 13:06:32.000000000 +0200
> ***************
> *** 0 ****
> --- 1,63 ----
> + /* This used to fail due to a ifcombine problem wrecking 64bit
> +    checks.  Fixed with rev. 126876.  */
> + /* { dg-do run } */
> + /* { dg-options "-O1" } */
> + 
> + struct tree_base
> + {
> +   unsigned code:16;
> + 
[snip]
> + 
> +   unsigned spare:24;
> +   unsigned long  a;
> + };

   The testcase doesn't compile on m32c-unknown-elf:

FAIL: gcc.dg/20070725-1.c (test for excess errors)
Excess errors:
/n/12/rask/src/all/gcc/testsuite/gcc.dg/20070725-1.c:37: error: width of 'spare' exceeds its type

UNRESOLVED: gcc.dg/20070725-1.c compilation failed to produce executable

   Do you think your testcase would still work (i.e. trigger the ifcombine
problem) if the spare field was split into two smaller fields? E.g.

  unsigned spare1:16;
  unsigned spare2:8;

-- 
Rask Ingemann Lambertsen


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]