diff --git a/vpx_ports/x86.h b/vpx_ports/x86.h
index 344a5739b09e7042dd3703d9c2fb90902b98677d..e5e97e706cf6ee72df7ca39ae6413d9cff48d942 100644
--- a/vpx_ports/x86.h
+++ b/vpx_ports/x86.h
@@ -71,11 +71,11 @@ typedef enum {
 #endif
 #else /* end __SUNPRO__ */
 #if ARCH_X86_64
-void __cpuid(int CPUInfo[4], int info_type);
-#pragma intrinsic(__cpuid)
+void __cpuidex(int CPUInfo[4], int info_type, int ecxvalue);
+#pragma intrinsic(__cpuidex)
 #define cpuid(func, func2, a, b, c, d) do {\
     int regs[4];\
-    __cpuid(regs, func, func2);
+    __cpuidex(regs, func, func2); \
     a = regs[0];  b = regs[1];  c = regs[2];  d = regs[3];\
   } while(0)
 #else