diff options
author | Khem Raj <raj.khem@gmail.com> | 2010-09-24 13:49:18 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-09-30 13:15:05 -0700 |
commit | 91aeba1aed9efd7e58f18e079ab1e7d622fa8f65 (patch) | |
tree | 65cbb4836fac98347a99efed8e11cb482940e56f /recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch | |
parent | a820865e1189521dec861508df9cee9d37e82778 (diff) | |
download | openembedded-91aeba1aed9efd7e58f18e079ab1e7d622fa8f65.tar.gz |
gcc-4.5: Import Linaro patches
* Tested gcc on efikamx.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Diffstat (limited to 'recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch')
-rw-r--r-- | recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch b/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch new file mode 100644 index 0000000000..3e63611305 --- /dev/null +++ b/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch @@ -0,0 +1,68 @@ +2010-08-06 Yao Qi <yao@codesourcery.com> + + LP: #612011 + gcc/ + * config/arm/arm.c (output_move_double): Fix typo generating + instructions ('ldr'->'str'). + + gcc/testsuite/ + * gcc.target/arm/pr45094.c: New test. + + 2010-08-02 Ulrich Weigand <uweigand@de.ibm.com> + + LP: #604874 + +=== modified file 'gcc/config/arm/arm.c' +--- old/gcc/config/arm/arm.c 2010-08-10 13:31:21 +0000 ++++ new/gcc/config/arm/arm.c 2010-08-10 14:03:02 +0000 +@@ -12506,13 +12506,13 @@ + { + if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY) + { +- output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops); +- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); ++ output_asm_insn ("str%?\t%0, [%1, %2]!", otherops); ++ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops); + } + else + { +- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); +- output_asm_insn ("ldr%?\t%0, [%1], %2", otherops); ++ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops); ++ output_asm_insn ("str%?\t%0, [%1], %2", otherops); + } + } + else if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY) + +=== added file 'gcc/testsuite/gcc.target/arm/pr45094.c' +--- old/gcc/testsuite/gcc.target/arm/pr45094.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.target/arm/pr45094.c 2010-08-06 05:10:03 +0000 +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target arm_neon_hw } */ ++/* { dg-options "-O2 -mcpu=cortex-a8" } */ ++/* { dg-add-options arm_neon } */ ++ ++#include <stdlib.h> ++ ++long long buffer[32]; ++ ++void __attribute__((noinline)) f(long long *p, int n) ++{ ++ while (--n >= 0) ++ { ++ *p = 1; ++ p += 32; ++ } ++} ++ ++int main(void) ++{ ++ f(buffer, 1); ++ ++ if (!buffer[0]) ++ abort(); ++ ++ return 0; ++} + |