[Pixman] [PATCH 6/9] armv7: Use aligned memory writes in both copies of bilinear code

Ben Avison bavison at riscosopen.org
Mon Apr 11 12:26:27 UTC 2016


pixman-arm-neon-asm-bilinear.S contains duplicates of some macro
definitions from pixman-arm-neon-asm.S, but they were taken before
commit 9638af9 added the aligns and they have never been brought back
into line.

An equivalent macro to load from the destination buffer (not applicable
to the operations implemented in pixman-arm-neon-asm.S) benefits from
the same alignent hints.

Verified that the aligned versions don't cause memory faults for the
fast paths defined in pixman-arm-neon-asm-bilinear.S.

Signed-off-by: Ben Avison <bavison at riscosopen.org>
---
 pixman/pixman-arm-neon-asm-bilinear.S |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S
index 0fd92d6..aba8d00 100644
--- a/pixman/pixman-arm-neon-asm-bilinear.S
+++ b/pixman/pixman-arm-neon-asm-bilinear.S
@@ -186,9 +186,9 @@
 
 .macro bilinear_store_8888 numpix, tmp1, tmp2
 .if numpix == 4
-    vst1.32   {d0, d1}, [OUT]!
+    vst1.32   {d0, d1}, [OUT, :128]!
 .elseif numpix == 2
-    vst1.32   {d0}, [OUT]!
+    vst1.32   {d0}, [OUT, :64]!
 .elseif numpix == 1
     vst1.32   {d0[0]}, [OUT, :32]!
 .else
@@ -203,11 +203,11 @@
     vuzp.u8 d0, d2
     convert_8888_to_0565 d2, d1, d0, q1, tmp1, tmp2
 .if numpix == 4
-    vst1.16   {d2}, [OUT]!
+    vst1.16   {d2}, [OUT, :64]!
 .elseif numpix == 2
-    vst1.32   {d2[0]}, [OUT]!
+    vst1.32   {d2[0]}, [OUT, :32]!
 .elseif numpix == 1
-    vst1.16   {d2[0]}, [OUT]!
+    vst1.16   {d2[0]}, [OUT, :16]!
 .else
     .error bilinear_store_0565 numpix is unsupported
 .endif
@@ -251,11 +251,11 @@
 
 .macro bilinear_load_dst_8888 numpix, dst0, dst1, dst01
 .if numpix == 4
-    vld1.32     {dst0, dst1}, [OUT]
+    vld1.32     {dst0, dst1}, [OUT, :128]
 .elseif numpix == 2
-    vld1.32     {dst0}, [OUT]
+    vld1.32     {dst0}, [OUT, :64]
 .elseif numpix == 1
-    vld1.32     {dst0[0]}, [OUT]
+    vld1.32     {dst0[0]}, [OUT, :32]
 .else
     .error bilinear_load_dst_8888 numpix is unsupported
 .endif
-- 
1.7.5.4



More information about the Pixman mailing list