<div dir="ltr"><div dir="ltr"><div dir="ltr">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.<br><br>During this process, I found that Clang refused to compile some assembly code with the MIPS instructions <font face="monospace, monospace">ei</font> and <font face="monospace, monospace">di</font> (enable/disable interrupts):<div><br></div><div><div><font face="monospace, monospace">src/glue.c:32:17: error: instruction requires a CPU feature not currently enabled</font></div><div><font face="monospace, monospace">                asm volatile ("di");</font></div><div><font face="monospace, monospace">                              ^</font></div></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">Though I haven't bisected it in full, judging by this Godbolt (<a href="https://godbolt.org/z/iRVpzd">https://godbolt.org/z/iRVpzd</a>), 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.<br><br>I will try to bisect and possibly fix this bug.</font></div></div></div></div>