Let skia build with clang's integrated assembler.
authorthakis <thakis@chromium.org>
Mon, 11 Aug 2014 22:27:24 +0000 (15:27 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 11 Aug 2014 22:27:24 +0000 (15:27 -0700)
1. vuzpq is a gcc instruction. Replace it with the equivalent vuzp
   (see http://llvm.org/PR20423)

2. .func / .endfunc only have an effect with -gstabs, which we don't
   use. As it's unused and clang doesn't support it, remove
   .func / .endfunc (also see http://llvm.org/20424)

BUG=chromium:124610
R=mtklein@google.com

Author: thakis@chromium.org

Review URL: https://codereview.chromium.org/461693004

src/opts/SkBlitRow_opts_arm_neon.cpp
src/opts/memset16_neon.S
src/opts/memset32_neon.S

index 94ab77c..4b7e3be 100644 (file)
@@ -299,7 +299,7 @@ void S32A_D565_Opaque_neon(uint16_t* SK_RESTRICT dst,
 
                       "11:                                        \n\t"
                       // unzips achieve the same as a vld4 operation
-                      "vuzpq.u16  q0, q1                      \n\t"
+                      "vuzp.u16   q0, q1                      \n\t"
                       "vuzp.u8    d0, d1                      \n\t"
                       "vuzp.u8    d2, d3                      \n\t"
                       // expand 0565 q12 to 8888 {d4-d7}
index 7473a40..7b2b190 100644 (file)
@@ -21,7 +21,6 @@
         .fpu neon
         .align 4
         .globl memset16_neon
-        .func
 
 memset16_neon:
         cmp             r2, #0
@@ -141,5 +140,4 @@ memset_end:
         pop             {r0}
         bx              lr
 
-        .endfunc
         .end
index a9eaa0e..fa03476 100644 (file)
@@ -9,7 +9,6 @@
        .fpu neon
        .align 4
        .globl  memset32_neon
-       .func
 
        /* r0 = buffer, r1 = value, r2 = times to write */
 memset32_neon:
@@ -109,5 +108,4 @@ memset32_dropthru:
        str             r1, [r0, #0]
        bx              lr
 
-       .endfunc
        .end