Closed Redhawk18 closed 3 weeks ago
RandomX runs its own virtual machine which was designed from ground up, and it uses its own instructions, so there's no point to search for IADD_RS
on the Internet. These instructions, however, directly translate (with a few exceptions) to native x86-64 or aarch64 instructions.
RandomX runs its own virtual machine which was designed from ground up, and it uses its own instructions, so there's no point to search for
IADD_RS
on the Internet. These instructions, however, directly translate (with a few exceptions) to native x86-64 or aarch64 instructions.
So all the instructions are what is defined in superscalar? Also can you explain the COUNT
and invalid
instructions, I'm unsure if you could replace invalid with an optional. Also could you explain where the hex values come from in the x86 jit compiler?
The hex values come from the x86 instruction encodings. As for RandomX instructions, you can read https://github.com/tevador/RandomX/blob/master/doc/specs.md and https://github.com/tevador/RandomX/blob/master/doc/design.md
Hey, I started studying this projected and wanted to ask for links the to references used for the instructions for the jit compiler and the superscalerhashing.
I was using this resource to look for instructions
For example I can't find info on this code was based on
Or where these specialized add instructions come from
I can't find any add instructions with RS or M but I'm also pretty new to this space.
And where do these constants come from?