mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00: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
1 changed files with 8 additions and 8 deletions
|
|
@ -620,20 +620,20 @@ func (s *regAllocState) init(f *Func) {
|
|||
}
|
||||
if s.f.Config.ctxt.Flag_dynlink {
|
||||
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":
|
||||
// nothing to do.
|
||||
// Note that for Flag_shared (position independent code)
|
||||
// we do need to be careful, but that carefulness is hidden
|
||||
// in the rewrite rules so we always have a free register
|
||||
// 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":
|
||||
s.allocatable &^= 1 << 11 // R11
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue