Remove some unused rust specific intrinsics#745
Remove some unused rust specific intrinsics#745bjorn3 wants to merge 2 commits intorust-lang:masterfrom
Conversation
I think they were originally introduced when 128bit int support was added to rustc but before LLVM consistently supported 128bit int operations across platforms. Nowadays LLVM and GCC handle 128bit int operations for us rather than manually adding calls to rust specific intrinsics. The only exception is the Cranelift backend which still uses the __rust_u/i128_mulo intrinsics and as such this commit keeps those around.
This prevents rust-analyzer from showing an error for the panic-handler crate.
e6d27ad to
287c279
Compare
|
From a quick look it seems like gc_gcc may still use these https://github.com/rust-lang/rust/blob/824759493246ee383beb9cd5ceffa0e15deb9fa4/compiler/rustc_codegen_gcc/src/int.rs#L180-L183 https://github.com/rust-lang/rust/blob/824759493246ee383beb9cd5ceffa0e15deb9fa4/compiler/rustc_codegen_gcc/src/intrinsic/mod.rs#L988, but maybe Cc @rust-lang/wg-gcc-backend |
|
GCC only supports the type |
As in, using I guess in either case we should probably keep these around at least for a little while. |
Yes.
Thanks for the info. I took note of that in the issue. |
I think they were originally introduced when 128bit int support was added to rustc but before LLVM consistently supported 128bit int operations across platforms. Nowadays LLVM and GCC handle 128bit int operations for us rather than manually adding calls to rust specific intrinsics. The only exception is the Cranelift backend which still uses the __rust_u/i128_mulo intrinsics and as such this PR keeps those around.