| Index: media/base/cpu_features_x86.cc
|
| diff --git a/media/base/cpu_features_x86.cc b/media/base/cpu_features_x86.cc
|
| deleted file mode 100644
|
| index d1c70c5f81c769c5704d882f8b70b78599f364b8..0000000000000000000000000000000000000000
|
| --- a/media/base/cpu_features_x86.cc
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// Code in this file is taked from
|
| -// third_party/skia/src/opts/opts_check_SSE2.cpp.
|
| -
|
| -// Note that this file cannot be compiled with -msse2 in gcc.
|
| -
|
| -#include "build/build_config.h"
|
| -#include "media/base/cpu_features.h"
|
| -
|
| -namespace media {
|
| -
|
| -#ifdef _MSC_VER
|
| -static inline void getcpuid(int info_type, int info[4]) {
|
| - __asm {
|
| - mov eax, [info_type]
|
| - cpuid
|
| - mov edi, [info]
|
| - mov [edi], eax
|
| - mov [edi+4], ebx
|
| - mov [edi+8], ecx
|
| - mov [edi+12], edx
|
| - }
|
| -}
|
| -#else
|
| -static inline void getcpuid(int info_type, int info[4]) {
|
| - // We save and restore ebx, so this code can be compatible with -fPIC
|
| -#if defined(__i386__)
|
| - asm volatile (
|
| - "pushl %%ebx \n\t"
|
| - "cpuid \n\t"
|
| - "movl %%ebx, %1 \n\t"
|
| - "popl %%ebx \n\t"
|
| - : "=a"(info[0]), "=r"(info[1]), "=c"(info[2]), "=d"(info[3])
|
| - : "a"(info_type)
|
| - );
|
| -#else
|
| - // We can use cpuid instruction without pushing ebx on gcc x86-64 because it
|
| - // does not use ebx (or rbx) as a GOT register.
|
| - asm volatile (
|
| - "cpuid \n\t"
|
| - : "=a"(info[0]), "=r"(info[1]), "=c"(info[2]), "=d"(info[3])
|
| - : "a"(info_type)
|
| - : "%rbx"
|
| - );
|
| -#endif
|
| -}
|
| -#endif
|
| -
|
| -bool hasMMX() {
|
| -#if defined(ARCH_CPU_X86_64)
|
| - // Every X86_64 processor has MMX.
|
| - return true;
|
| -#else
|
| - int cpu_info[4] = { 0 };
|
| - getcpuid(1, cpu_info);
|
| - return (cpu_info[3] & (1<<23)) != 0;
|
| -#endif
|
| -}
|
| -
|
| -bool hasSSE() {
|
| -#if defined(ARCH_CPU_X86_64)
|
| - // Every X86_64 processor has SSE.
|
| - return true;
|
| -#else
|
| - int cpu_info[4] = { 0 };
|
| - getcpuid(1, cpu_info);
|
| - return (cpu_info[3] & (1<<25)) != 0;
|
| -#endif
|
| -}
|
| -
|
| -bool hasSSE2() {
|
| -#if defined(ARCH_CPU_X86_64)
|
| - // All X86_64 machines have SSE2, so don't even bother checking.
|
| - return true;
|
| -#else
|
| - int cpu_info[4] = { 0 };
|
| - getcpuid(1, cpu_info);
|
| - return (cpu_info[3] & (1<<26)) != 0;
|
| -#endif
|
| -}
|
| -
|
| -bool hasSSSE3() {
|
| - int cpu_info[4] = { 0 };
|
| - getcpuid(1, cpu_info);
|
| - return (cpu_info[3] & 0x04000000) != 0 && (cpu_info[2] & 0x00000001) != 0 &&
|
| - (cpu_info[2] & 0x00000200) != 0;
|
| -}
|
| -
|
| -} // namespace media
|
|
|