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]

[Bug bootstrap/45162] [4.6 regression] ARM bootstrap comparison failures after stage 3



------- Comment #3 from ramana at gcc dot gnu dot org  2010-08-03 14:14 -------
Created an attachment (id=21375)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21375&action=view)
testcase.

The difference is in the case with and without debug info. With the attached
pre-processed file and with and without -g you can see differences in code
generated between -g and no -g . The command line options I've used to generate
this code are in a cross-compiler. 

-O2

and 

-O2 -g 

The difference in code generated in the case of debug info is with cprop
deciding to constant propagate a value of 0 into one of the instructions in the
case of with debug info and not without debug info.

We can see the difference in the case of tree-vect-data-refs.i with a cross
compiler to arm-linux-gnueabi with and without the command line options as
mentioned above.
Sorry about the largish testcase but I've not been able to reduce the testcase
further . The difference in code generation happens in
vect_analyze_data_ref_accesses - the one on the left is without debug and the
one on the right is the case with debug info for the same basic block.

.L947:                                     .L947:
      add     ip, sp, #32                  add     ip, sp, #32
      ldmia   ip, {fp-ip}                  ldmia   ip, {fp-ip}
      ldr     r4, [sp, #40]                ldr     r4, [sp, #40]
      orrs    ip, fp, ip                   orrs    ip, fp, ip
                                   >       moveq   r0, #0
      ldreq   lr, [sp, #80]                ldreq   lr, [sp, #80]
                                   >       streq   r0, [sp, #36]
      ldr     r0, [r4, #4]                 ldr     r0, [r4, #4]
      streq   lr, [sp, #32]                streq   lr, [sp, #32]
      bl      vinfo_for_stmt.isra.11       bl      vinfo_for_stmt.isra.11
      ldr     r7, [sp, #32]                ldr     r7, [sp, #32]
        str     r7, [r0, #76]              str     r7, [r0, #76]
        mov     r0, #9                     mov     r0, #9
        bl      vect_print_dump_info       bl      vect_print_dump_info
        cmp     r0, #0                     cmp     r0, #0
        bne     .L1025                     bne     .L1025


-- 

ramana at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #21370|0                           |1
        is obsolete|                            |


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


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