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]

[PATCH]: Force stack align changes (3/3)



The i386.md changes necessary, so we can push the new arg pointer, which
is an eliminable register, and so we output the force stack align
prologue/epilogue if we are forcing stack alignment.
--Dan


*** /boot/home/write/egcs/gcc/config/i386/i386.md	Tue Jan  2 19:24:27 2001
--- i386.md	Wed Jan  3 14:39:17 2001
***************
*** 1559,1564 ****
--- 1559,1572 ----
    [(set_attr "type" "push")
     (set_attr "mode" "SI")])
  
+ (define_insn "*pushi2_argpointer"
+  [(set (match_operand:SI 0 "push_operand" "=<")
+        (match_operand:SI 1 "general_operand" "ri*m"))] 
+   "reload_completed"
+   "push{l}\\t%1"
+   [(set_attr "type" "push")
+   (set_attr "mode" "SI")])
+ 
  (define_insn "*popsi1_epilogue"
    [(set (match_operand:SI 0 "nonimmediate_operand" "=r*m")
  	(mem:SI (reg:SI 7)))
***************
*** 9804,9810 ****
  (define_expand "prologue"
    [(const_int 1)]
    ""
!   "ix86_expand_prologue (); DONE;")
  
  (define_insn "prologue_set_got"
    [(set (match_operand:SI 0 "register_operand" "=r")
--- 9812,9822 ----
  (define_expand "prologue"
    [(const_int 1)]
    ""
!   "if (TARGET_FORCE_STACK_ALIGNMENT)
!     ix86_expand_prologue_fsa ();
!    else
!     ix86_expand_prologue ();
!    DONE;")
  
  (define_insn "prologue_set_got"
    [(set (match_operand:SI 0 "register_operand" "=r")
***************
*** 9850,9861 ****
  (define_expand "epilogue"
    [(const_int 1)]
    ""
!   "ix86_expand_epilogue (1); DONE;")
  
  (define_expand "sibcall_epilogue"
    [(const_int 1)]
    ""
!   "ix86_expand_epilogue (0); DONE;")
  
  (define_insn "leave"
    [(set (reg:SI 7) (reg:SI 6))
--- 9862,9881 ----
  (define_expand "epilogue"
    [(const_int 1)]
    ""
!   "if (TARGET_FORCE_STACK_ALIGNMENT)
!      ix86_expand_epilogue_fsa (1);
!    else
!      ix86_expand_epilogue (1); 
!    DONE;")
  
  (define_expand "sibcall_epilogue"
    [(const_int 1)]
    ""
!   "if (TARGET_FORCE_STACK_ALIGNMENT)
!     ix86_expand_epilogue_fsa (0);
!    else
!     ix86_expand_epilogue (0);
!    DONE;")
  
  (define_insn "leave"
    [(set (reg:SI 7) (reg:SI 6))


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