diff options
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch')
-rw-r--r-- | recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch new file mode 100644 index 0000000000..3e63611305 --- /dev/null +++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99332.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | 2010-08-06 Yao Qi <yao@codesourcery.com> | ||
2 | |||
3 | LP: #612011 | ||
4 | gcc/ | ||
5 | * config/arm/arm.c (output_move_double): Fix typo generating | ||
6 | instructions ('ldr'->'str'). | ||
7 | |||
8 | gcc/testsuite/ | ||
9 | * gcc.target/arm/pr45094.c: New test. | ||
10 | |||
11 | 2010-08-02 Ulrich Weigand <uweigand@de.ibm.com> | ||
12 | |||
13 | LP: #604874 | ||
14 | |||
15 | === modified file 'gcc/config/arm/arm.c' | ||
16 | --- old/gcc/config/arm/arm.c 2010-08-10 13:31:21 +0000 | ||
17 | +++ new/gcc/config/arm/arm.c 2010-08-10 14:03:02 +0000 | ||
18 | @@ -12506,13 +12506,13 @@ | ||
19 | { | ||
20 | if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY) | ||
21 | { | ||
22 | - output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops); | ||
23 | - output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); | ||
24 | + output_asm_insn ("str%?\t%0, [%1, %2]!", otherops); | ||
25 | + output_asm_insn ("str%?\t%H0, [%1, #4]", otherops); | ||
26 | } | ||
27 | else | ||
28 | { | ||
29 | - output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops); | ||
30 | - output_asm_insn ("ldr%?\t%0, [%1], %2", otherops); | ||
31 | + output_asm_insn ("str%?\t%H0, [%1, #4]", otherops); | ||
32 | + output_asm_insn ("str%?\t%0, [%1], %2", otherops); | ||
33 | } | ||
34 | } | ||
35 | else if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY) | ||
36 | |||
37 | === added file 'gcc/testsuite/gcc.target/arm/pr45094.c' | ||
38 | --- old/gcc/testsuite/gcc.target/arm/pr45094.c 1970-01-01 00:00:00 +0000 | ||
39 | +++ new/gcc/testsuite/gcc.target/arm/pr45094.c 2010-08-06 05:10:03 +0000 | ||
40 | @@ -0,0 +1,27 @@ | ||
41 | +/* { dg-do run } */ | ||
42 | +/* { dg-require-effective-target arm_neon_hw } */ | ||
43 | +/* { dg-options "-O2 -mcpu=cortex-a8" } */ | ||
44 | +/* { dg-add-options arm_neon } */ | ||
45 | + | ||
46 | +#include <stdlib.h> | ||
47 | + | ||
48 | +long long buffer[32]; | ||
49 | + | ||
50 | +void __attribute__((noinline)) f(long long *p, int n) | ||
51 | +{ | ||
52 | + while (--n >= 0) | ||
53 | + { | ||
54 | + *p = 1; | ||
55 | + p += 32; | ||
56 | + } | ||
57 | +} | ||
58 | + | ||
59 | +int main(void) | ||
60 | +{ | ||
61 | + f(buffer, 1); | ||
62 | + | ||
63 | + if (!buffer[0]) | ||
64 | + abort(); | ||
65 | + | ||
66 | + return 0; | ||
67 | +} | ||
68 | |||