diff options
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | libgo/go/golang.org/x/sys/cpu/cpu_other.go | 23 | ||||
-rw-r--r-- | libgo/go/golang.org/x/sys/cpu/cpu_other_arch.go | 20 | ||||
-rw-r--r-- | libgo/go/golang.org/x/sys/cpu/cpu_riscv.go | 2 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_amd64p32.go | 7 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_other.go | 21 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_ppc64x_aix.go | 2 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_ppc64x_linux.go | 2 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_ppcx.go | 44 | ||||
-rw-r--r-- | libgo/go/internal/cpu/cpu_x86.go | 4 |
10 files changed, 78 insertions, 49 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index fc5ef44..6039cbc 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -47bdc8bb36f16f9d1dec72df5dd6b45d7b0b0725 +6857530fb1662c05a3ce754df2bd9fa5acd3a35b The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_other.go b/libgo/go/golang.org/x/sys/cpu/cpu_other.go new file mode 100644 index 0000000..d8bb811 --- /dev/null +++ b/libgo/go/golang.org/x/sys/cpu/cpu_other.go @@ -0,0 +1,23 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !386 +// +build !amd64 +// +build !amd64p32 +// +build !arm +// +build !arm64 +// +build !mips +// +build !mipsle +// +build !mips64 +// +build !mips64le +// +build !ppc64 +// +build !ppc64le +// +build !riscv +// +build !riscv64 +// +build !s390x +// +build !wasm + +package cpu + +func initOptions() {} diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_other_arch.go b/libgo/go/golang.org/x/sys/cpu/cpu_other_arch.go new file mode 100644 index 0000000..aef0a82 --- /dev/null +++ b/libgo/go/golang.org/x/sys/cpu/cpu_other_arch.go @@ -0,0 +1,20 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !aix +// +build !linux +// +build !zos + +// +build !386 +// +build !amd64 +// +build !amd64p32 +// +build !arm +// +build !arm64 +// +build !mips64 +// +build !mips64le +// +build !wasm + +package cpu + +func archInit() {} diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_riscv.go b/libgo/go/golang.org/x/sys/cpu/cpu_riscv.go index 891cb98..e229457 100644 --- a/libgo/go/golang.org/x/sys/cpu/cpu_riscv.go +++ b/libgo/go/golang.org/x/sys/cpu/cpu_riscv.go @@ -5,3 +5,5 @@ // +build riscv package cpu + +func initOptions() {} diff --git a/libgo/go/internal/cpu/cpu_amd64p32.go b/libgo/go/internal/cpu/cpu_amd64p32.go new file mode 100644 index 0000000..a6cff4f --- /dev/null +++ b/libgo/go/internal/cpu/cpu_amd64p32.go @@ -0,0 +1,7 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const GOARCH = "amd64p32" diff --git a/libgo/go/internal/cpu/cpu_other.go b/libgo/go/internal/cpu/cpu_other.go new file mode 100644 index 0000000..d0f1f2e --- /dev/null +++ b/libgo/go/internal/cpu/cpu_other.go @@ -0,0 +1,21 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !386 +// +build !amd64 +// +build !amd64p32 +// +build !arm +// +build !arm64 +// +build !mips64 +// +build !mips64le +// +build !ppc +// +build !ppc64 +// +build !ppc64le +// +build !riscv64 +// +build !s390x + +package cpu + +func doinit() { +} diff --git a/libgo/go/internal/cpu/cpu_ppc64x_aix.go b/libgo/go/internal/cpu/cpu_ppc64x_aix.go index b840b82..a932684 100644 --- a/libgo/go/internal/cpu/cpu_ppc64x_aix.go +++ b/libgo/go/internal/cpu/cpu_ppc64x_aix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build ppc64 ppc64le +// +build ppc ppc64 ppc64le package cpu diff --git a/libgo/go/internal/cpu/cpu_ppc64x_linux.go b/libgo/go/internal/cpu/cpu_ppc64x_linux.go index 73b1914..068a799 100644 --- a/libgo/go/internal/cpu/cpu_ppc64x_linux.go +++ b/libgo/go/internal/cpu/cpu_ppc64x_linux.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build ppc64 ppc64le +// +build ppc ppc64 ppc64le package cpu diff --git a/libgo/go/internal/cpu/cpu_ppcx.go b/libgo/go/internal/cpu/cpu_ppcx.go deleted file mode 100644 index 56ff875..0000000 --- a/libgo/go/internal/cpu/cpu_ppcx.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ppc ppc64 ppc64le - -package cpu - -// ppc64x doesn't have a 'cpuid' equivalent, so we rely on HWCAP/HWCAP2. -// These are initialized by archauxv and should not be changed after they are -// initialized. -// On aix/ppc64, these values are initialized early in the runtime in runtime/os_aix.go. -var HWCap uint -var HWCap2 uint - -// HWCAP/HWCAP2 bits. These are exposed by the kernel. -const ( - // ISA Level - PPC_FEATURE2_ARCH_2_07 = 0x80000000 - PPC_FEATURE2_ARCH_3_00 = 0x00800000 - - // CPU features - PPC_FEATURE2_DARN = 0x00200000 - PPC_FEATURE2_SCV = 0x00100000 -) - -func doinit() { - options = []option{ - {Name: "darn", Feature: &PPC64.HasDARN}, - {Name: "scv", Feature: &PPC64.HasSCV}, - {Name: "power9", Feature: &PPC64.IsPOWER9}, - {Name: "power8", Feature: &PPC64.IsPOWER8}, - } - - // HWCAP2 feature bits - PPC64.IsPOWER8 = isSet(HWCap2, PPC_FEATURE2_ARCH_2_07) - PPC64.IsPOWER9 = isSet(HWCap2, PPC_FEATURE2_ARCH_3_00) - PPC64.HasDARN = isSet(HWCap2, PPC_FEATURE2_DARN) - PPC64.HasSCV = isSet(HWCap2, PPC_FEATURE2_SCV) -} - -func isSet(hwc uint, value uint) bool { - return hwc&value != 0 -} diff --git a/libgo/go/internal/cpu/cpu_x86.go b/libgo/go/internal/cpu/cpu_x86.go index 62853a1..9aa5c3a 100644 --- a/libgo/go/internal/cpu/cpu_x86.go +++ b/libgo/go/internal/cpu/cpu_x86.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build 386 amd64 +// +build 386 amd64 amd64p32 package cpu @@ -56,7 +56,7 @@ func doinit() { {Name: "ssse3", Feature: &X86.HasSSSE3}, // These capabilities should always be enabled on amd64: - {Name: "sse2", Feature: &X86.HasSSE2, Required: GOARCH == "amd64"}, + {Name: "sse2", Feature: &X86.HasSSE2, Required: GOARCH == "amd64" || GOARCH == "amd64p32"}, } maxID, _, _, _ := cpuid(0, 0) |