mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: actually intrinsify runtime/internal/atomic.{And,Or}{8,} on RISCV64
Actually enable intrinsics for runtime/internal/atomic.{And,Or}{8,} on RISCV64.
This seems to have been lost when CL 268098 was rebased.
Change-Id: If072daa79c8964b186c127d5e065a7cc9e23ba27
Reviewed-on: https://go-review.googlesource.com/c/go/+/302229
Trust: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
6517844129
commit
42c25e65f3
1 changed files with 4 additions and 4 deletions
|
|
@ -4019,25 +4019,25 @@ func InitTables() {
|
||||||
s.vars[memVar] = s.newValue3(ssa.OpAtomicAnd8, types.TypeMem, args[0], args[1], s.mem())
|
s.vars[memVar] = s.newValue3(ssa.OpAtomicAnd8, types.TypeMem, args[0], args[1], s.mem())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
sys.AMD64, sys.MIPS, sys.PPC64, sys.S390X)
|
sys.AMD64, sys.MIPS, sys.PPC64, sys.RISCV64, sys.S390X)
|
||||||
addF("runtime/internal/atomic", "And",
|
addF("runtime/internal/atomic", "And",
|
||||||
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
||||||
s.vars[memVar] = s.newValue3(ssa.OpAtomicAnd32, types.TypeMem, args[0], args[1], s.mem())
|
s.vars[memVar] = s.newValue3(ssa.OpAtomicAnd32, types.TypeMem, args[0], args[1], s.mem())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
sys.AMD64, sys.MIPS, sys.PPC64, sys.S390X)
|
sys.AMD64, sys.MIPS, sys.PPC64, sys.RISCV64, sys.S390X)
|
||||||
addF("runtime/internal/atomic", "Or8",
|
addF("runtime/internal/atomic", "Or8",
|
||||||
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
||||||
s.vars[memVar] = s.newValue3(ssa.OpAtomicOr8, types.TypeMem, args[0], args[1], s.mem())
|
s.vars[memVar] = s.newValue3(ssa.OpAtomicOr8, types.TypeMem, args[0], args[1], s.mem())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
sys.AMD64, sys.ARM64, sys.MIPS, sys.PPC64, sys.S390X)
|
sys.AMD64, sys.ARM64, sys.MIPS, sys.PPC64, sys.RISCV64, sys.S390X)
|
||||||
addF("runtime/internal/atomic", "Or",
|
addF("runtime/internal/atomic", "Or",
|
||||||
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
||||||
s.vars[memVar] = s.newValue3(ssa.OpAtomicOr32, types.TypeMem, args[0], args[1], s.mem())
|
s.vars[memVar] = s.newValue3(ssa.OpAtomicOr32, types.TypeMem, args[0], args[1], s.mem())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
sys.AMD64, sys.MIPS, sys.PPC64, sys.S390X)
|
sys.AMD64, sys.MIPS, sys.PPC64, sys.RISCV64, sys.S390X)
|
||||||
|
|
||||||
atomicAndOrEmitterARM64 := func(s *state, n *ir.CallExpr, args []*ssa.Value, op ssa.Op, typ types.Kind) {
|
atomicAndOrEmitterARM64 := func(s *state, n *ir.CallExpr, args []*ssa.Value, op ssa.Op, typ types.Kind) {
|
||||||
s.vars[memVar] = s.newValue3(op, types.TypeMem, args[0], args[1], s.mem())
|
s.vars[memVar] = s.newValue3(op, types.TypeMem, args[0], args[1], s.mem())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue