-
Notifications
You must be signed in to change notification settings - Fork 275
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
Problem with intrinsic f32x4_convert_u32x4 in wasm #1322
Comments
I don't seem to be able to reproduce this: https://rust.godbolt.org/z/K7z81T1nv |
Wow crazy tool. Here is a way to reproduce the stuff https://rust.godbolt.org/z/zcY5vc4jP Maybe the problem is more around
|
It's kind of weird. I have tested all of the combinations of this 3 intrinsic. Everything is working except one.
|
Oh, and btw
I can use the first one for my algorithm without any pbm :-) |
This looks like an LLVM issue, so I've opened llvm/llvm-project#57182 to track it. |
Unfortunately when i chain the 3 functions i am not able to have what i expect, anyway i use signed or unsigned types.
But in case it is a useful information, the following is converted with only intrinsic functions (but i can't do anything with the result).
|
Hi, i am playing around Wasm and SIMD, trying different implementation in different languages.
I dont know much Rust, but i have noticed a weird conversion with a test.
My Rust source code contains the following explicit intrinsic (and others):
First of all, i really like that you have chosen
f32x4_convert_u32x4
instead off32x4_convert_i32x4_u
, but it's detail.Unfortunately It was not processing data as fast as i was expecting.
Checking the assembly with
wasm2wat
shows the following opcodes.Other intrinsic like
u32x4_extend_low_u16x8
,u16x8_extend_low_u8x16
(and more), was properly converted.Any idea where could come from the problem?
It maybe have something to do with
stdarch/crates/core_arch/src/wasm32/simd128.rs
Line 4159 in 4ae38a1
llvm_
stuffs, but i have no idea how to check any changes anyway.An equivalent algorithm written in AssemblyScript is generating the following opcode properly:
I can try to create a very small sample code, it you like.
I am using the following environment.
The text was updated successfully, but these errors were encountered: