This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32878] FAIL: 23_containers/bitset/cons/16020.cc execution test
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jul 2007 19:22:09 -0000
- Subject: [Bug middle-end/32878] FAIL: 23_containers/bitset/cons/16020.cc execution test
- References: <bug-32878-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from danglin at gcc dot gnu dot org 2007-07-24 19:22 -------
test01 is miscompiled at O2:
(gdb) disass _Z6test01v
Dump of assembler code for function _Z6test01v:
0x0001030c <_Z6test01v+0>: ldi 7,ret0
0x00010310 <_Z6test01v+4>: stw rp,-14(sp)
0x00010314 <_Z6test01v+8>: ldo c0(sp),sp
0x00010318 <_Z6test01v+12>: ldw -b0(sp),r21
0x0001031c <_Z6test01v+16>: ldw -ac(sp),r22
0x00010320 <_Z6test01v+20>: stw ret0,-b8(sp)
0x00010324 <_Z6test01v+24>: ldi 1,ret0
0x00010328 <_Z6test01v+28>: ldw -b8(sp),r19
0x0001032c <_Z6test01v+32>: ldw -b4(sp),r20
0x00010330 <_Z6test01v+36>: stw ret0,-ac(sp)
0x00010334 <_Z6test01v+40>: stw r19,-98(sp)
0x00010338 <_Z6test01v+44>: stw r20,-94(sp)
0x0001033c <_Z6test01v+48>: ldw -98(sp),ret0
0x00010340 <_Z6test01v+52>: stw r3,-88(sp)
0x00010344 <_Z6test01v+56>: stw r0,-b4(sp)
0x00010348 <_Z6test01v+60>: stw r19,-a8(sp)
0x0001034c <_Z6test01v+64>: stw r20,-a4(sp)
0x00010350 <_Z6test01v+68>: stw r21,-a0(sp)
0x00010354 <_Z6test01v+72>: stw r22,-9c(sp)
0x00010358 <_Z6test01v+76>: stw r0,-b0(sp)
0x0001035c <_Z6test01v+80>: stw r21,-90(sp)
0x00010360 <_Z6test01v+84>: stw r22,-8c(sp)
---Type <return> to continue, or q <return> to quit---
0x00010364 <_Z6test01v+88>: cmpib,<> 7,ret0,0x1039c <_Z6test01v+144>
0x00010368 <_Z6test01v+92>: ldw -a8(sp),ret0
0x0001036c <_Z6test01v+96>: cmpib,<> 7,ret0,0x103bc <_Z6test01v+176>
0x00010370 <_Z6test01v+100>: ldil L%a6800,r25
0x00010374 <_Z6test01v+104>: b,l 0x1061c
<_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv>,rp
0x00010378 <_Z6test01v+108>: ldo -94(sp),r26
The order of the ldw at 0x0001032c and the stw at 0x00010344 is
interchanged from what's in the O1 code. As a result, r20 and the stack
slot at -94(sp) contain garbage. Also, the ldw instructions at
0x00010318 and 0x0001031c are totally bogus. Changing this
to a middle-end bug.
--
danglin at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32878