diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2012-09-04 09:37:08 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2012-09-04 09:37:08 +0000 |
commit | b8db7f86fd47dcae8e559b990816243f27ade021 (patch) | |
tree | a2acfc9516bd58d23cedac26a39f56f956a7c135 /gcc | |
parent | 12b48dc897e64ae199c0201d9602d93a5245af20 (diff) | |
download | gcc-b8db7f86fd47dcae8e559b990816243f27ade021.zip gcc-b8db7f86fd47dcae8e559b990816243f27ade021.tar.gz gcc-b8db7f86fd47dcae8e559b990816243f27ade021.tar.bz2 |
re PR target/54476 ([avr] __builtin_avr_delay_cycles (-1ul) causes memory usage to explode on x86_64 host)
PR target/54476
* config/avr/avr.c (avr_expand_delay_cycles): Mask operand with
SImode.
From-SVN: r190920
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ba70bf..3709a63 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-09-04 Georg-Johann Lay <avr@gjlay.de> + + PR target/54476 + * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with + SImode. + 2012-09-04 Richard Guenther <rguenther@suse.de> PR tree-optimization/54458 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index bab13a4..95892ad 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -10449,7 +10449,7 @@ avr_mem_clobber (void) static void avr_expand_delay_cycles (rtx operands0) { - unsigned HOST_WIDE_INT cycles = UINTVAL (operands0); + unsigned HOST_WIDE_INT cycles = UINTVAL (operands0) & GET_MODE_MASK (SImode); unsigned HOST_WIDE_INT cycles_used; unsigned HOST_WIDE_INT loop_count; |