From: Georg-Johann Lay Date: Wed, 2 May 2012 17:14:32 +0000 (+0000) Subject: backport: re PR target/39633 ([avr] loop bug: missing 8-bit comparison (*cmpqi)) X-Git-Tag: releases/gcc-4.5.4~119 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5d513d9009841d48ca75f1489172be1eb62b7e6;p=thirdparty%2Fgcc.git backport: re PR target/39633 ([avr] loop bug: missing 8-bit comparison (*cmpqi)) Backport from 2011-07-11 4.6-branch r176143 PR target/39633 * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only offsets 1..5 set cc0 in a usable way. From-SVN: r187056 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a3c01a31b7d9..994658fdaf5a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-05-02 Georg-Johann Lay + + Backport from 2011-07-11 4.6-branch r176143 + + PR target/39633 + * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only + offsets 1..5 set cc0 in a usable way. + 2012-05-02 Georg-Johann Lay Backport from 2011-07-08 4.6-branch r176055. diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index c8655bd517dc..d5ec58af5030 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -1385,9 +1385,8 @@ notice_update_cc (rtx body ATTRIBUTE_UNUSED, rtx insn) { rtx x = XEXP (src, 1); - if (GET_CODE (x) == CONST_INT - && INTVAL (x) > 0 - && INTVAL (x) != 6) + if (CONST_INT_P (x) + && IN_RANGE (INTVAL (x), 1, 5)) { cc_status.value1 = SET_DEST (set); cc_status.flags |= CC_OVERFLOW_UNUSABLE;