Skip to content

Cranelift: aarch64: fix undefined dest reg in f32x4.splat case.#5987

Merged
cfallin merged 1 commit into
bytecodealliance:mainfrom
cfallin:fix-5985
Mar 11, 2023
Merged

Cranelift: aarch64: fix undefined dest reg in f32x4.splat case.#5987
cfallin merged 1 commit into
bytecodealliance:mainfrom
cfallin:fix-5985

Conversation

@cfallin
Copy link
Copy Markdown
Member

@cfallin cfallin commented Mar 10, 2023

One of the cases for a splat operation, as updated in #5370, wrote to a temp reg but then only conditionally transformed the temp into the final destination register. In another codepath, rd was left undefined. This causes a panic later when regalloc2 verifies SSA properties of its input (here, value not def'd before use).

Fixes #5985.

One of the cases for a splat operation, as updated in bytecodealliance#5370, wrote to
a temp reg but then only conditionally transformed the temp into the
final destination register. In another codepath, `rd` was left
undefined. This causes a panic later when regalloc2 verifies SSA
properties of its input (here, value not def'd before use).

Fixes bytecodealliance#5985.
@cfallin cfallin requested a review from elliottt March 10, 2023 23:26
@cfallin cfallin requested a review from fitzgen March 10, 2023 23:42
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:aarch64 Issues related to AArch64 backend. labels Mar 10, 2023
@cfallin cfallin added this pull request to the merge queue Mar 11, 2023
Merged via the queue into bytecodealliance:main with commit 264089e Mar 11, 2023
@cfallin cfallin deleted the fix-5985 branch March 11, 2023 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift:area:aarch64 Issues related to AArch64 backend. cranelift Issues related to the Cranelift code generator

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cranelift: Regalloc panic with splat.f32x4 on AArch64

3 participants