* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
@ 2008-04-11 14:02 ` jakub at gcc dot gnu dot org
2008-04-11 14:26 ` jakub at gcc dot gnu dot org
` (24 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-11 14:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from jakub at gcc dot gnu dot org 2008-04-11 14:01 -------
Created an attachment (id=15466)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15466&action=view)
regex.i.bz2
bzip2ed testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
2008-04-11 14:02 ` [Bug target/35907] " jakub at gcc dot gnu dot org
@ 2008-04-11 14:26 ` jakub at gcc dot gnu dot org
2008-04-11 14:32 ` jakub at gcc dot gnu dot org
` (23 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-11 14:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from jakub at gcc dot gnu dot org 2008-04-11 14:25 -------
Smaller testcase:
/* { dg-do run } */
/* { dg-options "-O2 -mcpu=power6" } */
#define vector __attribute__((vector_size (16)))
union
{
vector int k;
int c[16];
} u, v, w;
vector int m;
void __attribute__((noinline))
bar (void *i, vector int j)
{
asm volatile ("" : : "r" (i), "r" (&j) : "memory");
}
int __attribute__((noinline))
foo (int i, vector int j)
{
char *p = __builtin_alloca (64 + i);
m += u.k;
v.k = m;
w.k = j;
if (__builtin_memcmp (&v.c, &w.c, 16) != 0)
__builtin_abort ();
j += u.k;
bar (p, j);
j += u.k;
bar (p, j);
return 0;
}
int
main (void)
{
vector int l;
int i;
for (i = 0; i < 4; i++)
u.c[i] = i;
l = u.k;
if (foo (64, l))
__builtin_abort ();
l += u.k;
if (foo (64, l))
__builtin_abort ();
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
2008-04-11 14:02 ` [Bug target/35907] " jakub at gcc dot gnu dot org
2008-04-11 14:26 ` jakub at gcc dot gnu dot org
@ 2008-04-11 14:32 ` jakub at gcc dot gnu dot org
2008-04-11 16:27 ` pinskia at gcc dot gnu dot org
` (22 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-11 14:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from jakub at gcc dot gnu dot org 2008-04-11 14:31 -------
On this smaller testcase and supposedly on the large testcase too:
@@ -90,7 +90,7 @@ foo:
li 3,0
lvx 30,1,0
li 0,128
- lvx 31,1,0
+ lvx 31,31,0
ld 1,0(1)
lwz 12,-28(1)
mtvrsave 12
fixes this (r31 is frame pointer, set to r1 around the stvx that saved v31,
but at the lvx 31,1,0 instruction r1 is r31 decreased by alloca calls).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-04-11 14:32 ` jakub at gcc dot gnu dot org
@ 2008-04-11 16:27 ` pinskia at gcc dot gnu dot org
2008-04-11 17:21 ` bergner at gcc dot gnu dot org
` (21 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-11 16:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pinskia at gcc dot gnu dot org 2008-04-11 16:26 -------
I wonder if this was caused by:
2007-05-16 Eric Christopher <echristo@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
saving after stack push. Set sp_offset whenever we push.
(rs6000_emit_epilogue): Move altivec register restore before
stack push.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Keywords| |wrong-code
Target Milestone|--- |4.3.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-04-11 16:27 ` pinskia at gcc dot gnu dot org
@ 2008-04-11 17:21 ` bergner at gcc dot gnu dot org
2008-04-11 17:34 ` bergner at gcc dot gnu dot org
` (20 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-11 17:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from bergner at gcc dot gnu dot org 2008-04-11 17:20 -------
Created an attachment (id=15467)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15467&action=view)
Restore altivec regs after frame pointer setup
I agree with Andrew, it looks like Eric's patch moved the restoring of the
altivec registers to before the frame pointer code. The attached (non
bootstrapped or regtested) fixes the problem for me. Does this look ok to
everyone?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-04-11 17:21 ` bergner at gcc dot gnu dot org
@ 2008-04-11 17:34 ` bergner at gcc dot gnu dot org
2008-04-11 18:38 ` jakub at gcc dot gnu dot org
` (19 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-11 17:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from bergner at gcc dot gnu dot org 2008-04-11 17:33 -------
FYI, it results in the updated asm:
--- glibc02-bad.s 2008-04-11 12:21:48.000000000 -0500
+++ glibc02-good.s 2008-04-11 12:21:33.000000000 -0500
@@ -66,12 +66,12 @@
mr 3,30
vadduwm 2,31,2
bl bar
- li 0,16
+ li 0,-64
li 3,0
lwz 11,0(1)
- lvx 30,1,0
- li 0,32
- lvx 31,1,0
+ lvx 30,11,0
+ li 0,-48
+ lvx 31,11,0
lwz 12,-16(11)
mtvrsave 12
lwz 0,4(11)
--
bergner at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-04-11 17:33:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (5 preceding siblings ...)
2008-04-11 17:34 ` bergner at gcc dot gnu dot org
@ 2008-04-11 18:38 ` jakub at gcc dot gnu dot org
2008-04-11 19:08 ` pinskia at gcc dot gnu dot org
` (18 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-11 18:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from jakub at gcc dot gnu dot org 2008-04-11 18:37 -------
Is it safe to have live data in memory below stack pointer on ppc/ppc64?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (6 preceding siblings ...)
2008-04-11 18:38 ` jakub at gcc dot gnu dot org
@ 2008-04-11 19:08 ` pinskia at gcc dot gnu dot org
2008-04-11 19:09 ` bergner at gcc dot gnu dot org
` (17 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-11 19:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from pinskia at gcc dot gnu dot org 2008-04-11 19:07 -------
(In reply to comment #7)
> Is it safe to have live data in memory below stack pointer on ppc/ppc64?
powerpc64-*-* yes , powerpc-linux-gnu no. the SysV abi does not define a red
zone.
--Pinski
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (7 preceding siblings ...)
2008-04-11 19:08 ` pinskia at gcc dot gnu dot org
@ 2008-04-11 19:09 ` bergner at gcc dot gnu dot org
2008-04-11 19:20 ` jakub at gcc dot gnu dot org
` (16 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-11 19:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from bergner at gcc dot gnu dot org 2008-04-11 19:08 -------
This isn't accessing data below the stack pointer, it's accessing below the
previous stack pointer value which is in the current stack frame.
>From a technical standpoint, the ppc64 ABI allows us to access some number of
bytes (144?) below the stack pointer, but the ppc32 ABI does not.
--
bergner at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |bergner at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2008-04-11 17:33:25 |2008-04-11 19:08:38
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (8 preceding siblings ...)
2008-04-11 19:09 ` bergner at gcc dot gnu dot org
@ 2008-04-11 19:20 ` jakub at gcc dot gnu dot org
2008-04-11 22:05 ` bergner at gcc dot gnu dot org
` (15 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-11 19:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jakub at gcc dot gnu dot org 2008-04-11 19:19 -------
Well, for -m64 the code in between the old and new Altivec reg restoring spot
when use_backchain_to_restore_sp will ld 1,0(1). Is altivec_save_offset
guaranteed to be not lower than 288 bytes below this? For -m32, I see that it
doesn't restore sp right away when alloca is used and the info->push_p
increment
doesn't apply to ABI_V4 either.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (9 preceding siblings ...)
2008-04-11 19:20 ` jakub at gcc dot gnu dot org
@ 2008-04-11 22:05 ` bergner at gcc dot gnu dot org
2008-04-14 7:19 ` amodra at bigpond dot net dot au
` (14 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-11 22:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from bergner at gcc dot gnu dot org 2008-04-11 22:04 -------
Hacking the test case to use up more stack space, I did get it to access more
than 288 bytes below the stack frame for -m64, so we obviously need something
more here.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (10 preceding siblings ...)
2008-04-11 22:05 ` bergner at gcc dot gnu dot org
@ 2008-04-14 7:19 ` amodra at bigpond dot net dot au
2008-04-14 7:31 ` jakub at gcc dot gnu dot org
` (13 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at bigpond dot net dot au @ 2008-04-14 7:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from amodra at bigpond dot net dot au 2008-04-14 07:19 -------
Created an attachment (id=15476)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15476&action=view)
proposed patch
I think we want something like the attached patch (as yet untested). Besides
the epilogue bug exposed by alloca, there is another bug with vrsave. If all
non-volatile gp and fp regs are saved/restored by a function, then vrsave will
be stored at frame-288-4 for 64-bit. After sp is adjusted, this location may
be trashed by an interrupt routine.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (11 preceding siblings ...)
2008-04-14 7:19 ` amodra at bigpond dot net dot au
@ 2008-04-14 7:31 ` jakub at gcc dot gnu dot org
2008-04-14 10:26 ` amodra at bigpond dot net dot au
` (12 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-14 7:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from jakub at gcc dot gnu dot org 2008-04-14 07:30 -------
Couldn't it use hard_frame_pointer_rtx if frame_pointer_needed, to avoid the
load from 0(1) ?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (12 preceding siblings ...)
2008-04-14 7:31 ` jakub at gcc dot gnu dot org
@ 2008-04-14 10:26 ` amodra at bigpond dot net dot au
2008-04-15 9:26 ` jakub at gcc dot gnu dot org
` (11 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at bigpond dot net dot au @ 2008-04-14 10:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from amodra at bigpond dot net dot au 2008-04-14 10:25 -------
Yes, I think you could use hard_frame_pointer_rtx in rs6000_emit_epilogue if
frame_pointer_needed, anywhere up to the point where gprs are restored.
Probably done best as a separate patch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (13 preceding siblings ...)
2008-04-14 10:26 ` amodra at bigpond dot net dot au
@ 2008-04-15 9:26 ` jakub at gcc dot gnu dot org
2008-04-15 12:35 ` jakub at gcc dot gnu dot org
` (10 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-15 9:26 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (14 preceding siblings ...)
2008-04-15 9:26 ` jakub at gcc dot gnu dot org
@ 2008-04-15 12:35 ` jakub at gcc dot gnu dot org
2008-04-15 14:37 ` bergner at gcc dot gnu dot org
` (9 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-15 12:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from jakub at gcc dot gnu dot org 2008-04-15 12:34 -------
Ok, let's leave that for a follow-up. Have you managed to test this?
I could bootstrap/regtest on ppc-linu and ppc64-linux, but don't have time
right now for further testing.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (15 preceding siblings ...)
2008-04-15 12:35 ` jakub at gcc dot gnu dot org
@ 2008-04-15 14:37 ` bergner at gcc dot gnu dot org
2008-04-15 21:16 ` bergner at gcc dot gnu dot org
` (8 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-15 14:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from bergner at gcc dot gnu dot org 2008-04-15 14:36 -------
I'll fire off a bootstrap and regtest of Alan's patch on powerpc64-linux and
running the test suite in 32-bit and 64-bit modes (ie, -m32 and -m64).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (16 preceding siblings ...)
2008-04-15 14:37 ` bergner at gcc dot gnu dot org
@ 2008-04-15 21:16 ` bergner at gcc dot gnu dot org
2008-04-16 0:42 ` amodra at bigpond dot net dot au
` (7 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: bergner at gcc dot gnu dot org @ 2008-04-15 21:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from bergner at gcc dot gnu dot org 2008-04-15 21:16 -------
Created an attachment (id=15480)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15480&action=view)
Updated test case ready for inclusion in gcc's testsuite.
Ok, I bootstrapped (powerpc64-linux) and regtested Alan's patch and saw no
regressions in either 32-bit or 64-bit modes. I have also attached an updated
version of Jakub's test case ready for inclusion into GCC's testsuite.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (17 preceding siblings ...)
2008-04-15 21:16 ` bergner at gcc dot gnu dot org
@ 2008-04-16 0:42 ` amodra at bigpond dot net dot au
2008-04-16 0:44 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at bigpond dot net dot au @ 2008-04-16 0:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from amodra at bigpond dot net dot au 2008-04-16 00:41 -------
My bootstrap and regression tests also pass. It took a while... I didn't have
a recent baseline to compare against so needed to do two bootstraps.
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P1 |P3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (18 preceding siblings ...)
2008-04-16 0:42 ` amodra at bigpond dot net dot au
@ 2008-04-16 0:44 ` pinskia at gcc dot gnu dot org
2008-04-17 7:21 ` jakub at gcc dot gnu dot org
` (5 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-16 0:44 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (19 preceding siblings ...)
2008-04-16 0:44 ` pinskia at gcc dot gnu dot org
@ 2008-04-17 7:21 ` jakub at gcc dot gnu dot org
2008-04-17 12:29 ` amodra at gcc dot gnu dot org
` (4 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-17 7:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from jakub at gcc dot gnu dot org 2008-04-17 07:20 -------
Bootstrapped/regtested on gcc-4_3-branch as well.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (20 preceding siblings ...)
2008-04-17 7:21 ` jakub at gcc dot gnu dot org
@ 2008-04-17 12:29 ` amodra at gcc dot gnu dot org
2008-04-17 12:29 ` amodra at gcc dot gnu dot org
` (3 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at gcc dot gnu dot org @ 2008-04-17 12:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from amodra at gcc dot gnu dot org 2008-04-17 12:28 -------
Subject: Bug 35907
Author: amodra
Date: Thu Apr 17 12:27:56 2008
New Revision: 134388
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=134388
Log:
PR target/35907
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
regs before frame pop when needed. If use_backchain_to_restore_sp
then load backchain into a temp reg to restore vr and vrsave. Add
code to restore vr after frame pop if possible.
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/rs6000/rs6000.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (21 preceding siblings ...)
2008-04-17 12:29 ` amodra at gcc dot gnu dot org
@ 2008-04-17 12:29 ` amodra at gcc dot gnu dot org
2008-04-17 12:30 ` amodra at bigpond dot net dot au
` (2 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at gcc dot gnu dot org @ 2008-04-17 12:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from amodra at gcc dot gnu dot org 2008-04-17 12:28 -------
Subject: Bug 35907
Author: amodra
Date: Thu Apr 17 12:27:31 2008
New Revision: 134387
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=134387
Log:
PR target/35907
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
regs before frame pop when needed. If use_backchain_to_restore_sp
then load backchain into a temp reg to restore vr and vrsave. Add
code to restore vr after frame pop if possible.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (22 preceding siblings ...)
2008-04-17 12:29 ` amodra at gcc dot gnu dot org
@ 2008-04-17 12:30 ` amodra at bigpond dot net dot au
2008-04-18 19:13 ` jakub at gcc dot gnu dot org
2008-04-18 19:15 ` jakub at gcc dot gnu dot org
25 siblings, 0 replies; 27+ messages in thread
From: amodra at bigpond dot net dot au @ 2008-04-17 12:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #22 from amodra at bigpond dot net dot au 2008-04-17 12:29 -------
Fixed
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (23 preceding siblings ...)
2008-04-17 12:30 ` amodra at bigpond dot net dot au
@ 2008-04-18 19:13 ` jakub at gcc dot gnu dot org
2008-04-18 19:15 ` jakub at gcc dot gnu dot org
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-18 19:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #23 from jakub at gcc dot gnu dot org 2008-04-18 19:12 -------
Subject: Bug 35907
Author: jakub
Date: Fri Apr 18 19:11:57 2008
New Revision: 134447
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=134447
Log:
PR target/35907
* gcc.target/powerpc/pr35907.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr35907.c
Modified:
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/35907] [4.3/4.4 Regression] 64-bit power6 glibc miscompilation
2008-04-11 13:57 [Bug target/35907] New: [4.3/4.4 Regression] 64-bit power6 glibc miscompilation jakub at gcc dot gnu dot org
` (24 preceding siblings ...)
2008-04-18 19:13 ` jakub at gcc dot gnu dot org
@ 2008-04-18 19:15 ` jakub at gcc dot gnu dot org
25 siblings, 0 replies; 27+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-04-18 19:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #24 from jakub at gcc dot gnu dot org 2008-04-18 19:14 -------
Subject: Bug 35907
Author: jakub
Date: Fri Apr 18 19:13:35 2008
New Revision: 134448
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=134448
Log:
PR target/35907
* gcc.target/powerpc/pr35907.c: New test.
Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.target/powerpc/pr35907.c
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35907
^ permalink raw reply [flat|nested] 27+ messages in thread