-
Notifications
You must be signed in to change notification settings - Fork 205
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
ARM Architecture support? #53
Comments
It's something we eventually want to do, but have no concrete roadmap for due to some unknowns. The second issue is that LLVM doesn't handle C calling convensions, so our code generator (tcompiler.cpp) will need to be updated with ARM calling conventions. This shouldn't be too difficult once JITing on ARM is possible. |
Could we get any update on that? |
Yeah, we have some preliminary arm support now. We've tested it on Nvidia's However, we haven't implemented the entire ARM calling convention yet. When It's often the case that you can work around the calling convention stuff, this is some code to get it running on the Tegra K1 board running ubuntu:sudo add-apt-repository universe On Fri, Nov 14, 2014 at 8:10 AM, Bartek Banachewicz <
|
There is an open pull request regarding ARM. Should it be closed? |
Yes, I closed that, thanks. This issue will stay open until all of our functionality is supported on ARM. |
Pinging for a query to status. Can a build off of master on an ARM architecture yield a working interpreter? What are the largest known missing features? I'm very deep on the ARM side at present - - if a build is easy to achieve, I would be happy to contribute ARM builds and test pass/fail reports. |
Does anyone in this issue still care about this? I've had success building on PowerPC (which is a platform not supported by LuaJIT) with this PR: #320 |
I think that Terra should support the other architectures in general, but it remains a question of effort vs benefits, I suppose. |
I would like to have this capability. |
If LuaJIT supports your platform, this should pretty much work out of the box (with a sufficiently recent version of LLVM). For platforms LuaJIT doesn't support, like I mentioned in the last comment, you'll need to use PR #320, which continues to be a work in progress but is feature-complete enough that we've been able to use it for doing runs on the Summit supercomputer (a PPC64le machine). |
I haven't specifically tested ARM, but we've had success using PR #320 on PPC64le for a long time now, so I'm going to close this as "good enough". If there are any actual issues with ARM support, please open new issues. |
Just wanted to update this to add: ARM64 binaries are included in release 1.0.1 and pass roughly 96% of the test suite (as tested on a Raspberry Pi with Ubuntu 22.04). |
As of 1.0.5 Terra now fully supports AArch64. |
Is there ARM support on the roadmap?
I'm fooling around with a beagleboard at the moment. I've successfully gotten llvm/clang compiled and even terra too (with a small modification to tdebug.cpp where it handles mcontext_t), but alas it looks like tcompiler.cpp (and probably others too) are designed with x86 in mind.
The text was updated successfully, but these errors were encountered: