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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |vmakarov at gcc dot gnu.org

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I doubt the trigger is exactly CONCAT/CONCATN, I don't see those mentioned
anywhere in
the scheduler nor in i386 backend code related to scheduling.
But the DEBUG_INSN with CONCATN in this case contains 16 MEMs, perhaps
something defers some insns for later if that DEBUG_INSN is scheduled.
Not very familiar with the scheduling dumps though.
With:
./xgcc -B ./ -S -O2 -fsched2-use-superblocks -fcompare-debug pr106746.c
-Wno-psabi --param min-nondebug-insn-uid=10000 -fdump-tree-all -da
-fsched-verbose=8
I see that it is tick 24 in which insn 10148 is scheduled with -g0 and not
otherwise,
already in tick 21 it is:
 ;;      21-->   10090 xmm7=[dx*0x4+sp+0x8]                   
:hsw_decodern,hsw_p23
+;;             dependencies resolved: insn   10148
+;;             tick updated: insn   10148 into ready
 ;;             dependencies resolved: insn   10203
 ;;             tick updated: insn   10203 into ready
 ;;             dependencies resolved: insn   10202
 ;;             tick updated: insn   10202 into ready
 ;;             dependencies resolved: insn   10201
 ;;             tick updated: insn   10201 into ready
But why, I'm not sure.

Reply via email to