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

AArch64: Fix fmla and fmls element count and size for halfword cases #6543

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Sleigh-InSPECtor
Copy link

As part of a research project testing the accuracy of the sleigh specifications compared to real hardware, we observed an unexpected behaviour in the fmla and fmls instructions for AARCH64. According to Sections C7.2.122 and C7.2.126, the expected behaviour is operate on 16 bit floats when the 4H or 8H registers are used. While the current behaviour instead treats adjacent pairs of 16 bit floats as a single 32 bit float.

e.g.:
0xe70e410e "fmla v7.4H, v23.4H, v1.4H" with z7=0x82ce9a6474c3d5fa, z23=0x63518afba03f54aa and z1=0x7223a9bdc6af50c8

Hardware Reference: z7 = 0x7c009a5f74c36963
Existing Spec: z7 = 0x7f80000074c3d5fa
Patched Spec: z7 = 0x7c009a5f74c36963

@GhidorahRex GhidorahRex self-assigned this May 20, 2024
@GhidorahRex GhidorahRex added Type: Bug Something isn't working Feature: Processor/AARCH64 Status: Triage Information is being gathered labels May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Processor/AARCH64 Status: Triage Information is being gathered Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants