aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/c4x/c4x.md16
-rw-r--r--gcc/doc/extend.texi4
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.