From 630c8d1d002286cc26bafec78a7f120b5c0e78af Mon Sep 17 00:00:00 2001 From: "Joe Richey joerichey@google.com" Date: Thu, 30 Aug 2018 02:24:33 -0700 Subject: Update dependancies to lastest version --- vendor/golang.org/x/sys/cpu/cpu.go | 38 + vendor/golang.org/x/sys/cpu/cpu_arm.go | 7 + vendor/golang.org/x/sys/cpu/cpu_arm64.go | 7 + vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 16 + vendor/golang.org/x/sys/cpu/cpu_gccgo.c | 43 + vendor/golang.org/x/sys/cpu/cpu_gccgo.go | 26 + vendor/golang.org/x/sys/cpu/cpu_mips64x.go | 9 + vendor/golang.org/x/sys/cpu/cpu_mipsx.go | 9 + vendor/golang.org/x/sys/cpu/cpu_ppc64x.go | 9 + vendor/golang.org/x/sys/cpu/cpu_s390x.go | 7 + vendor/golang.org/x/sys/cpu/cpu_x86.go | 55 + vendor/golang.org/x/sys/cpu/cpu_x86.s | 27 + vendor/golang.org/x/sys/unix/.gitignore | 2 + vendor/golang.org/x/sys/unix/README.md | 173 +++ vendor/golang.org/x/sys/unix/aliases.go | 14 + vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s | 10 +- vendor/golang.org/x/sys/unix/cap_freebsd.go | 30 +- vendor/golang.org/x/sys/unix/constants.go | 2 +- vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 37 + vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 39 + vendor/golang.org/x/sys/unix/dirent.go | 2 +- vendor/golang.org/x/sys/unix/env_unix.go | 2 +- vendor/golang.org/x/sys/unix/fcntl.go | 32 + vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go | 13 + vendor/golang.org/x/sys/unix/flock.go | 22 - vendor/golang.org/x/sys/unix/flock_linux_32bit.go | 13 - vendor/golang.org/x/sys/unix/gccgo.go | 1 + vendor/golang.org/x/sys/unix/gccgo_c.c | 10 +- vendor/golang.org/x/sys/unix/ioctl.go | 30 + vendor/golang.org/x/sys/unix/mkall.sh | 198 +++ vendor/golang.org/x/sys/unix/mkerrors.sh | 632 +++++++++ vendor/golang.org/x/sys/unix/mkpost.go | 13 +- vendor/golang.org/x/sys/unix/mksyscall.pl | 341 +++++ vendor/golang.org/x/sys/unix/mksyscall_aix.pl | 385 +++++ vendor/golang.org/x/sys/unix/mksyscall_solaris.pl | 289 ++++ vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 ++++ vendor/golang.org/x/sys/unix/mksysnum_darwin.pl | 39 + vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl | 50 + vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 + vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 + vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 + vendor/golang.org/x/sys/unix/openbsd_pledge.go | 77 +- vendor/golang.org/x/sys/unix/pagesize_unix.go | 2 +- vendor/golang.org/x/sys/unix/race0.go | 2 +- vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 2 +- vendor/golang.org/x/sys/unix/str.go | 2 +- vendor/golang.org/x/sys/unix/syscall.go | 13 +- vendor/golang.org/x/sys/unix/syscall_aix.go | 562 ++++++++ vendor/golang.org/x/sys/unix/syscall_aix_ppc.go | 34 + vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go | 34 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 49 +- vendor/golang.org/x/sys/unix/syscall_darwin.go | 127 +- vendor/golang.org/x/sys/unix/syscall_dragonfly.go | 8 +- vendor/golang.org/x/sys/unix/syscall_freebsd.go | 260 +--- vendor/golang.org/x/sys/unix/syscall_linux.go | 249 +++- vendor/golang.org/x/sys/unix/syscall_linux_386.go | 16 +- .../golang.org/x/sys/unix/syscall_linux_amd64.go | 22 +- vendor/golang.org/x/sys/unix/syscall_linux_arm.go | 10 +- .../golang.org/x/sys/unix/syscall_linux_arm64.go | 62 +- .../golang.org/x/sys/unix/syscall_linux_gc_386.go | 16 + .../x/sys/unix/syscall_linux_gccgo_386.go | 30 + .../x/sys/unix/syscall_linux_gccgo_arm.go | 20 + .../golang.org/x/sys/unix/syscall_linux_mips64x.go | 12 +- .../golang.org/x/sys/unix/syscall_linux_mipsx.go | 20 +- .../golang.org/x/sys/unix/syscall_linux_ppc64x.go | 8 +- .../golang.org/x/sys/unix/syscall_linux_s390x.go | 4 + .../golang.org/x/sys/unix/syscall_linux_sparc64.go | 3 + vendor/golang.org/x/sys/unix/syscall_netbsd.go | 21 +- vendor/golang.org/x/sys/unix/syscall_openbsd.go | 11 +- .../golang.org/x/sys/unix/syscall_openbsd_amd64.go | 4 + vendor/golang.org/x/sys/unix/syscall_solaris.go | 27 +- .../golang.org/x/sys/unix/syscall_solaris_amd64.go | 5 - vendor/golang.org/x/sys/unix/syscall_unix.go | 103 +- vendor/golang.org/x/sys/unix/timestruct.go | 2 +- vendor/golang.org/x/sys/unix/types_aix.go | 229 +++ vendor/golang.org/x/sys/unix/types_dragonfly.go | 17 - vendor/golang.org/x/sys/unix/types_freebsd.go | 17 - vendor/golang.org/x/sys/unix/types_netbsd.go | 11 + vendor/golang.org/x/sys/unix/types_openbsd.go | 17 - vendor/golang.org/x/sys/unix/types_solaris.go | 17 - vendor/golang.org/x/sys/unix/xattr_bsd.go | 231 +++ vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go | 1360 ++++++++++++++++++ vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go | 1361 ++++++++++++++++++ vendor/golang.org/x/sys/unix/zerrors_darwin_386.go | 292 ++-- .../golang.org/x/sys/unix/zerrors_darwin_amd64.go | 292 ++-- vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go | 292 ++-- .../golang.org/x/sys/unix/zerrors_darwin_arm64.go | 292 ++-- .../x/sys/unix/zerrors_dragonfly_amd64.go | 313 ++-- .../golang.org/x/sys/unix/zerrors_freebsd_386.go | 299 ++-- .../golang.org/x/sys/unix/zerrors_freebsd_amd64.go | 299 ++-- .../golang.org/x/sys/unix/zerrors_freebsd_arm.go | 299 ++-- vendor/golang.org/x/sys/unix/zerrors_linux_386.go | 705 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_amd64.go | 704 ++++++--- vendor/golang.org/x/sys/unix/zerrors_linux_arm.go | 706 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_arm64.go | 705 ++++++--- vendor/golang.org/x/sys/unix/zerrors_linux_mips.go | 708 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_mips64.go | 708 ++++++--- .../x/sys/unix/zerrors_linux_mips64le.go | 708 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_mipsle.go | 708 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_ppc64.go | 704 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_ppc64le.go | 704 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_s390x.go | 703 ++++++--- .../golang.org/x/sys/unix/zerrors_linux_sparc64.go | 2 +- vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go | 273 ++-- .../golang.org/x/sys/unix/zerrors_netbsd_amd64.go | 273 ++-- vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go | 273 ++-- .../golang.org/x/sys/unix/zerrors_openbsd_386.go | 287 ++-- .../golang.org/x/sys/unix/zerrors_openbsd_amd64.go | 533 ++++--- .../golang.org/x/sys/unix/zerrors_openbsd_arm.go | 287 ++-- .../golang.org/x/sys/unix/zerrors_solaris_amd64.go | 371 ++--- vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1495 ++++++++++++++++++++ vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go | 1495 ++++++++++++++++++++ .../golang.org/x/sys/unix/zsyscall_darwin_386.go | 149 ++ .../golang.org/x/sys/unix/zsyscall_darwin_amd64.go | 149 ++ .../golang.org/x/sys/unix/zsyscall_darwin_arm.go | 151 +- .../golang.org/x/sys/unix/zsyscall_darwin_arm64.go | 149 ++ .../x/sys/unix/zsyscall_dragonfly_amd64.go | 30 + .../golang.org/x/sys/unix/zsyscall_freebsd_386.go | 21 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 21 +- .../golang.org/x/sys/unix/zsyscall_freebsd_arm.go | 21 +- vendor/golang.org/x/sys/unix/zsyscall_linux_386.go | 263 +++- .../golang.org/x/sys/unix/zsyscall_linux_amd64.go | 259 ++-- vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go | 257 +++- .../golang.org/x/sys/unix/zsyscall_linux_arm64.go | 192 ++- .../golang.org/x/sys/unix/zsyscall_linux_mips.go | 307 ++-- .../golang.org/x/sys/unix/zsyscall_linux_mips64.go | 243 +++- .../x/sys/unix/zsyscall_linux_mips64le.go | 243 +++- .../golang.org/x/sys/unix/zsyscall_linux_mipsle.go | 307 ++-- .../golang.org/x/sys/unix/zsyscall_linux_ppc64.go | 247 +++- .../x/sys/unix/zsyscall_linux_ppc64le.go | 247 +++- .../golang.org/x/sys/unix/zsyscall_linux_s390x.go | 233 ++- .../x/sys/unix/zsyscall_linux_sparc64.go | 461 +++++- .../golang.org/x/sys/unix/zsyscall_netbsd_386.go | 269 ++++ .../golang.org/x/sys/unix/zsyscall_netbsd_amd64.go | 269 ++++ .../golang.org/x/sys/unix/zsyscall_netbsd_arm.go | 269 ++++ .../golang.org/x/sys/unix/zsyscall_openbsd_386.go | 66 + .../x/sys/unix/zsyscall_openbsd_amd64.go | 66 + .../golang.org/x/sys/unix/zsyscall_openbsd_arm.go | 66 + .../x/sys/unix/zsyscall_solaris_amd64.go | 44 + .../golang.org/x/sys/unix/zsysctl_openbsd_386.go | 2 +- .../golang.org/x/sys/unix/zsysctl_openbsd_amd64.go | 53 +- .../golang.org/x/sys/unix/zsysctl_openbsd_arm.go | 2 +- .../golang.org/x/sys/unix/zsysnum_freebsd_386.go | 736 +++++----- .../golang.org/x/sys/unix/zsysnum_freebsd_amd64.go | 736 +++++----- .../golang.org/x/sys/unix/zsysnum_freebsd_arm.go | 736 +++++----- vendor/golang.org/x/sys/unix/zsysnum_linux_386.go | 2 + .../golang.org/x/sys/unix/zsysnum_linux_amd64.go | 2 + vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_arm64.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go | 2 + .../golang.org/x/sys/unix/zsysnum_linux_mips64.go | 2 + .../x/sys/unix/zsysnum_linux_mips64le.go | 2 + .../golang.org/x/sys/unix/zsysnum_linux_mipsle.go | 2 + .../golang.org/x/sys/unix/zsysnum_linux_ppc64.go | 5 + .../golang.org/x/sys/unix/zsysnum_linux_ppc64le.go | 5 + .../golang.org/x/sys/unix/zsysnum_linux_s390x.go | 48 +- .../golang.org/x/sys/unix/zsysnum_linux_sparc64.go | 2 +- vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go | 2 +- .../golang.org/x/sys/unix/zsysnum_netbsd_amd64.go | 2 +- vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go | 2 +- .../golang.org/x/sys/unix/zsysnum_openbsd_386.go | 2 +- .../golang.org/x/sys/unix/zsysnum_openbsd_amd64.go | 25 +- .../golang.org/x/sys/unix/zsysnum_openbsd_arm.go | 2 +- vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go | 306 ++++ vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go | 313 ++++ vendor/golang.org/x/sys/unix/ztypes_darwin_386.go | 112 +- .../golang.org/x/sys/unix/ztypes_darwin_amd64.go | 158 +-- vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go | 112 +- .../golang.org/x/sys/unix/ztypes_darwin_arm64.go | 158 +-- .../x/sys/unix/ztypes_dragonfly_amd64.go | 117 +- vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go | 17 - .../golang.org/x/sys/unix/ztypes_freebsd_amd64.go | 17 - vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go | 17 - vendor/golang.org/x/sys/unix/ztypes_linux_386.go | 1285 +++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go | 1255 ++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_arm.go | 1288 +++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go | 1257 ++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_mips.go | 1254 ++++++++++++++-- .../golang.org/x/sys/unix/ztypes_linux_mips64.go | 1253 ++++++++++++++-- .../golang.org/x/sys/unix/ztypes_linux_mips64le.go | 1253 ++++++++++++++-- .../golang.org/x/sys/unix/ztypes_linux_mipsle.go | 1254 ++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go | 1263 +++++++++++++++-- .../golang.org/x/sys/unix/ztypes_linux_ppc64le.go | 1263 +++++++++++++++-- vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go | 1235 ++++++++++++++-- .../golang.org/x/sys/unix/ztypes_linux_sparc64.go | 208 +-- vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go | 9 + .../golang.org/x/sys/unix/ztypes_netbsd_amd64.go | 9 + vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go | 9 + vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go | 17 - .../golang.org/x/sys/unix/ztypes_openbsd_amd64.go | 108 +- vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go | 17 - .../golang.org/x/sys/unix/ztypes_solaris_amd64.go | 191 ++- vendor/golang.org/x/sys/windows/aliases.go | 13 + vendor/golang.org/x/sys/windows/asm_windows_386.s | 4 +- .../golang.org/x/sys/windows/asm_windows_amd64.s | 2 +- .../golang.org/x/sys/windows/security_windows.go | 4 +- vendor/golang.org/x/sys/windows/service.go | 19 + vendor/golang.org/x/sys/windows/syscall.go | 3 + vendor/golang.org/x/sys/windows/syscall_windows.go | 2 + vendor/golang.org/x/sys/windows/types_windows.go | 176 ++- .../golang.org/x/sys/windows/zsyscall_windows.go | 15 +- 201 files changed, 38361 insertions(+), 8566 deletions(-) create mode 100644 vendor/golang.org/x/sys/cpu/cpu.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gc_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo.c create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mips64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mipsx.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_ppc64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.s create mode 100644 vendor/golang.org/x/sys/unix/.gitignore create mode 100644 vendor/golang.org/x/sys/unix/README.md create mode 100644 vendor/golang.org/x/sys/unix/aliases.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go delete mode 100644 vendor/golang.org/x/sys/unix/flock.go delete mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl.go create mode 100644 vendor/golang.org/x/sys/unix/mkall.sh create mode 100644 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/golang.org/x/sys/unix/mksyscall.pl create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix.pl create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go create mode 100644 vendor/golang.org/x/sys/unix/types_aix.go create mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/windows/aliases.go (limited to 'vendor/golang.org/x/sys') diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go new file mode 100644 index 0000000..3d88f86 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -0,0 +1,38 @@ +// Copyright 2018 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 implements processor feature detection for +// various CPU architectures. +package cpu + +// CacheLinePad is used to pad structs to avoid false sharing. +type CacheLinePad struct{ _ [cacheLineSize]byte } + +// X86 contains the supported CPU features of the +// current X86/AMD64 platform. If the current platform +// is not X86/AMD64 then all feature flags are false. +// +// X86 is padded to avoid false sharing. Further the HasAVX +// and HasAVX2 are only set if the OS supports XMM and YMM +// registers in addition to the CPUID feature bit being set. +var X86 struct { + _ CacheLinePad + HasAES bool // AES hardware implementation (AES NI) + HasADX bool // Multi-precision add-carry instruction extensions + HasAVX bool // Advanced vector extension + HasAVX2 bool // Advanced vector extension 2 + HasBMI1 bool // Bit manipulation instruction set 1 + HasBMI2 bool // Bit manipulation instruction set 2 + HasERMS bool // Enhanced REP for MOVSB and STOSB + HasFMA bool // Fused-multiply-add instructions + HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers. + HasPCLMULQDQ bool // PCLMULQDQ instruction - most often used for AES-GCM + HasPOPCNT bool // Hamming weight instruction POPCNT. + HasSSE2 bool // Streaming SIMD extension 2 (always available on amd64) + HasSSE3 bool // Streaming SIMD extension 3 + HasSSSE3 bool // Supplemental streaming SIMD extension 3 + HasSSE41 bool // Streaming SIMD extension 4 and 4.1 + HasSSE42 bool // Streaming SIMD extension 4 and 4.2 + _ CacheLinePad +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm.go b/vendor/golang.org/x/sys/cpu/cpu_arm.go new file mode 100644 index 0000000..d93036f --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm.go @@ -0,0 +1,7 @@ +// Copyright 2018 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 cacheLineSize = 32 diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_arm64.go new file mode 100644 index 0000000..1d2ab29 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -0,0 +1,7 @@ +// Copyright 2018 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 cacheLineSize = 64 diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go new file mode 100644 index 0000000..f7cb469 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go @@ -0,0 +1,16 @@ +// Copyright 2018 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 amd64 amd64p32 +// +build !gccgo + +package cpu + +// cpuid is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func xgetbv() (eax, edx uint32) diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo.c b/vendor/golang.org/x/sys/cpu/cpu_gccgo.c new file mode 100644 index 0000000..e363c7d --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo.c @@ -0,0 +1,43 @@ +// Copyright 2018 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 amd64 amd64p32 +// +build gccgo + +#include +#include + +// Need to wrap __get_cpuid_count because it's declared as static. +int +gccgoGetCpuidCount(uint32_t leaf, uint32_t subleaf, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + return __get_cpuid_count(leaf, subleaf, eax, ebx, ecx, edx); +} + +// xgetbv reads the contents of an XCR (Extended Control Register) +// specified in the ECX register into registers EDX:EAX. +// Currently, the only supported value for XCR is 0. +// +// TODO: Replace with a better alternative: +// +// #include +// +// #pragma GCC target("xsave") +// +// void gccgoXgetbv(uint32_t *eax, uint32_t *edx) { +// unsigned long long x = _xgetbv(0); +// *eax = x & 0xffffffff; +// *edx = (x >> 32) & 0xffffffff; +// } +// +// Note that _xgetbv is defined starting with GCC 8. +void +gccgoXgetbv(uint32_t *eax, uint32_t *edx) +{ + __asm(" xorl %%ecx, %%ecx\n" + " xgetbv" + : "=a"(*eax), "=d"(*edx)); +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo.go new file mode 100644 index 0000000..ba49b91 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo.go @@ -0,0 +1,26 @@ +// Copyright 2018 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 amd64 amd64p32 +// +build gccgo + +package cpu + +//extern gccgoGetCpuidCount +func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32) + +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) { + var a, b, c, d uint32 + gccgoGetCpuidCount(eaxArg, ecxArg, &a, &b, &c, &d) + return a, b, c, d +} + +//extern gccgoXgetbv +func gccgoXgetbv(eax, edx *uint32) + +func xgetbv() (eax, edx uint32) { + var a, d uint32 + gccgoXgetbv(&a, &d) + return a, d +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go new file mode 100644 index 0000000..6165f12 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go @@ -0,0 +1,9 @@ +// Copyright 2018 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 mips64 mips64le + +package cpu + +const cacheLineSize = 32 diff --git a/vendor/golang.org/x/sys/cpu/cpu_mipsx.go b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go new file mode 100644 index 0000000..1269eee --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go @@ -0,0 +1,9 @@ +// Copyright 2018 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 mips mipsle + +package cpu + +const cacheLineSize = 32 diff --git a/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go new file mode 100644 index 0000000..d10759a --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go @@ -0,0 +1,9 @@ +// Copyright 2018 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 ppc64 ppc64le + +package cpu + +const cacheLineSize = 128 diff --git a/vendor/golang.org/x/sys/cpu/cpu_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_s390x.go new file mode 100644 index 0000000..684c4f0 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_s390x.go @@ -0,0 +1,7 @@ +// Copyright 2018 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 cacheLineSize = 256 diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go new file mode 100644 index 0000000..71e288b --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go @@ -0,0 +1,55 @@ +// Copyright 2018 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 amd64 amd64p32 + +package cpu + +const cacheLineSize = 64 + +func init() { + maxID, _, _, _ := cpuid(0, 0) + + if maxID < 1 { + return + } + + _, _, ecx1, edx1 := cpuid(1, 0) + X86.HasSSE2 = isSet(26, edx1) + + X86.HasSSE3 = isSet(0, ecx1) + X86.HasPCLMULQDQ = isSet(1, ecx1) + X86.HasSSSE3 = isSet(9, ecx1) + X86.HasFMA = isSet(12, ecx1) + X86.HasSSE41 = isSet(19, ecx1) + X86.HasSSE42 = isSet(20, ecx1) + X86.HasPOPCNT = isSet(23, ecx1) + X86.HasAES = isSet(25, ecx1) + X86.HasOSXSAVE = isSet(27, ecx1) + + osSupportsAVX := false + // For XGETBV, OSXSAVE bit is required and sufficient. + if X86.HasOSXSAVE { + eax, _ := xgetbv() + // Check if XMM and YMM registers have OS support. + osSupportsAVX = isSet(1, eax) && isSet(2, eax) + } + + X86.HasAVX = isSet(28, ecx1) && osSupportsAVX + + if maxID < 7 { + return + } + + _, ebx7, _, _ := cpuid(7, 0) + X86.HasBMI1 = isSet(3, ebx7) + X86.HasAVX2 = isSet(5, ebx7) && osSupportsAVX + X86.HasBMI2 = isSet(8, ebx7) + X86.HasERMS = isSet(9, ebx7) + X86.HasADX = isSet(19, ebx7) +} + +func isSet(bitpos uint, value uint32) bool { + return value&(1<