mirror of
https://github.com/golang/go
synced 2024-11-17 15:44:40 -07:00
internal/buildcfg: enable register ABI for PPC64
This enables the new register ABI for all PPC64 targets by default including linux/ppc64, linux/ppc64le, and aix/ppc64. Improvements with the new register ABI on a power9: name old time/op (ns/op) new time/op (ns/op) delta BinaryTree17 3882070000 3274900000 -15.64% Fannkuch11 3787620000 3614740000 -4.56% FmtFprintfEmpty 58.705 51.1875 -12.81% FmtFprintfString 101.675 94.4725 -7.08% FmtFprintfInt 112.725 104.075 -7.67% FmtFprintfIntInt 166.475 158.05 -5.06% FmtFprintfPrefixedInt 183.7 178.975 -2.57% FmtFprintfFloat 246.55 258.8 +4.97% FmtManyArgs 648.325 665.875 +2.71% GobDecode 8004660 6802210 -15.02% GobEncode 7289780 5675710 -22.14% Gzip 326931000 323586000 -1.02% Gunzip 47544700 37808000 -20.48% HTTPClientServer 46927.2 42357.8 -9.74% JSONEncode 12098300 9621450 -20.47% JSONDecode 62305300 55410200 -11.07% Mandelbrot200 5841540 5934590 +1.59% GoParse 5594880 4003360 -28.45% RegexpMatchEasy0_32 96.185 89.6325 -6.81% RegexpMatchEasy0_1K 255.775 210.45 -17.72% RegexpMatchEasy1_32 102.95 93.8825 -8.81% RegexpMatchEasy1_1K 511.65 385.075 -24.74% RegexpMatchMedium_32 1414.75 1236.75 -12.58% RegexpMatchMedium_1K 42114.5 37022.5 -12.09% RegexpMatchHard_32 2110.5 1901.5 -9.90% RegexpMatchHard_1K 63559.5 59494 -6.40% Revcomp 532981000 480640000 -9.82% Template 81903600 65743300 -19.73% TimeParse 310.75 276.525 -11.01% TimeFormat 483.4 355.475 -26.46% Change-Id: Ib7c5dfe8ddc2f17050943912048f55667dabde39 Reviewed-on: https://go-review.googlesource.com/c/go/+/353969 Trust: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
7e69c5decf
commit
ae83301ab2
@ -46,7 +46,11 @@ var FramePointerEnabled = GOARCH == "amd64" || GOARCH == "arm64"
|
||||
//
|
||||
// TODO(mdempsky): Move to internal/goexperiment.
|
||||
func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment.Flags, err error) {
|
||||
regabiSupported := goarch == "amd64" || goarch == "arm64"
|
||||
regabiSupported := false
|
||||
switch goarch {
|
||||
case "amd64", "arm64", "ppc64le", "ppc64":
|
||||
regabiSupported = true
|
||||
}
|
||||
|
||||
baseline = goexperiment.Flags{
|
||||
RegabiWrappers: regabiSupported,
|
||||
@ -112,7 +116,7 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment
|
||||
flags.RegabiArgs = true
|
||||
}
|
||||
// regabi is only supported on amd64, arm64, ppc64 and ppc64le.
|
||||
if goarch != "amd64" && goarch != "arm64" && goarch != "ppc64le" && goarch != "ppc64" {
|
||||
if !regabiSupported {
|
||||
flags.RegabiReflect = false
|
||||
flags.RegabiArgs = false
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user