notaz.gp2x.de
/
pcsx_rearmed.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
efcf1f7
)
cspace_neon: don't trash callee-save registers
author
notaz
<notasas@gmail.com>
Wed, 24 Dec 2014 23:40:04 +0000
(
01:40
+0200)
committer
notaz
<notasas@gmail.com>
Wed, 24 Dec 2014 23:40:04 +0000
(
01:40
+0200)
frontend/cspace_neon.S
patch
|
blob
|
blame
|
history
diff --git
a/frontend/cspace_neon.S
b/frontend/cspace_neon.S
index
7420585
..
342876f
100644
(file)
--- a/
frontend/cspace_neon.S
+++ b/
frontend/cspace_neon.S
@@
-19,7
+19,7
@@
.text
.align 2
.text
.align 2
-FUNCTION(bgr555_to_rgb565):
+FUNCTION(bgr555_to_rgb565):
@ dst, src, bytes
pld [r1]
mov r3, #0x07c0
vdup.16 q15, r3
pld [r1]
mov r3, #0x07c0
vdup.16 q15, r3
@@
-28,23
+28,23
@@
FUNCTION(bgr555_to_rgb565):
0:
pld [r1, #64*2]
vldmia r1!, {q0-q3}
0:
pld [r1, #64*2]
vldmia r1!, {q0-q3}
- vshl.u16 q
4,
q0, #11
- vshl.u16 q
5,
q1, #11
- vshl.u16 q
6
, q2, #11
- vshl.u16 q
7
, q3, #11
- vsri.u16 q
4,
q0, #10
- vsri.u16 q
5,
q1, #10
- vsri.u16 q
6
, q2, #10
- vsri.u16 q
7
, q3, #10
- vshl.u16 q0, q0, #1
- vshl.u16 q1, q1, #1
- vshl.u16 q2, q2, #1
- vshl.u16 q3, q3, #1
- vbit q
4,
q0, q15
- vbit q
5,
q1, q15
- vbit q
6
, q2, q15
- vbit q
7
, q3, q15
- vstmia r0!, {q
4-q7
}
+ vshl.u16 q
8,
q0, #11
+ vshl.u16 q
9,
q1, #11
+ vshl.u16 q
10
, q2, #11
+ vshl.u16 q
11
, q3, #11
+ vsri.u16 q
8,
q0, #10
+ vsri.u16 q
9,
q1, #10
+ vsri.u16 q
10
, q2, #10
+ vsri.u16 q
11
, q3, #10
+ vshl.u16 q0,
q0, #1
+ vshl.u16 q1,
q1, #1
+ vshl.u16 q2,
q2, #1
+ vshl.u16 q3,
q3, #1
+ vbit q
8,
q0, q15
+ vbit q
9,
q1, q15
+ vbit q
10
, q2, q15
+ vbit q
11
, q3, q15
+ vstmia r0!, {q
8-q11
}
subs r2, r2, #64
bge 0b
subs r2, r2, #64
bge 0b
@@
-81,7
+81,7
@@
btr16_end16:
bx lr
bx lr
-FUNCTION(bgr888_to_rgb888):
+FUNCTION(bgr888_to_rgb888):
@ dst, src, bytes
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4
@@
-102,7
+102,7
@@
FUNCTION(bgr888_to_rgb888):
bx lr
bx lr
-FUNCTION(bgr888_to_rgb565):
+FUNCTION(bgr888_to_rgb565):
@ dst, src, bytes
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4
@@
-134,7
+134,7
@@
FUNCTION(bgr888_to_rgb565):
bx lr
bx lr
-FUNCTION(rgb888_to_rgb565):
+FUNCTION(rgb888_to_rgb565):
@ dst, src, bytes
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4
pld [r1]
@ r2 /= 48
mov r2, r2, lsr #4