bfin.md (call_value_symbol, [...]): Disallow if TARGET_ID_SHARED_LIBRARY, not if flag_pic.
* config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, not if flag_pic. Lose 'G' modifier for call operand. * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't recognize 'G' modifier. From-SVN: r112010
This commit is contained in:
parent
4af990cdc1
commit
96c30d2afc
3 changed files with 15 additions and 10 deletions
|
@ -7,6 +7,13 @@
|
|||
* config/bfin/crti.S: Use it instead of __PIC__.
|
||||
* config/bfin/crtn.S: Likewise.
|
||||
|
||||
* config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
|
||||
call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
|
||||
not if flag_pic.
|
||||
Lose 'G' modifier for call operand.
|
||||
* config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
|
||||
recognize 'G' modifier.
|
||||
|
||||
2006-03-13 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR middle-end/18859
|
||||
|
|
|
@ -1264,8 +1264,6 @@ print_operand (FILE *file, rtx x, char code)
|
|||
|
||||
case SYMBOL_REF:
|
||||
output_addr_const (file, x);
|
||||
if (code == 'G' && flag_pic)
|
||||
fprintf (file, "@GOT");
|
||||
break;
|
||||
|
||||
case CONST_DOUBLE:
|
||||
|
|
|
@ -1362,10 +1362,10 @@
|
|||
(match_operand 1 "general_operand" "g"))
|
||||
(use (match_operand 2 "" ""))]
|
||||
"! SIBLING_CALL_P (insn)
|
||||
&& !flag_pic
|
||||
&& !TARGET_ID_SHARED_LIBRARY
|
||||
&& GET_CODE (operands[0]) == SYMBOL_REF
|
||||
&& !bfin_longcall_p (operands[0], INTVAL (operands[2]))"
|
||||
"call %G0;"
|
||||
"call %0;"
|
||||
[(set_attr "type" "call")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
|
@ -1375,10 +1375,10 @@
|
|||
(use (match_operand 2 "" ""))
|
||||
(return)]
|
||||
"SIBLING_CALL_P (insn)
|
||||
&& !flag_pic
|
||||
&& !TARGET_ID_SHARED_LIBRARY
|
||||
&& GET_CODE (operands[0]) == SYMBOL_REF
|
||||
&& !bfin_longcall_p (operands[0], INTVAL (operands[2]))"
|
||||
"jump.l %G0;"
|
||||
"jump.l %0;"
|
||||
[(set_attr "type" "br")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
|
@ -1388,10 +1388,10 @@
|
|||
(match_operand 2 "general_operand" "g")))
|
||||
(use (match_operand 3 "" ""))]
|
||||
"! SIBLING_CALL_P (insn)
|
||||
&& !flag_pic
|
||||
&& !TARGET_ID_SHARED_LIBRARY
|
||||
&& GET_CODE (operands[1]) == SYMBOL_REF
|
||||
&& !bfin_longcall_p (operands[1], INTVAL (operands[3]))"
|
||||
"call %G1;"
|
||||
"call %1;"
|
||||
[(set_attr "type" "call")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
|
@ -1402,10 +1402,10 @@
|
|||
(use (match_operand 3 "" ""))
|
||||
(return)]
|
||||
"SIBLING_CALL_P (insn)
|
||||
&& !flag_pic
|
||||
&& !TARGET_ID_SHARED_LIBRARY
|
||||
&& GET_CODE (operands[1]) == SYMBOL_REF
|
||||
&& !bfin_longcall_p (operands[1], INTVAL (operands[3]))"
|
||||
"jump.l %G1;"
|
||||
"jump.l %1;"
|
||||
[(set_attr "type" "br")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue