@@ -6,6 +6,7 @@ package amd64
6
6
7
7
import (
8
8
"fmt"
9
+ "internal/buildcfg"
9
10
"math"
10
11
11
12
"cmd/compile/internal/base"
@@ -17,7 +18,6 @@ import (
17
18
"cmd/compile/internal/types"
18
19
"cmd/internal/obj"
19
20
"cmd/internal/obj/x86"
20
- "cmd/internal/objabi"
21
21
)
22
22
23
23
// markMoves marks any MOVXconst ops that need to avoid clobbering flags.
@@ -825,7 +825,7 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) {
825
825
p .To .Reg = v .Args [0 ].Reg ()
826
826
ssagen .AddAux2 (& p .To , v , sc .Off64 ())
827
827
case ssa .OpAMD64MOVOstorezero :
828
- if ! objabi .Experiment .RegabiG || s .ABI != obj .ABIInternal {
828
+ if ! buildcfg .Experiment .RegabiG || s .ABI != obj .ABIInternal {
829
829
// zero X15 manually
830
830
opregreg (s , x86 .AXORPS , x86 .REG_X15 , x86 .REG_X15 )
831
831
}
@@ -916,7 +916,7 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) {
916
916
p .To .Type = obj .TYPE_REG
917
917
p .To .Reg = v .Reg ()
918
918
case ssa .OpAMD64DUFFZERO :
919
- if ! objabi .Experiment .RegabiG || s .ABI != obj .ABIInternal {
919
+ if ! buildcfg .Experiment .RegabiG || s .ABI != obj .ABIInternal {
920
920
// zero X15 manually
921
921
opregreg (s , x86 .AXORPS , x86 .REG_X15 , x86 .REG_X15 )
922
922
}
@@ -999,20 +999,20 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) {
999
999
// Closure pointer is DX.
1000
1000
ssagen .CheckLoweredGetClosurePtr (v )
1001
1001
case ssa .OpAMD64LoweredGetG :
1002
- if objabi .Experiment .RegabiG && s .ABI == obj .ABIInternal {
1002
+ if buildcfg .Experiment .RegabiG && s .ABI == obj .ABIInternal {
1003
1003
v .Fatalf ("LoweredGetG should not appear in ABIInternal" )
1004
1004
}
1005
1005
r := v .Reg ()
1006
1006
getgFromTLS (s , r )
1007
1007
case ssa .OpAMD64CALLstatic :
1008
- if objabi .Experiment .RegabiG && s .ABI == obj .ABI0 && v .Aux .(* ssa.AuxCall ).Fn .ABI () == obj .ABIInternal {
1008
+ if buildcfg .Experiment .RegabiG && s .ABI == obj .ABI0 && v .Aux .(* ssa.AuxCall ).Fn .ABI () == obj .ABIInternal {
1009
1009
// zeroing X15 when entering ABIInternal from ABI0
1010
1010
opregreg (s , x86 .AXORPS , x86 .REG_X15 , x86 .REG_X15 )
1011
1011
// set G register from TLS
1012
1012
getgFromTLS (s , x86 .REG_R14 )
1013
1013
}
1014
1014
s .Call (v )
1015
- if objabi .Experiment .RegabiG && s .ABI == obj .ABIInternal && v .Aux .(* ssa.AuxCall ).Fn .ABI () == obj .ABI0 {
1015
+ if buildcfg .Experiment .RegabiG && s .ABI == obj .ABIInternal && v .Aux .(* ssa.AuxCall ).Fn .ABI () == obj .ABI0 {
1016
1016
// zeroing X15 when entering ABIInternal from ABI0
1017
1017
opregreg (s , x86 .AXORPS , x86 .REG_X15 , x86 .REG_X15 )
1018
1018
// set G register from TLS
@@ -1306,7 +1306,7 @@ func ssaGenBlock(s *ssagen.State, b, next *ssa.Block) {
1306
1306
case ssa .BlockRet :
1307
1307
s .Prog (obj .ARET )
1308
1308
case ssa .BlockRetJmp :
1309
- if objabi .Experiment .RegabiG && s .ABI == obj .ABI0 && b .Aux .(* obj.LSym ).ABI () == obj .ABIInternal {
1309
+ if buildcfg .Experiment .RegabiG && s .ABI == obj .ABI0 && b .Aux .(* obj.LSym ).ABI () == obj .ABIInternal {
1310
1310
// zeroing X15 when entering ABIInternal from ABI0
1311
1311
opregreg (s , x86 .AXORPS , x86 .REG_X15 , x86 .REG_X15 )
1312
1312
// set G register from TLS
0 commit comments