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