Skip to content
Snippets Groups Projects
  • H.J. Lu's avatar
    853eb577
    x86-64: Generate push2/pop2 only if the incoming stack is 16-byte aligned · 853eb577
    H.J. Lu authored
    Since push2/pop2 requires 16-byte stack alignment, don't generate them
    if the incoming stack isn't 16-byte aligned.
    
    gcc/
    
    	PR target/113912
    	* config/i386/i386.cc (ix86_can_use_push2pop2): New.
    	(ix86_pro_and_epilogue_can_use_push2pop2): Use it.
    	(ix86_emit_save_regs): Don't generate push2 if
    	ix86_can_use_push2pop2 return false.
    	(ix86_expand_epilogue): Don't generate pop2 if
    	ix86_can_use_push2pop2 return false.
    
    gcc/testsuite/
    
    	PR target/113912
    	* gcc.target/i386/apx-push2pop2-2.c: New test.
    853eb577
    History
    x86-64: Generate push2/pop2 only if the incoming stack is 16-byte aligned
    H.J. Lu authored
    Since push2/pop2 requires 16-byte stack alignment, don't generate them
    if the incoming stack isn't 16-byte aligned.
    
    gcc/
    
    	PR target/113912
    	* config/i386/i386.cc (ix86_can_use_push2pop2): New.
    	(ix86_pro_and_epilogue_can_use_push2pop2): Use it.
    	(ix86_emit_save_regs): Don't generate push2 if
    	ix86_can_use_push2pop2 return false.
    	(ix86_expand_epilogue): Don't generate pop2 if
    	ix86_can_use_push2pop2 return false.
    
    gcc/testsuite/
    
    	PR target/113912
    	* gcc.target/i386/apx-push2pop2-2.c: New test.