| 123456789101112131415161718192021222324252627282930313233343536373839 |
- //-------------------------------------------------------------------------------------------------------
- // 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
|