diff -Naurp gcc/config/avr/avr.h gcc/config/avr/avr.h
---- gcc/config/avr/avr.h 2011-06-22 10:28:47.000000000 +0530
-+++ gcc/config/avr/avr.h 2011-06-22 10:35:08.000000000 +0530
-@@ -136,7 +136,7 @@ extern GTY(()) section *progmem_section;
+--- gcc/config/avr/avr.h 2012-04-23 11:17:05.000000000 +0530
++++ gcc/config/avr/avr.h 2012-04-23 11:17:24.000000000 +0530
+@@ -137,7 +137,7 @@ extern GTY(()) section *progmem_section;
#define AVR_2_BYTE_PC (!AVR_HAVE_EIJMP_EICALL)
#define AVR_3_BYTE_PC (AVR_HAVE_EIJMP_EICALL)
#define AVR_RAMPX_ADDR (AVR_XMEGA ? 0x39 : 0)
#define AVR_RAMPY_ADDR (AVR_XMEGA ? 0x3A : 0)
diff -Naurp gcc/config/avr/predicates.md gcc/config/avr/predicates.md
---- gcc/config/avr/predicates.md 2011-06-22 10:25:29.000000000 +0530
-+++ gcc/config/avr/predicates.md 2011-06-22 10:35:08.000000000 +0530
+--- gcc/config/avr/predicates.md 2012-04-23 11:07:59.000000000 +0530
++++ gcc/config/avr/predicates.md 2012-04-23 11:17:24.000000000 +0530
@@ -50,21 +50,24 @@
;; Return true if OP is a valid address for lower half of I/O space.
(define_predicate "low_io_address_operand"