Add Chromium-only Blender WebEngine parity work

This commit is contained in:
mes123456
2026-08-12 04:47:48 -04:00
commit 9fd26010f6
18225 changed files with 11622124 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
dnl SPARC v8 mpn_addmul_1 -- Multiply a limb vector with a limb and
dnl add the result to a second limb vector.
dnl Copyright 1992-1995, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C INPUT PARAMETERS
C res_ptr o0
C s1_ptr o1
C size o2
C s2_limb o3
ASM_START()
PROLOGUE(mpn_addmul_1)
ld [%o1+0],%o4
andcc %o2,1,%g0
be L(bx0)
andcc %o2,2,%g0
L(bx1): be L(01)
orcc %g0,%g0,%g2
L(b11): add %o0,-8,%o0
b L(11)
add %o1,-8,%o1
L(bx0): be L(b00)
orcc %g0,%g0,%g2
L(b10): add %o0,-12,%o0
b L(10)
add %o1,4,%o1
L(b00): add %o0,-4,%o0
b L(00)
add %o1,-4,%o1
L(top): addcc %g3,%g2,%g3 C 1
ld [%o1+4],%o4 C 2
rd %y,%g2 C 1
addx %g0,%g2,%g2
ld [%o0+0],%g1 C 2
addcc %g1,%g3,%g3
st %g3,[%o0+0] C 1
L(00): umul %o4,%o3,%g3 C 2
ld [%o0+4],%g1 C 2
addxcc %g3,%g2,%g3 C 2
ld [%o1+8],%o4 C 3
rd %y,%g2 C 2
addx %g0,%g2,%g2
nop
addcc %g1,%g3,%g3
st %g3,[%o0+4] C 2
L(11): umul %o4,%o3,%g3 C 3
addxcc %g3,%g2,%g3 C 3
ld [%o1+12],%o4 C 4
rd %y,%g2 C 3
add %o1,16,%o1
addx %g0,%g2,%g2
ld [%o0+8],%g1 C 2
addcc %g1,%g3,%g3
st %g3,[%o0+8] C 3
L(10): umul %o4,%o3,%g3 C 4
addxcc %g3,%g2,%g3 C 4
ld [%o1+0],%o4 C 1
rd %y,%g2 C 4
addx %g0,%g2,%g2
ld [%o0+12],%g1 C 2
addcc %g1,%g3,%g3
st %g3,[%o0+12] C 4
add %o0,16,%o0
addx %g0,%g2,%g2
L(01): addcc %o2,-4,%o2
bg L(top)
umul %o4,%o3,%g3 C 1
addcc %g3,%g2,%g3 C 4
rd %y,%g2 C 4
addx %g0,%g2,%g2
ld [%o0+0],%g1 C 2
addcc %g1,%g3,%g3
st %g3,[%o0+0] C 4
retl
addx %g0,%g2,%o0
EPILOGUE(mpn_addmul_1)

View File

@@ -0,0 +1,73 @@
/* SPARC v8 gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999-2004 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
The GNU MP Library is free software; you can redistribute it and/or modify
it under the terms of either:
* the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your
option) any later version.
or
* the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any
later version.
or both in parallel, as here.
The GNU MP Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received copies of the GNU General Public License and the
GNU Lesser General Public License along with the GNU MP Library. If not,
see https://www.gnu.org/licenses/. */
#define GMP_LIMB_BITS 32
#define GMP_LIMB_BYTES 4
/* Generated by tuneup.c, 2004-02-07, gcc 2.95 */
#define MUL_TOOM22_THRESHOLD 10
#define MUL_TOOM33_THRESHOLD 65
#define SQR_BASECASE_THRESHOLD 4
#define SQR_TOOM2_THRESHOLD 18
#define SQR_TOOM3_THRESHOLD 65
#define DIV_SB_PREINV_THRESHOLD 5
#define DIV_DC_THRESHOLD 24
#define POWM_THRESHOLD 38
#define HGCD_THRESHOLD 69
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 498
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 6
#define DIVREM_1_UNNORM_THRESHOLD 11
#define MOD_1_NORM_THRESHOLD 5
#define MOD_1_UNNORM_THRESHOLD 9
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
#define DIVREM_2_THRESHOLD 0 /* always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 4
#define GET_STR_DC_THRESHOLD 14
#define GET_STR_PRECOMPUTE_THRESHOLD 23
#define SET_STR_THRESHOLD 1679
#define MUL_FFT_TABLE { 272, 672, 1152, 2560, 10240, 24576, 0 }
#define MUL_FFT_MODF_THRESHOLD 264
#define MUL_FFT_THRESHOLD 1792
#define SQR_FFT_TABLE { 304, 672, 1152, 3584, 10240, 24576, 0 }
#define SQR_FFT_MODF_THRESHOLD 264
#define SQR_FFT_THRESHOLD 1728

View File

@@ -0,0 +1,93 @@
dnl SPARC v8 mpn_mul_1 -- Multiply a limb vector with a single limb and
dnl store the product in a second limb vector.
dnl Copyright 1992, 1994, 1995, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C INPUT PARAMETERS
C res_ptr o0
C s1_ptr o1
C size o2
C s2_limb o3
ASM_START()
PROLOGUE(mpn_mul_1)
ld [%o1+0],%o4
andcc %o2,1,%g0
be L(bx0)
andcc %o2,2,%g0
L(bx1): be L(01)
orcc %g0,%g0,%g2
L(b11): add %o0,-8,%o0
b L(11)
add %o1,-8,%o1
L(bx0): be L(b00)
orcc %g0,%g0,%g2
L(b10): add %o0,-12,%o0
b L(10)
add %o1,4,%o1
L(b00): add %o0,-4,%o0
b L(00)
add %o1,-4,%o1
L(top): addcc %g3,%g2,%g3 C 1
ld [%o1+4],%o4 C 2
st %g3,[%o0+0] C 1
rd %y,%g2 C 1
L(00): umul %o4,%o3,%g3 C 2
addxcc %g3,%g2,%g3 C 2
ld [%o1+8],%o4 C 3
st %g3,[%o0+4] C 2
rd %y,%g2 C 2
L(11): umul %o4,%o3,%g3 C 3
addxcc %g3,%g2,%g3 C 3
ld [%o1+12],%o4 C 4
add %o1,16,%o1
st %g3,[%o0+8] C 3
rd %y,%g2 C 3
L(10): umul %o4,%o3,%g3 C 4
addxcc %g3,%g2,%g3 C 4
ld [%o1+0],%o4 C 1
st %g3,[%o0+12] C 4
add %o0,16,%o0
rd %y,%g2 C 4
addx %g0,%g2,%g2
L(01): addcc %o2,-4,%o2
bg L(top)
umul %o4,%o3,%g3 C 1
addcc %g3,%g2,%g3 C 4
st %g3,[%o0+0] C 4
rd %y,%g2 C 4
retl
addx %g0,%g2,%o0
EPILOGUE(mpn_mul_1)

View File

@@ -0,0 +1,67 @@
dnl SPARC v8 mpn_submul_1 -- Multiply a limb vector with a limb and
dnl subtract the result from a second limb vector.
dnl Copyright 1992-1994, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C INPUT PARAMETERS
C res_ptr o0
C s1_ptr o1
C size o2
C s2_limb o3
ASM_START()
PROLOGUE(mpn_submul_1)
sub %g0,%o2,%o2 C negate ...
sll %o2,2,%o2 C ... and scale size
sub %o1,%o2,%o1 C o1 is offset s1_ptr
sub %o0,%o2,%g1 C g1 is offset res_ptr
mov 0,%o0 C clear cy_limb
L(loop):
ld [%o1+%o2],%o4
ld [%g1+%o2],%g2
umul %o4,%o3,%o5
rd %y,%g3
addcc %o5,%o0,%o5
addx %g3,0,%o0
subcc %g2,%o5,%g2
addx %o0,0,%o0
st %g2,[%g1+%o2]
addcc %o2,4,%o2
bne L(loop)
nop
retl
nop
EPILOGUE(mpn_submul_1)

View File

@@ -0,0 +1,73 @@
/* SuperSPARC gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999-2004 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
The GNU MP Library is free software; you can redistribute it and/or modify
it under the terms of either:
* the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your
option) any later version.
or
* the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any
later version.
or both in parallel, as here.
The GNU MP Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received copies of the GNU General Public License and the
GNU Lesser General Public License along with the GNU MP Library. If not,
see https://www.gnu.org/licenses/. */
#define GMP_LIMB_BITS 32
#define GMP_LIMB_BYTES 4
/* Generated by tuneup.c, 2004-02-10, gcc 3.3 */
#define MUL_TOOM22_THRESHOLD 14
#define MUL_TOOM33_THRESHOLD 81
#define SQR_BASECASE_THRESHOLD 5
#define SQR_TOOM2_THRESHOLD 28
#define SQR_TOOM3_THRESHOLD 86
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 26
#define POWM_THRESHOLD 79
#define HGCD_THRESHOLD 97
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 470
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 0 /* always */
#define DIVREM_1_UNNORM_THRESHOLD 3
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 3
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
#define DIVREM_2_THRESHOLD 0 /* always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
#define GET_STR_DC_THRESHOLD 19
#define GET_STR_PRECOMPUTE_THRESHOLD 34
#define SET_STR_THRESHOLD 3524
#define MUL_FFT_TABLE { 304, 800, 1408, 3584, 10240, 24576, 0 }
#define MUL_FFT_MODF_THRESHOLD 264
#define MUL_FFT_THRESHOLD 2304
#define SQR_FFT_TABLE { 336, 800, 1408, 3584, 10240, 24576, 0 }
#define SQR_FFT_MODF_THRESHOLD 280
#define SQR_FFT_THRESHOLD 2304

View File

@@ -0,0 +1,131 @@
dnl SuperSPARC mpn_udiv_qrnnd division support, used from longlong.h.
dnl This is for SuperSPARC only, to compensate for its semi-functional
dnl udiv instruction.
dnl Copyright 1993, 1994, 1996, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C INPUT PARAMETERS
C rem_ptr i0
C n1 i1
C n0 i2
C d i3
ASM_START()
ifdef(`PIC',
` TEXT
L(getpc):
retl
nop')
TEXT
ALIGN(8)
L(C0): .double 0r4294967296
L(C1): .double 0r2147483648
PROLOGUE(mpn_udiv_qrnnd)
save %sp,-104,%sp
st %i1,[%fp-8]
ld [%fp-8],%f10
ifdef(`PIC',
`L(pc): call L(getpc) C put address of this insn in %o7
ldd [%o7+L(C0)-L(pc)],%f8',
` sethi %hi(L(C0)),%o7
ldd [%o7+%lo(L(C0))],%f8')
fitod %f10,%f4
cmp %i1,0
bge L(248)
mov %i0,%i5
faddd %f4,%f8,%f4
L(248):
st %i2,[%fp-8]
ld [%fp-8],%f10
fmuld %f4,%f8,%f6
cmp %i2,0
bge L(249)
fitod %f10,%f2
faddd %f2,%f8,%f2
L(249):
st %i3,[%fp-8]
faddd %f6,%f2,%f2
ld [%fp-8],%f10
cmp %i3,0
bge L(250)
fitod %f10,%f4
faddd %f4,%f8,%f4
L(250):
fdivd %f2,%f4,%f2
ifdef(`PIC',
` ldd [%o7+L(C1)-L(pc)],%f4',
` sethi %hi(L(C1)),%o7
ldd [%o7+%lo(L(C1))],%f4')
fcmped %f2,%f4
nop
fbge,a L(251)
fsubd %f2,%f4,%f2
fdtoi %f2,%f2
st %f2,[%fp-8]
b L(252)
ld [%fp-8],%i4
L(251):
fdtoi %f2,%f2
st %f2,[%fp-8]
ld [%fp-8],%i4
sethi %hi(-2147483648),%g2
xor %i4,%g2,%i4
L(252):
umul %i3,%i4,%g3
rd %y,%i0
subcc %i2,%g3,%o7
subxcc %i1,%i0,%g0
be L(253)
cmp %o7,%i3
add %i4,-1,%i0
add %o7,%i3,%o7
st %o7,[%i5]
ret
restore
L(253):
blu L(246)
mov %i4,%i0
add %i4,1,%i0
sub %o7,%i3,%o7
L(246):
st %o7,[%i5]
ret
restore
EPILOGUE(mpn_udiv_qrnnd)

View File

@@ -0,0 +1,131 @@
dnl SuperSPARC mpn_udiv_qrnnd division support, used from longlong.h.
dnl This is for SuperSPARC only, to compensate for its semi-functional
dnl udiv instruction.
dnl Copyright 1993, 1994, 1996, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C INPUT PARAMETERS
C rem_ptr i0
C n1 i1
C n0 i2
C d i3
ASM_START()
ifdef(`PIC',
` TEXT
L(getpc):
retl
nop')
TEXT
ALIGN(8)
L(C0): .double 0r4294967296
L(C1): .double 0r2147483648
PROLOGUE(mpn_udiv_qrnnd)
save %sp,-104,%sp
st %i1,[%fp-8]
ld [%fp-8],%f10
ifdef(`PIC',
`L(pc): call L(getpc) C put address of this insn in %o7
ldd [%o7+L(C0)-L(pc)],%f8',
` sethi %hi(L(C0)),%o7
ldd [%o7+%lo(L(C0))],%f8')
fitod %f10,%f4
cmp %i1,0
bge L(248)
mov %i0,%i5
faddd %f4,%f8,%f4
L(248):
st %i2,[%fp-8]
ld [%fp-8],%f10
fmuld %f4,%f8,%f6
cmp %i2,0
bge L(249)
fitod %f10,%f2
faddd %f2,%f8,%f2
L(249):
st %i3,[%fp-8]
faddd %f6,%f2,%f2
ld [%fp-8],%f10
cmp %i3,0
bge L(250)
fitod %f10,%f4
faddd %f4,%f8,%f4
L(250):
fdivd %f2,%f4,%f2
ifdef(`PIC',
` ldd [%o7+L(C1)-L(pc)],%f4',
` sethi %hi(L(C1)),%o7
ldd [%o7+%lo(L(C1))],%f4')
fcmped %f2,%f4
nop
fbge,a L(251)
fsubd %f2,%f4,%f2
fdtoi %f2,%f2
st %f2,[%fp-8]
b L(252)
ld [%fp-8],%i4
L(251):
fdtoi %f2,%f2
st %f2,[%fp-8]
ld [%fp-8],%i4
sethi %hi(-2147483648),%g2
xor %i4,%g2,%i4
L(252):
umul %i3,%i4,%g3
rd %y,%i0
subcc %i2,%g3,%o7
subxcc %i1,%i0,%g0
be L(253)
cmp %o7,%i3
add %i4,-1,%i0
add %o7,%i3,%o7
st %o7,[%i5]
ret
restore
L(253):
blu L(246)
mov %i4,%i0
add %i4,1,%i0
sub %o7,%i3,%o7
L(246):
st %o7,[%i5]
ret
restore
EPILOGUE(mpn_udiv_qrnnd)

View File

@@ -0,0 +1,40 @@
dnl SPARC v8 mpn_umul_ppmm -- support for longlong.h for non-gcc.
dnl Copyright 1995, 1996, 2000 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published by the Free
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
ASM_START()
PROLOGUE(mpn_umul_ppmm)
umul %o1,%o2,%g2
st %g2,[%o0]
retl
rd %y,%o0
EPILOGUE(mpn_umul_ppmm)