-
Notifications
You must be signed in to change notification settings - Fork 211
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
Replace {u,i}128_* lang items with __rust_{u,i}128_* unmangled functions #302
Conversation
The -Zlower-128bit-ops feature is completely broken, as libcore needs those lang items to compile with this feature, but they are only provided by compiler_builtins, which itself depends on libcore. According to rust-lang/rust#58969 the feature never got finished. This commit removes the associated lang items and replaces them with normal unmangled functions, when there is no existing intrinsic. This makes it easier for alternative codegen backends to implement 128bit integer support.
Thanks! Do you know if this works with presumably accompanied changes to the trans backend for rustc? If not I might recommend not landing this here and just using |
I plan to remove |
Ok makes sense! I'm basically asking that things be working before we merge this. I'd prefer to not have to merge this and then publish a number of subsequent bugfix releases. I'm also not sure if there's much benefit to merging ahead of time before it's tested to work, but I could be wrong! |
I understand. I will probably make the rustc changes later this week and test it.
Not much. bjorn3/rustc_codegen_cranelift#627 is blocked on bytecodealliance/cranelift#795 anyway. |
Ok, thanks! Let me know when it's all ship shape and I can merge/publish! |
Sure |
I tested rust-lang/rust#62801 together with this and it seemed to work on x86_64. (didnt have time to run all tests though, but libstd and rustc built) |
Ok thanks! |
I've published this as 0.1.18 |
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
…lexcrichton Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
The -Zlower-128bit-ops feature is completely broken, as libcore needs
those lang items to compile with this feature, but they are only
provided by compiler_builtins, which itself depends on libcore.
According to rust-lang/rust#58969 the feature never got finished.
This commit removes the associated lang items and replaces them with
normal unmangled functions, when there is no existing intrinsic. This
makes it easier for alternative codegen backends to implement 128bit
integer support.
cc https://github.com/bjorn3/rustc_codegen_cranelift/pull/627