Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
8efd1ca9
Commit
8efd1ca9
authored
May 16, 2020
by
Marcel Admiraal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update r128.h to include latest fix for mingw-64 32 bit builds.
parent
24275b26
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
8 deletions
+8
-8
README.md
thirdparty/README.md
+1
-1
r128.h
thirdparty/misc/r128.h
+7
-7
No files found.
thirdparty/README.md
View file @
8efd1ca9
...
...
@@ -386,7 +386,7 @@ Collection of single-file libraries used in Godot components.
*
License: Apache 2.0
-
`r128.h`
*
Upstream: https://github.com/fahickman/r128
*
Version:
1.4.3 (2019
)
*
Version:
git (423f693617faafd01de21e92818add4208eb8bd1, 2020
)
*
License: Public Domain
-
`smaz.{c,h}`
*
Upstream: https://github.com/antirez/smaz
...
...
thirdparty/misc/r128.h
View file @
8efd1ca9
...
...
@@ -665,7 +665,7 @@ static int r128__clz64(R128_U64 x)
// 32*32->64
static
R128_U64
r128__umul64
(
R128_U32
a
,
R128_U32
b
)
{
# if defined(_M_IX86) && !defined(R128_STDC_ONLY)
# if defined(_M_IX86) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
return
__emulu
(
a
,
b
);
# elif defined(_M_ARM) && !defined(R128_STDC_ONLY)
return
_arm_umull
(
a
,
b
);
...
...
@@ -680,7 +680,7 @@ static R128_U32 r128__udiv64(R128_U32 nlo, R128_U32 nhi, R128_U32 d, R128_U32 *r
# if defined(_M_IX86) && (_MSC_VER >= 1920) && !defined(R128_STDC_ONLY)
unsigned
__int64
n
=
((
unsigned
__int64
)
nhi
<<
32
)
|
nlo
;
return
_udiv64
(
n
,
d
,
rem
);
# elif defined(_M_IX86) && !defined(R128_STDC_ONLY)
# elif defined(_M_IX86) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
__asm
{
mov
eax
,
nlo
mov
edx
,
nhi
...
...
@@ -795,7 +795,7 @@ static void r128__umul128(R128 *dst, R128_U64 a, R128_U64 b)
}
// 128/64->64
#if defined(_M_X64) && (_MSC_VER < 1920) && !defined(R128_STDC_ONLY)
#if defined(_M_X64) && (_MSC_VER < 1920) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
// MSVC x64 provides neither inline assembly nor (pre-2019) a div intrinsic, so we do fake
// "inline assembly" to avoid long division or outline assembly.
#pragma code_seg(".text")
...
...
@@ -810,7 +810,7 @@ static const r128__udiv128Proc r128__udiv128 = (r128__udiv128Proc)(void*)r128__u
#else
static
R128_U64
r128__udiv128
(
R128_U64
nlo
,
R128_U64
nhi
,
R128_U64
d
,
R128_U64
*
rem
)
{
#if defined(_M_X64) && !defined(R128_STDC_ONLY)
#if defined(_M_X64) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
return
_udiv128
(
nhi
,
nlo
,
d
,
rem
);
#elif defined(__x86_64__) && !defined(R128_STDC_ONLY)
R128_U64
q
,
r
;
...
...
@@ -1602,7 +1602,7 @@ void r128Shl(R128 *dst, const R128 *src, int amount)
R128_ASSERT
(
dst
!=
NULL
);
R128_ASSERT
(
src
!=
NULL
);
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
__asm
{
// load src
mov
edx
,
dword
ptr
[
src
]
...
...
@@ -1664,7 +1664,7 @@ void r128Shr(R128 *dst, const R128 *src, int amount)
R128_ASSERT
(
dst
!=
NULL
);
R128_ASSERT
(
src
!=
NULL
);
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
__asm
{
// load src
mov
edx
,
dword
ptr
[
src
]
...
...
@@ -1726,7 +1726,7 @@ void r128Sar(R128 *dst, const R128 *src, int amount)
R128_ASSERT
(
dst
!=
NULL
);
R128_ASSERT
(
src
!=
NULL
);
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
#if defined(_M_IX86) && !defined(R128_STDC_ONLY)
&& !defined(__MINGW32__)
__asm
{
// load src
mov
edx
,
dword
ptr
[
src
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment