mozilla-sle11.patch
changeset 568 2c74c5927ea2
parent 382 67f876aafae8
child 680 be770d3cbc02
equal deleted inserted replaced
565:f6d567a99b67 568:2c74c5927ea2
     3 https://bugzilla.mozilla.org/show_bug.cgi?id=513422
     3 https://bugzilla.mozilla.org/show_bug.cgi?id=513422
     4 
     4 
     5 diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
     5 diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
     6 --- a/xpcom/glue/SSE.cpp
     6 --- a/xpcom/glue/SSE.cpp
     7 +++ b/xpcom/glue/SSE.cpp
     7 +++ b/xpcom/glue/SSE.cpp
     8 @@ -44,26 +44,77 @@ namespace {
     8 @@ -12,26 +12,77 @@ namespace {
     9  // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
     9  // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
    10  // We can't declare these functions in the header file, however, because
    10  // We can't declare these functions in the header file, however, because
    11  // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
    11  // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
    12  // include both SSE.h and <windows.h>.
    12  // include both SSE.h and <windows.h>.
    13  
    13  
    78 +
    78 +
    79 +  _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
    79 +  _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
    80 +  return !!(unsigned(regs[reg]) & bit);
    80 +  return !!(unsigned(regs[reg]) & bit);
    81  }
    81  }
    82  
    82  
    83  #elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || defined(_M_AMD64))
    83  #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64))
    84  
    84  
    85  // MSVC 2005 or newer on x86-32 or x86-64
    85  // MSVC 2005 or newer on x86-32 or x86-64
    86  #include <intrin.h>
    86  #include <intrin.h>
    87  
    87  
    88  enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
    88  enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };