Fix PR 49014

Andrey Belevantsev abel@ispras.ru
Wed May 25 09:45:00 GMT 2011


Hello,

This patch fixes PR 49014, yet another case of the insn with wrong 
reservation.  Approved by Uros in the PR audit trail, bootstrapped and 
regtested on x86-64/linux and committed to trunk.

Vlad, Bernd, I wonder if we can avoid having recog_memoized >=0 insns that 
do not have proper DFA reservations (that is, they do not change the DFA 
state).  I see that existing practice allows this as shown by Bernd's patch 
to 48403, i.e. such insns do not count against issue_rate.  I would be 
happy to fix sel-sched in the same way.  However, both sel-sched ICEs as 
shown by PRs 48143 and 49014 really uncover the latent bugs in the backend. 
  So, is it possible to stop having such insns if scheduling is desired, or 
otherwise distinguish the insns that wrongly miss the proper DFA reservation?

Yours, Andrey

Index: gcc/ChangeLog
===================================================================
*** gcc/ChangeLog       (revision 174171)
--- gcc/ChangeLog       (working copy)
***************
*** 1,3 ****
--- 1,8 ----
+ 2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/49014
+       * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
+
   2011-05-25  Jakub Jelinek  <jakub@redhat.com>

         PR target/49128
Index: gcc/config/i386/athlon.md
===================================================================
*** gcc/config/i386/athlon.md   (revision 174171)
--- gcc/config/i386/athlon.md   (working copy)
*************** (define_insn_reservation "athlon_ssecomi
*** 798,804 ****
                          "athlon-direct,athlon-fploadk8,athlon-fadd")
   (define_insn_reservation "athlon_ssecomi" 4
                          (and (eq_attr "cpu" "athlon,k8,generic64")
!                             (eq_attr "type" "ssecmp"))
                          "athlon-vector,athlon-fpsched,athlon-fadd")
   (define_insn_reservation "athlon_ssecomi_amdfam10" 3
                          (and (eq_attr "cpu" "amdfam10")
--- 798,804 ----
                          "athlon-direct,athlon-fploadk8,athlon-fadd")
   (define_insn_reservation "athlon_ssecomi" 4
                          (and (eq_attr "cpu" "athlon,k8,generic64")
!                             (eq_attr "type" "ssecomi"))
                          "athlon-vector,athlon-fpsched,athlon-fadd")
   (define_insn_reservation "athlon_ssecomi_amdfam10" 3
                          (and (eq_attr "cpu" "amdfam10")



More information about the Gcc-patches mailing list