aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/ppro.md
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2006-12-06 15:56:10 +0100
committerUros Bizjak <uros@gcc.gnu.org>2006-12-06 15:56:10 +0100
commit90c56b45eba69690eb21bf950a14783fadb48724 (patch)
tree08f6cb948a4dc9fabfac92c2ac88671c0a65f47a /gcc/config/i386/ppro.md
parent4b53c50816e4bdebf791d0f93e51871ef5314b0e (diff)
downloadgcc-90c56b45eba69690eb21bf950a14783fadb48724.zip
gcc-90c56b45eba69690eb21bf950a14783fadb48724.tar.gz
gcc-90c56b45eba69690eb21bf950a14783fadb48724.tar.bz2
i386.md (DIRFLAG_REG): Remove constant.
* 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. From-SVN: r119581
Diffstat (limited to 'gcc/config/i386/ppro.md')
-rw-r--r--gcc/config/i386/ppro.md7
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/config/i386/ppro.md b/gcc/config/i386/ppro.md
index 9f06989..25de27b 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