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