Deleted Added
sdiff udiff text old ( 18335 ) new ( 18349 )
full compact
1/* Subroutines for insn-output.c for Intel X86.
2 Copyright (C) 1988, 1992, 1994, 1995 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)

--- 1446 unchanged lines hidden (view full) ---

1455function_prologue (file, size)
1456 FILE *file;
1457 int size;
1458{
1459 register int regno;
1460 int limit;
1461 rtx xops[4];
1462 int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
1463 || current_function_uses_const_pool);
1464
1465 xops[0] = stack_pointer_rtx;
1466 xops[1] = frame_pointer_rtx;
1467 xops[2] = GEN_INT (size);
1468 if (frame_pointer_needed)
1469 {
1470 output_asm_insn ("push%L1 %1", xops);
1471 output_asm_insn (AS2 (mov%L0,%0,%1), xops);

--- 44 unchanged lines hidden (view full) ---

1516
1517int
1518simple_386_epilogue ()
1519{
1520 int regno;
1521 int nregs = 0;
1522 int reglimit = (frame_pointer_needed
1523 ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM);
1524 int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
1525 || current_function_uses_const_pool);
1526
1527#ifdef NON_SAVING_SETJMP
1528 if (NON_SAVING_SETJMP && current_function_calls_setjmp)
1529 return 0;
1530#endif
1531
1532 if (! reload_completed)
1533 return 0;
1534
1535 for (regno = reglimit - 1; regno >= 0; regno--)
1536 if ((regs_ever_live[regno] && ! call_used_regs[regno])
1537 || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used))
1538 nregs++;
1539
1540 return nregs == 0 || ! frame_pointer_needed;
1541}
1542
1543
1544/* This function generates the assembly code for function exit.
1545 FILE is an stdio stream to output the code to.

--- 6 unchanged lines hidden (view full) ---

1552{
1553 register int regno;
1554 register int nregs, limit;
1555 int offset;
1556 rtx xops[3];
1557 int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
1558 || current_function_uses_const_pool);
1559
1560 /* Compute the number of registers to pop */
1561
1562 limit = (frame_pointer_needed
1563 ? FRAME_POINTER_REGNUM
1564 : STACK_POINTER_REGNUM);
1565
1566 nregs = 0;
1567

--- 1678 unchanged lines hidden ---