mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile/internal: add register ABI information for s390x
Update #40724 Change-Id: If8f2574259560b097db29347b2aecb098acef863 Reviewed-on: https://go-review.googlesource.com/c/go/+/719462 Reviewed-by: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com> Reviewed-by: Keith Randall <khr@google.com>
This commit is contained in:
parent
1036f6f485
commit
73b6aa0fec
4 changed files with 18 additions and 12 deletions
|
|
@ -540,6 +540,8 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) {
|
|||
p.From.Type = obj.TYPE_REG
|
||||
p.From.Reg = v.Args[0].Reg()
|
||||
ssagen.AddrAuto(&p.To, v)
|
||||
case ssa.OpArgIntReg, ssa.OpArgFloatReg:
|
||||
ssagen.CheckArgReg(v)
|
||||
case ssa.OpS390XLoweredGetClosurePtr:
|
||||
// Closure pointer is R12 (already)
|
||||
ssagen.CheckLoweredGetClosurePtr(v)
|
||||
|
|
|
|||
|
|
@ -818,6 +818,8 @@ func init() {
|
|||
ops: S390Xops,
|
||||
blocks: S390Xblocks,
|
||||
regnames: regNamesS390X,
|
||||
ParamIntRegNames: "R2 R3 R4 R5 R6 R7 R8 R9",
|
||||
ParamFloatRegNames: "F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15",
|
||||
gpregmask: gp,
|
||||
fpregmask: fp,
|
||||
framepointerreg: -1, // not used
|
||||
|
|
|
|||
|
|
@ -305,6 +305,8 @@ func NewConfig(arch string, types Types, ctxt *obj.Link, optimize, softfloat boo
|
|||
c.registers = registersS390X[:]
|
||||
c.gpRegMask = gpRegMaskS390X
|
||||
c.fpRegMask = fpRegMaskS390X
|
||||
//c.intParamRegs = paramIntRegS390X
|
||||
//c.floatParamRegs = paramFloatRegS390X
|
||||
c.FPReg = framepointerRegS390X
|
||||
c.LinkReg = linkRegS390X
|
||||
c.hasGReg = true
|
||||
|
|
|
|||
|
|
@ -43559,8 +43559,8 @@ var registersS390X = [...]Register{
|
|||
{31, s390x.REG_F15, "F15"},
|
||||
{32, 0, "SB"},
|
||||
}
|
||||
var paramIntRegS390X = []int8(nil)
|
||||
var paramFloatRegS390X = []int8(nil)
|
||||
var paramIntRegS390X = []int8{2, 3, 4, 5, 6, 7, 8, 9}
|
||||
var paramFloatRegS390X = []int8{16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}
|
||||
var gpRegMaskS390X = regMask(23551)
|
||||
var fpRegMaskS390X = regMask(4294901760)
|
||||
var specialRegMaskS390X = regMask(0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue