Add fjcvtzs instruction to core::arch::aarch64#147517
Add fjcvtzs instruction to core::arch::aarch64#147517linkmauve wants to merge 1 commit intorust-lang:masterfrom
Conversation
This instruction should only be used when the jsconv feature is checked.
|
There doesn't seem to be any fjcvtzs vendor intrinsic: https://developer.arm.com/architectures/instruction-sets/intrinsics/#q=fjcvtzs |
|
Also changes to stdarch should go to https://github.com/rust-lang/stdarch/ instead. |
|
Oops, I will open a draft PR in stdarch instead then. Do I need to keep this PR open or should I close it until it is merged in stdarch? It’s weird that this table doesn’t mention |
|
Not every arm instruction has a corresponding C vendor intrinsic. |
|
Perhaps not C, but LLVM does support this instruction and even has tests for it: https://github.com/llvm/llvm-project/blob/d6d5026b5107b940d7a7853ab16480f83c14384d/llvm/test/CodeGen/AArch64/fjcvtzs.ll Why would we need a C intrinsic in Rust? |
|
I think it's https://github.com/llvm/llvm-project/blob/main/clang/lib/Headers/arm_acle.h#L663 https://godbolt.org/z/vjoo15chj but yeah this should just be a PR to |
|
rust-lang/stdarch#1938 has been merged, and stabilization is now tracked at #147555, let’s close this one. Thanks for the guidance so far! |
This instruction should only be used when the
jsconvfeature is checked.This is useful for instance to Ruffle which otherwise has to use an unsafe
asm!()block.