summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asmjit/test/asmjitutils.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asmjit/test/asmjitutils.h')
-rw-r--r--3rdparty/asmjit/test/asmjitutils.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/3rdparty/asmjit/test/asmjitutils.h b/3rdparty/asmjit/test/asmjitutils.h
new file mode 100644
index 00000000000..288801538af
--- /dev/null
+++ b/3rdparty/asmjit/test/asmjitutils.h
@@ -0,0 +1,60 @@
+// This file is part of AsmJit project <https://asmjit.com>
+//
+// See asmjit.h or LICENSE.md for license and copyright information
+// SPDX-License-Identifier: Zlib
+
+#ifndef ASMJITUTILS_H_INCLUDED
+#define ASMJITUTILS_H_INCLUDED
+
+#include <asmjit/core.h>
+
+namespace {
+
+ASMJIT_MAYBE_UNUSED
+static inline const char* asmjitArchAsString(asmjit::Arch arch) noexcept {
+ switch (arch) {
+ case asmjit::Arch::kX86 : return "X86";
+ case asmjit::Arch::kX64 : return "X64";
+
+ case asmjit::Arch::kRISCV32 : return "RISCV32";
+ case asmjit::Arch::kRISCV64 : return "RISCV64";
+
+ case asmjit::Arch::kARM : return "ARM";
+ case asmjit::Arch::kAArch64 : return "AArch64";
+ case asmjit::Arch::kThumb : return "Thumb";
+
+ case asmjit::Arch::kMIPS32_LE : return "MIPS_LE";
+ case asmjit::Arch::kMIPS64_LE : return "MIPS64_LE";
+
+ case asmjit::Arch::kARM_BE : return "ARM_BE";
+ case asmjit::Arch::kThumb_BE : return "Thumb_BE";
+ case asmjit::Arch::kAArch64_BE: return "AArch64_BE";
+
+ case asmjit::Arch::kMIPS32_BE : return "MIPS_BE";
+ case asmjit::Arch::kMIPS64_BE : return "MIPS64_BE";
+
+ default:
+ return "<Unknown>";
+ }
+}
+
+ASMJIT_MAYBE_UNUSED
+static inline void printIndented(const char* str, size_t indent) noexcept {
+ const char* start = str;
+ while (*str) {
+ if (*str == '\n') {
+ size_t size = (size_t)(str - start);
+ printf("%*s%.*s\n", size ? int(indent) : 0, "", int(size), start);
+ start = str + 1;
+ }
+ str++;
+ }
+
+ size_t size = (size_t)(str - start);
+ if (size)
+ printf("%*s%.*s\n", int(indent), "", int(size), start);
+}
+
+} // {anonymous}
+
+#endif // ASMJITUTILS_H_INCLUDED