public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
@ 2011-05-23 8:23 ` sebastian.huber@embedded-brains.de
2011-08-22 13:23 ` sebastian.huber@embedded-brains.de
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-05-23 8:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
--- Comment #1 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2011-05-23 08:00:49 UTC ---
Created attachment 24334
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24334
C source code corresponding to the assembler code.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields
@ 2011-05-23 8:29 sebastian.huber@embedded-brains.de
2011-05-23 8:23 ` [Bug c/49119] " sebastian.huber@embedded-brains.de
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-05-23 8:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
Summary: PowerPC: Wrong code with designated initializers and
bit fields
Product: gcc
Version: 4.6.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: sebastian.huber@embedded-brains.de
Target: powerpc-rtems4.11-gcc
With GCC 4.6.1 20110513 for PowerPC with -O2 I get this:
Disassembly of section .text:
00000000 <wrong_code>:
0: 38 00 00 00 li r0,0 <- This is wrong
4: 7c 10 9b a6 mtspr 624,r0 <-
8: 3d 20 00 00 lis r9,0
c: 80 09 00 04 lwz r0,4(r9)
10: 7c 11 9b a6 mtspr 625,r0
14: 3d 20 00 00 lis r9,0
18: 80 09 00 08 lwz r0,8(r9)
1c: 7c 12 9b a6 mtspr 626,r0
20: 3d 20 00 00 lis r9,0
24: 80 09 00 0c lwz r0,12(r9)
28: 7c 13 9b a6 mtspr 627,r0
2c: 7c 00 07 a4 tlbld r0
30: 4e 80 00 20 blr
00000034 <valid_code>:
34: 3c 00 10 05 lis r0,4101 <- This is valid
38: 7c 10 9b a6 mtspr 624,r0 <-
3c: 3d 20 00 00 lis r9,0
40: 80 09 00 1c lwz r0,28(r9)
44: 7c 11 9b a6 mtspr 625,r0
48: 3d 20 00 00 lis r9,0
4c: 80 09 00 20 lwz r0,32(r9)
50: 7c 12 9b a6 mtspr 626,r0
54: 3d 20 00 00 lis r9,0
58: 80 09 00 24 lwz r0,36(r9)
5c: 7c 13 9b a6 mtspr 627,r0
60: 7c 00 07 a4 tlbld r0
64: 4e 80 00 20 blr
Disassembly of section .rodata:
00000000 <mmu_setup_wrong>:
0: 10 05 00 00
4: c0 00 01 00
8: 3f ff 80 0a
c: 3f ff 80 0f
...
00000018 <mmu_setup_valid>:
18: 10 05 00 00
1c: c0 00 01 00
20: 3f ff 80 0a
24: 3f ff 80 0f
The designated initializer
.MAS0 = { .B = { .TLBSEL = 1, .ESEL = 5 } },
leads to wrong code. On the other hand
.MAS0 = { .R = 0x10050000 },
leads to valid code.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
2011-05-23 8:23 ` [Bug c/49119] " sebastian.huber@embedded-brains.de
@ 2011-08-22 13:23 ` sebastian.huber@embedded-brains.de
2011-08-22 16:44 ` mikpe at it dot uu.se
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-08-22 13:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
--- Comment #2 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2011-08-22 12:19:24 UTC ---
This bug is not present in GCC 4.7.0 20110820. Does anyone know which commit
fixed this problem? Is it possible to integrate the fix in GCC 4.6?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
2011-05-23 8:23 ` [Bug c/49119] " sebastian.huber@embedded-brains.de
2011-08-22 13:23 ` sebastian.huber@embedded-brains.de
@ 2011-08-22 16:44 ` mikpe at it dot uu.se
2011-08-23 15:27 ` sebastian.huber@embedded-brains.de
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: mikpe at it dot uu.se @ 2011-08-22 16:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
Mikael Pettersson <mikpe at it dot uu.se> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikpe at it dot uu.se
--- Comment #3 from Mikael Pettersson <mikpe at it dot uu.se> 2011-08-22 16:40:35 UTC ---
I can't reproduce the wrong code on powerpc64-linux (with -m32), or on
m68k-linux (also big-endian, assuming it's an endianess issue) with
gcc-4.6.2-recentish.
How exactly was your gcc configured, and how did you invoke it on this test
case?
Also please inspect the generated assembly code (gcc -S) rather than
disassembled object code (objdump -d). Disassembly tends to omit relocation
data.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
` (2 preceding siblings ...)
2011-08-22 16:44 ` mikpe at it dot uu.se
@ 2011-08-23 15:27 ` sebastian.huber@embedded-brains.de
2011-08-24 8:30 ` sebastian.huber@embedded-brains.de
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-08-23 15:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
--- Comment #4 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2011-08-23 15:01:59 UTC ---
Created attachment 25084
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25084
Generated assembler file.
Command line:
powerpc-rtems4.11-gcc -O2 -save-temps -fverbose-asm -c bspstart.i -o bspstart.o
GCC configure options:
powerpc-rtems4.11-gcc --version --verbose
Using built-in specs.
COLLECT_GCC=powerpc-rtems4.11-gcc
COLLECT_LTO_WRAPPER=/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/4.6.1/lto-wrapper
powerpc-rtems4.11-gcc (GCC) 4.6.1 20110513 (prerelease)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Target: powerpc-rtems4.11
Configured with: /home/sh/archive/gcc-4.6-20110513-work/configure
--prefix=/opt/rtems-4.11 --target=powerpc-rtems4.11 --verbose --with-gnu-as
--with-gnu-ld --with-newlib --disable-libstdcxx-pch --disable-nls
--without-included-gettext --disable-win32-registry
--enable-version-specific-runtime-libs --enable-threads
--enable-newlib-io-c99-formats --enable-languages=c,c++
Thread model: rtems
gcc version 4.6.1 20110513 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='--version' '-v'
/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/4.6.1/cc1 -quiet -v -Dmpc750
help-dummy -quiet -dumpbase help-dummy -auxbase help-dummy -version --version
-o /tmp/ccMl1sdZ.s
GNU C (GCC) version 4.6.1 20110513 (prerelease) (powerpc-rtems4.11)
compiled by GNU C version 4.4.1 [gcc-4_4-branch revision 150839], GMP
version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='--version' '-v'
/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/bin/as
-v -mppc -many --version -o /tmp/cckFLHZM.o /tmp/ccMl1sdZ.s
GNU assembler version 2.21.1 (powerpc-rtems4.11) using BFD version (GNU
Binutils) 2.21.1
GNU assembler (GNU Binutils) 2.21.1
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `powerpc-rtems4.11'.
COMPILER_PATH=/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/4.6.1/:/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/4.6.1/:/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/:/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/:/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/:/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/bin/
LIBRARY_PATH=/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/:/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/lib/
COLLECT_GCC_OPTIONS='--version' '-v'
/opt/rtems-4.11/libexec/gcc/powerpc-rtems4.11/4.6.1/collect2 --eh-frame-hdr -V
-dn -Bstatic --version
/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/lib/crt0.o
-L/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1
-L/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/lib
/tmp/cckFLHZM.o -lgcc -lc -lgcc
collect2 version 4.6.1 20110513 (prerelease) (PowerPC Embedded)
/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/bin/ld
--eh-frame-hdr -V -dn -Bstatic --version
/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/lib/crt0.o
-L/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1
-L/opt/rtems-4.11/lib/gcc/powerpc-rtems4.11/4.6.1/../../../../powerpc-rtems4.11/lib
/tmp/cckFLHZM.o -lgcc -lc -lgcc
GNU ld (GNU Binutils) 2.21.1
Supported emulations:
elf32ppc
GNU ld (GNU Binutils) 2.21.1
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
` (3 preceding siblings ...)
2011-08-23 15:27 ` sebastian.huber@embedded-brains.de
@ 2011-08-24 8:30 ` sebastian.huber@embedded-brains.de
2011-08-24 10:34 ` mikpe at it dot uu.se
2011-08-24 10:36 ` sebastian.huber@embedded-brains.de
6 siblings, 0 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-08-24 8:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
Sebastian Huber <sebastian.huber@embedded-brains.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Known to work| |4.6.2
Resolution| |FIXED
Known to fail| |4.6.1
--- Comment #5 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2011-08-24 08:20:19 UTC ---
It seems that this problem is also fixed in GCC 4.6.2 20110819.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
` (4 preceding siblings ...)
2011-08-24 8:30 ` sebastian.huber@embedded-brains.de
@ 2011-08-24 10:34 ` mikpe at it dot uu.se
2011-08-24 10:36 ` sebastian.huber@embedded-brains.de
6 siblings, 0 replies; 8+ messages in thread
From: mikpe at it dot uu.se @ 2011-08-24 10:34 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
--- Comment #6 from Mikael Pettersson <mikpe at it dot uu.se> 2011-08-24 10:25:39 UTC ---
For the record, this was fixed on 4.6 branch by r176438, the fix for PR49768.
The test cases are essentially the same, so PR49119 is a dupe of PR49768.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
` (5 preceding siblings ...)
2011-08-24 10:34 ` mikpe at it dot uu.se
@ 2011-08-24 10:36 ` sebastian.huber@embedded-brains.de
6 siblings, 0 replies; 8+ messages in thread
From: sebastian.huber@embedded-brains.de @ 2011-08-24 10:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119
Sebastian Huber <sebastian.huber@embedded-brains.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |DUPLICATE
--- Comment #7 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2011-08-24 10:34:05 UTC ---
Thanks for the pointer.
*** This bug has been marked as a duplicate of bug 49768 ***
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-08-24 10:34 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-23 8:29 [Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields sebastian.huber@embedded-brains.de
2011-05-23 8:23 ` [Bug c/49119] " sebastian.huber@embedded-brains.de
2011-08-22 13:23 ` sebastian.huber@embedded-brains.de
2011-08-22 16:44 ` mikpe at it dot uu.se
2011-08-23 15:27 ` sebastian.huber@embedded-brains.de
2011-08-24 8:30 ` sebastian.huber@embedded-brains.de
2011-08-24 10:34 ` mikpe at it dot uu.se
2011-08-24 10:36 ` sebastian.huber@embedded-brains.de
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).