#include <iostream>
#include <string>

#include <ipu_arch_info/ipuArchInfo.h>

int main() {
  const std::string architecture = "ipu21";
  const auto &arch = ipuArchInfoByName(architecture);
  const auto print = [](const auto &constant) {
    std::cout << constant.name << '=' << constant.value() << '\n';
  };
  print(arch.TEXCH_SYNCZONE_RECV);
  print(arch.TEXCH_SYNCZONE_ANS);
  print(arch.TEXCH_SYNCZONE_LOCAL);
  print(arch.TEXCH_SYNCZONE_INTERNAL);
  print(arch.TEXCH_SYNCZONE_INTERNAL0);
  print(arch.TEXCH_SYNCZONE_EXTERNAL0_SLV);
  print(arch.TEXCH_SYNCZONE_EXTERNAL1_SLV);
  print(arch.TEXCH_SYNCZONE_EXTERNAL2_SLV);
  print(arch.TEXCH_SYNCZONE_EXTERNAL3_SLV);
  print(arch.TEXCH_SYNCZONE_EXTERNAL0_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL1_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL2_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL3_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL4_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL5_MSR);
  print(arch.TEXCH_SYNCZONE_EXTERNAL4_SLV);
  print(arch.TEXCH_SYNCZONE_EXTERNAL5_SLV);
}
