Skip to content

src/cbang/os lacks PowerPC cpu support (Linux, macOS) #139

Description

@barracuda156

Apparently no PowerPC support at all there, not even for Linux. Maybe possible to add it or borrow from OpenBLAS, for example (which works, AFAIK, including on macOS PowePC)?

P. S. Also, on an older macOS arm64 file does not compile due to some missing defines (but I guess it can be included conditionally: we do not need anything arm64 on a powerpc anyway):

src/cbang/os/CPURegsAArch64.cpp: In function 'uint32_t {anonymous}::cpu_part()':
src/cbang/os/CPURegsAArch64.cpp:80:32: error: 'CPUSUBFAMILY_ARM_HG' was not declared in this scope; did you mean 'CPUFAMILY_ARM_11'?
   80 |     bool arm_hg = subfamily == CPUSUBFAMILY_ARM_HG;
      |                                ^~~~~~~~~~~~~~~~~~~
      |                                CPUFAMILY_ARM_11
src/cbang/os/CPURegsAArch64.cpp:82:10: error: 'CPUFAMILY_ARM_CYCLONE' was not declared in this scope; did you mean 'CPUFAMILY_ARM_XSCALE'?
   82 |     case CPUFAMILY_ARM_CYCLONE:            return 1;                // A7
      |          ^~~~~~~~~~~~~~~~~~~~~
      |          CPUFAMILY_ARM_XSCALE
src/cbang/os/CPURegsAArch64.cpp:83:10: error: 'CPUFAMILY_ARM_TYPHOON' was not declared in this scope; did you mean 'CPUFAMILY_ARM_XSCALE'?
   83 |     case CPUFAMILY_ARM_TYPHOON:            return arm_hg ? 3 : 2;   // A8X :A8
      |          ^~~~~~~~~~~~~~~~~~~~~
      |          CPUFAMILY_ARM_XSCALE
src/cbang/os/CPURegsAArch64.cpp:84:10: error: 'CPUFAMILY_ARM_TWISTER' was not declared in this scope; did you mean 'CPUFAMILY_ARM_XSCALE'?
   84 |     case CPUFAMILY_ARM_TWISTER:            return arm_hg ? 5 : 4;   // A9X :a9
      |          ^~~~~~~~~~~~~~~~~~~~~
      |          CPUFAMILY_ARM_XSCALE
src/cbang/os/CPURegsAArch64.cpp:85:10: error: 'CPUFAMILY_ARM_HURRICANE' was not declared in this scope; did you mean 'CPUFAMILY_ARM_XSCALE'?
   85 |     case CPUFAMILY_ARM_HURRICANE:          return arm_hg ? 7 : 6;   // A10X:A10
      |          ^~~~~~~~~~~~~~~~~~~~~~~
      |          CPUFAMILY_ARM_XSCALE
src/cbang/os/CPURegsAArch64.cpp:86:10: error: 'CPUFAMILY_ARM_MONSOON_MISTRAL' was not declared in this scope
   86 |     case CPUFAMILY_ARM_MONSOON_MISTRAL:    return 9;                // A11
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/cbang/os/CPURegsAArch64.cpp:87:10: error: 'CPUFAMILY_ARM_VORTEX_TEMPEST' was not declared in this scope
   87 |     case CPUFAMILY_ARM_VORTEX_TEMPEST:     return arm_hg ? 17 : 12; // A12X:A12
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/cbang/os/CPURegsAArch64.cpp:88:10: error: 'CPUFAMILY_ARM_LIGHTNING_THUNDER' was not declared in this scope
   88 |     case CPUFAMILY_ARM_LIGHTNING_THUNDER:  return 19;               // A13
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/cbang/os/CPURegsAArch64.cpp:89:10: error: 'CPUFAMILY_ARM_FIRESTORM_ICESTORM' was not declared in this scope
   89 |     case CPUFAMILY_ARM_FIRESTORM_ICESTORM: return arm_hg ? 35 : 33; // M1  :A14
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/cbang/os/CPURegsAArch64.cpp: In constructor 'cb::CPURegsAArch64::CPURegsAArch64()':
src/cbang/os/CPURegsAArch64.cpp:197:15: error: 'CPU_TYPE_ARM64' was not declared in this scope; did you mean 'CPU_TYPE_ARM'?
  197 |   if (type != CPU_TYPE_ARM64)
      |               ^~~~~~~~~~~~~~
      |               CPU_TYPE_ARM
/opt/local/bin/g++-mp-13 -o build/cbang/os/Directory.o -c -faligned-new -std=c++17 -fsigned-char -I/opt/local/libexec/boost/1.76/include -Os -arch ppc -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -Os -arch ppc -fPIC -DNDEBUG -D_REENTRANT -D__APPLE__ -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/Directory.cpp
scons: *** [build/cbang/os/CPURegsAArch64.o] Error 1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions