Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
36fe1f8a
Commit
36fe1f8a
authored
Jul 27, 2015
by
Sebastian Lackner
Committed by
Alexandre Julliard
Jul 28, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vcomp: Implement atomic double functions.
parent
c14db31b
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
12 deletions
+56
-12
main.c
dlls/vcomp/main.c
+44
-0
vcomp.spec
dlls/vcomp/vcomp.spec
+4
-4
vcomp100.spec
dlls/vcomp100/vcomp100.spec
+4
-4
vcomp90.spec
dlls/vcomp90/vcomp90.spec
+4
-4
No files found.
dlls/vcomp/main.c
View file @
36fe1f8a
...
...
@@ -330,6 +330,50 @@ void CDECL _vcomp_atomic_sub_r4(float *dest, float val)
while
(
interlocked_cmpxchg
((
int
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_add_r8
(
double
*
dest
,
double
val
)
{
LONG64
old
,
new
;
do
{
old
=
*
(
LONG64
*
)
dest
;
*
(
double
*
)
&
new
=
*
(
double
*
)
&
old
+
val
;
}
while
(
interlocked_cmpxchg64
((
LONG64
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_div_r8
(
double
*
dest
,
double
val
)
{
LONG64
old
,
new
;
do
{
old
=
*
(
LONG64
*
)
dest
;
*
(
double
*
)
&
new
=
*
(
double
*
)
&
old
/
val
;
}
while
(
interlocked_cmpxchg64
((
LONG64
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_mul_r8
(
double
*
dest
,
double
val
)
{
LONG64
old
,
new
;
do
{
old
=
*
(
LONG64
*
)
dest
;
*
(
double
*
)
&
new
=
*
(
double
*
)
&
old
*
val
;
}
while
(
interlocked_cmpxchg64
((
LONG64
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_sub_r8
(
double
*
dest
,
double
val
)
{
LONG64
old
,
new
;
do
{
old
=
*
(
LONG64
*
)
dest
;
*
(
double
*
)
&
new
=
*
(
double
*
)
&
old
-
val
;
}
while
(
interlocked_cmpxchg64
((
LONG64
*
)
dest
,
new
,
old
)
!=
old
);
}
int
CDECL
omp_get_dynamic
(
void
)
{
TRACE
(
"stub
\n
"
);
...
...
dlls/vcomp/vcomp.spec
View file @
36fe1f8a
...
...
@@ -3,7 +3,7 @@
@ cdecl _vcomp_atomic_add_i4(ptr long)
@ stub _vcomp_atomic_add_i8
@ cdecl _vcomp_atomic_add_r4(ptr float)
@
stub _vcomp_atomic_add_r8
@
cdecl _vcomp_atomic_add_r8(ptr double)
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
@ cdecl _vcomp_atomic_and_i4(ptr long)
...
...
@@ -13,7 +13,7 @@
@ cdecl _vcomp_atomic_div_i4(ptr long)
@ stub _vcomp_atomic_div_i8
@ cdecl _vcomp_atomic_div_r4(ptr float)
@
stub _vcomp_atomic_div_r8
@
cdecl _vcomp_atomic_div_r8(ptr double)
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
@ cdecl _vcomp_atomic_div_ui4(ptr long)
...
...
@@ -23,7 +23,7 @@
@ cdecl _vcomp_atomic_mul_i4(ptr long)
@ stub _vcomp_atomic_mul_i8
@ cdecl _vcomp_atomic_mul_r4(ptr float)
@
stub _vcomp_atomic_mul_r8
@
cdecl _vcomp_atomic_mul_r8(ptr double)
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
@ cdecl _vcomp_atomic_or_i4(ptr long)
...
...
@@ -45,7 +45,7 @@
@ cdecl _vcomp_atomic_sub_i4(ptr long)
@ stub _vcomp_atomic_sub_i8
@ cdecl _vcomp_atomic_sub_r4(ptr float)
@
stub _vcomp_atomic_sub_r8
@
cdecl _vcomp_atomic_sub_r8(ptr double)
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
@ cdecl _vcomp_atomic_xor_i4(ptr long)
...
...
dlls/vcomp100/vcomp100.spec
View file @
36fe1f8a
...
...
@@ -3,7 +3,7 @@
@ cdecl _vcomp_atomic_add_i4(ptr long) vcomp._vcomp_atomic_add_i4
@ stub _vcomp_atomic_add_i8
@ cdecl _vcomp_atomic_add_r4(ptr float) vcomp._vcomp_atomic_add_r4
@
stub
_vcomp_atomic_add_r8
@
cdecl _vcomp_atomic_add_r8(ptr double) vcomp.
_vcomp_atomic_add_r8
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
@ cdecl _vcomp_atomic_and_i4(ptr long) vcomp._vcomp_atomic_and_i4
...
...
@@ -13,7 +13,7 @@
@ cdecl _vcomp_atomic_div_i4(ptr long) vcomp._vcomp_atomic_div_i4
@ stub _vcomp_atomic_div_i8
@ cdecl _vcomp_atomic_div_r4(ptr float) vcomp._vcomp_atomic_div_r4
@
stub
_vcomp_atomic_div_r8
@
cdecl _vcomp_atomic_div_r8(ptr double) vcomp.
_vcomp_atomic_div_r8
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
@ cdecl _vcomp_atomic_div_ui4(ptr long) vcomp._vcomp_atomic_div_ui4
...
...
@@ -23,7 +23,7 @@
@ cdecl _vcomp_atomic_mul_i4(ptr long) vcomp._vcomp_atomic_mul_i4
@ stub _vcomp_atomic_mul_i8
@ cdecl _vcomp_atomic_mul_r4(ptr float) vcomp._vcomp_atomic_mul_r4
@
stub
_vcomp_atomic_mul_r8
@
cdecl _vcomp_atomic_mul_r8(ptr double) vcomp.
_vcomp_atomic_mul_r8
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
@ cdecl _vcomp_atomic_or_i4(ptr long) vcomp._vcomp_atomic_or_i4
...
...
@@ -45,7 +45,7 @@
@ cdecl _vcomp_atomic_sub_i4(ptr long) vcomp._vcomp_atomic_sub_i4
@ stub _vcomp_atomic_sub_i8
@ cdecl _vcomp_atomic_sub_r4(ptr float) vcomp._vcomp_atomic_sub_r4
@
stub
_vcomp_atomic_sub_r8
@
cdecl _vcomp_atomic_sub_r8(ptr double) vcomp.
_vcomp_atomic_sub_r8
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
@ cdecl _vcomp_atomic_xor_i4(ptr long) vcomp._vcomp_atomic_xor_i4
...
...
dlls/vcomp90/vcomp90.spec
View file @
36fe1f8a
...
...
@@ -3,7 +3,7 @@
@ cdecl _vcomp_atomic_add_i4(ptr long) vcomp._vcomp_atomic_add_i4
@ stub _vcomp_atomic_add_i8
@ cdecl _vcomp_atomic_add_r4(ptr float) vcomp._vcomp_atomic_add_r4
@
stub
_vcomp_atomic_add_r8
@
cdecl _vcomp_atomic_add_r8(ptr double) vcomp.
_vcomp_atomic_add_r8
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
@ cdecl _vcomp_atomic_and_i4(ptr long) vcomp._vcomp_atomic_and_i4
...
...
@@ -13,7 +13,7 @@
@ cdecl _vcomp_atomic_div_i4(ptr long) vcomp._vcomp_atomic_div_i4
@ stub _vcomp_atomic_div_i8
@ cdecl _vcomp_atomic_div_r4(ptr float) vcomp._vcomp_atomic_div_r4
@
stub
_vcomp_atomic_div_r8
@
cdecl _vcomp_atomic_div_r8(ptr double) vcomp.
_vcomp_atomic_div_r8
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
@ cdecl _vcomp_atomic_div_ui4(ptr long) vcomp._vcomp_atomic_div_ui4
...
...
@@ -23,7 +23,7 @@
@ cdecl _vcomp_atomic_mul_i4(ptr long) vcomp._vcomp_atomic_mul_i4
@ stub _vcomp_atomic_mul_i8
@ cdecl _vcomp_atomic_mul_r4(ptr float) vcomp._vcomp_atomic_mul_r4
@
stub
_vcomp_atomic_mul_r8
@
cdecl _vcomp_atomic_mul_r8(ptr double) vcomp.
_vcomp_atomic_mul_r8
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
@ cdecl _vcomp_atomic_or_i4(ptr long) vcomp._vcomp_atomic_or_i4
...
...
@@ -45,7 +45,7 @@
@ cdecl _vcomp_atomic_sub_i4(ptr long) vcomp._vcomp_atomic_sub_i4
@ stub _vcomp_atomic_sub_i8
@ cdecl _vcomp_atomic_sub_r4(ptr float) vcomp._vcomp_atomic_sub_r4
@
stub
_vcomp_atomic_sub_r8
@
cdecl _vcomp_atomic_sub_r8(ptr double) vcomp.
_vcomp_atomic_sub_r8
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
@ cdecl _vcomp_atomic_xor_i4(ptr long) vcomp._vcomp_atomic_xor_i4
...
...
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