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).