frno7 wrote: Nice! @rickgaiser, what are your thoughts on a `-mfix-r5900` option (for the [R5900 short loop erratum](https://github.com/frno7/linux/wiki/R5900-short-loop-erratum)), implied for the R5900, but optional for MIPS I, II and III targets. GCC has it, because it allows compiling generic MIPS code (for example the precompiled [Gentoo MIPS](https://www.gentoo.org/downloads/#mips) archives made with GCC). The R5900 and all other MIPS implementations are otherwise mutually exclusive, because no other MIPS implementation can run R5900 code, and the R5900 cannot run anything (generic) triggering the erratum (unless `-mfix-r5900` is used).
Does LLVM have the `noreorder` directive for MIPS assembly, like the Gnu assembler? It would be nice if it would emit a warning (or error) if the erratum is triggered is such code as well. GAS doesn’t warn on this, unfortunately, so erratum problems in manual assembly code can slip through undetected and crash at runtime. Regarding the `AFL_EXT_5900` ELF extension, I believe @maciej-w-rozycki had some thoughts on the [R5900 processor specific ABI (psABI)](https://github.com/frno7/linux/wiki/R5900-processor-specific-ABI-(psABI)). A Linux kernel would, for example, switch from emulating the FPU in software to running FPU code in hardware. The reason being that the [FPU is not compliant](https://github.com/frno7/linux/wiki/R5900-floating-point-unit-(FPU)) with the [IEEE 754](https://en.wikipedia.org/wiki/IEEE_754) standard. Would you be able to chime in, Maciej? https://github.com/llvm/llvm-project/pull/176666 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
