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

Andrey Belevantsev <abel at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ubizjak at gmail dot com

--- Comment #3 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-05-19 
16:43:04 UTC ---
We again hit an insn with the nothing reservation.  This time it is the compare
from *cmpfp_iu_sse.  It does set the decode attribute to vector correctly but
sets type to ssecomi, and in the athlon.md the athlon_ssecomi reservation
compares against ssecmp, not ssecomi.  I see the following comment there:

;; It seems athlon_ssecomi has a bug in the attr_type, fixed for amdfam10

Changing the type to ssecomi (like below, as in atom.md) fixes this.

Uros, does this look right to you?  The other ssecomi* reservations also have
the ssecomi type.  If yes, then I will add the assert to the scheduler which
will fire immediately upon detecting this, it will be simple. 


diff --git a/gcc/config/i386/athlon.md b/gcc/config/i386/athlon.md
index 341adf4..2896a15 100644
--- a/gcc/config/i386/athlon.md
+++ b/gcc/config/i386/athlon.md
@@ -798,7 +798,7 @@
                         "athlon-direct,athlon-fploadk8,athlon-fadd")
 (define_insn_reservation "athlon_ssecomi" 4
                         (and (eq_attr "cpu" "athlon,k8,generic64")
-                             (eq_attr "type" "ssecmp"))
+                             (eq_attr "type" "ssecomi"))
                         "athlon-vector,athlon-fpsched,athlon-fadd")
 (define_insn_reservation "athlon_ssecomi_amdfam10" 3
                         (and (eq_attr "cpu" "amdfam10")

Reply via email to