summaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authornemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-17 01:59:41 +0000
committernemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-17 01:59:41 +0000
commit4956440ac07a9f23c0c768685dbb1f7cf172b9e2 (patch)
tree58a07ed2ef2fe0457a23ba7f949c521901afd762 /gcc/targhooks.c
parent1bb0349635e7ca67875558ca5679943027928589 (diff)
downloadgcc-4956440ac07a9f23c0c768685dbb1f7cf172b9e2.tar.gz
* target.h (struct gcc_target): Add mode_rep_extended.
* rtlanal.c (num_sign_bit_copies_in_rep): New global. (init_num_sign_bit_copies_in_rep): Initialize it using mode_rep_extended. (truncate_to_mode): Use it. (init_rtlanal): Call init_num_sign_bit_copies_in_rep. * targhooks.h (default_mode_rep_extended): Declare it. * targhooks.c (default_mode_rep_extended): Define it. * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to default_mode_rep_extended. (TARGET_INITIALIZER): Include it. * doc/tm.texi (Misc): Document it. * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. (mips_truncated_to_mode): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112998 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index f33704b0101..a12d6b557ba 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -156,6 +156,15 @@ default_min_divisions_for_recip_mul (enum machine_mode mode ATTRIBUTE_UNUSED)
return have_insn_for (DIV, mode) ? 3 : 2;
}
+/* The default implementation of TARGET_MODE_REP_EXTENDED. */
+
+int
+default_mode_rep_extended (enum machine_mode mode ATTRIBUTE_UNUSED,
+ enum machine_mode mode_rep ATTRIBUTE_UNUSED)
+{
+ return UNKNOWN;
+}
+
/* Generic hook that takes a CUMULATIVE_ARGS pointer and returns true. */
bool