diff options
author | Robin Watts <robin.watts@artifex.com> | 2016-06-06 13:07:16 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2016-06-06 13:09:04 +0100 |
commit | 45d59d1c520f78fae0db12615e755b67c1acd5ce (patch) | |
tree | d69638fea7acb652d22bc0fde5d3bc8afa41db52 | |
parent | fb2cae0c3cfecad876f0d53abc08e22e6f3fde57 (diff) | |
download | mupdf-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.
-rw-r--r-- | source/fitz/draw-scale-simple.c | 6 |
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" |