summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-16 14:34:49 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-16 14:34:49 +0000
commit2995c2d265e4e6b2c07a88023bbd7635ae7cb9e9 (patch)
tree90af8f621640e1c067bfcd84790fc1eb385bf97a /apps/codecs
parentf3643181aeb6260728575bc883188d0c823b8620 (diff)
downloadrockbox-2995c2d265e4e6b2c07a88023bbd7635ae7cb9e9.tar.gz
rockbox-2995c2d265e4e6b2c07a88023bbd7635ae7cb9e9.zip
Clean code a bit (no functional changes)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20715 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/lib/setjmp_mips.S45
1 files changed, 23 insertions, 22 deletions
diff --git a/apps/codecs/lib/setjmp_mips.S b/apps/codecs/lib/setjmp_mips.S
index ccb83bd596..7fa127a7a4 100644
--- a/apps/codecs/lib/setjmp_mips.S
+++ b/apps/codecs/lib/setjmp_mips.S
@@ -1,4 +1,5 @@
1#include "config.h" 1#include "config.h"
2#include "mips.h"
2 3
3/* This is a simple version of setjmp and longjmp for MIPS 32 and 64. 4/* This is a simple version of setjmp and longjmp for MIPS 32 and 64.
4 5
@@ -9,7 +10,7 @@
9 .set nomips16 10 .set nomips16
10#endif 11#endif
11 12
12#define GPR_LAYOUT \ 13#define GPR_LAYOUT \
13 GPR_OFFSET ($16, 0); \ 14 GPR_OFFSET ($16, 0); \
14 GPR_OFFSET ($17, 1); \ 15 GPR_OFFSET ($17, 1); \
15 GPR_OFFSET ($18, 2); \ 16 GPR_OFFSET ($18, 2); \
@@ -25,7 +26,7 @@
25#define NUM_GPRS_SAVED 11 26#define NUM_GPRS_SAVED 11
26 27
27#ifdef __mips_hard_float 28#ifdef __mips_hard_float
28#define FPR_LAYOUT \ 29#define FPR_LAYOUT \
29 FPR_OFFSET ($f20, 0); \ 30 FPR_OFFSET ($f20, 0); \
30 FPR_OFFSET ($f21, 1); \ 31 FPR_OFFSET ($f21, 1); \
31 FPR_OFFSET ($f22, 2); \ 32 FPR_OFFSET ($f22, 2); \
@@ -36,7 +37,7 @@
36 FPR_OFFSET ($f27, 7); \ 37 FPR_OFFSET ($f27, 7); \
37 FPR_OFFSET ($f28, 8); \ 38 FPR_OFFSET ($f28, 8); \
38 FPR_OFFSET ($f29, 9); \ 39 FPR_OFFSET ($f29, 9); \
39 FPR_OFFSET ($f30, 10); \ 40 FPR_OFFSET ($f30, 10); \
40 FPR_OFFSET ($f31, 11) 41 FPR_OFFSET ($f31, 11)
41#else 42#else
42#define FPR_LAYOUT 43#define FPR_LAYOUT
@@ -44,14 +45,14 @@
44 45
45#if CPU_MIPS == 64 46#if CPU_MIPS == 64
46#define BYTES_PER_WORD 8 47#define BYTES_PER_WORD 8
47#define LOAD_GPR ld 48#define LOAD_GPR ld
48#define LOAD_FPR ldc1 49#define LOAD_FPR ldc1
49#define STORE_GPR sd 50#define STORE_GPR sd
50#define STORE_FPR sdc1 51#define STORE_FPR sdc1
51#else 52#else
52#define BYTES_PER_WORD 4 53#define BYTES_PER_WORD 4
53#define LOAD_GPR lw 54#define LOAD_GPR lw
54#define LOAD_FPR lwc1 55#define LOAD_FPR lwc1
55#define STORE_GPR sw 56#define STORE_GPR sw
56#define STORE_FPR swc1 57#define STORE_FPR swc1
57#endif 58#endif
@@ -60,41 +61,41 @@
60#define FPOFF(INDEX) ((INDEX + NUM_GPRS_SAVED) * BYTES_PER_WORD) 61#define FPOFF(INDEX) ((INDEX + NUM_GPRS_SAVED) * BYTES_PER_WORD)
61 62
62/* int setjmp (jmp_buf); */ 63/* int setjmp (jmp_buf); */
63 .globl setjmp 64 .globl setjmp
64 .ent setjmp 65 .ent setjmp
65setjmp: 66setjmp:
66 .frame $sp,0,$31 67 .frame sp, 0, ra
67 68
68#define GPR_OFFSET(REG, INDEX) STORE_GPR REG,GPOFF(INDEX)($4) 69#define GPR_OFFSET(REG, INDEX) STORE_GPR REG,GPOFF(INDEX)(a0)
69#define FPR_OFFSET(REG, INDEX) STORE_FPR REG,FPOFF(INDEX)($4) 70#define FPR_OFFSET(REG, INDEX) STORE_FPR REG,FPOFF(INDEX)(a0)
70 GPR_LAYOUT 71 GPR_LAYOUT
71 FPR_LAYOUT 72 FPR_LAYOUT
72#undef GPR_OFFSET 73#undef GPR_OFFSET
73#undef FPR_OFFSET 74#undef FPR_OFFSET
74 75
75 move $2,$0 76 move v0, $0
76 j $31 77 j ra
77 78
78 .end setjmp 79 .end setjmp
79 80
80/* volatile void longjmp (jmp_buf, int); */ 81/* volatile void longjmp (jmp_buf, int); */
81 .globl longjmp 82 .globl longjmp
82 .ent longjmp 83 .ent longjmp
83longjmp: 84longjmp:
84 .frame $sp,0,$31 85 .frame sp, 0, ra
85 86
86#define GPR_OFFSET(REG, INDEX) LOAD_GPR REG,GPOFF(INDEX)($4) 87#define GPR_OFFSET(REG, INDEX) LOAD_GPR REG,GPOFF(INDEX)(a0)
87#define FPR_OFFSET(REG, INDEX) LOAD_FPR REG,FPOFF(INDEX)($4) 88#define FPR_OFFSET(REG, INDEX) LOAD_FPR REG,FPOFF(INDEX)(a0)
88 GPR_LAYOUT 89 GPR_LAYOUT
89 FPR_LAYOUT 90 FPR_LAYOUT
90#undef GPR_OFFSET 91#undef GPR_OFFSET
91#undef FPR_OFFSET 92#undef FPR_OFFSET
92 93
93 bne $5,$0,1f 94 bne a1, $0, 1f
94 li $5,1 95 li a1, 1
951: 961:
96 move $2,$5 97 move v0, a1
97 j $31 98 j ra
98 99
99 .end longjmp 100 .end longjmp
100 101