From 59d9ade4aed3ea43d50dddd3bdc5fae06d3d40d7 Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Tue, 24 Apr 2012 15:21:29 +0000 Subject: [PATCH] re PR target/53065 (ICE replace_reg_with_saved_mem, at caller-save.c:1125) PR target/53065 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define. From-SVN: r186768 --- gcc/ChangeLog | 5 +++++ gcc/config/avr/avr.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27a67a50d91..9d55ef06477 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-04-24 Georg-Johann Lay + + PR target/53065 + * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define. + 2012-04-24 Richard Guenther PR tree-optimization/53085 diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index bd5241c9fad..591e21dd5b9 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -394,6 +394,11 @@ enum reg_class { #define REGNO_OK_FOR_INDEX_P(NUM) 0 +#define HARD_REGNO_CALL_PART_CLOBBERED(REGNO, MODE) \ + (((REGNO) < 18 && (REGNO) + GET_MODE_SIZE (MODE) > 18) \ + || ((REGNO) < REG_Y && (REGNO) + GET_MODE_SIZE (MODE) > REG_Y) \ + || ((REGNO) < REG_Z && (REGNO) + GET_MODE_SIZE (MODE) > REG_Z)) + #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true #define STACK_PUSH_CODE POST_DEC