Skip to content

Verifier doesn't correctly perform unsigned 32-bit division and modulo #730

@Alan-Jowett

Description

@Alan-Jowett

Failing test cases:

---
test-case: 32bit division - negative divisor

pre: ["r0.type=number", "r0.svalue=0", "r0.uvalue=0"]

code:
  <start>: |
    w0 = 4194435072
    w0 /= 4096655360

post:
  - r0.type=number
  - r0.svalue=1
  - r0.uvalue=1
 
---
test-case: 32bit modulo - negative divisor
pre: ["r0.type=number", "r0.svalue=0", "r0.uvalue=0"]

code:
  <start>: |
    w0 = 4194435072
    w0 %= 4096655360

post:
  - r0.type=number
  - r0.svalue=97779712
  - r0.uvalue=97779712

Note:
This was found using a version of the fix for #728

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions