blob: d22fc88ba5f500c6f2aff2266438d8dd911a0563 [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft Corporation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#pragma once
namespace Js {
struct SIMDUint32x4Operation
{
// following are operation wrappers for SIMDUInt32x4 general implementation
// input and output are typically SIMDValue
static SIMDValue OpUint32x4(unsigned int x, unsigned int y, unsigned int z, unsigned int w);
static SIMDValue OpSplat(unsigned int x);
// conversion
static SIMDValue OpFromFloat32x4(const SIMDValue& value, bool& throws);
static SIMDValue OpFromInt32x4(const SIMDValue& value);
// Unary Ops
static SIMDValue OpShiftRightByScalar(const SIMDValue& value, int count);
static SIMDValue OpLessThan(const SIMDValue& aValue, const SIMDValue& bValue);
static SIMDValue OpLessThanOrEqual(const SIMDValue& aValue, const SIMDValue& bValue);
static SIMDValue OpGreaterThan(const SIMDValue& aValue, const SIMDValue& bValue);
static SIMDValue OpGreaterThanOrEqual(const SIMDValue& aValue, const SIMDValue& bValue);
static SIMDValue OpMin(const SIMDValue& aValue, const SIMDValue& bValue);
static SIMDValue OpMax(const SIMDValue& aValue, const SIMDValue& bValue);
};
} // namespace Js