------- Comment #2 from hjl at lucon dot org  2007-12-20 17:45 -------
Created an attachment (id=14802)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14802&action=view)
Dump files

Starting program:
/export/build/gnu/gcc/build-ia64-linux/gcc/testsuite/gcc/a.out 

Program received signal SIGSEGV, Segmentation fault.
0x4000000000000751 in main ()
    at
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c:22
22          p[i].a = p[i].b + 1;
(gdb) p/x $pc
$4 = 0x4000000000000751
(gdb) disass  0x4000000000000740 0x4000000000000752
Dump of assembler code from 0x4000000000000740 to 0x4000000000000752:
0x4000000000000740 <main+192>:  [MII]       shladd r15=r16,2,r0
0x4000000000000741 <main+193>:              adds r16=1,r16;;
0x4000000000000742 <main+194>:              add r14=r33,r15
0x4000000000000750 <main+208>:  [MMI]       add r15=r8,r15;;
0x4000000000000751 <main+209>:              ldfs f6=[r14]
End of assembler dump.
(gdb) p/x $r14
$5 = 0x5f60
(gdb) 

"ldfs f6=[r14]" loads memory at r14 into FP register f6. It looks that
-fipa-struct-reorg miscompiles the code.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34534

Reply via email to