Skip to content

Milestone: Run tiny-keccak tests #402

Closed
@eira-fransham

Description

@eira-fransham

This will be a great exercise of our codegen, since tiny-keccak has long stack arrays and ugly unrolled loops that are much more similar to real-world code compared to the tiny loops we've been working with thus far.

  • i32.store/i32.load
  • Data section
  • 64-bit equivalents to all 32-bit instructions - we already treat all values as 64-bit when their size is unknown so this is mostly a case of adding the i64.xxxx instructions and changing the Immediate representation, which shouldn't be difficult.
  • Multiple returns - I'm not certain that this is necessary but I would be surprised if there isn't somewhere that uses this to (for example) return a struct. Of course, it's possible that LLVM always compiles to use a hidden argument, I remember me and @pepyakin looking at this and that appeared to be how it was compiling it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    lightbeamIssues related to the Lightbeam compiler

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions