Skip to content

Commit

Permalink
E2K: added initial support of MCST Elbrus 2000 CPU architecture
Browse files Browse the repository at this point in the history
  • Loading branch information
r-a-sattarov committed Dec 7, 2023
1 parent 8abd28d commit 1a5b09d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/optick.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
# elif defined(__arm__) || defined(_M_ARM)
# define OPTICK_ARM (1)
# define OPTICK_32BIT (1)
# elif defined(__e2k__)
# define OPTICK_E2K (1)
# define OPTICK_64BIT (1)
# endif
#else
#error Compiler not supported
Expand Down
8 changes: 8 additions & 0 deletions src/optick_core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,8 @@ bool SwitchContextCollector::Serialize(OutputDataStream& stream)
#define CPUID(INFO, ID) __cpuid(INFO, ID)
#elif (defined(__ANDROID__) || defined(OPTICK_ARM))
// Nothing
#elif defined(OPTICK_E2K)
// Nothing
#elif defined(OPTICK_GCC)
#include <cpuid.h>
#define CPUID(INFO, ID) __cpuid(ID, INFO[0], INFO[1], INFO[2], INFO[3])
Expand Down Expand Up @@ -773,6 +775,12 @@ string GetCPUName()
#else
return "ARM 64-bit";
#endif
#elif defined(OPTICK_E2K)
#if (defined(__LCC__) && defined(__MCST__)) // MCST LCC (eLbrus Compiler Collection)
return __builtin_cpu_name(); // e.g. elbrus-e8c
#else
return "MCST Elbrus CPU";
#endif
#else
int cpuInfo[4] = { -1 };
char cpuBrandString[0x40] = { 0 };
Expand Down

0 comments on commit 1a5b09d

Please sign in to comment.