summaryrefslogtreecommitdiffstats
path: root/media/libjpeg/assembly-tables.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /media/libjpeg/assembly-tables.diff
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'media/libjpeg/assembly-tables.diff')
-rw-r--r--media/libjpeg/assembly-tables.diff70
1 files changed, 70 insertions, 0 deletions
diff --git a/media/libjpeg/assembly-tables.diff b/media/libjpeg/assembly-tables.diff
new file mode 100644
index 0000000000..a8dd3d1ee7
--- /dev/null
+++ b/media/libjpeg/assembly-tables.diff
@@ -0,0 +1,70 @@
+diff --git a/media/libjpeg/simd/i386/jchuff-sse2.asm b/media/libjpeg/simd/i386/jchuff-sse2.asm
+index 6ea69f6..fea4de3 100644
+--- a/media/libjpeg/simd/i386/jchuff-sse2.asm
++++ b/media/libjpeg/simd/i386/jchuff-sse2.asm
+@@ -27,11 +27,10 @@
+
+ alignz 32
+ GLOBAL_DATA(jconst_huff_encode_one_block)
++ EXTERN EXTN(jpeg_nbits_table)
+
+ EXTN(jconst_huff_encode_one_block):
+
+-%include "jpeg_nbits_table.inc"
+-
+ alignz 32
+
+ ; --------------------------------------------------------------------------
+@@ -233,7 +232,7 @@ EXTN(jsimd_huff_encode_one_block_sse2):
+
+ ; Find the number of bits needed for the magnitude of the coefficient
+ movpic ebp, POINTER [esp+gotptr] ; load GOT address (ebp)
+- movzx edx, byte [GOTOFF(ebp, jpeg_nbits_table + ecx)] ; nbits = JPEG_NBITS(temp);
++ movzx edx, byte [GOTOFF(ebp, EXTN(jpeg_nbits_table) + ecx)] ; nbits = JPEG_NBITS(temp);
+ mov DWORD [esp+temp2], edx ; backup nbits in temp2
+
+ ; Emit the Huffman-coded symbol for the number of bits
+@@ -305,7 +304,7 @@ EXTN(jsimd_huff_encode_one_block_sse2):
+ .ERLOOP:
+ movsx eax, word [esi] ; temp = t1[k];
+ movpic edx, POINTER [esp+gotptr] ; load GOT address (edx)
+- movzx eax, byte [GOTOFF(edx, jpeg_nbits_table + eax)] ; nbits = JPEG_NBITS(temp);
++ movzx eax, byte [GOTOFF(edx, EXTN(jpeg_nbits_table) + eax)] ; nbits = JPEG_NBITS(temp);
+ mov DWORD [esp+temp2], eax
+ ; Emit Huffman symbol for run length / number of bits
+ shl ecx, 4 ; temp3 = (r << 4) + nbits;
+diff --git a/media/libjpeg/simd/x86_64/jchuff-sse2.asm b/media/libjpeg/simd/x86_64/jchuff-sse2.asm
+index 1b091ad..5ec8b1a 100644
+--- a/media/libjpeg/simd/x86_64/jchuff-sse2.asm
++++ b/media/libjpeg/simd/x86_64/jchuff-sse2.asm
+@@ -27,11 +27,10 @@
+
+ alignz 32
+ GLOBAL_DATA(jconst_huff_encode_one_block)
++ EXTERN EXTN(jpeg_nbits_table)
+
+ EXTN(jconst_huff_encode_one_block):
+
+-%include "jpeg_nbits_table.inc"
+-
+ alignz 32
+
+ ; --------------------------------------------------------------------------
+@@ -222,7 +221,7 @@ EXTN(jsimd_huff_encode_one_block_sse2):
+ add ebx, esi ; temp2 += temp3;
+
+ ; Find the number of bits needed for the magnitude of the coefficient
+- lea r11, [rel jpeg_nbits_table]
++ lea r11, [rel EXTN(jpeg_nbits_table)]
+ movzx rdi, byte [r11 + rdi] ; nbits = JPEG_NBITS(temp);
+ ; Emit the Huffman-coded symbol for the number of bits
+ mov r11d, INT [r14 + rdi * 4] ; code = dctbl->ehufco[nbits];
+@@ -289,7 +288,7 @@ EXTN(jsimd_huff_encode_one_block_sse2):
+ lea rsi, [rsi+r12*2] ; k += r;
+ shr r11, cl ; index >>= r;
+ movzx rdi, word [rsi] ; temp = t1[k];
+- lea rbx, [rel jpeg_nbits_table]
++ lea rbx, [rel EXTN(jpeg_nbits_table)]
+ movzx rdi, byte [rbx + rdi] ; nbits = JPEG_NBITS(temp);
+ .BRLOOP:
+ cmp r12, 16 ; while (r > 15) {