1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
2000-09-06 Richard Henderson <rth@cygnus.com>
* config/i386/i386.md (call_pop): Fix test for setting
current_function_uses_pic_offset_table.
(call, call_value_pop, call_value): Likewise.
*** gcc/config/i386/i386.md 2000/09/04 10:13:02 1.175
--- gcc/config/i386/i386.md 2000/09/06 08:30:50
***************
*** 8453,8461 ****
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && constant_call_address_operand (operands[0], SImode)
! && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
! || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
--- 8453,8460 ----
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF
! && ! SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
***************
*** 8508,8516 ****
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && constant_call_address_operand (operands[0], SImode)
! && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
! || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
--- 8507,8514 ----
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF
! && ! SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
***************
*** 8570,8578 ****
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && constant_call_address_operand (operands[1], SImode)
! && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
! || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
--- 8568,8575 ----
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
! && ! SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
***************
*** 8589,8597 ****
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && constant_call_address_operand (operands[1], SImode)
! && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
! || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
--- 8586,8593 ----
/* Static functions and indirect calls don't need
current_function_uses_pic_offset_table. */
if (flag_pic
! && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
! && ! SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
current_function_uses_pic_offset_table = 1;
if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
|