Skip to content

Division deoptimization bug #5205

@plafosse

Description

@plafosse

orig_state_exec.zip

This expression:

rax_403#1 = (((sx.q(rax_359#1) * 0xd96ec7) u>> 0x20).d s>> 0xf).w - (rax_359#1 s>> 0x1f).w

is simplified down to this

rax_403#1 = (rax_359#1 s/ 0x96b43f).w

It should actually simplify down to this

x % 0x96b43f

Special Thanks to: Zao Yang and Stefan Nagy for their research in Decompiler Fuzzing for reporting this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: CoreIssue needs changes to the coreCore: HLILIssue involves High Level ILImpact: MediumIssue is impactful with a bad, or no, workaroundState: IntendedIssue is actually intended behavior

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions