Mesa (master): util: Add cpuid for Solaris Studio.

Vinson Lee vlee at kemper.freedesktop.org
Mon Sep 3 19:29:08 UTC 2012


Module: Mesa
Branch: master
Commit: 19b3910bd5dc99c72aa9771d8715dd67897a0810
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=19b3910bd5dc99c72aa9771d8715dd67897a0810

Author: Vinson Lee <vlee at freedesktop.org>
Date:   Fri Aug 31 23:30:35 2012 -0700

util: Add cpuid for Solaris Studio.

Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/util/u_cpu_detect.c |    4 ++--
 src/gallium/include/pipe/p_config.h       |    4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u_cpu_detect.c
index e0c8f73..945f0b0 100644
--- a/src/gallium/auxiliary/util/u_cpu_detect.c
+++ b/src/gallium/auxiliary/util/u_cpu_detect.c
@@ -182,7 +182,7 @@ static int has_cpuid(void)
 static INLINE void
 cpuid(uint32_t ax, uint32_t *p)
 {
-#if defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86)
+#if (defined(PIPE_CC_GCC) || defined(PIPE_CC_SUNPRO)) && defined(PIPE_ARCH_X86)
    __asm __volatile (
      "xchgl %%ebx, %1\n\t"
      "cpuid\n\t"
@@ -193,7 +193,7 @@ cpuid(uint32_t ax, uint32_t *p)
        "=d" (p[3])
      : "0" (ax)
    );
-#elif defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86_64)
+#elif (defined(PIPE_CC_GCC) || defined(PIPE_CC_SUNPRO)) && defined(PIPE_ARCH_X86_64)
    __asm __volatile (
      "cpuid\n\t"
      : "=a" (p[0]),
diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
index d63eccd..9a09cee 100644
--- a/src/gallium/include/pipe/p_config.h
+++ b/src/gallium/include/pipe/p_config.h
@@ -73,6 +73,10 @@
 #define PIPE_CC_ICL
 #endif
 
+#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+#define PIPE_CC_SUNPRO
+#endif
+
 
 /*
  * Processor architecture




More information about the mesa-commit mailing list