-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compilation fails on mips32 / mips32el with JIT enabled #626
Comments
Strange, it builds and works fine on MIPS here |
Maybe it's because your toolchain (or build script) adds https://www.linux-mips.org/archives/linux-mips/2017-06/msg00516.html |
It looks like |
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795845
Looks like it's worth fixing, at least for efficiency reasons |
Thanks for the pointer! If you have any idea for the fix, I will be happy to test it. |
Easy workaround is to add |
I am not sure if it is safe to add, provided that it breaks the new ABI. |
From @jcowgill on IRC: <jcowgill> mitya57: using '-moddspreg -mfpxx' will break on newer mips cores I will try to build with |
On Debian, we get this failure when compiling on 32-bit MIPS, both big- and little-endian:
This code comes from generated
LLIntAssembly.h
. For example, the first line (3120) matches this line:LLIntAssembly.h
is in turn generated by ruby fromLowLevelInterpreter32_64.asm
. In all cases I checked, the error was in pairs oftmtc1
instructions (and always in the latter instruction) which are generated from singlefii2d
instructions inLowLevelInterpreter32_64.asm
.The original instruction for the above pair is
fii2d t1, t3, ft1
(line 1012).The code for processing
fii2d
instruction is inmips.rb
:Here
operands[2].mipsSingleHi
convertsft2
to$f3
andft0
to$f1
, which looks incorrect.I checked the upstream webkit code and it is the same. I think we will just disable JIT for now, but I am leaving this report here for reference. If you have any ideas how to fix it, please let me know.
The text was updated successfully, but these errors were encountered: