SimdBool8x16Lib.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. namespace Js {
  7. class SIMDBool8x16Lib
  8. {
  9. public:
  10. class EntryInfo
  11. {
  12. public:
  13. // Bool8x16
  14. static FunctionInfo Bool8x16;
  15. static FunctionInfo Check;
  16. static FunctionInfo Splat;
  17. // UnaryOps
  18. static FunctionInfo Not;
  19. static FunctionInfo AllTrue;
  20. static FunctionInfo AnyTrue;
  21. // BinaryOps
  22. static FunctionInfo And;
  23. static FunctionInfo Or;
  24. static FunctionInfo Xor;
  25. //Lane access
  26. static FunctionInfo ExtractLane;
  27. static FunctionInfo ReplaceLane;
  28. };
  29. // Entry points to library
  30. // constructor
  31. static Var EntryBool8x16(RecyclableObject* function, CallInfo callInfo, ...);
  32. static Var EntryCheck(RecyclableObject* function, CallInfo callInfo, ...);
  33. static Var EntrySplat(RecyclableObject* function, CallInfo callInfo, ...);
  34. // Lane Access
  35. static Var EntryExtractLane(RecyclableObject* function, CallInfo callInfo, ...);
  36. static Var EntryReplaceLane(RecyclableObject* function, CallInfo callInfo, ...);
  37. // UnaryOps
  38. static Var EntryNot(RecyclableObject* function, CallInfo callInfo, ...);
  39. static Var EntryAllTrue(RecyclableObject* function, CallInfo callInfo, ...);
  40. static Var EntryAnyTrue(RecyclableObject* function, CallInfo callInfo, ...);
  41. // BinaryOps
  42. static Var EntryAnd(RecyclableObject* function, CallInfo callInfo, ...);
  43. static Var EntryOr(RecyclableObject* function, CallInfo callInfo, ...);
  44. static Var EntryXor(RecyclableObject* function, CallInfo callInfo, ...);
  45. // End entry points
  46. };
  47. } // namespace Js