Commit Graph

92 Commits

Author SHA1 Message Date
Gijs Vermeulen 616e2284e0 vcomp: Implement omp_get_num_procs().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50041
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:41:15 +02:00
Alexandre Julliard 5b1c2668b2 vcomp: Fix varargs calling conventions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:31 +01:00
Paul Gofman ab89486e96 vcomp: Implement C2VectParallel().
Used by Ancient Cities.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 16:05:20 +01:00
Paul Gofman 5366f67ef0 vcomp: Change _vcomp_fork_call_wrapper() args parameter type to void **.
That is assumed in the asm implementation.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 16:05:16 +01:00
Alexandre Julliard 6083c69a3b vcomp: Make inline asm compatible with Thumb-2.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 13:25:18 +01:00
Alexandre Julliard 114d512613 vcomp/tests: Explicitly request signed chars.
Fixes a test failure on ARM.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-17 22:21:47 +01:00
Nikolay Sivov eb4c4b3504 vcomp/tests: Link to activation context API directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 13:48:44 +01:00
Alexandre Julliard 010d44a2ac vcomp: Fix signed char issues.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 15:14:35 +01:00
Alexandre Julliard 15ecb13d9c vcomp: Fix vcomp_fork() implementation on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 15:14:28 +01:00
Alexandre Julliard 451c8592b9 vcomp: Add .seh annotations for x86_64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 11:56:13 +02:00
Alexandre Julliard 5213ac7e08 vcomp: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:46:31 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Michael Stefaniuc ce2be144ea vcomp: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:38 +02:00
Michael Stefaniuc bb58a9d976 vcomp/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
André Hentschel 33a8f192b0 vcomp: Add ARM64 support.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 18:25:48 +02:00
André Hentschel 3d69e4ec49 vcomp/tests: Test more arguments with a callback.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 22:47:45 +02:00
Alistair Leslie-Hughes 311b3aded1 vcomp/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-03 15:57:45 +02:00
Sebastian Lackner b228f16c0d vcomp: Handle begin == NULL in _vcomp_for_static_init.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:19:15 +02:00
Sebastian Lackner 375e5f50a8 vcomp/tests: Use ULL macro to define 64-bit constants.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:28 +01:00
Sebastian Lackner 0c4c6d603b vcomp: Implement _vcomp_reduction_r8 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 23:15:01 +09:00
Sebastian Lackner 363d8d2140 vcomp: Implement _vcomp_reduction_r4 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 23:15:01 +09:00
Sebastian Lackner 38c29640df vcomp: Implement _vcomp_reduction_{u,i}8 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 23:15:00 +09:00
Sebastian Lackner b5f95498a9 vcomp: Implement _vcomp_reduction_{u,i}1 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 22:16:05 +09:00
Sebastian Lackner 86dea350ea vcomp: Implement _vcomp_reduction_{u,i}2 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 22:16:00 +09:00
Sebastian Lackner 96e0c994b2 vcomp: Implement _vcomp_reduction_{u,i}4 and add tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 22:15:55 +09:00
Sebastian Lackner de1ba602ef vcomp: Prefer builtin version.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 18:47:16 +09:00
Sebastian Lackner fc0ec2de7e vcomp/tests: Add tests for 8-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 19:59:30 +09:00
Sebastian Lackner c3fec9b556 vcomp: Implement 8-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 19:59:30 +09:00
Sebastian Lackner b86ed6fe15 vcomp/tests: Add tests for 16-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 11:02:33 +09:00
Sebastian Lackner 284058073d vcomp: Implement 16-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 11:02:22 +09:00
Sebastian Lackner 3fefd3aa2d vcomp/tests: Add tests for 64-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 21:50:09 +09:00
Sebastian Lackner b29c072e31 vcomp: Implement 64-bit atomic instructions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 21:49:47 +09:00
Sebastian Lackner a77e14714e vcomp/tests: Reenable architecture dependent tests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 21:49:40 +09:00
Sebastian Lackner 2964c2b34b vcomp: Use RtlIsCriticalSectionLockedByThread to check lock owner.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:47:45 +09:00
Sebastian Lackner 0410cf9cbe vcomp: Implement _vcomp_get_thread_num.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-07 21:28:49 +09:00
Sebastian Lackner 146df7dab1 vcomp: Implement OpenMP regular locking functions.
Native OpenMP also immediately terminates the process (without
exception) when calling omp_set_lock while holding the lock from the
same thread.
2015-08-18 14:30:30 +09:00
Sebastian Lackner f212a137a6 vcomp: Implement OpenMP nested locking functions.
The test marked with todo_wine suggests that native OpenMP might use a
separate counter for the nesting level. However, to implement the owner
checks required for regular locks we need to access the critical section
private members anyway.
2015-08-18 14:29:53 +09:00
Sebastian Lackner 037a079fdf vcomp: Export omp_init_nest_lock and omp_destroy_nest_lock. 2015-08-18 14:29:47 +09:00
Sebastian Lackner a283d14b3d vcomp: Implement omp_init_lock and omp_destroy_lock. 2015-08-18 14:29:39 +09:00
Sebastian Lackner ce18a73304 vcomp: Implement stub for _vcomp_flush and add tests. 2015-08-18 14:29:31 +09:00
André Hentschel 3ad5a07856 vcomp: Add ARM support. 2015-08-17 16:58:47 +09:00
André Hentschel 15495d19ef vcomp/tests: Make float test i386 only.
amd64 and arm don't pass floats on the stack
2015-08-17 16:58:33 +09:00
André Hentschel e40970bce7 vcomp/tests: Add ARM and ARM64 arch strings. 2015-08-17 16:58:29 +09:00
André Hentschel f0b32b8d57 vcomp/tests: Comment out architecture dependent tests (shift count overflow).
Shifting more than variable width adds zeros on ARM to fill up.
2015-08-17 16:58:18 +09:00
Francois Gouget 7734de65c7 vcomp/tests: Make my_for_static_init() static. 2015-08-07 23:50:19 +09:00
Sebastian Lackner 7fd7bcf00e vcomp/tests: Add tests for _vcomp_enter_critsect and _vcomp_leave_critsect. 2015-08-07 16:11:53 +09:00
Sebastian Lackner b0e4fd05e5 vcomp: Implement _vcomp_enter_critsect and _vcomp_leave_critsect. 2015-08-07 16:11:46 +09:00
Sebastian Lackner 89b383740c vcomp/tests: Add tests for _vcomp_single_begin and _vcomp_single_end.
Yes, its intentional that the call to p_vcomp_single_end() is after the if-block.
Somehow MS made a difference here between the master and the single directive...
2015-08-07 16:10:04 +09:00
Sebastian Lackner ea188ea054 vcomp: Implement _vcomp_single_begin and _vcomp_single_end. 2015-08-07 16:10:00 +09:00
Sebastian Lackner 0ff9a68af3 vcomp/tests: Add tests for _vcomp_master_begin and _vcomp_master_end. 2015-08-07 16:09:45 +09:00