This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.1 bug? - looks like it miscompiles optimize_mode_switching()


On Wed, 29 May 2002, tm wrote:

>       int no_mode = num_modes[e];
>       struct bb_info *info = bb_info[j];
>     15f4:       8b 54 15 a4             mov
> 0xffffffa4(%ebp,%edx,1),%edx
>     15f8:       8b 04 85 00 00 00 00    mov    0x0(,%eax,4),%eax
>     15ff:       89 95 70 ff ff ff       mov    %edx,0xffffff70(%ebp)
>     1605:       89 85 74 ff ff ff       mov    %eax,0xffffff74(%ebp)
> 
>                                                     ^ info allocated at
>                                                       0xffffff74(%ebp)

Ooops

> ...
>           info[bb->index].computing = last_mode;
>     16e2:       8b 55 98                mov    0xffffff98(%ebp),%edx
>     16e5:       8b b5 6c ff ff ff       mov    0xffffff6c(%ebp),%esi
>     16eb:       8b 8d 70 ff ff ff       mov    0xffffff70(%ebp),%ecx
> 
>                                                ^ info referenced at 
>                                                  0xffffff70(%ebp)
>                                                  looks wrong!

This is correct. My mistake - sorry about the false alarm. 

Will investigate further.

Toshi



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]