]>
Commit | Line | Data |
---|---|---|
dbe7ab63 | 1 | diff -Naurp gcc/config/avr/avr.h gcc/config/avr/avr.h |
ab7f78a4 PZ |
2 | --- gcc/config/avr/avr.h 2012-04-23 11:17:05.000000000 +0530 |
3 | +++ gcc/config/avr/avr.h 2012-04-23 11:17:24.000000000 +0530 | |
4 | @@ -137,7 +137,7 @@ extern GTY(()) section *progmem_section; | |
dbe7ab63 | 5 | #define AVR_2_BYTE_PC (!AVR_HAVE_EIJMP_EICALL) |
6 | #define AVR_3_BYTE_PC (AVR_HAVE_EIJMP_EICALL) | |
7 | ||
8 | -#define AVR_IO_OFFSET (AVR_XMEGA ? 0 : 0x20) | |
9 | +#define AVR_IO_OFFSET ((AVR_XMEGA || AVR_TINY) ? 0 : 0x20) | |
10 | #define AVR_RAMPD_ADDR (AVR_XMEGA ? 0x38 : 0) | |
11 | #define AVR_RAMPX_ADDR (AVR_XMEGA ? 0x39 : 0) | |
12 | #define AVR_RAMPY_ADDR (AVR_XMEGA ? 0x3A : 0) | |
13 | diff -Naurp gcc/config/avr/predicates.md gcc/config/avr/predicates.md | |
ab7f78a4 PZ |
14 | --- gcc/config/avr/predicates.md 2012-04-23 11:07:59.000000000 +0530 |
15 | +++ gcc/config/avr/predicates.md 2012-04-23 11:17:24.000000000 +0530 | |
dbe7ab63 | 16 | @@ -50,21 +50,24 @@ |
17 | ;; Return true if OP is a valid address for lower half of I/O space. | |
18 | (define_predicate "low_io_address_operand" | |
19 | (and (match_code "const_int") | |
20 | - (if_then_else (match_test "AVR_XMEGA") | |
21 | + (if_then_else (ior (match_test "AVR_XMEGA") | |
22 | + (match_test "AVR_TINY")) | |
23 | (match_test "IN_RANGE((INTVAL (op)), 0x00, 0x1F)") | |
24 | (match_test "IN_RANGE((INTVAL (op)), 0x20, 0x3F)")))) | |
25 | ||
26 | ;; Return true if OP is a valid address for high half of I/O space. | |
27 | (define_predicate "high_io_address_operand" | |
28 | (and (match_code "const_int") | |
29 | - (if_then_else (match_test "AVR_XMEGA") | |
30 | + (if_then_else (ior (match_test "AVR_XMEGA") | |
31 | + (match_test "AVR_TINY")) | |
32 | (match_test "IN_RANGE((INTVAL (op)), 0x20, 0x3F)") | |
33 | (match_test "IN_RANGE((INTVAL (op)), 0x40, 0x5F)")))) | |
34 | ||
35 | ;; Return true if OP is a valid address of I/O space. | |
36 | (define_predicate "io_address_operand" | |
37 | (and (match_code "const_int") | |
38 | - (if_then_else (match_test "AVR_XMEGA") | |
39 | + (if_then_else (ior (match_test "AVR_XMEGA") | |
40 | + (match_test "AVR_TINY")) | |
41 | (match_test "IN_RANGE((INTVAL (op)), 0x0, (0x40 - GET_MODE_SIZE(mode)))") | |
42 | (match_test "IN_RANGE((INTVAL (op)), 0x20, (0x60 - GET_MODE_SIZE(mode)))")))) | |
43 |