diff options
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99441.patch')
| -rw-r--r-- | toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99441.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99441.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99441.patch new file mode 100644 index 0000000000..5495b8d80a --- /dev/null +++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99441.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | 2010-11-25 Andrew Stubbs <ams@codesourcery.com> | ||
| 2 | |||
| 3 | Backport from mainline: | ||
| 4 | |||
| 5 | 2010-10-28 Andrew Stubbs <ams@codesourcery.com> | ||
| 6 | |||
| 7 | gcc/ | ||
| 8 | * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern | ||
| 9 | constants in thumb2. | ||
| 10 | |||
| 11 | === modified file 'gcc/config/arm/arm.c' | ||
| 12 | --- old/gcc/config/arm/arm.c 2010-11-11 11:50:33 +0000 | ||
| 13 | +++ new/gcc/config/arm/arm.c 2010-12-10 15:30:47 +0000 | ||
| 14 | @@ -2340,11 +2340,17 @@ | ||
| 15 | { | ||
| 16 | HOST_WIDE_INT v; | ||
| 17 | |||
| 18 | - /* Allow repeated pattern. */ | ||
| 19 | + /* Allow repeated patterns 0x00XY00XY or 0xXYXYXYXY. */ | ||
| 20 | v = i & 0xff; | ||
| 21 | v |= v << 16; | ||
| 22 | if (i == v || i == (v | (v << 8))) | ||
| 23 | return TRUE; | ||
| 24 | + | ||
| 25 | + /* Allow repeated pattern 0xXY00XY00. */ | ||
| 26 | + v = i & 0xff00; | ||
| 27 | + v |= v << 16; | ||
| 28 | + if (i == v) | ||
| 29 | + return TRUE; | ||
| 30 | } | ||
| 31 | |||
| 32 | return FALSE; | ||
| 33 | |||
