diff options
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.md | 16 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 4 |
3 files changed, 19 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90ac386..6dd01d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz> + + * config/c4x/c4x.c (c4x_naked_function_p): Rename from + c4x_assembler_function_p. + (c4x_null_epilogue_p): Complement return value, all uses updated. + (c4x_insert_attributes): Add naked. + * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses. + * doc/extend.texi: Update C4x function attributes. + 2003-01-06 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md index 68d933b..99a4b3a 100644 --- a/gcc/config/c4x/c4x.md +++ b/gcc/config/c4x/c4x.md @@ -5202,7 +5202,7 @@ (define_insn "return" [(return)] - "c4x_null_epilogue_p ()" + "! c4x_null_epilogue_p ()" "rets" [(set_attr "type" "rets")]) @@ -5224,7 +5224,7 @@ [(reg:CC 21) (const_int 0)]) (return) (pc)))] - "c4x_null_epilogue_p ()" + "! c4x_null_epilogue_p ()" "rets%0" [(set_attr "type" "rets")]) @@ -5238,7 +5238,7 @@ && GET_CODE (operands[0]) != GE && GET_CODE (operands[0]) != LT && GET_CODE (operands[0]) != GT - && c4x_null_epilogue_p ()" + && ! c4x_null_epilogue_p ()" "rets%0" [(set_attr "type" "rets")]) @@ -5248,7 +5248,7 @@ [(reg:CC 21) (const_int 0)]) (pc) (return)))] - "c4x_null_epilogue_p ()" + "! c4x_null_epilogue_p ()" "rets%I0" [(set_attr "type" "rets")]) @@ -5262,7 +5262,7 @@ && GET_CODE (operands[0]) != GE && GET_CODE (operands[0]) != LT && GET_CODE (operands[0]) != GT - && c4x_null_epilogue_p ()" + && ! c4x_null_epilogue_p ()" "rets%I0" [(set_attr "type" "rets")]) @@ -5484,7 +5484,7 @@ (define_expand "epilogue" [(const_int 1)] - "" + "! c4x_null_epilogue_p ()" "c4x_expand_epilogue (); DONE;") ; @@ -7264,7 +7264,7 @@ (match_operand:QI 1 "general_operand" "")) (clobber (reg:QI 31))]) (return)] - "c4x_null_epilogue_p ()" + "! c4x_null_epilogue_p ()" "* if (REG_P (operands[0])) return \"bu%#\\t%C0\"; @@ -7278,7 +7278,7 @@ (match_operand:QI 2 "general_operand" ""))) (clobber (reg:QI 31))]) (return)] - "c4x_null_epilogue_p ()" + "! c4x_null_epilogue_p ()" "* if (REG_P (operands[1])) return \"bu%#\\t%C1\"; diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index e18ad13..cb7a0a3 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2450,7 +2450,7 @@ this attribute to work correctly. @item interrupt @cindex interrupt handler functions -Use this attribute on the ARM, AVR, M32R/D and Xstormy16 ports to indicate +Use this attribute on the ARM, AVR, C4x, M32R/D and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. @@ -2521,7 +2521,7 @@ attribute is present. Interrupts will be disabled inside function. @item naked @cindex function without a prologue/epilogue code -Use this attribute on the ARM, AVR and IP2K ports to indicate that the +Use this attribute on the ARM, AVR, C4x and IP2K ports to indicate that the specified function do not need prologue/epilogue sequences generated by the compiler. It is up to the programmer to provide these sequences. |