public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/27285]  New: [4.1 regression] ivopts postgresql miscompilation
@ 2006-04-24 15:33 jakub at gcc dot gnu dot org
  2006-04-24 15:50 ` [Bug tree-optimization/27285] " jakub at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-04-24 15:33 UTC (permalink / raw)
  To: gcc-bugs

extern void abort (void);

struct S { unsigned char a, b, c, d[16]; };

void __attribute__ ((noinline))
foo (struct S *x, struct S *y)
{
  int a, b;
  unsigned char c, *d, *e;

  b = x->b;
  d = x->d;
  e = y->d;
  a = 0;
  while (b)
    {
      if (b >= 8)
        {
          c = 0xff;
          b -= 8;
        }
      else
        {
          c = 0xff << (8 - b);
          b = 0;
        }

      e[a] = d[a] & c;
      a++;
    }
}

int
main (void)
{
  struct S x = { 0, 25, 0, { 0xaa, 0xbb, 0xcc, 0xdd }};
  struct S y = { 0, 0, 0, { 0 }};

  foo (&x, &y);
  if (x.d[0] != y.d[0] || x.d[1] != y.d[1]
      || x.d[2] != y.d[2] || (x.d[3] & 0x80) != y.d[3])
    abort ();
   return 0;
}

On i686-linux with -O2 -m32 the loop is miscompiled, it copies over just
first 24 bits and not the 25th bit.  From quick skimming of the tree dumps,
this looks messed up by ivopts pass.  Seems to be a recent regression,
at least 20060304 GCC 4.1.x worked fine, while 20060420 does not.


-- 
           Summary: [4.1 regression] ivopts postgresql miscompilation
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i686-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
@ 2006-04-24 15:50 ` jakub at gcc dot gnu dot org
  2006-04-24 16:18 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-04-24 15:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jakub at gcc dot gnu dot org  2006-04-24 15:50 -------
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=112675


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pbrook at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
  2006-04-24 15:50 ` [Bug tree-optimization/27285] " jakub at gcc dot gnu dot org
@ 2006-04-24 16:18 ` pinskia at gcc dot gnu dot org
  2006-04-24 21:40 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-24 16:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-24 16:18 -------
Does the mainline work if so something else that was needed was not backported.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
      Known to fail|                            |4.1.1 4.2.0
      Known to work|                            |4.1.0
   Target Milestone|---                         |4.1.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
  2006-04-24 15:50 ` [Bug tree-optimization/27285] " jakub at gcc dot gnu dot org
  2006-04-24 16:18 ` pinskia at gcc dot gnu dot org
@ 2006-04-24 21:40 ` pinskia at gcc dot gnu dot org
  2006-04-24 21:41 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-24 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-24 21:39 -------
Can you try the patch for PR25985 and see if it fixes your bug?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-04-24 21:40 ` pinskia at gcc dot gnu dot org
@ 2006-04-24 21:41 ` pinskia at gcc dot gnu dot org
  2006-04-25  7:37 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-24 21:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-24 21:41 -------
Actually it looks 100% the same testcase so that patch just needs backporting
(I don't have time to test it at all).


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |25985
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-04-24 21:41:37
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-04-24 21:41 ` pinskia at gcc dot gnu dot org
@ 2006-04-25  7:37 ` jakub at gcc dot gnu dot org
  2006-05-04  6:40 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-04-25  7:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2006-04-25 07:37 -------
Yes, it fixes it.  Will regression test it on a bunch of arches and post to
gcc-patches.  Thanks.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-04-24 21:41:37         |2006-04-25 07:37:02
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-04-25  7:37 ` jakub at gcc dot gnu dot org
@ 2006-05-04  6:40 ` jakub at gcc dot gnu dot org
  2006-05-04  6:44 ` jakub at gcc dot gnu dot org
  2006-05-08 15:30 ` roger at eyesopen dot com
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-05-04  6:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jakub at gcc dot gnu dot org  2006-05-04 06:40 -------
Subject: Bug 27285

Author: jakub
Date: Thu May  4 06:40:15 2006
New Revision: 113515

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113515
Log:
        PR tree-optimization/27285

        Backport from mainline:

        2006-03-28  Zdenek Dvorak  <dvorakz@suse.cz>

        PR tree-optimization/25985
        * tree-ssa-loop-niter.c (number_of_iterations_le,
        number_of_iterations_ne): Make comments more precise.
        (number_of_iterations_cond): Add only_exit argument.  Use the
        fact that signed variables do not overflow only when only_exit
        is true.
        (loop_only_exit_p): New.
        (number_of_iterations_exit): Pass result of loop_only_exit_p to
        number_of_iterations_cond.

        * gcc.c-torture/execute/pr27285.c: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gcc.c-torture/execute/pr27285.c
Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/gcc/tree-ssa-loop-niter.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-05-04  6:40 ` jakub at gcc dot gnu dot org
@ 2006-05-04  6:44 ` jakub at gcc dot gnu dot org
  2006-05-08 15:30 ` roger at eyesopen dot com
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-05-04  6:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2006-05-04 06:44 -------
Subject: Bug 27285

Author: jakub
Date: Thu May  4 06:43:50 2006
New Revision: 113516

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113516
Log:
        PR tree-optimization/27285
        * gcc.c-torture/execute/pr27285.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr27285.c
Modified:
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/27285] [4.1 regression] ivopts postgresql miscompilation
  2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-05-04  6:44 ` jakub at gcc dot gnu dot org
@ 2006-05-08 15:30 ` roger at eyesopen dot com
  7 siblings, 0 replies; 9+ messages in thread
From: roger at eyesopen dot com @ 2006-05-08 15:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from roger at eyesopen dot com  2006-05-08 15:29 -------
I've now reconfirmed that this has been fixed on the gcc-4_1-branch by
Jakub's backport of Zdenek's patch.  Thanks to you both.


-- 

roger at eyesopen dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27285


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-05-08 15:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-24 15:33 [Bug tree-optimization/27285] New: [4.1 regression] ivopts postgresql miscompilation jakub at gcc dot gnu dot org
2006-04-24 15:50 ` [Bug tree-optimization/27285] " jakub at gcc dot gnu dot org
2006-04-24 16:18 ` pinskia at gcc dot gnu dot org
2006-04-24 21:40 ` pinskia at gcc dot gnu dot org
2006-04-24 21:41 ` pinskia at gcc dot gnu dot org
2006-04-25  7:37 ` jakub at gcc dot gnu dot org
2006-05-04  6:40 ` jakub at gcc dot gnu dot org
2006-05-04  6:44 ` jakub at gcc dot gnu dot org
2006-05-08 15:30 ` roger at eyesopen dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).