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 id20776
push usereakhgari@mozilla.com
push dateFri, 15 Jul 2011 12:13:35 +0000
treeherdermozilla-central@9349ae9094f6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmuizelaar
bugs670329
milestone8.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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