summaryrefslogtreecommitdiff
path: root/gcc/config/rx/rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rx/rx.c')
-rw-r--r--gcc/config/rx/rx.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 06406f68f04..de35419d8e8 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -3434,6 +3434,13 @@ rx_atomic_sequence::~rx_atomic_sequence (void)
emit_insn (gen_mvtc (GEN_INT (CTRLREG_PSW), m_prev_psw_reg));
}
+/* Implement TARGET_HARD_REGNO_MODE_OK. */
+
+static bool
+rx_hard_regno_mode_ok (unsigned int regno, machine_mode)
+{
+ return REGNO_REG_CLASS (regno) == GR_REGS;
+}
#undef TARGET_NARROW_VOLATILE_BITFIELD
#define TARGET_NARROW_VOLATILE_BITFIELD rx_narrow_volatile_bitfield
@@ -3588,6 +3595,9 @@ rx_atomic_sequence::~rx_atomic_sequence (void)
#undef TARGET_LRA_P
#define TARGET_LRA_P rx_enable_lra
+#undef TARGET_HARD_REGNO_MODE_OK
+#define TARGET_HARD_REGNO_MODE_OK rx_hard_regno_mode_ok
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-rx.h"