mirror of
https://git.yoctoproject.org/poky
synced 2026-05-02 00:32:12 +02:00
gcc_4.5.1: add pr45094.patch
Add fix for PR45094 as proposed in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45094 (From OE-Core rev: 2f1f920415dcf7f899d173352bf8924714352158) Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
b2e49a6b70
commit
30c9f6c933
@@ -61,6 +61,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
|
||||
file://pr43810.patch \
|
||||
file://pr44290.patch \
|
||||
file://pr44606.patch \
|
||||
file://pr45094.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
|
||||
|
||||
75
meta/recipes-devtools/gcc/gcc-4.5.1/pr45094.patch
Normal file
75
meta/recipes-devtools/gcc/gcc-4.5.1/pr45094.patch
Normal file
@@ -0,0 +1,75 @@
|
||||
From 34bd4baaa0f6583f9ff99544c732350c199ec0e2 Mon Sep 17 00:00:00 2001
|
||||
From: qiyao <qiyao@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Wed, 18 Aug 2010 12:33:43 +0000
|
||||
Subject: [PATCH 4/6] gcc/ PR target/45094 * config/arm/arm.c (output_move_double): Fix typo generating instructions ('ldr'->'str').
|
||||
|
||||
gcc/testsuite/
|
||||
|
||||
PR target/45094
|
||||
* gcc.target/arm/pr45094.c: New test.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163338 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
gcc/config/arm/arm.c | 8 ++++----
|
||||
gcc/testsuite/gcc.target/arm/pr45094.c | 27 +++++++++++++++++++++++++++
|
||||
2 files changed, 31 insertions(+), 4 deletions(-)
|
||||
create mode 100644 gcc/testsuite/gcc.target/arm/pr45094.c
|
||||
|
||||
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
|
||||
index a06a38b..0382b24 100644
|
||||
--- a/gcc/config/arm/arm.c
|
||||
+++ b/gcc/config/arm/arm.c
|
||||
@@ -12182,13 +12182,13 @@ output_move_double (rtx *operands)
|
||||
{
|
||||
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)
|
||||
diff --git a/gcc/testsuite/gcc.target/arm/pr45094.c b/gcc/testsuite/gcc.target/arm/pr45094.c
|
||||
new file mode 100644
|
||||
index 0000000..05f16d8
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/arm/pr45094.c
|
||||
@@ -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;
|
||||
+}
|
||||
--
|
||||
1.7.4
|
||||
|
||||
Reference in New Issue
Block a user