[llvm-dev] [MIPS] MIPS 1 EI/DI instruction regression since 3.9

Dan Ravensloft via llvm-dev llvm-dev at lists.llvm.org
Sat Oct 27 06:42:15 PDT 2018


So, I have been working on Clang for the PS2, and recently decided a
different approach of pretending the very quirky EE is a MIPS II CPU.

During this process, I found that Clang refused to compile some assembly
code with the MIPS instructions ei and di (enable/disable interrupts):

src/glue.c:32:17: error: instruction requires a CPU feature not currently
enabled
                asm volatile ("di");
                              ^

Though I haven't bisected it in full, judging by this Godbolt (
https://godbolt.org/z/iRVpzd), these instructions have been feature-locked
(incorrectly, as it is a MIPS 1 instruction) ever since Clang 3.9 (3.8.x
works okay). It's worth noting that the instructions work fine with
MIPS32r2 and above.

I will try to bisect and possibly fix this bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181027/dd077d7e/attachment.html>


More information about the llvm-dev mailing list