Skip to content

LLVM regression in beta with -Ctarget-feature=-simd128 #131031

Closed
@DaniPopes

Description

@DaniPopes

Code

I tried this code:

use std::arch::wasm32::*;

#[target_feature(enable = "simd128")]
pub unsafe fn some_simd128_fn(chunk: v128) -> bool {
    u8x16_all_true(chunk)
}

Flags: -Ctarget-feature=-simd128 --target wasm32-wasip1

Godbolt

I expected to see this happen: compiles

Instead, this happened: fails to compile with "rustc-LLVM ERROR: Do not know how to split this operator's operand!"

Version it worked on

It most recently worked on: 1.81.0

Version with regression

rustc --version --verbose:

rustc 1.82.0-beta.4 (8c27a2ba6 2024-09-21)
binary: rustc
commit-hash: 8c27a2ba6b21f3406a51118643080f0591949827
commit-date: 2024-09-21
host: x86_64-unknown-linux-gnu
release: 1.82.0-beta.4
LLVM version: 19.1.0
Compiler returned: 0
rustc 1.83.0-nightly (2bd1e894e 2024-09-26)
binary: rustc
commit-hash: 2bd1e894efde3b6be857ad345914a3b1cea51def
commit-date: 2024-09-26
host: x86_64-unknown-linux-gnu
release: 1.83.0-nightly
LLVM version: 19.1.0
Compiler returned: 0

@rustbot modify labels: +regression-from-stable-to-beta -regression-untriaged +A-LLVM

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.O-wasmTarget: WASM (WebAssembly), http://webassembly.org/P-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions