diff options
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99530.patch')
-rw-r--r-- | toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99530.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99530.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99530.patch new file mode 100644 index 0000000000..64d6262d60 --- /dev/null +++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99530.patch @@ -0,0 +1,27 @@ +2011-07-21 Richard Sandiford <rdsandiford@googlemail.com> + + gcc/ + Backport from mainline: + + 2011-07-21 Richard Sandiford <richard.sandiford@linaro.org> + + * regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK. + +=== modified file 'gcc/regcprop.c' +--- old/gcc/regcprop.c 2010-08-05 15:28:47 +0000 ++++ new/gcc/regcprop.c 2011-07-21 12:40:44 +0000 +@@ -418,10 +418,9 @@ + + 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; + } + |