diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2006-03-13 16:30:40 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2006-03-13 16:30:40 +0000 |
commit | 96c30d2afccff71991a17f7c9c14e7b2c99dc7de (patch) | |
tree | fc0ba8668f64f24ad9cc4ad89002c6a2dd300347 | |
parent | 4af990cdc1ffee82c74eae84083dcfcf0ee05210 (diff) | |
download | gcc-96c30d2afccff71991a17f7c9c14e7b2c99dc7de.zip gcc-96c30d2afccff71991a17f7c9c14e7b2c99dc7de.tar.gz gcc-96c30d2afccff71991a17f7c9c14e7b2c99dc7de.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.c | 2 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.md | 16 |
3 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b48e59..61cf790 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index 079b919..9e8bee6 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 fb80633..2b125b5 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")]) |