Index: src/opts/memset32_neon.S |
diff --git a/src/opts/memset32_neon.S b/src/opts/memset32_neon.S |
deleted file mode 100644 |
index e7595adb58e193be66329c41d2f918b6d4a1ad0c..0000000000000000000000000000000000000000 |
--- a/src/opts/memset32_neon.S |
+++ /dev/null |
@@ -1,113 +0,0 @@ |
-/*************************************************************************** |
- * Copyright (c) 2009,2010, Code Aurora Forum. All rights reserved. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- ***************************************************************************/ |
- |
- .syntax unified |
- .code 32 |
- .fpu neon |
- .align 4 |
- .globl memset32_neon |
- .hidden memset32_neon |
- |
- /* r0 = buffer, r1 = value, r2 = times to write */ |
-memset32_neon: |
- cmp r2, #1 |
- streq r1, [r0], #4 |
- bxeq lr |
- |
- cmp r2, #4 |
- bgt memset32_neon_start |
- cmp r2, #0 |
- bxeq lr |
-memset32_neon_small: |
- str r1, [r0], #4 |
- subs r2, r2, #1 |
- bne memset32_neon_small |
- bx lr |
-memset32_neon_start: |
- cmp r2, #16 |
- blt memset32_dropthru |
- vdup.32 q0, r1 |
- vmov q1, q0 |
- cmp r2, #32 |
- blt memset32_16 |
- cmp r2, #64 |
- blt memset32_32 |
- cmp r2, #128 |
- blt memset32_64 |
-memset32_128: |
- movs r12, r2, lsr #7 |
-memset32_loop128: |
- subs r12, r12, #1 |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- bne memset32_loop128 |
- ands r2, r2, #0x7f |
- bxeq lr |
-memset32_64: |
- movs r12, r2, lsr #6 |
- beq memset32_32 |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- ands r2, r2, #0x3f |
- bxeq lr |
-memset32_32: |
- movs r12, r2, lsr #5 |
- beq memset32_16 |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
- ands r2, r2, #0x1f |
- bxeq lr |
-memset32_16: |
- movs r12, r2, lsr #4 |
- beq memset32_dropthru |
- and r2, r2, #0xf |
- vst1.64 {q0, q1}, [r0]! |
- vst1.64 {q0, q1}, [r0]! |
-memset32_dropthru: |
- rsb r2, r2, #15 |
- add pc, pc, r2, lsl #2 |
- nop |
- str r1, [r0, #56] |
- str r1, [r0, #52] |
- str r1, [r0, #48] |
- str r1, [r0, #44] |
- str r1, [r0, #40] |
- str r1, [r0, #36] |
- str r1, [r0, #32] |
- str r1, [r0, #28] |
- str r1, [r0, #24] |
- str r1, [r0, #20] |
- str r1, [r0, #16] |
- str r1, [r0, #12] |
- str r1, [r0, #8] |
- str r1, [r0, #4] |
- str r1, [r0, #0] |
- bx lr |
- |
- .end |