Skip to content
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

Port flag-based ops to ISLE (AArch64) #4942

Merged
merged 1 commit into from
Sep 22, 2022

Conversation

dheaton-arm
Copy link
Contributor

Ported the existing implementations of the following opcodes for AArch64 to ISLE:

  • Trueif
  • Trueff
  • Trapif
  • Trapff
  • Select
  • Selectif
  • SelectifSpectreGuard

Also fixed the implementation of true{if,ff} for the interpreter.

Copyright (c) 2022 Arm Limited

@github-actions github-actions bot added cranelift Issues related to the Cranelift code generator cranelift:area:aarch64 Issues related to AArch64 backend. labels Sep 22, 2022
Ported the existing implementations of the following opcodes for AArch64
to ISLE:
- `Trueif`
- `Trueff`
- `Trapif`
- `Trapff`
- `Select`
- `Selectif`
- `SelectifSpectreGuard`

Copyright (c) 2022 Arm Limited
Copy link
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.

Looks great, thanks!

@@ -17,6 +17,7 @@ block0(v0: i64, v1: i64):
}

; block0:
; adds x3, x0, x1
Copy link
Member

Choose a reason for hiding this comment

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

Wow, I'm surprised the test was missing this before -- that was a clear miscompilation that I guess we never saw only because we always used the result of iadd_ifcout directly as well. In any case, this PR fixes the issue!

@cfallin cfallin merged commit 3f8cccf into bytecodealliance:main Sep 22, 2022
@dheaton-arm dheaton-arm deleted the isle-flags branch September 23, 2022 09:58
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.

None yet

2 participants