summaryrefslogtreecommitdiff
path: root/source/fitz/draw-scale-simple.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2016-06-06 13:07:16 +0100
committerRobin Watts <robin.watts@artifex.com>2016-06-06 13:09:04 +0100
commit45d59d1c520f78fae0db12615e755b67c1acd5ce (patch)
treed69638fea7acb652d22bc0fde5d3bc8afa41db52 /source/fitz/draw-scale-simple.c
parentfb2cae0c3cfecad876f0d53abc08e22e6f3fde57 (diff)
downloadmupdf-45d59d1c520f78fae0db12615e755b67c1acd5ce.tar.xz
Fix broken ARM implementation of scale_row_to_temp3.
I had changed some code to *3 when creating the routine from the 4 bpp variant, but this particular multiplication should still have been *4, as it was looking up in an int table.
Diffstat (limited to 'source/fitz/draw-scale-simple.c')
-rw-r--r--source/fitz/draw-scale-simple.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/source/fitz/draw-scale-simple.c b/source/fitz/draw-scale-simple.c
index 37a2fd7f..1525c7b5 100644
--- a/source/fitz/draw-scale-simple.c
+++ b/source/fitz/draw-scale-simple.c
@@ -726,8 +726,7 @@ scale_row_to_temp3(unsigned char * restrict dst, const unsigned char * restrict
"ldr r4, [r2] @ r4 = index[0] \n"
"cmp r12,#0 @ if (flip) \n"
"beq 4f @ { \n"
- "add r2, r2, r4, LSL #1 @ \n"
- "add r2, r2, r4 @ r2 = &index[index[0]] \n"
+ "add r2, r2, r4, LSL #2 @ r2 = &index[index[0]] \n"
"add r0, r0, r3, LSL #1 @ \n"
"add r0, r0, r3 @ dst += 3*count \n"
"1: \n"
@@ -761,8 +760,7 @@ scale_row_to_temp3(unsigned char * restrict dst, const unsigned char * restrict
"bgt 1b @ \n"
"ldmfd r13!,{r4-r11,PC} @ pop, return to thumb \n"
"4:"
- "add r2, r2, r4, LSL #1 @ \n"
- "add r2, r2, r4 @ r2 = &index[index[0]] \n"
+ "add r2, r2, r4, LSL #2 @ r2 = &index[index[0]] \n"
"5:"
"ldr r4, [r2], #4 @ r4 = *contrib++ \n"
"ldr r9, [r2], #4 @ r9 = len = *contrib++ \n"