[oe-commits] Khem Raj : gcc-4.5: Fix wrong instruction generation for vmovl pattern

git version control git at git.openembedded.org
Thu Sep 30 20:18:46 UTC 2010


Module: openembedded.git
Branch: master
Commit: 3880477ea548817d64e826faec0aa6d0607a3264
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=3880477ea548817d64e826faec0aa6d0607a3264

Author: Khem Raj <raj.khem at gmail.com>
Date:   Tue Sep 28 12:15:15 2010 -0700

gcc-4.5: Fix wrong instruction generation for vmovl pattern

Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 recipes/gcc/gcc-4.5.inc                     |    1 +
 recipes/gcc/gcc-4.5/gcc-vmovl-PR45805.patch |   27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index 731ade3..345e8c5 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -117,6 +117,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
 	   file://linaro/gcc-4.5-linaro-r99396.patch \
 	   file://linaro/gcc-4.5-linaro-r99397.patch \
 	   file://linaro/gcc-4.5-linaro-r99398.patch \
+	   file://gcc-vmovl-PR45805.patch \
 	  "
 
 SRC_URI_append_mips64 = " file://mips64-nomultilib.patch"
diff --git a/recipes/gcc/gcc-4.5/gcc-vmovl-PR45805.patch b/recipes/gcc/gcc-4.5/gcc-vmovl-PR45805.patch
new file mode 100644
index 0000000..e228cb7
--- /dev/null
+++ b/recipes/gcc/gcc-4.5/gcc-vmovl-PR45805.patch
@@ -0,0 +1,27 @@
+Source: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45805
+
+Index: gcc-4.5/gcc/config/arm/neon.md
+===================================================================
+--- gcc-4.5.orig/gcc/config/arm/neon.md	2010-09-28 12:04:38.000000000 -0700
++++ gcc-4.5/gcc/config/arm/neon.md	2010-09-28 12:07:28.026227000 -0700
+@@ -5682,9 +5682,9 @@
+ ;; Vectorize for non-neon-quad case
+ (define_insn "neon_unpack<US>_<mode>"
+  [(set (match_operand:<V_widen> 0 "register_operand" "=w")
+-       (SE:<V_widen> (match_operand:VDI 1 "register_operand" "")))]
++       (SE:<V_widen> (match_operand:VDI 1 "register_operand" "w")))]
+  "TARGET_NEON"
+- "vmovl.<US><V_sz_elem> %q0, %1"
++ "vmovl.<US><V_sz_elem> %q0, %P1"
+   [(set_attr "neon_type" "neon_shift_1")]
+ )
+ 
+@@ -5721,7 +5721,7 @@
+  		       (SE:<V_widen> 
+ 			   (match_operand:VDI 2 "register_operand" "w"))))]
+   "TARGET_NEON"
+-  "vmull.<US><V_sz_elem> %q0, %1, %2"
++  "vmull.<US><V_sz_elem> %q0, %P1, %P2"
+   [(set_attr "neon_type" "neon_shift_1")]
+ )
+ 





More information about the Openembedded-commits mailing list