aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/powerpcspe/powerpcspe.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/powerpcspe/powerpcspe.c')
-rw-r--r--gcc/config/powerpcspe/powerpcspe.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/powerpcspe/powerpcspe.c b/gcc/config/powerpcspe/powerpcspe.c
index c93bbc5..7784676 100644
--- a/gcc/config/powerpcspe/powerpcspe.c
+++ b/gcc/config/powerpcspe/powerpcspe.c
@@ -1977,6 +1977,8 @@ static const struct attribute_spec rs6000_attribute_table[] =
#undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 1
+#undef TARGET_HARD_REGNO_NREGS
+#define TARGET_HARD_REGNO_NREGS rs6000_hard_regno_nregs_hook
#undef TARGET_HARD_REGNO_MODE_OK
#define TARGET_HARD_REGNO_MODE_OK rs6000_hard_regno_mode_ok
@@ -2174,6 +2176,14 @@ rs6000_hard_regno_mode_ok_uncached (int regno, machine_mode mode)
return GET_MODE_SIZE (mode) <= UNITS_PER_WORD;
}
+/* Implement TARGET_HARD_REGNO_NREGS. */
+
+static unsigned int
+rs6000_hard_regno_nregs_hook (unsigned int regno, machine_mode mode)
+{
+ return rs6000_hard_regno_nregs[mode][regno];
+}
+
/* Implement TARGET_HARD_REGNO_MODE_OK. */
static bool