mozglue/build/ppc.h
author Mozilla Releng Treescript <release+treescript@mozilla.org>
Fri, 28 Jan 2022 19:05:43 +0000
changeset 605836 32a2d1ce4bab2979c3be01244f100f000ca77d8e
parent 489125 252643ff91c5b12225350e8c02d45e00656f8bb6
permissions -rw-r--r--
no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD cy -> 0eecc3c5396a7ce0ae207243a6879f559761b7a3 de -> 9220d3a92bcdc0287d9fedf94dfff7053058ccf1 fr -> 43ef41efa9e6ff87d6b4d0672d44c6d0d02f078c hsb -> 5d446c2cb85ab7fc253ec1b4fb6ed55438b0ef0f hye -> c5edf78a6f636234bb8bba68726a237d4ff9c397 it -> aa7f02187d8cecb017436efd84bf96faf8fbf63c nl -> ce81040d4aa33f478a2b20a5762f720c94b34ae6 sl -> dc3ce6db84b4e461483b2f3f25b0c627b69e446c uk -> 3deee0c202358c3bec34a0d3975ef764abf223a4

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* compile-time and runtime tests for whether to use Power ISA-specific
   extensions */

#ifndef mozilla_ppc_h_
#define mozilla_ppc_h_

// for definition of MFBT_DATA
#include "mozilla/Types.h"

namespace mozilla {
namespace ppc_private {
extern bool MFBT_DATA vmx_enabled;
extern bool MFBT_DATA vsx_enabled;
extern bool MFBT_DATA vsx3_enabled;
}  // namespace ppc_private

inline bool supports_vmx() {
#ifdef __powerpc__
  return ppc_private::vmx_enabled;
#else
  return false;
#endif
}

inline bool supports_vsx() {
#ifdef __powerpc__
  return ppc_private::vsx_enabled;
#else
  return false;
#endif
}

inline bool supports_vsx3() {
#ifdef __powerpc__
  return ppc_private::vsx3_enabled;
#else
  return false;
#endif
}

}  // namespace mozilla

#endif /* !defined(mozilla_ppc_h_) */