|
@@ -55,20 +55,14 @@
|
|
#define UNIT(unit) ((unit)*NBYTES)
|
|
#define UNIT(unit) ((unit)*NBYTES)
|
|
|
|
|
|
#define ADDC(sum,reg) \
|
|
#define ADDC(sum,reg) \
|
|
- .set push; \
|
|
|
|
- .set noat; \
|
|
|
|
ADD sum, reg; \
|
|
ADD sum, reg; \
|
|
sltu v1, sum, reg; \
|
|
sltu v1, sum, reg; \
|
|
ADD sum, v1; \
|
|
ADD sum, v1; \
|
|
- .set pop
|
|
|
|
|
|
|
|
#define ADDC32(sum,reg) \
|
|
#define ADDC32(sum,reg) \
|
|
- .set push; \
|
|
|
|
- .set noat; \
|
|
|
|
addu sum, reg; \
|
|
addu sum, reg; \
|
|
sltu v1, sum, reg; \
|
|
sltu v1, sum, reg; \
|
|
addu sum, v1; \
|
|
addu sum, v1; \
|
|
- .set pop
|
|
|
|
|
|
|
|
#define CSUM_BIGCHUNK1(src, offset, sum, _t0, _t1, _t2, _t3) \
|
|
#define CSUM_BIGCHUNK1(src, offset, sum, _t0, _t1, _t2, _t3) \
|
|
LOAD _t0, (offset + UNIT(0))(src); \
|
|
LOAD _t0, (offset + UNIT(0))(src); \
|
|
@@ -267,8 +261,6 @@ LEAF(csum_partial)
|
|
1: ADDC(sum, t1)
|
|
1: ADDC(sum, t1)
|
|
|
|
|
|
/* fold checksum */
|
|
/* fold checksum */
|
|
- .set push
|
|
|
|
- .set noat
|
|
|
|
#ifdef USE_DOUBLE
|
|
#ifdef USE_DOUBLE
|
|
dsll32 v1, sum, 0
|
|
dsll32 v1, sum, 0
|
|
daddu sum, v1
|
|
daddu sum, v1
|
|
@@ -284,7 +276,6 @@ LEAF(csum_partial)
|
|
srl sum, sum, 8
|
|
srl sum, sum, 8
|
|
or sum, v1
|
|
or sum, v1
|
|
andi sum, 0xffff
|
|
andi sum, 0xffff
|
|
- .set pop
|
|
|
|
1:
|
|
1:
|
|
.set reorder
|
|
.set reorder
|
|
/* Add the passed partial csum. */
|
|
/* Add the passed partial csum. */
|
|
@@ -664,8 +655,6 @@ EXC( sb t0, NBYTES-2(dst), .Ls_exc)
|
|
ADDC(sum, t2)
|
|
ADDC(sum, t2)
|
|
.Ldone:
|
|
.Ldone:
|
|
/* fold checksum */
|
|
/* fold checksum */
|
|
- .set push
|
|
|
|
- .set noat
|
|
|
|
#ifdef USE_DOUBLE
|
|
#ifdef USE_DOUBLE
|
|
dsll32 v1, sum, 0
|
|
dsll32 v1, sum, 0
|
|
daddu sum, v1
|
|
daddu sum, v1
|
|
@@ -681,7 +670,6 @@ EXC( sb t0, NBYTES-2(dst), .Ls_exc)
|
|
srl sum, sum, 8
|
|
srl sum, sum, 8
|
|
or sum, v1
|
|
or sum, v1
|
|
andi sum, 0xffff
|
|
andi sum, 0xffff
|
|
- .set pop
|
|
|
|
1:
|
|
1:
|
|
.set reorder
|
|
.set reorder
|
|
ADDC32(sum, psum)
|
|
ADDC32(sum, psum)
|