Skip to content

aarch64: Migrate bitrev/clz/cls/ctz to ISLE#3658

Merged
alexcrichton merged 1 commit into
bytecodealliance:mainfrom
alexcrichton:isle-bitops
Jan 6, 2022
Merged

aarch64: Migrate bitrev/clz/cls/ctz to ISLE#3658
alexcrichton merged 1 commit into
bytecodealliance:mainfrom
alexcrichton:isle-bitops

Conversation

@alexcrichton
Copy link
Copy Markdown
Member

This commit migrates these existing instructions to ISLE from the manual
lowerings implemented today. This was mostly straightforward but while I
was at it I fixed what appeared to be broken translations for I{8,16}
for clz, cls, and ctz. Previously the lowerings would produce
results as-if the input was 32-bits, but now I believe they all
correctly account for the bit-width.

This commit migrates these existing instructions to ISLE from the manual
lowerings implemented today. This was mostly straightforward but while I
was at it I fixed what appeared to be broken translations for I{8,16}
for `clz`, `cls`, and `ctz`. Previously the lowerings would produce
results as-if the input was 32-bits, but now I believe they all
correctly account for the bit-width.
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:aarch64 Issues related to AArch64 backend. labels Jan 6, 2022
Copy link
Copy Markdown
Member

@cfallin cfallin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, and thanks for the fixes to clz/ctz with narrow values!

@alexcrichton alexcrichton merged commit 72e2b7f into bytecodealliance:main Jan 6, 2022
@alexcrichton alexcrichton deleted the isle-bitops branch January 6, 2022 21:24
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.

2 participants