Install the GCC 2.95 main info pages as gcc2.info and cpp2.info.
[dragonfly.git] / gnu / usr.bin / cc34 / cc_prep / patches / optabs.c.patch
1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/optabs.c.patch,v 1.3 2004/12/21 13:10:48 joerg Exp $
2
3 ===================================================================
4 RCS file: /home/joerg/wd/repository/dragonflybsd/src/contrib/gcc-3.4/gcc/optabs.c,v
5 retrieving revision 1.1
6 diff -u -r1.1 optabs.c
7 --- optabs.c    20 Jun 2004 02:14:50 -0000      1.1
8 +++ optabs.c    20 Dec 2004 20:48:12 -0000
9 @@ -678,6 +678,26 @@
10    if (target)
11      target = protect_from_queue (target, 1);
12  
13 +  if (flag_propolice_protection
14 +      && binoptab->code == PLUS
15 +      && op0 == virtual_stack_vars_rtx
16 +      && GET_CODE(op1) == CONST_INT)
17 +    {
18 +      int icode = (int) binoptab->handlers[(int) mode].insn_code;
19 +      if (target)
20 +       temp = target;
21 +      else
22 +       temp = gen_reg_rtx (mode);
23 +
24 +      if (! (*insn_data[icode].operand[0].predicate) (temp, mode)
25 +         || GET_CODE (temp) != REG)
26 +       temp = gen_reg_rtx (mode);
27 +
28 +      emit_insn (gen_rtx_SET (VOIDmode, temp,
29 +                             gen_rtx_PLUS (GET_MODE (op0), op0, op1)));
30 +      return temp;
31 +    }
32 +
33    if (flag_force_mem)
34      {
35        /* Load duplicate non-volatile operands once.  */