bfin.md (call_value_symbol, [...]): Disallow if TARGET_ID_SHARED_LIBRARY, not if...
authorBernd Schmidt <bernd.schmidt@analog.com>
Mon, 13 Mar 2006 16:30:40 +0000 (16:30 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Mon, 13 Mar 2006 16:30:40 +0000 (16:30 +0000)
* 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

gcc/ChangeLog
gcc/config/bfin/bfin.c
gcc/config/bfin/bfin.md

index 1b48e59bb98983ef2c2aa3756f668e24370cd856..61cf790d0d69fa0231ac5e85abf5d68a0d693d0a 100644 (file)
@@ -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
index 079b91916c1f5c1a7bf67830f245095830fbc330..9e8bee6bc0c717a764e58b1dae66bf27c823c547 100644 (file)
@@ -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:
index fb806330cbed9038575ce38b0dfe8921cb19ff28..2b125b5fc638a1cffe56aa747c927a4de7a3b5be 100644 (file)
         (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")])
 
    (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")])
 
              (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")])
 
    (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")])