regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.

gcc/
	* regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.

From-SVN: r176558
This commit is contained in:
Richard Sandiford 2011-07-21 10:13:27 +00:00 committed by Richard Sandiford
parent fec3cad340
commit d6f2373894
2 changed files with 7 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2011-07-21 Richard Sandiford <richard.sandiford@linaro.org>
* regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.
2011-07-21 Kai Tietz <ktietz@redhat.com>
* tree-ssa-propagate.c (substitute_and_fold): Use

View File

@ -418,10 +418,9 @@ maybe_mode_change (enum machine_mode orig_mode, enum machine_mode copy_mode,
offset = ((WORDS_BIG_ENDIAN ? wordoffset : 0)
+ (BYTES_BIG_ENDIAN ? byteoffset : 0));
return gen_rtx_raw_REG (new_mode,
regno + subreg_regno_offset (regno, orig_mode,
offset,
new_mode));
regno += subreg_regno_offset (regno, orig_mode, offset, new_mode);
if (HARD_REGNO_MODE_OK (regno, new_mode))
return gen_rtx_raw_REG (new_mode, regno);
}
return NULL_RTX;
}