go/src/cmd/compile/internal/arm/ssa.go

// loadByType returns the load instruction of the given type.
func loadByType(t *types.Type) obj.As {}

// storeByType returns the store instruction of the given type.
func storeByType(t *types.Type) obj.As {}

type shift

// copied from ../../../internal/obj/util.go:/TYPE_SHIFT
func (v shift) String() string {}

// makeshift encodes a register shifted by a constant.
func makeshift(v *ssa.Value, reg int16, typ int64, s int64) shift {}

// genshift generates a Prog for r = r0 op (r1 shifted by n).
func genshift(s *ssagen.State, v *ssa.Value, as obj.As, r0, r1, r int16, typ int64, n int64) *obj.Prog {}

// makeregshift encodes a register shifted by a register.
func makeregshift(r1 int16, typ int64, r2 int16) shift {}

// genregshift generates a Prog for r = r0 op (r1 shifted by r2).
func genregshift(s *ssagen.State, as obj.As, r0, r1, r2, r int16, typ int64) *obj.Prog {}

// find a (lsb, width) pair for BFC
// lsb must be in [0, 31], width must be in [1, 32 - lsb]
// return (0xffffffff, 0) if v is not a binary like 0...01...10...0
func getBFC(v uint32) (uint32, uint32) {}

func ssaGenValue(s *ssagen.State, v *ssa.Value) {}

var condBits

var blockJump

var leJumps

var gtJumps

func ssaGenBlock(s *ssagen.State, b, next *ssa.Block) {}