Bug 670329 - Avoid bumping ARM target because of NEON code in gfx. r=jmuizelaar
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 15 Jul 2011 10:15:28 +0200
changeset 72861 b86067d689a98c073be8a919c10b5605299b34d9
parent 72860 c41f5c1ce4f161c077d28e29bfaff6e90ca82a8f
child 72862 49b5a71802b4d17a5c4989cd884d7ea47b3b4ddf
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersjmuizelaar
bugs670329
milestone8.0a1
Bug 670329 - Avoid bumping ARM target because of NEON code in gfx. r=jmuizelaar
gfx/ycbcr/yuv_convert_arm.cpp
gfx/ycbcr/yuv_row_arm.s
--- a/gfx/ycbcr/yuv_convert_arm.cpp
+++ b/gfx/ycbcr/yuv_convert_arm.cpp
@@ -45,16 +45,20 @@ void __attribute((noinline,optimize("-fo
      * q10    : d20, d21
      * q11    : d22, d23
      * q12    : d24, d25
      * q13    : d26, d27
      * q13, q14, q15            - various constants (#16, #149, #204, #50, #104, #154)
      */
     asm volatile (
 ".fpu neon\n"
+/* Allow to build on targets not supporting neon, and force the object file
+ * target to avoid bumping the final binary target */
+".arch armv7-a\n"
+".object_arch armv4t\n"
 ".macro convert_macroblock size\n"
 /* load up to 16 source pixels */
 	".if \\size == 16\n"
 	    "pld [%[y], #64]\n"
 	    "pld [%[u], #64]\n"
 	    "pld [%[v], #64]\n"
 	    "vld1.8 {d1}, [%[y]]!\n"
 	    "vld1.8 {d3}, [%[y]]!\n"
--- a/gfx/ycbcr/yuv_row_arm.s
+++ b/gfx/ycbcr/yuv_row_arm.s
@@ -31,16 +31,19 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
     .arch   armv7-a
     .fpu    neon
+/* Allow to build on targets not supporting neon, and force the object file
+ * target to avoid bumping the final binary target */
+    .object_arch armv4t
     .text
     .align
 
     .balign 64
 YCbCr42xToRGB565_DITHER03_CONSTS_NEON:
     .short -14240
     .short -14240+384
     .short   8672