github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/cmd/compile/mips64/galign.go (about)

     1  // Copyright 2009 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package mips64
     6  
     7  import (
     8  	"github.com/go-asm/go/buildcfg"
     9  	"github.com/go-asm/go/cmd/compile/ssa"
    10  	"github.com/go-asm/go/cmd/compile/ssagen"
    11  	"github.com/go-asm/go/cmd/obj/mips"
    12  )
    13  
    14  func Init(arch *ssagen.ArchInfo) {
    15  	arch.LinkArch = &mips.Linkmips64
    16  	if buildcfg.GOARCH == "mips64le" {
    17  		arch.LinkArch = &mips.Linkmips64le
    18  	}
    19  	arch.REGSP = mips.REGSP
    20  	arch.MAXWIDTH = 1 << 50
    21  	arch.SoftFloat = buildcfg.GOMIPS64 == "softfloat"
    22  	arch.ZeroRange = zerorange
    23  	arch.Ginsnop = ginsnop
    24  
    25  	arch.SSAMarkMoves = func(s *ssagen.State, b *ssa.Block) {}
    26  	arch.SSAGenValue = ssaGenValue
    27  	arch.SSAGenBlock = ssaGenBlock
    28  }