Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Clean assignments for SIMD copy #7277

Open
shapaz opened this issue Dec 12, 2024 · 0 comments
Open

Clean assignments for SIMD copy #7277

shapaz opened this issue Dec 12, 2024 · 0 comments
Assignees
Labels
Feature: Decompiler Status: Triage Information is being gathered

Comments

@shapaz
Copy link

shapaz commented Dec 12, 2024

Is your feature request related to a problem? Please describe.
I am decompiling ARM 32bit code that uses SIMD optimisations for copying data, i.e., instead of moving data as words with ldr/str instructions, the compiler copies multiple values at once with vld1.64/vst1.32:
image

The decompiler, despite showing the operation as distinct assignments, presents confusing code that combines the input values with CONCAT then separates it with casts and shifts:
image

Describe the solution you'd like
I would like to see the decompiled code as distinct assignments of each value, since it always holds that:

(int)CONCAT44(x,y) == y
(int)(CONCAT44(x,y)>>32) == x
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Feature: Decompiler Status: Triage Information is being gathered
Projects
None yet
Development

No branches or pull requests

3 participants