configure: Adjust the xgetbv instrinsic check
authorMartin Storsjö <martin@martin.st>
Mon, 10 Sep 2012 14:35:39 +0000 (17:35 +0300)
committerMartin Storsjö <martin@martin.st>
Mon, 10 Sep 2012 16:46:06 +0000 (19:46 +0300)
The 64 bit cl.exe version 16.00.30319.01 crashes with an internal
compiler error on the current check (and thus deduces it isn't
supported, even if the actual usage in libavuil/x86/cpu.c works
fine), but by assigning the value from the intrinsic to a variable,
or returning it, it works fine.

This error is fixed in cl.exe version 16.00.40219.01.

Signed-off-by: Martin Storsjö <martin@martin.st>
configure

index 29c4317..fec7b25 100755 (executable)
--- a/configure
+++ b/configure
@@ -3029,7 +3029,7 @@ elif enabled sparc; then
 
 elif enabled x86; then
 
-    check_code ld immintrin.h "__xgetbv(0)" && enable xgetbv
+    check_code ld immintrin.h "return __xgetbv(0)" && enable xgetbv
     check_code ld intrin.h "int info[4]; __cpuid(info, 0)" && enable cpuid
     check_code ld intrin.h "__rdtsc()" && enable rdtsc
     check_code ld intrin.h "unsigned int x = __readeflags()" && enable rweflags