mirror of git://gcc.gnu.org/git/gcc.git
re PR target/53272 (wrong condition-codes for strict-low-part destination and small-integer source)
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. From-SVN: r187283
This commit is contained in:
parent
ad9fc55abd
commit
b3374f1493
|
@ -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-08 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue