in lib/llvm/Support/Triple.cpp [1321:1383]
Triple Triple::get64BitArchVariant() const {
Triple T(*this);
switch (getArch()) {
case Triple::UnknownArch:
case Triple::arc:
case Triple::avr:
case Triple::hexagon:
case Triple::kalimba:
case Triple::lanai:
case Triple::msp430:
case Triple::nios2:
case Triple::r600:
case Triple::tce:
case Triple::tcele:
case Triple::xcore:
case Triple::sparcel:
case Triple::shave:
T.setArch(UnknownArch);
break;
case Triple::aarch64:
case Triple::aarch64_be:
case Triple::bpfel:
case Triple::bpfeb:
case Triple::le64:
case Triple::amdil64:
case Triple::amdgcn:
case Triple::hsail64:
case Triple::spir64:
case Triple::mips64:
case Triple::mips64el:
case Triple::nvptx64:
case Triple::ppc64:
case Triple::ppc64le:
case Triple::riscv64:
case Triple::sparcv9:
case Triple::systemz:
case Triple::x86_64:
case Triple::wasm64:
case Triple::renderscript64:
// Already 64-bit.
break;
case Triple::arm: T.setArch(Triple::aarch64); break;
case Triple::armeb: T.setArch(Triple::aarch64_be); break;
case Triple::le32: T.setArch(Triple::le64); break;
case Triple::mips: T.setArch(Triple::mips64); break;
case Triple::mipsel: T.setArch(Triple::mips64el); break;
case Triple::nvptx: T.setArch(Triple::nvptx64); break;
case Triple::ppc: T.setArch(Triple::ppc64); break;
case Triple::sparc: T.setArch(Triple::sparcv9); break;
case Triple::riscv32: T.setArch(Triple::riscv64); break;
case Triple::x86: T.setArch(Triple::x86_64); break;
case Triple::amdil: T.setArch(Triple::amdil64); break;
case Triple::hsail: T.setArch(Triple::hsail64); break;
case Triple::spir: T.setArch(Triple::spir64); break;
case Triple::thumb: T.setArch(Triple::aarch64); break;
case Triple::thumbeb: T.setArch(Triple::aarch64_be); break;
case Triple::wasm32: T.setArch(Triple::wasm64); break;
case Triple::renderscript32: T.setArch(Triple::renderscript64); break;
}
return T;
}