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
2a0890fe
Commit
2a0890fe
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 float functions.
parent
c68a63e4
Hide 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 @
2a0890fe
...
...
@@ -286,6 +286,50 @@ void CDECL _vcomp_atomic_xor_i4(int *dest, int val)
do
old
=
*
dest
;
while
(
interlocked_cmpxchg
(
dest
,
old
^
val
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_add_r4
(
float
*
dest
,
float
val
)
{
int
old
,
new
;
do
{
old
=
*
(
int
*
)
dest
;
*
(
float
*
)
&
new
=
*
(
float
*
)
&
old
+
val
;
}
while
(
interlocked_cmpxchg
((
int
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_div_r4
(
float
*
dest
,
float
val
)
{
int
old
,
new
;
do
{
old
=
*
(
int
*
)
dest
;
*
(
float
*
)
&
new
=
*
(
float
*
)
&
old
/
val
;
}
while
(
interlocked_cmpxchg
((
int
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_mul_r4
(
float
*
dest
,
float
val
)
{
int
old
,
new
;
do
{
old
=
*
(
int
*
)
dest
;
*
(
float
*
)
&
new
=
*
(
float
*
)
&
old
*
val
;
}
while
(
interlocked_cmpxchg
((
int
*
)
dest
,
new
,
old
)
!=
old
);
}
void
CDECL
_vcomp_atomic_sub_r4
(
float
*
dest
,
float
val
)
{
int
old
,
new
;
do
{
old
=
*
(
int
*
)
dest
;
*
(
float
*
)
&
new
=
*
(
float
*
)
&
old
-
val
;
}
while
(
interlocked_cmpxchg
((
int
*
)
dest
,
new
,
old
)
!=
old
);
}
int
CDECL
omp_get_dynamic
(
void
)
{
TRACE
(
"stub
\n
"
);
...
...
dlls/vcomp/vcomp.spec
View file @
2a0890fe
...
...
@@ -2,7 +2,7 @@
@ stub _vcomp_atomic_add_i2
@ cdecl _vcomp_atomic_add_i4(ptr long)
@ stub _vcomp_atomic_add_i8
@
stub _vcomp_atomic_add_r4
@
cdecl _vcomp_atomic_add_r4(ptr float)
@ stub _vcomp_atomic_add_r8
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
...
...
@@ -12,7 +12,7 @@
@ stub _vcomp_atomic_div_i2
@ cdecl _vcomp_atomic_div_i4(ptr long)
@ stub _vcomp_atomic_div_i8
@
stub _vcomp_atomic_div_r4
@
cdecl _vcomp_atomic_div_r4(ptr float)
@ stub _vcomp_atomic_div_r8
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
...
...
@@ -22,7 +22,7 @@
@ stub _vcomp_atomic_mul_i2
@ cdecl _vcomp_atomic_mul_i4(ptr long)
@ stub _vcomp_atomic_mul_i8
@
stub _vcomp_atomic_mul_r4
@
cdecl _vcomp_atomic_mul_r4(ptr float)
@ stub _vcomp_atomic_mul_r8
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
...
...
@@ -44,7 +44,7 @@
@ stub _vcomp_atomic_sub_i2
@ cdecl _vcomp_atomic_sub_i4(ptr long)
@ stub _vcomp_atomic_sub_i8
@
stub _vcomp_atomic_sub_r4
@
cdecl _vcomp_atomic_sub_r4(ptr float)
@ stub _vcomp_atomic_sub_r8
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
...
...
dlls/vcomp100/vcomp100.spec
View file @
2a0890fe
...
...
@@ -2,7 +2,7 @@
@ stub _vcomp_atomic_add_i2
@ cdecl _vcomp_atomic_add_i4(ptr long) vcomp._vcomp_atomic_add_i4
@ stub _vcomp_atomic_add_i8
@
stub
_vcomp_atomic_add_r4
@
cdecl _vcomp_atomic_add_r4(ptr float) vcomp.
_vcomp_atomic_add_r4
@ stub _vcomp_atomic_add_r8
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
...
...
@@ -12,7 +12,7 @@
@ stub _vcomp_atomic_div_i2
@ cdecl _vcomp_atomic_div_i4(ptr long) vcomp._vcomp_atomic_div_i4
@ stub _vcomp_atomic_div_i8
@
stub
_vcomp_atomic_div_r4
@
cdecl _vcomp_atomic_div_r4(ptr float) vcomp.
_vcomp_atomic_div_r4
@ stub _vcomp_atomic_div_r8
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
...
...
@@ -22,7 +22,7 @@
@ stub _vcomp_atomic_mul_i2
@ cdecl _vcomp_atomic_mul_i4(ptr long) vcomp._vcomp_atomic_mul_i4
@ stub _vcomp_atomic_mul_i8
@
stub
_vcomp_atomic_mul_r4
@
cdecl _vcomp_atomic_mul_r4(ptr float) vcomp.
_vcomp_atomic_mul_r4
@ stub _vcomp_atomic_mul_r8
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
...
...
@@ -44,7 +44,7 @@
@ stub _vcomp_atomic_sub_i2
@ cdecl _vcomp_atomic_sub_i4(ptr long) vcomp._vcomp_atomic_sub_i4
@ stub _vcomp_atomic_sub_i8
@
stub
_vcomp_atomic_sub_r4
@
cdecl _vcomp_atomic_sub_r4(ptr float) vcomp.
_vcomp_atomic_sub_r4
@ stub _vcomp_atomic_sub_r8
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
...
...
dlls/vcomp90/vcomp90.spec
View file @
2a0890fe
...
...
@@ -2,7 +2,7 @@
@ stub _vcomp_atomic_add_i2
@ cdecl _vcomp_atomic_add_i4(ptr long) vcomp._vcomp_atomic_add_i4
@ stub _vcomp_atomic_add_i8
@
stub
_vcomp_atomic_add_r4
@
cdecl _vcomp_atomic_add_r4(ptr float) vcomp.
_vcomp_atomic_add_r4
@ stub _vcomp_atomic_add_r8
@ stub _vcomp_atomic_and_i1
@ stub _vcomp_atomic_and_i2
...
...
@@ -12,7 +12,7 @@
@ stub _vcomp_atomic_div_i2
@ cdecl _vcomp_atomic_div_i4(ptr long) vcomp._vcomp_atomic_div_i4
@ stub _vcomp_atomic_div_i8
@
stub
_vcomp_atomic_div_r4
@
cdecl _vcomp_atomic_div_r4(ptr float) vcomp.
_vcomp_atomic_div_r4
@ stub _vcomp_atomic_div_r8
@ stub _vcomp_atomic_div_ui1
@ stub _vcomp_atomic_div_ui2
...
...
@@ -22,7 +22,7 @@
@ stub _vcomp_atomic_mul_i2
@ cdecl _vcomp_atomic_mul_i4(ptr long) vcomp._vcomp_atomic_mul_i4
@ stub _vcomp_atomic_mul_i8
@
stub
_vcomp_atomic_mul_r4
@
cdecl _vcomp_atomic_mul_r4(ptr float) vcomp.
_vcomp_atomic_mul_r4
@ stub _vcomp_atomic_mul_r8
@ stub _vcomp_atomic_or_i1
@ stub _vcomp_atomic_or_i2
...
...
@@ -44,7 +44,7 @@
@ stub _vcomp_atomic_sub_i2
@ cdecl _vcomp_atomic_sub_i4(ptr long) vcomp._vcomp_atomic_sub_i4
@ stub _vcomp_atomic_sub_i8
@
stub
_vcomp_atomic_sub_r4
@
cdecl _vcomp_atomic_sub_r4(ptr float) vcomp.
_vcomp_atomic_sub_r4
@ stub _vcomp_atomic_sub_r8
@ stub _vcomp_atomic_xor_i1
@ stub _vcomp_atomic_xor_i2
...
...
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