https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108102

--- Comment #11 from Stefan Schulze Frielinghaus <stefansf at linux dot 
ibm.com> ---
Please find attached a reduced version of the initial problem.  If compiled
with

g++ -O2 -march=arch13 -fno-exceptions (-g)

there is still a difference whether build with debug information or not:

diff <(objdump -d reduced.o-without-debug) <(objdump -d reduced.o-with-debug)
2c2
< reduced.o-without-debug:     file format elf64-s390
---
> reduced.o-with-debug:     file format elf64-s390
94,97c94,97
<  1b8: e5 48 f0 a8 00 00       mvghi   168(%r15),0
<  1be: e3 50 f0 c8 00 04       lg      %r5,200(%r15)
<  1c4: 41 30 f0 a0             la      %r3,160(%r15)
<  1c8: e3 50 f0 a0 00 24       stg     %r5,160(%r15)
---
>  1b8: e3 50 f0 c8 00 04       lg      %r5,200(%r15)
>  1be: e5 48 f0 a8 00 00       mvghi   168(%r15),0
>  1c4: e3 50 f0 a0 00 24       stg     %r5,160(%r15)
>  1ca: 41 30 f0 a0             la      %r3,160(%r15)

The corresponding insns are:

Without debug information:

mvghi => insn 207
lg    => insn 206
la    => insn 310
stg   => insn 312

With debug information:

lg    => insn 427
mvghi => insn 428
stg   => insn 533
la    => insn 531

In split3 the order of the insns are the same and change in sched2 where we
have:

Without debug information:

;;   ======================================================
;;   -- basic block 14 from 87 to 355 -- after reload
;;   ======================================================

;;        0--> b  0: i  87 %r2=0                                   :nothing
;;        1--> b  0: i  88 {%r2=call
[`_ZN4Rust4TyTy9ParamType7resolveEv'];clobber %r14;}:nothing
;;        2--> b  0: i 207 [%r15+0xa8]=0                           :nothing
;;        3--> b  0: i 206 %r5=[%r15+0xc8]                         :nothing
;;        4--> b  0: i 310 %r3=%r15+0xa0                           :nothing
;;        5--> b  0: i 312 [%r15+0xa0]=%r5                         :nothing
;;        6--> b  0: i 311 %r2=%r15+0xc0                           :nothing
;;        7--> b  0: i  96 {call
[`_ZNSt6vectorIPN4Rust4TyTy8BaseTypeESaIS3_EE17_M_realloc_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvT_'];clobber
%r14;}:nothing
;;        8--> b  0: i 355 pc=L174                                 :nothing
;;      Ready list (final):
;;   total time = 8
;;   new head = 87
;;   new tail = 355

With debug information:

;;   ======================================================
;;   -- basic block 14 from 201 to 585 -- after reload
;;   ======================================================

;;        0--> b  0: i 201 debug_marker                            :nothing
;;        0--> b  0: i 202 %r2=0                                   :nothing
;;        1--> b  0: i 203 {%r2=call
[`_ZN4Rust4TyTy9ParamType7resolveEv'];clobber %r14;}:nothing
;;        1--> b  0: i 204 debug_marker                            :nothing
;;        1--> b  0: i 205 loc %r15+0xc0                           :nothing
;;        1--> b  0: i 206 debug_marker                            :nothing
;;        1--> b  0: i 207 loc %r15+0xc0                           :nothing
;;        1--> b  0: i 208 debug_marker                            :nothing
;;        1--> b  0: i 210 loc debug_implicit_ptr                  :nothing
;;        1--> b  0: i 211 loc [%r15+0xc8]                         :nothing
;;        1--> b  0: i 212 debug_marker                            :nothing
;;        1--> b  0: i 214 loc clobber                             :nothing
;;        1--> b  0: i 215 loc clobber                             :nothing
;;        1--> b  0: i 216 loc clobber                             :nothing
;;        2--> b  0: i 427 %r5=[%r15+0xc8]                         :nothing
;;        3--> b  0: i 428 [%r15+0xa8]=0                           :nothing
;;        4--> b  0: i 533 [%r15+0xa0]=%r5                         :nothing
;;        5--> b  0: i 531 %r3=%r15+0xa0                           :nothing
;;        6--> b  0: i 532 %r2=%r15+0xc0                           :nothing
;;        7--> b  0: i 222 {call
[`_ZNSt6vectorIPN4Rust4TyTy8BaseTypeESaIS3_EE17_M_realloc_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvT_'];clobber
%r14;}:nothing
;;        7--> b  0: i 223 loc clobber                             :nothing
;;        8--> b  0: i 585 pc=L373                                 :nothing
;;      Ready list (final):
;;   total time = 8
;;   new head = 201
;;   new tail = 585

Reply via email to