diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-06 14:56:10 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-06 14:56:10 +0000 |
commit | 69858f81e61e95e98db9f93adf146a413b3d3b87 (patch) | |
tree | 08f6cb948a4dc9fabfac92c2ac88671c0a65f47a /gcc/config/i386/ppro.md | |
parent | f84f5daea690d2d706ac1800c140cc3b4a64b687 (diff) | |
download | gcc-69858f81e61e95e98db9f93adf146a413b3d3b87.tar.gz |
* config/i386/i386.md (DIRFLAG_REG): Remove constant.
(type): Remove cld.
(length_immediate): Do not depend on cld type attribute.
(length_address): Ditto.
(modrm): Ditto.
(memory): Ditto.
(cld): Remove insn pattern.
(strmov_singleop): Do not use DIRFLAG_REG.
(*strmovdi_rex_1): Ditto.
(*strmovsi_1): Ditto.
(*strmovsi_rex_1): Ditto.
(*strmovhi_1): Ditto.
(*strmovhi_rex_1): Ditto.
(*strmovqi_1): Ditto.
(*strmovqi_rex_1): Ditto.
(rep_mov): Ditto.
(*rep_movdi_rex64): Ditto.
(*rep_movsi): Ditto.
(*rep_movsi_rex64): Ditto.
(*rep_movqi): Ditto.
(*rep_movqi_rex64): Ditto.
(strset_singleop): Ditto.
(*strsetdi_rex_1): Ditto.
(*strsetsi_1): Ditto.
(*strsetsi_rex_1): Ditto.
(*strsethi_1): Ditto.
(*strsethi_rex_1): Ditto.
(*strsetqi_1): Ditto.
(*strsetqi_rex_1): Ditto.
(rep_stos): Ditto.
(*rep_stosdi_rex64): Ditto.
(*rep_stossi): Ditto.
(*rep_stossi_rex64): Ditto.
(*rep_stosqi): Ditto.
(*rep_stosqi_rex64): Ditto.
(cmpstrnsi): Do not generate cld insn.
(cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
(*cmpstrnqi_nz_1): Ditto.
(*cmpstrnqi_nz_rex_1): Ditto.
(cmpstrnqi_1): Ditto.
(*cmpstrnqi_1): Ditto.
(*cmpstrnqi_rex_1): Ditto.
(strlenqi_1): Ditto.
(*strlenqi_1): Ditto.
(*strlenqi_rex_1): Ditto.
* config/i386/geode.md (shift): Do not depend on cld type attribute.
* config/i386/pentium.md (pent_cld): Remove insn reservation.
* config/i386/athlon.md (athlon_decode): Do not depend on cld
type attribute.
* config/i386/ppro.md (ppro_cld): Remove insn reservation.
* config/i386/k6.md (k6_alux_only): Do not depend on cld type
attribute.
(k6_alux_only_load): Ditto.
(k6_alux_only_store): Ditto.
* config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
Do not emit cld instruction.
(ix86_expand_setmem): Ditto.
(ix86_expand_strlen): Do not emit cld instruction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119581 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/ppro.md')
-rw-r--r-- | gcc/config/i386/ppro.md | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/config/i386/ppro.md b/gcc/config/i386/ppro.md index 9f069891484..25de27bde77 100644 --- a/gcc/config/i386/ppro.md +++ b/gcc/config/i386/ppro.md @@ -60,8 +60,7 @@ ;; This isn't necessary right now because we assume for every ;; instruction that it never blocks a decoder. ;; - Figure out where the p0 and p1 reservations come from. These -;; appear not to be in the manual (e.g. why is cld "(p0+p1)*2" -;; better than "(p0|p1)*4" ???) +;; appear not to be in the manual ;; - Lots more because I'm sure this is still far from optimal :-) ;; The ppro_idiv and ppro_fdiv automata are used to model issue @@ -196,10 +195,6 @@ (eq_attr "type" "ishift,ishift1,rotate,rotate1"))) "decoder0,p2+p0,p4+p3") -(define_insn_reservation "ppro_cld" 2 - (and (eq_attr "cpu" "pentiumpro,generic32") - (eq_attr "type" "cld")) - "decoder0,(p0+p1)*2") ;; The P6 has a sophisticated branch prediction mechanism to minimize ;; latencies due to branching. In particular, it has a fast way to |