This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

i386 cleanup


Hi,
After last patches to expr.c, I think we can safely remove pushqi1, since it
will be never used (and i386 don't have such instruction anyway).
While I was looking on that, I found that we also do have popqi/pophi patterns,
that are completely unneeded.

OK?

Honza

Wed Mar 21 10:17:14 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (pophi1, popqi1, pushqi1): Remove.

Index: i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.238
diff -c -3 -p -r1.238 i386.md
*** i386.md	2001/03/19 17:56:32	1.238
--- i386.md	2001/03/21 09:16:42
***************
*** 1745,1760 ****
    [(set_attr "type" "push")
     (set_attr "mode" "HI")])
  
- (define_insn "*pophi1"
-   [(set (match_operand:HI 0 "nonimmediate_operand" "=r*m")
- 	(mem:HI (reg:SI 7)))
-    (set (reg:SI 7)
- 	(plus:SI (reg:SI 7) (const_int 2)))]
-   "!TARGET_64BIT"
-   "pop{w}\\t%0"
-   [(set_attr "type" "pop")
-    (set_attr "mode" "HI")])
- 
  (define_insn "*movhi_1"
    [(set (match_operand:HI 0 "nonimmediate_operand" "=*a,r,r,*a,r,m")
  	(match_operand:HI 1 "general_operand" "i,r,rn,rm,rm,rn"))]
--- 1745,1750 ----
***************
*** 1867,1896 ****
  	(match_operand:QI 1 "general_operand" ""))]
    ""
    "ix86_expand_move (QImode, operands); DONE;")
- 
- ;; emit_push_insn when it calls move_by_pieces requires an insn to
- ;; "push a byte".  But actually we use pushw, which has the effect
- ;; of rounding the amount pushed up to a halfword.
- 
- (define_insn "*pushqi2"
-   [(set (match_operand:QI 0 "push_operand" "=<,<")
- 	(match_operand:QI 1 "nonmemory_no_elim_operand" "n,r"))]
-   "!TARGET_64BIT"
-   "@
-    push{w}\\t{|word ptr }%1
-    push{w}\\t%w1"
-   [(set_attr "type" "push")
-    (set_attr "mode" "HI")])
- 
- (define_insn "*popqi1"
-   [(set (match_operand:QI 0 "nonimmediate_operand" "=r*m")
- 	(mem:QI (reg:SI 7)))
-    (set (reg:SI 7)
- 	(plus:SI (reg:SI 7) (const_int 2)))]
-   "!TARGET_64BIT"
-   "pop{w}\\t%0"
-   [(set_attr "type" "pop")
-    (set_attr "mode" "HI")])
  
  ;; Situation is quite tricky about when to choose full sized (SImode) move
  ;; over QImode moves.  For Q_REG -> Q_REG move we use full size only for
--- 1857,1862 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]