Skip to content

[ARMv6] vcvt instruction makes very un-human readable code #7890

Open
@f-raZ0R

Description

@f-raZ0R

Probably related to #7377 , or the issue I can't find that had to do with multiple registers being used to store one value that is larger than a single register (an 8 byte length double when registers only hold 4 bytes)

Whenever I'm looking at some code that uses any variation of vcvt (e.g. vcvt.f32.s32), the decompiler ends up spitting out some nonsense involving bitshifts and "VectorSignedToFloat", and it's quite difficult to tell what is actually going on.
It would be nice if the decompiler... didn't do that, and instead did something more... understandable.

Image
Image

I've got 0 clue what this code here is doing, for example, beyond doing Something to calculate a percentage to display? (For context, fVar15 is a Constant that contains 100.0) in_fpscr isn't even a "real variable", it exists solely in vcvt calls and is probably some artifact of the decompiler.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions