Commit 9165dbbf authored by Thomas Faber's avatar Thomas Faber Committed by Alexandre Julliard

kernel32/tests: Run test_thread_fpu_cw on x86 MSVC builds.

parent 615ef985
...@@ -1408,16 +1408,25 @@ static void test_ThreadErrorMode(void) ...@@ -1408,16 +1408,25 @@ static void test_ThreadErrorMode(void)
pSetThreadErrorMode(oldmode, NULL); pSetThreadErrorMode(oldmode, NULL);
} }
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #if (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) || (defined(_MSC_VER) && defined(__i386__))
static inline void set_fpu_cw(WORD cw) static inline void set_fpu_cw(WORD cw)
{ {
#ifdef _MSC_VER
__asm { fnclex }
__asm { fldcw [cw] }
#else
__asm__ volatile ("fnclex; fldcw %0" : : "m" (cw)); __asm__ volatile ("fnclex; fldcw %0" : : "m" (cw));
#endif
} }
static inline WORD get_fpu_cw(void) static inline WORD get_fpu_cw(void)
{ {
WORD cw = 0; WORD cw = 0;
#ifdef _MSC_VER
__asm { fnstcw [cw] }
#else
__asm__ volatile ("fnstcw %0" : "=m" (cw)); __asm__ volatile ("fnstcw %0" : "=m" (cw));
#endif
return cw; return cw;
} }
...@@ -1888,7 +1897,7 @@ START_TEST(thread) ...@@ -1888,7 +1897,7 @@ START_TEST(thread)
test_RegisterWaitForSingleObject(); test_RegisterWaitForSingleObject();
test_TLS(); test_TLS();
test_ThreadErrorMode(); test_ThreadErrorMode();
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #if (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) || (defined(_MSC_VER) && defined(__i386__))
test_thread_fpu_cw(); test_thread_fpu_cw();
#endif #endif
test_thread_actctx(); test_thread_actctx();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment