RESOLVED WONTFIX 191258
[JSC][MIPS] JIT support does not work on MIPS R6
https://bugs.webkit.org/show_bug.cgi?id=191258
Summary [JSC][MIPS] JIT support does not work on MIPS R6
Adrian Perez
Reported 2018-11-05 05:33:17 PST
Created attachment 353853 [details] Minimal Buildroot configuration to trigger the issue Currently it is not possible to even build JIT support on MIPS R6 due to the offline assembler using some instructions which have removed in R6 (like “addi” and “movz”). We would need to generate slightly different code in this case (e.g. use “seleqz/selnez” in place of “movz”), and alse make sure that the JIT generates code accordingly for MIPS R6. I am attaching a minimal Buildroot configuration which builds WebKitGTK+ 2.22.3 and causes this issue. It has been tested with a Git checkout of Buildroot at commit 435613ef29. ---- Error message: ---- [ 52%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o /tmp/ccqrsIMe.s: Assembler messages: /tmp/ccqrsIMe.s:2841: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v1,$t8,$t7' /tmp/ccqrsIMe.s:2847: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $t2,$t8,$t7' /tmp/ccqrsIMe.s:2852: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v1,$t7,$t8' /tmp/ccqrsIMe.s:2887: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movn $v1,$t7,$t8' /tmp/ccqrsIMe.s:2893: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movn $t2,$t7,$t8' /tmp/ccqrsIMe.s:2898: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movn $v1,$t8,$t7' /tmp/ccqrsIMe.s:2961: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v0,$t7,$t8' /tmp/ccqrsIMe.s:3032: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movn $v0,$t8,$t7' /tmp/ccqrsIMe.s:3616: Error: opcode not supported on this processor: mips32r6 (mips32r6) `mult $v1,$t3' /tmp/ccqrsIMe.s:3617: Error: opcode not supported on this processor: mips32r6 (mips32r6) `mflo $t3' /tmp/ccqrsIMe.s:3618: Error: opcode not supported on this processor: mips32r6 (mips32r6) `mfhi $t8' /tmp/ccqrsIMe.s:3865: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.eq.d $f18,$f2' /tmp/ccqrsIMe.s:3866: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_binaryOpCustomStore__integerOperationAndStore__notInt' /tmp/ccqrsIMe.s:4403: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v0,$t7,$t8' /tmp/ccqrsIMe.s:4456: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $t3,$t7,$t8' /tmp/ccqrsIMe.s:4494: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $t3,$t7,$t8' /tmp/ccqrsIMe.s:4520: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v1,$t7,$t8' /tmp/ccqrsIMe.s:4550: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v0,$t8,$t7' /tmp/ccqrsIMe.s:4621: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v1,$t7,$t8' /tmp/ccqrsIMe.s:5352: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.eq.d $f0,$f0' /tmp/ccqrsIMe.s:5353: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_opGetByValSlow' /tmp/ccqrsIMe.s:5585: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.eq.d $f0,$f0' /tmp/ccqrsIMe.s:5586: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_putByVal__opPutByValSlow' /tmp/ccqrsIMe.s:5894: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.eq.d $f0,$f0' /tmp/ccqrsIMe.s:5895: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_48_putByVal__opPutByValSlow' /tmp/ccqrsIMe.s:8216: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movz $v0,$t7,$t8' /tmp/ccqrsIMe.s:8280: Error: opcode not supported on this processor: mips32r6 (mips32r6) `movn $v0,$t8,$t7' /tmp/ccqrsIMe.s:8765: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.olt.d $f0,$f2' /tmp/ccqrsIMe.s:8766: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_compareJump__jumpTarget' /tmp/ccqrsIMe.s:8778: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.olt.d $f0,$f2' /tmp/ccqrsIMe.s:8779: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_compareJump__jumpTarget' /tmp/ccqrsIMe.s:8856: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.olt.d $f0,$f2' /tmp/ccqrsIMe.s:8857: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_68_compareJump__jumpTarget' /tmp/ccqrsIMe.s:8869: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.olt.d $f0,$f2' /tmp/ccqrsIMe.s:8870: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_68_compareJump__jumpTarget' /tmp/ccqrsIMe.s:8947: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ule.d $f0,$f2' /tmp/ccqrsIMe.s:8948: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_69_compareJump__jumpTarget' /tmp/ccqrsIMe.s:8960: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ule.d $f0,$f2' /tmp/ccqrsIMe.s:8961: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_69_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9038: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ule.d $f0,$f2' /tmp/ccqrsIMe.s:9039: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_70_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9051: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ule.d $f0,$f2' /tmp/ccqrsIMe.s:9052: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_70_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9129: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ole.d $f0,$f2' /tmp/ccqrsIMe.s:9130: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_71_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9142: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ole.d $f0,$f2' /tmp/ccqrsIMe.s:9143: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_71_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9220: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ole.d $f0,$f2' /tmp/ccqrsIMe.s:9221: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_72_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9233: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ole.d $f0,$f2' /tmp/ccqrsIMe.s:9234: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_72_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9311: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ult.d $f0,$f2' /tmp/ccqrsIMe.s:9312: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_73_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9324: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ult.d $f0,$f2' /tmp/ccqrsIMe.s:9325: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1f .L_offlineasm_73_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9402: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ult.d $f0,$f2' /tmp/ccqrsIMe.s:9403: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_74_compareJump__jumpTarget' /tmp/ccqrsIMe.s:9415: Error: opcode not supported on this processor: mips32r6 (mips32r6) `c.ult.d $f0,$f2' /tmp/ccqrsIMe.s:9416: Error: opcode not supported on this processor: mips32r6 (mips32r6) `bc1t .L_offlineasm_74_compareJump__jumpTarget' /tmp/ccNhC7qP.s: Assembler messages: /tmp/ccNhC7qP.s:17: Error: opcode not supported on this processor: mips32r6 (mips32r6) `addi $a0,$sp,-8'
Attachments
Minimal Buildroot configuration to trigger the issue (93.60 KB, text/plain)
2018-11-05 05:33 PST, Adrian Perez
no flags
Adrian Perez
Comment 1 2024-08-23 01:12:48 PDT
As per bug #267347 we dropped MIPS JIT support in 272866@main and according to a message to the mailing list [1], the 2.44.x stable series no longer include MIPS JIT support -- CLoop is to be used on MIPS instead. --- [1] https://lists.webkit.org/pipermail/webkit-wpe/2023-September/000612.html
Note You need to log in before you can comment on or make changes to this bug.