mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
9074a35b9b
* fix let prints and windows warnings * missing include for windows * windows again
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include <cassert>
|
|
#include "third-party/fmt/core.h"
|
|
#include "IRegister.h"
|
|
|
|
std::string IRegister::to_string() const {
|
|
// if (with_constraints) {
|
|
// std::string result = fmt::format("i{}-{}\n", emitter::to_string(kind), id);
|
|
// for (const auto& x : constraints) {
|
|
// result += fmt::format(" [{:3d] in {}\n", x.instr_idx,
|
|
// emitter::gRegInfo.get_info(x.desired_register).name);
|
|
// }
|
|
// return result;
|
|
// } else {
|
|
switch (reg_class) {
|
|
case RegClass::GPR_64:
|
|
return fmt::format("igpr-{}", id);
|
|
case RegClass::FLOAT:
|
|
return fmt::format("ifpr-{}", id);
|
|
case RegClass::INT_128:
|
|
return fmt::format("ii128-{}", id);
|
|
case RegClass::VECTOR_FLOAT:
|
|
return fmt::format("ivf-{}", id);
|
|
default:
|
|
assert(false);
|
|
return {};
|
|
}
|
|
}
|
|
|
|
std::string IRegConstraint::to_string() const {
|
|
if (contrain_everywhere) {
|
|
return fmt::format("[all] {} in {}", ireg.to_string(), desired_register.print());
|
|
} else {
|
|
return fmt::format("[{:3d}] {} in {}", instr_idx, ireg.to_string(), desired_register.print());
|
|
}
|
|
} |