mirror of
https://github.com/golang/go
synced 2024-11-22 20:50:05 -07:00
cmd/compile: sort regalloc switch by architecture
Also tweak comment for the arm64 case. Change-Id: I073405bd2acf901dcaaf33a034a84b6a09dd4a83 Reviewed-on: https://go-review.googlesource.com/c/go/+/334869 Trust: Joel Sing <joel@sing.id.au> Reviewed-by: Meng Zhuo <mzh@golangcn.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
e17439e087
commit
dcee007aad
@ -620,20 +620,20 @@ func (s *regAllocState) init(f *Func) {
|
|||||||
}
|
}
|
||||||
if s.f.Config.ctxt.Flag_dynlink {
|
if s.f.Config.ctxt.Flag_dynlink {
|
||||||
switch s.f.Config.arch {
|
switch s.f.Config.arch {
|
||||||
case "amd64":
|
|
||||||
s.allocatable &^= 1 << 15 // R15
|
|
||||||
case "arm":
|
|
||||||
s.allocatable &^= 1 << 9 // R9
|
|
||||||
case "ppc64le": // R2 already reserved.
|
|
||||||
// nothing to do
|
|
||||||
case "arm64":
|
|
||||||
// nothing to do?
|
|
||||||
case "386":
|
case "386":
|
||||||
// nothing to do.
|
// nothing to do.
|
||||||
// Note that for Flag_shared (position independent code)
|
// Note that for Flag_shared (position independent code)
|
||||||
// we do need to be careful, but that carefulness is hidden
|
// we do need to be careful, but that carefulness is hidden
|
||||||
// in the rewrite rules so we always have a free register
|
// in the rewrite rules so we always have a free register
|
||||||
// available for global load/stores. See gen/386.rules (search for Flag_shared).
|
// available for global load/stores. See gen/386.rules (search for Flag_shared).
|
||||||
|
case "amd64":
|
||||||
|
s.allocatable &^= 1 << 15 // R15
|
||||||
|
case "arm":
|
||||||
|
s.allocatable &^= 1 << 9 // R9
|
||||||
|
case "arm64":
|
||||||
|
// nothing to do
|
||||||
|
case "ppc64le": // R2 already reserved.
|
||||||
|
// nothing to do
|
||||||
case "s390x":
|
case "s390x":
|
||||||
s.allocatable &^= 1 << 11 // R11
|
s.allocatable &^= 1 << 11 // R11
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user