diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u_cpu_detect.c
index 5d9db59..c6a81fb 100644
--- a/src/gallium/auxiliary/util/u_cpu_detect.c
+++ b/src/gallium/auxiliary/util/u_cpu_detect.c
@@ -282,7 +282,7 @@ static INLINE boolean sse2_has_daz(void)
 
    fxarea.mxcsr_mask = 0;
 #if (defined(PIPE_CC_GCC) || defined(PIPE_CC_SUNPRO))
-   __asm __volatile ("fxsave %0" : "+m" (fxarea));
+   __asm __volatile ("fxsave %0" : "=m" (fxarea) : "m" (fxarea));
 #elif (defined(PIPE_CC_MSVC) && _MSC_VER >= 1700) || defined(PIPE_CC_ICL)
    /* 1700 = Visual Studio 2012 */
    _fxsave(&fxarea);