summaryrefslogtreecommitdiff
path: root/gcc/config/bfin
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-13 16:30:40 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-13 16:30:40 +0000
commitff9e05e94f5747ba1df4f44e3fc89936e60f0831 (patch)
treefc0ba8668f64f24ad9cc4ad89002c6a2dd300347 /gcc/config/bfin
parentaf228595020c82ac90abb5691d0e4248582e5818 (diff)
downloadgcc-ff9e05e94f5747ba1df4f44e3fc89936e60f0831.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112010 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/bfin')
-rw-r--r--gcc/config/bfin/bfin.c2
-rw-r--r--gcc/config/bfin/bfin.md16
2 files changed, 8 insertions, 10 deletions
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 079b91916c1..9e8bee6bc0c 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -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:
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index fb806330cbe..2b125b5fc63 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -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")])