On 2 Feb 2021, at 19:59, Ханов Артур via llvm-dev <llvm-dev at
lists.llvm.org> wrote:>
> Is it possible to compile object files for Mips processors with O64 calling
convention ?
I don’t believe so. As I recall, o64 is not a ‘real’ ABI, it is o32 extended
for 64-bit machines. The official MIPS ABIs are o32 (known at ‘the MIPS ABI’
prior to MIPS III), n64 (the LP64 MIPS III and later ABI) and n32 (the ILP32
MIPS III and later ABI). If you want to add o64 support to the MIPS back end,
it’s probably not tremendously difficult. There were a few places where the ABI
and the register size were conflated, but I think they’re mostly fixed: you’d
just need to look at the places where the back end does something o32-specific,
do the same thing but with the 64-bit register variants.
David