diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-23 20:16:02 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 20:16:02 -0500 |
| commit | 85f89ee4bb137100cbeffcbc10168eb8ea52e6cc (patch) | |
| tree | f6e2063319ceaaa02f523fb5c289e4f37411a2df /dev/lib/simd/simd.hpp | |
| parent | 9a70f32ddaec0eef99efbf7ff5597c2adf08f45a (diff) | |
| parent | 65a8349aa5526d071b18cd4d42586c46faaa3823 (diff) | |
Merge pull request #18 from amlel-el-mahrouss/developv1.0.48
OCL v1.0.48
Diffstat (limited to 'dev/lib/simd/simd.hpp')
| -rw-r--r-- | dev/lib/simd/simd.hpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/dev/lib/simd/simd.hpp b/dev/lib/simd/simd.hpp deleted file mode 100644 index 239e512..0000000 --- a/dev/lib/simd/simd.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * File: simd/simd.hpp - * Purpose: SIMD C++ library. - * Author: Amlal El Mahrouss (amlal@nekernel.org) - * Copyright 2025, Amlal El Mahrouss, licensed under the BSL 1.0 license. - */ - -#pragma once - -#include <lib/core/includes.hpp> - -/// @author Amlal El Mahrouss -/// @brief Basic SIMD processor. - -namespace ocl::simd -{ - template <typename backend_type> - class real_type - { - private: - backend_type backend_; - - enum opcode - { - bad = 0, - add, - mul, - div, - invalid = 0xfff, - }; - - public: - real_type() = default; - virtual ~real_type() = default; - - real_type& operator=(const real_type&) = delete; - real_type(const real_type&) = delete; - - typename backend_type::register_type& call(const opcode& op, typename backend_type::register_type& lhs, typename backend_type::register_type& rhs) - { - switch (op) - { - case add: - return backend_.add(lhs, rhs); - case mul: - return backend_.mul(lhs, rhs); - case div: - return backend_.div(lhs, rhs); - default: - break; - } - - return backend_.is_bad(); - } - - std::basic_string<char> isa() - { - return backend_.isa(); - } - }; -} // namespace ocl::simd |
