OSDN Git Service

PR target/53272
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 May 2012 15:27:03 +0000 (15:27 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 May 2012 15:27:03 +0000 (15:27 +0000)
* config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
when a constant source operand matches an "I" constraint, the "no
CC0 change" applies to a register-destination only, not a
strict_low_part-destination.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@187285 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/cris/cris.c

index f5190fa..e8d15b0 100644 (file)
@@ -1,3 +1,11 @@
+2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/53272
+       * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
+       when a constant source operand matches an "I" constraint, the "no
+       CC0 change" applies to a register-destination only, not a
+       strict_low_part-destination.
+
 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
        Backport from mainline:
index de9e269..47bb013 100644 (file)
@@ -1695,6 +1695,7 @@ cris_normal_notice_update_cc (rtx exp, rtx insn)
                       && (REGNO (SET_SRC (exp))
                           > CRIS_LAST_GENERAL_REGISTER))
                   || (TARGET_V32
+                      && REG_P (SET_DEST (exp))
                       && satisfies_constraint_I (SET_SRC (exp))))
            {
              /* There's no CC0 change for this case.  Just check