main

Imports

Imports #

"fmt"
. "github.com/mmcloughlin/avo/build"
. "github.com/mmcloughlin/avo/gotypes"
. "github.com/mmcloughlin/avo/operand"
. "github.com/mmcloughlin/avo/reg"

Structs

namedComponent struct #

type namedComponent struct {
Component
name string
}

uint128 struct #

type uint128 struct {
name string
hi GPVirtual
lo GPVirtual
}

Functions

String method #

func (c namedComponent) String() string

String method #

func (c uint128) String() string

addMul64 function #

addMul64 sets r to r + i * aX * bX.

func addMul64(r uint128, i uint64, aX namedComponent, bX namedComponent)

feMul function #

func feMul()

feSquare function #

func feSquare()

main function #

func main()

maskAndAdd function #

maskAndAdd sets r = r&mask + c*i.

func maskAndAdd(r GPVirtual, mask GPVirtual, c GPVirtual, i uint64)

mul64 function #

mul64 sets r to i * aX * bX.

func mul64(r uint128, i int, aX namedComponent, bX namedComponent)

mustAddr function #

func mustAddr(c Component) Op

shiftRightBy51 function #

shiftRightBy51 returns r >> 51 and r.lo. After this function is called, the uint128 may not be used anymore.

func shiftRightBy51(r *uint128) (out GPVirtual, lo GPVirtual)

Generated with Arrow