Skip to content

WebAssembly: Suboptimal codegen of combined SIMD operations #57182

@alexcrichton

Description

@alexcrichton

Originally reported at rust-lang/stdarch#1322 it appears that combining the codegen for these three wasm simd instructions results in a scalarized lowering rather than using the instructions themselves:

  • i16x8.extend_low_i8x16_u
  • i32x4.extend_low_i16x8_u
  • f32x4.convert_i32x4_u

This godbolt example has the Rust source code, the generated WebAssembly today, and the corresponding optimized LLVM IR that is being lowered.

cc @tlively

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions