[Bug c/55882] unaligned load/store : incorrect struct offset
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 8 15:07:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55882
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-08 15:07:16 UTC ---
(In reply to comment #3)
>
> 00000000 <testfunction>: 00000000 <testfunction>:
> ...
> 20: 03c21021 addu v0,s8,v0 20: 03c21021 addu v0,s8,v0
>
> 24: 8c44000c lw a0,12(v0) | 24: 8c44000a lw a0,10(v0)
>
> 28: 3c03000f lui v1,0xf | 28: 3c03ffff lui v1,0xffff
> 2c: 3463ffff ori v1,v1,0xffff | 2c: 3463000f ori v1,v1,0xf
> 30: 00831824 and v1,a0,v1 30: 00831824 and v1,a0,v1
>
> 34: ac43000c sw v1,12(v0) | 34: ac43000a sw v1,10(v0)
>
> 38: 03c0e82d move sp,s8 38: 03c0e82d move sp,s8
> 3c: 8fbe03ec lw s8,1004(sp) 3c: 8fbe03ec lw s8,1004(sp)
> 40: 27bd03f0 addiu sp,sp,1008 40: 27bd03f0 addiu sp,sp,1008
> 44: 03e00008 jr ra 44: 03e00008 jr ra
> 48: 00000000 nop 48: 00000000 nop
I believe the right side is correct. use_alt_rd_dqs is at offset 10
(enable_monitor at 0, step_out_pointer at 2, hold_out_pointer at 4, etc.).
Depending on enum behavior on mips (-fshort-enums?) mystruct is aligned
to two bytes.
Can you post -v output of the compile? I'm trying to reproduce with
a cross to mips-elf now.
More information about the Gcc-bugs
mailing list