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")