]> Cypherpunks.ru repositories - gostls13.git/commitdiff
all: update golang.org/x/* dependencies
authorEmmanuel T Odeke <emmanuel@orijtech.com>
Fri, 26 Feb 2021 10:27:24 +0000 (02:27 -0800)
committerEmmanuel Odeke <emmanuel@orijtech.com>
Mon, 15 Mar 2021 19:02:39 +0000 (19:02 +0000)
Updates src/ and src/cmd/* dependencies, using

    go mod vendor

as well as

    updatestd -branch=master -goroot=$GOROOT

This change was ran in anticipation of bringing in x/net/http2 CL 237957.

For #32112.
For #36905.

Change-Id: If8cefc348463b6d82d85020b57db411213720ef8
Reviewed-on: https://go-review.googlesource.com/c/go/+/296789
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Trust: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
397 files changed:
src/cmd/go.mod
src/cmd/go.sum
src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner.go
src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_llvm.go
src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_nm.go
src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils.go
src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm.go
src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go
src/cmd/vendor/github.com/google/pprof/internal/driver/webhtml.go
src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec.go
src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph.go
src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement.go
src/cmd/vendor/github.com/google/pprof/internal/report/source.go
src/cmd/vendor/github.com/google/pprof/internal/report/source_html.go
src/cmd/vendor/github.com/google/pprof/profile/merge.go
src/cmd/vendor/github.com/google/pprof/profile/profile.go
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/inst.go
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/plan9x.go
src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/gnu.go
src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/tables.go
src/cmd/vendor/golang.org/x/arch/x86/x86asm/tables.go
src/cmd/vendor/golang.org/x/crypto/ed25519/ed25519.go
src/cmd/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go
src/cmd/vendor/golang.org/x/crypto/ssh/terminal/terminal.go
src/cmd/vendor/golang.org/x/sys/plan9/asm.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_386.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_arm.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/const_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/dir_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/env_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/errors_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/mkall.sh [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/mkerrors.sh [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/pwd_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/race.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/race0.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/str.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/syscall.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/syscall_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/aliases.go
src/cmd/vendor/golang.org/x/sys/unix/asm_zos_s390x.s [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/cap_freebsd.go
src/cmd/vendor/golang.org/x/sys/unix/constants.go
src/cmd/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/dev_zos.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/dirent.go
src/cmd/vendor/golang.org/x/sys/unix/endian_big.go
src/cmd/vendor/golang.org/x/sys/unix/endian_little.go
src/cmd/vendor/golang.org/x/sys/unix/env_unix.go
src/cmd/vendor/golang.org/x/sys/unix/epoll_zos.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/fcntl.go
src/cmd/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
src/cmd/vendor/golang.org/x/sys/unix/fdset.go
src/cmd/vendor/golang.org/x/sys/unix/fstatfs_zos.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/gccgo.go
src/cmd/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ioctl.go
src/cmd/vendor/golang.org/x/sys/unix/ioctl_zos.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
src/cmd/vendor/golang.org/x/sys/unix/pagesize_unix.go
src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go
src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go
src/cmd/vendor/golang.org/x/sys/unix/race.go
src/cmd/vendor/golang.org/x/sys/unix/race0.go
src/cmd/vendor/golang.org/x/sys/unix/readdirent_getdents.go
src/cmd/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
src/cmd/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
src/cmd/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
src/cmd/vendor/golang.org/x/sys/unix/str.go
src/cmd/vendor/golang.org/x/sys/unix/syscall.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_illumos.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_unix.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/timestruct.go
src/cmd/vendor/golang.org/x/sys/unix/xattr_bsd.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/windows/exec_windows.go
src/cmd/vendor/golang.org/x/sys/windows/mkerrors.bash
src/cmd/vendor/golang.org/x/sys/windows/security_windows.go
src/cmd/vendor/golang.org/x/sys/windows/syscall_windows.go
src/cmd/vendor/golang.org/x/sys/windows/types_windows.go
src/cmd/vendor/golang.org/x/sys/windows/zerrors_windows.go
src/cmd/vendor/golang.org/x/sys/windows/zsyscall_windows.go
src/cmd/vendor/golang.org/x/term/AUTHORS [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/CONTRIBUTING.md [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/CONTRIBUTORS [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/LICENSE [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/PATENTS [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/README.md [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/go.mod [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/go.sum [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/term.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go with 52% similarity]
src/cmd/vendor/golang.org/x/term/term_plan9.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/term_solaris.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go with 61% similarity]
src/cmd/vendor/golang.org/x/term/term_unix.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util.go with 53% similarity]
src/cmd/vendor/golang.org/x/term/term_unix_aix.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go with 74% similarity]
src/cmd/vendor/golang.org/x/term/term_unix_bsd.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go with 80% similarity]
src/cmd/vendor/golang.org/x/term/term_unix_linux.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go with 71% similarity]
src/cmd/vendor/golang.org/x/term/term_unix_zos.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/term_unsupported.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/term/term_windows.go [moved from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go with 53% similarity]
src/cmd/vendor/golang.org/x/term/terminal.go [new file with mode: 0644]
src/cmd/vendor/modules.txt
src/go.mod
src/go.sum
src/net/http/h2_bundle.go
src/vendor/golang.org/x/crypto/chacha20/chacha_arm64.go
src/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s
src/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go
src/vendor/golang.org/x/crypto/chacha20/chacha_ppc64le.go
src/vendor/golang.org/x/crypto/chacha20/chacha_ppc64le.s
src/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go
src/vendor/golang.org/x/crypto/chacha20/chacha_s390x.s
src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go
src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s
src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go
src/vendor/golang.org/x/crypto/curve25519/curve25519_amd64.go
src/vendor/golang.org/x/crypto/curve25519/curve25519_amd64.s
src/vendor/golang.org/x/crypto/curve25519/curve25519_noasm.go
src/vendor/golang.org/x/crypto/internal/subtle/aliasing.go
src/vendor/golang.org/x/crypto/internal/subtle/aliasing_purego.go [moved from src/vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go with 97% similarity]
src/vendor/golang.org/x/crypto/poly1305/bits_compat.go
src/vendor/golang.org/x/crypto/poly1305/bits_go1.13.go
src/vendor/golang.org/x/crypto/poly1305/mac_noasm.go
src/vendor/golang.org/x/crypto/poly1305/sum_amd64.go
src/vendor/golang.org/x/crypto/poly1305/sum_amd64.s
src/vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go
src/vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s
src/vendor/golang.org/x/crypto/poly1305/sum_s390x.go
src/vendor/golang.org/x/crypto/poly1305/sum_s390x.s
src/vendor/golang.org/x/net/idna/idna10.0.0.go
src/vendor/golang.org/x/net/idna/idna9.0.0.go
src/vendor/golang.org/x/net/idna/tables10.0.0.go
src/vendor/golang.org/x/net/idna/tables11.0.0.go
src/vendor/golang.org/x/net/idna/tables12.0.0.go
src/vendor/golang.org/x/net/idna/tables13.0.0.go
src/vendor/golang.org/x/net/idna/tables9.0.0.go
src/vendor/golang.org/x/net/nettest/nettest_stub.go
src/vendor/golang.org/x/net/nettest/nettest_unix.go
src/vendor/golang.org/x/net/route/address.go
src/vendor/golang.org/x/net/route/binary.go
src/vendor/golang.org/x/net/route/interface.go
src/vendor/golang.org/x/net/route/interface_announce.go
src/vendor/golang.org/x/net/route/interface_classic.go
src/vendor/golang.org/x/net/route/interface_multicast.go
src/vendor/golang.org/x/net/route/message.go
src/vendor/golang.org/x/net/route/route.go
src/vendor/golang.org/x/net/route/route_classic.go
src/vendor/golang.org/x/net/route/sys.go
src/vendor/golang.org/x/net/route/syscall.go
src/vendor/golang.org/x/net/route/syscall_go1_12_darwin.go
src/vendor/golang.org/x/sys/cpu/cpu_aix.go
src/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
src/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
src/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
src/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
src/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
src/vendor/golang.org/x/sys/cpu/cpu_linux.go
src/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
src/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
src/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
src/vendor/golang.org/x/sys/cpu/cpu_mips64x.go
src/vendor/golang.org/x/sys/cpu/cpu_mipsx.go
src/vendor/golang.org/x/sys/cpu/cpu_other_arm.go
src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
src/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
src/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
src/vendor/golang.org/x/sys/cpu/cpu_wasm.go
src/vendor/golang.org/x/sys/cpu/cpu_x86.go
src/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
src/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
src/vendor/golang.org/x/text/unicode/bidi/bidi.go
src/vendor/golang.org/x/text/unicode/bidi/core.go
src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
src/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
src/vendor/modules.txt

index 306143f088c6b9f46dfc8f31dea477898b75c0cd..d78fabe1962cbb3c68512352a4bc18661fb5cd96 100644 (file)
@@ -1,12 +1,13 @@
 module cmd
 
-go 1.16
+go 1.17
 
 require (
-       github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2
-       golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff
-       golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
+       github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5
+       golang.org/x/arch v0.0.0-20210308155006-05f8f0431f72
+       golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
        golang.org/x/mod v0.4.3-0.20210310185834-19d50cac98aa
-       golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e // indirect
-       golang.org/x/tools v0.1.1-0.20210220032852-2363391a5b2f
+       golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 // indirect
+       golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect
+       golang.org/x/tools v0.1.1-0.20210312185553-8e4f4c86593a
 )
index 97fbd5c0a90890e7060f1c6b0bfae41c57b8d2a1..706230f4cf05b3dc18096ce66f494bb3763bcae2 100644 (file)
@@ -1,18 +1,18 @@
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2 h1:HyOHhUtuB/Ruw/L5s5pG2D0kckkN2/IzBs9OClGHnHI=
-github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5 h1:zIaiqGYDQwa4HVx5wGRTXbx38Pqxjemn4BP98wpzpXo=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff h1:XmKBi9R6duxOB3lfc72wyrwiOY7X2Jl1wuI+RFOyMDE=
-golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4=
+golang.org/x/arch v0.0.0-20210308155006-05f8f0431f72 h1:CdaLHkic8S6xdhpWgHmtWij2rv2DTGwPuJZjjEDGk2w=
+golang.org/x/arch v0.0.0-20210308155006-05f8f0431f72/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
-golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.3-0.20210310185834-19d50cac98aa h1:++oSKjoJSsXNHyhUdK1BtBKMAaMHER+GWyKN3319OZA=
 golang.org/x/mod v0.4.3-0.20210310185834-19d50cac98aa/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -23,17 +23,22 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e h1:f5mksnk+hgXHnImpZoWj64ja99j9zV7YUgrVG95uFE4=
-golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY=
+golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE=
+golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.1.1-0.20210220032852-2363391a5b2f h1:R8L2zr6nSvQoIIw/EiaPP6HfmxeiArf+Nh/CWTC60wQ=
-golang.org/x/tools v0.1.1-0.20210220032852-2363391a5b2f/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
+golang.org/x/tools v0.1.1-0.20210312185553-8e4f4c86593a h1:dM42cKDDlU6VAcfE6/ANedIkHqAPncj3GWNGqjv0f0Q=
+golang.org/x/tools v0.1.1-0.20210312185553-8e4f4c86593a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
index c0661bf4aa9a3c640f6e3046b41075fffb340096..0c702398d3a23fe9768cdbbf6e4b672af24c76d2 100644 (file)
@@ -70,7 +70,11 @@ func (a *addr2LinerJob) write(s string) error {
 }
 
 func (a *addr2LinerJob) readLine() (string, error) {
-       return a.out.ReadString('\n')
+       s, err := a.out.ReadString('\n')
+       if err != nil {
+               return "", err
+       }
+       return strings.TrimSpace(s), nil
 }
 
 // close releases any resources used by the addr2liner object.
@@ -115,19 +119,11 @@ func newAddr2Liner(cmd, file string, base uint64) (*addr2Liner, error) {
        return a, nil
 }
 
-func (d *addr2Liner) readString() (string, error) {
-       s, err := d.rw.readLine()
-       if err != nil {
-               return "", err
-       }
-       return strings.TrimSpace(s), nil
-}
-
 // readFrame parses the addr2line output for a single address. It
 // returns a populated plugin.Frame and whether it has reached the end of the
 // data.
 func (d *addr2Liner) readFrame() (plugin.Frame, bool) {
-       funcname, err := d.readString()
+       funcname, err := d.rw.readLine()
        if err != nil {
                return plugin.Frame{}, true
        }
@@ -135,12 +131,12 @@ func (d *addr2Liner) readFrame() (plugin.Frame, bool) {
                // If addr2line returns a hex address we can assume it is the
                // sentinel. Read and ignore next two lines of output from
                // addr2line
-               d.readString()
-               d.readString()
+               d.rw.readLine()
+               d.rw.readLine()
                return plugin.Frame{}, true
        }
 
-       fileline, err := d.readString()
+       fileline, err := d.rw.readLine()
        if err != nil {
                return plugin.Frame{}, true
        }
@@ -186,7 +182,7 @@ func (d *addr2Liner) rawAddrInfo(addr uint64) ([]plugin.Frame, error) {
                return nil, err
        }
 
-       resp, err := d.readString()
+       resp, err := d.rw.readLine()
        if err != nil {
                return nil, err
        }
index 68fa5593ad1c80f01267472c325c444e0bc656d8..24c48e649b8875ff0dd0f7fb753a4a8098456911 100644 (file)
@@ -43,15 +43,21 @@ type llvmSymbolizerJob struct {
        cmd *exec.Cmd
        in  io.WriteCloser
        out *bufio.Reader
+       // llvm-symbolizer requires the symbol type, CODE or DATA, for symbolization.
+       symType string
 }
 
 func (a *llvmSymbolizerJob) write(s string) error {
-       _, err := fmt.Fprint(a.in, s+"\n")
+       _, err := fmt.Fprintln(a.in, a.symType, s)
        return err
 }
 
 func (a *llvmSymbolizerJob) readLine() (string, error) {
-       return a.out.ReadString('\n')
+       s, err := a.out.ReadString('\n')
+       if err != nil {
+               return "", err
+       }
+       return strings.TrimSpace(s), nil
 }
 
 // close releases any resources used by the llvmSymbolizer object.
@@ -64,13 +70,17 @@ func (a *llvmSymbolizerJob) close() {
 // information about the given executable file. If file is a shared
 // library, base should be the address at which it was mapped in the
 // program under consideration.
-func newLLVMSymbolizer(cmd, file string, base uint64) (*llvmSymbolizer, error) {
+func newLLVMSymbolizer(cmd, file string, base uint64, isData bool) (*llvmSymbolizer, error) {
        if cmd == "" {
                cmd = defaultLLVMSymbolizer
        }
 
        j := &llvmSymbolizerJob{
-               cmd: exec.Command(cmd, "-inlining", "-demangle=false"),
+               cmd:     exec.Command(cmd, "-inlining", "-demangle=false"),
+               symType: "CODE",
+       }
+       if isData {
+               j.symType = "DATA"
        }
 
        var err error
@@ -97,19 +107,11 @@ func newLLVMSymbolizer(cmd, file string, base uint64) (*llvmSymbolizer, error) {
        return a, nil
 }
 
-func (d *llvmSymbolizer) readString() (string, error) {
-       s, err := d.rw.readLine()
-       if err != nil {
-               return "", err
-       }
-       return strings.TrimSpace(s), nil
-}
-
 // readFrame parses the llvm-symbolizer output for a single address. It
 // returns a populated plugin.Frame and whether it has reached the end of the
 // data.
 func (d *llvmSymbolizer) readFrame() (plugin.Frame, bool) {
-       funcname, err := d.readString()
+       funcname, err := d.rw.readLine()
        if err != nil {
                return plugin.Frame{}, true
        }
@@ -121,13 +123,17 @@ func (d *llvmSymbolizer) readFrame() (plugin.Frame, bool) {
                funcname = ""
        }
 
-       fileline, err := d.readString()
+       fileline, err := d.rw.readLine()
        if err != nil {
                return plugin.Frame{Func: funcname}, true
        }
 
        linenumber := 0
-       if fileline == "??:0" {
+       // The llvm-symbolizer outputs the <file_name>:<line_number>:<column_number>.
+       // When it cannot identify the source code location, it outputs "??:0:0".
+       // Older versions output just the filename and line number, so we check for
+       // both conditions here.
+       if fileline == "??:0" || fileline == "??:0:0" {
                fileline = ""
        } else {
                switch split := strings.Split(fileline, ":"); len(split) {
index 1987bd3dabab36b58837b0b795a988b0d737bc5e..8e0ccc728d5fde14501690555fda6374bbd07361 100644 (file)
@@ -29,27 +29,42 @@ const (
        defaultNM = "nm"
 )
 
-// addr2LinerNM is a connection to an nm command for obtaining address
+// addr2LinerNM is a connection to an nm command for obtaining symbol
 // information from a binary.
 type addr2LinerNM struct {
-       m []symbolInfo // Sorted list of addresses from binary.
+       m []symbolInfo // Sorted list of symbol addresses from binary.
 }
 
 type symbolInfo struct {
        address uint64
+       size    uint64
        name    string
+       symType string
 }
 
-//  newAddr2LinerNM starts the given nm command reporting information about the
-// given executable file. If file is a shared library, base should be
-// the address at which it was mapped in the program under
-// consideration.
+// isData returns if the symbol has a known data object symbol type.
+func (s *symbolInfo) isData() bool {
+       // The following symbol types are taken from https://linux.die.net/man/1/nm:
+       // Lowercase letter means local symbol, uppercase denotes a global symbol.
+       // - b or B: the symbol is in the uninitialized data section, e.g. .bss;
+       // - d or D: the symbol is in the initialized data section;
+       // - r or R: the symbol is in a read only data section;
+       // - v or V: the symbol is a weak object;
+       // - W: the symbol is a weak symbol that has not been specifically tagged as a
+       //      weak object symbol. Experiments with some binaries, showed these to be
+       //      mostly data objects.
+       return strings.ContainsAny(s.symType, "bBdDrRvVW")
+}
+
+// newAddr2LinerNM starts the given nm command reporting information about the
+// given executable file. If file is a shared library, base should be the
+// address at which it was mapped in the program under consideration.
 func newAddr2LinerNM(cmd, file string, base uint64) (*addr2LinerNM, error) {
        if cmd == "" {
                cmd = defaultNM
        }
        var b bytes.Buffer
-       c := exec.Command(cmd, "-n", file)
+       c := exec.Command(cmd, "--numeric-sort", "--print-size", "--format=posix", file)
        c.Stdout = &b
        if err := c.Run(); err != nil {
                return nil, err
@@ -74,17 +89,23 @@ func parseAddr2LinerNM(base uint64, nm io.Reader) (*addr2LinerNM, error) {
                        return nil, err
                }
                line = strings.TrimSpace(line)
-               fields := strings.SplitN(line, " ", 3)
-               if len(fields) != 3 {
+               fields := strings.Split(line, " ")
+               if len(fields) != 4 {
+                       continue
+               }
+               address, err := strconv.ParseUint(fields[2], 16, 64)
+               if err != nil {
                        continue
                }
-               address, err := strconv.ParseUint(fields[0], 16, 64)
+               size, err := strconv.ParseUint(fields[3], 16, 64)
                if err != nil {
                        continue
                }
                a.m = append(a.m, symbolInfo{
                        address: address + base,
-                       name:    fields[2],
+                       size:    size,
+                       name:    fields[0],
+                       symType: fields[1],
                })
        }
 
@@ -94,7 +115,7 @@ func parseAddr2LinerNM(base uint64, nm io.Reader) (*addr2LinerNM, error) {
 // addrInfo returns the stack frame information for a specific program
 // address. It returns nil if the address could not be identified.
 func (a *addr2LinerNM) addrInfo(addr uint64) ([]plugin.Frame, error) {
-       if len(a.m) == 0 || addr < a.m[0].address || addr > a.m[len(a.m)-1].address {
+       if len(a.m) == 0 || addr < a.m[0].address || addr >= (a.m[len(a.m)-1].address+a.m[len(a.m)-1].size) {
                return nil, nil
        }
 
@@ -113,12 +134,11 @@ func (a *addr2LinerNM) addrInfo(addr uint64) ([]plugin.Frame, error) {
                }
        }
 
-       // Address is between a.m[low] and a.m[high].
-       // Pick low, as it represents [low, high).
-       f := []plugin.Frame{
-               {
-                       Func: a.m[low].name,
-               },
+       // Address is between a.m[low] and a.m[high]. Pick low, as it represents
+       // [low, high). For data symbols, we use a strict check that the address is in
+       // the [start, start + size) range of a.m[low].
+       if a.m[low].isData() && addr >= (a.m[low].address+a.m[low].size) {
+               return nil, nil
        }
-       return f, nil
+       return []plugin.Frame{{Func: a.m[low].name}}, nil
 }
index 4b67cc4ab05314f76ad6145c0fdf7c483825837f..576a6ee66a18477140e284e2a539cff4497c1e2a 100644 (file)
@@ -18,6 +18,7 @@ package binutils
 import (
        "debug/elf"
        "debug/macho"
+       "debug/pe"
        "encoding/binary"
        "errors"
        "fmt"
@@ -255,7 +256,7 @@ func (bu *Binutils) Disasm(file string, start, end uint64, intelSyntax bool) ([]
        if !b.objdumpFound {
                return nil, errors.New("cannot disasm: no objdump tool available")
        }
-       args := []string{"--disassemble-all", "--demangle", "--no-show-raw-insn",
+       args := []string{"--disassemble", "--demangle", "--no-show-raw-insn",
                "--line-numbers", fmt.Sprintf("--start-address=%#x", start),
                fmt.Sprintf("--stop-address=%#x", end)}
 
@@ -337,6 +338,15 @@ func (bu *Binutils) Open(name string, start, limit, offset uint64) (plugin.ObjFi
                return f, nil
        }
 
+       peMagic := string(header[:2])
+       if peMagic == "MZ" {
+               f, err := b.openPE(name, start, limit, offset)
+               if err != nil {
+                       return nil, fmt.Errorf("error reading PE file %s: %v", name, err)
+               }
+               return f, nil
+       }
+
        return nil, fmt.Errorf("unrecognized binary format: %s", name)
 }
 
@@ -440,7 +450,23 @@ func (b *binrep) openELF(name string, start, limit, offset uint64) (plugin.ObjFi
                }
        }
 
-       base, err := elfexec.GetBase(&ef.FileHeader, elfexec.FindTextProgHeader(ef), stextOffset, start, limit, offset)
+       var ph *elf.ProgHeader
+       // For user space executables, find the actual program segment that is
+       // associated with the given mapping. Skip this search if limit <= start.
+       // We cannot use just a check on the start address of the mapping to tell if
+       // it's a kernel / .ko module mapping, because with quipper address remapping
+       // enabled, the address would be in the lower half of the address space.
+       if stextOffset == nil && start < limit && limit < (uint64(1)<<63) {
+               ph, err = elfexec.FindProgHeaderForMapping(ef, offset, limit-start)
+               if err != nil {
+                       return nil, fmt.Errorf("failed to find program header for file %q, mapping pgoff %x, memsz=%x: %v", name, offset, limit-start, err)
+               }
+       } else {
+               // For the kernel, find the program segment that includes the .text section.
+               ph = elfexec.FindTextProgHeader(ef)
+       }
+
+       base, err := elfexec.GetBase(&ef.FileHeader, ph, stextOffset, start, limit, offset)
        if err != nil {
                return nil, fmt.Errorf("could not identify base for %s: %v", name, err)
        }
@@ -451,10 +477,38 @@ func (b *binrep) openELF(name string, start, limit, offset uint64) (plugin.ObjFi
                        buildID = fmt.Sprintf("%x", id)
                }
        }
+       isData := ph != nil && ph.Flags&elf.PF_X == 0
+       if b.fast || (!b.addr2lineFound && !b.llvmSymbolizerFound) {
+               return &fileNM{file: file{b, name, base, buildID, isData}}, nil
+       }
+       return &fileAddr2Line{file: file{b, name, base, buildID, isData}}, nil
+}
+
+func (b *binrep) openPE(name string, start, limit, offset uint64) (plugin.ObjFile, error) {
+       pf, err := pe.Open(name)
+       if err != nil {
+               return nil, fmt.Errorf("error parsing %s: %v", name, err)
+       }
+       defer pf.Close()
+
+       var imageBase uint64
+       switch h := pf.OptionalHeader.(type) {
+       case *pe.OptionalHeader32:
+               imageBase = uint64(h.ImageBase)
+       case *pe.OptionalHeader64:
+               imageBase = uint64(h.ImageBase)
+       default:
+               return nil, fmt.Errorf("unknown OptionalHeader %T", pf.OptionalHeader)
+       }
+
+       var base uint64
+       if start > 0 {
+               base = start - imageBase
+       }
        if b.fast || (!b.addr2lineFound && !b.llvmSymbolizerFound) {
-               return &fileNM{file: file{b, name, base, buildID}}, nil
+               return &fileNM{file: file{b: b, name: name, base: base}}, nil
        }
-       return &fileAddr2Line{file: file{b, name, base, buildID}}, nil
+       return &fileAddr2Line{file: file{b: b, name: name, base: base}}, nil
 }
 
 // file implements the binutils.ObjFile interface.
@@ -463,6 +517,7 @@ type file struct {
        name    string
        base    uint64
        buildID string
+       isData  bool
 }
 
 func (f *file) Name() string {
@@ -538,7 +593,7 @@ func (f *fileAddr2Line) SourceLine(addr uint64) ([]plugin.Frame, error) {
 }
 
 func (f *fileAddr2Line) init() {
-       if llvmSymbolizer, err := newLLVMSymbolizer(f.b.llvmSymbolizer, f.name, f.base); err == nil {
+       if llvmSymbolizer, err := newLLVMSymbolizer(f.b.llvmSymbolizer, f.name, f.base, f.isData); err == nil {
                f.llvmSymbolizer = llvmSymbolizer
                return
        }
index d0be614bdc4186e4569ba3e45e5f59dfc9b0eb87..e64adf58cd6bd4e3698b0181f870894e40e2a66a 100644 (file)
@@ -19,6 +19,7 @@ import (
        "io"
        "regexp"
        "strconv"
+       "strings"
 
        "github.com/google/pprof/internal/plugin"
        "github.com/ianlancetaylor/demangle"
@@ -121,6 +122,7 @@ func disassemble(asm []byte) ([]plugin.Inst, error) {
                                break
                        }
                }
+               input = strings.TrimSpace(input)
 
                if fields := objdumpAsmOutputRE.FindStringSubmatch(input); len(fields) == 3 {
                        if address, err := strconv.ParseUint(fields[1], 16, 64); err == nil {
@@ -167,6 +169,7 @@ func nextSymbol(buf *bytes.Buffer) (uint64, string, error) {
                                return 0, "", err
                        }
                }
+               line = strings.TrimSpace(line)
 
                if fields := nmOutputRE.FindStringSubmatch(line); len(fields) == 4 {
                        if address, err := strconv.ParseUint(fields[1], 16, 64); err == nil {
index 878f2e1ead156a4cda6c9ad68f9a0f91e9ef921e..3967a12d45affbb2ec4c818da69f7fa881382130 100644 (file)
@@ -163,7 +163,7 @@ func applyCommandOverrides(cmd string, outputFormat int, cfg config) config {
        trim := cfg.Trim
 
        switch cmd {
-       case "disasm", "weblist":
+       case "disasm":
                trim = false
                cfg.Granularity = "addresses"
                // Force the 'noinlines' mode so that source locations for a given address
@@ -172,6 +172,10 @@ func applyCommandOverrides(cmd string, outputFormat int, cfg config) config {
                // This is because the merge is done by address and in case of an inlined
                // stack each of the inlined entries is a separate callgraph node.
                cfg.NoInlines = true
+       case "weblist":
+               trim = false
+               cfg.Granularity = "addresses"
+               cfg.NoInlines = false // Need inline info to support call expansion
        case "peek":
                trim = false
        case "list":
index 4f7610c7e5475693886c1eabb40c85577af7f23e..b8e8b50b94d63b9eb85ff381f7029c76523ce871 100644 (file)
@@ -62,6 +62,7 @@ a {
 .header .title h1 {
   font-size: 1.75em;
   margin-right: 1rem;
+  margin-bottom: 4px;
 }
 .header .title a {
   color: #212121;
index d520765cc9100d763040fd5f3932debe37c7838a..3b3c6ee89ffd00b55d6c49063616756c9204716d 100644 (file)
@@ -283,3 +283,84 @@ func FindTextProgHeader(f *elf.File) *elf.ProgHeader {
        }
        return nil
 }
+
+// FindProgHeaderForMapping returns the loadable program segment header that is
+// fully contained in the runtime mapping with file offset pgoff and memory size
+// memsz, or an error if the segment cannot be determined. The function returns
+// a nil program header and no error if the ELF binary has no loadable segments.
+func FindProgHeaderForMapping(f *elf.File, pgoff, memsz uint64) (*elf.ProgHeader, error) {
+       var headers []*elf.ProgHeader
+       loadables := 0
+       for _, p := range f.Progs {
+               if p.Type == elf.PT_LOAD && pgoff <= p.Off && p.Off+p.Memsz <= pgoff+memsz {
+                       headers = append(headers, &p.ProgHeader)
+               }
+               if p.Type == elf.PT_LOAD {
+                       loadables++
+               }
+       }
+       if len(headers) == 1 {
+               return headers[0], nil
+       }
+       // Some ELF files don't contain any program segments, e.g. .ko loadable kernel
+       // modules. Don't return an error in such cases.
+       if loadables == 0 {
+               return nil, nil
+       }
+       if len(headers) == 0 {
+               return nil, fmt.Errorf("no program header matches file offset %x and memory size %x", pgoff, memsz)
+       }
+
+       // Segments are mapped page aligned. In some cases, segments may be smaller
+       // than a page, which causes the next segment to start at a file offset that
+       // is logically on the same page if we were to align file offsets by page.
+       // Example:
+       //  LOAD           0x0000000000000000 0x0000000000400000 0x0000000000400000
+       //                 0x00000000000006fc 0x00000000000006fc  R E    0x200000
+       //  LOAD           0x0000000000000e10 0x0000000000600e10 0x0000000000600e10
+       //                 0x0000000000000230 0x0000000000000238  RW     0x200000
+       //
+       // In this case, perf records the following mappings for this executable:
+       // 0 0 [0xc0]: PERF_RECORD_MMAP2 87867/87867: [0x400000(0x1000) @ 0 00:3c 512041 0]: r-xp exename
+       // 0 0 [0xc0]: PERF_RECORD_MMAP2 87867/87867: [0x600000(0x2000) @ 0 00:3c 512041 0]: rw-p exename
+       //
+       // Both mappings have file offset 0. The first mapping is one page length and
+       // it can include only the first loadable segment. Due to page alignment, the
+       // second mapping starts also at file offset 0, and it spans two pages. It can
+       // include both the first and the second loadable segments. We must return the
+       // correct program header to compute the correct base offset.
+       //
+       // We cannot use the mapping protections to distinguish between segments,
+       // because protections are not passed through to this function.
+       // We cannot use the start address to differentiate between segments, because
+       // with ASLR, the mapping start address can be any value.
+       //
+       // We use a heuristic to compute the minimum mapping size required for a
+       // segment, assuming mappings are 4k page aligned, and return the segment that
+       // matches the given mapping size.
+       const pageSize = 4096
+
+       // The memory size based heuristic makes sense only if the mapping size is a
+       // multiple of 4k page size.
+       if memsz%pageSize != 0 {
+               return nil, fmt.Errorf("mapping size = %x and %d segments match the passed in mapping", memsz, len(headers))
+       }
+
+       // Return an error if no segment, or multiple segments match the size, so we can debug.
+       var ph *elf.ProgHeader
+       pageMask := ^uint64(pageSize - 1)
+       for _, h := range headers {
+               wantSize := (h.Vaddr+h.Memsz+pageSize-1)&pageMask - (h.Vaddr & pageMask)
+               if wantSize != memsz {
+                       continue
+               }
+               if ph != nil {
+                       return nil, fmt.Errorf("found second program header (%#v) that matches memsz %x, first program header is %#v", *h, memsz, *ph)
+               }
+               ph = h
+       }
+       if ph == nil {
+               return nil, fmt.Errorf("found %d matching program headers, but none matches mapping size %x", len(headers), memsz)
+       }
+       return ph, nil
+}
index 8cb87da9af93b6496b461a808d13b44b0efcda14..800867524848d41e6adf7c902402a30b2fc71c30 100644 (file)
@@ -322,8 +322,8 @@ func (b *builder) addEdge(edge *Edge, from, to int, hasNodelets bool) {
 }
 
 // dotColor returns a color for the given score (between -1.0 and
-// 1.0), with -1.0 colored red, 0.0 colored grey, and 1.0 colored
-// green. If isBackground is true, then a light (low-saturation)
+// 1.0), with -1.0 colored green, 0.0 colored grey, and 1.0 colored
+// red. If isBackground is true, then a light (low-saturation)
 // color is returned (suitable for use as a background color);
 // otherwise, a darker color is returned (suitable for use as a
 // foreground color).
index e95b261bc2507257eab7362ee758923570c04ed5..53325740a3ed8438fa5eb5d29681ab997e34da69 100644 (file)
@@ -111,8 +111,9 @@ func compatibleValueTypes(v1, v2 *profile.ValueType) bool {
        }
 
        return v1.Unit == v2.Unit ||
-               (isTimeUnit(v1.Unit) && isTimeUnit(v2.Unit)) ||
-               (isMemoryUnit(v1.Unit) && isMemoryUnit(v2.Unit))
+               (timeUnits.sniffUnit(v1.Unit) != nil && timeUnits.sniffUnit(v2.Unit) != nil) ||
+               (memoryUnits.sniffUnit(v1.Unit) != nil && memoryUnits.sniffUnit(v2.Unit) != nil) ||
+               (gcuUnits.sniffUnit(v1.Unit) != nil && gcuUnits.sniffUnit(v2.Unit) != nil)
 }
 
 // Scale a measurement from an unit to a different unit and returns
@@ -124,12 +125,15 @@ func Scale(value int64, fromUnit, toUnit string) (float64, string) {
                v, u := Scale(-value, fromUnit, toUnit)
                return -v, u
        }
-       if m, u, ok := memoryLabel(value, fromUnit, toUnit); ok {
+       if m, u, ok := memoryUnits.convertUnit(value, fromUnit, toUnit); ok {
                return m, u
        }
-       if t, u, ok := timeLabel(value, fromUnit, toUnit); ok {
+       if t, u, ok := timeUnits.convertUnit(value, fromUnit, toUnit); ok {
                return t, u
        }
+       if g, u, ok := gcuUnits.convertUnit(value, fromUnit, toUnit); ok {
+               return g, u
+       }
        // Skip non-interesting units.
        switch toUnit {
        case "count", "sample", "unit", "minimum", "auto":
@@ -172,157 +176,121 @@ func Percentage(value, total int64) string {
        }
 }
 
-// isMemoryUnit returns whether a name is recognized as a memory size
-// unit.
-func isMemoryUnit(unit string) bool {
-       switch strings.TrimSuffix(strings.ToLower(unit), "s") {
-       case "byte", "b", "kilobyte", "kb", "megabyte", "mb", "gigabyte", "gb":
-               return true
-       }
-       return false
+// unit includes a list of aliases representing a specific unit and a factor
+// which one can multiple a value in the specified unit by to get the value
+// in terms of the base unit.
+type unit struct {
+       canonicalName string
+       aliases       []string
+       factor        float64
 }
 
-func memoryLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok bool) {
-       fromUnit = strings.TrimSuffix(strings.ToLower(fromUnit), "s")
-       toUnit = strings.TrimSuffix(strings.ToLower(toUnit), "s")
-
-       switch fromUnit {
-       case "byte", "b":
-       case "kb", "kbyte", "kilobyte":
-               value *= 1024
-       case "mb", "mbyte", "megabyte":
-               value *= 1024 * 1024
-       case "gb", "gbyte", "gigabyte":
-               value *= 1024 * 1024 * 1024
-       case "tb", "tbyte", "terabyte":
-               value *= 1024 * 1024 * 1024 * 1024
-       case "pb", "pbyte", "petabyte":
-               value *= 1024 * 1024 * 1024 * 1024 * 1024
-       default:
-               return 0, "", false
-       }
+// unitType includes a list of units that are within the same category (i.e.
+// memory or time units) and a default unit to use for this type of unit.
+type unitType struct {
+       defaultUnit unit
+       units       []unit
+}
 
-       if toUnit == "minimum" || toUnit == "auto" {
-               switch {
-               case value < 1024:
-                       toUnit = "b"
-               case value < 1024*1024:
-                       toUnit = "kb"
-               case value < 1024*1024*1024:
-                       toUnit = "mb"
-               case value < 1024*1024*1024*1024:
-                       toUnit = "gb"
-               case value < 1024*1024*1024*1024*1024:
-                       toUnit = "tb"
-               default:
-                       toUnit = "pb"
+// findByAlias returns the unit associated with the specified alias. It returns
+// nil if the unit with such alias is not found.
+func (ut unitType) findByAlias(alias string) *unit {
+       for _, u := range ut.units {
+               for _, a := range u.aliases {
+                       if alias == a {
+                               return &u
+                       }
                }
        }
-
-       var output float64
-       switch toUnit {
-       default:
-               output, toUnit = float64(value), "B"
-       case "kb", "kbyte", "kilobyte":
-               output, toUnit = float64(value)/1024, "kB"
-       case "mb", "mbyte", "megabyte":
-               output, toUnit = float64(value)/(1024*1024), "MB"
-       case "gb", "gbyte", "gigabyte":
-               output, toUnit = float64(value)/(1024*1024*1024), "GB"
-       case "tb", "tbyte", "terabyte":
-               output, toUnit = float64(value)/(1024*1024*1024*1024), "TB"
-       case "pb", "pbyte", "petabyte":
-               output, toUnit = float64(value)/(1024*1024*1024*1024*1024), "PB"
-       }
-       return output, toUnit, true
+       return nil
 }
 
-// isTimeUnit returns whether a name is recognized as a time unit.
-func isTimeUnit(unit string) bool {
+// sniffUnit simpifies the input alias and returns the unit associated with the
+// specified alias. It returns nil if the unit with such alias is not found.
+func (ut unitType) sniffUnit(unit string) *unit {
        unit = strings.ToLower(unit)
        if len(unit) > 2 {
                unit = strings.TrimSuffix(unit, "s")
        }
-
-       switch unit {
-       case "nanosecond", "ns", "microsecond", "millisecond", "ms", "s", "second", "sec", "hr", "day", "week", "year":
-               return true
-       }
-       return false
+       return ut.findByAlias(unit)
 }
 
-func timeLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok bool) {
-       fromUnit = strings.ToLower(fromUnit)
-       if len(fromUnit) > 2 {
-               fromUnit = strings.TrimSuffix(fromUnit, "s")
+// autoScale takes in the value with units of the base unit and returns
+// that value scaled to a reasonable unit if a reasonable unit is
+// found.
+func (ut unitType) autoScale(value float64) (float64, string, bool) {
+       var f float64
+       var unit string
+       for _, u := range ut.units {
+               if u.factor >= f && (value/u.factor) >= 1.0 {
+                       f = u.factor
+                       unit = u.canonicalName
+               }
        }
-
-       toUnit = strings.ToLower(toUnit)
-       if len(toUnit) > 2 {
-               toUnit = strings.TrimSuffix(toUnit, "s")
+       if f == 0 {
+               return 0, "", false
        }
+       return value / f, unit, true
+}
 
-       var d time.Duration
-       switch fromUnit {
-       case "nanosecond", "ns":
-               d = time.Duration(value) * time.Nanosecond
-       case "microsecond":
-               d = time.Duration(value) * time.Microsecond
-       case "millisecond", "ms":
-               d = time.Duration(value) * time.Millisecond
-       case "second", "sec", "s":
-               d = time.Duration(value) * time.Second
-       case "cycle":
-               return float64(value), "", true
-       default:
+// convertUnit converts a value from the fromUnit to the toUnit, autoscaling
+// the value if the toUnit is "minimum" or "auto". If the fromUnit is not
+// included in the unitType, then a false boolean will be returned. If the
+// toUnit is not in the unitType, the value will be returned in terms of the
+// default unitType.
+func (ut unitType) convertUnit(value int64, fromUnitStr, toUnitStr string) (float64, string, bool) {
+       fromUnit := ut.sniffUnit(fromUnitStr)
+       if fromUnit == nil {
                return 0, "", false
        }
-
-       if toUnit == "minimum" || toUnit == "auto" {
-               switch {
-               case d < 1*time.Microsecond:
-                       toUnit = "ns"
-               case d < 1*time.Millisecond:
-                       toUnit = "us"
-               case d < 1*time.Second:
-                       toUnit = "ms"
-               case d < 1*time.Minute:
-                       toUnit = "sec"
-               case d < 1*time.Hour:
-                       toUnit = "min"
-               case d < 24*time.Hour:
-                       toUnit = "hour"
-               case d < 15*24*time.Hour:
-                       toUnit = "day"
-               case d < 120*24*time.Hour:
-                       toUnit = "week"
-               default:
-                       toUnit = "year"
+       v := float64(value) * fromUnit.factor
+       if toUnitStr == "minimum" || toUnitStr == "auto" {
+               if v, u, ok := ut.autoScale(v); ok {
+                       return v, u, true
                }
+               return v / ut.defaultUnit.factor, ut.defaultUnit.canonicalName, true
        }
-
-       var output float64
-       dd := float64(d)
-       switch toUnit {
-       case "ns", "nanosecond":
-               output, toUnit = dd/float64(time.Nanosecond), "ns"
-       case "us", "microsecond":
-               output, toUnit = dd/float64(time.Microsecond), "us"
-       case "ms", "millisecond":
-               output, toUnit = dd/float64(time.Millisecond), "ms"
-       case "min", "minute":
-               output, toUnit = dd/float64(time.Minute), "mins"
-       case "hour", "hr":
-               output, toUnit = dd/float64(time.Hour), "hrs"
-       case "day":
-               output, toUnit = dd/float64(24*time.Hour), "days"
-       case "week", "wk":
-               output, toUnit = dd/float64(7*24*time.Hour), "wks"
-       case "year", "yr":
-               output, toUnit = dd/float64(365*24*time.Hour), "yrs"
-       default:
-               // "sec", "second", "s" handled by default case.
-               output, toUnit = dd/float64(time.Second), "s"
+       toUnit := ut.sniffUnit(toUnitStr)
+       if toUnit == nil {
+               return v / ut.defaultUnit.factor, ut.defaultUnit.canonicalName, true
        }
-       return output, toUnit, true
+       return v / toUnit.factor, toUnit.canonicalName, true
+}
+
+var memoryUnits = unitType{
+       units: []unit{
+               {"B", []string{"b", "byte"}, 1},
+               {"kB", []string{"kb", "kbyte", "kilobyte"}, float64(1 << 10)},
+               {"MB", []string{"mb", "mbyte", "megabyte"}, float64(1 << 20)},
+               {"GB", []string{"gb", "gbyte", "gigabyte"}, float64(1 << 30)},
+               {"TB", []string{"tb", "tbyte", "terabyte"}, float64(1 << 40)},
+               {"PB", []string{"pb", "pbyte", "petabyte"}, float64(1 << 50)},
+       },
+       defaultUnit: unit{"B", []string{"b", "byte"}, 1},
+}
+
+var timeUnits = unitType{
+       units: []unit{
+               {"ns", []string{"ns", "nanosecond"}, float64(time.Nanosecond)},
+               {"us", []string{"μs", "us", "microsecond"}, float64(time.Microsecond)},
+               {"ms", []string{"ms", "millisecond"}, float64(time.Millisecond)},
+               {"s", []string{"s", "sec", "second"}, float64(time.Second)},
+               {"hrs", []string{"hour", "hr"}, float64(time.Hour)},
+       },
+       defaultUnit: unit{"s", []string{}, float64(time.Second)},
+}
+
+var gcuUnits = unitType{
+       units: []unit{
+               {"n*GCU", []string{"nanogcu"}, 1e-9},
+               {"u*GCU", []string{"microgcu"}, 1e-6},
+               {"m*GCU", []string{"milligcu"}, 1e-3},
+               {"GCU", []string{"gcu"}, 1},
+               {"k*GCU", []string{"kilogcu"}, 1e3},
+               {"M*GCU", []string{"megagcu"}, 1e6},
+               {"G*GCU", []string{"gigagcu"}, 1e9},
+               {"T*GCU", []string{"teragcu"}, 1e12},
+               {"P*GCU", []string{"petagcu"}, 1e15},
+       },
+       defaultUnit: unit{"GCU", []string{}, 1.0},
 }
index b48053543909af86de3ee57aa6464348fb54b645..4f841eff5dc314397e598681300e12a761117d81 100644 (file)
@@ -24,12 +24,15 @@ import (
        "io"
        "os"
        "path/filepath"
+       "regexp"
+       "sort"
        "strconv"
        "strings"
 
        "github.com/google/pprof/internal/graph"
        "github.com/google/pprof/internal/measurement"
        "github.com/google/pprof/internal/plugin"
+       "github.com/google/pprof/profile"
 )
 
 // printSource prints an annotated source listing, include all
@@ -126,191 +129,554 @@ func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error {
        return nil
 }
 
+// sourcePrinter holds state needed for generating source+asm HTML listing.
+type sourcePrinter struct {
+       reader     *sourceReader
+       objectTool plugin.ObjTool
+       objects    map[string]plugin.ObjFile  // Opened object files
+       sym        *regexp.Regexp             // May be nil
+       files      map[string]*sourceFile     // Set of files to print.
+       insts      map[uint64]instructionInfo // Instructions of interest (keyed by address).
+
+       // Set of function names that we are interested in (because they had
+       // a sample and match sym).
+       interest map[string]bool
+
+       // Mapping from system function names to printable names.
+       prettyNames map[string]string
+}
+
+// instructionInfo holds collected information for an instruction.
+type instructionInfo struct {
+       objAddr   uint64 // Address in object file (with base subtracted out)
+       length    int    // Instruction length in bytes
+       disasm    string // Disassembly of instruction
+       file      string // For top-level function in which instruction occurs
+       line      int    // For top-level function in which instruction occurs
+       flat, cum int64  // Samples to report (divisor already applied)
+}
+
+// sourceFile contains collected information for files we will print.
+type sourceFile struct {
+       fname    string
+       cum      int64
+       flat     int64
+       lines    map[int][]sourceInst // Instructions to show per line
+       funcName map[int]string       // Function name per line
+}
+
+// sourceInst holds information for an instruction to be displayed.
+type sourceInst struct {
+       addr  uint64
+       stack []callID // Inlined call-stack
+}
+
+// sourceFunction contains information for a contiguous range of lines per function we
+// will print.
+type sourceFunction struct {
+       name       string
+       begin, end int // Line numbers (end is not included in the range)
+       flat, cum  int64
+}
+
+// addressRange is a range of addresses plus the object file that contains it.
+type addressRange struct {
+       begin, end uint64
+       obj        plugin.ObjFile
+       mapping    *profile.Mapping
+       score      int64 // Used to order ranges for processing
+}
+
 // PrintWebList prints annotated source listing of rpt to w.
+// rpt.prof should contain inlined call info.
 func PrintWebList(w io.Writer, rpt *Report, obj plugin.ObjTool, maxFiles int) error {
-       o := rpt.options
-       g := rpt.newGraph(nil)
+       sourcePath := rpt.options.SourcePath
+       if sourcePath == "" {
+               wd, err := os.Getwd()
+               if err != nil {
+                       return fmt.Errorf("could not stat current dir: %v", err)
+               }
+               sourcePath = wd
+       }
+       sp := newSourcePrinter(rpt, obj, sourcePath)
+       sp.print(w, maxFiles, rpt)
+       sp.close()
+       return nil
+}
+
+func newSourcePrinter(rpt *Report, obj plugin.ObjTool, sourcePath string) *sourcePrinter {
+       sp := &sourcePrinter{
+               reader:      newSourceReader(sourcePath, rpt.options.TrimPath),
+               objectTool:  obj,
+               objects:     map[string]plugin.ObjFile{},
+               sym:         rpt.options.Symbol,
+               files:       map[string]*sourceFile{},
+               insts:       map[uint64]instructionInfo{},
+               prettyNames: map[string]string{},
+               interest:    map[string]bool{},
+       }
 
        // If the regexp source can be parsed as an address, also match
        // functions that land on that address.
        var address *uint64
-       if hex, err := strconv.ParseUint(o.Symbol.String(), 0, 64); err == nil {
-               address = &hex
+       if sp.sym != nil {
+               if hex, err := strconv.ParseUint(sp.sym.String(), 0, 64); err == nil {
+                       address = &hex
+               }
        }
 
-       sourcePath := o.SourcePath
-       if sourcePath == "" {
-               wd, err := os.Getwd()
-               if err != nil {
-                       return fmt.Errorf("could not stat current dir: %v", err)
+       addrs := map[uint64]bool{}
+       flat := map[uint64]int64{}
+       cum := map[uint64]int64{}
+
+       // Record an interest in the function corresponding to lines[index].
+       markInterest := func(addr uint64, lines []profile.Line, index int) {
+               fn := lines[index]
+               if fn.Function == nil {
+                       return
                }
-               sourcePath = wd
+               sp.interest[fn.Function.Name] = true
+               sp.interest[fn.Function.SystemName] = true
+               addrs[addr] = true
        }
-       reader := newSourceReader(sourcePath, o.TrimPath)
 
-       type fileFunction struct {
-               fileName, functionName string
+       // See if sp.sym matches line.
+       matches := func(line profile.Line) bool {
+               if line.Function == nil {
+                       return false
+               }
+               return sp.sym.MatchString(line.Function.Name) ||
+                       sp.sym.MatchString(line.Function.SystemName) ||
+                       sp.sym.MatchString(line.Function.Filename)
        }
 
-       // Extract interesting symbols from binary files in the profile and
-       // classify samples per symbol.
-       symbols := symbolsFromBinaries(rpt.prof, g, o.Symbol, address, obj)
-       symNodes := nodesPerSymbol(g.Nodes, symbols)
+       // Extract sample counts and compute set of interesting functions.
+       for _, sample := range rpt.prof.Sample {
+               value := rpt.options.SampleValue(sample.Value)
+               if rpt.options.SampleMeanDivisor != nil {
+                       div := rpt.options.SampleMeanDivisor(sample.Value)
+                       if div != 0 {
+                               value /= div
+                       }
+               }
+
+               // Find call-sites matching sym.
+               for i := len(sample.Location) - 1; i >= 0; i-- {
+                       loc := sample.Location[i]
+                       for _, line := range loc.Line {
+                               if line.Function == nil {
+                                       continue
+                               }
+                               sp.prettyNames[line.Function.SystemName] = line.Function.Name
+                       }
 
-       // Identify sources associated to a symbol by examining
-       // symbol samples. Classify samples per source file.
-       fileNodes := make(map[fileFunction]graph.Nodes)
-       if len(symNodes) == 0 {
-               for _, n := range g.Nodes {
-                       if n.Info.File == "" || !o.Symbol.MatchString(n.Info.Name) {
+                       cum[loc.Address] += value
+                       if i == 0 {
+                               flat[loc.Address] += value
+                       }
+
+                       if sp.sym == nil || (address != nil && loc.Address == *address) {
+                               // Interested in top-level entry of stack.
+                               if len(loc.Line) > 0 {
+                                       markInterest(loc.Address, loc.Line, len(loc.Line)-1)
+                               }
                                continue
                        }
-                       ff := fileFunction{n.Info.File, n.Info.Name}
-                       fileNodes[ff] = append(fileNodes[ff], n)
-               }
-       } else {
-               for _, nodes := range symNodes {
-                       for _, n := range nodes {
-                               if n.Info.File != "" {
-                                       ff := fileFunction{n.Info.File, n.Info.Name}
-                                       fileNodes[ff] = append(fileNodes[ff], n)
+
+                       // Seach in inlined stack for a match.
+                       matchFile := (loc.Mapping != nil && sp.sym.MatchString(loc.Mapping.File))
+                       for j, line := range loc.Line {
+                               if (j == 0 && matchFile) || matches(line) {
+                                       markInterest(loc.Address, loc.Line, j)
                                }
                        }
                }
        }
 
-       if len(fileNodes) == 0 {
-               return fmt.Errorf("no source information for %s", o.Symbol.String())
-       }
-
-       sourceFiles := make(graph.Nodes, 0, len(fileNodes))
-       for _, nodes := range fileNodes {
-               sNode := *nodes[0]
-               sNode.Flat, sNode.Cum = nodes.Sum()
-               sourceFiles = append(sourceFiles, &sNode)
-       }
+       sp.expandAddresses(rpt, addrs, flat)
+       sp.initSamples(flat, cum)
+       return sp
+}
 
-       // Limit number of files printed?
-       if maxFiles < 0 {
-               sourceFiles.Sort(graph.FileOrder)
-       } else {
-               sourceFiles.Sort(graph.FlatNameOrder)
-               if maxFiles < len(sourceFiles) {
-                       sourceFiles = sourceFiles[:maxFiles]
+func (sp *sourcePrinter) close() {
+       for _, objFile := range sp.objects {
+               if objFile != nil {
+                       objFile.Close()
                }
        }
+}
 
-       // Print each file associated with this function.
-       for _, n := range sourceFiles {
-               ff := fileFunction{n.Info.File, n.Info.Name}
-               fns := fileNodes[ff]
+func (sp *sourcePrinter) expandAddresses(rpt *Report, addrs map[uint64]bool, flat map[uint64]int64) {
+       // We found interesting addresses (ones with non-zero samples) above.
+       // Get covering address ranges and disassemble the ranges.
+       ranges := sp.splitIntoRanges(rpt.prof, addrs, flat)
 
-               asm := assemblyPerSourceLine(symbols, fns, ff.fileName, obj, o.IntelSyntax)
-               start, end := sourceCoordinates(asm)
+       // Trim ranges if there are too many.
+       const maxRanges = 25
+       sort.Slice(ranges, func(i, j int) bool {
+               return ranges[i].score > ranges[j].score
+       })
+       if len(ranges) > maxRanges {
+               ranges = ranges[:maxRanges]
+       }
 
-               fnodes, path, err := getSourceFromFile(ff.fileName, reader, fns, start, end)
+       for _, r := range ranges {
+               base := r.obj.Base()
+               insts, err := sp.objectTool.Disasm(r.mapping.File, r.begin-base, r.end-base,
+                       rpt.options.IntelSyntax)
                if err != nil {
-                       fnodes, path = getMissingFunctionSource(ff.fileName, asm, start, end)
+                       // TODO(sanjay): Report that the covered addresses are missing.
+                       continue
                }
 
-               printFunctionHeader(w, ff.functionName, path, n.Flat, n.Cum, rpt)
-               for _, fn := range fnodes {
-                       printFunctionSourceLine(w, fn, asm[fn.Info.Lineno], reader, rpt)
+               var lastFrames []plugin.Frame
+               var lastAddr, maxAddr uint64
+               for i, inst := range insts {
+                       addr := inst.Addr + base
+
+                       // Guard against duplicate output from Disasm.
+                       if addr <= maxAddr {
+                               continue
+                       }
+                       maxAddr = addr
+
+                       length := 1
+                       if i+1 < len(insts) && insts[i+1].Addr > inst.Addr {
+                               // Extend to next instruction.
+                               length = int(insts[i+1].Addr - inst.Addr)
+                       }
+
+                       // Get inlined-call-stack for address.
+                       frames, err := r.obj.SourceLine(addr)
+                       if err != nil {
+                               // Construct a frame from disassembler output.
+                               frames = []plugin.Frame{{Func: inst.Function, File: inst.File, Line: inst.Line}}
+                       }
+
+                       x := instructionInfo{objAddr: inst.Addr, length: length, disasm: inst.Text}
+                       if len(frames) > 0 {
+                               // We could consider using the outer-most caller's source
+                               // location so we give the some hint as to where the
+                               // inlining happened that led to this instruction. So for
+                               // example, suppose we have the following (inlined) call
+                               // chains for this instruction:
+                               //   F1->G->H
+                               //   F2->G->H
+                               // We could tag the instructions from the first call with
+                               // F1 and instructions from the second call with F2. But
+                               // that leads to a somewhat confusing display. So for now,
+                               // we stick with just the inner-most location (i.e., H).
+                               // In the future we will consider changing the display to
+                               // make caller info more visible.
+                               index := 0 // Inner-most frame
+                               x.file = frames[index].File
+                               x.line = frames[index].Line
+                       }
+                       sp.insts[addr] = x
+
+                       // We sometimes get instructions with a zero reported line number.
+                       // Make such instructions have the same line info as the preceding
+                       // instruction, if an earlier instruction is found close enough.
+                       const neighborhood = 32
+                       if len(frames) > 0 && frames[0].Line != 0 {
+                               lastFrames = frames
+                               lastAddr = addr
+                       } else if (addr-lastAddr <= neighborhood) && lastFrames != nil {
+                               frames = lastFrames
+                       }
+
+                       // See if the stack contains a function we are interested in.
+                       for i, f := range frames {
+                               if !sp.interest[f.Func] {
+                                       continue
+                               }
+
+                               // Record sub-stack under frame's file/line.
+                               fname := canonicalizeFileName(f.File)
+                               file := sp.files[fname]
+                               if file == nil {
+                                       file = &sourceFile{
+                                               fname:    fname,
+                                               lines:    map[int][]sourceInst{},
+                                               funcName: map[int]string{},
+                                       }
+                                       sp.files[fname] = file
+                               }
+                               callees := frames[:i]
+                               stack := make([]callID, 0, len(callees))
+                               for j := len(callees) - 1; j >= 0; j-- { // Reverse so caller is first
+                                       stack = append(stack, callID{
+                                               file: callees[j].File,
+                                               line: callees[j].Line,
+                                       })
+                               }
+                               file.lines[f.Line] = append(file.lines[f.Line], sourceInst{addr, stack})
+
+                               // Remember the first function name encountered per source line
+                               // and assume that that line belongs to that function.
+                               if _, ok := file.funcName[f.Line]; !ok {
+                                       file.funcName[f.Line] = f.Func
+                               }
+                       }
                }
-               printFunctionClosing(w)
        }
-       return nil
 }
 
-// sourceCoordinates returns the lowest and highest line numbers from
-// a set of assembly statements.
-func sourceCoordinates(asm map[int][]assemblyInstruction) (start, end int) {
-       for l := range asm {
-               if start == 0 || l < start {
-                       start = l
+// splitIntoRanges converts the set of addresses we are interested in into a set of address
+// ranges to disassemble.
+func (sp *sourcePrinter) splitIntoRanges(prof *profile.Profile, set map[uint64]bool, flat map[uint64]int64) []addressRange {
+       // List of mappings so we can stop expanding address ranges at mapping boundaries.
+       mappings := append([]*profile.Mapping{}, prof.Mapping...)
+       sort.Slice(mappings, func(i, j int) bool { return mappings[i].Start < mappings[j].Start })
+
+       var result []addressRange
+       addrs := make([]uint64, 0, len(set))
+       for addr := range set {
+               addrs = append(addrs, addr)
+       }
+       sort.Slice(addrs, func(i, j int) bool { return addrs[i] < addrs[j] })
+
+       mappingIndex := 0
+       const expand = 500 // How much to expand range to pick up nearby addresses.
+       for i, n := 0, len(addrs); i < n; {
+               begin, end := addrs[i], addrs[i]
+               sum := flat[begin]
+               i++
+
+               // Advance to mapping containing addrs[i]
+               for mappingIndex < len(mappings) && mappings[mappingIndex].Limit <= begin {
+                       mappingIndex++
+               }
+               if mappingIndex >= len(mappings) {
+                       // TODO(sanjay): Report missed address and its samples.
+                       break
+               }
+               m := mappings[mappingIndex]
+               obj := sp.objectFile(m)
+               if obj == nil {
+                       // TODO(sanjay): Report missed address and its samples.
+                       continue
+               }
+
+               // Find following addresses that are close enough to addrs[i].
+               for i < n && addrs[i] <= end+2*expand && addrs[i] < m.Limit {
+                       // When we expand ranges by "expand" on either side, the ranges
+                       // for addrs[i] and addrs[i-1] will merge.
+                       end = addrs[i]
+                       sum += flat[end]
+                       i++
                }
-               if end == 0 || l > end {
-                       end = l
+               if m.Start-begin >= expand {
+                       begin -= expand
+               } else {
+                       begin = m.Start
+               }
+               if m.Limit-end >= expand {
+                       end += expand
+               } else {
+                       end = m.Limit
                }
+
+               result = append(result, addressRange{begin, end, obj, m, sum})
        }
-       return start, end
+       return result
 }
 
-// assemblyPerSourceLine disassembles the binary containing a symbol
-// and classifies the assembly instructions according to its
-// corresponding source line, annotating them with a set of samples.
-func assemblyPerSourceLine(objSyms []*objSymbol, rs graph.Nodes, src string, obj plugin.ObjTool, intelSyntax bool) map[int][]assemblyInstruction {
-       assembly := make(map[int][]assemblyInstruction)
-       // Identify symbol to use for this collection of samples.
-       o := findMatchingSymbol(objSyms, rs)
-       if o == nil {
-               return assembly
+func (sp *sourcePrinter) initSamples(flat, cum map[uint64]int64) {
+       for addr, inst := range sp.insts {
+               // Move all samples that were assigned to the middle of an instruction to the
+               // beginning of that instruction. This takes care of samples that were recorded
+               // against pc+1.
+               instEnd := addr + uint64(inst.length)
+               for p := addr; p < instEnd; p++ {
+                       inst.flat += flat[p]
+                       inst.cum += cum[p]
+               }
+               sp.insts[addr] = inst
        }
+}
 
-       // Extract assembly for matched symbol
-       insts, err := obj.Disasm(o.sym.File, o.sym.Start, o.sym.End, intelSyntax)
-       if err != nil {
-               return assembly
-       }
-
-       srcBase := filepath.Base(src)
-       anodes := annotateAssembly(insts, rs, o.base)
-       var lineno = 0
-       var prevline = 0
-       for _, an := range anodes {
-               // Do not rely solely on the line number produced by Disasm
-               // since it is not what we want in the presence of inlining.
-               //
-               // E.g., suppose we are printing source code for F and this
-               // instruction is from H where F called G called H and both
-               // of those calls were inlined. We want to use the line
-               // number from F, not from H (which is what Disasm gives us).
-               //
-               // So find the outer-most linenumber in the source file.
-               found := false
-               if frames, err := o.file.SourceLine(an.address + o.base); err == nil {
-                       for i := len(frames) - 1; i >= 0; i-- {
-                               if filepath.Base(frames[i].File) == srcBase {
-                                       for j := i - 1; j >= 0; j-- {
-                                               an.inlineCalls = append(an.inlineCalls, callID{frames[j].File, frames[j].Line})
-                                       }
-                                       lineno = frames[i].Line
-                                       found = true
-                                       break
+func (sp *sourcePrinter) print(w io.Writer, maxFiles int, rpt *Report) {
+       // Finalize per-file counts.
+       for _, file := range sp.files {
+               seen := map[uint64]bool{}
+               for _, line := range file.lines {
+                       for _, x := range line {
+                               if seen[x.addr] {
+                                       // Same address can be displayed multiple times in a file
+                                       // (e.g., if we show multiple inlined functions).
+                                       // Avoid double-counting samples in this case.
+                                       continue
                                }
+                               seen[x.addr] = true
+                               inst := sp.insts[x.addr]
+                               file.cum += inst.cum
+                               file.flat += inst.flat
                        }
                }
-               if !found && filepath.Base(an.file) == srcBase {
-                       lineno = an.line
+       }
+
+       // Get sorted list of files to print.
+       var files []*sourceFile
+       for _, f := range sp.files {
+               files = append(files, f)
+       }
+       order := func(i, j int) bool { return files[i].flat > files[j].flat }
+       if maxFiles < 0 {
+               // Order by name for compatibility with old code.
+               order = func(i, j int) bool { return files[i].fname < files[j].fname }
+               maxFiles = len(files)
+       }
+       sort.Slice(files, order)
+       for i, f := range files {
+               if i < maxFiles {
+                       sp.printFile(w, f, rpt)
+               }
+       }
+}
+
+func (sp *sourcePrinter) printFile(w io.Writer, f *sourceFile, rpt *Report) {
+       for _, fn := range sp.functions(f) {
+               if fn.cum == 0 {
+                       continue
                }
+               printFunctionHeader(w, fn.name, f.fname, fn.flat, fn.cum, rpt)
+               var asm []assemblyInstruction
+               for l := fn.begin; l < fn.end; l++ {
+                       lineContents, ok := sp.reader.line(f.fname, l)
+                       if !ok {
+                               if len(f.lines[l]) == 0 {
+                                       // Outside of range of valid lines and nothing to print.
+                                       continue
+                               }
+                               if l == 0 {
+                                       // Line number 0 shows up if line number is not known.
+                                       lineContents = "<instructions with unknown line numbers>"
+                               } else {
+                                       // Past end of file, but have data to print.
+                                       lineContents = "???"
+                               }
+                       }
 
-               if lineno != 0 {
-                       if lineno != prevline {
-                               // This instruction starts a new block
-                               // of contiguous instructions on this line.
-                               an.startsBlock = true
+                       // Make list of assembly instructions.
+                       asm = asm[:0]
+                       var flatSum, cumSum int64
+                       var lastAddr uint64
+                       for _, inst := range f.lines[l] {
+                               addr := inst.addr
+                               x := sp.insts[addr]
+                               flatSum += x.flat
+                               cumSum += x.cum
+                               startsBlock := (addr != lastAddr+uint64(sp.insts[lastAddr].length))
+                               lastAddr = addr
+
+                               // divisors already applied, so leave flatDiv,cumDiv as 0
+                               asm = append(asm, assemblyInstruction{
+                                       address:     x.objAddr,
+                                       instruction: x.disasm,
+                                       function:    fn.name,
+                                       file:        x.file,
+                                       line:        x.line,
+                                       flat:        x.flat,
+                                       cum:         x.cum,
+                                       startsBlock: startsBlock,
+                                       inlineCalls: inst.stack,
+                               })
                        }
-                       prevline = lineno
-                       assembly[lineno] = append(assembly[lineno], an)
+
+                       printFunctionSourceLine(w, l, flatSum, cumSum, lineContents, asm, sp.reader, rpt)
                }
+               printFunctionClosing(w)
        }
-
-       return assembly
 }
 
-// findMatchingSymbol looks for the symbol that corresponds to a set
-// of samples, by comparing their addresses.
-func findMatchingSymbol(objSyms []*objSymbol, ns graph.Nodes) *objSymbol {
-       for _, n := range ns {
-               for _, o := range objSyms {
-                       if filepath.Base(o.sym.File) == filepath.Base(n.Info.Objfile) &&
-                               o.sym.Start <= n.Info.Address-o.base &&
-                               n.Info.Address-o.base <= o.sym.End {
-                               return o
+// functions splits apart the lines to show in a file into a list of per-function ranges.
+func (sp *sourcePrinter) functions(f *sourceFile) []sourceFunction {
+       var funcs []sourceFunction
+
+       // Get interesting lines in sorted order.
+       lines := make([]int, 0, len(f.lines))
+       for l := range f.lines {
+               lines = append(lines, l)
+       }
+       sort.Ints(lines)
+
+       // Merge adjacent lines that are in same function and not too far apart.
+       const mergeLimit = 20
+       for _, l := range lines {
+               name := f.funcName[l]
+               if pretty, ok := sp.prettyNames[name]; ok {
+                       // Use demangled name if available.
+                       name = pretty
+               }
+
+               fn := sourceFunction{name: name, begin: l, end: l + 1}
+               for _, x := range f.lines[l] {
+                       inst := sp.insts[x.addr]
+                       fn.flat += inst.flat
+                       fn.cum += inst.cum
+               }
+
+               // See if we should merge into preceding function.
+               if len(funcs) > 0 {
+                       last := funcs[len(funcs)-1]
+                       if l-last.end < mergeLimit && last.name == name {
+                               last.end = l + 1
+                               last.flat += fn.flat
+                               last.cum += fn.cum
+                               funcs[len(funcs)-1] = last
+                               continue
                        }
                }
+
+               // Add new function.
+               funcs = append(funcs, fn)
        }
-       return nil
+
+       // Expand function boundaries to show neighborhood.
+       const expand = 5
+       for i, f := range funcs {
+               if i == 0 {
+                       // Extend backwards, stopping at line number 1, but do not disturb 0
+                       // since that is a special line number that can show up when addr2line
+                       // cannot determine the real line number.
+                       if f.begin > expand {
+                               f.begin -= expand
+                       } else if f.begin > 1 {
+                               f.begin = 1
+                       }
+               } else {
+                       // Find gap from predecessor and divide between predecessor and f.
+                       halfGap := (f.begin - funcs[i-1].end) / 2
+                       if halfGap > expand {
+                               halfGap = expand
+                       }
+                       funcs[i-1].end += halfGap
+                       f.begin -= halfGap
+               }
+               funcs[i] = f
+       }
+
+       // Also extend the ending point of the last function.
+       if len(funcs) > 0 {
+               funcs[len(funcs)-1].end += expand
+       }
+
+       return funcs
+}
+
+// objectFile return the object for the named file, opening it if necessary.
+// It returns nil on error.
+func (sp *sourcePrinter) objectFile(m *profile.Mapping) plugin.ObjFile {
+       if object, ok := sp.objects[m.File]; ok {
+               return object // May be nil if we detected an error earlier.
+       }
+       object, err := sp.objectTool.Open(m.File, m.Start, m.Limit, m.Offset)
+       if err != nil {
+               object = nil
+       }
+       sp.objects[m.File] = object // Cache even on error.
+       return object
 }
 
 // printHeader prints the page header for a weblist report.
@@ -348,22 +714,23 @@ func printFunctionHeader(w io.Writer, name, path string, flatSum, cumSum int64,
 }
 
 // printFunctionSourceLine prints a source line and the corresponding assembly.
-func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyInstruction, reader *sourceReader, rpt *Report) {
+func printFunctionSourceLine(w io.Writer, lineNo int, flat, cum int64, lineContents string,
+       assembly []assemblyInstruction, reader *sourceReader, rpt *Report) {
        if len(assembly) == 0 {
                fmt.Fprintf(w,
                        "<span class=line> %6d</span> <span class=nop>  %10s %10s %8s  %s </span>\n",
-                       fn.Info.Lineno,
-                       valueOrDot(fn.Flat, rpt), valueOrDot(fn.Cum, rpt),
-                       "", template.HTMLEscapeString(fn.Info.Name))
+                       lineNo,
+                       valueOrDot(flat, rpt), valueOrDot(cum, rpt),
+                       "", template.HTMLEscapeString(lineContents))
                return
        }
 
        fmt.Fprintf(w,
                "<span class=line> %6d</span> <span class=deadsrc>  %10s %10s %8s  %s </span>",
-               fn.Info.Lineno,
-               valueOrDot(fn.Flat, rpt), valueOrDot(fn.Cum, rpt),
-               "", template.HTMLEscapeString(fn.Info.Name))
-       srcIndent := indentation(fn.Info.Name)
+               lineNo,
+               valueOrDot(flat, rpt), valueOrDot(cum, rpt),
+               "", template.HTMLEscapeString(lineContents))
+       srcIndent := indentation(lineContents)
        fmt.Fprint(w, "<span class=asm>")
        var curCalls []callID
        for i, an := range assembly {
@@ -374,15 +741,9 @@ func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyIns
 
                var fileline string
                if an.file != "" {
-                       fileline = fmt.Sprintf("%s:%d", template.HTMLEscapeString(an.file), an.line)
+                       fileline = fmt.Sprintf("%s:%d", template.HTMLEscapeString(filepath.Base(an.file)), an.line)
                }
                flat, cum := an.flat, an.cum
-               if an.flatDiv != 0 {
-                       flat = flat / an.flatDiv
-               }
-               if an.cumDiv != 0 {
-                       cum = cum / an.cumDiv
-               }
 
                // Print inlined call context.
                for j, c := range an.inlineCalls {
@@ -398,15 +759,18 @@ func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyIns
                        text := strings.Repeat(" ", srcIndent+4+4*j) + strings.TrimSpace(fline)
                        fmt.Fprintf(w, " %8s %10s %10s %8s  <span class=inlinesrc>%s</span> <span class=unimportant>%s:%d</span>\n",
                                "", "", "", "",
-                               template.HTMLEscapeString(fmt.Sprintf("%-80s", text)),
+                               template.HTMLEscapeString(rightPad(text, 80)),
                                template.HTMLEscapeString(filepath.Base(c.file)), c.line)
                }
                curCalls = an.inlineCalls
                text := strings.Repeat(" ", srcIndent+4+4*len(curCalls)) + an.instruction
                fmt.Fprintf(w, " %8s %10s %10s %8x: %s <span class=unimportant>%s</span>\n",
                        "", valueOrDot(flat, rpt), valueOrDot(cum, rpt), an.address,
-                       template.HTMLEscapeString(fmt.Sprintf("%-80s", text)),
-                       template.HTMLEscapeString(fileline))
+                       template.HTMLEscapeString(rightPad(text, 80)),
+                       // fileline should not be escaped since it was formed by appending
+                       // line number (just digits) to an escaped file name. Escaping here
+                       // would cause double-escaping of file name.
+                       fileline)
        }
        fmt.Fprintln(w, "</span>")
 }
@@ -482,36 +846,6 @@ func getSourceFromFile(file string, reader *sourceReader, fns graph.Nodes, start
        return src, file, nil
 }
 
-// getMissingFunctionSource creates a dummy function body to point to
-// the source file and annotates it with the samples in asm.
-func getMissingFunctionSource(filename string, asm map[int][]assemblyInstruction, start, end int) (graph.Nodes, string) {
-       var fnodes graph.Nodes
-       for i := start; i <= end; i++ {
-               insts := asm[i]
-               if len(insts) == 0 {
-                       continue
-               }
-               var group assemblyInstruction
-               for _, insn := range insts {
-                       group.flat += insn.flat
-                       group.cum += insn.cum
-                       group.flatDiv += insn.flatDiv
-                       group.cumDiv += insn.cumDiv
-               }
-               flat := group.flatValue()
-               cum := group.cumValue()
-               fnodes = append(fnodes, &graph.Node{
-                       Info: graph.NodeInfo{
-                               Name:   "???",
-                               Lineno: i,
-                       },
-                       Flat: flat,
-                       Cum:  cum,
-               })
-       }
-       return fnodes, filename
-}
-
 // sourceReader provides access to source code with caching of file contents.
 type sourceReader struct {
        // searchPath is a filepath.ListSeparator-separated list of directories where
@@ -543,6 +877,7 @@ func (reader *sourceReader) fileError(path string) error {
        return reader.errors[path]
 }
 
+// line returns the line numbered "lineno" in path, or _,false if lineno is out of range.
 func (reader *sourceReader) line(path string, lineno int) (string, bool) {
        lines, ok := reader.files[path]
        if !ok {
@@ -651,3 +986,37 @@ func indentation(line string) int {
        }
        return column
 }
+
+// rightPad pads the input with spaces on the right-hand-side to make it have
+// at least width n. It treats tabs as enough spaces that lead to the next
+// 8-aligned tab-stop.
+func rightPad(s string, n int) string {
+       var str strings.Builder
+
+       // Convert tabs to spaces as we go so padding works regardless of what prefix
+       // is placed before the result.
+       column := 0
+       for _, c := range s {
+               column++
+               if c == '\t' {
+                       str.WriteRune(' ')
+                       for column%8 != 0 {
+                               column++
+                               str.WriteRune(' ')
+                       }
+               } else {
+                       str.WriteRune(c)
+               }
+       }
+       for column < n {
+               column++
+               str.WriteRune(' ')
+       }
+       return str.String()
+}
+
+func canonicalizeFileName(fname string) string {
+       fname = strings.TrimPrefix(fname, "/proc/self/cwd/")
+       fname = strings.TrimPrefix(fname, "./")
+       return filepath.Clean(fname)
+}
index 02a6d772487108f1b959e92a634c5b6352e3f08d..26e8bdbba8a6dc44230e406d7a733348c12abfee 100644 (file)
@@ -25,12 +25,11 @@ func AddSourceTemplates(t *template.Template) {
 }
 
 const weblistPageCSS = `<style type="text/css">
-body {
+body #content{
 font-family: sans-serif;
 }
 h1 {
   font-size: 1.5em;
-  margin-bottom: 4px;
 }
 .legend {
   font-size: 1.25em;
index 4dcc27f48eb0d7284c350fae59524bec8600b7ed..5ab6e9b9b082b381a3d0d9a5fe3651fec7ac53de 100644 (file)
@@ -35,7 +35,10 @@ func (p *Profile) Compact() *Profile {
 // functions and mappings. Profiles must have identical profile sample
 // and period types or the merge will fail. profile.Period of the
 // resulting profile will be the maximum of all profiles, and
-// profile.TimeNanos will be the earliest nonzero one.
+// profile.TimeNanos will be the earliest nonzero one. Merges are
+// associative with the caveat of the first profile having some
+// specialization in how headers are combined. There may be other
+// subtleties now or in the future regarding associativity.
 func Merge(srcs []*Profile) (*Profile, error) {
        if len(srcs) == 0 {
                return nil, fmt.Errorf("no profiles to merge")
index d94d8b3d1ccfc2671cb839b7c3b95b3824e16c0f..2590c8ddb42e25ede9dd54e54a80f0286cc7105e 100644 (file)
@@ -22,6 +22,7 @@ import (
        "fmt"
        "io"
        "io/ioutil"
+       "math"
        "path/filepath"
        "regexp"
        "sort"
@@ -712,7 +713,8 @@ func (s *Sample) DiffBaseSample() bool {
        return s.HasLabel("pprof::base", "true")
 }
 
-// Scale multiplies all sample values in a profile by a constant.
+// Scale multiplies all sample values in a profile by a constant and keeps
+// only samples that have at least one non-zero value.
 func (p *Profile) Scale(ratio float64) {
        if ratio == 1 {
                return
@@ -724,7 +726,8 @@ func (p *Profile) Scale(ratio float64) {
        p.ScaleN(ratios)
 }
 
-// ScaleN multiplies each sample values in a sample by a different amount.
+// ScaleN multiplies each sample values in a sample by a different amount
+// and keeps only samples that have at least one non-zero value.
 func (p *Profile) ScaleN(ratios []float64) error {
        if len(p.SampleType) != len(ratios) {
                return fmt.Errorf("mismatched scale ratios, got %d, want %d", len(ratios), len(p.SampleType))
@@ -739,13 +742,22 @@ func (p *Profile) ScaleN(ratios []float64) error {
        if allOnes {
                return nil
        }
+       fillIdx := 0
        for _, s := range p.Sample {
+               keepSample := false
                for i, v := range s.Value {
                        if ratios[i] != 1 {
-                               s.Value[i] = int64(float64(v) * ratios[i])
+                               val := int64(math.Round(float64(v) * ratios[i]))
+                               s.Value[i] = val
+                               keepSample = keepSample || val != 0
                        }
                }
+               if keepSample {
+                       p.Sample[fillIdx] = s
+                       fillIdx++
+               }
        }
+       p.Sample = p.Sample[:fillIdx]
        return nil
 }
 
index cf690e2c1826068de5c16ff70d8d77956bf4711c..afeb9a3c10ec1c5bf172610e058a3cbe1f541de9 100644 (file)
@@ -538,10 +538,12 @@ type MemExtend struct {
        Extend ExtShift
        // Amount indicates the index shift amount (but also see ShiftMustBeZero field below).
        Amount uint8
-       // ShiftMustBeZero is set to true when the shift amount must be 0, even if the
-       // Amount field is not 0. In GNU syntax, a #0 shift amount is printed if Amount
-       // is not 0 but ShiftMustBeZero is true; #0 is not printed if Amount is 0 and
-       // ShiftMustBeZero is true. Both cases represent shift by 0 bit.
+       // Refer to ARM reference manual, for byte load/store(register), the index
+       // shift amount must be 0, encoded in "S" as 0 if omitted, or as 1 if present.
+       // a.ShiftMustBeZero is set true indicates the index shift amount must be 0.
+       // In GNU syntax, a #0 shift amount is printed if Amount is 1 but ShiftMustBeZero
+       // is true; #0 is not printed if Amount is 0 and ShiftMustBeZero is true.
+       // Both cases represent shift by 0 bit.
        ShiftMustBeZero bool
 }
 
index c9e4570c59e66cdd3fce922ab7edaaab99aca52f..bae42e284ebaaf07022359ad3de6cbb713d0b2d1 100644 (file)
@@ -595,14 +595,18 @@ func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg
                }
 
                if a.Extend == lsl {
+                       // Refer to ARM reference manual, for byte load/store(register), the index
+                       // shift amount must be 0, encoded in "S" as 0 if omitted, or as 1 if present.
                        // a.Amount indicates the index shift amount, encoded in "S" field.
-                       // a.ShiftMustBeZero is set true when the index shift amount must be 0,
-                       // even if the a.Amount field is not 0.
-                       // When a.ShiftMustBeZero is ture, GNU syntax prints #0 shift amount if
-                       // "S" equals to 1, or does not print #0 shift amount if "S" equals to 0.
-                       // Go syntax should never print a zero index shift amount.
+                       // a.ShiftMustBeZero is set true indicates the index shift amount must be 0.
+                       // When a.ShiftMustBeZero is true, GNU syntax prints "[Xn, Xm lsl #0]" if "S"
+                       // equals to 1, or prints "[Xn, Xm]" if "S" equals to 0.
                        if a.Amount != 0 && !a.ShiftMustBeZero {
                                index = fmt.Sprintf("(%s<<%d)", indexreg, a.Amount)
+                       } else if a.ShiftMustBeZero && a.Amount == 1 {
+                               // When a.ShiftMustBeZero is ture, Go syntax prints "(Rm<<0)" if "a.Amount"
+                               // equals to 1.
+                               index = fmt.Sprintf("(%s<<0)", indexreg)
                        } else {
                                index = fmt.Sprintf("(%s)", indexreg)
                        }
index 1849a297d89a594b43624924a3cc9afaa9a9d83a..46317497459b072a77ffd8117fef993e13b2d97f 100644 (file)
@@ -11,8 +11,10 @@ import (
 )
 
 var (
-       condBit    = [4]string{"lt", "gt", "eq", "so"}
-       condBitNeg = [4]string{"ge", "le", "ne", "so"}
+       // bit 3 of index is a negated check.
+       condBit = [8]string{
+               "lt", "gt", "eq", "so",
+               "ge", "le", "ne", "ns"}
 )
 
 // GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils.
@@ -31,57 +33,144 @@ func GNUSyntax(inst Inst, pc uint64) string {
        // Special handling for some ops
        startArg := 0
        sep := " "
-       switch inst.Op.String() {
-       case "bc":
-               bo := gnuArg(&inst, 0, inst.Args[0], PC)
-               bi := inst.Args[1]
-               switch bi := bi.(type) {
-               case CondReg:
-                       if bi >= CR0 {
-                               if bi == CR0 && bo == "16" {
-                                       buf.WriteString("bdnz")
+       opName := inst.Op.String()
+       switch opName {
+       case "bc", "bcl", "bca", "bcla", "bclr", "bclrl", "bcctr", "bcctrl", "bctar", "bctarl":
+               sfx := inst.Op.String()[2:]
+               bo := int(inst.Args[0].(Imm))
+               bi := inst.Args[1].(CondReg)
+               atsfx := [4]string{"", "?", "-", "+"}
+               decsfx := [2]string{"dnz", "dz"}
+
+               //BO field is... complicated (z == ignored bit, at == prediction hint)
+               //Paraphrased from ISA 3.1 Book I Section 2.4:
+               //
+               //0000z -> decrement ctr, b if ctr != 0 and CRbi == 0
+               //0001z -> decrement ctr, b if ctr == 0 and CRbi == 0
+               //001at -> b if CRbi == 0
+               //0100z -> decrement ctr, b if ctr != 0 and CRbi == 1
+               //0101z -> decrement ctr, b if ctr == 0 and CRbi == 1
+               //011at -> b if CRbi == 1
+               //1a00t -> decrement ctr, b if ctr != 0
+               //1a01t -> decrement ctr, b if ctr == 0
+               //1z1zz -> b always
+
+               // Decoding (in this order) we get
+               // BO & 0b00100 == 0b00000 -> dz if BO[1], else dnz (not simplified for bcctrl forms)
+               // BO & 0b10000 == 0b10000 -> (bc and bca forms not simplified), at = B[4]B[0] if B[2] != 0, done
+               // BO & 0b10000 == 0b00000 -> t if BO[3], else f
+               // BO & 0b10100 == 0b00100 -> at = B[0:1]
+
+               // BI fields rename as follows:
+               // less than            : lt BI%4==0 && test == t
+               // less than or equal   : le BI%4==1 && test == f
+               // equal                : eq BI%4==2 && test == t
+               // greater than or equal: ge BI%4==0 && test == f
+               // greater than         : gt BI%4==1 && test == t
+               // not less than        : nl BI%4==0 && test == f
+               // not equal            : ne BI%4==2 && test == f
+               // not greater than     : ng BI%4==1 && test == f
+               // summary overflow     : so BI%4==3 && test == t
+               // not summary overflow : ns BI%4==3 && test == f
+               // unordered            : un BI%4==3 && test == t
+               // not unordered        : nu BI%4==3 && test == f
+               //
+               // Note, there are only 8 possible tests, but quite a few more
+               // ways to name fields.  For simplicity, we choose those in condBit.
+
+               at := 0   // 0 == no hint, 1 == reserved, 2 == not likely, 3 == likely
+               form := 1 // 1 == n/a,  0 == cr bit not set, 4 == cr bit set
+               cr := (bi - Cond0LT) / 4
+               bh := -1 // Only for lr/tar/ctr variants.
+               switch opName {
+               case "bclr", "bclrl", "bcctr", "bcctrl", "bctar", "bctarl":
+                       bh = int(inst.Args[2].(Imm))
+               }
+
+               if bo&0x14 == 0x14 {
+                       if bo == 0x14 && bi == Cond0LT { // preferred form of unconditional branch
+                               // Likewise, avoid printing fake b/ba/bl/bla
+                               if opName != "bc" && opName != "bca" && opName != "bcl" && opName != "bcla" {
+                                       startArg = 2
                                }
-                               buf.WriteString(fmt.Sprintf("bc cr%d", bi-CR0))
                        }
-                       cr := bi / 4
-                       switch bo {
-                       case "4":
-                               bit := condBitNeg[(bi-Cond0LT)%4]
-                               if cr == 0 {
-                                       buf.WriteString(fmt.Sprintf("b%s", bit))
-                               } else {
-                                       buf.WriteString(fmt.Sprintf("b%s cr%d,", bit, cr))
-                                       sep = ""
-                               }
-                       case "12":
-                               bit := condBit[(bi-Cond0LT)%4]
-                               if cr == 0 {
-                                       buf.WriteString(fmt.Sprintf("b%s", bit))
-                               } else {
-                                       buf.WriteString(fmt.Sprintf("b%s cr%d,", bit, cr))
-                                       sep = ""
+               } else if bo&0x04 == 0 { // ctr is decremented
+                       if opName != "bcctr" && opName != "bcctrl" {
+                               startArg = 1
+                               tf := ""
+                               if bo&0x10 == 0x00 {
+                                       tf = "f"
+                                       if bo&0x08 == 0x08 {
+                                               tf = "t"
+                                       }
                                }
-                       case "8":
-                               bit := condBit[(bi-Cond0LT)%4]
-                               sep = ""
-                               if cr == 0 {
-                                       buf.WriteString(fmt.Sprintf("bdnzt %s,", bit))
-                               } else {
-                                       buf.WriteString(fmt.Sprintf("bdnzt cr%d,%s,", cr, bit))
+                               sfx = decsfx[(bo>>1)&1] + tf + sfx
+                       }
+                       if bo&0x10 == 0x10 {
+                               if opName != "bcctr" && opName != "bcctrl" {
+                                       startArg = 2
                                }
-                       case "16":
-                               if cr == 0 && bi == Cond0LT {
-                                       buf.WriteString("bdnz")
-                               } else {
-                                       buf.WriteString(fmt.Sprintf("bdnz cr%d,", cr))
-                                       sep = ""
+                               if bi != Cond0LT {
+                                       // A non-zero BI bit was encoded, but ignored by BO
+                                       startArg = 0
                                }
+                               at = ((bo & 0x8) >> 2) | (bo & 0x1)
+                       } else if bo&0x4 == 0x4 {
+                               at = bo & 0x3
+                       }
+               } else if bo&0x10 == 0x10 { // BI field is not used
+                       if opName != "bca" && opName != "bc" {
+                               at = ((bo & 0x8) >> 2) | (bo & 0x1)
+                               startArg = 2
+                       }
+                       // If BI is encoded as a bit other than 0, no mnemonic.
+                       if bo&0x14 == 0x14 {
+                               startArg = 0
                        }
+               } else {
+                       form = (bo & 0x8) >> 1
                        startArg = 2
-               default:
-                       fmt.Printf("Unexpected bi: %d for bc with bo: %s\n", bi, bo)
+                       if bo&0x14 == 0x04 {
+                               at = bo & 0x3
+                       }
                }
-               startArg = 2
+               sfx += atsfx[at]
+
+               if form != 1 {
+                       bit := int((bi-Cond0LT)%4) | (^form)&0x4
+                       sfx = condBit[bit] + sfx
+               }
+
+               if at != 1 && startArg > 0 && bh <= 0 {
+                       str := fmt.Sprintf("b%s", sfx)
+                       if startArg > 1 && (cr != 0 || bh > 0) {
+                               str += fmt.Sprintf(" cr%d", cr)
+                               sep = ","
+                       }
+                       buf.WriteString(str)
+                       if startArg < 2 && bh == 0 {
+                               str := fmt.Sprintf(" %s",
+                                       gnuArg(&inst, 1, inst.Args[1], PC))
+                               buf.WriteString(str)
+                               startArg = 3
+                       } else if bh == 0 {
+                               startArg = 3
+                       }
+               } else {
+                       if startArg == 0 || bh > 0 || at == 1 {
+                               buf.WriteString(inst.Op.String())
+                               buf.WriteString(atsfx[at])
+                               startArg = 0
+                       } else {
+                               buf.WriteString("b" + sfx)
+                       }
+                       if bh == 0 {
+                               str := fmt.Sprintf(" %d,%s", bo, gnuArg(&inst, 1, inst.Args[1], PC))
+                               buf.WriteString(str)
+                               startArg = 3
+                       }
+               }
+
        case "mtspr":
                opcode := inst.Op.String()
                buf.WriteString(opcode[0:2])
@@ -198,7 +287,7 @@ func gnuArg(inst *Inst, argIndex int, arg Arg, pc uint64) string {
                if arg <= Cond0SO {
                        return bit
                }
-               return fmt.Sprintf("%s cr%d", bit, int(arg-Cond0LT)/4)
+               return fmt.Sprintf("4*cr%d+%s", int(arg-Cond0LT)/4, bit)
        case Imm:
                return fmt.Sprintf("%d", arg)
        case SpReg:
index 76f96356d2b5d214d1006170a4b76a9f82aaf274..971816ddac6ad386a0619f10011bc9f7fe69dd34 100644 (file)
@@ -2794,6 +2794,7 @@ var (
        ap_FPReg_16_20             = &argField{Type: TypeFPReg, Shift: 0, BitFields: BitFields{{16, 5}}}
        ap_FPReg_11_15             = &argField{Type: TypeFPReg, Shift: 0, BitFields: BitFields{{11, 5}}}
        ap_FPReg_21_25             = &argField{Type: TypeFPReg, Shift: 0, BitFields: BitFields{{21, 5}}}
+       ap_ImmUnsigned_6_8         = &argField{Type: TypeImmUnsigned, Shift: 0, BitFields: BitFields{{6, 3}}}
        ap_ImmUnsigned_16_19       = &argField{Type: TypeImmUnsigned, Shift: 0, BitFields: BitFields{{16, 4}}}
        ap_ImmUnsigned_15_15       = &argField{Type: TypeImmUnsigned, Shift: 0, BitFields: BitFields{{15, 1}}}
        ap_ImmUnsigned_7_14        = &argField{Type: TypeImmUnsigned, Shift: 0, BitFields: BitFields{{7, 8}}}
@@ -3653,21 +3654,21 @@ var instFormats = [...]instFormat{
        {MCRFS, 0xfc0007fe, 0xfc000080, 0x63f801, // Move to Condition Register from FPSCR X-form (mcrfs BF,BFA)
                [5]*argField{ap_CondRegField_6_8, ap_CondRegField_11_13}},
        {MTFSFI, 0xfc0007ff, 0xfc00010c, 0x7e0800, // Move To FPSCR Field Immediate X-form (mtfsfi BF,U,W)
-               [5]*argField{ap_CondRegField_6_8, ap_ImmUnsigned_16_19, ap_ImmUnsigned_15_15}},
+               [5]*argField{ap_ImmUnsigned_6_8, ap_ImmUnsigned_16_19, ap_ImmUnsigned_15_15}},
        {MTFSFICC, 0xfc0007ff, 0xfc00010d, 0x7e0800, // Move To FPSCR Field Immediate X-form (mtfsfi. BF,U,W)
-               [5]*argField{ap_CondRegField_6_8, ap_ImmUnsigned_16_19, ap_ImmUnsigned_15_15}},
+               [5]*argField{ap_ImmUnsigned_6_8, ap_ImmUnsigned_16_19, ap_ImmUnsigned_15_15}},
        {MTFSF, 0xfc0007ff, 0xfc00058e, 0x0, // Move To FPSCR Fields XFL-form (mtfsf FLM,FRB,L,W)
                [5]*argField{ap_ImmUnsigned_7_14, ap_FPReg_16_20, ap_ImmUnsigned_6_6, ap_ImmUnsigned_15_15}},
        {MTFSFCC, 0xfc0007ff, 0xfc00058f, 0x0, // Move To FPSCR Fields XFL-form (mtfsf. FLM,FRB,L,W)
                [5]*argField{ap_ImmUnsigned_7_14, ap_FPReg_16_20, ap_ImmUnsigned_6_6, ap_ImmUnsigned_15_15}},
        {MTFSB0, 0xfc0007ff, 0xfc00008c, 0x1ff800, // Move To FPSCR Bit 0 X-form (mtfsb0 BT)
-               [5]*argField{ap_CondRegBit_6_10}},
+               [5]*argField{ap_ImmUnsigned_6_10}},
        {MTFSB0CC, 0xfc0007ff, 0xfc00008d, 0x1ff800, // Move To FPSCR Bit 0 X-form (mtfsb0. BT)
-               [5]*argField{ap_CondRegBit_6_10}},
+               [5]*argField{ap_ImmUnsigned_6_10}},
        {MTFSB1, 0xfc0007ff, 0xfc00004c, 0x1ff800, // Move To FPSCR Bit 1 X-form (mtfsb1 BT)
-               [5]*argField{ap_CondRegBit_6_10}},
+               [5]*argField{ap_ImmUnsigned_6_10}},
        {MTFSB1CC, 0xfc0007ff, 0xfc00004d, 0x1ff800, // Move To FPSCR Bit 1 X-form (mtfsb1. BT)
-               [5]*argField{ap_CondRegBit_6_10}},
+               [5]*argField{ap_ImmUnsigned_6_10}},
        {LVEBX, 0xfc0007fe, 0x7c00000e, 0x1, // Load Vector Element Byte Indexed X-form (lvebx VRT,RA,RB)
                [5]*argField{ap_VecReg_6_10, ap_Reg_11_15, ap_Reg_16_20}},
        {LVEHX, 0xfc0007fe, 0x7c00004e, 0x1, // Load Vector Element Halfword Indexed X-form (lvehx VRT,RA,RB)
index 5635399c81d56e08b2516221861c342a8287b8de..af3fb73c51e8fc73a28ac1b2ddaeae34b6714d1e 100644 (file)
@@ -22,233 +22,233 @@ var decoder = [...]uint16{
        0x0D, 685,
        0x0E, 714,
        0x0F, 721,
-       0x10, 8026,
-       0x11, 8032,
-       0x12, 8061,
-       0x13, 8067,
-       0x14, 8096,
-       0x15, 8102,
-       0x16, 8131,
-       0x17, 8138,
-       0x18, 8145,
-       0x19, 8151,
-       0x1A, 8180,
-       0x1B, 8186,
-       0x1C, 8215,
-       0x1D, 8221,
-       0x1E, 8250,
-       0x1F, 8257,
-       0x20, 8264,
-       0x21, 8270,
-       0x22, 8299,
-       0x23, 8305,
-       0x24, 8334,
-       0x25, 8340,
-       0x27, 8369,
-       0x28, 8375,
-       0x29, 8381,
-       0x2A, 8410,
-       0x2B, 8452,
-       0x2C, 8481,
-       0x2D, 8487,
-       0x2F, 8516,
-       0x30, 8522,
-       0x31, 8528,
-       0x32, 8557,
-       0x33, 8563,
-       0x34, 8592,
-       0x35, 8598,
-       0x37, 8627,
-       0x38, 8633,
-       0x39, 8639,
-       0x3A, 8668,
-       0x3B, 8674,
-       0x3C, 8703,
-       0x3D, 8709,
-       0x3F, 8738,
-       0x40, 8744,
-       0x41, 8744,
-       0x42, 8744,
-       0x43, 8744,
-       0x44, 8744,
-       0x45, 8744,
-       0x46, 8744,
-       0x47, 8744,
-       0x48, 8759,
-       0x49, 8759,
-       0x4a, 8759,
-       0x4b, 8759,
-       0x4c, 8759,
-       0x4d, 8759,
-       0x4e, 8759,
-       0x4f, 8759,
-       0x50, 8774,
-       0x51, 8774,
-       0x52, 8774,
-       0x53, 8774,
-       0x54, 8774,
-       0x55, 8774,
-       0x56, 8774,
-       0x57, 8774,
-       0x58, 8801,
-       0x59, 8801,
-       0x5a, 8801,
-       0x5b, 8801,
-       0x5c, 8801,
-       0x5d, 8801,
-       0x5e, 8801,
-       0x5f, 8801,
-       0x60, 8828,
-       0x61, 8841,
-       0x62, 8854,
-       0x63, 8873,
-       0x68, 8904,
-       0x69, 8923,
-       0x6A, 8958,
-       0x6B, 8963,
-       0x6C, 8998,
-       0x6D, 9001,
-       0x6E, 9014,
-       0x6F, 9017,
-       0x70, 9090,
-       0x71, 9095,
-       0x72, 9100,
-       0x73, 9105,
-       0x74, 9110,
-       0x75, 9115,
-       0x76, 9120,
-       0x77, 9125,
-       0x78, 9152,
-       0x79, 9157,
-       0x7A, 9162,
-       0x7B, 9167,
-       0x7C, 9172,
-       0x7D, 9177,
-       0x7E, 9182,
-       0x7F, 9187,
-       0x80, 9252,
-       0x81, 9309,
-       0x83, 9550,
-       0x84, 9791,
-       0x85, 9797,
-       0x86, 9826,
-       0x87, 9832,
-       0x88, 9861,
-       0x89, 9867,
-       0x8A, 9889,
-       0x8B, 9895,
-       0x8C, 9917,
-       0x8D, 9946,
-       0x8E, 9975,
-       0x8F, 10004,
-       0x90, 10040,
-       0x91, 10040,
-       0x92, 10040,
-       0x93, 10040,
-       0x94, 10040,
-       0x95, 10040,
-       0x96, 10040,
-       0x97, 10040,
-       0x98, 10066,
-       0x99, 10086,
-       0x9A, 10106,
-       0x9B, 10123,
-       0x9C, 10126,
-       0x9D, 10149,
-       0x9E, 10172,
-       0x9F, 10175,
-       0xA0, 10178,
-       0xA1, 10197,
-       0xA2, 10219,
-       0xA3, 10238,
-       0xA4, 10260,
-       0xA5, 10263,
-       0xA6, 10283,
-       0xA7, 10286,
-       0xA8, 10306,
-       0xA9, 10312,
-       0xAA, 10341,
-       0xAB, 10344,
-       0xAC, 10364,
-       0xAD, 10367,
-       0xAE, 10387,
-       0xAF, 10390,
-       0xb0, 10410,
-       0xb1, 10410,
-       0xb2, 10410,
-       0xb3, 10410,
-       0xb4, 10410,
-       0xb5, 10410,
-       0xb6, 10410,
-       0xb7, 10410,
-       0xb8, 10416,
-       0xb9, 10416,
-       0xba, 10416,
-       0xbb, 10416,
-       0xbc, 10416,
-       0xbd, 10416,
-       0xbe, 10416,
-       0xbf, 10416,
-       0xC0, 10445,
-       0xC1, 10496,
-       0xC2, 10694,
-       0xC3, 10699,
-       0xC4, 10702,
-       0xC5, 10721,
-       0xC6, 10740,
-       0xC7, 10764,
-       0xC8, 10825,
-       0xC9, 10832,
-       0xCA, 10855,
-       0xCB, 10860,
-       0xCC, 10863,
-       0xCD, 10867,
-       0xCE, 10872,
-       0xCF, 10878,
-       0xD0, 10898,
-       0xD1, 10942,
-       0xD2, 11133,
-       0xD3, 11177,
-       0xD4, 11368,
-       0xD5, 11376,
-       0xD7, 11384,
-       0xD8, 11397,
-       0xD9, 11606,
-       0xDA, 11825,
-       0xDB, 11957,
-       0xDC, 12128,
-       0xDD, 12297,
-       0xDE, 12436,
-       0xDF, 12610,
-       0xE0, 12721,
-       0xE1, 12726,
-       0xE2, 12731,
-       0xE3, 12736,
-       0xE4, 12762,
-       0xE5, 12768,
-       0xE6, 12790,
-       0xE7, 12796,
-       0xE8, 12854,
-       0xE9, 12885,
-       0xEA, 12916,
-       0xEB, 12933,
-       0xEC, 12938,
-       0xED, 12943,
-       0xEE, 12962,
-       0xEF, 12967,
-       0xF1, 12986,
-       0xF4, 12989,
-       0xF5, 12992,
-       0xF6, 12995,
-       0xF7, 13034,
-       0xF8, 13210,
-       0xF9, 13213,
-       0xFA, 13216,
-       0xFB, 13219,
-       0xFC, 13222,
-       0xFD, 13225,
-       0xFE, 13228,
-       0xFF, 13245,
+       0x10, 8045,
+       0x11, 8051,
+       0x12, 8080,
+       0x13, 8086,
+       0x14, 8115,
+       0x15, 8121,
+       0x16, 8150,
+       0x17, 8157,
+       0x18, 8164,
+       0x19, 8170,
+       0x1A, 8199,
+       0x1B, 8205,
+       0x1C, 8234,
+       0x1D, 8240,
+       0x1E, 8269,
+       0x1F, 8276,
+       0x20, 8283,
+       0x21, 8289,
+       0x22, 8318,
+       0x23, 8324,
+       0x24, 8353,
+       0x25, 8359,
+       0x27, 8388,
+       0x28, 8394,
+       0x29, 8400,
+       0x2A, 8429,
+       0x2B, 8471,
+       0x2C, 8500,
+       0x2D, 8506,
+       0x2F, 8535,
+       0x30, 8541,
+       0x31, 8547,
+       0x32, 8576,
+       0x33, 8582,
+       0x34, 8611,
+       0x35, 8617,
+       0x37, 8646,
+       0x38, 8652,
+       0x39, 8658,
+       0x3A, 8687,
+       0x3B, 8693,
+       0x3C, 8722,
+       0x3D, 8728,
+       0x3F, 8757,
+       0x40, 8763,
+       0x41, 8763,
+       0x42, 8763,
+       0x43, 8763,
+       0x44, 8763,
+       0x45, 8763,
+       0x46, 8763,
+       0x47, 8763,
+       0x48, 8778,
+       0x49, 8778,
+       0x4a, 8778,
+       0x4b, 8778,
+       0x4c, 8778,
+       0x4d, 8778,
+       0x4e, 8778,
+       0x4f, 8778,
+       0x50, 8793,
+       0x51, 8793,
+       0x52, 8793,
+       0x53, 8793,
+       0x54, 8793,
+       0x55, 8793,
+       0x56, 8793,
+       0x57, 8793,
+       0x58, 8820,
+       0x59, 8820,
+       0x5a, 8820,
+       0x5b, 8820,
+       0x5c, 8820,
+       0x5d, 8820,
+       0x5e, 8820,
+       0x5f, 8820,
+       0x60, 8847,
+       0x61, 8860,
+       0x62, 8873,
+       0x63, 8892,
+       0x68, 8923,
+       0x69, 8942,
+       0x6A, 8977,
+       0x6B, 8982,
+       0x6C, 9017,
+       0x6D, 9020,
+       0x6E, 9033,
+       0x6F, 9036,
+       0x70, 9109,
+       0x71, 9114,
+       0x72, 9119,
+       0x73, 9124,
+       0x74, 9129,
+       0x75, 9134,
+       0x76, 9139,
+       0x77, 9144,
+       0x78, 9171,
+       0x79, 9176,
+       0x7A, 9181,
+       0x7B, 9186,
+       0x7C, 9191,
+       0x7D, 9196,
+       0x7E, 9201,
+       0x7F, 9206,
+       0x80, 9271,
+       0x81, 9328,
+       0x83, 9569,
+       0x84, 9810,
+       0x85, 9816,
+       0x86, 9845,
+       0x87, 9851,
+       0x88, 9880,
+       0x89, 9886,
+       0x8A, 9908,
+       0x8B, 9914,
+       0x8C, 9936,
+       0x8D, 9965,
+       0x8E, 9994,
+       0x8F, 10023,
+       0x90, 10059,
+       0x91, 10059,
+       0x92, 10059,
+       0x93, 10059,
+       0x94, 10059,
+       0x95, 10059,
+       0x96, 10059,
+       0x97, 10059,
+       0x98, 10085,
+       0x99, 10105,
+       0x9A, 10125,
+       0x9B, 10142,
+       0x9C, 10145,
+       0x9D, 10168,
+       0x9E, 10191,
+       0x9F, 10194,
+       0xA0, 10197,
+       0xA1, 10216,
+       0xA2, 10238,
+       0xA3, 10257,
+       0xA4, 10279,
+       0xA5, 10282,
+       0xA6, 10302,
+       0xA7, 10305,
+       0xA8, 10325,
+       0xA9, 10331,
+       0xAA, 10360,
+       0xAB, 10363,
+       0xAC, 10383,
+       0xAD, 10386,
+       0xAE, 10406,
+       0xAF, 10409,
+       0xb0, 10429,
+       0xb1, 10429,
+       0xb2, 10429,
+       0xb3, 10429,
+       0xb4, 10429,
+       0xb5, 10429,
+       0xb6, 10429,
+       0xb7, 10429,
+       0xb8, 10435,
+       0xb9, 10435,
+       0xba, 10435,
+       0xbb, 10435,
+       0xbc, 10435,
+       0xbd, 10435,
+       0xbe, 10435,
+       0xbf, 10435,
+       0xC0, 10464,
+       0xC1, 10515,
+       0xC2, 10713,
+       0xC3, 10718,
+       0xC4, 10721,
+       0xC5, 10740,
+       0xC6, 10759,
+       0xC7, 10783,
+       0xC8, 10844,
+       0xC9, 10851,
+       0xCA, 10874,
+       0xCB, 10879,
+       0xCC, 10882,
+       0xCD, 10886,
+       0xCE, 10891,
+       0xCF, 10897,
+       0xD0, 10917,
+       0xD1, 10961,
+       0xD2, 11152,
+       0xD3, 11196,
+       0xD4, 11387,
+       0xD5, 11395,
+       0xD7, 11403,
+       0xD8, 11416,
+       0xD9, 11625,
+       0xDA, 11844,
+       0xDB, 11976,
+       0xDC, 12147,
+       0xDD, 12316,
+       0xDE, 12455,
+       0xDF, 12629,
+       0xE0, 12740,
+       0xE1, 12745,
+       0xE2, 12750,
+       0xE3, 12755,
+       0xE4, 12781,
+       0xE5, 12787,
+       0xE6, 12809,
+       0xE7, 12815,
+       0xE8, 12873,
+       0xE9, 12904,
+       0xEA, 12935,
+       0xEB, 12952,
+       0xEC, 12957,
+       0xED, 12962,
+       0xEE, 12981,
+       0xEF, 12986,
+       0xF1, 13005,
+       0xF4, 13008,
+       0xF5, 13011,
+       0xF6, 13014,
+       0xF7, 13053,
+       0xF8, 13229,
+       0xF9, 13232,
+       0xFA, 13235,
+       0xFB, 13238,
+       0xFC, 13241,
+       0xFD, 13244,
+       0xFE, 13247,
+       0xFF, 13264,
        uint16(xFail),
        /*490*/ uint16(xSetOp), uint16(ADD),
        /*492*/ uint16(xReadSlashR),
@@ -400,587 +400,588 @@ var decoder = [...]uint16{
        /*717*/ uint16(xSetOp), uint16(PUSH),
        /*719*/ uint16(xArgCS),
        /*720*/ uint16(xMatch),
-       /*721*/ uint16(xCondByte), 228,
-       0x00, 1180,
-       0x01, 1237,
-       0x02, 1345,
-       0x03, 1367,
-       0x05, 1389,
-       0x06, 1395,
-       0x07, 1398,
-       0x08, 1404,
-       0x09, 1407,
-       0x0B, 1410,
-       0x0D, 1413,
-       0x10, 1426,
-       0x11, 1460,
-       0x12, 1494,
-       0x13, 1537,
-       0x14, 1555,
-       0x15, 1573,
-       0x16, 1591,
-       0x17, 1626,
-       0x18, 1644,
-       0x1F, 1669,
-       0x20, 1690,
-       0x21, 1705,
-       0x22, 1720,
-       0x23, 1735,
-       0x24, 1750,
-       0x26, 1765,
-       0x28, 1780,
-       0x29, 1798,
-       0x2A, 1816,
-       0x2B, 1903,
-       0x2C, 1937,
-       0x2D, 2024,
-       0x2E, 2111,
-       0x2F, 2129,
-       0x30, 2147,
-       0x31, 2150,
-       0x32, 2153,
-       0x33, 2156,
-       0x34, 2159,
-       0x35, 2162,
-       0x38, 2172,
-       0x3A, 3073,
-       0x40, 3484,
-       0x41, 3513,
-       0x42, 3542,
-       0x43, 3571,
-       0x44, 3600,
-       0x45, 3629,
-       0x46, 3658,
-       0x47, 3687,
-       0x48, 3716,
-       0x49, 3745,
-       0x4A, 3774,
-       0x4B, 3803,
-       0x4C, 3832,
-       0x4D, 3861,
-       0x4E, 3890,
-       0x4F, 3919,
-       0x50, 3948,
-       0x51, 3966,
-       0x52, 4000,
-       0x53, 4018,
-       0x54, 4036,
-       0x55, 4054,
-       0x56, 4072,
-       0x57, 4090,
-       0x58, 4108,
-       0x59, 4142,
-       0x5A, 4176,
-       0x5B, 4210,
-       0x5C, 4236,
-       0x5D, 4270,
-       0x5E, 4304,
-       0x5F, 4338,
-       0x60, 4372,
-       0x61, 4390,
-       0x62, 4408,
-       0x63, 4426,
-       0x64, 4444,
-       0x65, 4462,
-       0x66, 4480,
-       0x67, 4498,
-       0x68, 4516,
-       0x69, 4534,
-       0x6A, 4552,
-       0x6B, 4570,
-       0x6C, 4588,
-       0x6D, 4598,
-       0x6E, 4608,
-       0x6F, 4675,
-       0x70, 4701,
-       0x71, 4743,
-       0x72, 4806,
-       0x73, 4869,
-       0x74, 4934,
-       0x75, 4952,
-       0x76, 4970,
-       0x77, 4988,
-       0x7C, 4991,
-       0x7D, 5009,
-       0x7E, 5027,
-       0x7F, 5104,
-       0x80, 5130,
-       0x81, 5161,
-       0x82, 5192,
-       0x83, 5223,
-       0x84, 5254,
-       0x85, 5285,
-       0x86, 5316,
-       0x87, 5347,
-       0x88, 5378,
-       0x89, 5409,
-       0x8A, 5440,
-       0x8B, 5471,
-       0x8C, 5502,
-       0x8D, 5533,
-       0x8E, 5564,
-       0x8F, 5595,
-       0x90, 5626,
-       0x91, 5631,
-       0x92, 5636,
-       0x93, 5641,
-       0x94, 5646,
-       0x95, 5651,
-       0x96, 5656,
-       0x97, 5661,
-       0x98, 5666,
-       0x99, 5671,
-       0x9A, 5676,
-       0x9B, 5681,
-       0x9C, 5686,
-       0x9D, 5691,
-       0x9E, 5696,
-       0x9F, 5701,
-       0xA0, 5706,
-       0xA1, 5710,
-       0xA2, 5737,
-       0xA3, 5740,
-       0xA4, 5769,
-       0xA5, 5804,
-       0xA8, 5836,
-       0xA9, 5840,
-       0xAA, 5867,
-       0xAB, 5870,
-       0xAC, 5899,
-       0xAD, 5934,
-       0xAE, 5966,
-       0xAF, 6224,
-       0xB0, 6253,
-       0xB1, 6259,
-       0xB2, 6288,
-       0xB3, 6317,
-       0xB4, 6346,
-       0xB5, 6375,
-       0xB6, 6404,
-       0xB7, 6433,
-       0xB8, 6462,
-       0xB9, 6499,
-       0xBA, 6502,
-       0xBB, 6627,
-       0xBC, 6656,
-       0xBD, 6723,
-       0xBE, 6790,
-       0xBF, 6819,
-       0xC0, 6848,
-       0xC1, 6854,
-       0xC2, 6883,
-       0xC3, 6925,
-       0xC4, 6954,
-       0xC5, 6976,
-       0xC6, 6998,
-       0xC7, 7020,
-       0xc8, 7149,
-       0xc9, 7149,
-       0xca, 7149,
-       0xcb, 7149,
-       0xcc, 7149,
-       0xcd, 7149,
-       0xce, 7149,
-       0xcf, 7149,
-       0xD0, 7172,
-       0xD1, 7190,
-       0xD2, 7208,
-       0xD3, 7226,
-       0xD4, 7244,
-       0xD5, 7262,
-       0xD6, 7280,
-       0xD7, 7306,
-       0xD8, 7324,
-       0xD9, 7342,
-       0xDA, 7360,
-       0xDB, 7378,
-       0xDC, 7396,
-       0xDD, 7414,
-       0xDE, 7432,
-       0xDF, 7450,
-       0xE0, 7468,
-       0xE1, 7486,
-       0xE2, 7504,
-       0xE3, 7522,
-       0xE4, 7540,
-       0xE5, 7558,
-       0xE6, 7576,
-       0xE7, 7602,
-       0xE8, 7620,
-       0xE9, 7638,
-       0xEA, 7656,
-       0xEB, 7674,
-       0xEC, 7692,
-       0xED, 7710,
-       0xEE, 7728,
-       0xEF, 7746,
-       0xF0, 7764,
-       0xF1, 7774,
-       0xF2, 7792,
-       0xF3, 7810,
-       0xF4, 7828,
-       0xF5, 7846,
-       0xF6, 7864,
-       0xF7, 7882,
-       0xF8, 7900,
-       0xF9, 7918,
-       0xFA, 7936,
-       0xFB, 7954,
-       0xFC, 7972,
-       0xFD, 7990,
-       0xFE, 8008,
+       /*721*/ uint16(xCondByte), 229,
+       0x00, 1182,
+       0x01, 1239,
+       0x02, 1347,
+       0x03, 1369,
+       0x05, 1391,
+       0x06, 1397,
+       0x07, 1400,
+       0x08, 1406,
+       0x09, 1409,
+       0x0B, 1412,
+       0x0D, 1415,
+       0x10, 1428,
+       0x11, 1462,
+       0x12, 1496,
+       0x13, 1539,
+       0x14, 1557,
+       0x15, 1575,
+       0x16, 1593,
+       0x17, 1628,
+       0x18, 1646,
+       0x1F, 1671,
+       0x20, 1692,
+       0x21, 1707,
+       0x22, 1722,
+       0x23, 1737,
+       0x24, 1752,
+       0x26, 1767,
+       0x28, 1782,
+       0x29, 1800,
+       0x2A, 1818,
+       0x2B, 1905,
+       0x2C, 1939,
+       0x2D, 2026,
+       0x2E, 2113,
+       0x2F, 2131,
+       0x30, 2149,
+       0x31, 2152,
+       0x32, 2155,
+       0x33, 2158,
+       0x34, 2161,
+       0x35, 2164,
+       0x38, 2174,
+       0x3A, 3075,
+       0x40, 3486,
+       0x41, 3515,
+       0x42, 3544,
+       0x43, 3573,
+       0x44, 3602,
+       0x45, 3631,
+       0x46, 3660,
+       0x47, 3689,
+       0x48, 3718,
+       0x49, 3747,
+       0x4A, 3776,
+       0x4B, 3805,
+       0x4C, 3834,
+       0x4D, 3863,
+       0x4E, 3892,
+       0x4F, 3921,
+       0x50, 3950,
+       0x51, 3968,
+       0x52, 4002,
+       0x53, 4020,
+       0x54, 4038,
+       0x55, 4056,
+       0x56, 4074,
+       0x57, 4092,
+       0x58, 4110,
+       0x59, 4144,
+       0x5A, 4178,
+       0x5B, 4212,
+       0x5C, 4238,
+       0x5D, 4272,
+       0x5E, 4306,
+       0x5F, 4340,
+       0x60, 4374,
+       0x61, 4392,
+       0x62, 4410,
+       0x63, 4428,
+       0x64, 4446,
+       0x65, 4464,
+       0x66, 4482,
+       0x67, 4500,
+       0x68, 4518,
+       0x69, 4536,
+       0x6A, 4554,
+       0x6B, 4572,
+       0x6C, 4590,
+       0x6D, 4600,
+       0x6E, 4610,
+       0x6F, 4677,
+       0x70, 4703,
+       0x71, 4745,
+       0x72, 4808,
+       0x73, 4871,
+       0x74, 4936,
+       0x75, 4954,
+       0x76, 4972,
+       0x77, 4990,
+       0x7C, 4993,
+       0x7D, 5011,
+       0x7E, 5029,
+       0x7F, 5106,
+       0x80, 5132,
+       0x81, 5163,
+       0x82, 5194,
+       0x83, 5225,
+       0x84, 5256,
+       0x85, 5287,
+       0x86, 5318,
+       0x87, 5349,
+       0x88, 5380,
+       0x89, 5411,
+       0x8A, 5442,
+       0x8B, 5473,
+       0x8C, 5504,
+       0x8D, 5535,
+       0x8E, 5566,
+       0x8F, 5597,
+       0x90, 5628,
+       0x91, 5633,
+       0x92, 5638,
+       0x93, 5643,
+       0x94, 5648,
+       0x95, 5653,
+       0x96, 5658,
+       0x97, 5663,
+       0x98, 5668,
+       0x99, 5673,
+       0x9A, 5678,
+       0x9B, 5683,
+       0x9C, 5688,
+       0x9D, 5693,
+       0x9E, 5698,
+       0x9F, 5703,
+       0xA0, 5708,
+       0xA1, 5712,
+       0xA2, 5739,
+       0xA3, 5742,
+       0xA4, 5771,
+       0xA5, 5806,
+       0xA8, 5838,
+       0xA9, 5842,
+       0xAA, 5869,
+       0xAB, 5872,
+       0xAC, 5901,
+       0xAD, 5936,
+       0xAE, 5968,
+       0xAF, 6226,
+       0xB0, 6255,
+       0xB1, 6261,
+       0xB2, 6290,
+       0xB3, 6319,
+       0xB4, 6348,
+       0xB5, 6377,
+       0xB6, 6406,
+       0xB7, 6435,
+       0xB8, 6464,
+       0xB9, 6501,
+       0xBA, 6511,
+       0xBB, 6636,
+       0xBC, 6665,
+       0xBD, 6732,
+       0xBE, 6799,
+       0xBF, 6828,
+       0xC0, 6857,
+       0xC1, 6863,
+       0xC2, 6892,
+       0xC3, 6934,
+       0xC4, 6963,
+       0xC5, 6985,
+       0xC6, 7007,
+       0xC7, 7029,
+       0xc8, 7158,
+       0xc9, 7158,
+       0xca, 7158,
+       0xcb, 7158,
+       0xcc, 7158,
+       0xcd, 7158,
+       0xce, 7158,
+       0xcf, 7158,
+       0xD0, 7181,
+       0xD1, 7199,
+       0xD2, 7217,
+       0xD3, 7235,
+       0xD4, 7253,
+       0xD5, 7271,
+       0xD6, 7289,
+       0xD7, 7315,
+       0xD8, 7333,
+       0xD9, 7351,
+       0xDA, 7369,
+       0xDB, 7387,
+       0xDC, 7405,
+       0xDD, 7423,
+       0xDE, 7441,
+       0xDF, 7459,
+       0xE0, 7477,
+       0xE1, 7495,
+       0xE2, 7513,
+       0xE3, 7531,
+       0xE4, 7549,
+       0xE5, 7567,
+       0xE6, 7585,
+       0xE7, 7611,
+       0xE8, 7629,
+       0xE9, 7647,
+       0xEA, 7665,
+       0xEB, 7683,
+       0xEC, 7701,
+       0xED, 7719,
+       0xEE, 7737,
+       0xEF, 7755,
+       0xF0, 7773,
+       0xF1, 7783,
+       0xF2, 7801,
+       0xF3, 7819,
+       0xF4, 7837,
+       0xF5, 7855,
+       0xF6, 7873,
+       0xF7, 7891,
+       0xF8, 7909,
+       0xF9, 7927,
+       0xFA, 7945,
+       0xFB, 7963,
+       0xFC, 7981,
+       0xFD, 7999,
+       0xFE, 8017,
+       0xFF, 8035,
        uint16(xFail),
-       /*1180*/ uint16(xCondSlashR),
-       1189, // 0
-       1205, // 1
-       1221, // 2
-       1225, // 3
-       1229, // 4
-       1233, // 5
+       /*1182*/ uint16(xCondSlashR),
+       1191, // 0
+       1207, // 1
+       1223, // 2
+       1227, // 3
+       1231, // 4
+       1235, // 5
        0,    // 6
        0,    // 7
-       /*1189*/ uint16(xCondDataSize), 1193, 1197, 1201,
-       /*1193*/ uint16(xSetOp), uint16(SLDT),
-       /*1195*/ uint16(xArgRM16),
-       /*1196*/ uint16(xMatch),
-       /*1197*/ uint16(xSetOp), uint16(SLDT),
-       /*1199*/ uint16(xArgR32M16),
-       /*1200*/ uint16(xMatch),
-       /*1201*/ uint16(xSetOp), uint16(SLDT),
-       /*1203*/ uint16(xArgR64M16),
-       /*1204*/ uint16(xMatch),
-       /*1205*/ uint16(xCondDataSize), 1209, 1213, 1217,
-       /*1209*/ uint16(xSetOp), uint16(STR),
-       /*1211*/ uint16(xArgRM16),
-       /*1212*/ uint16(xMatch),
-       /*1213*/ uint16(xSetOp), uint16(STR),
-       /*1215*/ uint16(xArgR32M16),
-       /*1216*/ uint16(xMatch),
-       /*1217*/ uint16(xSetOp), uint16(STR),
-       /*1219*/ uint16(xArgR64M16),
-       /*1220*/ uint16(xMatch),
-       /*1221*/ uint16(xSetOp), uint16(LLDT),
-       /*1223*/ uint16(xArgRM16),
-       /*1224*/ uint16(xMatch),
-       /*1225*/ uint16(xSetOp), uint16(LTR),
-       /*1227*/ uint16(xArgRM16),
-       /*1228*/ uint16(xMatch),
-       /*1229*/ uint16(xSetOp), uint16(VERR),
-       /*1231*/ uint16(xArgRM16),
-       /*1232*/ uint16(xMatch),
-       /*1233*/ uint16(xSetOp), uint16(VERW),
-       /*1235*/ uint16(xArgRM16),
-       /*1236*/ uint16(xMatch),
-       /*1237*/ uint16(xCondByte), 8,
-       0xC8, 1318,
-       0xC9, 1321,
-       0xD0, 1324,
-       0xD1, 1327,
-       0xD5, 1330,
-       0xD6, 1333,
-       0xF8, 1336,
-       0xF9, 1342,
-       /*1255*/ uint16(xCondSlashR),
-       1264, // 0
-       1268, // 1
-       1272, // 2
-       1283, // 3
-       1294, // 4
+       /*1191*/ uint16(xCondDataSize), 1195, 1199, 1203,
+       /*1195*/ uint16(xSetOp), uint16(SLDT),
+       /*1197*/ uint16(xArgRM16),
+       /*1198*/ uint16(xMatch),
+       /*1199*/ uint16(xSetOp), uint16(SLDT),
+       /*1201*/ uint16(xArgR32M16),
+       /*1202*/ uint16(xMatch),
+       /*1203*/ uint16(xSetOp), uint16(SLDT),
+       /*1205*/ uint16(xArgR64M16),
+       /*1206*/ uint16(xMatch),
+       /*1207*/ uint16(xCondDataSize), 1211, 1215, 1219,
+       /*1211*/ uint16(xSetOp), uint16(STR),
+       /*1213*/ uint16(xArgRM16),
+       /*1214*/ uint16(xMatch),
+       /*1215*/ uint16(xSetOp), uint16(STR),
+       /*1217*/ uint16(xArgR32M16),
+       /*1218*/ uint16(xMatch),
+       /*1219*/ uint16(xSetOp), uint16(STR),
+       /*1221*/ uint16(xArgR64M16),
+       /*1222*/ uint16(xMatch),
+       /*1223*/ uint16(xSetOp), uint16(LLDT),
+       /*1225*/ uint16(xArgRM16),
+       /*1226*/ uint16(xMatch),
+       /*1227*/ uint16(xSetOp), uint16(LTR),
+       /*1229*/ uint16(xArgRM16),
+       /*1230*/ uint16(xMatch),
+       /*1231*/ uint16(xSetOp), uint16(VERR),
+       /*1233*/ uint16(xArgRM16),
+       /*1234*/ uint16(xMatch),
+       /*1235*/ uint16(xSetOp), uint16(VERW),
+       /*1237*/ uint16(xArgRM16),
+       /*1238*/ uint16(xMatch),
+       /*1239*/ uint16(xCondByte), 8,
+       0xC8, 1320,
+       0xC9, 1323,
+       0xD0, 1326,
+       0xD1, 1329,
+       0xD5, 1332,
+       0xD6, 1335,
+       0xF8, 1338,
+       0xF9, 1344,
+       /*1257*/ uint16(xCondSlashR),
+       1266, // 0
+       1270, // 1
+       1274, // 2
+       1285, // 3
+       1296, // 4
        0,    // 5
-       1310, // 6
-       1314, // 7
-       /*1264*/ uint16(xSetOp), uint16(SGDT),
-       /*1266*/ uint16(xArgM),
-       /*1267*/ uint16(xMatch),
-       /*1268*/ uint16(xSetOp), uint16(SIDT),
-       /*1270*/ uint16(xArgM),
-       /*1271*/ uint16(xMatch),
-       /*1272*/ uint16(xCondIs64), 1275, 1279,
-       /*1275*/ uint16(xSetOp), uint16(LGDT),
-       /*1277*/ uint16(xArgM16and32),
-       /*1278*/ uint16(xMatch),
-       /*1279*/ uint16(xSetOp), uint16(LGDT),
-       /*1281*/ uint16(xArgM16and64),
-       /*1282*/ uint16(xMatch),
-       /*1283*/ uint16(xCondIs64), 1286, 1290,
-       /*1286*/ uint16(xSetOp), uint16(LIDT),
-       /*1288*/ uint16(xArgM16and32),
-       /*1289*/ uint16(xMatch),
-       /*1290*/ uint16(xSetOp), uint16(LIDT),
-       /*1292*/ uint16(xArgM16and64),
-       /*1293*/ uint16(xMatch),
-       /*1294*/ uint16(xCondDataSize), 1298, 1302, 1306,
-       /*1298*/ uint16(xSetOp), uint16(SMSW),
-       /*1300*/ uint16(xArgRM16),
-       /*1301*/ uint16(xMatch),
-       /*1302*/ uint16(xSetOp), uint16(SMSW),
-       /*1304*/ uint16(xArgR32M16),
-       /*1305*/ uint16(xMatch),
-       /*1306*/ uint16(xSetOp), uint16(SMSW),
-       /*1308*/ uint16(xArgR64M16),
-       /*1309*/ uint16(xMatch),
-       /*1310*/ uint16(xSetOp), uint16(LMSW),
-       /*1312*/ uint16(xArgRM16),
-       /*1313*/ uint16(xMatch),
-       /*1314*/ uint16(xSetOp), uint16(INVLPG),
-       /*1316*/ uint16(xArgM),
-       /*1317*/ uint16(xMatch),
-       /*1318*/ uint16(xSetOp), uint16(MONITOR),
-       /*1320*/ uint16(xMatch),
-       /*1321*/ uint16(xSetOp), uint16(MWAIT),
-       /*1323*/ uint16(xMatch),
-       /*1324*/ uint16(xSetOp), uint16(XGETBV),
-       /*1326*/ uint16(xMatch),
-       /*1327*/ uint16(xSetOp), uint16(XSETBV),
-       /*1329*/ uint16(xMatch),
-       /*1330*/ uint16(xSetOp), uint16(XEND),
-       /*1332*/ uint16(xMatch),
-       /*1333*/ uint16(xSetOp), uint16(XTEST),
-       /*1335*/ uint16(xMatch),
-       /*1336*/ uint16(xCondIs64), 0, 1339,
-       /*1339*/ uint16(xSetOp), uint16(SWAPGS),
-       /*1341*/ uint16(xMatch),
-       /*1342*/ uint16(xSetOp), uint16(RDTSCP),
-       /*1344*/ uint16(xMatch),
-       /*1345*/ uint16(xCondDataSize), 1349, 1355, 1361,
-       /*1349*/ uint16(xSetOp), uint16(LAR),
-       /*1351*/ uint16(xReadSlashR),
-       /*1352*/ uint16(xArgR16),
-       /*1353*/ uint16(xArgRM16),
-       /*1354*/ uint16(xMatch),
-       /*1355*/ uint16(xSetOp), uint16(LAR),
-       /*1357*/ uint16(xReadSlashR),
-       /*1358*/ uint16(xArgR32),
-       /*1359*/ uint16(xArgR32M16),
-       /*1360*/ uint16(xMatch),
-       /*1361*/ uint16(xSetOp), uint16(LAR),
-       /*1363*/ uint16(xReadSlashR),
-       /*1364*/ uint16(xArgR64),
-       /*1365*/ uint16(xArgR64M16),
-       /*1366*/ uint16(xMatch),
-       /*1367*/ uint16(xCondDataSize), 1371, 1377, 1383,
-       /*1371*/ uint16(xSetOp), uint16(LSL),
-       /*1373*/ uint16(xReadSlashR),
-       /*1374*/ uint16(xArgR16),
-       /*1375*/ uint16(xArgRM16),
-       /*1376*/ uint16(xMatch),
-       /*1377*/ uint16(xSetOp), uint16(LSL),
-       /*1379*/ uint16(xReadSlashR),
-       /*1380*/ uint16(xArgR32),
-       /*1381*/ uint16(xArgR32M16),
-       /*1382*/ uint16(xMatch),
-       /*1383*/ uint16(xSetOp), uint16(LSL),
-       /*1385*/ uint16(xReadSlashR),
-       /*1386*/ uint16(xArgR64),
-       /*1387*/ uint16(xArgR32M16),
-       /*1388*/ uint16(xMatch),
-       /*1389*/ uint16(xCondIs64), 0, 1392,
-       /*1392*/ uint16(xSetOp), uint16(SYSCALL),
-       /*1394*/ uint16(xMatch),
-       /*1395*/ uint16(xSetOp), uint16(CLTS),
-       /*1397*/ uint16(xMatch),
-       /*1398*/ uint16(xCondIs64), 0, 1401,
-       /*1401*/ uint16(xSetOp), uint16(SYSRET),
-       /*1403*/ uint16(xMatch),
-       /*1404*/ uint16(xSetOp), uint16(INVD),
-       /*1406*/ uint16(xMatch),
-       /*1407*/ uint16(xSetOp), uint16(WBINVD),
-       /*1409*/ uint16(xMatch),
-       /*1410*/ uint16(xSetOp), uint16(UD2),
-       /*1412*/ uint16(xMatch),
-       /*1413*/ uint16(xCondSlashR),
+       1312, // 6
+       1316, // 7
+       /*1266*/ uint16(xSetOp), uint16(SGDT),
+       /*1268*/ uint16(xArgM),
+       /*1269*/ uint16(xMatch),
+       /*1270*/ uint16(xSetOp), uint16(SIDT),
+       /*1272*/ uint16(xArgM),
+       /*1273*/ uint16(xMatch),
+       /*1274*/ uint16(xCondIs64), 1277, 1281,
+       /*1277*/ uint16(xSetOp), uint16(LGDT),
+       /*1279*/ uint16(xArgM16and32),
+       /*1280*/ uint16(xMatch),
+       /*1281*/ uint16(xSetOp), uint16(LGDT),
+       /*1283*/ uint16(xArgM16and64),
+       /*1284*/ uint16(xMatch),
+       /*1285*/ uint16(xCondIs64), 1288, 1292,
+       /*1288*/ uint16(xSetOp), uint16(LIDT),
+       /*1290*/ uint16(xArgM16and32),
+       /*1291*/ uint16(xMatch),
+       /*1292*/ uint16(xSetOp), uint16(LIDT),
+       /*1294*/ uint16(xArgM16and64),
+       /*1295*/ uint16(xMatch),
+       /*1296*/ uint16(xCondDataSize), 1300, 1304, 1308,
+       /*1300*/ uint16(xSetOp), uint16(SMSW),
+       /*1302*/ uint16(xArgRM16),
+       /*1303*/ uint16(xMatch),
+       /*1304*/ uint16(xSetOp), uint16(SMSW),
+       /*1306*/ uint16(xArgR32M16),
+       /*1307*/ uint16(xMatch),
+       /*1308*/ uint16(xSetOp), uint16(SMSW),
+       /*1310*/ uint16(xArgR64M16),
+       /*1311*/ uint16(xMatch),
+       /*1312*/ uint16(xSetOp), uint16(LMSW),
+       /*1314*/ uint16(xArgRM16),
+       /*1315*/ uint16(xMatch),
+       /*1316*/ uint16(xSetOp), uint16(INVLPG),
+       /*1318*/ uint16(xArgM),
+       /*1319*/ uint16(xMatch),
+       /*1320*/ uint16(xSetOp), uint16(MONITOR),
+       /*1322*/ uint16(xMatch),
+       /*1323*/ uint16(xSetOp), uint16(MWAIT),
+       /*1325*/ uint16(xMatch),
+       /*1326*/ uint16(xSetOp), uint16(XGETBV),
+       /*1328*/ uint16(xMatch),
+       /*1329*/ uint16(xSetOp), uint16(XSETBV),
+       /*1331*/ uint16(xMatch),
+       /*1332*/ uint16(xSetOp), uint16(XEND),
+       /*1334*/ uint16(xMatch),
+       /*1335*/ uint16(xSetOp), uint16(XTEST),
+       /*1337*/ uint16(xMatch),
+       /*1338*/ uint16(xCondIs64), 0, 1341,
+       /*1341*/ uint16(xSetOp), uint16(SWAPGS),
+       /*1343*/ uint16(xMatch),
+       /*1344*/ uint16(xSetOp), uint16(RDTSCP),
+       /*1346*/ uint16(xMatch),
+       /*1347*/ uint16(xCondDataSize), 1351, 1357, 1363,
+       /*1351*/ uint16(xSetOp), uint16(LAR),
+       /*1353*/ uint16(xReadSlashR),
+       /*1354*/ uint16(xArgR16),
+       /*1355*/ uint16(xArgRM16),
+       /*1356*/ uint16(xMatch),
+       /*1357*/ uint16(xSetOp), uint16(LAR),
+       /*1359*/ uint16(xReadSlashR),
+       /*1360*/ uint16(xArgR32),
+       /*1361*/ uint16(xArgR32M16),
+       /*1362*/ uint16(xMatch),
+       /*1363*/ uint16(xSetOp), uint16(LAR),
+       /*1365*/ uint16(xReadSlashR),
+       /*1366*/ uint16(xArgR64),
+       /*1367*/ uint16(xArgR64M16),
+       /*1368*/ uint16(xMatch),
+       /*1369*/ uint16(xCondDataSize), 1373, 1379, 1385,
+       /*1373*/ uint16(xSetOp), uint16(LSL),
+       /*1375*/ uint16(xReadSlashR),
+       /*1376*/ uint16(xArgR16),
+       /*1377*/ uint16(xArgRM16),
+       /*1378*/ uint16(xMatch),
+       /*1379*/ uint16(xSetOp), uint16(LSL),
+       /*1381*/ uint16(xReadSlashR),
+       /*1382*/ uint16(xArgR32),
+       /*1383*/ uint16(xArgR32M16),
+       /*1384*/ uint16(xMatch),
+       /*1385*/ uint16(xSetOp), uint16(LSL),
+       /*1387*/ uint16(xReadSlashR),
+       /*1388*/ uint16(xArgR64),
+       /*1389*/ uint16(xArgR32M16),
+       /*1390*/ uint16(xMatch),
+       /*1391*/ uint16(xCondIs64), 0, 1394,
+       /*1394*/ uint16(xSetOp), uint16(SYSCALL),
+       /*1396*/ uint16(xMatch),
+       /*1397*/ uint16(xSetOp), uint16(CLTS),
+       /*1399*/ uint16(xMatch),
+       /*1400*/ uint16(xCondIs64), 0, 1403,
+       /*1403*/ uint16(xSetOp), uint16(SYSRET),
+       /*1405*/ uint16(xMatch),
+       /*1406*/ uint16(xSetOp), uint16(INVD),
+       /*1408*/ uint16(xMatch),
+       /*1409*/ uint16(xSetOp), uint16(WBINVD),
+       /*1411*/ uint16(xMatch),
+       /*1412*/ uint16(xSetOp), uint16(UD2),
+       /*1414*/ uint16(xMatch),
+       /*1415*/ uint16(xCondSlashR),
        0,    // 0
-       1422, // 1
+       1424, // 1
        0,    // 2
        0,    // 3
        0,    // 4
        0,    // 5
        0,    // 6
        0,    // 7
-       /*1422*/ uint16(xSetOp), uint16(PREFETCHW),
-       /*1424*/ uint16(xArgM8),
-       /*1425*/ uint16(xMatch),
-       /*1426*/ uint16(xCondPrefix), 4,
-       0xF3, 1454,
-       0xF2, 1448,
-       0x66, 1442,
-       0x0, 1436,
-       /*1436*/ uint16(xSetOp), uint16(MOVUPS),
-       /*1438*/ uint16(xReadSlashR),
-       /*1439*/ uint16(xArgXmm1),
-       /*1440*/ uint16(xArgXmm2M128),
-       /*1441*/ uint16(xMatch),
-       /*1442*/ uint16(xSetOp), uint16(MOVUPD),
-       /*1444*/ uint16(xReadSlashR),
-       /*1445*/ uint16(xArgXmm1),
-       /*1446*/ uint16(xArgXmm2M128),
-       /*1447*/ uint16(xMatch),
-       /*1448*/ uint16(xSetOp), uint16(MOVSD_XMM),
-       /*1450*/ uint16(xReadSlashR),
-       /*1451*/ uint16(xArgXmm1),
-       /*1452*/ uint16(xArgXmm2M64),
-       /*1453*/ uint16(xMatch),
-       /*1454*/ uint16(xSetOp), uint16(MOVSS),
-       /*1456*/ uint16(xReadSlashR),
-       /*1457*/ uint16(xArgXmm1),
-       /*1458*/ uint16(xArgXmm2M32),
-       /*1459*/ uint16(xMatch),
-       /*1460*/ uint16(xCondPrefix), 4,
-       0xF3, 1488,
-       0xF2, 1482,
-       0x66, 1476,
-       0x0, 1470,
-       /*1470*/ uint16(xSetOp), uint16(MOVUPS),
-       /*1472*/ uint16(xReadSlashR),
-       /*1473*/ uint16(xArgXmm2M128),
-       /*1474*/ uint16(xArgXmm1),
-       /*1475*/ uint16(xMatch),
-       /*1476*/ uint16(xSetOp), uint16(MOVUPD),
-       /*1478*/ uint16(xReadSlashR),
-       /*1479*/ uint16(xArgXmm2M128),
-       /*1480*/ uint16(xArgXmm),
-       /*1481*/ uint16(xMatch),
-       /*1482*/ uint16(xSetOp), uint16(MOVSD_XMM),
-       /*1484*/ uint16(xReadSlashR),
-       /*1485*/ uint16(xArgXmm2M64),
-       /*1486*/ uint16(xArgXmm1),
-       /*1487*/ uint16(xMatch),
-       /*1488*/ uint16(xSetOp), uint16(MOVSS),
-       /*1490*/ uint16(xReadSlashR),
-       /*1491*/ uint16(xArgXmm2M32),
-       /*1492*/ uint16(xArgXmm),
-       /*1493*/ uint16(xMatch),
-       /*1494*/ uint16(xCondPrefix), 4,
-       0xF3, 1531,
-       0xF2, 1525,
-       0x66, 1519,
-       0x0, 1504,
-       /*1504*/ uint16(xCondIsMem), 1507, 1513,
-       /*1507*/ uint16(xSetOp), uint16(MOVHLPS),
-       /*1509*/ uint16(xReadSlashR),
-       /*1510*/ uint16(xArgXmm1),
-       /*1511*/ uint16(xArgXmm2),
-       /*1512*/ uint16(xMatch),
-       /*1513*/ uint16(xSetOp), uint16(MOVLPS),
-       /*1515*/ uint16(xReadSlashR),
-       /*1516*/ uint16(xArgXmm),
-       /*1517*/ uint16(xArgM64),
-       /*1518*/ uint16(xMatch),
-       /*1519*/ uint16(xSetOp), uint16(MOVLPD),
-       /*1521*/ uint16(xReadSlashR),
-       /*1522*/ uint16(xArgXmm),
-       /*1523*/ uint16(xArgXmm2M64),
-       /*1524*/ uint16(xMatch),
-       /*1525*/ uint16(xSetOp), uint16(MOVDDUP),
-       /*1527*/ uint16(xReadSlashR),
-       /*1528*/ uint16(xArgXmm1),
-       /*1529*/ uint16(xArgXmm2M64),
-       /*1530*/ uint16(xMatch),
-       /*1531*/ uint16(xSetOp), uint16(MOVSLDUP),
-       /*1533*/ uint16(xReadSlashR),
-       /*1534*/ uint16(xArgXmm1),
-       /*1535*/ uint16(xArgXmm2M128),
-       /*1536*/ uint16(xMatch),
-       /*1537*/ uint16(xCondPrefix), 2,
-       0x66, 1549,
-       0x0, 1543,
-       /*1543*/ uint16(xSetOp), uint16(MOVLPS),
-       /*1545*/ uint16(xReadSlashR),
-       /*1546*/ uint16(xArgM64),
-       /*1547*/ uint16(xArgXmm),
-       /*1548*/ uint16(xMatch),
-       /*1549*/ uint16(xSetOp), uint16(MOVLPD),
-       /*1551*/ uint16(xReadSlashR),
-       /*1552*/ uint16(xArgXmm2M64),
-       /*1553*/ uint16(xArgXmm),
-       /*1554*/ uint16(xMatch),
-       /*1555*/ uint16(xCondPrefix), 2,
-       0x66, 1567,
-       0x0, 1561,
-       /*1561*/ uint16(xSetOp), uint16(UNPCKLPS),
-       /*1563*/ uint16(xReadSlashR),
-       /*1564*/ uint16(xArgXmm1),
-       /*1565*/ uint16(xArgXmm2M128),
-       /*1566*/ uint16(xMatch),
-       /*1567*/ uint16(xSetOp), uint16(UNPCKLPD),
-       /*1569*/ uint16(xReadSlashR),
-       /*1570*/ uint16(xArgXmm1),
-       /*1571*/ uint16(xArgXmm2M128),
-       /*1572*/ uint16(xMatch),
-       /*1573*/ uint16(xCondPrefix), 2,
-       0x66, 1585,
-       0x0, 1579,
-       /*1579*/ uint16(xSetOp), uint16(UNPCKHPS),
-       /*1581*/ uint16(xReadSlashR),
-       /*1582*/ uint16(xArgXmm1),
-       /*1583*/ uint16(xArgXmm2M128),
-       /*1584*/ uint16(xMatch),
-       /*1585*/ uint16(xSetOp), uint16(UNPCKHPD),
-       /*1587*/ uint16(xReadSlashR),
-       /*1588*/ uint16(xArgXmm1),
-       /*1589*/ uint16(xArgXmm2M128),
-       /*1590*/ uint16(xMatch),
-       /*1591*/ uint16(xCondPrefix), 3,
-       0xF3, 1620,
-       0x66, 1614,
-       0x0, 1599,
-       /*1599*/ uint16(xCondIsMem), 1602, 1608,
-       /*1602*/ uint16(xSetOp), uint16(MOVLHPS),
-       /*1604*/ uint16(xReadSlashR),
-       /*1605*/ uint16(xArgXmm1),
-       /*1606*/ uint16(xArgXmm2),
-       /*1607*/ uint16(xMatch),
-       /*1608*/ uint16(xSetOp), uint16(MOVHPS),
-       /*1610*/ uint16(xReadSlashR),
-       /*1611*/ uint16(xArgXmm),
-       /*1612*/ uint16(xArgM64),
-       /*1613*/ uint16(xMatch),
-       /*1614*/ uint16(xSetOp), uint16(MOVHPD),
-       /*1616*/ uint16(xReadSlashR),
-       /*1617*/ uint16(xArgXmm),
-       /*1618*/ uint16(xArgXmm2M64),
-       /*1619*/ uint16(xMatch),
-       /*1620*/ uint16(xSetOp), uint16(MOVSHDUP),
-       /*1622*/ uint16(xReadSlashR),
-       /*1623*/ uint16(xArgXmm1),
-       /*1624*/ uint16(xArgXmm2M128),
-       /*1625*/ uint16(xMatch),
-       /*1626*/ uint16(xCondPrefix), 2,
-       0x66, 1638,
-       0x0, 1632,
-       /*1632*/ uint16(xSetOp), uint16(MOVHPS),
-       /*1634*/ uint16(xReadSlashR),
-       /*1635*/ uint16(xArgM64),
-       /*1636*/ uint16(xArgXmm),
-       /*1637*/ uint16(xMatch),
-       /*1638*/ uint16(xSetOp), uint16(MOVHPD),
-       /*1640*/ uint16(xReadSlashR),
-       /*1641*/ uint16(xArgXmm2M64),
-       /*1642*/ uint16(xArgXmm),
-       /*1643*/ uint16(xMatch),
-       /*1644*/ uint16(xCondSlashR),
-       1653, // 0
-       1657, // 1
-       1661, // 2
-       1665, // 3
+       /*1424*/ uint16(xSetOp), uint16(PREFETCHW),
+       /*1426*/ uint16(xArgM8),
+       /*1427*/ uint16(xMatch),
+       /*1428*/ uint16(xCondPrefix), 4,
+       0xF3, 1456,
+       0xF2, 1450,
+       0x66, 1444,
+       0x0, 1438,
+       /*1438*/ uint16(xSetOp), uint16(MOVUPS),
+       /*1440*/ uint16(xReadSlashR),
+       /*1441*/ uint16(xArgXmm1),
+       /*1442*/ uint16(xArgXmm2M128),
+       /*1443*/ uint16(xMatch),
+       /*1444*/ uint16(xSetOp), uint16(MOVUPD),
+       /*1446*/ uint16(xReadSlashR),
+       /*1447*/ uint16(xArgXmm1),
+       /*1448*/ uint16(xArgXmm2M128),
+       /*1449*/ uint16(xMatch),
+       /*1450*/ uint16(xSetOp), uint16(MOVSD_XMM),
+       /*1452*/ uint16(xReadSlashR),
+       /*1453*/ uint16(xArgXmm1),
+       /*1454*/ uint16(xArgXmm2M64),
+       /*1455*/ uint16(xMatch),
+       /*1456*/ uint16(xSetOp), uint16(MOVSS),
+       /*1458*/ uint16(xReadSlashR),
+       /*1459*/ uint16(xArgXmm1),
+       /*1460*/ uint16(xArgXmm2M32),
+       /*1461*/ uint16(xMatch),
+       /*1462*/ uint16(xCondPrefix), 4,
+       0xF3, 1490,
+       0xF2, 1484,
+       0x66, 1478,
+       0x0, 1472,
+       /*1472*/ uint16(xSetOp), uint16(MOVUPS),
+       /*1474*/ uint16(xReadSlashR),
+       /*1475*/ uint16(xArgXmm2M128),
+       /*1476*/ uint16(xArgXmm1),
+       /*1477*/ uint16(xMatch),
+       /*1478*/ uint16(xSetOp), uint16(MOVUPD),
+       /*1480*/ uint16(xReadSlashR),
+       /*1481*/ uint16(xArgXmm2M128),
+       /*1482*/ uint16(xArgXmm),
+       /*1483*/ uint16(xMatch),
+       /*1484*/ uint16(xSetOp), uint16(MOVSD_XMM),
+       /*1486*/ uint16(xReadSlashR),
+       /*1487*/ uint16(xArgXmm2M64),
+       /*1488*/ uint16(xArgXmm1),
+       /*1489*/ uint16(xMatch),
+       /*1490*/ uint16(xSetOp), uint16(MOVSS),
+       /*1492*/ uint16(xReadSlashR),
+       /*1493*/ uint16(xArgXmm2M32),
+       /*1494*/ uint16(xArgXmm),
+       /*1495*/ uint16(xMatch),
+       /*1496*/ uint16(xCondPrefix), 4,
+       0xF3, 1533,
+       0xF2, 1527,
+       0x66, 1521,
+       0x0, 1506,
+       /*1506*/ uint16(xCondIsMem), 1509, 1515,
+       /*1509*/ uint16(xSetOp), uint16(MOVHLPS),
+       /*1511*/ uint16(xReadSlashR),
+       /*1512*/ uint16(xArgXmm1),
+       /*1513*/ uint16(xArgXmm2),
+       /*1514*/ uint16(xMatch),
+       /*1515*/ uint16(xSetOp), uint16(MOVLPS),
+       /*1517*/ uint16(xReadSlashR),
+       /*1518*/ uint16(xArgXmm),
+       /*1519*/ uint16(xArgM64),
+       /*1520*/ uint16(xMatch),
+       /*1521*/ uint16(xSetOp), uint16(MOVLPD),
+       /*1523*/ uint16(xReadSlashR),
+       /*1524*/ uint16(xArgXmm),
+       /*1525*/ uint16(xArgXmm2M64),
+       /*1526*/ uint16(xMatch),
+       /*1527*/ uint16(xSetOp), uint16(MOVDDUP),
+       /*1529*/ uint16(xReadSlashR),
+       /*1530*/ uint16(xArgXmm1),
+       /*1531*/ uint16(xArgXmm2M64),
+       /*1532*/ uint16(xMatch),
+       /*1533*/ uint16(xSetOp), uint16(MOVSLDUP),
+       /*1535*/ uint16(xReadSlashR),
+       /*1536*/ uint16(xArgXmm1),
+       /*1537*/ uint16(xArgXmm2M128),
+       /*1538*/ uint16(xMatch),
+       /*1539*/ uint16(xCondPrefix), 2,
+       0x66, 1551,
+       0x0, 1545,
+       /*1545*/ uint16(xSetOp), uint16(MOVLPS),
+       /*1547*/ uint16(xReadSlashR),
+       /*1548*/ uint16(xArgM64),
+       /*1549*/ uint16(xArgXmm),
+       /*1550*/ uint16(xMatch),
+       /*1551*/ uint16(xSetOp), uint16(MOVLPD),
+       /*1553*/ uint16(xReadSlashR),
+       /*1554*/ uint16(xArgXmm2M64),
+       /*1555*/ uint16(xArgXmm),
+       /*1556*/ uint16(xMatch),
+       /*1557*/ uint16(xCondPrefix), 2,
+       0x66, 1569,
+       0x0, 1563,
+       /*1563*/ uint16(xSetOp), uint16(UNPCKLPS),
+       /*1565*/ uint16(xReadSlashR),
+       /*1566*/ uint16(xArgXmm1),
+       /*1567*/ uint16(xArgXmm2M128),
+       /*1568*/ uint16(xMatch),
+       /*1569*/ uint16(xSetOp), uint16(UNPCKLPD),
+       /*1571*/ uint16(xReadSlashR),
+       /*1572*/ uint16(xArgXmm1),
+       /*1573*/ uint16(xArgXmm2M128),
+       /*1574*/ uint16(xMatch),
+       /*1575*/ uint16(xCondPrefix), 2,
+       0x66, 1587,
+       0x0, 1581,
+       /*1581*/ uint16(xSetOp), uint16(UNPCKHPS),
+       /*1583*/ uint16(xReadSlashR),
+       /*1584*/ uint16(xArgXmm1),
+       /*1585*/ uint16(xArgXmm2M128),
+       /*1586*/ uint16(xMatch),
+       /*1587*/ uint16(xSetOp), uint16(UNPCKHPD),
+       /*1589*/ uint16(xReadSlashR),
+       /*1590*/ uint16(xArgXmm1),
+       /*1591*/ uint16(xArgXmm2M128),
+       /*1592*/ uint16(xMatch),
+       /*1593*/ uint16(xCondPrefix), 3,
+       0xF3, 1622,
+       0x66, 1616,
+       0x0, 1601,
+       /*1601*/ uint16(xCondIsMem), 1604, 1610,
+       /*1604*/ uint16(xSetOp), uint16(MOVLHPS),
+       /*1606*/ uint16(xReadSlashR),
+       /*1607*/ uint16(xArgXmm1),
+       /*1608*/ uint16(xArgXmm2),
+       /*1609*/ uint16(xMatch),
+       /*1610*/ uint16(xSetOp), uint16(MOVHPS),
+       /*1612*/ uint16(xReadSlashR),
+       /*1613*/ uint16(xArgXmm),
+       /*1614*/ uint16(xArgM64),
+       /*1615*/ uint16(xMatch),
+       /*1616*/ uint16(xSetOp), uint16(MOVHPD),
+       /*1618*/ uint16(xReadSlashR),
+       /*1619*/ uint16(xArgXmm),
+       /*1620*/ uint16(xArgXmm2M64),
+       /*1621*/ uint16(xMatch),
+       /*1622*/ uint16(xSetOp), uint16(MOVSHDUP),
+       /*1624*/ uint16(xReadSlashR),
+       /*1625*/ uint16(xArgXmm1),
+       /*1626*/ uint16(xArgXmm2M128),
+       /*1627*/ uint16(xMatch),
+       /*1628*/ uint16(xCondPrefix), 2,
+       0x66, 1640,
+       0x0, 1634,
+       /*1634*/ uint16(xSetOp), uint16(MOVHPS),
+       /*1636*/ uint16(xReadSlashR),
+       /*1637*/ uint16(xArgM64),
+       /*1638*/ uint16(xArgXmm),
+       /*1639*/ uint16(xMatch),
+       /*1640*/ uint16(xSetOp), uint16(MOVHPD),
+       /*1642*/ uint16(xReadSlashR),
+       /*1643*/ uint16(xArgXmm2M64),
+       /*1644*/ uint16(xArgXmm),
+       /*1645*/ uint16(xMatch),
+       /*1646*/ uint16(xCondSlashR),
+       1655, // 0
+       1659, // 1
+       1663, // 2
+       1667, // 3
        0,    // 4
        0,    // 5
        0,    // 6
        0,    // 7
-       /*1653*/ uint16(xSetOp), uint16(PREFETCHNTA),
-       /*1655*/ uint16(xArgM8),
-       /*1656*/ uint16(xMatch),
-       /*1657*/ uint16(xSetOp), uint16(PREFETCHT0),
-       /*1659*/ uint16(xArgM8),
-       /*1660*/ uint16(xMatch),
-       /*1661*/ uint16(xSetOp), uint16(PREFETCHT1),
-       /*1663*/ uint16(xArgM8),
-       /*1664*/ uint16(xMatch),
-       /*1665*/ uint16(xSetOp), uint16(PREFETCHT2),
-       /*1667*/ uint16(xArgM8),
-       /*1668*/ uint16(xMatch),
-       /*1669*/ uint16(xCondSlashR),
-       1678, // 0
+       /*1655*/ uint16(xSetOp), uint16(PREFETCHNTA),
+       /*1657*/ uint16(xArgM8),
+       /*1658*/ uint16(xMatch),
+       /*1659*/ uint16(xSetOp), uint16(PREFETCHT0),
+       /*1661*/ uint16(xArgM8),
+       /*1662*/ uint16(xMatch),
+       /*1663*/ uint16(xSetOp), uint16(PREFETCHT1),
+       /*1665*/ uint16(xArgM8),
+       /*1666*/ uint16(xMatch),
+       /*1667*/ uint16(xSetOp), uint16(PREFETCHT2),
+       /*1669*/ uint16(xArgM8),
+       /*1670*/ uint16(xMatch),
+       /*1671*/ uint16(xCondSlashR),
+       1680, // 0
        0,    // 1
        0,    // 2
        0,    // 3
@@ -988,5551 +989,5561 @@ var decoder = [...]uint16{
        0,    // 5
        0,    // 6
        0,    // 7
-       /*1678*/ uint16(xCondDataSize), 1682, 1686, 0,
-       /*1682*/ uint16(xSetOp), uint16(NOP),
-       /*1684*/ uint16(xArgRM16),
-       /*1685*/ uint16(xMatch),
-       /*1686*/ uint16(xSetOp), uint16(NOP),
-       /*1688*/ uint16(xArgRM32),
-       /*1689*/ uint16(xMatch),
-       /*1690*/ uint16(xCondIs64), 1693, 1699,
-       /*1693*/ uint16(xSetOp), uint16(MOV),
-       /*1695*/ uint16(xReadSlashR),
-       /*1696*/ uint16(xArgRmf32),
-       /*1697*/ uint16(xArgCR0dashCR7),
-       /*1698*/ uint16(xMatch),
-       /*1699*/ uint16(xSetOp), uint16(MOV),
-       /*1701*/ uint16(xReadSlashR),
-       /*1702*/ uint16(xArgRmf64),
-       /*1703*/ uint16(xArgCR0dashCR7),
-       /*1704*/ uint16(xMatch),
-       /*1705*/ uint16(xCondIs64), 1708, 1714,
-       /*1708*/ uint16(xSetOp), uint16(MOV),
-       /*1710*/ uint16(xReadSlashR),
-       /*1711*/ uint16(xArgRmf32),
-       /*1712*/ uint16(xArgDR0dashDR7),
-       /*1713*/ uint16(xMatch),
-       /*1714*/ uint16(xSetOp), uint16(MOV),
-       /*1716*/ uint16(xReadSlashR),
-       /*1717*/ uint16(xArgRmf64),
-       /*1718*/ uint16(xArgDR0dashDR7),
-       /*1719*/ uint16(xMatch),
-       /*1720*/ uint16(xCondIs64), 1723, 1729,
-       /*1723*/ uint16(xSetOp), uint16(MOV),
-       /*1725*/ uint16(xReadSlashR),
-       /*1726*/ uint16(xArgCR0dashCR7),
-       /*1727*/ uint16(xArgRmf32),
-       /*1728*/ uint16(xMatch),
-       /*1729*/ uint16(xSetOp), uint16(MOV),
-       /*1731*/ uint16(xReadSlashR),
-       /*1732*/ uint16(xArgCR0dashCR7),
-       /*1733*/ uint16(xArgRmf64),
-       /*1734*/ uint16(xMatch),
-       /*1735*/ uint16(xCondIs64), 1738, 1744,
-       /*1738*/ uint16(xSetOp), uint16(MOV),
-       /*1740*/ uint16(xReadSlashR),
-       /*1741*/ uint16(xArgDR0dashDR7),
-       /*1742*/ uint16(xArgRmf32),
-       /*1743*/ uint16(xMatch),
-       /*1744*/ uint16(xSetOp), uint16(MOV),
-       /*1746*/ uint16(xReadSlashR),
-       /*1747*/ uint16(xArgDR0dashDR7),
-       /*1748*/ uint16(xArgRmf64),
-       /*1749*/ uint16(xMatch),
-       /*1750*/ uint16(xCondIs64), 1753, 1759,
-       /*1753*/ uint16(xSetOp), uint16(MOV),
-       /*1755*/ uint16(xReadSlashR),
-       /*1756*/ uint16(xArgRmf32),
-       /*1757*/ uint16(xArgTR0dashTR7),
-       /*1758*/ uint16(xMatch),
-       /*1759*/ uint16(xSetOp), uint16(MOV),
-       /*1761*/ uint16(xReadSlashR),
-       /*1762*/ uint16(xArgRmf64),
-       /*1763*/ uint16(xArgTR0dashTR7),
-       /*1764*/ uint16(xMatch),
-       /*1765*/ uint16(xCondIs64), 1768, 1774,
-       /*1768*/ uint16(xSetOp), uint16(MOV),
-       /*1770*/ uint16(xReadSlashR),
-       /*1771*/ uint16(xArgTR0dashTR7),
-       /*1772*/ uint16(xArgRmf32),
-       /*1773*/ uint16(xMatch),
-       /*1774*/ uint16(xSetOp), uint16(MOV),
-       /*1776*/ uint16(xReadSlashR),
-       /*1777*/ uint16(xArgTR0dashTR7),
-       /*1778*/ uint16(xArgRmf64),
-       /*1779*/ uint16(xMatch),
-       /*1780*/ uint16(xCondPrefix), 2,
-       0x66, 1792,
-       0x0, 1786,
-       /*1786*/ uint16(xSetOp), uint16(MOVAPS),
-       /*1788*/ uint16(xReadSlashR),
-       /*1789*/ uint16(xArgXmm1),
-       /*1790*/ uint16(xArgXmm2M128),
-       /*1791*/ uint16(xMatch),
-       /*1792*/ uint16(xSetOp), uint16(MOVAPD),
-       /*1794*/ uint16(xReadSlashR),
-       /*1795*/ uint16(xArgXmm1),
-       /*1796*/ uint16(xArgXmm2M128),
-       /*1797*/ uint16(xMatch),
-       /*1798*/ uint16(xCondPrefix), 2,
-       0x66, 1810,
-       0x0, 1804,
-       /*1804*/ uint16(xSetOp), uint16(MOVAPS),
-       /*1806*/ uint16(xReadSlashR),
-       /*1807*/ uint16(xArgXmm2M128),
-       /*1808*/ uint16(xArgXmm1),
-       /*1809*/ uint16(xMatch),
-       /*1810*/ uint16(xSetOp), uint16(MOVAPD),
-       /*1812*/ uint16(xReadSlashR),
-       /*1813*/ uint16(xArgXmm2M128),
-       /*1814*/ uint16(xArgXmm1),
-       /*1815*/ uint16(xMatch),
-       /*1816*/ uint16(xCondIs64), 1819, 1873,
-       /*1819*/ uint16(xCondPrefix), 4,
-       0xF3, 1857,
-       0xF2, 1841,
-       0x66, 1835,
-       0x0, 1829,
-       /*1829*/ uint16(xSetOp), uint16(CVTPI2PS),
-       /*1831*/ uint16(xReadSlashR),
-       /*1832*/ uint16(xArgXmm),
-       /*1833*/ uint16(xArgMmM64),
-       /*1834*/ uint16(xMatch),
-       /*1835*/ uint16(xSetOp), uint16(CVTPI2PD),
-       /*1837*/ uint16(xReadSlashR),
-       /*1838*/ uint16(xArgXmm),
-       /*1839*/ uint16(xArgMmM64),
-       /*1840*/ uint16(xMatch),
-       /*1841*/ uint16(xCondDataSize), 1845, 1851, 0,
-       /*1845*/ uint16(xSetOp), uint16(CVTSI2SD),
-       /*1847*/ uint16(xReadSlashR),
-       /*1848*/ uint16(xArgXmm),
-       /*1849*/ uint16(xArgRM32),
-       /*1850*/ uint16(xMatch),
-       /*1851*/ uint16(xSetOp), uint16(CVTSI2SD),
-       /*1853*/ uint16(xReadSlashR),
-       /*1854*/ uint16(xArgXmm),
-       /*1855*/ uint16(xArgRM32),
-       /*1856*/ uint16(xMatch),
-       /*1857*/ uint16(xCondDataSize), 1861, 1867, 0,
-       /*1861*/ uint16(xSetOp), uint16(CVTSI2SS),
-       /*1863*/ uint16(xReadSlashR),
-       /*1864*/ uint16(xArgXmm),
-       /*1865*/ uint16(xArgRM32),
-       /*1866*/ uint16(xMatch),
-       /*1867*/ uint16(xSetOp), uint16(CVTSI2SS),
-       /*1869*/ uint16(xReadSlashR),
-       /*1870*/ uint16(xArgXmm),
-       /*1871*/ uint16(xArgRM32),
-       /*1872*/ uint16(xMatch),
-       /*1873*/ uint16(xCondPrefix), 4,
-       0xF3, 1893,
-       0xF2, 1883,
-       0x66, 1835,
-       0x0, 1829,
-       /*1883*/ uint16(xCondDataSize), 1845, 1851, 1887,
-       /*1887*/ uint16(xSetOp), uint16(CVTSI2SD),
-       /*1889*/ uint16(xReadSlashR),
-       /*1890*/ uint16(xArgXmm),
-       /*1891*/ uint16(xArgRM64),
-       /*1892*/ uint16(xMatch),
-       /*1893*/ uint16(xCondDataSize), 1861, 1867, 1897,
-       /*1897*/ uint16(xSetOp), uint16(CVTSI2SS),
-       /*1899*/ uint16(xReadSlashR),
-       /*1900*/ uint16(xArgXmm),
-       /*1901*/ uint16(xArgRM64),
-       /*1902*/ uint16(xMatch),
-       /*1903*/ uint16(xCondPrefix), 4,
-       0xF3, 1931,
-       0xF2, 1925,
-       0x66, 1919,
-       0x0, 1913,
-       /*1913*/ uint16(xSetOp), uint16(MOVNTPS),
-       /*1915*/ uint16(xReadSlashR),
-       /*1916*/ uint16(xArgM128),
-       /*1917*/ uint16(xArgXmm),
-       /*1918*/ uint16(xMatch),
-       /*1919*/ uint16(xSetOp), uint16(MOVNTPD),
-       /*1921*/ uint16(xReadSlashR),
-       /*1922*/ uint16(xArgM128),
-       /*1923*/ uint16(xArgXmm),
-       /*1924*/ uint16(xMatch),
-       /*1925*/ uint16(xSetOp), uint16(MOVNTSD),
-       /*1927*/ uint16(xReadSlashR),
-       /*1928*/ uint16(xArgM64),
-       /*1929*/ uint16(xArgXmm),
-       /*1930*/ uint16(xMatch),
-       /*1931*/ uint16(xSetOp), uint16(MOVNTSS),
-       /*1933*/ uint16(xReadSlashR),
-       /*1934*/ uint16(xArgM32),
-       /*1935*/ uint16(xArgXmm),
-       /*1936*/ uint16(xMatch),
-       /*1937*/ uint16(xCondIs64), 1940, 1994,
-       /*1940*/ uint16(xCondPrefix), 4,
-       0xF3, 1978,
-       0xF2, 1962,
-       0x66, 1956,
-       0x0, 1950,
-       /*1950*/ uint16(xSetOp), uint16(CVTTPS2PI),
-       /*1952*/ uint16(xReadSlashR),
-       /*1953*/ uint16(xArgMm),
-       /*1954*/ uint16(xArgXmmM64),
-       /*1955*/ uint16(xMatch),
-       /*1956*/ uint16(xSetOp), uint16(CVTTPD2PI),
-       /*1958*/ uint16(xReadSlashR),
-       /*1959*/ uint16(xArgMm),
-       /*1960*/ uint16(xArgXmmM128),
-       /*1961*/ uint16(xMatch),
-       /*1962*/ uint16(xCondDataSize), 1966, 1972, 0,
-       /*1966*/ uint16(xSetOp), uint16(CVTTSD2SI),
-       /*1968*/ uint16(xReadSlashR),
-       /*1969*/ uint16(xArgR32),
-       /*1970*/ uint16(xArgXmmM64),
-       /*1971*/ uint16(xMatch),
-       /*1972*/ uint16(xSetOp), uint16(CVTTSD2SI),
-       /*1974*/ uint16(xReadSlashR),
-       /*1975*/ uint16(xArgR32),
-       /*1976*/ uint16(xArgXmmM64),
-       /*1977*/ uint16(xMatch),
-       /*1978*/ uint16(xCondDataSize), 1982, 1988, 0,
-       /*1982*/ uint16(xSetOp), uint16(CVTTSS2SI),
-       /*1984*/ uint16(xReadSlashR),
-       /*1985*/ uint16(xArgR32),
-       /*1986*/ uint16(xArgXmmM32),
-       /*1987*/ uint16(xMatch),
-       /*1988*/ uint16(xSetOp), uint16(CVTTSS2SI),
-       /*1990*/ uint16(xReadSlashR),
-       /*1991*/ uint16(xArgR32),
-       /*1992*/ uint16(xArgXmmM32),
-       /*1993*/ uint16(xMatch),
-       /*1994*/ uint16(xCondPrefix), 4,
-       0xF3, 2014,
-       0xF2, 2004,
-       0x66, 1956,
-       0x0, 1950,
-       /*2004*/ uint16(xCondDataSize), 1966, 1972, 2008,
-       /*2008*/ uint16(xSetOp), uint16(CVTTSD2SI),
-       /*2010*/ uint16(xReadSlashR),
-       /*2011*/ uint16(xArgR64),
-       /*2012*/ uint16(xArgXmmM64),
-       /*2013*/ uint16(xMatch),
-       /*2014*/ uint16(xCondDataSize), 1982, 1988, 2018,
-       /*2018*/ uint16(xSetOp), uint16(CVTTSS2SI),
-       /*2020*/ uint16(xReadSlashR),
-       /*2021*/ uint16(xArgR64),
-       /*2022*/ uint16(xArgXmmM32),
-       /*2023*/ uint16(xMatch),
-       /*2024*/ uint16(xCondIs64), 2027, 2081,
-       /*2027*/ uint16(xCondPrefix), 4,
-       0xF3, 2065,
-       0xF2, 2049,
-       0x66, 2043,
-       0x0, 2037,
-       /*2037*/ uint16(xSetOp), uint16(CVTPS2PI),
-       /*2039*/ uint16(xReadSlashR),
-       /*2040*/ uint16(xArgMm),
-       /*2041*/ uint16(xArgXmmM64),
-       /*2042*/ uint16(xMatch),
-       /*2043*/ uint16(xSetOp), uint16(CVTPD2PI),
-       /*2045*/ uint16(xReadSlashR),
-       /*2046*/ uint16(xArgMm),
-       /*2047*/ uint16(xArgXmmM128),
-       /*2048*/ uint16(xMatch),
-       /*2049*/ uint16(xCondDataSize), 2053, 2059, 0,
-       /*2053*/ uint16(xSetOp), uint16(CVTSD2SI),
-       /*2055*/ uint16(xReadSlashR),
-       /*2056*/ uint16(xArgR32),
-       /*2057*/ uint16(xArgXmmM64),
-       /*2058*/ uint16(xMatch),
-       /*2059*/ uint16(xSetOp), uint16(CVTSD2SI),
-       /*2061*/ uint16(xReadSlashR),
-       /*2062*/ uint16(xArgR32),
-       /*2063*/ uint16(xArgXmmM64),
-       /*2064*/ uint16(xMatch),
-       /*2065*/ uint16(xCondDataSize), 2069, 2075, 0,
-       /*2069*/ uint16(xSetOp), uint16(CVTSS2SI),
-       /*2071*/ uint16(xReadSlashR),
-       /*2072*/ uint16(xArgR32),
-       /*2073*/ uint16(xArgXmmM32),
-       /*2074*/ uint16(xMatch),
-       /*2075*/ uint16(xSetOp), uint16(CVTSS2SI),
-       /*2077*/ uint16(xReadSlashR),
-       /*2078*/ uint16(xArgR32),
-       /*2079*/ uint16(xArgXmmM32),
-       /*2080*/ uint16(xMatch),
-       /*2081*/ uint16(xCondPrefix), 4,
-       0xF3, 2101,
-       0xF2, 2091,
-       0x66, 2043,
-       0x0, 2037,
-       /*2091*/ uint16(xCondDataSize), 2053, 2059, 2095,
-       /*2095*/ uint16(xSetOp), uint16(CVTSD2SI),
-       /*2097*/ uint16(xReadSlashR),
-       /*2098*/ uint16(xArgR64),
-       /*2099*/ uint16(xArgXmmM64),
-       /*2100*/ uint16(xMatch),
-       /*2101*/ uint16(xCondDataSize), 2069, 2075, 2105,
-       /*2105*/ uint16(xSetOp), uint16(CVTSS2SI),
-       /*2107*/ uint16(xReadSlashR),
-       /*2108*/ uint16(xArgR64),
-       /*2109*/ uint16(xArgXmmM32),
-       /*2110*/ uint16(xMatch),
-       /*2111*/ uint16(xCondPrefix), 2,
-       0x66, 2123,
-       0x0, 2117,
-       /*2117*/ uint16(xSetOp), uint16(UCOMISS),
-       /*2119*/ uint16(xReadSlashR),
-       /*2120*/ uint16(xArgXmm1),
-       /*2121*/ uint16(xArgXmm2M32),
-       /*2122*/ uint16(xMatch),
-       /*2123*/ uint16(xSetOp), uint16(UCOMISD),
-       /*2125*/ uint16(xReadSlashR),
-       /*2126*/ uint16(xArgXmm1),
-       /*2127*/ uint16(xArgXmm2M64),
-       /*2128*/ uint16(xMatch),
-       /*2129*/ uint16(xCondPrefix), 2,
-       0x66, 2141,
-       0x0, 2135,
-       /*2135*/ uint16(xSetOp), uint16(COMISS),
-       /*2137*/ uint16(xReadSlashR),
-       /*2138*/ uint16(xArgXmm1),
-       /*2139*/ uint16(xArgXmm2M32),
-       /*2140*/ uint16(xMatch),
-       /*2141*/ uint16(xSetOp), uint16(COMISD),
-       /*2143*/ uint16(xReadSlashR),
-       /*2144*/ uint16(xArgXmm1),
-       /*2145*/ uint16(xArgXmm2M64),
-       /*2146*/ uint16(xMatch),
-       /*2147*/ uint16(xSetOp), uint16(WRMSR),
-       /*2149*/ uint16(xMatch),
-       /*2150*/ uint16(xSetOp), uint16(RDTSC),
-       /*2152*/ uint16(xMatch),
-       /*2153*/ uint16(xSetOp), uint16(RDMSR),
-       /*2155*/ uint16(xMatch),
-       /*2156*/ uint16(xSetOp), uint16(RDPMC),
-       /*2158*/ uint16(xMatch),
-       /*2159*/ uint16(xSetOp), uint16(SYSENTER),
-       /*2161*/ uint16(xMatch),
-       /*2162*/ uint16(xCondDataSize), 2166, 2166, 2169,
-       /*2166*/ uint16(xSetOp), uint16(SYSEXIT),
-       /*2168*/ uint16(xMatch),
-       /*2169*/ uint16(xSetOp), uint16(SYSEXIT),
-       /*2171*/ uint16(xMatch),
-       /*2172*/ uint16(xCondByte), 54,
-       0x00, 2283,
-       0x01, 2301,
-       0x02, 2319,
-       0x03, 2337,
-       0x04, 2355,
-       0x05, 2373,
-       0x06, 2391,
-       0x07, 2409,
-       0x08, 2427,
-       0x09, 2445,
-       0x0A, 2463,
-       0x0B, 2481,
-       0x10, 2499,
-       0x14, 2510,
-       0x15, 2521,
-       0x17, 2532,
-       0x1C, 2542,
-       0x1D, 2560,
-       0x1E, 2578,
-       0x20, 2596,
-       0x21, 2606,
-       0x22, 2616,
-       0x23, 2626,
-       0x24, 2636,
-       0x25, 2646,
-       0x28, 2656,
-       0x29, 2666,
-       0x2A, 2676,
-       0x2B, 2686,
-       0x30, 2696,
-       0x31, 2706,
-       0x32, 2716,
-       0x33, 2726,
-       0x34, 2736,
-       0x35, 2746,
-       0x37, 2756,
-       0x38, 2766,
-       0x39, 2776,
-       0x3A, 2786,
-       0x3B, 2796,
-       0x3C, 2806,
-       0x3D, 2816,
-       0x3E, 2826,
-       0x3F, 2836,
-       0x40, 2846,
-       0x41, 2856,
-       0x82, 2866,
-       0xDB, 2889,
-       0xDC, 2899,
-       0xDD, 2909,
-       0xDE, 2919,
-       0xDF, 2929,
-       0xF0, 2939,
-       0xF1, 3006,
+       /*1680*/ uint16(xCondDataSize), 1684, 1688, 0,
+       /*1684*/ uint16(xSetOp), uint16(NOP),
+       /*1686*/ uint16(xArgRM16),
+       /*1687*/ uint16(xMatch),
+       /*1688*/ uint16(xSetOp), uint16(NOP),
+       /*1690*/ uint16(xArgRM32),
+       /*1691*/ uint16(xMatch),
+       /*1692*/ uint16(xCondIs64), 1695, 1701,
+       /*1695*/ uint16(xSetOp), uint16(MOV),
+       /*1697*/ uint16(xReadSlashR),
+       /*1698*/ uint16(xArgRmf32),
+       /*1699*/ uint16(xArgCR0dashCR7),
+       /*1700*/ uint16(xMatch),
+       /*1701*/ uint16(xSetOp), uint16(MOV),
+       /*1703*/ uint16(xReadSlashR),
+       /*1704*/ uint16(xArgRmf64),
+       /*1705*/ uint16(xArgCR0dashCR7),
+       /*1706*/ uint16(xMatch),
+       /*1707*/ uint16(xCondIs64), 1710, 1716,
+       /*1710*/ uint16(xSetOp), uint16(MOV),
+       /*1712*/ uint16(xReadSlashR),
+       /*1713*/ uint16(xArgRmf32),
+       /*1714*/ uint16(xArgDR0dashDR7),
+       /*1715*/ uint16(xMatch),
+       /*1716*/ uint16(xSetOp), uint16(MOV),
+       /*1718*/ uint16(xReadSlashR),
+       /*1719*/ uint16(xArgRmf64),
+       /*1720*/ uint16(xArgDR0dashDR7),
+       /*1721*/ uint16(xMatch),
+       /*1722*/ uint16(xCondIs64), 1725, 1731,
+       /*1725*/ uint16(xSetOp), uint16(MOV),
+       /*1727*/ uint16(xReadSlashR),
+       /*1728*/ uint16(xArgCR0dashCR7),
+       /*1729*/ uint16(xArgRmf32),
+       /*1730*/ uint16(xMatch),
+       /*1731*/ uint16(xSetOp), uint16(MOV),
+       /*1733*/ uint16(xReadSlashR),
+       /*1734*/ uint16(xArgCR0dashCR7),
+       /*1735*/ uint16(xArgRmf64),
+       /*1736*/ uint16(xMatch),
+       /*1737*/ uint16(xCondIs64), 1740, 1746,
+       /*1740*/ uint16(xSetOp), uint16(MOV),
+       /*1742*/ uint16(xReadSlashR),
+       /*1743*/ uint16(xArgDR0dashDR7),
+       /*1744*/ uint16(xArgRmf32),
+       /*1745*/ uint16(xMatch),
+       /*1746*/ uint16(xSetOp), uint16(MOV),
+       /*1748*/ uint16(xReadSlashR),
+       /*1749*/ uint16(xArgDR0dashDR7),
+       /*1750*/ uint16(xArgRmf64),
+       /*1751*/ uint16(xMatch),
+       /*1752*/ uint16(xCondIs64), 1755, 1761,
+       /*1755*/ uint16(xSetOp), uint16(MOV),
+       /*1757*/ uint16(xReadSlashR),
+       /*1758*/ uint16(xArgRmf32),
+       /*1759*/ uint16(xArgTR0dashTR7),
+       /*1760*/ uint16(xMatch),
+       /*1761*/ uint16(xSetOp), uint16(MOV),
+       /*1763*/ uint16(xReadSlashR),
+       /*1764*/ uint16(xArgRmf64),
+       /*1765*/ uint16(xArgTR0dashTR7),
+       /*1766*/ uint16(xMatch),
+       /*1767*/ uint16(xCondIs64), 1770, 1776,
+       /*1770*/ uint16(xSetOp), uint16(MOV),
+       /*1772*/ uint16(xReadSlashR),
+       /*1773*/ uint16(xArgTR0dashTR7),
+       /*1774*/ uint16(xArgRmf32),
+       /*1775*/ uint16(xMatch),
+       /*1776*/ uint16(xSetOp), uint16(MOV),
+       /*1778*/ uint16(xReadSlashR),
+       /*1779*/ uint16(xArgTR0dashTR7),
+       /*1780*/ uint16(xArgRmf64),
+       /*1781*/ uint16(xMatch),
+       /*1782*/ uint16(xCondPrefix), 2,
+       0x66, 1794,
+       0x0, 1788,
+       /*1788*/ uint16(xSetOp), uint16(MOVAPS),
+       /*1790*/ uint16(xReadSlashR),
+       /*1791*/ uint16(xArgXmm1),
+       /*1792*/ uint16(xArgXmm2M128),
+       /*1793*/ uint16(xMatch),
+       /*1794*/ uint16(xSetOp), uint16(MOVAPD),
+       /*1796*/ uint16(xReadSlashR),
+       /*1797*/ uint16(xArgXmm1),
+       /*1798*/ uint16(xArgXmm2M128),
+       /*1799*/ uint16(xMatch),
+       /*1800*/ uint16(xCondPrefix), 2,
+       0x66, 1812,
+       0x0, 1806,
+       /*1806*/ uint16(xSetOp), uint16(MOVAPS),
+       /*1808*/ uint16(xReadSlashR),
+       /*1809*/ uint16(xArgXmm2M128),
+       /*1810*/ uint16(xArgXmm1),
+       /*1811*/ uint16(xMatch),
+       /*1812*/ uint16(xSetOp), uint16(MOVAPD),
+       /*1814*/ uint16(xReadSlashR),
+       /*1815*/ uint16(xArgXmm2M128),
+       /*1816*/ uint16(xArgXmm1),
+       /*1817*/ uint16(xMatch),
+       /*1818*/ uint16(xCondIs64), 1821, 1875,
+       /*1821*/ uint16(xCondPrefix), 4,
+       0xF3, 1859,
+       0xF2, 1843,
+       0x66, 1837,
+       0x0, 1831,
+       /*1831*/ uint16(xSetOp), uint16(CVTPI2PS),
+       /*1833*/ uint16(xReadSlashR),
+       /*1834*/ uint16(xArgXmm),
+       /*1835*/ uint16(xArgMmM64),
+       /*1836*/ uint16(xMatch),
+       /*1837*/ uint16(xSetOp), uint16(CVTPI2PD),
+       /*1839*/ uint16(xReadSlashR),
+       /*1840*/ uint16(xArgXmm),
+       /*1841*/ uint16(xArgMmM64),
+       /*1842*/ uint16(xMatch),
+       /*1843*/ uint16(xCondDataSize), 1847, 1853, 0,
+       /*1847*/ uint16(xSetOp), uint16(CVTSI2SD),
+       /*1849*/ uint16(xReadSlashR),
+       /*1850*/ uint16(xArgXmm),
+       /*1851*/ uint16(xArgRM32),
+       /*1852*/ uint16(xMatch),
+       /*1853*/ uint16(xSetOp), uint16(CVTSI2SD),
+       /*1855*/ uint16(xReadSlashR),
+       /*1856*/ uint16(xArgXmm),
+       /*1857*/ uint16(xArgRM32),
+       /*1858*/ uint16(xMatch),
+       /*1859*/ uint16(xCondDataSize), 1863, 1869, 0,
+       /*1863*/ uint16(xSetOp), uint16(CVTSI2SS),
+       /*1865*/ uint16(xReadSlashR),
+       /*1866*/ uint16(xArgXmm),
+       /*1867*/ uint16(xArgRM32),
+       /*1868*/ uint16(xMatch),
+       /*1869*/ uint16(xSetOp), uint16(CVTSI2SS),
+       /*1871*/ uint16(xReadSlashR),
+       /*1872*/ uint16(xArgXmm),
+       /*1873*/ uint16(xArgRM32),
+       /*1874*/ uint16(xMatch),
+       /*1875*/ uint16(xCondPrefix), 4,
+       0xF3, 1895,
+       0xF2, 1885,
+       0x66, 1837,
+       0x0, 1831,
+       /*1885*/ uint16(xCondDataSize), 1847, 1853, 1889,
+       /*1889*/ uint16(xSetOp), uint16(CVTSI2SD),
+       /*1891*/ uint16(xReadSlashR),
+       /*1892*/ uint16(xArgXmm),
+       /*1893*/ uint16(xArgRM64),
+       /*1894*/ uint16(xMatch),
+       /*1895*/ uint16(xCondDataSize), 1863, 1869, 1899,
+       /*1899*/ uint16(xSetOp), uint16(CVTSI2SS),
+       /*1901*/ uint16(xReadSlashR),
+       /*1902*/ uint16(xArgXmm),
+       /*1903*/ uint16(xArgRM64),
+       /*1904*/ uint16(xMatch),
+       /*1905*/ uint16(xCondPrefix), 4,
+       0xF3, 1933,
+       0xF2, 1927,
+       0x66, 1921,
+       0x0, 1915,
+       /*1915*/ uint16(xSetOp), uint16(MOVNTPS),
+       /*1917*/ uint16(xReadSlashR),
+       /*1918*/ uint16(xArgM128),
+       /*1919*/ uint16(xArgXmm),
+       /*1920*/ uint16(xMatch),
+       /*1921*/ uint16(xSetOp), uint16(MOVNTPD),
+       /*1923*/ uint16(xReadSlashR),
+       /*1924*/ uint16(xArgM128),
+       /*1925*/ uint16(xArgXmm),
+       /*1926*/ uint16(xMatch),
+       /*1927*/ uint16(xSetOp), uint16(MOVNTSD),
+       /*1929*/ uint16(xReadSlashR),
+       /*1930*/ uint16(xArgM64),
+       /*1931*/ uint16(xArgXmm),
+       /*1932*/ uint16(xMatch),
+       /*1933*/ uint16(xSetOp), uint16(MOVNTSS),
+       /*1935*/ uint16(xReadSlashR),
+       /*1936*/ uint16(xArgM32),
+       /*1937*/ uint16(xArgXmm),
+       /*1938*/ uint16(xMatch),
+       /*1939*/ uint16(xCondIs64), 1942, 1996,
+       /*1942*/ uint16(xCondPrefix), 4,
+       0xF3, 1980,
+       0xF2, 1964,
+       0x66, 1958,
+       0x0, 1952,
+       /*1952*/ uint16(xSetOp), uint16(CVTTPS2PI),
+       /*1954*/ uint16(xReadSlashR),
+       /*1955*/ uint16(xArgMm),
+       /*1956*/ uint16(xArgXmmM64),
+       /*1957*/ uint16(xMatch),
+       /*1958*/ uint16(xSetOp), uint16(CVTTPD2PI),
+       /*1960*/ uint16(xReadSlashR),
+       /*1961*/ uint16(xArgMm),
+       /*1962*/ uint16(xArgXmmM128),
+       /*1963*/ uint16(xMatch),
+       /*1964*/ uint16(xCondDataSize), 1968, 1974, 0,
+       /*1968*/ uint16(xSetOp), uint16(CVTTSD2SI),
+       /*1970*/ uint16(xReadSlashR),
+       /*1971*/ uint16(xArgR32),
+       /*1972*/ uint16(xArgXmmM64),
+       /*1973*/ uint16(xMatch),
+       /*1974*/ uint16(xSetOp), uint16(CVTTSD2SI),
+       /*1976*/ uint16(xReadSlashR),
+       /*1977*/ uint16(xArgR32),
+       /*1978*/ uint16(xArgXmmM64),
+       /*1979*/ uint16(xMatch),
+       /*1980*/ uint16(xCondDataSize), 1984, 1990, 0,
+       /*1984*/ uint16(xSetOp), uint16(CVTTSS2SI),
+       /*1986*/ uint16(xReadSlashR),
+       /*1987*/ uint16(xArgR32),
+       /*1988*/ uint16(xArgXmmM32),
+       /*1989*/ uint16(xMatch),
+       /*1990*/ uint16(xSetOp), uint16(CVTTSS2SI),
+       /*1992*/ uint16(xReadSlashR),
+       /*1993*/ uint16(xArgR32),
+       /*1994*/ uint16(xArgXmmM32),
+       /*1995*/ uint16(xMatch),
+       /*1996*/ uint16(xCondPrefix), 4,
+       0xF3, 2016,
+       0xF2, 2006,
+       0x66, 1958,
+       0x0, 1952,
+       /*2006*/ uint16(xCondDataSize), 1968, 1974, 2010,
+       /*2010*/ uint16(xSetOp), uint16(CVTTSD2SI),
+       /*2012*/ uint16(xReadSlashR),
+       /*2013*/ uint16(xArgR64),
+       /*2014*/ uint16(xArgXmmM64),
+       /*2015*/ uint16(xMatch),
+       /*2016*/ uint16(xCondDataSize), 1984, 1990, 2020,
+       /*2020*/ uint16(xSetOp), uint16(CVTTSS2SI),
+       /*2022*/ uint16(xReadSlashR),
+       /*2023*/ uint16(xArgR64),
+       /*2024*/ uint16(xArgXmmM32),
+       /*2025*/ uint16(xMatch),
+       /*2026*/ uint16(xCondIs64), 2029, 2083,
+       /*2029*/ uint16(xCondPrefix), 4,
+       0xF3, 2067,
+       0xF2, 2051,
+       0x66, 2045,
+       0x0, 2039,
+       /*2039*/ uint16(xSetOp), uint16(CVTPS2PI),
+       /*2041*/ uint16(xReadSlashR),
+       /*2042*/ uint16(xArgMm),
+       /*2043*/ uint16(xArgXmmM64),
+       /*2044*/ uint16(xMatch),
+       /*2045*/ uint16(xSetOp), uint16(CVTPD2PI),
+       /*2047*/ uint16(xReadSlashR),
+       /*2048*/ uint16(xArgMm),
+       /*2049*/ uint16(xArgXmmM128),
+       /*2050*/ uint16(xMatch),
+       /*2051*/ uint16(xCondDataSize), 2055, 2061, 0,
+       /*2055*/ uint16(xSetOp), uint16(CVTSD2SI),
+       /*2057*/ uint16(xReadSlashR),
+       /*2058*/ uint16(xArgR32),
+       /*2059*/ uint16(xArgXmmM64),
+       /*2060*/ uint16(xMatch),
+       /*2061*/ uint16(xSetOp), uint16(CVTSD2SI),
+       /*2063*/ uint16(xReadSlashR),
+       /*2064*/ uint16(xArgR32),
+       /*2065*/ uint16(xArgXmmM64),
+       /*2066*/ uint16(xMatch),
+       /*2067*/ uint16(xCondDataSize), 2071, 2077, 0,
+       /*2071*/ uint16(xSetOp), uint16(CVTSS2SI),
+       /*2073*/ uint16(xReadSlashR),
+       /*2074*/ uint16(xArgR32),
+       /*2075*/ uint16(xArgXmmM32),
+       /*2076*/ uint16(xMatch),
+       /*2077*/ uint16(xSetOp), uint16(CVTSS2SI),
+       /*2079*/ uint16(xReadSlashR),
+       /*2080*/ uint16(xArgR32),
+       /*2081*/ uint16(xArgXmmM32),
+       /*2082*/ uint16(xMatch),
+       /*2083*/ uint16(xCondPrefix), 4,
+       0xF3, 2103,
+       0xF2, 2093,
+       0x66, 2045,
+       0x0, 2039,
+       /*2093*/ uint16(xCondDataSize), 2055, 2061, 2097,
+       /*2097*/ uint16(xSetOp), uint16(CVTSD2SI),
+       /*2099*/ uint16(xReadSlashR),
+       /*2100*/ uint16(xArgR64),
+       /*2101*/ uint16(xArgXmmM64),
+       /*2102*/ uint16(xMatch),
+       /*2103*/ uint16(xCondDataSize), 2071, 2077, 2107,
+       /*2107*/ uint16(xSetOp), uint16(CVTSS2SI),
+       /*2109*/ uint16(xReadSlashR),
+       /*2110*/ uint16(xArgR64),
+       /*2111*/ uint16(xArgXmmM32),
+       /*2112*/ uint16(xMatch),
+       /*2113*/ uint16(xCondPrefix), 2,
+       0x66, 2125,
+       0x0, 2119,
+       /*2119*/ uint16(xSetOp), uint16(UCOMISS),
+       /*2121*/ uint16(xReadSlashR),
+       /*2122*/ uint16(xArgXmm1),
+       /*2123*/ uint16(xArgXmm2M32),
+       /*2124*/ uint16(xMatch),
+       /*2125*/ uint16(xSetOp), uint16(UCOMISD),
+       /*2127*/ uint16(xReadSlashR),
+       /*2128*/ uint16(xArgXmm1),
+       /*2129*/ uint16(xArgXmm2M64),
+       /*2130*/ uint16(xMatch),
+       /*2131*/ uint16(xCondPrefix), 2,
+       0x66, 2143,
+       0x0, 2137,
+       /*2137*/ uint16(xSetOp), uint16(COMISS),
+       /*2139*/ uint16(xReadSlashR),
+       /*2140*/ uint16(xArgXmm1),
+       /*2141*/ uint16(xArgXmm2M32),
+       /*2142*/ uint16(xMatch),
+       /*2143*/ uint16(xSetOp), uint16(COMISD),
+       /*2145*/ uint16(xReadSlashR),
+       /*2146*/ uint16(xArgXmm1),
+       /*2147*/ uint16(xArgXmm2M64),
+       /*2148*/ uint16(xMatch),
+       /*2149*/ uint16(xSetOp), uint16(WRMSR),
+       /*2151*/ uint16(xMatch),
+       /*2152*/ uint16(xSetOp), uint16(RDTSC),
+       /*2154*/ uint16(xMatch),
+       /*2155*/ uint16(xSetOp), uint16(RDMSR),
+       /*2157*/ uint16(xMatch),
+       /*2158*/ uint16(xSetOp), uint16(RDPMC),
+       /*2160*/ uint16(xMatch),
+       /*2161*/ uint16(xSetOp), uint16(SYSENTER),
+       /*2163*/ uint16(xMatch),
+       /*2164*/ uint16(xCondDataSize), 2168, 2168, 2171,
+       /*2168*/ uint16(xSetOp), uint16(SYSEXIT),
+       /*2170*/ uint16(xMatch),
+       /*2171*/ uint16(xSetOp), uint16(SYSEXIT),
+       /*2173*/ uint16(xMatch),
+       /*2174*/ uint16(xCondByte), 54,
+       0x00, 2285,
+       0x01, 2303,
+       0x02, 2321,
+       0x03, 2339,
+       0x04, 2357,
+       0x05, 2375,
+       0x06, 2393,
+       0x07, 2411,
+       0x08, 2429,
+       0x09, 2447,
+       0x0A, 2465,
+       0x0B, 2483,
+       0x10, 2501,
+       0x14, 2512,
+       0x15, 2523,
+       0x17, 2534,
+       0x1C, 2544,
+       0x1D, 2562,
+       0x1E, 2580,
+       0x20, 2598,
+       0x21, 2608,
+       0x22, 2618,
+       0x23, 2628,
+       0x24, 2638,
+       0x25, 2648,
+       0x28, 2658,
+       0x29, 2668,
+       0x2A, 2678,
+       0x2B, 2688,
+       0x30, 2698,
+       0x31, 2708,
+       0x32, 2718,
+       0x33, 2728,
+       0x34, 2738,
+       0x35, 2748,
+       0x37, 2758,
+       0x38, 2768,
+       0x39, 2778,
+       0x3A, 2788,
+       0x3B, 2798,
+       0x3C, 2808,
+       0x3D, 2818,
+       0x3E, 2828,
+       0x3F, 2838,
+       0x40, 2848,
+       0x41, 2858,
+       0x82, 2868,
+       0xDB, 2891,
+       0xDC, 2901,
+       0xDD, 2911,
+       0xDE, 2921,
+       0xDF, 2931,
+       0xF0, 2941,
+       0xF1, 3008,
        uint16(xFail),
-       /*2283*/ uint16(xCondPrefix), 2,
-       0x66, 2295,
-       0x0, 2289,
-       /*2289*/ uint16(xSetOp), uint16(PSHUFB),
-       /*2291*/ uint16(xReadSlashR),
-       /*2292*/ uint16(xArgMm1),
-       /*2293*/ uint16(xArgMm2M64),
-       /*2294*/ uint16(xMatch),
-       /*2295*/ uint16(xSetOp), uint16(PSHUFB),
-       /*2297*/ uint16(xReadSlashR),
-       /*2298*/ uint16(xArgXmm1),
-       /*2299*/ uint16(xArgXmm2M128),
-       /*2300*/ uint16(xMatch),
-       /*2301*/ uint16(xCondPrefix), 2,
-       0x66, 2313,
-       0x0, 2307,
-       /*2307*/ uint16(xSetOp), uint16(PHADDW),
-       /*2309*/ uint16(xReadSlashR),
-       /*2310*/ uint16(xArgMm1),
-       /*2311*/ uint16(xArgMm2M64),
-       /*2312*/ uint16(xMatch),
-       /*2313*/ uint16(xSetOp), uint16(PHADDW),
-       /*2315*/ uint16(xReadSlashR),
-       /*2316*/ uint16(xArgXmm1),
-       /*2317*/ uint16(xArgXmm2M128),
-       /*2318*/ uint16(xMatch),
-       /*2319*/ uint16(xCondPrefix), 2,
-       0x66, 2331,
-       0x0, 2325,
-       /*2325*/ uint16(xSetOp), uint16(PHADDD),
-       /*2327*/ uint16(xReadSlashR),
-       /*2328*/ uint16(xArgMm1),
-       /*2329*/ uint16(xArgMm2M64),
-       /*2330*/ uint16(xMatch),
-       /*2331*/ uint16(xSetOp), uint16(PHADDD),
-       /*2333*/ uint16(xReadSlashR),
-       /*2334*/ uint16(xArgXmm1),
-       /*2335*/ uint16(xArgXmm2M128),
-       /*2336*/ uint16(xMatch),
-       /*2337*/ uint16(xCondPrefix), 2,
-       0x66, 2349,
-       0x0, 2343,
-       /*2343*/ uint16(xSetOp), uint16(PHADDSW),
-       /*2345*/ uint16(xReadSlashR),
-       /*2346*/ uint16(xArgMm1),
-       /*2347*/ uint16(xArgMm2M64),
-       /*2348*/ uint16(xMatch),
-       /*2349*/ uint16(xSetOp), uint16(PHADDSW),
-       /*2351*/ uint16(xReadSlashR),
-       /*2352*/ uint16(xArgXmm1),
-       /*2353*/ uint16(xArgXmm2M128),
-       /*2354*/ uint16(xMatch),
-       /*2355*/ uint16(xCondPrefix), 2,
-       0x66, 2367,
-       0x0, 2361,
-       /*2361*/ uint16(xSetOp), uint16(PMADDUBSW),
-       /*2363*/ uint16(xReadSlashR),
-       /*2364*/ uint16(xArgMm1),
-       /*2365*/ uint16(xArgMm2M64),
-       /*2366*/ uint16(xMatch),
-       /*2367*/ uint16(xSetOp), uint16(PMADDUBSW),
-       /*2369*/ uint16(xReadSlashR),
-       /*2370*/ uint16(xArgXmm1),
-       /*2371*/ uint16(xArgXmm2M128),
-       /*2372*/ uint16(xMatch),
-       /*2373*/ uint16(xCondPrefix), 2,
-       0x66, 2385,
-       0x0, 2379,
-       /*2379*/ uint16(xSetOp), uint16(PHSUBW),
-       /*2381*/ uint16(xReadSlashR),
-       /*2382*/ uint16(xArgMm1),
-       /*2383*/ uint16(xArgMm2M64),
-       /*2384*/ uint16(xMatch),
-       /*2385*/ uint16(xSetOp), uint16(PHSUBW),
-       /*2387*/ uint16(xReadSlashR),
-       /*2388*/ uint16(xArgXmm1),
-       /*2389*/ uint16(xArgXmm2M128),
-       /*2390*/ uint16(xMatch),
-       /*2391*/ uint16(xCondPrefix), 2,
-       0x66, 2403,
-       0x0, 2397,
-       /*2397*/ uint16(xSetOp), uint16(PHSUBD),
-       /*2399*/ uint16(xReadSlashR),
-       /*2400*/ uint16(xArgMm1),
-       /*2401*/ uint16(xArgMm2M64),
-       /*2402*/ uint16(xMatch),
-       /*2403*/ uint16(xSetOp), uint16(PHSUBD),
-       /*2405*/ uint16(xReadSlashR),
-       /*2406*/ uint16(xArgXmm1),
-       /*2407*/ uint16(xArgXmm2M128),
-       /*2408*/ uint16(xMatch),
-       /*2409*/ uint16(xCondPrefix), 2,
-       0x66, 2421,
-       0x0, 2415,
-       /*2415*/ uint16(xSetOp), uint16(PHSUBSW),
-       /*2417*/ uint16(xReadSlashR),
-       /*2418*/ uint16(xArgMm1),
-       /*2419*/ uint16(xArgMm2M64),
-       /*2420*/ uint16(xMatch),
-       /*2421*/ uint16(xSetOp), uint16(PHSUBSW),
-       /*2423*/ uint16(xReadSlashR),
-       /*2424*/ uint16(xArgXmm1),
-       /*2425*/ uint16(xArgXmm2M128),
-       /*2426*/ uint16(xMatch),
-       /*2427*/ uint16(xCondPrefix), 2,
-       0x66, 2439,
-       0x0, 2433,
-       /*2433*/ uint16(xSetOp), uint16(PSIGNB),
-       /*2435*/ uint16(xReadSlashR),
-       /*2436*/ uint16(xArgMm1),
-       /*2437*/ uint16(xArgMm2M64),
-       /*2438*/ uint16(xMatch),
-       /*2439*/ uint16(xSetOp), uint16(PSIGNB),
-       /*2441*/ uint16(xReadSlashR),
-       /*2442*/ uint16(xArgXmm1),
-       /*2443*/ uint16(xArgXmm2M128),
-       /*2444*/ uint16(xMatch),
-       /*2445*/ uint16(xCondPrefix), 2,
-       0x66, 2457,
-       0x0, 2451,
-       /*2451*/ uint16(xSetOp), uint16(PSIGNW),
-       /*2453*/ uint16(xReadSlashR),
-       /*2454*/ uint16(xArgMm1),
-       /*2455*/ uint16(xArgMm2M64),
-       /*2456*/ uint16(xMatch),
-       /*2457*/ uint16(xSetOp), uint16(PSIGNW),
-       /*2459*/ uint16(xReadSlashR),
-       /*2460*/ uint16(xArgXmm1),
-       /*2461*/ uint16(xArgXmm2M128),
-       /*2462*/ uint16(xMatch),
-       /*2463*/ uint16(xCondPrefix), 2,
-       0x66, 2475,
-       0x0, 2469,
-       /*2469*/ uint16(xSetOp), uint16(PSIGND),
-       /*2471*/ uint16(xReadSlashR),
-       /*2472*/ uint16(xArgMm1),
-       /*2473*/ uint16(xArgMm2M64),
-       /*2474*/ uint16(xMatch),
-       /*2475*/ uint16(xSetOp), uint16(PSIGND),
-       /*2477*/ uint16(xReadSlashR),
-       /*2478*/ uint16(xArgXmm1),
-       /*2479*/ uint16(xArgXmm2M128),
-       /*2480*/ uint16(xMatch),
-       /*2481*/ uint16(xCondPrefix), 2,
-       0x66, 2493,
-       0x0, 2487,
-       /*2487*/ uint16(xSetOp), uint16(PMULHRSW),
-       /*2489*/ uint16(xReadSlashR),
-       /*2490*/ uint16(xArgMm1),
-       /*2491*/ uint16(xArgMm2M64),
-       /*2492*/ uint16(xMatch),
-       /*2493*/ uint16(xSetOp), uint16(PMULHRSW),
-       /*2495*/ uint16(xReadSlashR),
-       /*2496*/ uint16(xArgXmm1),
-       /*2497*/ uint16(xArgXmm2M128),
-       /*2498*/ uint16(xMatch),
-       /*2499*/ uint16(xCondPrefix), 1,
-       0x66, 2503,
-       /*2503*/ uint16(xSetOp), uint16(PBLENDVB),
-       /*2505*/ uint16(xReadSlashR),
-       /*2506*/ uint16(xArgXmm1),
-       /*2507*/ uint16(xArgXmm2M128),
-       /*2508*/ uint16(xArgXMM0),
-       /*2509*/ uint16(xMatch),
-       /*2510*/ uint16(xCondPrefix), 1,
-       0x66, 2514,
-       /*2514*/ uint16(xSetOp), uint16(BLENDVPS),
-       /*2516*/ uint16(xReadSlashR),
-       /*2517*/ uint16(xArgXmm1),
-       /*2518*/ uint16(xArgXmm2M128),
-       /*2519*/ uint16(xArgXMM0),
-       /*2520*/ uint16(xMatch),
-       /*2521*/ uint16(xCondPrefix), 1,
-       0x66, 2525,
-       /*2525*/ uint16(xSetOp), uint16(BLENDVPD),
-       /*2527*/ uint16(xReadSlashR),
-       /*2528*/ uint16(xArgXmm1),
-       /*2529*/ uint16(xArgXmm2M128),
-       /*2530*/ uint16(xArgXMM0),
-       /*2531*/ uint16(xMatch),
-       /*2532*/ uint16(xCondPrefix), 1,
-       0x66, 2536,
-       /*2536*/ uint16(xSetOp), uint16(PTEST),
-       /*2538*/ uint16(xReadSlashR),
-       /*2539*/ uint16(xArgXmm1),
-       /*2540*/ uint16(xArgXmm2M128),
-       /*2541*/ uint16(xMatch),
-       /*2542*/ uint16(xCondPrefix), 2,
-       0x66, 2554,
-       0x0, 2548,
-       /*2548*/ uint16(xSetOp), uint16(PABSB),
-       /*2550*/ uint16(xReadSlashR),
-       /*2551*/ uint16(xArgMm1),
-       /*2552*/ uint16(xArgMm2M64),
-       /*2553*/ uint16(xMatch),
-       /*2554*/ uint16(xSetOp), uint16(PABSB),
-       /*2556*/ uint16(xReadSlashR),
-       /*2557*/ uint16(xArgXmm1),
-       /*2558*/ uint16(xArgXmm2M128),
-       /*2559*/ uint16(xMatch),
-       /*2560*/ uint16(xCondPrefix), 2,
-       0x66, 2572,
-       0x0, 2566,
-       /*2566*/ uint16(xSetOp), uint16(PABSW),
-       /*2568*/ uint16(xReadSlashR),
-       /*2569*/ uint16(xArgMm1),
-       /*2570*/ uint16(xArgMm2M64),
-       /*2571*/ uint16(xMatch),
-       /*2572*/ uint16(xSetOp), uint16(PABSW),
-       /*2574*/ uint16(xReadSlashR),
-       /*2575*/ uint16(xArgXmm1),
-       /*2576*/ uint16(xArgXmm2M128),
-       /*2577*/ uint16(xMatch),
-       /*2578*/ uint16(xCondPrefix), 2,
-       0x66, 2590,
-       0x0, 2584,
-       /*2584*/ uint16(xSetOp), uint16(PABSD),
-       /*2586*/ uint16(xReadSlashR),
-       /*2587*/ uint16(xArgMm1),
-       /*2588*/ uint16(xArgMm2M64),
-       /*2589*/ uint16(xMatch),
-       /*2590*/ uint16(xSetOp), uint16(PABSD),
-       /*2592*/ uint16(xReadSlashR),
-       /*2593*/ uint16(xArgXmm1),
-       /*2594*/ uint16(xArgXmm2M128),
-       /*2595*/ uint16(xMatch),
-       /*2596*/ uint16(xCondPrefix), 1,
-       0x66, 2600,
-       /*2600*/ uint16(xSetOp), uint16(PMOVSXBW),
-       /*2602*/ uint16(xReadSlashR),
-       /*2603*/ uint16(xArgXmm1),
-       /*2604*/ uint16(xArgXmm2M64),
-       /*2605*/ uint16(xMatch),
-       /*2606*/ uint16(xCondPrefix), 1,
-       0x66, 2610,
-       /*2610*/ uint16(xSetOp), uint16(PMOVSXBD),
-       /*2612*/ uint16(xReadSlashR),
-       /*2613*/ uint16(xArgXmm1),
-       /*2614*/ uint16(xArgXmm2M32),
-       /*2615*/ uint16(xMatch),
-       /*2616*/ uint16(xCondPrefix), 1,
-       0x66, 2620,
-       /*2620*/ uint16(xSetOp), uint16(PMOVSXBQ),
-       /*2622*/ uint16(xReadSlashR),
-       /*2623*/ uint16(xArgXmm1),
-       /*2624*/ uint16(xArgXmm2M16),
-       /*2625*/ uint16(xMatch),
-       /*2626*/ uint16(xCondPrefix), 1,
-       0x66, 2630,
-       /*2630*/ uint16(xSetOp), uint16(PMOVSXWD),
-       /*2632*/ uint16(xReadSlashR),
-       /*2633*/ uint16(xArgXmm1),
-       /*2634*/ uint16(xArgXmm2M64),
-       /*2635*/ uint16(xMatch),
-       /*2636*/ uint16(xCondPrefix), 1,
-       0x66, 2640,
-       /*2640*/ uint16(xSetOp), uint16(PMOVSXWQ),
-       /*2642*/ uint16(xReadSlashR),
-       /*2643*/ uint16(xArgXmm1),
-       /*2644*/ uint16(xArgXmm2M32),
-       /*2645*/ uint16(xMatch),
-       /*2646*/ uint16(xCondPrefix), 1,
-       0x66, 2650,
-       /*2650*/ uint16(xSetOp), uint16(PMOVSXDQ),
-       /*2652*/ uint16(xReadSlashR),
-       /*2653*/ uint16(xArgXmm1),
-       /*2654*/ uint16(xArgXmm2M64),
-       /*2655*/ uint16(xMatch),
-       /*2656*/ uint16(xCondPrefix), 1,
-       0x66, 2660,
-       /*2660*/ uint16(xSetOp), uint16(PMULDQ),
-       /*2662*/ uint16(xReadSlashR),
-       /*2663*/ uint16(xArgXmm1),
-       /*2664*/ uint16(xArgXmm2M128),
-       /*2665*/ uint16(xMatch),
-       /*2666*/ uint16(xCondPrefix), 1,
-       0x66, 2670,
-       /*2670*/ uint16(xSetOp), uint16(PCMPEQQ),
-       /*2672*/ uint16(xReadSlashR),
-       /*2673*/ uint16(xArgXmm1),
-       /*2674*/ uint16(xArgXmm2M128),
-       /*2675*/ uint16(xMatch),
-       /*2676*/ uint16(xCondPrefix), 1,
-       0x66, 2680,
-       /*2680*/ uint16(xSetOp), uint16(MOVNTDQA),
-       /*2682*/ uint16(xReadSlashR),
-       /*2683*/ uint16(xArgXmm1),
-       /*2684*/ uint16(xArgM128),
-       /*2685*/ uint16(xMatch),
-       /*2686*/ uint16(xCondPrefix), 1,
-       0x66, 2690,
-       /*2690*/ uint16(xSetOp), uint16(PACKUSDW),
-       /*2692*/ uint16(xReadSlashR),
-       /*2693*/ uint16(xArgXmm1),
-       /*2694*/ uint16(xArgXmm2M128),
-       /*2695*/ uint16(xMatch),
-       /*2696*/ uint16(xCondPrefix), 1,
-       0x66, 2700,
-       /*2700*/ uint16(xSetOp), uint16(PMOVZXBW),
-       /*2702*/ uint16(xReadSlashR),
-       /*2703*/ uint16(xArgXmm1),
-       /*2704*/ uint16(xArgXmm2M64),
-       /*2705*/ uint16(xMatch),
-       /*2706*/ uint16(xCondPrefix), 1,
-       0x66, 2710,
-       /*2710*/ uint16(xSetOp), uint16(PMOVZXBD),
-       /*2712*/ uint16(xReadSlashR),
-       /*2713*/ uint16(xArgXmm1),
-       /*2714*/ uint16(xArgXmm2M32),
-       /*2715*/ uint16(xMatch),
-       /*2716*/ uint16(xCondPrefix), 1,
-       0x66, 2720,
-       /*2720*/ uint16(xSetOp), uint16(PMOVZXBQ),
-       /*2722*/ uint16(xReadSlashR),
-       /*2723*/ uint16(xArgXmm1),
-       /*2724*/ uint16(xArgXmm2M16),
-       /*2725*/ uint16(xMatch),
-       /*2726*/ uint16(xCondPrefix), 1,
-       0x66, 2730,
-       /*2730*/ uint16(xSetOp), uint16(PMOVZXWD),
-       /*2732*/ uint16(xReadSlashR),
-       /*2733*/ uint16(xArgXmm1),
-       /*2734*/ uint16(xArgXmm2M64),
-       /*2735*/ uint16(xMatch),
-       /*2736*/ uint16(xCondPrefix), 1,
-       0x66, 2740,
-       /*2740*/ uint16(xSetOp), uint16(PMOVZXWQ),
-       /*2742*/ uint16(xReadSlashR),
-       /*2743*/ uint16(xArgXmm1),
-       /*2744*/ uint16(xArgXmm2M32),
-       /*2745*/ uint16(xMatch),
-       /*2746*/ uint16(xCondPrefix), 1,
-       0x66, 2750,
-       /*2750*/ uint16(xSetOp), uint16(PMOVZXDQ),
-       /*2752*/ uint16(xReadSlashR),
-       /*2753*/ uint16(xArgXmm1),
-       /*2754*/ uint16(xArgXmm2M64),
-       /*2755*/ uint16(xMatch),
-       /*2756*/ uint16(xCondPrefix), 1,
-       0x66, 2760,
-       /*2760*/ uint16(xSetOp), uint16(PCMPGTQ),
-       /*2762*/ uint16(xReadSlashR),
-       /*2763*/ uint16(xArgXmm1),
-       /*2764*/ uint16(xArgXmm2M128),
-       /*2765*/ uint16(xMatch),
-       /*2766*/ uint16(xCondPrefix), 1,
-       0x66, 2770,
-       /*2770*/ uint16(xSetOp), uint16(PMINSB),
-       /*2772*/ uint16(xReadSlashR),
-       /*2773*/ uint16(xArgXmm1),
-       /*2774*/ uint16(xArgXmm2M128),
-       /*2775*/ uint16(xMatch),
-       /*2776*/ uint16(xCondPrefix), 1,
-       0x66, 2780,
-       /*2780*/ uint16(xSetOp), uint16(PMINSD),
-       /*2782*/ uint16(xReadSlashR),
-       /*2783*/ uint16(xArgXmm1),
-       /*2784*/ uint16(xArgXmm2M128),
-       /*2785*/ uint16(xMatch),
-       /*2786*/ uint16(xCondPrefix), 1,
-       0x66, 2790,
-       /*2790*/ uint16(xSetOp), uint16(PMINUW),
-       /*2792*/ uint16(xReadSlashR),
-       /*2793*/ uint16(xArgXmm1),
-       /*2794*/ uint16(xArgXmm2M128),
-       /*2795*/ uint16(xMatch),
-       /*2796*/ uint16(xCondPrefix), 1,
-       0x66, 2800,
-       /*2800*/ uint16(xSetOp), uint16(PMINUD),
-       /*2802*/ uint16(xReadSlashR),
-       /*2803*/ uint16(xArgXmm1),
-       /*2804*/ uint16(xArgXmm2M128),
-       /*2805*/ uint16(xMatch),
-       /*2806*/ uint16(xCondPrefix), 1,
-       0x66, 2810,
-       /*2810*/ uint16(xSetOp), uint16(PMAXSB),
-       /*2812*/ uint16(xReadSlashR),
-       /*2813*/ uint16(xArgXmm1),
-       /*2814*/ uint16(xArgXmm2M128),
-       /*2815*/ uint16(xMatch),
-       /*2816*/ uint16(xCondPrefix), 1,
-       0x66, 2820,
-       /*2820*/ uint16(xSetOp), uint16(PMAXSD),
-       /*2822*/ uint16(xReadSlashR),
-       /*2823*/ uint16(xArgXmm1),
-       /*2824*/ uint16(xArgXmm2M128),
-       /*2825*/ uint16(xMatch),
-       /*2826*/ uint16(xCondPrefix), 1,
-       0x66, 2830,
-       /*2830*/ uint16(xSetOp), uint16(PMAXUW),
-       /*2832*/ uint16(xReadSlashR),
-       /*2833*/ uint16(xArgXmm1),
-       /*2834*/ uint16(xArgXmm2M128),
-       /*2835*/ uint16(xMatch),
-       /*2836*/ uint16(xCondPrefix), 1,
-       0x66, 2840,
-       /*2840*/ uint16(xSetOp), uint16(PMAXUD),
-       /*2842*/ uint16(xReadSlashR),
-       /*2843*/ uint16(xArgXmm1),
-       /*2844*/ uint16(xArgXmm2M128),
-       /*2845*/ uint16(xMatch),
-       /*2846*/ uint16(xCondPrefix), 1,
-       0x66, 2850,
-       /*2850*/ uint16(xSetOp), uint16(PMULLD),
-       /*2852*/ uint16(xReadSlashR),
-       /*2853*/ uint16(xArgXmm1),
-       /*2854*/ uint16(xArgXmm2M128),
-       /*2855*/ uint16(xMatch),
-       /*2856*/ uint16(xCondPrefix), 1,
-       0x66, 2860,
-       /*2860*/ uint16(xSetOp), uint16(PHMINPOSUW),
-       /*2862*/ uint16(xReadSlashR),
-       /*2863*/ uint16(xArgXmm1),
-       /*2864*/ uint16(xArgXmm2M128),
-       /*2865*/ uint16(xMatch),
-       /*2866*/ uint16(xCondIs64), 2869, 2879,
-       /*2869*/ uint16(xCondPrefix), 1,
-       0x66, 2873,
-       /*2873*/ uint16(xSetOp), uint16(INVPCID),
-       /*2875*/ uint16(xReadSlashR),
-       /*2876*/ uint16(xArgR32),
-       /*2877*/ uint16(xArgM128),
-       /*2878*/ uint16(xMatch),
-       /*2879*/ uint16(xCondPrefix), 1,
-       0x66, 2883,
-       /*2883*/ uint16(xSetOp), uint16(INVPCID),
-       /*2885*/ uint16(xReadSlashR),
-       /*2886*/ uint16(xArgR64),
-       /*2887*/ uint16(xArgM128),
-       /*2888*/ uint16(xMatch),
-       /*2889*/ uint16(xCondPrefix), 1,
-       0x66, 2893,
-       /*2893*/ uint16(xSetOp), uint16(AESIMC),
-       /*2895*/ uint16(xReadSlashR),
-       /*2896*/ uint16(xArgXmm1),
-       /*2897*/ uint16(xArgXmm2M128),
-       /*2898*/ uint16(xMatch),
-       /*2899*/ uint16(xCondPrefix), 1,
-       0x66, 2903,
-       /*2903*/ uint16(xSetOp), uint16(AESENC),
-       /*2905*/ uint16(xReadSlashR),
-       /*2906*/ uint16(xArgXmm1),
-       /*2907*/ uint16(xArgXmm2M128),
-       /*2908*/ uint16(xMatch),
-       /*2909*/ uint16(xCondPrefix), 1,
-       0x66, 2913,
-       /*2913*/ uint16(xSetOp), uint16(AESENCLAST),
-       /*2915*/ uint16(xReadSlashR),
-       /*2916*/ uint16(xArgXmm1),
-       /*2917*/ uint16(xArgXmm2M128),
-       /*2918*/ uint16(xMatch),
-       /*2919*/ uint16(xCondPrefix), 1,
-       0x66, 2923,
-       /*2923*/ uint16(xSetOp), uint16(AESDEC),
-       /*2925*/ uint16(xReadSlashR),
-       /*2926*/ uint16(xArgXmm1),
-       /*2927*/ uint16(xArgXmm2M128),
-       /*2928*/ uint16(xMatch),
-       /*2929*/ uint16(xCondPrefix), 1,
-       0x66, 2933,
-       /*2933*/ uint16(xSetOp), uint16(AESDECLAST),
-       /*2935*/ uint16(xReadSlashR),
-       /*2936*/ uint16(xArgXmm1),
-       /*2937*/ uint16(xArgXmm2M128),
-       /*2938*/ uint16(xMatch),
-       /*2939*/ uint16(xCondIs64), 2942, 2980,
-       /*2942*/ uint16(xCondPrefix), 2,
-       0xF2, 2964,
-       0x0, 2948,
-       /*2948*/ uint16(xCondDataSize), 2952, 2958, 0,
-       /*2952*/ uint16(xSetOp), uint16(MOVBE),
-       /*2954*/ uint16(xReadSlashR),
-       /*2955*/ uint16(xArgR16),
-       /*2956*/ uint16(xArgM16),
-       /*2957*/ uint16(xMatch),
-       /*2958*/ uint16(xSetOp), uint16(MOVBE),
-       /*2960*/ uint16(xReadSlashR),
-       /*2961*/ uint16(xArgR32),
-       /*2962*/ uint16(xArgM32),
-       /*2963*/ uint16(xMatch),
-       /*2964*/ uint16(xCondDataSize), 2968, 2974, 0,
-       /*2968*/ uint16(xSetOp), uint16(CRC32),
-       /*2970*/ uint16(xReadSlashR),
-       /*2971*/ uint16(xArgR32),
-       /*2972*/ uint16(xArgRM8),
-       /*2973*/ uint16(xMatch),
-       /*2974*/ uint16(xSetOp), uint16(CRC32),
-       /*2976*/ uint16(xReadSlashR),
-       /*2977*/ uint16(xArgR32),
-       /*2978*/ uint16(xArgRM8),
-       /*2979*/ uint16(xMatch),
-       /*2980*/ uint16(xCondPrefix), 2,
-       0xF2, 2996,
-       0x0, 2986,
-       /*2986*/ uint16(xCondDataSize), 2952, 2958, 2990,
-       /*2990*/ uint16(xSetOp), uint16(MOVBE),
-       /*2992*/ uint16(xReadSlashR),
-       /*2993*/ uint16(xArgR64),
-       /*2994*/ uint16(xArgM64),
-       /*2995*/ uint16(xMatch),
-       /*2996*/ uint16(xCondDataSize), 2968, 2974, 3000,
-       /*3000*/ uint16(xSetOp), uint16(CRC32),
-       /*3002*/ uint16(xReadSlashR),
-       /*3003*/ uint16(xArgR64),
-       /*3004*/ uint16(xArgRM8),
-       /*3005*/ uint16(xMatch),
-       /*3006*/ uint16(xCondIs64), 3009, 3047,
-       /*3009*/ uint16(xCondPrefix), 2,
-       0xF2, 3031,
-       0x0, 3015,
-       /*3015*/ uint16(xCondDataSize), 3019, 3025, 0,
-       /*3019*/ uint16(xSetOp), uint16(MOVBE),
-       /*3021*/ uint16(xReadSlashR),
-       /*3022*/ uint16(xArgM16),
-       /*3023*/ uint16(xArgR16),
-       /*3024*/ uint16(xMatch),
-       /*3025*/ uint16(xSetOp), uint16(MOVBE),
-       /*3027*/ uint16(xReadSlashR),
-       /*3028*/ uint16(xArgM32),
-       /*3029*/ uint16(xArgR32),
-       /*3030*/ uint16(xMatch),
-       /*3031*/ uint16(xCondDataSize), 3035, 3041, 0,
-       /*3035*/ uint16(xSetOp), uint16(CRC32),
-       /*3037*/ uint16(xReadSlashR),
-       /*3038*/ uint16(xArgR32),
-       /*3039*/ uint16(xArgRM16),
-       /*3040*/ uint16(xMatch),
-       /*3041*/ uint16(xSetOp), uint16(CRC32),
-       /*3043*/ uint16(xReadSlashR),
-       /*3044*/ uint16(xArgR32),
-       /*3045*/ uint16(xArgRM32),
-       /*3046*/ uint16(xMatch),
-       /*3047*/ uint16(xCondPrefix), 2,
-       0xF2, 3063,
-       0x0, 3053,
-       /*3053*/ uint16(xCondDataSize), 3019, 3025, 3057,
-       /*3057*/ uint16(xSetOp), uint16(MOVBE),
-       /*3059*/ uint16(xReadSlashR),
-       /*3060*/ uint16(xArgM64),
-       /*3061*/ uint16(xArgR64),
-       /*3062*/ uint16(xMatch),
-       /*3063*/ uint16(xCondDataSize), 3035, 3041, 3067,
-       /*3067*/ uint16(xSetOp), uint16(CRC32),
-       /*3069*/ uint16(xReadSlashR),
-       /*3070*/ uint16(xArgR64),
-       /*3071*/ uint16(xArgRM64),
-       /*3072*/ uint16(xMatch),
-       /*3073*/ uint16(xCondByte), 24,
-       0x08, 3124,
-       0x09, 3136,
-       0x0A, 3148,
-       0x0B, 3160,
-       0x0C, 3172,
-       0x0D, 3184,
-       0x0E, 3196,
-       0x0F, 3208,
-       0x14, 3230,
-       0x15, 3242,
-       0x16, 3254,
-       0x17, 3297,
-       0x20, 3309,
-       0x21, 3321,
-       0x22, 3333,
-       0x40, 3376,
-       0x41, 3388,
-       0x42, 3400,
-       0x44, 3412,
-       0x60, 3424,
-       0x61, 3436,
-       0x62, 3448,
-       0x63, 3460,
-       0xDF, 3472,
+       /*2285*/ uint16(xCondPrefix), 2,
+       0x66, 2297,
+       0x0, 2291,
+       /*2291*/ uint16(xSetOp), uint16(PSHUFB),
+       /*2293*/ uint16(xReadSlashR),
+       /*2294*/ uint16(xArgMm1),
+       /*2295*/ uint16(xArgMm2M64),
+       /*2296*/ uint16(xMatch),
+       /*2297*/ uint16(xSetOp), uint16(PSHUFB),
+       /*2299*/ uint16(xReadSlashR),
+       /*2300*/ uint16(xArgXmm1),
+       /*2301*/ uint16(xArgXmm2M128),
+       /*2302*/ uint16(xMatch),
+       /*2303*/ uint16(xCondPrefix), 2,
+       0x66, 2315,
+       0x0, 2309,
+       /*2309*/ uint16(xSetOp), uint16(PHADDW),
+       /*2311*/ uint16(xReadSlashR),
+       /*2312*/ uint16(xArgMm1),
+       /*2313*/ uint16(xArgMm2M64),
+       /*2314*/ uint16(xMatch),
+       /*2315*/ uint16(xSetOp), uint16(PHADDW),
+       /*2317*/ uint16(xReadSlashR),
+       /*2318*/ uint16(xArgXmm1),
+       /*2319*/ uint16(xArgXmm2M128),
+       /*2320*/ uint16(xMatch),
+       /*2321*/ uint16(xCondPrefix), 2,
+       0x66, 2333,
+       0x0, 2327,
+       /*2327*/ uint16(xSetOp), uint16(PHADDD),
+       /*2329*/ uint16(xReadSlashR),
+       /*2330*/ uint16(xArgMm1),
+       /*2331*/ uint16(xArgMm2M64),
+       /*2332*/ uint16(xMatch),
+       /*2333*/ uint16(xSetOp), uint16(PHADDD),
+       /*2335*/ uint16(xReadSlashR),
+       /*2336*/ uint16(xArgXmm1),
+       /*2337*/ uint16(xArgXmm2M128),
+       /*2338*/ uint16(xMatch),
+       /*2339*/ uint16(xCondPrefix), 2,
+       0x66, 2351,
+       0x0, 2345,
+       /*2345*/ uint16(xSetOp), uint16(PHADDSW),
+       /*2347*/ uint16(xReadSlashR),
+       /*2348*/ uint16(xArgMm1),
+       /*2349*/ uint16(xArgMm2M64),
+       /*2350*/ uint16(xMatch),
+       /*2351*/ uint16(xSetOp), uint16(PHADDSW),
+       /*2353*/ uint16(xReadSlashR),
+       /*2354*/ uint16(xArgXmm1),
+       /*2355*/ uint16(xArgXmm2M128),
+       /*2356*/ uint16(xMatch),
+       /*2357*/ uint16(xCondPrefix), 2,
+       0x66, 2369,
+       0x0, 2363,
+       /*2363*/ uint16(xSetOp), uint16(PMADDUBSW),
+       /*2365*/ uint16(xReadSlashR),
+       /*2366*/ uint16(xArgMm1),
+       /*2367*/ uint16(xArgMm2M64),
+       /*2368*/ uint16(xMatch),
+       /*2369*/ uint16(xSetOp), uint16(PMADDUBSW),
+       /*2371*/ uint16(xReadSlashR),
+       /*2372*/ uint16(xArgXmm1),
+       /*2373*/ uint16(xArgXmm2M128),
+       /*2374*/ uint16(xMatch),
+       /*2375*/ uint16(xCondPrefix), 2,
+       0x66, 2387,
+       0x0, 2381,
+       /*2381*/ uint16(xSetOp), uint16(PHSUBW),
+       /*2383*/ uint16(xReadSlashR),
+       /*2384*/ uint16(xArgMm1),
+       /*2385*/ uint16(xArgMm2M64),
+       /*2386*/ uint16(xMatch),
+       /*2387*/ uint16(xSetOp), uint16(PHSUBW),
+       /*2389*/ uint16(xReadSlashR),
+       /*2390*/ uint16(xArgXmm1),
+       /*2391*/ uint16(xArgXmm2M128),
+       /*2392*/ uint16(xMatch),
+       /*2393*/ uint16(xCondPrefix), 2,
+       0x66, 2405,
+       0x0, 2399,
+       /*2399*/ uint16(xSetOp), uint16(PHSUBD),
+       /*2401*/ uint16(xReadSlashR),
+       /*2402*/ uint16(xArgMm1),
+       /*2403*/ uint16(xArgMm2M64),
+       /*2404*/ uint16(xMatch),
+       /*2405*/ uint16(xSetOp), uint16(PHSUBD),
+       /*2407*/ uint16(xReadSlashR),
+       /*2408*/ uint16(xArgXmm1),
+       /*2409*/ uint16(xArgXmm2M128),
+       /*2410*/ uint16(xMatch),
+       /*2411*/ uint16(xCondPrefix), 2,
+       0x66, 2423,
+       0x0, 2417,
+       /*2417*/ uint16(xSetOp), uint16(PHSUBSW),
+       /*2419*/ uint16(xReadSlashR),
+       /*2420*/ uint16(xArgMm1),
+       /*2421*/ uint16(xArgMm2M64),
+       /*2422*/ uint16(xMatch),
+       /*2423*/ uint16(xSetOp), uint16(PHSUBSW),
+       /*2425*/ uint16(xReadSlashR),
+       /*2426*/ uint16(xArgXmm1),
+       /*2427*/ uint16(xArgXmm2M128),
+       /*2428*/ uint16(xMatch),
+       /*2429*/ uint16(xCondPrefix), 2,
+       0x66, 2441,
+       0x0, 2435,
+       /*2435*/ uint16(xSetOp), uint16(PSIGNB),
+       /*2437*/ uint16(xReadSlashR),
+       /*2438*/ uint16(xArgMm1),
+       /*2439*/ uint16(xArgMm2M64),
+       /*2440*/ uint16(xMatch),
+       /*2441*/ uint16(xSetOp), uint16(PSIGNB),
+       /*2443*/ uint16(xReadSlashR),
+       /*2444*/ uint16(xArgXmm1),
+       /*2445*/ uint16(xArgXmm2M128),
+       /*2446*/ uint16(xMatch),
+       /*2447*/ uint16(xCondPrefix), 2,
+       0x66, 2459,
+       0x0, 2453,
+       /*2453*/ uint16(xSetOp), uint16(PSIGNW),
+       /*2455*/ uint16(xReadSlashR),
+       /*2456*/ uint16(xArgMm1),
+       /*2457*/ uint16(xArgMm2M64),
+       /*2458*/ uint16(xMatch),
+       /*2459*/ uint16(xSetOp), uint16(PSIGNW),
+       /*2461*/ uint16(xReadSlashR),
+       /*2462*/ uint16(xArgXmm1),
+       /*2463*/ uint16(xArgXmm2M128),
+       /*2464*/ uint16(xMatch),
+       /*2465*/ uint16(xCondPrefix), 2,
+       0x66, 2477,
+       0x0, 2471,
+       /*2471*/ uint16(xSetOp), uint16(PSIGND),
+       /*2473*/ uint16(xReadSlashR),
+       /*2474*/ uint16(xArgMm1),
+       /*2475*/ uint16(xArgMm2M64),
+       /*2476*/ uint16(xMatch),
+       /*2477*/ uint16(xSetOp), uint16(PSIGND),
+       /*2479*/ uint16(xReadSlashR),
+       /*2480*/ uint16(xArgXmm1),
+       /*2481*/ uint16(xArgXmm2M128),
+       /*2482*/ uint16(xMatch),
+       /*2483*/ uint16(xCondPrefix), 2,
+       0x66, 2495,
+       0x0, 2489,
+       /*2489*/ uint16(xSetOp), uint16(PMULHRSW),
+       /*2491*/ uint16(xReadSlashR),
+       /*2492*/ uint16(xArgMm1),
+       /*2493*/ uint16(xArgMm2M64),
+       /*2494*/ uint16(xMatch),
+       /*2495*/ uint16(xSetOp), uint16(PMULHRSW),
+       /*2497*/ uint16(xReadSlashR),
+       /*2498*/ uint16(xArgXmm1),
+       /*2499*/ uint16(xArgXmm2M128),
+       /*2500*/ uint16(xMatch),
+       /*2501*/ uint16(xCondPrefix), 1,
+       0x66, 2505,
+       /*2505*/ uint16(xSetOp), uint16(PBLENDVB),
+       /*2507*/ uint16(xReadSlashR),
+       /*2508*/ uint16(xArgXmm1),
+       /*2509*/ uint16(xArgXmm2M128),
+       /*2510*/ uint16(xArgXMM0),
+       /*2511*/ uint16(xMatch),
+       /*2512*/ uint16(xCondPrefix), 1,
+       0x66, 2516,
+       /*2516*/ uint16(xSetOp), uint16(BLENDVPS),
+       /*2518*/ uint16(xReadSlashR),
+       /*2519*/ uint16(xArgXmm1),
+       /*2520*/ uint16(xArgXmm2M128),
+       /*2521*/ uint16(xArgXMM0),
+       /*2522*/ uint16(xMatch),
+       /*2523*/ uint16(xCondPrefix), 1,
+       0x66, 2527,
+       /*2527*/ uint16(xSetOp), uint16(BLENDVPD),
+       /*2529*/ uint16(xReadSlashR),
+       /*2530*/ uint16(xArgXmm1),
+       /*2531*/ uint16(xArgXmm2M128),
+       /*2532*/ uint16(xArgXMM0),
+       /*2533*/ uint16(xMatch),
+       /*2534*/ uint16(xCondPrefix), 1,
+       0x66, 2538,
+       /*2538*/ uint16(xSetOp), uint16(PTEST),
+       /*2540*/ uint16(xReadSlashR),
+       /*2541*/ uint16(xArgXmm1),
+       /*2542*/ uint16(xArgXmm2M128),
+       /*2543*/ uint16(xMatch),
+       /*2544*/ uint16(xCondPrefix), 2,
+       0x66, 2556,
+       0x0, 2550,
+       /*2550*/ uint16(xSetOp), uint16(PABSB),
+       /*2552*/ uint16(xReadSlashR),
+       /*2553*/ uint16(xArgMm1),
+       /*2554*/ uint16(xArgMm2M64),
+       /*2555*/ uint16(xMatch),
+       /*2556*/ uint16(xSetOp), uint16(PABSB),
+       /*2558*/ uint16(xReadSlashR),
+       /*2559*/ uint16(xArgXmm1),
+       /*2560*/ uint16(xArgXmm2M128),
+       /*2561*/ uint16(xMatch),
+       /*2562*/ uint16(xCondPrefix), 2,
+       0x66, 2574,
+       0x0, 2568,
+       /*2568*/ uint16(xSetOp), uint16(PABSW),
+       /*2570*/ uint16(xReadSlashR),
+       /*2571*/ uint16(xArgMm1),
+       /*2572*/ uint16(xArgMm2M64),
+       /*2573*/ uint16(xMatch),
+       /*2574*/ uint16(xSetOp), uint16(PABSW),
+       /*2576*/ uint16(xReadSlashR),
+       /*2577*/ uint16(xArgXmm1),
+       /*2578*/ uint16(xArgXmm2M128),
+       /*2579*/ uint16(xMatch),
+       /*2580*/ uint16(xCondPrefix), 2,
+       0x66, 2592,
+       0x0, 2586,
+       /*2586*/ uint16(xSetOp), uint16(PABSD),
+       /*2588*/ uint16(xReadSlashR),
+       /*2589*/ uint16(xArgMm1),
+       /*2590*/ uint16(xArgMm2M64),
+       /*2591*/ uint16(xMatch),
+       /*2592*/ uint16(xSetOp), uint16(PABSD),
+       /*2594*/ uint16(xReadSlashR),
+       /*2595*/ uint16(xArgXmm1),
+       /*2596*/ uint16(xArgXmm2M128),
+       /*2597*/ uint16(xMatch),
+       /*2598*/ uint16(xCondPrefix), 1,
+       0x66, 2602,
+       /*2602*/ uint16(xSetOp), uint16(PMOVSXBW),
+       /*2604*/ uint16(xReadSlashR),
+       /*2605*/ uint16(xArgXmm1),
+       /*2606*/ uint16(xArgXmm2M64),
+       /*2607*/ uint16(xMatch),
+       /*2608*/ uint16(xCondPrefix), 1,
+       0x66, 2612,
+       /*2612*/ uint16(xSetOp), uint16(PMOVSXBD),
+       /*2614*/ uint16(xReadSlashR),
+       /*2615*/ uint16(xArgXmm1),
+       /*2616*/ uint16(xArgXmm2M32),
+       /*2617*/ uint16(xMatch),
+       /*2618*/ uint16(xCondPrefix), 1,
+       0x66, 2622,
+       /*2622*/ uint16(xSetOp), uint16(PMOVSXBQ),
+       /*2624*/ uint16(xReadSlashR),
+       /*2625*/ uint16(xArgXmm1),
+       /*2626*/ uint16(xArgXmm2M16),
+       /*2627*/ uint16(xMatch),
+       /*2628*/ uint16(xCondPrefix), 1,
+       0x66, 2632,
+       /*2632*/ uint16(xSetOp), uint16(PMOVSXWD),
+       /*2634*/ uint16(xReadSlashR),
+       /*2635*/ uint16(xArgXmm1),
+       /*2636*/ uint16(xArgXmm2M64),
+       /*2637*/ uint16(xMatch),
+       /*2638*/ uint16(xCondPrefix), 1,
+       0x66, 2642,
+       /*2642*/ uint16(xSetOp), uint16(PMOVSXWQ),
+       /*2644*/ uint16(xReadSlashR),
+       /*2645*/ uint16(xArgXmm1),
+       /*2646*/ uint16(xArgXmm2M32),
+       /*2647*/ uint16(xMatch),
+       /*2648*/ uint16(xCondPrefix), 1,
+       0x66, 2652,
+       /*2652*/ uint16(xSetOp), uint16(PMOVSXDQ),
+       /*2654*/ uint16(xReadSlashR),
+       /*2655*/ uint16(xArgXmm1),
+       /*2656*/ uint16(xArgXmm2M64),
+       /*2657*/ uint16(xMatch),
+       /*2658*/ uint16(xCondPrefix), 1,
+       0x66, 2662,
+       /*2662*/ uint16(xSetOp), uint16(PMULDQ),
+       /*2664*/ uint16(xReadSlashR),
+       /*2665*/ uint16(xArgXmm1),
+       /*2666*/ uint16(xArgXmm2M128),
+       /*2667*/ uint16(xMatch),
+       /*2668*/ uint16(xCondPrefix), 1,
+       0x66, 2672,
+       /*2672*/ uint16(xSetOp), uint16(PCMPEQQ),
+       /*2674*/ uint16(xReadSlashR),
+       /*2675*/ uint16(xArgXmm1),
+       /*2676*/ uint16(xArgXmm2M128),
+       /*2677*/ uint16(xMatch),
+       /*2678*/ uint16(xCondPrefix), 1,
+       0x66, 2682,
+       /*2682*/ uint16(xSetOp), uint16(MOVNTDQA),
+       /*2684*/ uint16(xReadSlashR),
+       /*2685*/ uint16(xArgXmm1),
+       /*2686*/ uint16(xArgM128),
+       /*2687*/ uint16(xMatch),
+       /*2688*/ uint16(xCondPrefix), 1,
+       0x66, 2692,
+       /*2692*/ uint16(xSetOp), uint16(PACKUSDW),
+       /*2694*/ uint16(xReadSlashR),
+       /*2695*/ uint16(xArgXmm1),
+       /*2696*/ uint16(xArgXmm2M128),
+       /*2697*/ uint16(xMatch),
+       /*2698*/ uint16(xCondPrefix), 1,
+       0x66, 2702,
+       /*2702*/ uint16(xSetOp), uint16(PMOVZXBW),
+       /*2704*/ uint16(xReadSlashR),
+       /*2705*/ uint16(xArgXmm1),
+       /*2706*/ uint16(xArgXmm2M64),
+       /*2707*/ uint16(xMatch),
+       /*2708*/ uint16(xCondPrefix), 1,
+       0x66, 2712,
+       /*2712*/ uint16(xSetOp), uint16(PMOVZXBD),
+       /*2714*/ uint16(xReadSlashR),
+       /*2715*/ uint16(xArgXmm1),
+       /*2716*/ uint16(xArgXmm2M32),
+       /*2717*/ uint16(xMatch),
+       /*2718*/ uint16(xCondPrefix), 1,
+       0x66, 2722,
+       /*2722*/ uint16(xSetOp), uint16(PMOVZXBQ),
+       /*2724*/ uint16(xReadSlashR),
+       /*2725*/ uint16(xArgXmm1),
+       /*2726*/ uint16(xArgXmm2M16),
+       /*2727*/ uint16(xMatch),
+       /*2728*/ uint16(xCondPrefix), 1,
+       0x66, 2732,
+       /*2732*/ uint16(xSetOp), uint16(PMOVZXWD),
+       /*2734*/ uint16(xReadSlashR),
+       /*2735*/ uint16(xArgXmm1),
+       /*2736*/ uint16(xArgXmm2M64),
+       /*2737*/ uint16(xMatch),
+       /*2738*/ uint16(xCondPrefix), 1,
+       0x66, 2742,
+       /*2742*/ uint16(xSetOp), uint16(PMOVZXWQ),
+       /*2744*/ uint16(xReadSlashR),
+       /*2745*/ uint16(xArgXmm1),
+       /*2746*/ uint16(xArgXmm2M32),
+       /*2747*/ uint16(xMatch),
+       /*2748*/ uint16(xCondPrefix), 1,
+       0x66, 2752,
+       /*2752*/ uint16(xSetOp), uint16(PMOVZXDQ),
+       /*2754*/ uint16(xReadSlashR),
+       /*2755*/ uint16(xArgXmm1),
+       /*2756*/ uint16(xArgXmm2M64),
+       /*2757*/ uint16(xMatch),
+       /*2758*/ uint16(xCondPrefix), 1,
+       0x66, 2762,
+       /*2762*/ uint16(xSetOp), uint16(PCMPGTQ),
+       /*2764*/ uint16(xReadSlashR),
+       /*2765*/ uint16(xArgXmm1),
+       /*2766*/ uint16(xArgXmm2M128),
+       /*2767*/ uint16(xMatch),
+       /*2768*/ uint16(xCondPrefix), 1,
+       0x66, 2772,
+       /*2772*/ uint16(xSetOp), uint16(PMINSB),
+       /*2774*/ uint16(xReadSlashR),
+       /*2775*/ uint16(xArgXmm1),
+       /*2776*/ uint16(xArgXmm2M128),
+       /*2777*/ uint16(xMatch),
+       /*2778*/ uint16(xCondPrefix), 1,
+       0x66, 2782,
+       /*2782*/ uint16(xSetOp), uint16(PMINSD),
+       /*2784*/ uint16(xReadSlashR),
+       /*2785*/ uint16(xArgXmm1),
+       /*2786*/ uint16(xArgXmm2M128),
+       /*2787*/ uint16(xMatch),
+       /*2788*/ uint16(xCondPrefix), 1,
+       0x66, 2792,
+       /*2792*/ uint16(xSetOp), uint16(PMINUW),
+       /*2794*/ uint16(xReadSlashR),
+       /*2795*/ uint16(xArgXmm1),
+       /*2796*/ uint16(xArgXmm2M128),
+       /*2797*/ uint16(xMatch),
+       /*2798*/ uint16(xCondPrefix), 1,
+       0x66, 2802,
+       /*2802*/ uint16(xSetOp), uint16(PMINUD),
+       /*2804*/ uint16(xReadSlashR),
+       /*2805*/ uint16(xArgXmm1),
+       /*2806*/ uint16(xArgXmm2M128),
+       /*2807*/ uint16(xMatch),
+       /*2808*/ uint16(xCondPrefix), 1,
+       0x66, 2812,
+       /*2812*/ uint16(xSetOp), uint16(PMAXSB),
+       /*2814*/ uint16(xReadSlashR),
+       /*2815*/ uint16(xArgXmm1),
+       /*2816*/ uint16(xArgXmm2M128),
+       /*2817*/ uint16(xMatch),
+       /*2818*/ uint16(xCondPrefix), 1,
+       0x66, 2822,
+       /*2822*/ uint16(xSetOp), uint16(PMAXSD),
+       /*2824*/ uint16(xReadSlashR),
+       /*2825*/ uint16(xArgXmm1),
+       /*2826*/ uint16(xArgXmm2M128),
+       /*2827*/ uint16(xMatch),
+       /*2828*/ uint16(xCondPrefix), 1,
+       0x66, 2832,
+       /*2832*/ uint16(xSetOp), uint16(PMAXUW),
+       /*2834*/ uint16(xReadSlashR),
+       /*2835*/ uint16(xArgXmm1),
+       /*2836*/ uint16(xArgXmm2M128),
+       /*2837*/ uint16(xMatch),
+       /*2838*/ uint16(xCondPrefix), 1,
+       0x66, 2842,
+       /*2842*/ uint16(xSetOp), uint16(PMAXUD),
+       /*2844*/ uint16(xReadSlashR),
+       /*2845*/ uint16(xArgXmm1),
+       /*2846*/ uint16(xArgXmm2M128),
+       /*2847*/ uint16(xMatch),
+       /*2848*/ uint16(xCondPrefix), 1,
+       0x66, 2852,
+       /*2852*/ uint16(xSetOp), uint16(PMULLD),
+       /*2854*/ uint16(xReadSlashR),
+       /*2855*/ uint16(xArgXmm1),
+       /*2856*/ uint16(xArgXmm2M128),
+       /*2857*/ uint16(xMatch),
+       /*2858*/ uint16(xCondPrefix), 1,
+       0x66, 2862,
+       /*2862*/ uint16(xSetOp), uint16(PHMINPOSUW),
+       /*2864*/ uint16(xReadSlashR),
+       /*2865*/ uint16(xArgXmm1),
+       /*2866*/ uint16(xArgXmm2M128),
+       /*2867*/ uint16(xMatch),
+       /*2868*/ uint16(xCondIs64), 2871, 2881,
+       /*2871*/ uint16(xCondPrefix), 1,
+       0x66, 2875,
+       /*2875*/ uint16(xSetOp), uint16(INVPCID),
+       /*2877*/ uint16(xReadSlashR),
+       /*2878*/ uint16(xArgR32),
+       /*2879*/ uint16(xArgM128),
+       /*2880*/ uint16(xMatch),
+       /*2881*/ uint16(xCondPrefix), 1,
+       0x66, 2885,
+       /*2885*/ uint16(xSetOp), uint16(INVPCID),
+       /*2887*/ uint16(xReadSlashR),
+       /*2888*/ uint16(xArgR64),
+       /*2889*/ uint16(xArgM128),
+       /*2890*/ uint16(xMatch),
+       /*2891*/ uint16(xCondPrefix), 1,
+       0x66, 2895,
+       /*2895*/ uint16(xSetOp), uint16(AESIMC),
+       /*2897*/ uint16(xReadSlashR),
+       /*2898*/ uint16(xArgXmm1),
+       /*2899*/ uint16(xArgXmm2M128),
+       /*2900*/ uint16(xMatch),
+       /*2901*/ uint16(xCondPrefix), 1,
+       0x66, 2905,
+       /*2905*/ uint16(xSetOp), uint16(AESENC),
+       /*2907*/ uint16(xReadSlashR),
+       /*2908*/ uint16(xArgXmm1),
+       /*2909*/ uint16(xArgXmm2M128),
+       /*2910*/ uint16(xMatch),
+       /*2911*/ uint16(xCondPrefix), 1,
+       0x66, 2915,
+       /*2915*/ uint16(xSetOp), uint16(AESENCLAST),
+       /*2917*/ uint16(xReadSlashR),
+       /*2918*/ uint16(xArgXmm1),
+       /*2919*/ uint16(xArgXmm2M128),
+       /*2920*/ uint16(xMatch),
+       /*2921*/ uint16(xCondPrefix), 1,
+       0x66, 2925,
+       /*2925*/ uint16(xSetOp), uint16(AESDEC),
+       /*2927*/ uint16(xReadSlashR),
+       /*2928*/ uint16(xArgXmm1),
+       /*2929*/ uint16(xArgXmm2M128),
+       /*2930*/ uint16(xMatch),
+       /*2931*/ uint16(xCondPrefix), 1,
+       0x66, 2935,
+       /*2935*/ uint16(xSetOp), uint16(AESDECLAST),
+       /*2937*/ uint16(xReadSlashR),
+       /*2938*/ uint16(xArgXmm1),
+       /*2939*/ uint16(xArgXmm2M128),
+       /*2940*/ uint16(xMatch),
+       /*2941*/ uint16(xCondIs64), 2944, 2982,
+       /*2944*/ uint16(xCondPrefix), 2,
+       0xF2, 2966,
+       0x0, 2950,
+       /*2950*/ uint16(xCondDataSize), 2954, 2960, 0,
+       /*2954*/ uint16(xSetOp), uint16(MOVBE),
+       /*2956*/ uint16(xReadSlashR),
+       /*2957*/ uint16(xArgR16),
+       /*2958*/ uint16(xArgM16),
+       /*2959*/ uint16(xMatch),
+       /*2960*/ uint16(xSetOp), uint16(MOVBE),
+       /*2962*/ uint16(xReadSlashR),
+       /*2963*/ uint16(xArgR32),
+       /*2964*/ uint16(xArgM32),
+       /*2965*/ uint16(xMatch),
+       /*2966*/ uint16(xCondDataSize), 2970, 2976, 0,
+       /*2970*/ uint16(xSetOp), uint16(CRC32),
+       /*2972*/ uint16(xReadSlashR),
+       /*2973*/ uint16(xArgR32),
+       /*2974*/ uint16(xArgRM8),
+       /*2975*/ uint16(xMatch),
+       /*2976*/ uint16(xSetOp), uint16(CRC32),
+       /*2978*/ uint16(xReadSlashR),
+       /*2979*/ uint16(xArgR32),
+       /*2980*/ uint16(xArgRM8),
+       /*2981*/ uint16(xMatch),
+       /*2982*/ uint16(xCondPrefix), 2,
+       0xF2, 2998,
+       0x0, 2988,
+       /*2988*/ uint16(xCondDataSize), 2954, 2960, 2992,
+       /*2992*/ uint16(xSetOp), uint16(MOVBE),
+       /*2994*/ uint16(xReadSlashR),
+       /*2995*/ uint16(xArgR64),
+       /*2996*/ uint16(xArgM64),
+       /*2997*/ uint16(xMatch),
+       /*2998*/ uint16(xCondDataSize), 2970, 2976, 3002,
+       /*3002*/ uint16(xSetOp), uint16(CRC32),
+       /*3004*/ uint16(xReadSlashR),
+       /*3005*/ uint16(xArgR64),
+       /*3006*/ uint16(xArgRM8),
+       /*3007*/ uint16(xMatch),
+       /*3008*/ uint16(xCondIs64), 3011, 3049,
+       /*3011*/ uint16(xCondPrefix), 2,
+       0xF2, 3033,
+       0x0, 3017,
+       /*3017*/ uint16(xCondDataSize), 3021, 3027, 0,
+       /*3021*/ uint16(xSetOp), uint16(MOVBE),
+       /*3023*/ uint16(xReadSlashR),
+       /*3024*/ uint16(xArgM16),
+       /*3025*/ uint16(xArgR16),
+       /*3026*/ uint16(xMatch),
+       /*3027*/ uint16(xSetOp), uint16(MOVBE),
+       /*3029*/ uint16(xReadSlashR),
+       /*3030*/ uint16(xArgM32),
+       /*3031*/ uint16(xArgR32),
+       /*3032*/ uint16(xMatch),
+       /*3033*/ uint16(xCondDataSize), 3037, 3043, 0,
+       /*3037*/ uint16(xSetOp), uint16(CRC32),
+       /*3039*/ uint16(xReadSlashR),
+       /*3040*/ uint16(xArgR32),
+       /*3041*/ uint16(xArgRM16),
+       /*3042*/ uint16(xMatch),
+       /*3043*/ uint16(xSetOp), uint16(CRC32),
+       /*3045*/ uint16(xReadSlashR),
+       /*3046*/ uint16(xArgR32),
+       /*3047*/ uint16(xArgRM32),
+       /*3048*/ uint16(xMatch),
+       /*3049*/ uint16(xCondPrefix), 2,
+       0xF2, 3065,
+       0x0, 3055,
+       /*3055*/ uint16(xCondDataSize), 3021, 3027, 3059,
+       /*3059*/ uint16(xSetOp), uint16(MOVBE),
+       /*3061*/ uint16(xReadSlashR),
+       /*3062*/ uint16(xArgM64),
+       /*3063*/ uint16(xArgR64),
+       /*3064*/ uint16(xMatch),
+       /*3065*/ uint16(xCondDataSize), 3037, 3043, 3069,
+       /*3069*/ uint16(xSetOp), uint16(CRC32),
+       /*3071*/ uint16(xReadSlashR),
+       /*3072*/ uint16(xArgR64),
+       /*3073*/ uint16(xArgRM64),
+       /*3074*/ uint16(xMatch),
+       /*3075*/ uint16(xCondByte), 24,
+       0x08, 3126,
+       0x09, 3138,
+       0x0A, 3150,
+       0x0B, 3162,
+       0x0C, 3174,
+       0x0D, 3186,
+       0x0E, 3198,
+       0x0F, 3210,
+       0x14, 3232,
+       0x15, 3244,
+       0x16, 3256,
+       0x17, 3299,
+       0x20, 3311,
+       0x21, 3323,
+       0x22, 3335,
+       0x40, 3378,
+       0x41, 3390,
+       0x42, 3402,
+       0x44, 3414,
+       0x60, 3426,
+       0x61, 3438,
+       0x62, 3450,
+       0x63, 3462,
+       0xDF, 3474,
        uint16(xFail),
-       /*3124*/ uint16(xCondPrefix), 1,
-       0x66, 3128,
-       /*3128*/ uint16(xSetOp), uint16(ROUNDPS),
-       /*3130*/ uint16(xReadSlashR),
-       /*3131*/ uint16(xReadIb),
-       /*3132*/ uint16(xArgXmm1),
-       /*3133*/ uint16(xArgXmm2M128),
-       /*3134*/ uint16(xArgImm8u),
-       /*3135*/ uint16(xMatch),
-       /*3136*/ uint16(xCondPrefix), 1,
-       0x66, 3140,
-       /*3140*/ uint16(xSetOp), uint16(ROUNDPD),
-       /*3142*/ uint16(xReadSlashR),
-       /*3143*/ uint16(xReadIb),
-       /*3144*/ uint16(xArgXmm1),
-       /*3145*/ uint16(xArgXmm2M128),
-       /*3146*/ uint16(xArgImm8u),
-       /*3147*/ uint16(xMatch),
-       /*3148*/ uint16(xCondPrefix), 1,
-       0x66, 3152,
-       /*3152*/ uint16(xSetOp), uint16(ROUNDSS),
-       /*3154*/ uint16(xReadSlashR),
-       /*3155*/ uint16(xReadIb),
-       /*3156*/ uint16(xArgXmm1),
-       /*3157*/ uint16(xArgXmm2M32),
-       /*3158*/ uint16(xArgImm8u),
-       /*3159*/ uint16(xMatch),
-       /*3160*/ uint16(xCondPrefix), 1,
-       0x66, 3164,
-       /*3164*/ uint16(xSetOp), uint16(ROUNDSD),
-       /*3166*/ uint16(xReadSlashR),
-       /*3167*/ uint16(xReadIb),
-       /*3168*/ uint16(xArgXmm1),
-       /*3169*/ uint16(xArgXmm2M64),
-       /*3170*/ uint16(xArgImm8u),
-       /*3171*/ uint16(xMatch),
-       /*3172*/ uint16(xCondPrefix), 1,
-       0x66, 3176,
-       /*3176*/ uint16(xSetOp), uint16(BLENDPS),
-       /*3178*/ uint16(xReadSlashR),
-       /*3179*/ uint16(xReadIb),
-       /*3180*/ uint16(xArgXmm1),
-       /*3181*/ uint16(xArgXmm2M128),
-       /*3182*/ uint16(xArgImm8u),
-       /*3183*/ uint16(xMatch),
-       /*3184*/ uint16(xCondPrefix), 1,
-       0x66, 3188,
-       /*3188*/ uint16(xSetOp), uint16(BLENDPD),
-       /*3190*/ uint16(xReadSlashR),
-       /*3191*/ uint16(xReadIb),
-       /*3192*/ uint16(xArgXmm1),
-       /*3193*/ uint16(xArgXmm2M128),
-       /*3194*/ uint16(xArgImm8u),
-       /*3195*/ uint16(xMatch),
-       /*3196*/ uint16(xCondPrefix), 1,
-       0x66, 3200,
-       /*3200*/ uint16(xSetOp), uint16(PBLENDW),
-       /*3202*/ uint16(xReadSlashR),
-       /*3203*/ uint16(xReadIb),
-       /*3204*/ uint16(xArgXmm1),
-       /*3205*/ uint16(xArgXmm2M128),
-       /*3206*/ uint16(xArgImm8u),
-       /*3207*/ uint16(xMatch),
-       /*3208*/ uint16(xCondPrefix), 2,
-       0x66, 3222,
-       0x0, 3214,
-       /*3214*/ uint16(xSetOp), uint16(PALIGNR),
-       /*3216*/ uint16(xReadSlashR),
-       /*3217*/ uint16(xReadIb),
-       /*3218*/ uint16(xArgMm1),
-       /*3219*/ uint16(xArgMm2M64),
-       /*3220*/ uint16(xArgImm8u),
-       /*3221*/ uint16(xMatch),
-       /*3222*/ uint16(xSetOp), uint16(PALIGNR),
-       /*3224*/ uint16(xReadSlashR),
-       /*3225*/ uint16(xReadIb),
-       /*3226*/ uint16(xArgXmm1),
-       /*3227*/ uint16(xArgXmm2M128),
-       /*3228*/ uint16(xArgImm8u),
-       /*3229*/ uint16(xMatch),
-       /*3230*/ uint16(xCondPrefix), 1,
-       0x66, 3234,
-       /*3234*/ uint16(xSetOp), uint16(PEXTRB),
-       /*3236*/ uint16(xReadSlashR),
-       /*3237*/ uint16(xReadIb),
-       /*3238*/ uint16(xArgR32M8),
-       /*3239*/ uint16(xArgXmm1),
-       /*3240*/ uint16(xArgImm8u),
-       /*3241*/ uint16(xMatch),
-       /*3242*/ uint16(xCondPrefix), 1,
-       0x66, 3246,
-       /*3246*/ uint16(xSetOp), uint16(PEXTRW),
-       /*3248*/ uint16(xReadSlashR),
-       /*3249*/ uint16(xReadIb),
-       /*3250*/ uint16(xArgR32M16),
-       /*3251*/ uint16(xArgXmm1),
-       /*3252*/ uint16(xArgImm8u),
-       /*3253*/ uint16(xMatch),
-       /*3254*/ uint16(xCondIs64), 3257, 3281,
-       /*3257*/ uint16(xCondPrefix), 1,
-       0x66, 3261,
-       /*3261*/ uint16(xCondDataSize), 3265, 3273, 0,
-       /*3265*/ uint16(xSetOp), uint16(PEXTRD),
-       /*3267*/ uint16(xReadSlashR),
-       /*3268*/ uint16(xReadIb),
-       /*3269*/ uint16(xArgRM32),
-       /*3270*/ uint16(xArgXmm1),
-       /*3271*/ uint16(xArgImm8u),
-       /*3272*/ uint16(xMatch),
-       /*3273*/ uint16(xSetOp), uint16(PEXTRD),
-       /*3275*/ uint16(xReadSlashR),
-       /*3276*/ uint16(xReadIb),
-       /*3277*/ uint16(xArgRM32),
-       /*3278*/ uint16(xArgXmm1),
-       /*3279*/ uint16(xArgImm8u),
-       /*3280*/ uint16(xMatch),
-       /*3281*/ uint16(xCondPrefix), 1,
-       0x66, 3285,
-       /*3285*/ uint16(xCondDataSize), 3265, 3273, 3289,
-       /*3289*/ uint16(xSetOp), uint16(PEXTRQ),
-       /*3291*/ uint16(xReadSlashR),
-       /*3292*/ uint16(xReadIb),
-       /*3293*/ uint16(xArgRM64),
-       /*3294*/ uint16(xArgXmm1),
-       /*3295*/ uint16(xArgImm8u),
-       /*3296*/ uint16(xMatch),
-       /*3297*/ uint16(xCondPrefix), 1,
-       0x66, 3301,
-       /*3301*/ uint16(xSetOp), uint16(EXTRACTPS),
-       /*3303*/ uint16(xReadSlashR),
-       /*3304*/ uint16(xReadIb),
-       /*3305*/ uint16(xArgRM32),
-       /*3306*/ uint16(xArgXmm1),
-       /*3307*/ uint16(xArgImm8u),
-       /*3308*/ uint16(xMatch),
-       /*3309*/ uint16(xCondPrefix), 1,
-       0x66, 3313,
-       /*3313*/ uint16(xSetOp), uint16(PINSRB),
-       /*3315*/ uint16(xReadSlashR),
-       /*3316*/ uint16(xReadIb),
-       /*3317*/ uint16(xArgXmm1),
-       /*3318*/ uint16(xArgR32M8),
-       /*3319*/ uint16(xArgImm8u),
-       /*3320*/ uint16(xMatch),
-       /*3321*/ uint16(xCondPrefix), 1,
-       0x66, 3325,
-       /*3325*/ uint16(xSetOp), uint16(INSERTPS),
-       /*3327*/ uint16(xReadSlashR),
-       /*3328*/ uint16(xReadIb),
-       /*3329*/ uint16(xArgXmm1),
-       /*3330*/ uint16(xArgXmm2M32),
-       /*3331*/ uint16(xArgImm8u),
-       /*3332*/ uint16(xMatch),
-       /*3333*/ uint16(xCondIs64), 3336, 3360,
-       /*3336*/ uint16(xCondPrefix), 1,
-       0x66, 3340,
-       /*3340*/ uint16(xCondDataSize), 3344, 3352, 0,
-       /*3344*/ uint16(xSetOp), uint16(PINSRD),
-       /*3346*/ uint16(xReadSlashR),
-       /*3347*/ uint16(xReadIb),
-       /*3348*/ uint16(xArgXmm1),
-       /*3349*/ uint16(xArgRM32),
-       /*3350*/ uint16(xArgImm8u),
-       /*3351*/ uint16(xMatch),
-       /*3352*/ uint16(xSetOp), uint16(PINSRD),
-       /*3354*/ uint16(xReadSlashR),
-       /*3355*/ uint16(xReadIb),
-       /*3356*/ uint16(xArgXmm1),
-       /*3357*/ uint16(xArgRM32),
-       /*3358*/ uint16(xArgImm8u),
-       /*3359*/ uint16(xMatch),
-       /*3360*/ uint16(xCondPrefix), 1,
-       0x66, 3364,
-       /*3364*/ uint16(xCondDataSize), 3344, 3352, 3368,
-       /*3368*/ uint16(xSetOp), uint16(PINSRQ),
-       /*3370*/ uint16(xReadSlashR),
-       /*3371*/ uint16(xReadIb),
-       /*3372*/ uint16(xArgXmm1),
-       /*3373*/ uint16(xArgRM64),
-       /*3374*/ uint16(xArgImm8u),
-       /*3375*/ uint16(xMatch),
-       /*3376*/ uint16(xCondPrefix), 1,
-       0x66, 3380,
-       /*3380*/ uint16(xSetOp), uint16(DPPS),
-       /*3382*/ uint16(xReadSlashR),
-       /*3383*/ uint16(xReadIb),
-       /*3384*/ uint16(xArgXmm1),
-       /*3385*/ uint16(xArgXmm2M128),
-       /*3386*/ uint16(xArgImm8u),
-       /*3387*/ uint16(xMatch),
-       /*3388*/ uint16(xCondPrefix), 1,
-       0x66, 3392,
-       /*3392*/ uint16(xSetOp), uint16(DPPD),
-       /*3394*/ uint16(xReadSlashR),
-       /*3395*/ uint16(xReadIb),
-       /*3396*/ uint16(xArgXmm1),
-       /*3397*/ uint16(xArgXmm2M128),
-       /*3398*/ uint16(xArgImm8u),
-       /*3399*/ uint16(xMatch),
-       /*3400*/ uint16(xCondPrefix), 1,
-       0x66, 3404,
-       /*3404*/ uint16(xSetOp), uint16(MPSADBW),
-       /*3406*/ uint16(xReadSlashR),
-       /*3407*/ uint16(xReadIb),
-       /*3408*/ uint16(xArgXmm1),
-       /*3409*/ uint16(xArgXmm2M128),
-       /*3410*/ uint16(xArgImm8u),
-       /*3411*/ uint16(xMatch),
-       /*3412*/ uint16(xCondPrefix), 1,
-       0x66, 3416,
-       /*3416*/ uint16(xSetOp), uint16(PCLMULQDQ),
-       /*3418*/ uint16(xReadSlashR),
-       /*3419*/ uint16(xReadIb),
-       /*3420*/ uint16(xArgXmm1),
-       /*3421*/ uint16(xArgXmm2M128),
-       /*3422*/ uint16(xArgImm8u),
-       /*3423*/ uint16(xMatch),
-       /*3424*/ uint16(xCondPrefix), 1,
-       0x66, 3428,
-       /*3428*/ uint16(xSetOp), uint16(PCMPESTRM),
-       /*3430*/ uint16(xReadSlashR),
-       /*3431*/ uint16(xReadIb),
-       /*3432*/ uint16(xArgXmm1),
-       /*3433*/ uint16(xArgXmm2M128),
-       /*3434*/ uint16(xArgImm8u),
-       /*3435*/ uint16(xMatch),
-       /*3436*/ uint16(xCondPrefix), 1,
-       0x66, 3440,
-       /*3440*/ uint16(xSetOp), uint16(PCMPESTRI),
-       /*3442*/ uint16(xReadSlashR),
-       /*3443*/ uint16(xReadIb),
-       /*3444*/ uint16(xArgXmm1),
-       /*3445*/ uint16(xArgXmm2M128),
-       /*3446*/ uint16(xArgImm8u),
-       /*3447*/ uint16(xMatch),
-       /*3448*/ uint16(xCondPrefix), 1,
-       0x66, 3452,
-       /*3452*/ uint16(xSetOp), uint16(PCMPISTRM),
-       /*3454*/ uint16(xReadSlashR),
-       /*3455*/ uint16(xReadIb),
-       /*3456*/ uint16(xArgXmm1),
-       /*3457*/ uint16(xArgXmm2M128),
-       /*3458*/ uint16(xArgImm8u),
-       /*3459*/ uint16(xMatch),
-       /*3460*/ uint16(xCondPrefix), 1,
-       0x66, 3464,
-       /*3464*/ uint16(xSetOp), uint16(PCMPISTRI),
-       /*3466*/ uint16(xReadSlashR),
-       /*3467*/ uint16(xReadIb),
-       /*3468*/ uint16(xArgXmm1),
-       /*3469*/ uint16(xArgXmm2M128),
-       /*3470*/ uint16(xArgImm8u),
-       /*3471*/ uint16(xMatch),
-       /*3472*/ uint16(xCondPrefix), 1,
-       0x66, 3476,
-       /*3476*/ uint16(xSetOp), uint16(AESKEYGENASSIST),
-       /*3478*/ uint16(xReadSlashR),
-       /*3479*/ uint16(xReadIb),
-       /*3480*/ uint16(xArgXmm1),
-       /*3481*/ uint16(xArgXmm2M128),
-       /*3482*/ uint16(xArgImm8u),
-       /*3483*/ uint16(xMatch),
-       /*3484*/ uint16(xCondIs64), 3487, 3503,
-       /*3487*/ uint16(xCondDataSize), 3491, 3497, 0,
-       /*3491*/ uint16(xSetOp), uint16(CMOVO),
-       /*3493*/ uint16(xReadSlashR),
-       /*3494*/ uint16(xArgR16),
-       /*3495*/ uint16(xArgRM16),
-       /*3496*/ uint16(xMatch),
-       /*3497*/ uint16(xSetOp), uint16(CMOVO),
-       /*3499*/ uint16(xReadSlashR),
-       /*3500*/ uint16(xArgR32),
-       /*3501*/ uint16(xArgRM32),
-       /*3502*/ uint16(xMatch),
-       /*3503*/ uint16(xCondDataSize), 3491, 3497, 3507,
-       /*3507*/ uint16(xSetOp), uint16(CMOVO),
-       /*3509*/ uint16(xReadSlashR),
-       /*3510*/ uint16(xArgR64),
-       /*3511*/ uint16(xArgRM64),
-       /*3512*/ uint16(xMatch),
-       /*3513*/ uint16(xCondIs64), 3516, 3532,
-       /*3516*/ uint16(xCondDataSize), 3520, 3526, 0,
-       /*3520*/ uint16(xSetOp), uint16(CMOVNO),
-       /*3522*/ uint16(xReadSlashR),
-       /*3523*/ uint16(xArgR16),
-       /*3524*/ uint16(xArgRM16),
-       /*3525*/ uint16(xMatch),
-       /*3526*/ uint16(xSetOp), uint16(CMOVNO),
-       /*3528*/ uint16(xReadSlashR),
-       /*3529*/ uint16(xArgR32),
-       /*3530*/ uint16(xArgRM32),
-       /*3531*/ uint16(xMatch),
-       /*3532*/ uint16(xCondDataSize), 3520, 3526, 3536,
-       /*3536*/ uint16(xSetOp), uint16(CMOVNO),
-       /*3538*/ uint16(xReadSlashR),
-       /*3539*/ uint16(xArgR64),
-       /*3540*/ uint16(xArgRM64),
-       /*3541*/ uint16(xMatch),
-       /*3542*/ uint16(xCondIs64), 3545, 3561,
-       /*3545*/ uint16(xCondDataSize), 3549, 3555, 0,
-       /*3549*/ uint16(xSetOp), uint16(CMOVB),
-       /*3551*/ uint16(xReadSlashR),
-       /*3552*/ uint16(xArgR16),
-       /*3553*/ uint16(xArgRM16),
-       /*3554*/ uint16(xMatch),
-       /*3555*/ uint16(xSetOp), uint16(CMOVB),
-       /*3557*/ uint16(xReadSlashR),
-       /*3558*/ uint16(xArgR32),
-       /*3559*/ uint16(xArgRM32),
-       /*3560*/ uint16(xMatch),
-       /*3561*/ uint16(xCondDataSize), 3549, 3555, 3565,
-       /*3565*/ uint16(xSetOp), uint16(CMOVB),
-       /*3567*/ uint16(xReadSlashR),
-       /*3568*/ uint16(xArgR64),
-       /*3569*/ uint16(xArgRM64),
-       /*3570*/ uint16(xMatch),
-       /*3571*/ uint16(xCondIs64), 3574, 3590,
-       /*3574*/ uint16(xCondDataSize), 3578, 3584, 0,
-       /*3578*/ uint16(xSetOp), uint16(CMOVAE),
-       /*3580*/ uint16(xReadSlashR),
-       /*3581*/ uint16(xArgR16),
-       /*3582*/ uint16(xArgRM16),
-       /*3583*/ uint16(xMatch),
-       /*3584*/ uint16(xSetOp), uint16(CMOVAE),
-       /*3586*/ uint16(xReadSlashR),
-       /*3587*/ uint16(xArgR32),
-       /*3588*/ uint16(xArgRM32),
-       /*3589*/ uint16(xMatch),
-       /*3590*/ uint16(xCondDataSize), 3578, 3584, 3594,
-       /*3594*/ uint16(xSetOp), uint16(CMOVAE),
-       /*3596*/ uint16(xReadSlashR),
-       /*3597*/ uint16(xArgR64),
-       /*3598*/ uint16(xArgRM64),
-       /*3599*/ uint16(xMatch),
-       /*3600*/ uint16(xCondIs64), 3603, 3619,
-       /*3603*/ uint16(xCondDataSize), 3607, 3613, 0,
-       /*3607*/ uint16(xSetOp), uint16(CMOVE),
-       /*3609*/ uint16(xReadSlashR),
-       /*3610*/ uint16(xArgR16),
-       /*3611*/ uint16(xArgRM16),
-       /*3612*/ uint16(xMatch),
-       /*3613*/ uint16(xSetOp), uint16(CMOVE),
-       /*3615*/ uint16(xReadSlashR),
-       /*3616*/ uint16(xArgR32),
-       /*3617*/ uint16(xArgRM32),
-       /*3618*/ uint16(xMatch),
-       /*3619*/ uint16(xCondDataSize), 3607, 3613, 3623,
-       /*3623*/ uint16(xSetOp), uint16(CMOVE),
-       /*3625*/ uint16(xReadSlashR),
-       /*3626*/ uint16(xArgR64),
-       /*3627*/ uint16(xArgRM64),
-       /*3628*/ uint16(xMatch),
-       /*3629*/ uint16(xCondIs64), 3632, 3648,
-       /*3632*/ uint16(xCondDataSize), 3636, 3642, 0,
-       /*3636*/ uint16(xSetOp), uint16(CMOVNE),
-       /*3638*/ uint16(xReadSlashR),
-       /*3639*/ uint16(xArgR16),
-       /*3640*/ uint16(xArgRM16),
-       /*3641*/ uint16(xMatch),
-       /*3642*/ uint16(xSetOp), uint16(CMOVNE),
-       /*3644*/ uint16(xReadSlashR),
-       /*3645*/ uint16(xArgR32),
-       /*3646*/ uint16(xArgRM32),
-       /*3647*/ uint16(xMatch),
-       /*3648*/ uint16(xCondDataSize), 3636, 3642, 3652,
-       /*3652*/ uint16(xSetOp), uint16(CMOVNE),
-       /*3654*/ uint16(xReadSlashR),
-       /*3655*/ uint16(xArgR64),
-       /*3656*/ uint16(xArgRM64),
-       /*3657*/ uint16(xMatch),
-       /*3658*/ uint16(xCondIs64), 3661, 3677,
-       /*3661*/ uint16(xCondDataSize), 3665, 3671, 0,
-       /*3665*/ uint16(xSetOp), uint16(CMOVBE),
-       /*3667*/ uint16(xReadSlashR),
-       /*3668*/ uint16(xArgR16),
-       /*3669*/ uint16(xArgRM16),
-       /*3670*/ uint16(xMatch),
-       /*3671*/ uint16(xSetOp), uint16(CMOVBE),
-       /*3673*/ uint16(xReadSlashR),
-       /*3674*/ uint16(xArgR32),
-       /*3675*/ uint16(xArgRM32),
-       /*3676*/ uint16(xMatch),
-       /*3677*/ uint16(xCondDataSize), 3665, 3671, 3681,
-       /*3681*/ uint16(xSetOp), uint16(CMOVBE),
-       /*3683*/ uint16(xReadSlashR),
-       /*3684*/ uint16(xArgR64),
-       /*3685*/ uint16(xArgRM64),
-       /*3686*/ uint16(xMatch),
-       /*3687*/ uint16(xCondIs64), 3690, 3706,
-       /*3690*/ uint16(xCondDataSize), 3694, 3700, 0,
-       /*3694*/ uint16(xSetOp), uint16(CMOVA),
-       /*3696*/ uint16(xReadSlashR),
-       /*3697*/ uint16(xArgR16),
-       /*3698*/ uint16(xArgRM16),
-       /*3699*/ uint16(xMatch),
-       /*3700*/ uint16(xSetOp), uint16(CMOVA),
-       /*3702*/ uint16(xReadSlashR),
-       /*3703*/ uint16(xArgR32),
-       /*3704*/ uint16(xArgRM32),
-       /*3705*/ uint16(xMatch),
-       /*3706*/ uint16(xCondDataSize), 3694, 3700, 3710,
-       /*3710*/ uint16(xSetOp), uint16(CMOVA),
-       /*3712*/ uint16(xReadSlashR),
-       /*3713*/ uint16(xArgR64),
-       /*3714*/ uint16(xArgRM64),
-       /*3715*/ uint16(xMatch),
-       /*3716*/ uint16(xCondIs64), 3719, 3735,
-       /*3719*/ uint16(xCondDataSize), 3723, 3729, 0,
-       /*3723*/ uint16(xSetOp), uint16(CMOVS),
-       /*3725*/ uint16(xReadSlashR),
-       /*3726*/ uint16(xArgR16),
-       /*3727*/ uint16(xArgRM16),
-       /*3728*/ uint16(xMatch),
-       /*3729*/ uint16(xSetOp), uint16(CMOVS),
-       /*3731*/ uint16(xReadSlashR),
-       /*3732*/ uint16(xArgR32),
-       /*3733*/ uint16(xArgRM32),
-       /*3734*/ uint16(xMatch),
-       /*3735*/ uint16(xCondDataSize), 3723, 3729, 3739,
-       /*3739*/ uint16(xSetOp), uint16(CMOVS),
-       /*3741*/ uint16(xReadSlashR),
-       /*3742*/ uint16(xArgR64),
-       /*3743*/ uint16(xArgRM64),
-       /*3744*/ uint16(xMatch),
-       /*3745*/ uint16(xCondIs64), 3748, 3764,
-       /*3748*/ uint16(xCondDataSize), 3752, 3758, 0,
-       /*3752*/ uint16(xSetOp), uint16(CMOVNS),
-       /*3754*/ uint16(xReadSlashR),
-       /*3755*/ uint16(xArgR16),
-       /*3756*/ uint16(xArgRM16),
-       /*3757*/ uint16(xMatch),
-       /*3758*/ uint16(xSetOp), uint16(CMOVNS),
-       /*3760*/ uint16(xReadSlashR),
-       /*3761*/ uint16(xArgR32),
-       /*3762*/ uint16(xArgRM32),
-       /*3763*/ uint16(xMatch),
-       /*3764*/ uint16(xCondDataSize), 3752, 3758, 3768,
-       /*3768*/ uint16(xSetOp), uint16(CMOVNS),
-       /*3770*/ uint16(xReadSlashR),
-       /*3771*/ uint16(xArgR64),
-       /*3772*/ uint16(xArgRM64),
-       /*3773*/ uint16(xMatch),
-       /*3774*/ uint16(xCondIs64), 3777, 3793,
-       /*3777*/ uint16(xCondDataSize), 3781, 3787, 0,
-       /*3781*/ uint16(xSetOp), uint16(CMOVP),
-       /*3783*/ uint16(xReadSlashR),
-       /*3784*/ uint16(xArgR16),
-       /*3785*/ uint16(xArgRM16),
-       /*3786*/ uint16(xMatch),
-       /*3787*/ uint16(xSetOp), uint16(CMOVP),
-       /*3789*/ uint16(xReadSlashR),
-       /*3790*/ uint16(xArgR32),
-       /*3791*/ uint16(xArgRM32),
-       /*3792*/ uint16(xMatch),
-       /*3793*/ uint16(xCondDataSize), 3781, 3787, 3797,
-       /*3797*/ uint16(xSetOp), uint16(CMOVP),
-       /*3799*/ uint16(xReadSlashR),
-       /*3800*/ uint16(xArgR64),
-       /*3801*/ uint16(xArgRM64),
-       /*3802*/ uint16(xMatch),
-       /*3803*/ uint16(xCondIs64), 3806, 3822,
-       /*3806*/ uint16(xCondDataSize), 3810, 3816, 0,
-       /*3810*/ uint16(xSetOp), uint16(CMOVNP),
-       /*3812*/ uint16(xReadSlashR),
-       /*3813*/ uint16(xArgR16),
-       /*3814*/ uint16(xArgRM16),
-       /*3815*/ uint16(xMatch),
-       /*3816*/ uint16(xSetOp), uint16(CMOVNP),
-       /*3818*/ uint16(xReadSlashR),
-       /*3819*/ uint16(xArgR32),
-       /*3820*/ uint16(xArgRM32),
-       /*3821*/ uint16(xMatch),
-       /*3822*/ uint16(xCondDataSize), 3810, 3816, 3826,
-       /*3826*/ uint16(xSetOp), uint16(CMOVNP),
-       /*3828*/ uint16(xReadSlashR),
-       /*3829*/ uint16(xArgR64),
-       /*3830*/ uint16(xArgRM64),
-       /*3831*/ uint16(xMatch),
-       /*3832*/ uint16(xCondIs64), 3835, 3851,
-       /*3835*/ uint16(xCondDataSize), 3839, 3845, 0,
-       /*3839*/ uint16(xSetOp), uint16(CMOVL),
-       /*3841*/ uint16(xReadSlashR),
-       /*3842*/ uint16(xArgR16),
-       /*3843*/ uint16(xArgRM16),
-       /*3844*/ uint16(xMatch),
-       /*3845*/ uint16(xSetOp), uint16(CMOVL),
-       /*3847*/ uint16(xReadSlashR),
-       /*3848*/ uint16(xArgR32),
-       /*3849*/ uint16(xArgRM32),
-       /*3850*/ uint16(xMatch),
-       /*3851*/ uint16(xCondDataSize), 3839, 3845, 3855,
-       /*3855*/ uint16(xSetOp), uint16(CMOVL),
-       /*3857*/ uint16(xReadSlashR),
-       /*3858*/ uint16(xArgR64),
-       /*3859*/ uint16(xArgRM64),
-       /*3860*/ uint16(xMatch),
-       /*3861*/ uint16(xCondIs64), 3864, 3880,
-       /*3864*/ uint16(xCondDataSize), 3868, 3874, 0,
-       /*3868*/ uint16(xSetOp), uint16(CMOVGE),
-       /*3870*/ uint16(xReadSlashR),
-       /*3871*/ uint16(xArgR16),
-       /*3872*/ uint16(xArgRM16),
-       /*3873*/ uint16(xMatch),
-       /*3874*/ uint16(xSetOp), uint16(CMOVGE),
-       /*3876*/ uint16(xReadSlashR),
-       /*3877*/ uint16(xArgR32),
-       /*3878*/ uint16(xArgRM32),
-       /*3879*/ uint16(xMatch),
-       /*3880*/ uint16(xCondDataSize), 3868, 3874, 3884,
-       /*3884*/ uint16(xSetOp), uint16(CMOVGE),
-       /*3886*/ uint16(xReadSlashR),
-       /*3887*/ uint16(xArgR64),
-       /*3888*/ uint16(xArgRM64),
-       /*3889*/ uint16(xMatch),
-       /*3890*/ uint16(xCondIs64), 3893, 3909,
-       /*3893*/ uint16(xCondDataSize), 3897, 3903, 0,
-       /*3897*/ uint16(xSetOp), uint16(CMOVLE),
-       /*3899*/ uint16(xReadSlashR),
-       /*3900*/ uint16(xArgR16),
-       /*3901*/ uint16(xArgRM16),
-       /*3902*/ uint16(xMatch),
-       /*3903*/ uint16(xSetOp), uint16(CMOVLE),
-       /*3905*/ uint16(xReadSlashR),
-       /*3906*/ uint16(xArgR32),
-       /*3907*/ uint16(xArgRM32),
-       /*3908*/ uint16(xMatch),
-       /*3909*/ uint16(xCondDataSize), 3897, 3903, 3913,
-       /*3913*/ uint16(xSetOp), uint16(CMOVLE),
-       /*3915*/ uint16(xReadSlashR),
-       /*3916*/ uint16(xArgR64),
-       /*3917*/ uint16(xArgRM64),
-       /*3918*/ uint16(xMatch),
-       /*3919*/ uint16(xCondIs64), 3922, 3938,
-       /*3922*/ uint16(xCondDataSize), 3926, 3932, 0,
-       /*3926*/ uint16(xSetOp), uint16(CMOVG),
-       /*3928*/ uint16(xReadSlashR),
-       /*3929*/ uint16(xArgR16),
-       /*3930*/ uint16(xArgRM16),
-       /*3931*/ uint16(xMatch),
-       /*3932*/ uint16(xSetOp), uint16(CMOVG),
-       /*3934*/ uint16(xReadSlashR),
-       /*3935*/ uint16(xArgR32),
-       /*3936*/ uint16(xArgRM32),
-       /*3937*/ uint16(xMatch),
-       /*3938*/ uint16(xCondDataSize), 3926, 3932, 3942,
-       /*3942*/ uint16(xSetOp), uint16(CMOVG),
-       /*3944*/ uint16(xReadSlashR),
-       /*3945*/ uint16(xArgR64),
-       /*3946*/ uint16(xArgRM64),
-       /*3947*/ uint16(xMatch),
-       /*3948*/ uint16(xCondPrefix), 2,
-       0x66, 3960,
-       0x0, 3954,
-       /*3954*/ uint16(xSetOp), uint16(MOVMSKPS),
-       /*3956*/ uint16(xReadSlashR),
-       /*3957*/ uint16(xArgR32),
-       /*3958*/ uint16(xArgXmm2),
-       /*3959*/ uint16(xMatch),
-       /*3960*/ uint16(xSetOp), uint16(MOVMSKPD),
-       /*3962*/ uint16(xReadSlashR),
-       /*3963*/ uint16(xArgR32),
-       /*3964*/ uint16(xArgXmm2),
-       /*3965*/ uint16(xMatch),
-       /*3966*/ uint16(xCondPrefix), 4,
-       0xF3, 3994,
-       0xF2, 3988,
-       0x66, 3982,
-       0x0, 3976,
-       /*3976*/ uint16(xSetOp), uint16(SQRTPS),
-       /*3978*/ uint16(xReadSlashR),
-       /*3979*/ uint16(xArgXmm1),
-       /*3980*/ uint16(xArgXmm2M128),
-       /*3981*/ uint16(xMatch),
-       /*3982*/ uint16(xSetOp), uint16(SQRTPD),
-       /*3984*/ uint16(xReadSlashR),
-       /*3985*/ uint16(xArgXmm1),
-       /*3986*/ uint16(xArgXmm2M128),
-       /*3987*/ uint16(xMatch),
-       /*3988*/ uint16(xSetOp), uint16(SQRTSD),
-       /*3990*/ uint16(xReadSlashR),
-       /*3991*/ uint16(xArgXmm1),
-       /*3992*/ uint16(xArgXmm2M64),
-       /*3993*/ uint16(xMatch),
-       /*3994*/ uint16(xSetOp), uint16(SQRTSS),
-       /*3996*/ uint16(xReadSlashR),
-       /*3997*/ uint16(xArgXmm1),
-       /*3998*/ uint16(xArgXmm2M32),
-       /*3999*/ uint16(xMatch),
-       /*4000*/ uint16(xCondPrefix), 2,
-       0xF3, 4012,
-       0x0, 4006,
-       /*4006*/ uint16(xSetOp), uint16(RSQRTPS),
-       /*4008*/ uint16(xReadSlashR),
-       /*4009*/ uint16(xArgXmm1),
-       /*4010*/ uint16(xArgXmm2M128),
-       /*4011*/ uint16(xMatch),
-       /*4012*/ uint16(xSetOp), uint16(RSQRTSS),
-       /*4014*/ uint16(xReadSlashR),
-       /*4015*/ uint16(xArgXmm1),
-       /*4016*/ uint16(xArgXmm2M32),
-       /*4017*/ uint16(xMatch),
-       /*4018*/ uint16(xCondPrefix), 2,
-       0xF3, 4030,
-       0x0, 4024,
-       /*4024*/ uint16(xSetOp), uint16(RCPPS),
-       /*4026*/ uint16(xReadSlashR),
-       /*4027*/ uint16(xArgXmm1),
-       /*4028*/ uint16(xArgXmm2M128),
-       /*4029*/ uint16(xMatch),
-       /*4030*/ uint16(xSetOp), uint16(RCPSS),
-       /*4032*/ uint16(xReadSlashR),
-       /*4033*/ uint16(xArgXmm1),
-       /*4034*/ uint16(xArgXmm2M32),
-       /*4035*/ uint16(xMatch),
-       /*4036*/ uint16(xCondPrefix), 2,
-       0x66, 4048,
-       0x0, 4042,
-       /*4042*/ uint16(xSetOp), uint16(ANDPS),
-       /*4044*/ uint16(xReadSlashR),
-       /*4045*/ uint16(xArgXmm1),
-       /*4046*/ uint16(xArgXmm2M128),
-       /*4047*/ uint16(xMatch),
-       /*4048*/ uint16(xSetOp), uint16(ANDPD),
-       /*4050*/ uint16(xReadSlashR),
-       /*4051*/ uint16(xArgXmm1),
-       /*4052*/ uint16(xArgXmm2M128),
-       /*4053*/ uint16(xMatch),
-       /*4054*/ uint16(xCondPrefix), 2,
-       0x66, 4066,
-       0x0, 4060,
-       /*4060*/ uint16(xSetOp), uint16(ANDNPS),
-       /*4062*/ uint16(xReadSlashR),
-       /*4063*/ uint16(xArgXmm1),
-       /*4064*/ uint16(xArgXmm2M128),
-       /*4065*/ uint16(xMatch),
-       /*4066*/ uint16(xSetOp), uint16(ANDNPD),
-       /*4068*/ uint16(xReadSlashR),
-       /*4069*/ uint16(xArgXmm1),
-       /*4070*/ uint16(xArgXmm2M128),
-       /*4071*/ uint16(xMatch),
-       /*4072*/ uint16(xCondPrefix), 2,
-       0x66, 4084,
-       0x0, 4078,
-       /*4078*/ uint16(xSetOp), uint16(ORPS),
-       /*4080*/ uint16(xReadSlashR),
-       /*4081*/ uint16(xArgXmm1),
-       /*4082*/ uint16(xArgXmm2M128),
-       /*4083*/ uint16(xMatch),
-       /*4084*/ uint16(xSetOp), uint16(ORPD),
-       /*4086*/ uint16(xReadSlashR),
-       /*4087*/ uint16(xArgXmm1),
-       /*4088*/ uint16(xArgXmm2M128),
-       /*4089*/ uint16(xMatch),
-       /*4090*/ uint16(xCondPrefix), 2,
-       0x66, 4102,
-       0x0, 4096,
-       /*4096*/ uint16(xSetOp), uint16(XORPS),
-       /*4098*/ uint16(xReadSlashR),
-       /*4099*/ uint16(xArgXmm1),
-       /*4100*/ uint16(xArgXmm2M128),
-       /*4101*/ uint16(xMatch),
-       /*4102*/ uint16(xSetOp), uint16(XORPD),
-       /*4104*/ uint16(xReadSlashR),
-       /*4105*/ uint16(xArgXmm1),
-       /*4106*/ uint16(xArgXmm2M128),
-       /*4107*/ uint16(xMatch),
-       /*4108*/ uint16(xCondPrefix), 4,
-       0xF3, 4136,
-       0xF2, 4130,
-       0x66, 4124,
-       0x0, 4118,
-       /*4118*/ uint16(xSetOp), uint16(ADDPS),
-       /*4120*/ uint16(xReadSlashR),
-       /*4121*/ uint16(xArgXmm1),
-       /*4122*/ uint16(xArgXmm2M128),
-       /*4123*/ uint16(xMatch),
-       /*4124*/ uint16(xSetOp), uint16(ADDPD),
-       /*4126*/ uint16(xReadSlashR),
-       /*4127*/ uint16(xArgXmm1),
-       /*4128*/ uint16(xArgXmm2M128),
-       /*4129*/ uint16(xMatch),
-       /*4130*/ uint16(xSetOp), uint16(ADDSD),
-       /*4132*/ uint16(xReadSlashR),
-       /*4133*/ uint16(xArgXmm1),
-       /*4134*/ uint16(xArgXmm2M64),
-       /*4135*/ uint16(xMatch),
-       /*4136*/ uint16(xSetOp), uint16(ADDSS),
-       /*4138*/ uint16(xReadSlashR),
-       /*4139*/ uint16(xArgXmm1),
-       /*4140*/ uint16(xArgXmm2M32),
-       /*4141*/ uint16(xMatch),
-       /*4142*/ uint16(xCondPrefix), 4,
-       0xF3, 4170,
-       0xF2, 4164,
-       0x66, 4158,
-       0x0, 4152,
-       /*4152*/ uint16(xSetOp), uint16(MULPS),
-       /*4154*/ uint16(xReadSlashR),
-       /*4155*/ uint16(xArgXmm1),
-       /*4156*/ uint16(xArgXmm2M128),
-       /*4157*/ uint16(xMatch),
-       /*4158*/ uint16(xSetOp), uint16(MULPD),
-       /*4160*/ uint16(xReadSlashR),
-       /*4161*/ uint16(xArgXmm1),
-       /*4162*/ uint16(xArgXmm2M128),
-       /*4163*/ uint16(xMatch),
-       /*4164*/ uint16(xSetOp), uint16(MULSD),
-       /*4166*/ uint16(xReadSlashR),
-       /*4167*/ uint16(xArgXmm1),
-       /*4168*/ uint16(xArgXmm2M64),
-       /*4169*/ uint16(xMatch),
-       /*4170*/ uint16(xSetOp), uint16(MULSS),
-       /*4172*/ uint16(xReadSlashR),
-       /*4173*/ uint16(xArgXmm1),
-       /*4174*/ uint16(xArgXmm2M32),
-       /*4175*/ uint16(xMatch),
-       /*4176*/ uint16(xCondPrefix), 4,
-       0xF3, 4204,
-       0xF2, 4198,
-       0x66, 4192,
-       0x0, 4186,
-       /*4186*/ uint16(xSetOp), uint16(CVTPS2PD),
-       /*4188*/ uint16(xReadSlashR),
-       /*4189*/ uint16(xArgXmm1),
-       /*4190*/ uint16(xArgXmm2M64),
-       /*4191*/ uint16(xMatch),
-       /*4192*/ uint16(xSetOp), uint16(CVTPD2PS),
-       /*4194*/ uint16(xReadSlashR),
-       /*4195*/ uint16(xArgXmm1),
-       /*4196*/ uint16(xArgXmm2M128),
-       /*4197*/ uint16(xMatch),
-       /*4198*/ uint16(xSetOp), uint16(CVTSD2SS),
-       /*4200*/ uint16(xReadSlashR),
-       /*4201*/ uint16(xArgXmm1),
-       /*4202*/ uint16(xArgXmm2M64),
-       /*4203*/ uint16(xMatch),
-       /*4204*/ uint16(xSetOp), uint16(CVTSS2SD),
-       /*4206*/ uint16(xReadSlashR),
-       /*4207*/ uint16(xArgXmm1),
-       /*4208*/ uint16(xArgXmm2M32),
-       /*4209*/ uint16(xMatch),
-       /*4210*/ uint16(xCondPrefix), 3,
-       0xF3, 4230,
-       0x66, 4224,
-       0x0, 4218,
-       /*4218*/ uint16(xSetOp), uint16(CVTDQ2PS),
-       /*4220*/ uint16(xReadSlashR),
-       /*4221*/ uint16(xArgXmm1),
-       /*4222*/ uint16(xArgXmm2M128),
-       /*4223*/ uint16(xMatch),
-       /*4224*/ uint16(xSetOp), uint16(CVTPS2DQ),
-       /*4226*/ uint16(xReadSlashR),
-       /*4227*/ uint16(xArgXmm1),
-       /*4228*/ uint16(xArgXmm2M128),
-       /*4229*/ uint16(xMatch),
-       /*4230*/ uint16(xSetOp), uint16(CVTTPS2DQ),
-       /*4232*/ uint16(xReadSlashR),
-       /*4233*/ uint16(xArgXmm1),
-       /*4234*/ uint16(xArgXmm2M128),
-       /*4235*/ uint16(xMatch),
-       /*4236*/ uint16(xCondPrefix), 4,
-       0xF3, 4264,
-       0xF2, 4258,
-       0x66, 4252,
-       0x0, 4246,
-       /*4246*/ uint16(xSetOp), uint16(SUBPS),
-       /*4248*/ uint16(xReadSlashR),
-       /*4249*/ uint16(xArgXmm1),
-       /*4250*/ uint16(xArgXmm2M128),
-       /*4251*/ uint16(xMatch),
-       /*4252*/ uint16(xSetOp), uint16(SUBPD),
-       /*4254*/ uint16(xReadSlashR),
-       /*4255*/ uint16(xArgXmm1),
-       /*4256*/ uint16(xArgXmm2M128),
-       /*4257*/ uint16(xMatch),
-       /*4258*/ uint16(xSetOp), uint16(SUBSD),
-       /*4260*/ uint16(xReadSlashR),
-       /*4261*/ uint16(xArgXmm1),
-       /*4262*/ uint16(xArgXmm2M64),
-       /*4263*/ uint16(xMatch),
-       /*4264*/ uint16(xSetOp), uint16(SUBSS),
-       /*4266*/ uint16(xReadSlashR),
-       /*4267*/ uint16(xArgXmm1),
-       /*4268*/ uint16(xArgXmm2M32),
-       /*4269*/ uint16(xMatch),
-       /*4270*/ uint16(xCondPrefix), 4,
-       0xF3, 4298,
-       0xF2, 4292,
-       0x66, 4286,
-       0x0, 4280,
-       /*4280*/ uint16(xSetOp), uint16(MINPS),
-       /*4282*/ uint16(xReadSlashR),
-       /*4283*/ uint16(xArgXmm1),
-       /*4284*/ uint16(xArgXmm2M128),
-       /*4285*/ uint16(xMatch),
-       /*4286*/ uint16(xSetOp), uint16(MINPD),
-       /*4288*/ uint16(xReadSlashR),
-       /*4289*/ uint16(xArgXmm1),
-       /*4290*/ uint16(xArgXmm2M128),
-       /*4291*/ uint16(xMatch),
-       /*4292*/ uint16(xSetOp), uint16(MINSD),
-       /*4294*/ uint16(xReadSlashR),
-       /*4295*/ uint16(xArgXmm1),
-       /*4296*/ uint16(xArgXmm2M64),
-       /*4297*/ uint16(xMatch),
-       /*4298*/ uint16(xSetOp), uint16(MINSS),
-       /*4300*/ uint16(xReadSlashR),
-       /*4301*/ uint16(xArgXmm1),
-       /*4302*/ uint16(xArgXmm2M32),
-       /*4303*/ uint16(xMatch),
-       /*4304*/ uint16(xCondPrefix), 4,
-       0xF3, 4332,
-       0xF2, 4326,
-       0x66, 4320,
-       0x0, 4314,
-       /*4314*/ uint16(xSetOp), uint16(DIVPS),
-       /*4316*/ uint16(xReadSlashR),
-       /*4317*/ uint16(xArgXmm1),
-       /*4318*/ uint16(xArgXmm2M128),
-       /*4319*/ uint16(xMatch),
-       /*4320*/ uint16(xSetOp), uint16(DIVPD),
-       /*4322*/ uint16(xReadSlashR),
-       /*4323*/ uint16(xArgXmm1),
-       /*4324*/ uint16(xArgXmm2M128),
-       /*4325*/ uint16(xMatch),
-       /*4326*/ uint16(xSetOp), uint16(DIVSD),
-       /*4328*/ uint16(xReadSlashR),
-       /*4329*/ uint16(xArgXmm1),
-       /*4330*/ uint16(xArgXmm2M64),
-       /*4331*/ uint16(xMatch),
-       /*4332*/ uint16(xSetOp), uint16(DIVSS),
-       /*4334*/ uint16(xReadSlashR),
-       /*4335*/ uint16(xArgXmm1),
-       /*4336*/ uint16(xArgXmm2M32),
-       /*4337*/ uint16(xMatch),
-       /*4338*/ uint16(xCondPrefix), 4,
-       0xF3, 4366,
-       0xF2, 4360,
-       0x66, 4354,
-       0x0, 4348,
-       /*4348*/ uint16(xSetOp), uint16(MAXPS),
-       /*4350*/ uint16(xReadSlashR),
-       /*4351*/ uint16(xArgXmm1),
-       /*4352*/ uint16(xArgXmm2M128),
-       /*4353*/ uint16(xMatch),
-       /*4354*/ uint16(xSetOp), uint16(MAXPD),
-       /*4356*/ uint16(xReadSlashR),
-       /*4357*/ uint16(xArgXmm1),
-       /*4358*/ uint16(xArgXmm2M128),
-       /*4359*/ uint16(xMatch),
-       /*4360*/ uint16(xSetOp), uint16(MAXSD),
-       /*4362*/ uint16(xReadSlashR),
-       /*4363*/ uint16(xArgXmm1),
-       /*4364*/ uint16(xArgXmm2M64),
-       /*4365*/ uint16(xMatch),
-       /*4366*/ uint16(xSetOp), uint16(MAXSS),
-       /*4368*/ uint16(xReadSlashR),
-       /*4369*/ uint16(xArgXmm1),
-       /*4370*/ uint16(xArgXmm2M32),
-       /*4371*/ uint16(xMatch),
-       /*4372*/ uint16(xCondPrefix), 2,
-       0x66, 4384,
-       0x0, 4378,
-       /*4378*/ uint16(xSetOp), uint16(PUNPCKLBW),
-       /*4380*/ uint16(xReadSlashR),
-       /*4381*/ uint16(xArgMm),
-       /*4382*/ uint16(xArgMmM32),
-       /*4383*/ uint16(xMatch),
-       /*4384*/ uint16(xSetOp), uint16(PUNPCKLBW),
-       /*4386*/ uint16(xReadSlashR),
-       /*4387*/ uint16(xArgXmm1),
-       /*4388*/ uint16(xArgXmm2M128),
-       /*4389*/ uint16(xMatch),
-       /*4390*/ uint16(xCondPrefix), 2,
-       0x66, 4402,
-       0x0, 4396,
-       /*4396*/ uint16(xSetOp), uint16(PUNPCKLWD),
-       /*4398*/ uint16(xReadSlashR),
-       /*4399*/ uint16(xArgMm),
-       /*4400*/ uint16(xArgMmM32),
-       /*4401*/ uint16(xMatch),
-       /*4402*/ uint16(xSetOp), uint16(PUNPCKLWD),
-       /*4404*/ uint16(xReadSlashR),
-       /*4405*/ uint16(xArgXmm1),
-       /*4406*/ uint16(xArgXmm2M128),
-       /*4407*/ uint16(xMatch),
-       /*4408*/ uint16(xCondPrefix), 2,
-       0x66, 4420,
-       0x0, 4414,
-       /*4414*/ uint16(xSetOp), uint16(PUNPCKLDQ),
-       /*4416*/ uint16(xReadSlashR),
-       /*4417*/ uint16(xArgMm),
-       /*4418*/ uint16(xArgMmM32),
-       /*4419*/ uint16(xMatch),
-       /*4420*/ uint16(xSetOp), uint16(PUNPCKLDQ),
-       /*4422*/ uint16(xReadSlashR),
-       /*4423*/ uint16(xArgXmm1),
-       /*4424*/ uint16(xArgXmm2M128),
-       /*4425*/ uint16(xMatch),
-       /*4426*/ uint16(xCondPrefix), 2,
-       0x66, 4438,
-       0x0, 4432,
-       /*4432*/ uint16(xSetOp), uint16(PACKSSWB),
-       /*4434*/ uint16(xReadSlashR),
-       /*4435*/ uint16(xArgMm1),
-       /*4436*/ uint16(xArgMm2M64),
-       /*4437*/ uint16(xMatch),
-       /*4438*/ uint16(xSetOp), uint16(PACKSSWB),
-       /*4440*/ uint16(xReadSlashR),
-       /*4441*/ uint16(xArgXmm1),
-       /*4442*/ uint16(xArgXmm2M128),
-       /*4443*/ uint16(xMatch),
-       /*4444*/ uint16(xCondPrefix), 2,
-       0x66, 4456,
-       0x0, 4450,
-       /*4450*/ uint16(xSetOp), uint16(PCMPGTB),
-       /*4452*/ uint16(xReadSlashR),
-       /*4453*/ uint16(xArgMm),
-       /*4454*/ uint16(xArgMmM64),
-       /*4455*/ uint16(xMatch),
-       /*4456*/ uint16(xSetOp), uint16(PCMPGTB),
-       /*4458*/ uint16(xReadSlashR),
-       /*4459*/ uint16(xArgXmm1),
-       /*4460*/ uint16(xArgXmm2M128),
-       /*4461*/ uint16(xMatch),
-       /*4462*/ uint16(xCondPrefix), 2,
-       0x66, 4474,
-       0x0, 4468,
-       /*4468*/ uint16(xSetOp), uint16(PCMPGTW),
-       /*4470*/ uint16(xReadSlashR),
-       /*4471*/ uint16(xArgMm),
-       /*4472*/ uint16(xArgMmM64),
-       /*4473*/ uint16(xMatch),
-       /*4474*/ uint16(xSetOp), uint16(PCMPGTW),
-       /*4476*/ uint16(xReadSlashR),
-       /*4477*/ uint16(xArgXmm1),
-       /*4478*/ uint16(xArgXmm2M128),
-       /*4479*/ uint16(xMatch),
-       /*4480*/ uint16(xCondPrefix), 2,
-       0x66, 4492,
-       0x0, 4486,
-       /*4486*/ uint16(xSetOp), uint16(PCMPGTD),
-       /*4488*/ uint16(xReadSlashR),
-       /*4489*/ uint16(xArgMm),
-       /*4490*/ uint16(xArgMmM64),
-       /*4491*/ uint16(xMatch),
-       /*4492*/ uint16(xSetOp), uint16(PCMPGTD),
-       /*4494*/ uint16(xReadSlashR),
-       /*4495*/ uint16(xArgXmm1),
-       /*4496*/ uint16(xArgXmm2M128),
-       /*4497*/ uint16(xMatch),
-       /*4498*/ uint16(xCondPrefix), 2,
-       0x66, 4510,
-       0x0, 4504,
-       /*4504*/ uint16(xSetOp), uint16(PACKUSWB),
-       /*4506*/ uint16(xReadSlashR),
-       /*4507*/ uint16(xArgMm),
-       /*4508*/ uint16(xArgMmM64),
-       /*4509*/ uint16(xMatch),
-       /*4510*/ uint16(xSetOp), uint16(PACKUSWB),
-       /*4512*/ uint16(xReadSlashR),
-       /*4513*/ uint16(xArgXmm1),
-       /*4514*/ uint16(xArgXmm2M128),
-       /*4515*/ uint16(xMatch),
-       /*4516*/ uint16(xCondPrefix), 2,
-       0x66, 4528,
-       0x0, 4522,
-       /*4522*/ uint16(xSetOp), uint16(PUNPCKHBW),
-       /*4524*/ uint16(xReadSlashR),
-       /*4525*/ uint16(xArgMm),
-       /*4526*/ uint16(xArgMmM64),
-       /*4527*/ uint16(xMatch),
-       /*4528*/ uint16(xSetOp), uint16(PUNPCKHBW),
-       /*4530*/ uint16(xReadSlashR),
-       /*4531*/ uint16(xArgXmm1),
-       /*4532*/ uint16(xArgXmm2M128),
-       /*4533*/ uint16(xMatch),
-       /*4534*/ uint16(xCondPrefix), 2,
-       0x66, 4546,
-       0x0, 4540,
-       /*4540*/ uint16(xSetOp), uint16(PUNPCKHWD),
-       /*4542*/ uint16(xReadSlashR),
-       /*4543*/ uint16(xArgMm),
-       /*4544*/ uint16(xArgMmM64),
-       /*4545*/ uint16(xMatch),
-       /*4546*/ uint16(xSetOp), uint16(PUNPCKHWD),
-       /*4548*/ uint16(xReadSlashR),
-       /*4549*/ uint16(xArgXmm1),
-       /*4550*/ uint16(xArgXmm2M128),
-       /*4551*/ uint16(xMatch),
-       /*4552*/ uint16(xCondPrefix), 2,
-       0x66, 4564,
-       0x0, 4558,
-       /*4558*/ uint16(xSetOp), uint16(PUNPCKHDQ),
-       /*4560*/ uint16(xReadSlashR),
-       /*4561*/ uint16(xArgMm),
-       /*4562*/ uint16(xArgMmM64),
-       /*4563*/ uint16(xMatch),
-       /*4564*/ uint16(xSetOp), uint16(PUNPCKHDQ),
-       /*4566*/ uint16(xReadSlashR),
-       /*4567*/ uint16(xArgXmm1),
-       /*4568*/ uint16(xArgXmm2M128),
-       /*4569*/ uint16(xMatch),
-       /*4570*/ uint16(xCondPrefix), 2,
-       0x66, 4582,
-       0x0, 4576,
-       /*4576*/ uint16(xSetOp), uint16(PACKSSDW),
-       /*4578*/ uint16(xReadSlashR),
-       /*4579*/ uint16(xArgMm1),
-       /*4580*/ uint16(xArgMm2M64),
-       /*4581*/ uint16(xMatch),
-       /*4582*/ uint16(xSetOp), uint16(PACKSSDW),
-       /*4584*/ uint16(xReadSlashR),
-       /*4585*/ uint16(xArgXmm1),
-       /*4586*/ uint16(xArgXmm2M128),
-       /*4587*/ uint16(xMatch),
-       /*4588*/ uint16(xCondPrefix), 1,
-       0x66, 4592,
-       /*4592*/ uint16(xSetOp), uint16(PUNPCKLQDQ),
-       /*4594*/ uint16(xReadSlashR),
-       /*4595*/ uint16(xArgXmm1),
-       /*4596*/ uint16(xArgXmm2M128),
-       /*4597*/ uint16(xMatch),
-       /*4598*/ uint16(xCondPrefix), 1,
-       0x66, 4602,
-       /*4602*/ uint16(xSetOp), uint16(PUNPCKHQDQ),
-       /*4604*/ uint16(xReadSlashR),
-       /*4605*/ uint16(xArgXmm1),
-       /*4606*/ uint16(xArgXmm2M128),
-       /*4607*/ uint16(xMatch),
-       /*4608*/ uint16(xCondIs64), 4611, 4649,
-       /*4611*/ uint16(xCondPrefix), 2,
-       0x66, 4633,
-       0x0, 4617,
-       /*4617*/ uint16(xCondDataSize), 4621, 4627, 0,
-       /*4621*/ uint16(xSetOp), uint16(MOVD),
-       /*4623*/ uint16(xReadSlashR),
-       /*4624*/ uint16(xArgMm),
-       /*4625*/ uint16(xArgRM32),
-       /*4626*/ uint16(xMatch),
-       /*4627*/ uint16(xSetOp), uint16(MOVD),
-       /*4629*/ uint16(xReadSlashR),
-       /*4630*/ uint16(xArgMm),
-       /*4631*/ uint16(xArgRM32),
-       /*4632*/ uint16(xMatch),
-       /*4633*/ uint16(xCondDataSize), 4637, 4643, 0,
-       /*4637*/ uint16(xSetOp), uint16(MOVD),
-       /*4639*/ uint16(xReadSlashR),
-       /*4640*/ uint16(xArgXmm),
-       /*4641*/ uint16(xArgRM32),
-       /*4642*/ uint16(xMatch),
-       /*4643*/ uint16(xSetOp), uint16(MOVD),
-       /*4645*/ uint16(xReadSlashR),
-       /*4646*/ uint16(xArgXmm),
-       /*4647*/ uint16(xArgRM32),
-       /*4648*/ uint16(xMatch),
-       /*4649*/ uint16(xCondPrefix), 2,
-       0x66, 4665,
-       0x0, 4655,
-       /*4655*/ uint16(xCondDataSize), 4621, 4627, 4659,
-       /*4659*/ uint16(xSetOp), uint16(MOVQ),
-       /*4661*/ uint16(xReadSlashR),
-       /*4662*/ uint16(xArgMm),
-       /*4663*/ uint16(xArgRM64),
-       /*4664*/ uint16(xMatch),
-       /*4665*/ uint16(xCondDataSize), 4637, 4643, 4669,
-       /*4669*/ uint16(xSetOp), uint16(MOVQ),
-       /*4671*/ uint16(xReadSlashR),
-       /*4672*/ uint16(xArgXmm),
-       /*4673*/ uint16(xArgRM64),
-       /*4674*/ uint16(xMatch),
-       /*4675*/ uint16(xCondPrefix), 3,
-       0xF3, 4695,
-       0x66, 4689,
-       0x0, 4683,
-       /*4683*/ uint16(xSetOp), uint16(MOVQ),
-       /*4685*/ uint16(xReadSlashR),
-       /*4686*/ uint16(xArgMm),
-       /*4687*/ uint16(xArgMmM64),
-       /*4688*/ uint16(xMatch),
-       /*4689*/ uint16(xSetOp), uint16(MOVDQA),
-       /*4691*/ uint16(xReadSlashR),
-       /*4692*/ uint16(xArgXmm1),
-       /*4693*/ uint16(xArgXmm2M128),
-       /*4694*/ uint16(xMatch),
-       /*4695*/ uint16(xSetOp), uint16(MOVDQU),
-       /*4697*/ uint16(xReadSlashR),
-       /*4698*/ uint16(xArgXmm1),
-       /*4699*/ uint16(xArgXmm2M128),
-       /*4700*/ uint16(xMatch),
-       /*4701*/ uint16(xCondPrefix), 4,
-       0xF3, 4735,
-       0xF2, 4727,
-       0x66, 4719,
-       0x0, 4711,
-       /*4711*/ uint16(xSetOp), uint16(PSHUFW),
-       /*4713*/ uint16(xReadSlashR),
-       /*4714*/ uint16(xReadIb),
-       /*4715*/ uint16(xArgMm1),
-       /*4716*/ uint16(xArgMm2M64),
-       /*4717*/ uint16(xArgImm8u),
-       /*4718*/ uint16(xMatch),
-       /*4719*/ uint16(xSetOp), uint16(PSHUFD),
-       /*4721*/ uint16(xReadSlashR),
-       /*4722*/ uint16(xReadIb),
-       /*4723*/ uint16(xArgXmm1),
-       /*4724*/ uint16(xArgXmm2M128),
-       /*4725*/ uint16(xArgImm8u),
-       /*4726*/ uint16(xMatch),
-       /*4727*/ uint16(xSetOp), uint16(PSHUFLW),
-       /*4729*/ uint16(xReadSlashR),
-       /*4730*/ uint16(xReadIb),
-       /*4731*/ uint16(xArgXmm1),
-       /*4732*/ uint16(xArgXmm2M128),
-       /*4733*/ uint16(xArgImm8u),
-       /*4734*/ uint16(xMatch),
-       /*4735*/ uint16(xSetOp), uint16(PSHUFHW),
-       /*4737*/ uint16(xReadSlashR),
-       /*4738*/ uint16(xReadIb),
-       /*4739*/ uint16(xArgXmm1),
-       /*4740*/ uint16(xArgXmm2M128),
-       /*4741*/ uint16(xArgImm8u),
-       /*4742*/ uint16(xMatch),
-       /*4743*/ uint16(xCondSlashR),
+       /*3126*/ uint16(xCondPrefix), 1,
+       0x66, 3130,
+       /*3130*/ uint16(xSetOp), uint16(ROUNDPS),
+       /*3132*/ uint16(xReadSlashR),
+       /*3133*/ uint16(xReadIb),
+       /*3134*/ uint16(xArgXmm1),
+       /*3135*/ uint16(xArgXmm2M128),
+       /*3136*/ uint16(xArgImm8u),
+       /*3137*/ uint16(xMatch),
+       /*3138*/ uint16(xCondPrefix), 1,
+       0x66, 3142,
+       /*3142*/ uint16(xSetOp), uint16(ROUNDPD),
+       /*3144*/ uint16(xReadSlashR),
+       /*3145*/ uint16(xReadIb),
+       /*3146*/ uint16(xArgXmm1),
+       /*3147*/ uint16(xArgXmm2M128),
+       /*3148*/ uint16(xArgImm8u),
+       /*3149*/ uint16(xMatch),
+       /*3150*/ uint16(xCondPrefix), 1,
+       0x66, 3154,
+       /*3154*/ uint16(xSetOp), uint16(ROUNDSS),
+       /*3156*/ uint16(xReadSlashR),
+       /*3157*/ uint16(xReadIb),
+       /*3158*/ uint16(xArgXmm1),
+       /*3159*/ uint16(xArgXmm2M32),
+       /*3160*/ uint16(xArgImm8u),
+       /*3161*/ uint16(xMatch),
+       /*3162*/ uint16(xCondPrefix), 1,
+       0x66, 3166,
+       /*3166*/ uint16(xSetOp), uint16(ROUNDSD),
+       /*3168*/ uint16(xReadSlashR),
+       /*3169*/ uint16(xReadIb),
+       /*3170*/ uint16(xArgXmm1),
+       /*3171*/ uint16(xArgXmm2M64),
+       /*3172*/ uint16(xArgImm8u),
+       /*3173*/ uint16(xMatch),
+       /*3174*/ uint16(xCondPrefix), 1,
+       0x66, 3178,
+       /*3178*/ uint16(xSetOp), uint16(BLENDPS),
+       /*3180*/ uint16(xReadSlashR),
+       /*3181*/ uint16(xReadIb),
+       /*3182*/ uint16(xArgXmm1),
+       /*3183*/ uint16(xArgXmm2M128),
+       /*3184*/ uint16(xArgImm8u),
+       /*3185*/ uint16(xMatch),
+       /*3186*/ uint16(xCondPrefix), 1,
+       0x66, 3190,
+       /*3190*/ uint16(xSetOp), uint16(BLENDPD),
+       /*3192*/ uint16(xReadSlashR),
+       /*3193*/ uint16(xReadIb),
+       /*3194*/ uint16(xArgXmm1),
+       /*3195*/ uint16(xArgXmm2M128),
+       /*3196*/ uint16(xArgImm8u),
+       /*3197*/ uint16(xMatch),
+       /*3198*/ uint16(xCondPrefix), 1,
+       0x66, 3202,
+       /*3202*/ uint16(xSetOp), uint16(PBLENDW),
+       /*3204*/ uint16(xReadSlashR),
+       /*3205*/ uint16(xReadIb),
+       /*3206*/ uint16(xArgXmm1),
+       /*3207*/ uint16(xArgXmm2M128),
+       /*3208*/ uint16(xArgImm8u),
+       /*3209*/ uint16(xMatch),
+       /*3210*/ uint16(xCondPrefix), 2,
+       0x66, 3224,
+       0x0, 3216,
+       /*3216*/ uint16(xSetOp), uint16(PALIGNR),
+       /*3218*/ uint16(xReadSlashR),
+       /*3219*/ uint16(xReadIb),
+       /*3220*/ uint16(xArgMm1),
+       /*3221*/ uint16(xArgMm2M64),
+       /*3222*/ uint16(xArgImm8u),
+       /*3223*/ uint16(xMatch),
+       /*3224*/ uint16(xSetOp), uint16(PALIGNR),
+       /*3226*/ uint16(xReadSlashR),
+       /*3227*/ uint16(xReadIb),
+       /*3228*/ uint16(xArgXmm1),
+       /*3229*/ uint16(xArgXmm2M128),
+       /*3230*/ uint16(xArgImm8u),
+       /*3231*/ uint16(xMatch),
+       /*3232*/ uint16(xCondPrefix), 1,
+       0x66, 3236,
+       /*3236*/ uint16(xSetOp), uint16(PEXTRB),
+       /*3238*/ uint16(xReadSlashR),
+       /*3239*/ uint16(xReadIb),
+       /*3240*/ uint16(xArgR32M8),
+       /*3241*/ uint16(xArgXmm1),
+       /*3242*/ uint16(xArgImm8u),
+       /*3243*/ uint16(xMatch),
+       /*3244*/ uint16(xCondPrefix), 1,
+       0x66, 3248,
+       /*3248*/ uint16(xSetOp), uint16(PEXTRW),
+       /*3250*/ uint16(xReadSlashR),
+       /*3251*/ uint16(xReadIb),
+       /*3252*/ uint16(xArgR32M16),
+       /*3253*/ uint16(xArgXmm1),
+       /*3254*/ uint16(xArgImm8u),
+       /*3255*/ uint16(xMatch),
+       /*3256*/ uint16(xCondIs64), 3259, 3283,
+       /*3259*/ uint16(xCondPrefix), 1,
+       0x66, 3263,
+       /*3263*/ uint16(xCondDataSize), 3267, 3275, 0,
+       /*3267*/ uint16(xSetOp), uint16(PEXTRD),
+       /*3269*/ uint16(xReadSlashR),
+       /*3270*/ uint16(xReadIb),
+       /*3271*/ uint16(xArgRM32),
+       /*3272*/ uint16(xArgXmm1),
+       /*3273*/ uint16(xArgImm8u),
+       /*3274*/ uint16(xMatch),
+       /*3275*/ uint16(xSetOp), uint16(PEXTRD),
+       /*3277*/ uint16(xReadSlashR),
+       /*3278*/ uint16(xReadIb),
+       /*3279*/ uint16(xArgRM32),
+       /*3280*/ uint16(xArgXmm1),
+       /*3281*/ uint16(xArgImm8u),
+       /*3282*/ uint16(xMatch),
+       /*3283*/ uint16(xCondPrefix), 1,
+       0x66, 3287,
+       /*3287*/ uint16(xCondDataSize), 3267, 3275, 3291,
+       /*3291*/ uint16(xSetOp), uint16(PEXTRQ),
+       /*3293*/ uint16(xReadSlashR),
+       /*3294*/ uint16(xReadIb),
+       /*3295*/ uint16(xArgRM64),
+       /*3296*/ uint16(xArgXmm1),
+       /*3297*/ uint16(xArgImm8u),
+       /*3298*/ uint16(xMatch),
+       /*3299*/ uint16(xCondPrefix), 1,
+       0x66, 3303,
+       /*3303*/ uint16(xSetOp), uint16(EXTRACTPS),
+       /*3305*/ uint16(xReadSlashR),
+       /*3306*/ uint16(xReadIb),
+       /*3307*/ uint16(xArgRM32),
+       /*3308*/ uint16(xArgXmm1),
+       /*3309*/ uint16(xArgImm8u),
+       /*3310*/ uint16(xMatch),
+       /*3311*/ uint16(xCondPrefix), 1,
+       0x66, 3315,
+       /*3315*/ uint16(xSetOp), uint16(PINSRB),
+       /*3317*/ uint16(xReadSlashR),
+       /*3318*/ uint16(xReadIb),
+       /*3319*/ uint16(xArgXmm1),
+       /*3320*/ uint16(xArgR32M8),
+       /*3321*/ uint16(xArgImm8u),
+       /*3322*/ uint16(xMatch),
+       /*3323*/ uint16(xCondPrefix), 1,
+       0x66, 3327,
+       /*3327*/ uint16(xSetOp), uint16(INSERTPS),
+       /*3329*/ uint16(xReadSlashR),
+       /*3330*/ uint16(xReadIb),
+       /*3331*/ uint16(xArgXmm1),
+       /*3332*/ uint16(xArgXmm2M32),
+       /*3333*/ uint16(xArgImm8u),
+       /*3334*/ uint16(xMatch),
+       /*3335*/ uint16(xCondIs64), 3338, 3362,
+       /*3338*/ uint16(xCondPrefix), 1,
+       0x66, 3342,
+       /*3342*/ uint16(xCondDataSize), 3346, 3354, 0,
+       /*3346*/ uint16(xSetOp), uint16(PINSRD),
+       /*3348*/ uint16(xReadSlashR),
+       /*3349*/ uint16(xReadIb),
+       /*3350*/ uint16(xArgXmm1),
+       /*3351*/ uint16(xArgRM32),
+       /*3352*/ uint16(xArgImm8u),
+       /*3353*/ uint16(xMatch),
+       /*3354*/ uint16(xSetOp), uint16(PINSRD),
+       /*3356*/ uint16(xReadSlashR),
+       /*3357*/ uint16(xReadIb),
+       /*3358*/ uint16(xArgXmm1),
+       /*3359*/ uint16(xArgRM32),
+       /*3360*/ uint16(xArgImm8u),
+       /*3361*/ uint16(xMatch),
+       /*3362*/ uint16(xCondPrefix), 1,
+       0x66, 3366,
+       /*3366*/ uint16(xCondDataSize), 3346, 3354, 3370,
+       /*3370*/ uint16(xSetOp), uint16(PINSRQ),
+       /*3372*/ uint16(xReadSlashR),
+       /*3373*/ uint16(xReadIb),
+       /*3374*/ uint16(xArgXmm1),
+       /*3375*/ uint16(xArgRM64),
+       /*3376*/ uint16(xArgImm8u),
+       /*3377*/ uint16(xMatch),
+       /*3378*/ uint16(xCondPrefix), 1,
+       0x66, 3382,
+       /*3382*/ uint16(xSetOp), uint16(DPPS),
+       /*3384*/ uint16(xReadSlashR),
+       /*3385*/ uint16(xReadIb),
+       /*3386*/ uint16(xArgXmm1),
+       /*3387*/ uint16(xArgXmm2M128),
+       /*3388*/ uint16(xArgImm8u),
+       /*3389*/ uint16(xMatch),
+       /*3390*/ uint16(xCondPrefix), 1,
+       0x66, 3394,
+       /*3394*/ uint16(xSetOp), uint16(DPPD),
+       /*3396*/ uint16(xReadSlashR),
+       /*3397*/ uint16(xReadIb),
+       /*3398*/ uint16(xArgXmm1),
+       /*3399*/ uint16(xArgXmm2M128),
+       /*3400*/ uint16(xArgImm8u),
+       /*3401*/ uint16(xMatch),
+       /*3402*/ uint16(xCondPrefix), 1,
+       0x66, 3406,
+       /*3406*/ uint16(xSetOp), uint16(MPSADBW),
+       /*3408*/ uint16(xReadSlashR),
+       /*3409*/ uint16(xReadIb),
+       /*3410*/ uint16(xArgXmm1),
+       /*3411*/ uint16(xArgXmm2M128),
+       /*3412*/ uint16(xArgImm8u),
+       /*3413*/ uint16(xMatch),
+       /*3414*/ uint16(xCondPrefix), 1,
+       0x66, 3418,
+       /*3418*/ uint16(xSetOp), uint16(PCLMULQDQ),
+       /*3420*/ uint16(xReadSlashR),
+       /*3421*/ uint16(xReadIb),
+       /*3422*/ uint16(xArgXmm1),
+       /*3423*/ uint16(xArgXmm2M128),
+       /*3424*/ uint16(xArgImm8u),
+       /*3425*/ uint16(xMatch),
+       /*3426*/ uint16(xCondPrefix), 1,
+       0x66, 3430,
+       /*3430*/ uint16(xSetOp), uint16(PCMPESTRM),
+       /*3432*/ uint16(xReadSlashR),
+       /*3433*/ uint16(xReadIb),
+       /*3434*/ uint16(xArgXmm1),
+       /*3435*/ uint16(xArgXmm2M128),
+       /*3436*/ uint16(xArgImm8u),
+       /*3437*/ uint16(xMatch),
+       /*3438*/ uint16(xCondPrefix), 1,
+       0x66, 3442,
+       /*3442*/ uint16(xSetOp), uint16(PCMPESTRI),
+       /*3444*/ uint16(xReadSlashR),
+       /*3445*/ uint16(xReadIb),
+       /*3446*/ uint16(xArgXmm1),
+       /*3447*/ uint16(xArgXmm2M128),
+       /*3448*/ uint16(xArgImm8u),
+       /*3449*/ uint16(xMatch),
+       /*3450*/ uint16(xCondPrefix), 1,
+       0x66, 3454,
+       /*3454*/ uint16(xSetOp), uint16(PCMPISTRM),
+       /*3456*/ uint16(xReadSlashR),
+       /*3457*/ uint16(xReadIb),
+       /*3458*/ uint16(xArgXmm1),
+       /*3459*/ uint16(xArgXmm2M128),
+       /*3460*/ uint16(xArgImm8u),
+       /*3461*/ uint16(xMatch),
+       /*3462*/ uint16(xCondPrefix), 1,
+       0x66, 3466,
+       /*3466*/ uint16(xSetOp), uint16(PCMPISTRI),
+       /*3468*/ uint16(xReadSlashR),
+       /*3469*/ uint16(xReadIb),
+       /*3470*/ uint16(xArgXmm1),
+       /*3471*/ uint16(xArgXmm2M128),
+       /*3472*/ uint16(xArgImm8u),
+       /*3473*/ uint16(xMatch),
+       /*3474*/ uint16(xCondPrefix), 1,
+       0x66, 3478,
+       /*3478*/ uint16(xSetOp), uint16(AESKEYGENASSIST),
+       /*3480*/ uint16(xReadSlashR),
+       /*3481*/ uint16(xReadIb),
+       /*3482*/ uint16(xArgXmm1),
+       /*3483*/ uint16(xArgXmm2M128),
+       /*3484*/ uint16(xArgImm8u),
+       /*3485*/ uint16(xMatch),
+       /*3486*/ uint16(xCondIs64), 3489, 3505,
+       /*3489*/ uint16(xCondDataSize), 3493, 3499, 0,
+       /*3493*/ uint16(xSetOp), uint16(CMOVO),
+       /*3495*/ uint16(xReadSlashR),
+       /*3496*/ uint16(xArgR16),
+       /*3497*/ uint16(xArgRM16),
+       /*3498*/ uint16(xMatch),
+       /*3499*/ uint16(xSetOp), uint16(CMOVO),
+       /*3501*/ uint16(xReadSlashR),
+       /*3502*/ uint16(xArgR32),
+       /*3503*/ uint16(xArgRM32),
+       /*3504*/ uint16(xMatch),
+       /*3505*/ uint16(xCondDataSize), 3493, 3499, 3509,
+       /*3509*/ uint16(xSetOp), uint16(CMOVO),
+       /*3511*/ uint16(xReadSlashR),
+       /*3512*/ uint16(xArgR64),
+       /*3513*/ uint16(xArgRM64),
+       /*3514*/ uint16(xMatch),
+       /*3515*/ uint16(xCondIs64), 3518, 3534,
+       /*3518*/ uint16(xCondDataSize), 3522, 3528, 0,
+       /*3522*/ uint16(xSetOp), uint16(CMOVNO),
+       /*3524*/ uint16(xReadSlashR),
+       /*3525*/ uint16(xArgR16),
+       /*3526*/ uint16(xArgRM16),
+       /*3527*/ uint16(xMatch),
+       /*3528*/ uint16(xSetOp), uint16(CMOVNO),
+       /*3530*/ uint16(xReadSlashR),
+       /*3531*/ uint16(xArgR32),
+       /*3532*/ uint16(xArgRM32),
+       /*3533*/ uint16(xMatch),
+       /*3534*/ uint16(xCondDataSize), 3522, 3528, 3538,
+       /*3538*/ uint16(xSetOp), uint16(CMOVNO),
+       /*3540*/ uint16(xReadSlashR),
+       /*3541*/ uint16(xArgR64),
+       /*3542*/ uint16(xArgRM64),
+       /*3543*/ uint16(xMatch),
+       /*3544*/ uint16(xCondIs64), 3547, 3563,
+       /*3547*/ uint16(xCondDataSize), 3551, 3557, 0,
+       /*3551*/ uint16(xSetOp), uint16(CMOVB),
+       /*3553*/ uint16(xReadSlashR),
+       /*3554*/ uint16(xArgR16),
+       /*3555*/ uint16(xArgRM16),
+       /*3556*/ uint16(xMatch),
+       /*3557*/ uint16(xSetOp), uint16(CMOVB),
+       /*3559*/ uint16(xReadSlashR),
+       /*3560*/ uint16(xArgR32),
+       /*3561*/ uint16(xArgRM32),
+       /*3562*/ uint16(xMatch),
+       /*3563*/ uint16(xCondDataSize), 3551, 3557, 3567,
+       /*3567*/ uint16(xSetOp), uint16(CMOVB),
+       /*3569*/ uint16(xReadSlashR),
+       /*3570*/ uint16(xArgR64),
+       /*3571*/ uint16(xArgRM64),
+       /*3572*/ uint16(xMatch),
+       /*3573*/ uint16(xCondIs64), 3576, 3592,
+       /*3576*/ uint16(xCondDataSize), 3580, 3586, 0,
+       /*3580*/ uint16(xSetOp), uint16(CMOVAE),
+       /*3582*/ uint16(xReadSlashR),
+       /*3583*/ uint16(xArgR16),
+       /*3584*/ uint16(xArgRM16),
+       /*3585*/ uint16(xMatch),
+       /*3586*/ uint16(xSetOp), uint16(CMOVAE),
+       /*3588*/ uint16(xReadSlashR),
+       /*3589*/ uint16(xArgR32),
+       /*3590*/ uint16(xArgRM32),
+       /*3591*/ uint16(xMatch),
+       /*3592*/ uint16(xCondDataSize), 3580, 3586, 3596,
+       /*3596*/ uint16(xSetOp), uint16(CMOVAE),
+       /*3598*/ uint16(xReadSlashR),
+       /*3599*/ uint16(xArgR64),
+       /*3600*/ uint16(xArgRM64),
+       /*3601*/ uint16(xMatch),
+       /*3602*/ uint16(xCondIs64), 3605, 3621,
+       /*3605*/ uint16(xCondDataSize), 3609, 3615, 0,
+       /*3609*/ uint16(xSetOp), uint16(CMOVE),
+       /*3611*/ uint16(xReadSlashR),
+       /*3612*/ uint16(xArgR16),
+       /*3613*/ uint16(xArgRM16),
+       /*3614*/ uint16(xMatch),
+       /*3615*/ uint16(xSetOp), uint16(CMOVE),
+       /*3617*/ uint16(xReadSlashR),
+       /*3618*/ uint16(xArgR32),
+       /*3619*/ uint16(xArgRM32),
+       /*3620*/ uint16(xMatch),
+       /*3621*/ uint16(xCondDataSize), 3609, 3615, 3625,
+       /*3625*/ uint16(xSetOp), uint16(CMOVE),
+       /*3627*/ uint16(xReadSlashR),
+       /*3628*/ uint16(xArgR64),
+       /*3629*/ uint16(xArgRM64),
+       /*3630*/ uint16(xMatch),
+       /*3631*/ uint16(xCondIs64), 3634, 3650,
+       /*3634*/ uint16(xCondDataSize), 3638, 3644, 0,
+       /*3638*/ uint16(xSetOp), uint16(CMOVNE),
+       /*3640*/ uint16(xReadSlashR),
+       /*3641*/ uint16(xArgR16),
+       /*3642*/ uint16(xArgRM16),
+       /*3643*/ uint16(xMatch),
+       /*3644*/ uint16(xSetOp), uint16(CMOVNE),
+       /*3646*/ uint16(xReadSlashR),
+       /*3647*/ uint16(xArgR32),
+       /*3648*/ uint16(xArgRM32),
+       /*3649*/ uint16(xMatch),
+       /*3650*/ uint16(xCondDataSize), 3638, 3644, 3654,
+       /*3654*/ uint16(xSetOp), uint16(CMOVNE),
+       /*3656*/ uint16(xReadSlashR),
+       /*3657*/ uint16(xArgR64),
+       /*3658*/ uint16(xArgRM64),
+       /*3659*/ uint16(xMatch),
+       /*3660*/ uint16(xCondIs64), 3663, 3679,
+       /*3663*/ uint16(xCondDataSize), 3667, 3673, 0,
+       /*3667*/ uint16(xSetOp), uint16(CMOVBE),
+       /*3669*/ uint16(xReadSlashR),
+       /*3670*/ uint16(xArgR16),
+       /*3671*/ uint16(xArgRM16),
+       /*3672*/ uint16(xMatch),
+       /*3673*/ uint16(xSetOp), uint16(CMOVBE),
+       /*3675*/ uint16(xReadSlashR),
+       /*3676*/ uint16(xArgR32),
+       /*3677*/ uint16(xArgRM32),
+       /*3678*/ uint16(xMatch),
+       /*3679*/ uint16(xCondDataSize), 3667, 3673, 3683,
+       /*3683*/ uint16(xSetOp), uint16(CMOVBE),
+       /*3685*/ uint16(xReadSlashR),
+       /*3686*/ uint16(xArgR64),
+       /*3687*/ uint16(xArgRM64),
+       /*3688*/ uint16(xMatch),
+       /*3689*/ uint16(xCondIs64), 3692, 3708,
+       /*3692*/ uint16(xCondDataSize), 3696, 3702, 0,
+       /*3696*/ uint16(xSetOp), uint16(CMOVA),
+       /*3698*/ uint16(xReadSlashR),
+       /*3699*/ uint16(xArgR16),
+       /*3700*/ uint16(xArgRM16),
+       /*3701*/ uint16(xMatch),
+       /*3702*/ uint16(xSetOp), uint16(CMOVA),
+       /*3704*/ uint16(xReadSlashR),
+       /*3705*/ uint16(xArgR32),
+       /*3706*/ uint16(xArgRM32),
+       /*3707*/ uint16(xMatch),
+       /*3708*/ uint16(xCondDataSize), 3696, 3702, 3712,
+       /*3712*/ uint16(xSetOp), uint16(CMOVA),
+       /*3714*/ uint16(xReadSlashR),
+       /*3715*/ uint16(xArgR64),
+       /*3716*/ uint16(xArgRM64),
+       /*3717*/ uint16(xMatch),
+       /*3718*/ uint16(xCondIs64), 3721, 3737,
+       /*3721*/ uint16(xCondDataSize), 3725, 3731, 0,
+       /*3725*/ uint16(xSetOp), uint16(CMOVS),
+       /*3727*/ uint16(xReadSlashR),
+       /*3728*/ uint16(xArgR16),
+       /*3729*/ uint16(xArgRM16),
+       /*3730*/ uint16(xMatch),
+       /*3731*/ uint16(xSetOp), uint16(CMOVS),
+       /*3733*/ uint16(xReadSlashR),
+       /*3734*/ uint16(xArgR32),
+       /*3735*/ uint16(xArgRM32),
+       /*3736*/ uint16(xMatch),
+       /*3737*/ uint16(xCondDataSize), 3725, 3731, 3741,
+       /*3741*/ uint16(xSetOp), uint16(CMOVS),
+       /*3743*/ uint16(xReadSlashR),
+       /*3744*/ uint16(xArgR64),
+       /*3745*/ uint16(xArgRM64),
+       /*3746*/ uint16(xMatch),
+       /*3747*/ uint16(xCondIs64), 3750, 3766,
+       /*3750*/ uint16(xCondDataSize), 3754, 3760, 0,
+       /*3754*/ uint16(xSetOp), uint16(CMOVNS),
+       /*3756*/ uint16(xReadSlashR),
+       /*3757*/ uint16(xArgR16),
+       /*3758*/ uint16(xArgRM16),
+       /*3759*/ uint16(xMatch),
+       /*3760*/ uint16(xSetOp), uint16(CMOVNS),
+       /*3762*/ uint16(xReadSlashR),
+       /*3763*/ uint16(xArgR32),
+       /*3764*/ uint16(xArgRM32),
+       /*3765*/ uint16(xMatch),
+       /*3766*/ uint16(xCondDataSize), 3754, 3760, 3770,
+       /*3770*/ uint16(xSetOp), uint16(CMOVNS),
+       /*3772*/ uint16(xReadSlashR),
+       /*3773*/ uint16(xArgR64),
+       /*3774*/ uint16(xArgRM64),
+       /*3775*/ uint16(xMatch),
+       /*3776*/ uint16(xCondIs64), 3779, 3795,
+       /*3779*/ uint16(xCondDataSize), 3783, 3789, 0,
+       /*3783*/ uint16(xSetOp), uint16(CMOVP),
+       /*3785*/ uint16(xReadSlashR),
+       /*3786*/ uint16(xArgR16),
+       /*3787*/ uint16(xArgRM16),
+       /*3788*/ uint16(xMatch),
+       /*3789*/ uint16(xSetOp), uint16(CMOVP),
+       /*3791*/ uint16(xReadSlashR),
+       /*3792*/ uint16(xArgR32),
+       /*3793*/ uint16(xArgRM32),
+       /*3794*/ uint16(xMatch),
+       /*3795*/ uint16(xCondDataSize), 3783, 3789, 3799,
+       /*3799*/ uint16(xSetOp), uint16(CMOVP),
+       /*3801*/ uint16(xReadSlashR),
+       /*3802*/ uint16(xArgR64),
+       /*3803*/ uint16(xArgRM64),
+       /*3804*/ uint16(xMatch),
+       /*3805*/ uint16(xCondIs64), 3808, 3824,
+       /*3808*/ uint16(xCondDataSize), 3812, 3818, 0,
+       /*3812*/ uint16(xSetOp), uint16(CMOVNP),
+       /*3814*/ uint16(xReadSlashR),
+       /*3815*/ uint16(xArgR16),
+       /*3816*/ uint16(xArgRM16),
+       /*3817*/ uint16(xMatch),
+       /*3818*/ uint16(xSetOp), uint16(CMOVNP),
+       /*3820*/ uint16(xReadSlashR),
+       /*3821*/ uint16(xArgR32),
+       /*3822*/ uint16(xArgRM32),
+       /*3823*/ uint16(xMatch),
+       /*3824*/ uint16(xCondDataSize), 3812, 3818, 3828,
+       /*3828*/ uint16(xSetOp), uint16(CMOVNP),
+       /*3830*/ uint16(xReadSlashR),
+       /*3831*/ uint16(xArgR64),
+       /*3832*/ uint16(xArgRM64),
+       /*3833*/ uint16(xMatch),
+       /*3834*/ uint16(xCondIs64), 3837, 3853,
+       /*3837*/ uint16(xCondDataSize), 3841, 3847, 0,
+       /*3841*/ uint16(xSetOp), uint16(CMOVL),
+       /*3843*/ uint16(xReadSlashR),
+       /*3844*/ uint16(xArgR16),
+       /*3845*/ uint16(xArgRM16),
+       /*3846*/ uint16(xMatch),
+       /*3847*/ uint16(xSetOp), uint16(CMOVL),
+       /*3849*/ uint16(xReadSlashR),
+       /*3850*/ uint16(xArgR32),
+       /*3851*/ uint16(xArgRM32),
+       /*3852*/ uint16(xMatch),
+       /*3853*/ uint16(xCondDataSize), 3841, 3847, 3857,
+       /*3857*/ uint16(xSetOp), uint16(CMOVL),
+       /*3859*/ uint16(xReadSlashR),
+       /*3860*/ uint16(xArgR64),
+       /*3861*/ uint16(xArgRM64),
+       /*3862*/ uint16(xMatch),
+       /*3863*/ uint16(xCondIs64), 3866, 3882,
+       /*3866*/ uint16(xCondDataSize), 3870, 3876, 0,
+       /*3870*/ uint16(xSetOp), uint16(CMOVGE),
+       /*3872*/ uint16(xReadSlashR),
+       /*3873*/ uint16(xArgR16),
+       /*3874*/ uint16(xArgRM16),
+       /*3875*/ uint16(xMatch),
+       /*3876*/ uint16(xSetOp), uint16(CMOVGE),
+       /*3878*/ uint16(xReadSlashR),
+       /*3879*/ uint16(xArgR32),
+       /*3880*/ uint16(xArgRM32),
+       /*3881*/ uint16(xMatch),
+       /*3882*/ uint16(xCondDataSize), 3870, 3876, 3886,
+       /*3886*/ uint16(xSetOp), uint16(CMOVGE),
+       /*3888*/ uint16(xReadSlashR),
+       /*3889*/ uint16(xArgR64),
+       /*3890*/ uint16(xArgRM64),
+       /*3891*/ uint16(xMatch),
+       /*3892*/ uint16(xCondIs64), 3895, 3911,
+       /*3895*/ uint16(xCondDataSize), 3899, 3905, 0,
+       /*3899*/ uint16(xSetOp), uint16(CMOVLE),
+       /*3901*/ uint16(xReadSlashR),
+       /*3902*/ uint16(xArgR16),
+       /*3903*/ uint16(xArgRM16),
+       /*3904*/ uint16(xMatch),
+       /*3905*/ uint16(xSetOp), uint16(CMOVLE),
+       /*3907*/ uint16(xReadSlashR),
+       /*3908*/ uint16(xArgR32),
+       /*3909*/ uint16(xArgRM32),
+       /*3910*/ uint16(xMatch),
+       /*3911*/ uint16(xCondDataSize), 3899, 3905, 3915,
+       /*3915*/ uint16(xSetOp), uint16(CMOVLE),
+       /*3917*/ uint16(xReadSlashR),
+       /*3918*/ uint16(xArgR64),
+       /*3919*/ uint16(xArgRM64),
+       /*3920*/ uint16(xMatch),
+       /*3921*/ uint16(xCondIs64), 3924, 3940,
+       /*3924*/ uint16(xCondDataSize), 3928, 3934, 0,
+       /*3928*/ uint16(xSetOp), uint16(CMOVG),
+       /*3930*/ uint16(xReadSlashR),
+       /*3931*/ uint16(xArgR16),
+       /*3932*/ uint16(xArgRM16),
+       /*3933*/ uint16(xMatch),
+       /*3934*/ uint16(xSetOp), uint16(CMOVG),
+       /*3936*/ uint16(xReadSlashR),
+       /*3937*/ uint16(xArgR32),
+       /*3938*/ uint16(xArgRM32),
+       /*3939*/ uint16(xMatch),
+       /*3940*/ uint16(xCondDataSize), 3928, 3934, 3944,
+       /*3944*/ uint16(xSetOp), uint16(CMOVG),
+       /*3946*/ uint16(xReadSlashR),
+       /*3947*/ uint16(xArgR64),
+       /*3948*/ uint16(xArgRM64),
+       /*3949*/ uint16(xMatch),
+       /*3950*/ uint16(xCondPrefix), 2,
+       0x66, 3962,
+       0x0, 3956,
+       /*3956*/ uint16(xSetOp), uint16(MOVMSKPS),
+       /*3958*/ uint16(xReadSlashR),
+       /*3959*/ uint16(xArgR32),
+       /*3960*/ uint16(xArgXmm2),
+       /*3961*/ uint16(xMatch),
+       /*3962*/ uint16(xSetOp), uint16(MOVMSKPD),
+       /*3964*/ uint16(xReadSlashR),
+       /*3965*/ uint16(xArgR32),
+       /*3966*/ uint16(xArgXmm2),
+       /*3967*/ uint16(xMatch),
+       /*3968*/ uint16(xCondPrefix), 4,
+       0xF3, 3996,
+       0xF2, 3990,
+       0x66, 3984,
+       0x0, 3978,
+       /*3978*/ uint16(xSetOp), uint16(SQRTPS),
+       /*3980*/ uint16(xReadSlashR),
+       /*3981*/ uint16(xArgXmm1),
+       /*3982*/ uint16(xArgXmm2M128),
+       /*3983*/ uint16(xMatch),
+       /*3984*/ uint16(xSetOp), uint16(SQRTPD),
+       /*3986*/ uint16(xReadSlashR),
+       /*3987*/ uint16(xArgXmm1),
+       /*3988*/ uint16(xArgXmm2M128),
+       /*3989*/ uint16(xMatch),
+       /*3990*/ uint16(xSetOp), uint16(SQRTSD),
+       /*3992*/ uint16(xReadSlashR),
+       /*3993*/ uint16(xArgXmm1),
+       /*3994*/ uint16(xArgXmm2M64),
+       /*3995*/ uint16(xMatch),
+       /*3996*/ uint16(xSetOp), uint16(SQRTSS),
+       /*3998*/ uint16(xReadSlashR),
+       /*3999*/ uint16(xArgXmm1),
+       /*4000*/ uint16(xArgXmm2M32),
+       /*4001*/ uint16(xMatch),
+       /*4002*/ uint16(xCondPrefix), 2,
+       0xF3, 4014,
+       0x0, 4008,
+       /*4008*/ uint16(xSetOp), uint16(RSQRTPS),
+       /*4010*/ uint16(xReadSlashR),
+       /*4011*/ uint16(xArgXmm1),
+       /*4012*/ uint16(xArgXmm2M128),
+       /*4013*/ uint16(xMatch),
+       /*4014*/ uint16(xSetOp), uint16(RSQRTSS),
+       /*4016*/ uint16(xReadSlashR),
+       /*4017*/ uint16(xArgXmm1),
+       /*4018*/ uint16(xArgXmm2M32),
+       /*4019*/ uint16(xMatch),
+       /*4020*/ uint16(xCondPrefix), 2,
+       0xF3, 4032,
+       0x0, 4026,
+       /*4026*/ uint16(xSetOp), uint16(RCPPS),
+       /*4028*/ uint16(xReadSlashR),
+       /*4029*/ uint16(xArgXmm1),
+       /*4030*/ uint16(xArgXmm2M128),
+       /*4031*/ uint16(xMatch),
+       /*4032*/ uint16(xSetOp), uint16(RCPSS),
+       /*4034*/ uint16(xReadSlashR),
+       /*4035*/ uint16(xArgXmm1),
+       /*4036*/ uint16(xArgXmm2M32),
+       /*4037*/ uint16(xMatch),
+       /*4038*/ uint16(xCondPrefix), 2,
+       0x66, 4050,
+       0x0, 4044,
+       /*4044*/ uint16(xSetOp), uint16(ANDPS),
+       /*4046*/ uint16(xReadSlashR),
+       /*4047*/ uint16(xArgXmm1),
+       /*4048*/ uint16(xArgXmm2M128),
+       /*4049*/ uint16(xMatch),
+       /*4050*/ uint16(xSetOp), uint16(ANDPD),
+       /*4052*/ uint16(xReadSlashR),
+       /*4053*/ uint16(xArgXmm1),
+       /*4054*/ uint16(xArgXmm2M128),
+       /*4055*/ uint16(xMatch),
+       /*4056*/ uint16(xCondPrefix), 2,
+       0x66, 4068,
+       0x0, 4062,
+       /*4062*/ uint16(xSetOp), uint16(ANDNPS),
+       /*4064*/ uint16(xReadSlashR),
+       /*4065*/ uint16(xArgXmm1),
+       /*4066*/ uint16(xArgXmm2M128),
+       /*4067*/ uint16(xMatch),
+       /*4068*/ uint16(xSetOp), uint16(ANDNPD),
+       /*4070*/ uint16(xReadSlashR),
+       /*4071*/ uint16(xArgXmm1),
+       /*4072*/ uint16(xArgXmm2M128),
+       /*4073*/ uint16(xMatch),
+       /*4074*/ uint16(xCondPrefix), 2,
+       0x66, 4086,
+       0x0, 4080,
+       /*4080*/ uint16(xSetOp), uint16(ORPS),
+       /*4082*/ uint16(xReadSlashR),
+       /*4083*/ uint16(xArgXmm1),
+       /*4084*/ uint16(xArgXmm2M128),
+       /*4085*/ uint16(xMatch),
+       /*4086*/ uint16(xSetOp), uint16(ORPD),
+       /*4088*/ uint16(xReadSlashR),
+       /*4089*/ uint16(xArgXmm1),
+       /*4090*/ uint16(xArgXmm2M128),
+       /*4091*/ uint16(xMatch),
+       /*4092*/ uint16(xCondPrefix), 2,
+       0x66, 4104,
+       0x0, 4098,
+       /*4098*/ uint16(xSetOp), uint16(XORPS),
+       /*4100*/ uint16(xReadSlashR),
+       /*4101*/ uint16(xArgXmm1),
+       /*4102*/ uint16(xArgXmm2M128),
+       /*4103*/ uint16(xMatch),
+       /*4104*/ uint16(xSetOp), uint16(XORPD),
+       /*4106*/ uint16(xReadSlashR),
+       /*4107*/ uint16(xArgXmm1),
+       /*4108*/ uint16(xArgXmm2M128),
+       /*4109*/ uint16(xMatch),
+       /*4110*/ uint16(xCondPrefix), 4,
+       0xF3, 4138,
+       0xF2, 4132,
+       0x66, 4126,
+       0x0, 4120,
+       /*4120*/ uint16(xSetOp), uint16(ADDPS),
+       /*4122*/ uint16(xReadSlashR),
+       /*4123*/ uint16(xArgXmm1),
+       /*4124*/ uint16(xArgXmm2M128),
+       /*4125*/ uint16(xMatch),
+       /*4126*/ uint16(xSetOp), uint16(ADDPD),
+       /*4128*/ uint16(xReadSlashR),
+       /*4129*/ uint16(xArgXmm1),
+       /*4130*/ uint16(xArgXmm2M128),
+       /*4131*/ uint16(xMatch),
+       /*4132*/ uint16(xSetOp), uint16(ADDSD),
+       /*4134*/ uint16(xReadSlashR),
+       /*4135*/ uint16(xArgXmm1),
+       /*4136*/ uint16(xArgXmm2M64),
+       /*4137*/ uint16(xMatch),
+       /*4138*/ uint16(xSetOp), uint16(ADDSS),
+       /*4140*/ uint16(xReadSlashR),
+       /*4141*/ uint16(xArgXmm1),
+       /*4142*/ uint16(xArgXmm2M32),
+       /*4143*/ uint16(xMatch),
+       /*4144*/ uint16(xCondPrefix), 4,
+       0xF3, 4172,
+       0xF2, 4166,
+       0x66, 4160,
+       0x0, 4154,
+       /*4154*/ uint16(xSetOp), uint16(MULPS),
+       /*4156*/ uint16(xReadSlashR),
+       /*4157*/ uint16(xArgXmm1),
+       /*4158*/ uint16(xArgXmm2M128),
+       /*4159*/ uint16(xMatch),
+       /*4160*/ uint16(xSetOp), uint16(MULPD),
+       /*4162*/ uint16(xReadSlashR),
+       /*4163*/ uint16(xArgXmm1),
+       /*4164*/ uint16(xArgXmm2M128),
+       /*4165*/ uint16(xMatch),
+       /*4166*/ uint16(xSetOp), uint16(MULSD),
+       /*4168*/ uint16(xReadSlashR),
+       /*4169*/ uint16(xArgXmm1),
+       /*4170*/ uint16(xArgXmm2M64),
+       /*4171*/ uint16(xMatch),
+       /*4172*/ uint16(xSetOp), uint16(MULSS),
+       /*4174*/ uint16(xReadSlashR),
+       /*4175*/ uint16(xArgXmm1),
+       /*4176*/ uint16(xArgXmm2M32),
+       /*4177*/ uint16(xMatch),
+       /*4178*/ uint16(xCondPrefix), 4,
+       0xF3, 4206,
+       0xF2, 4200,
+       0x66, 4194,
+       0x0, 4188,
+       /*4188*/ uint16(xSetOp), uint16(CVTPS2PD),
+       /*4190*/ uint16(xReadSlashR),
+       /*4191*/ uint16(xArgXmm1),
+       /*4192*/ uint16(xArgXmm2M64),
+       /*4193*/ uint16(xMatch),
+       /*4194*/ uint16(xSetOp), uint16(CVTPD2PS),
+       /*4196*/ uint16(xReadSlashR),
+       /*4197*/ uint16(xArgXmm1),
+       /*4198*/ uint16(xArgXmm2M128),
+       /*4199*/ uint16(xMatch),
+       /*4200*/ uint16(xSetOp), uint16(CVTSD2SS),
+       /*4202*/ uint16(xReadSlashR),
+       /*4203*/ uint16(xArgXmm1),
+       /*4204*/ uint16(xArgXmm2M64),
+       /*4205*/ uint16(xMatch),
+       /*4206*/ uint16(xSetOp), uint16(CVTSS2SD),
+       /*4208*/ uint16(xReadSlashR),
+       /*4209*/ uint16(xArgXmm1),
+       /*4210*/ uint16(xArgXmm2M32),
+       /*4211*/ uint16(xMatch),
+       /*4212*/ uint16(xCondPrefix), 3,
+       0xF3, 4232,
+       0x66, 4226,
+       0x0, 4220,
+       /*4220*/ uint16(xSetOp), uint16(CVTDQ2PS),
+       /*4222*/ uint16(xReadSlashR),
+       /*4223*/ uint16(xArgXmm1),
+       /*4224*/ uint16(xArgXmm2M128),
+       /*4225*/ uint16(xMatch),
+       /*4226*/ uint16(xSetOp), uint16(CVTPS2DQ),
+       /*4228*/ uint16(xReadSlashR),
+       /*4229*/ uint16(xArgXmm1),
+       /*4230*/ uint16(xArgXmm2M128),
+       /*4231*/ uint16(xMatch),
+       /*4232*/ uint16(xSetOp), uint16(CVTTPS2DQ),
+       /*4234*/ uint16(xReadSlashR),
+       /*4235*/ uint16(xArgXmm1),
+       /*4236*/ uint16(xArgXmm2M128),
+       /*4237*/ uint16(xMatch),
+       /*4238*/ uint16(xCondPrefix), 4,
+       0xF3, 4266,
+       0xF2, 4260,
+       0x66, 4254,
+       0x0, 4248,
+       /*4248*/ uint16(xSetOp), uint16(SUBPS),
+       /*4250*/ uint16(xReadSlashR),
+       /*4251*/ uint16(xArgXmm1),
+       /*4252*/ uint16(xArgXmm2M128),
+       /*4253*/ uint16(xMatch),
+       /*4254*/ uint16(xSetOp), uint16(SUBPD),
+       /*4256*/ uint16(xReadSlashR),
+       /*4257*/ uint16(xArgXmm1),
+       /*4258*/ uint16(xArgXmm2M128),
+       /*4259*/ uint16(xMatch),
+       /*4260*/ uint16(xSetOp), uint16(SUBSD),
+       /*4262*/ uint16(xReadSlashR),
+       /*4263*/ uint16(xArgXmm1),
+       /*4264*/ uint16(xArgXmm2M64),
+       /*4265*/ uint16(xMatch),
+       /*4266*/ uint16(xSetOp), uint16(SUBSS),
+       /*4268*/ uint16(xReadSlashR),
+       /*4269*/ uint16(xArgXmm1),
+       /*4270*/ uint16(xArgXmm2M32),
+       /*4271*/ uint16(xMatch),
+       /*4272*/ uint16(xCondPrefix), 4,
+       0xF3, 4300,
+       0xF2, 4294,
+       0x66, 4288,
+       0x0, 4282,
+       /*4282*/ uint16(xSetOp), uint16(MINPS),
+       /*4284*/ uint16(xReadSlashR),
+       /*4285*/ uint16(xArgXmm1),
+       /*4286*/ uint16(xArgXmm2M128),
+       /*4287*/ uint16(xMatch),
+       /*4288*/ uint16(xSetOp), uint16(MINPD),
+       /*4290*/ uint16(xReadSlashR),
+       /*4291*/ uint16(xArgXmm1),
+       /*4292*/ uint16(xArgXmm2M128),
+       /*4293*/ uint16(xMatch),
+       /*4294*/ uint16(xSetOp), uint16(MINSD),
+       /*4296*/ uint16(xReadSlashR),
+       /*4297*/ uint16(xArgXmm1),
+       /*4298*/ uint16(xArgXmm2M64),
+       /*4299*/ uint16(xMatch),
+       /*4300*/ uint16(xSetOp), uint16(MINSS),
+       /*4302*/ uint16(xReadSlashR),
+       /*4303*/ uint16(xArgXmm1),
+       /*4304*/ uint16(xArgXmm2M32),
+       /*4305*/ uint16(xMatch),
+       /*4306*/ uint16(xCondPrefix), 4,
+       0xF3, 4334,
+       0xF2, 4328,
+       0x66, 4322,
+       0x0, 4316,
+       /*4316*/ uint16(xSetOp), uint16(DIVPS),
+       /*4318*/ uint16(xReadSlashR),
+       /*4319*/ uint16(xArgXmm1),
+       /*4320*/ uint16(xArgXmm2M128),
+       /*4321*/ uint16(xMatch),
+       /*4322*/ uint16(xSetOp), uint16(DIVPD),
+       /*4324*/ uint16(xReadSlashR),
+       /*4325*/ uint16(xArgXmm1),
+       /*4326*/ uint16(xArgXmm2M128),
+       /*4327*/ uint16(xMatch),
+       /*4328*/ uint16(xSetOp), uint16(DIVSD),
+       /*4330*/ uint16(xReadSlashR),
+       /*4331*/ uint16(xArgXmm1),
+       /*4332*/ uint16(xArgXmm2M64),
+       /*4333*/ uint16(xMatch),
+       /*4334*/ uint16(xSetOp), uint16(DIVSS),
+       /*4336*/ uint16(xReadSlashR),
+       /*4337*/ uint16(xArgXmm1),
+       /*4338*/ uint16(xArgXmm2M32),
+       /*4339*/ uint16(xMatch),
+       /*4340*/ uint16(xCondPrefix), 4,
+       0xF3, 4368,
+       0xF2, 4362,
+       0x66, 4356,
+       0x0, 4350,
+       /*4350*/ uint16(xSetOp), uint16(MAXPS),
+       /*4352*/ uint16(xReadSlashR),
+       /*4353*/ uint16(xArgXmm1),
+       /*4354*/ uint16(xArgXmm2M128),
+       /*4355*/ uint16(xMatch),
+       /*4356*/ uint16(xSetOp), uint16(MAXPD),
+       /*4358*/ uint16(xReadSlashR),
+       /*4359*/ uint16(xArgXmm1),
+       /*4360*/ uint16(xArgXmm2M128),
+       /*4361*/ uint16(xMatch),
+       /*4362*/ uint16(xSetOp), uint16(MAXSD),
+       /*4364*/ uint16(xReadSlashR),
+       /*4365*/ uint16(xArgXmm1),
+       /*4366*/ uint16(xArgXmm2M64),
+       /*4367*/ uint16(xMatch),
+       /*4368*/ uint16(xSetOp), uint16(MAXSS),
+       /*4370*/ uint16(xReadSlashR),
+       /*4371*/ uint16(xArgXmm1),
+       /*4372*/ uint16(xArgXmm2M32),
+       /*4373*/ uint16(xMatch),
+       /*4374*/ uint16(xCondPrefix), 2,
+       0x66, 4386,
+       0x0, 4380,
+       /*4380*/ uint16(xSetOp), uint16(PUNPCKLBW),
+       /*4382*/ uint16(xReadSlashR),
+       /*4383*/ uint16(xArgMm),
+       /*4384*/ uint16(xArgMmM32),
+       /*4385*/ uint16(xMatch),
+       /*4386*/ uint16(xSetOp), uint16(PUNPCKLBW),
+       /*4388*/ uint16(xReadSlashR),
+       /*4389*/ uint16(xArgXmm1),
+       /*4390*/ uint16(xArgXmm2M128),
+       /*4391*/ uint16(xMatch),
+       /*4392*/ uint16(xCondPrefix), 2,
+       0x66, 4404,
+       0x0, 4398,
+       /*4398*/ uint16(xSetOp), uint16(PUNPCKLWD),
+       /*4400*/ uint16(xReadSlashR),
+       /*4401*/ uint16(xArgMm),
+       /*4402*/ uint16(xArgMmM32),
+       /*4403*/ uint16(xMatch),
+       /*4404*/ uint16(xSetOp), uint16(PUNPCKLWD),
+       /*4406*/ uint16(xReadSlashR),
+       /*4407*/ uint16(xArgXmm1),
+       /*4408*/ uint16(xArgXmm2M128),
+       /*4409*/ uint16(xMatch),
+       /*4410*/ uint16(xCondPrefix), 2,
+       0x66, 4422,
+       0x0, 4416,
+       /*4416*/ uint16(xSetOp), uint16(PUNPCKLDQ),
+       /*4418*/ uint16(xReadSlashR),
+       /*4419*/ uint16(xArgMm),
+       /*4420*/ uint16(xArgMmM32),
+       /*4421*/ uint16(xMatch),
+       /*4422*/ uint16(xSetOp), uint16(PUNPCKLDQ),
+       /*4424*/ uint16(xReadSlashR),
+       /*4425*/ uint16(xArgXmm1),
+       /*4426*/ uint16(xArgXmm2M128),
+       /*4427*/ uint16(xMatch),
+       /*4428*/ uint16(xCondPrefix), 2,
+       0x66, 4440,
+       0x0, 4434,
+       /*4434*/ uint16(xSetOp), uint16(PACKSSWB),
+       /*4436*/ uint16(xReadSlashR),
+       /*4437*/ uint16(xArgMm1),
+       /*4438*/ uint16(xArgMm2M64),
+       /*4439*/ uint16(xMatch),
+       /*4440*/ uint16(xSetOp), uint16(PACKSSWB),
+       /*4442*/ uint16(xReadSlashR),
+       /*4443*/ uint16(xArgXmm1),
+       /*4444*/ uint16(xArgXmm2M128),
+       /*4445*/ uint16(xMatch),
+       /*4446*/ uint16(xCondPrefix), 2,
+       0x66, 4458,
+       0x0, 4452,
+       /*4452*/ uint16(xSetOp), uint16(PCMPGTB),
+       /*4454*/ uint16(xReadSlashR),
+       /*4455*/ uint16(xArgMm),
+       /*4456*/ uint16(xArgMmM64),
+       /*4457*/ uint16(xMatch),
+       /*4458*/ uint16(xSetOp), uint16(PCMPGTB),
+       /*4460*/ uint16(xReadSlashR),
+       /*4461*/ uint16(xArgXmm1),
+       /*4462*/ uint16(xArgXmm2M128),
+       /*4463*/ uint16(xMatch),
+       /*4464*/ uint16(xCondPrefix), 2,
+       0x66, 4476,
+       0x0, 4470,
+       /*4470*/ uint16(xSetOp), uint16(PCMPGTW),
+       /*4472*/ uint16(xReadSlashR),
+       /*4473*/ uint16(xArgMm),
+       /*4474*/ uint16(xArgMmM64),
+       /*4475*/ uint16(xMatch),
+       /*4476*/ uint16(xSetOp), uint16(PCMPGTW),
+       /*4478*/ uint16(xReadSlashR),
+       /*4479*/ uint16(xArgXmm1),
+       /*4480*/ uint16(xArgXmm2M128),
+       /*4481*/ uint16(xMatch),
+       /*4482*/ uint16(xCondPrefix), 2,
+       0x66, 4494,
+       0x0, 4488,
+       /*4488*/ uint16(xSetOp), uint16(PCMPGTD),
+       /*4490*/ uint16(xReadSlashR),
+       /*4491*/ uint16(xArgMm),
+       /*4492*/ uint16(xArgMmM64),
+       /*4493*/ uint16(xMatch),
+       /*4494*/ uint16(xSetOp), uint16(PCMPGTD),
+       /*4496*/ uint16(xReadSlashR),
+       /*4497*/ uint16(xArgXmm1),
+       /*4498*/ uint16(xArgXmm2M128),
+       /*4499*/ uint16(xMatch),
+       /*4500*/ uint16(xCondPrefix), 2,
+       0x66, 4512,
+       0x0, 4506,
+       /*4506*/ uint16(xSetOp), uint16(PACKUSWB),
+       /*4508*/ uint16(xReadSlashR),
+       /*4509*/ uint16(xArgMm),
+       /*4510*/ uint16(xArgMmM64),
+       /*4511*/ uint16(xMatch),
+       /*4512*/ uint16(xSetOp), uint16(PACKUSWB),
+       /*4514*/ uint16(xReadSlashR),
+       /*4515*/ uint16(xArgXmm1),
+       /*4516*/ uint16(xArgXmm2M128),
+       /*4517*/ uint16(xMatch),
+       /*4518*/ uint16(xCondPrefix), 2,
+       0x66, 4530,
+       0x0, 4524,
+       /*4524*/ uint16(xSetOp), uint16(PUNPCKHBW),
+       /*4526*/ uint16(xReadSlashR),
+       /*4527*/ uint16(xArgMm),
+       /*4528*/ uint16(xArgMmM64),
+       /*4529*/ uint16(xMatch),
+       /*4530*/ uint16(xSetOp), uint16(PUNPCKHBW),
+       /*4532*/ uint16(xReadSlashR),
+       /*4533*/ uint16(xArgXmm1),
+       /*4534*/ uint16(xArgXmm2M128),
+       /*4535*/ uint16(xMatch),
+       /*4536*/ uint16(xCondPrefix), 2,
+       0x66, 4548,
+       0x0, 4542,
+       /*4542*/ uint16(xSetOp), uint16(PUNPCKHWD),
+       /*4544*/ uint16(xReadSlashR),
+       /*4545*/ uint16(xArgMm),
+       /*4546*/ uint16(xArgMmM64),
+       /*4547*/ uint16(xMatch),
+       /*4548*/ uint16(xSetOp), uint16(PUNPCKHWD),
+       /*4550*/ uint16(xReadSlashR),
+       /*4551*/ uint16(xArgXmm1),
+       /*4552*/ uint16(xArgXmm2M128),
+       /*4553*/ uint16(xMatch),
+       /*4554*/ uint16(xCondPrefix), 2,
+       0x66, 4566,
+       0x0, 4560,
+       /*4560*/ uint16(xSetOp), uint16(PUNPCKHDQ),
+       /*4562*/ uint16(xReadSlashR),
+       /*4563*/ uint16(xArgMm),
+       /*4564*/ uint16(xArgMmM64),
+       /*4565*/ uint16(xMatch),
+       /*4566*/ uint16(xSetOp), uint16(PUNPCKHDQ),
+       /*4568*/ uint16(xReadSlashR),
+       /*4569*/ uint16(xArgXmm1),
+       /*4570*/ uint16(xArgXmm2M128),
+       /*4571*/ uint16(xMatch),
+       /*4572*/ uint16(xCondPrefix), 2,
+       0x66, 4584,
+       0x0, 4578,
+       /*4578*/ uint16(xSetOp), uint16(PACKSSDW),
+       /*4580*/ uint16(xReadSlashR),
+       /*4581*/ uint16(xArgMm1),
+       /*4582*/ uint16(xArgMm2M64),
+       /*4583*/ uint16(xMatch),
+       /*4584*/ uint16(xSetOp), uint16(PACKSSDW),
+       /*4586*/ uint16(xReadSlashR),
+       /*4587*/ uint16(xArgXmm1),
+       /*4588*/ uint16(xArgXmm2M128),
+       /*4589*/ uint16(xMatch),
+       /*4590*/ uint16(xCondPrefix), 1,
+       0x66, 4594,
+       /*4594*/ uint16(xSetOp), uint16(PUNPCKLQDQ),
+       /*4596*/ uint16(xReadSlashR),
+       /*4597*/ uint16(xArgXmm1),
+       /*4598*/ uint16(xArgXmm2M128),
+       /*4599*/ uint16(xMatch),
+       /*4600*/ uint16(xCondPrefix), 1,
+       0x66, 4604,
+       /*4604*/ uint16(xSetOp), uint16(PUNPCKHQDQ),
+       /*4606*/ uint16(xReadSlashR),
+       /*4607*/ uint16(xArgXmm1),
+       /*4608*/ uint16(xArgXmm2M128),
+       /*4609*/ uint16(xMatch),
+       /*4610*/ uint16(xCondIs64), 4613, 4651,
+       /*4613*/ uint16(xCondPrefix), 2,
+       0x66, 4635,
+       0x0, 4619,
+       /*4619*/ uint16(xCondDataSize), 4623, 4629, 0,
+       /*4623*/ uint16(xSetOp), uint16(MOVD),
+       /*4625*/ uint16(xReadSlashR),
+       /*4626*/ uint16(xArgMm),
+       /*4627*/ uint16(xArgRM32),
+       /*4628*/ uint16(xMatch),
+       /*4629*/ uint16(xSetOp), uint16(MOVD),
+       /*4631*/ uint16(xReadSlashR),
+       /*4632*/ uint16(xArgMm),
+       /*4633*/ uint16(xArgRM32),
+       /*4634*/ uint16(xMatch),
+       /*4635*/ uint16(xCondDataSize), 4639, 4645, 0,
+       /*4639*/ uint16(xSetOp), uint16(MOVD),
+       /*4641*/ uint16(xReadSlashR),
+       /*4642*/ uint16(xArgXmm),
+       /*4643*/ uint16(xArgRM32),
+       /*4644*/ uint16(xMatch),
+       /*4645*/ uint16(xSetOp), uint16(MOVD),
+       /*4647*/ uint16(xReadSlashR),
+       /*4648*/ uint16(xArgXmm),
+       /*4649*/ uint16(xArgRM32),
+       /*4650*/ uint16(xMatch),
+       /*4651*/ uint16(xCondPrefix), 2,
+       0x66, 4667,
+       0x0, 4657,
+       /*4657*/ uint16(xCondDataSize), 4623, 4629, 4661,
+       /*4661*/ uint16(xSetOp), uint16(MOVQ),
+       /*4663*/ uint16(xReadSlashR),
+       /*4664*/ uint16(xArgMm),
+       /*4665*/ uint16(xArgRM64),
+       /*4666*/ uint16(xMatch),
+       /*4667*/ uint16(xCondDataSize), 4639, 4645, 4671,
+       /*4671*/ uint16(xSetOp), uint16(MOVQ),
+       /*4673*/ uint16(xReadSlashR),
+       /*4674*/ uint16(xArgXmm),
+       /*4675*/ uint16(xArgRM64),
+       /*4676*/ uint16(xMatch),
+       /*4677*/ uint16(xCondPrefix), 3,
+       0xF3, 4697,
+       0x66, 4691,
+       0x0, 4685,
+       /*4685*/ uint16(xSetOp), uint16(MOVQ),
+       /*4687*/ uint16(xReadSlashR),
+       /*4688*/ uint16(xArgMm),
+       /*4689*/ uint16(xArgMmM64),
+       /*4690*/ uint16(xMatch),
+       /*4691*/ uint16(xSetOp), uint16(MOVDQA),
+       /*4693*/ uint16(xReadSlashR),
+       /*4694*/ uint16(xArgXmm1),
+       /*4695*/ uint16(xArgXmm2M128),
+       /*4696*/ uint16(xMatch),
+       /*4697*/ uint16(xSetOp), uint16(MOVDQU),
+       /*4699*/ uint16(xReadSlashR),
+       /*4700*/ uint16(xArgXmm1),
+       /*4701*/ uint16(xArgXmm2M128),
+       /*4702*/ uint16(xMatch),
+       /*4703*/ uint16(xCondPrefix), 4,
+       0xF3, 4737,
+       0xF2, 4729,
+       0x66, 4721,
+       0x0, 4713,
+       /*4713*/ uint16(xSetOp), uint16(PSHUFW),
+       /*4715*/ uint16(xReadSlashR),
+       /*4716*/ uint16(xReadIb),
+       /*4717*/ uint16(xArgMm1),
+       /*4718*/ uint16(xArgMm2M64),
+       /*4719*/ uint16(xArgImm8u),
+       /*4720*/ uint16(xMatch),
+       /*4721*/ uint16(xSetOp), uint16(PSHUFD),
+       /*4723*/ uint16(xReadSlashR),
+       /*4724*/ uint16(xReadIb),
+       /*4725*/ uint16(xArgXmm1),
+       /*4726*/ uint16(xArgXmm2M128),
+       /*4727*/ uint16(xArgImm8u),
+       /*4728*/ uint16(xMatch),
+       /*4729*/ uint16(xSetOp), uint16(PSHUFLW),
+       /*4731*/ uint16(xReadSlashR),
+       /*4732*/ uint16(xReadIb),
+       /*4733*/ uint16(xArgXmm1),
+       /*4734*/ uint16(xArgXmm2M128),
+       /*4735*/ uint16(xArgImm8u),
+       /*4736*/ uint16(xMatch),
+       /*4737*/ uint16(xSetOp), uint16(PSHUFHW),
+       /*4739*/ uint16(xReadSlashR),
+       /*4740*/ uint16(xReadIb),
+       /*4741*/ uint16(xArgXmm1),
+       /*4742*/ uint16(xArgXmm2M128),
+       /*4743*/ uint16(xArgImm8u),
+       /*4744*/ uint16(xMatch),
+       /*4745*/ uint16(xCondSlashR),
        0,    // 0
        0,    // 1
-       4752, // 2
+       4754, // 2
        0,    // 3
-       4770, // 4
+       4772, // 4
        0,    // 5
-       4788, // 6
+       4790, // 6
        0,    // 7
-       /*4752*/ uint16(xCondPrefix), 2,
-       0x66, 4764,
-       0x0, 4758,
-       /*4758*/ uint16(xSetOp), uint16(PSRLW),
-       /*4760*/ uint16(xReadIb),
-       /*4761*/ uint16(xArgMm2),
-       /*4762*/ uint16(xArgImm8u),
-       /*4763*/ uint16(xMatch),
-       /*4764*/ uint16(xSetOp), uint16(PSRLW),
-       /*4766*/ uint16(xReadIb),
-       /*4767*/ uint16(xArgXmm2),
-       /*4768*/ uint16(xArgImm8u),
-       /*4769*/ uint16(xMatch),
-       /*4770*/ uint16(xCondPrefix), 2,
-       0x66, 4782,
-       0x0, 4776,
-       /*4776*/ uint16(xSetOp), uint16(PSRAW),
-       /*4778*/ uint16(xReadIb),
-       /*4779*/ uint16(xArgMm2),
-       /*4780*/ uint16(xArgImm8u),
-       /*4781*/ uint16(xMatch),
-       /*4782*/ uint16(xSetOp), uint16(PSRAW),
-       /*4784*/ uint16(xReadIb),
-       /*4785*/ uint16(xArgXmm2),
-       /*4786*/ uint16(xArgImm8u),
-       /*4787*/ uint16(xMatch),
-       /*4788*/ uint16(xCondPrefix), 2,
-       0x66, 4800,
-       0x0, 4794,
-       /*4794*/ uint16(xSetOp), uint16(PSLLW),
-       /*4796*/ uint16(xReadIb),
-       /*4797*/ uint16(xArgMm2),
-       /*4798*/ uint16(xArgImm8u),
-       /*4799*/ uint16(xMatch),
-       /*4800*/ uint16(xSetOp), uint16(PSLLW),
-       /*4802*/ uint16(xReadIb),
-       /*4803*/ uint16(xArgXmm2),
-       /*4804*/ uint16(xArgImm8u),
-       /*4805*/ uint16(xMatch),
-       /*4806*/ uint16(xCondSlashR),
+       /*4754*/ uint16(xCondPrefix), 2,
+       0x66, 4766,
+       0x0, 4760,
+       /*4760*/ uint16(xSetOp), uint16(PSRLW),
+       /*4762*/ uint16(xReadIb),
+       /*4763*/ uint16(xArgMm2),
+       /*4764*/ uint16(xArgImm8u),
+       /*4765*/ uint16(xMatch),
+       /*4766*/ uint16(xSetOp), uint16(PSRLW),
+       /*4768*/ uint16(xReadIb),
+       /*4769*/ uint16(xArgXmm2),
+       /*4770*/ uint16(xArgImm8u),
+       /*4771*/ uint16(xMatch),
+       /*4772*/ uint16(xCondPrefix), 2,
+       0x66, 4784,
+       0x0, 4778,
+       /*4778*/ uint16(xSetOp), uint16(PSRAW),
+       /*4780*/ uint16(xReadIb),
+       /*4781*/ uint16(xArgMm2),
+       /*4782*/ uint16(xArgImm8u),
+       /*4783*/ uint16(xMatch),
+       /*4784*/ uint16(xSetOp), uint16(PSRAW),
+       /*4786*/ uint16(xReadIb),
+       /*4787*/ uint16(xArgXmm2),
+       /*4788*/ uint16(xArgImm8u),
+       /*4789*/ uint16(xMatch),
+       /*4790*/ uint16(xCondPrefix), 2,
+       0x66, 4802,
+       0x0, 4796,
+       /*4796*/ uint16(xSetOp), uint16(PSLLW),
+       /*4798*/ uint16(xReadIb),
+       /*4799*/ uint16(xArgMm2),
+       /*4800*/ uint16(xArgImm8u),
+       /*4801*/ uint16(xMatch),
+       /*4802*/ uint16(xSetOp), uint16(PSLLW),
+       /*4804*/ uint16(xReadIb),
+       /*4805*/ uint16(xArgXmm2),
+       /*4806*/ uint16(xArgImm8u),
+       /*4807*/ uint16(xMatch),
+       /*4808*/ uint16(xCondSlashR),
        0,    // 0
        0,    // 1
-       4815, // 2
+       4817, // 2
        0,    // 3
-       4833, // 4
+       4835, // 4
        0,    // 5
-       4851, // 6
+       4853, // 6
        0,    // 7
-       /*4815*/ uint16(xCondPrefix), 2,
-       0x66, 4827,
-       0x0, 4821,
-       /*4821*/ uint16(xSetOp), uint16(PSRLD),
-       /*4823*/ uint16(xReadIb),
-       /*4824*/ uint16(xArgMm2),
-       /*4825*/ uint16(xArgImm8u),
-       /*4826*/ uint16(xMatch),
-       /*4827*/ uint16(xSetOp), uint16(PSRLD),
-       /*4829*/ uint16(xReadIb),
-       /*4830*/ uint16(xArgXmm2),
-       /*4831*/ uint16(xArgImm8u),
-       /*4832*/ uint16(xMatch),
-       /*4833*/ uint16(xCondPrefix), 2,
-       0x66, 4845,
-       0x0, 4839,
-       /*4839*/ uint16(xSetOp), uint16(PSRAD),
-       /*4841*/ uint16(xReadIb),
-       /*4842*/ uint16(xArgMm2),
-       /*4843*/ uint16(xArgImm8u),
-       /*4844*/ uint16(xMatch),
-       /*4845*/ uint16(xSetOp), uint16(PSRAD),
-       /*4847*/ uint16(xReadIb),
-       /*4848*/ uint16(xArgXmm2),
-       /*4849*/ uint16(xArgImm8u),
-       /*4850*/ uint16(xMatch),
-       /*4851*/ uint16(xCondPrefix), 2,
-       0x66, 4863,
-       0x0, 4857,
-       /*4857*/ uint16(xSetOp), uint16(PSLLD),
-       /*4859*/ uint16(xReadIb),
-       /*4860*/ uint16(xArgMm2),
-       /*4861*/ uint16(xArgImm8u),
-       /*4862*/ uint16(xMatch),
-       /*4863*/ uint16(xSetOp), uint16(PSLLD),
-       /*4865*/ uint16(xReadIb),
-       /*4866*/ uint16(xArgXmm2),
-       /*4867*/ uint16(xArgImm8u),
-       /*4868*/ uint16(xMatch),
-       /*4869*/ uint16(xCondSlashR),
+       /*4817*/ uint16(xCondPrefix), 2,
+       0x66, 4829,
+       0x0, 4823,
+       /*4823*/ uint16(xSetOp), uint16(PSRLD),
+       /*4825*/ uint16(xReadIb),
+       /*4826*/ uint16(xArgMm2),
+       /*4827*/ uint16(xArgImm8u),
+       /*4828*/ uint16(xMatch),
+       /*4829*/ uint16(xSetOp), uint16(PSRLD),
+       /*4831*/ uint16(xReadIb),
+       /*4832*/ uint16(xArgXmm2),
+       /*4833*/ uint16(xArgImm8u),
+       /*4834*/ uint16(xMatch),
+       /*4835*/ uint16(xCondPrefix), 2,
+       0x66, 4847,
+       0x0, 4841,
+       /*4841*/ uint16(xSetOp), uint16(PSRAD),
+       /*4843*/ uint16(xReadIb),
+       /*4844*/ uint16(xArgMm2),
+       /*4845*/ uint16(xArgImm8u),
+       /*4846*/ uint16(xMatch),
+       /*4847*/ uint16(xSetOp), uint16(PSRAD),
+       /*4849*/ uint16(xReadIb),
+       /*4850*/ uint16(xArgXmm2),
+       /*4851*/ uint16(xArgImm8u),
+       /*4852*/ uint16(xMatch),
+       /*4853*/ uint16(xCondPrefix), 2,
+       0x66, 4865,
+       0x0, 4859,
+       /*4859*/ uint16(xSetOp), uint16(PSLLD),
+       /*4861*/ uint16(xReadIb),
+       /*4862*/ uint16(xArgMm2),
+       /*4863*/ uint16(xArgImm8u),
+       /*4864*/ uint16(xMatch),
+       /*4865*/ uint16(xSetOp), uint16(PSLLD),
+       /*4867*/ uint16(xReadIb),
+       /*4868*/ uint16(xArgXmm2),
+       /*4869*/ uint16(xArgImm8u),
+       /*4870*/ uint16(xMatch),
+       /*4871*/ uint16(xCondSlashR),
        0,    // 0
        0,    // 1
-       4878, // 2
-       4896, // 3
+       4880, // 2
+       4898, // 3
        0,    // 4
        0,    // 5
-       4906, // 6
-       4924, // 7
-       /*4878*/ uint16(xCondPrefix), 2,
-       0x66, 4890,
-       0x0, 4884,
-       /*4884*/ uint16(xSetOp), uint16(PSRLQ),
-       /*4886*/ uint16(xReadIb),
-       /*4887*/ uint16(xArgMm2),
-       /*4888*/ uint16(xArgImm8u),
-       /*4889*/ uint16(xMatch),
-       /*4890*/ uint16(xSetOp), uint16(PSRLQ),
-       /*4892*/ uint16(xReadIb),
-       /*4893*/ uint16(xArgXmm2),
-       /*4894*/ uint16(xArgImm8u),
-       /*4895*/ uint16(xMatch),
-       /*4896*/ uint16(xCondPrefix), 1,
-       0x66, 4900,
-       /*4900*/ uint16(xSetOp), uint16(PSRLDQ),
-       /*4902*/ uint16(xReadIb),
-       /*4903*/ uint16(xArgXmm2),
-       /*4904*/ uint16(xArgImm8u),
-       /*4905*/ uint16(xMatch),
-       /*4906*/ uint16(xCondPrefix), 2,
-       0x66, 4918,
-       0x0, 4912,
-       /*4912*/ uint16(xSetOp), uint16(PSLLQ),
-       /*4914*/ uint16(xReadIb),
-       /*4915*/ uint16(xArgMm2),
-       /*4916*/ uint16(xArgImm8u),
-       /*4917*/ uint16(xMatch),
-       /*4918*/ uint16(xSetOp), uint16(PSLLQ),
-       /*4920*/ uint16(xReadIb),
-       /*4921*/ uint16(xArgXmm2),
-       /*4922*/ uint16(xArgImm8u),
-       /*4923*/ uint16(xMatch),
-       /*4924*/ uint16(xCondPrefix), 1,
-       0x66, 4928,
-       /*4928*/ uint16(xSetOp), uint16(PSLLDQ),
-       /*4930*/ uint16(xReadIb),
-       /*4931*/ uint16(xArgXmm2),
-       /*4932*/ uint16(xArgImm8u),
-       /*4933*/ uint16(xMatch),
-       /*4934*/ uint16(xCondPrefix), 2,
-       0x66, 4946,
-       0x0, 4940,
-       /*4940*/ uint16(xSetOp), uint16(PCMPEQB),
-       /*4942*/ uint16(xReadSlashR),
-       /*4943*/ uint16(xArgMm),
-       /*4944*/ uint16(xArgMmM64),
-       /*4945*/ uint16(xMatch),
-       /*4946*/ uint16(xSetOp), uint16(PCMPEQB),
-       /*4948*/ uint16(xReadSlashR),
-       /*4949*/ uint16(xArgXmm1),
-       /*4950*/ uint16(xArgXmm2M128),
-       /*4951*/ uint16(xMatch),
-       /*4952*/ uint16(xCondPrefix), 2,
-       0x66, 4964,
-       0x0, 4958,
-       /*4958*/ uint16(xSetOp), uint16(PCMPEQW),
-       /*4960*/ uint16(xReadSlashR),
-       /*4961*/ uint16(xArgMm),
-       /*4962*/ uint16(xArgMmM64),
-       /*4963*/ uint16(xMatch),
-       /*4964*/ uint16(xSetOp), uint16(PCMPEQW),
-       /*4966*/ uint16(xReadSlashR),
-       /*4967*/ uint16(xArgXmm1),
-       /*4968*/ uint16(xArgXmm2M128),
-       /*4969*/ uint16(xMatch),
-       /*4970*/ uint16(xCondPrefix), 2,
-       0x66, 4982,
-       0x0, 4976,
-       /*4976*/ uint16(xSetOp), uint16(PCMPEQD),
-       /*4978*/ uint16(xReadSlashR),
-       /*4979*/ uint16(xArgMm),
-       /*4980*/ uint16(xArgMmM64),
-       /*4981*/ uint16(xMatch),
-       /*4982*/ uint16(xSetOp), uint16(PCMPEQD),
-       /*4984*/ uint16(xReadSlashR),
-       /*4985*/ uint16(xArgXmm1),
-       /*4986*/ uint16(xArgXmm2M128),
-       /*4987*/ uint16(xMatch),
-       /*4988*/ uint16(xSetOp), uint16(EMMS),
-       /*4990*/ uint16(xMatch),
-       /*4991*/ uint16(xCondPrefix), 2,
-       0xF2, 5003,
-       0x66, 4997,
-       /*4997*/ uint16(xSetOp), uint16(HADDPD),
-       /*4999*/ uint16(xReadSlashR),
-       /*5000*/ uint16(xArgXmm1),
-       /*5001*/ uint16(xArgXmm2M128),
-       /*5002*/ uint16(xMatch),
-       /*5003*/ uint16(xSetOp), uint16(HADDPS),
-       /*5005*/ uint16(xReadSlashR),
-       /*5006*/ uint16(xArgXmm1),
-       /*5007*/ uint16(xArgXmm2M128),
-       /*5008*/ uint16(xMatch),
-       /*5009*/ uint16(xCondPrefix), 2,
-       0xF2, 5021,
-       0x66, 5015,
-       /*5015*/ uint16(xSetOp), uint16(HSUBPD),
-       /*5017*/ uint16(xReadSlashR),
-       /*5018*/ uint16(xArgXmm1),
-       /*5019*/ uint16(xArgXmm2M128),
-       /*5020*/ uint16(xMatch),
-       /*5021*/ uint16(xSetOp), uint16(HSUBPS),
-       /*5023*/ uint16(xReadSlashR),
-       /*5024*/ uint16(xArgXmm1),
-       /*5025*/ uint16(xArgXmm2M128),
-       /*5026*/ uint16(xMatch),
-       /*5027*/ uint16(xCondIs64), 5030, 5076,
-       /*5030*/ uint16(xCondPrefix), 3,
-       0xF3, 5070,
-       0x66, 5054,
-       0x0, 5038,
-       /*5038*/ uint16(xCondDataSize), 5042, 5048, 0,
-       /*5042*/ uint16(xSetOp), uint16(MOVD),
-       /*5044*/ uint16(xReadSlashR),
-       /*5045*/ uint16(xArgRM32),
-       /*5046*/ uint16(xArgMm),
-       /*5047*/ uint16(xMatch),
-       /*5048*/ uint16(xSetOp), uint16(MOVD),
-       /*5050*/ uint16(xReadSlashR),
-       /*5051*/ uint16(xArgRM32),
-       /*5052*/ uint16(xArgMm),
-       /*5053*/ uint16(xMatch),
-       /*5054*/ uint16(xCondDataSize), 5058, 5064, 0,
-       /*5058*/ uint16(xSetOp), uint16(MOVD),
-       /*5060*/ uint16(xReadSlashR),
-       /*5061*/ uint16(xArgRM32),
-       /*5062*/ uint16(xArgXmm),
-       /*5063*/ uint16(xMatch),
-       /*5064*/ uint16(xSetOp), uint16(MOVD),
-       /*5066*/ uint16(xReadSlashR),
-       /*5067*/ uint16(xArgRM32),
-       /*5068*/ uint16(xArgXmm),
-       /*5069*/ uint16(xMatch),
-       /*5070*/ uint16(xSetOp), uint16(MOVQ),
-       /*5072*/ uint16(xReadSlashR),
-       /*5073*/ uint16(xArgXmm1),
-       /*5074*/ uint16(xArgXmm2M64),
-       /*5075*/ uint16(xMatch),
-       /*5076*/ uint16(xCondPrefix), 3,
-       0xF3, 5070,
-       0x66, 5094,
-       0x0, 5084,
-       /*5084*/ uint16(xCondDataSize), 5042, 5048, 5088,
-       /*5088*/ uint16(xSetOp), uint16(MOVQ),
-       /*5090*/ uint16(xReadSlashR),
-       /*5091*/ uint16(xArgRM64),
-       /*5092*/ uint16(xArgMm),
-       /*5093*/ uint16(xMatch),
-       /*5094*/ uint16(xCondDataSize), 5058, 5064, 5098,
-       /*5098*/ uint16(xSetOp), uint16(MOVQ),
-       /*5100*/ uint16(xReadSlashR),
-       /*5101*/ uint16(xArgRM64),
-       /*5102*/ uint16(xArgXmm),
-       /*5103*/ uint16(xMatch),
-       /*5104*/ uint16(xCondPrefix), 3,
-       0xF3, 5124,
-       0x66, 5118,
-       0x0, 5112,
-       /*5112*/ uint16(xSetOp), uint16(MOVQ),
-       /*5114*/ uint16(xReadSlashR),
-       /*5115*/ uint16(xArgMmM64),
-       /*5116*/ uint16(xArgMm),
-       /*5117*/ uint16(xMatch),
-       /*5118*/ uint16(xSetOp), uint16(MOVDQA),
-       /*5120*/ uint16(xReadSlashR),
-       /*5121*/ uint16(xArgXmm2M128),
-       /*5122*/ uint16(xArgXmm1),
-       /*5123*/ uint16(xMatch),
-       /*5124*/ uint16(xSetOp), uint16(MOVDQU),
-       /*5126*/ uint16(xReadSlashR),
-       /*5127*/ uint16(xArgXmm2M128),
-       /*5128*/ uint16(xArgXmm1),
-       /*5129*/ uint16(xMatch),
-       /*5130*/ uint16(xCondIs64), 5133, 5147,
-       /*5133*/ uint16(xCondDataSize), 5137, 5142, 0,
-       /*5137*/ uint16(xSetOp), uint16(JO),
-       /*5139*/ uint16(xReadCw),
-       /*5140*/ uint16(xArgRel16),
-       /*5141*/ uint16(xMatch),
-       /*5142*/ uint16(xSetOp), uint16(JO),
-       /*5144*/ uint16(xReadCd),
-       /*5145*/ uint16(xArgRel32),
-       /*5146*/ uint16(xMatch),
-       /*5147*/ uint16(xCondDataSize), 5151, 5142, 5156,
-       /*5151*/ uint16(xSetOp), uint16(JO),
-       /*5153*/ uint16(xReadCd),
-       /*5154*/ uint16(xArgRel32),
-       /*5155*/ uint16(xMatch),
-       /*5156*/ uint16(xSetOp), uint16(JO),
-       /*5158*/ uint16(xReadCd),
-       /*5159*/ uint16(xArgRel32),
-       /*5160*/ uint16(xMatch),
-       /*5161*/ uint16(xCondIs64), 5164, 5178,
-       /*5164*/ uint16(xCondDataSize), 5168, 5173, 0,
-       /*5168*/ uint16(xSetOp), uint16(JNO),
-       /*5170*/ uint16(xReadCw),
-       /*5171*/ uint16(xArgRel16),
-       /*5172*/ uint16(xMatch),
-       /*5173*/ uint16(xSetOp), uint16(JNO),
-       /*5175*/ uint16(xReadCd),
-       /*5176*/ uint16(xArgRel32),
-       /*5177*/ uint16(xMatch),
-       /*5178*/ uint16(xCondDataSize), 5182, 5173, 5187,
-       /*5182*/ uint16(xSetOp), uint16(JNO),
-       /*5184*/ uint16(xReadCd),
-       /*5185*/ uint16(xArgRel32),
-       /*5186*/ uint16(xMatch),
-       /*5187*/ uint16(xSetOp), uint16(JNO),
-       /*5189*/ uint16(xReadCd),
-       /*5190*/ uint16(xArgRel32),
-       /*5191*/ uint16(xMatch),
-       /*5192*/ uint16(xCondIs64), 5195, 5209,
-       /*5195*/ uint16(xCondDataSize), 5199, 5204, 0,
-       /*5199*/ uint16(xSetOp), uint16(JB),
-       /*5201*/ uint16(xReadCw),
-       /*5202*/ uint16(xArgRel16),
-       /*5203*/ uint16(xMatch),
-       /*5204*/ uint16(xSetOp), uint16(JB),
-       /*5206*/ uint16(xReadCd),
-       /*5207*/ uint16(xArgRel32),
-       /*5208*/ uint16(xMatch),
-       /*5209*/ uint16(xCondDataSize), 5213, 5204, 5218,
-       /*5213*/ uint16(xSetOp), uint16(JB),
-       /*5215*/ uint16(xReadCd),
-       /*5216*/ uint16(xArgRel32),
-       /*5217*/ uint16(xMatch),
-       /*5218*/ uint16(xSetOp), uint16(JB),
-       /*5220*/ uint16(xReadCd),
-       /*5221*/ uint16(xArgRel32),
-       /*5222*/ uint16(xMatch),
-       /*5223*/ uint16(xCondIs64), 5226, 5240,
-       /*5226*/ uint16(xCondDataSize), 5230, 5235, 0,
-       /*5230*/ uint16(xSetOp), uint16(JAE),
-       /*5232*/ uint16(xReadCw),
-       /*5233*/ uint16(xArgRel16),
-       /*5234*/ uint16(xMatch),
-       /*5235*/ uint16(xSetOp), uint16(JAE),
-       /*5237*/ uint16(xReadCd),
-       /*5238*/ uint16(xArgRel32),
-       /*5239*/ uint16(xMatch),
-       /*5240*/ uint16(xCondDataSize), 5244, 5235, 5249,
-       /*5244*/ uint16(xSetOp), uint16(JAE),
-       /*5246*/ uint16(xReadCd),
-       /*5247*/ uint16(xArgRel32),
-       /*5248*/ uint16(xMatch),
-       /*5249*/ uint16(xSetOp), uint16(JAE),
-       /*5251*/ uint16(xReadCd),
-       /*5252*/ uint16(xArgRel32),
-       /*5253*/ uint16(xMatch),
-       /*5254*/ uint16(xCondIs64), 5257, 5271,
-       /*5257*/ uint16(xCondDataSize), 5261, 5266, 0,
-       /*5261*/ uint16(xSetOp), uint16(JE),
-       /*5263*/ uint16(xReadCw),
-       /*5264*/ uint16(xArgRel16),
-       /*5265*/ uint16(xMatch),
-       /*5266*/ uint16(xSetOp), uint16(JE),
-       /*5268*/ uint16(xReadCd),
-       /*5269*/ uint16(xArgRel32),
-       /*5270*/ uint16(xMatch),
-       /*5271*/ uint16(xCondDataSize), 5275, 5266, 5280,
-       /*5275*/ uint16(xSetOp), uint16(JE),
-       /*5277*/ uint16(xReadCd),
-       /*5278*/ uint16(xArgRel32),
-       /*5279*/ uint16(xMatch),
-       /*5280*/ uint16(xSetOp), uint16(JE),
-       /*5282*/ uint16(xReadCd),
-       /*5283*/ uint16(xArgRel32),
-       /*5284*/ uint16(xMatch),
-       /*5285*/ uint16(xCondIs64), 5288, 5302,
-       /*5288*/ uint16(xCondDataSize), 5292, 5297, 0,
-       /*5292*/ uint16(xSetOp), uint16(JNE),
-       /*5294*/ uint16(xReadCw),
-       /*5295*/ uint16(xArgRel16),
-       /*5296*/ uint16(xMatch),
-       /*5297*/ uint16(xSetOp), uint16(JNE),
-       /*5299*/ uint16(xReadCd),
-       /*5300*/ uint16(xArgRel32),
-       /*5301*/ uint16(xMatch),
-       /*5302*/ uint16(xCondDataSize), 5306, 5297, 5311,
-       /*5306*/ uint16(xSetOp), uint16(JNE),
-       /*5308*/ uint16(xReadCd),
-       /*5309*/ uint16(xArgRel32),
-       /*5310*/ uint16(xMatch),
-       /*5311*/ uint16(xSetOp), uint16(JNE),
-       /*5313*/ uint16(xReadCd),
-       /*5314*/ uint16(xArgRel32),
-       /*5315*/ uint16(xMatch),
-       /*5316*/ uint16(xCondIs64), 5319, 5333,
-       /*5319*/ uint16(xCondDataSize), 5323, 5328, 0,
-       /*5323*/ uint16(xSetOp), uint16(JBE),
-       /*5325*/ uint16(xReadCw),
-       /*5326*/ uint16(xArgRel16),
-       /*5327*/ uint16(xMatch),
-       /*5328*/ uint16(xSetOp), uint16(JBE),
-       /*5330*/ uint16(xReadCd),
-       /*5331*/ uint16(xArgRel32),
-       /*5332*/ uint16(xMatch),
-       /*5333*/ uint16(xCondDataSize), 5337, 5328, 5342,
-       /*5337*/ uint16(xSetOp), uint16(JBE),
-       /*5339*/ uint16(xReadCd),
-       /*5340*/ uint16(xArgRel32),
-       /*5341*/ uint16(xMatch),
-       /*5342*/ uint16(xSetOp), uint16(JBE),
-       /*5344*/ uint16(xReadCd),
-       /*5345*/ uint16(xArgRel32),
-       /*5346*/ uint16(xMatch),
-       /*5347*/ uint16(xCondIs64), 5350, 5364,
-       /*5350*/ uint16(xCondDataSize), 5354, 5359, 0,
-       /*5354*/ uint16(xSetOp), uint16(JA),
-       /*5356*/ uint16(xReadCw),
-       /*5357*/ uint16(xArgRel16),
-       /*5358*/ uint16(xMatch),
-       /*5359*/ uint16(xSetOp), uint16(JA),
-       /*5361*/ uint16(xReadCd),
-       /*5362*/ uint16(xArgRel32),
-       /*5363*/ uint16(xMatch),
-       /*5364*/ uint16(xCondDataSize), 5368, 5359, 5373,
-       /*5368*/ uint16(xSetOp), uint16(JA),
-       /*5370*/ uint16(xReadCd),
-       /*5371*/ uint16(xArgRel32),
-       /*5372*/ uint16(xMatch),
-       /*5373*/ uint16(xSetOp), uint16(JA),
-       /*5375*/ uint16(xReadCd),
-       /*5376*/ uint16(xArgRel32),
-       /*5377*/ uint16(xMatch),
-       /*5378*/ uint16(xCondIs64), 5381, 5395,
-       /*5381*/ uint16(xCondDataSize), 5385, 5390, 0,
-       /*5385*/ uint16(xSetOp), uint16(JS),
-       /*5387*/ uint16(xReadCw),
-       /*5388*/ uint16(xArgRel16),
-       /*5389*/ uint16(xMatch),
-       /*5390*/ uint16(xSetOp), uint16(JS),
-       /*5392*/ uint16(xReadCd),
-       /*5393*/ uint16(xArgRel32),
-       /*5394*/ uint16(xMatch),
-       /*5395*/ uint16(xCondDataSize), 5399, 5390, 5404,
-       /*5399*/ uint16(xSetOp), uint16(JS),
-       /*5401*/ uint16(xReadCd),
-       /*5402*/ uint16(xArgRel32),
-       /*5403*/ uint16(xMatch),
-       /*5404*/ uint16(xSetOp), uint16(JS),
-       /*5406*/ uint16(xReadCd),
-       /*5407*/ uint16(xArgRel32),
-       /*5408*/ uint16(xMatch),
-       /*5409*/ uint16(xCondIs64), 5412, 5426,
-       /*5412*/ uint16(xCondDataSize), 5416, 5421, 0,
-       /*5416*/ uint16(xSetOp), uint16(JNS),
-       /*5418*/ uint16(xReadCw),
-       /*5419*/ uint16(xArgRel16),
-       /*5420*/ uint16(xMatch),
-       /*5421*/ uint16(xSetOp), uint16(JNS),
-       /*5423*/ uint16(xReadCd),
-       /*5424*/ uint16(xArgRel32),
-       /*5425*/ uint16(xMatch),
-       /*5426*/ uint16(xCondDataSize), 5430, 5421, 5435,
-       /*5430*/ uint16(xSetOp), uint16(JNS),
-       /*5432*/ uint16(xReadCd),
-       /*5433*/ uint16(xArgRel32),
-       /*5434*/ uint16(xMatch),
-       /*5435*/ uint16(xSetOp), uint16(JNS),
-       /*5437*/ uint16(xReadCd),
-       /*5438*/ uint16(xArgRel32),
-       /*5439*/ uint16(xMatch),
-       /*5440*/ uint16(xCondIs64), 5443, 5457,
-       /*5443*/ uint16(xCondDataSize), 5447, 5452, 0,
-       /*5447*/ uint16(xSetOp), uint16(JP),
-       /*5449*/ uint16(xReadCw),
-       /*5450*/ uint16(xArgRel16),
-       /*5451*/ uint16(xMatch),
-       /*5452*/ uint16(xSetOp), uint16(JP),
-       /*5454*/ uint16(xReadCd),
-       /*5455*/ uint16(xArgRel32),
-       /*5456*/ uint16(xMatch),
-       /*5457*/ uint16(xCondDataSize), 5461, 5452, 5466,
-       /*5461*/ uint16(xSetOp), uint16(JP),
-       /*5463*/ uint16(xReadCd),
-       /*5464*/ uint16(xArgRel32),
-       /*5465*/ uint16(xMatch),
-       /*5466*/ uint16(xSetOp), uint16(JP),
-       /*5468*/ uint16(xReadCd),
-       /*5469*/ uint16(xArgRel32),
-       /*5470*/ uint16(xMatch),
-       /*5471*/ uint16(xCondIs64), 5474, 5488,
-       /*5474*/ uint16(xCondDataSize), 5478, 5483, 0,
-       /*5478*/ uint16(xSetOp), uint16(JNP),
-       /*5480*/ uint16(xReadCw),
-       /*5481*/ uint16(xArgRel16),
-       /*5482*/ uint16(xMatch),
-       /*5483*/ uint16(xSetOp), uint16(JNP),
-       /*5485*/ uint16(xReadCd),
-       /*5486*/ uint16(xArgRel32),
-       /*5487*/ uint16(xMatch),
-       /*5488*/ uint16(xCondDataSize), 5492, 5483, 5497,
-       /*5492*/ uint16(xSetOp), uint16(JNP),
-       /*5494*/ uint16(xReadCd),
-       /*5495*/ uint16(xArgRel32),
-       /*5496*/ uint16(xMatch),
-       /*5497*/ uint16(xSetOp), uint16(JNP),
-       /*5499*/ uint16(xReadCd),
-       /*5500*/ uint16(xArgRel32),
-       /*5501*/ uint16(xMatch),
-       /*5502*/ uint16(xCondIs64), 5505, 5519,
-       /*5505*/ uint16(xCondDataSize), 5509, 5514, 0,
-       /*5509*/ uint16(xSetOp), uint16(JL),
-       /*5511*/ uint16(xReadCw),
-       /*5512*/ uint16(xArgRel16),
-       /*5513*/ uint16(xMatch),
-       /*5514*/ uint16(xSetOp), uint16(JL),
-       /*5516*/ uint16(xReadCd),
-       /*5517*/ uint16(xArgRel32),
-       /*5518*/ uint16(xMatch),
-       /*5519*/ uint16(xCondDataSize), 5523, 5514, 5528,
-       /*5523*/ uint16(xSetOp), uint16(JL),
-       /*5525*/ uint16(xReadCd),
-       /*5526*/ uint16(xArgRel32),
-       /*5527*/ uint16(xMatch),
-       /*5528*/ uint16(xSetOp), uint16(JL),
-       /*5530*/ uint16(xReadCd),
-       /*5531*/ uint16(xArgRel32),
-       /*5532*/ uint16(xMatch),
-       /*5533*/ uint16(xCondIs64), 5536, 5550,
-       /*5536*/ uint16(xCondDataSize), 5540, 5545, 0,
-       /*5540*/ uint16(xSetOp), uint16(JGE),
-       /*5542*/ uint16(xReadCw),
-       /*5543*/ uint16(xArgRel16),
-       /*5544*/ uint16(xMatch),
-       /*5545*/ uint16(xSetOp), uint16(JGE),
-       /*5547*/ uint16(xReadCd),
-       /*5548*/ uint16(xArgRel32),
-       /*5549*/ uint16(xMatch),
-       /*5550*/ uint16(xCondDataSize), 5554, 5545, 5559,
-       /*5554*/ uint16(xSetOp), uint16(JGE),
-       /*5556*/ uint16(xReadCd),
-       /*5557*/ uint16(xArgRel32),
-       /*5558*/ uint16(xMatch),
-       /*5559*/ uint16(xSetOp), uint16(JGE),
-       /*5561*/ uint16(xReadCd),
-       /*5562*/ uint16(xArgRel32),
-       /*5563*/ uint16(xMatch),
-       /*5564*/ uint16(xCondIs64), 5567, 5581,
-       /*5567*/ uint16(xCondDataSize), 5571, 5576, 0,
-       /*5571*/ uint16(xSetOp), uint16(JLE),
-       /*5573*/ uint16(xReadCw),
-       /*5574*/ uint16(xArgRel16),
-       /*5575*/ uint16(xMatch),
-       /*5576*/ uint16(xSetOp), uint16(JLE),
-       /*5578*/ uint16(xReadCd),
-       /*5579*/ uint16(xArgRel32),
-       /*5580*/ uint16(xMatch),
-       /*5581*/ uint16(xCondDataSize), 5585, 5576, 5590,
-       /*5585*/ uint16(xSetOp), uint16(JLE),
-       /*5587*/ uint16(xReadCd),
-       /*5588*/ uint16(xArgRel32),
-       /*5589*/ uint16(xMatch),
-       /*5590*/ uint16(xSetOp), uint16(JLE),
-       /*5592*/ uint16(xReadCd),
-       /*5593*/ uint16(xArgRel32),
-       /*5594*/ uint16(xMatch),
-       /*5595*/ uint16(xCondIs64), 5598, 5612,
-       /*5598*/ uint16(xCondDataSize), 5602, 5607, 0,
-       /*5602*/ uint16(xSetOp), uint16(JG),
-       /*5604*/ uint16(xReadCw),
-       /*5605*/ uint16(xArgRel16),
-       /*5606*/ uint16(xMatch),
-       /*5607*/ uint16(xSetOp), uint16(JG),
-       /*5609*/ uint16(xReadCd),
-       /*5610*/ uint16(xArgRel32),
-       /*5611*/ uint16(xMatch),
-       /*5612*/ uint16(xCondDataSize), 5616, 5607, 5621,
-       /*5616*/ uint16(xSetOp), uint16(JG),
-       /*5618*/ uint16(xReadCd),
-       /*5619*/ uint16(xArgRel32),
-       /*5620*/ uint16(xMatch),
-       /*5621*/ uint16(xSetOp), uint16(JG),
-       /*5623*/ uint16(xReadCd),
-       /*5624*/ uint16(xArgRel32),
-       /*5625*/ uint16(xMatch),
-       /*5626*/ uint16(xSetOp), uint16(SETO),
-       /*5628*/ uint16(xReadSlashR),
-       /*5629*/ uint16(xArgRM8),
-       /*5630*/ uint16(xMatch),
-       /*5631*/ uint16(xSetOp), uint16(SETNO),
-       /*5633*/ uint16(xReadSlashR),
-       /*5634*/ uint16(xArgRM8),
-       /*5635*/ uint16(xMatch),
-       /*5636*/ uint16(xSetOp), uint16(SETB),
-       /*5638*/ uint16(xReadSlashR),
-       /*5639*/ uint16(xArgRM8),
-       /*5640*/ uint16(xMatch),
-       /*5641*/ uint16(xSetOp), uint16(SETAE),
-       /*5643*/ uint16(xReadSlashR),
-       /*5644*/ uint16(xArgRM8),
-       /*5645*/ uint16(xMatch),
-       /*5646*/ uint16(xSetOp), uint16(SETE),
-       /*5648*/ uint16(xReadSlashR),
-       /*5649*/ uint16(xArgRM8),
-       /*5650*/ uint16(xMatch),
-       /*5651*/ uint16(xSetOp), uint16(SETNE),
-       /*5653*/ uint16(xReadSlashR),
-       /*5654*/ uint16(xArgRM8),
-       /*5655*/ uint16(xMatch),
-       /*5656*/ uint16(xSetOp), uint16(SETBE),
-       /*5658*/ uint16(xReadSlashR),
-       /*5659*/ uint16(xArgRM8),
-       /*5660*/ uint16(xMatch),
-       /*5661*/ uint16(xSetOp), uint16(SETA),
-       /*5663*/ uint16(xReadSlashR),
-       /*5664*/ uint16(xArgRM8),
-       /*5665*/ uint16(xMatch),
-       /*5666*/ uint16(xSetOp), uint16(SETS),
-       /*5668*/ uint16(xReadSlashR),
-       /*5669*/ uint16(xArgRM8),
-       /*5670*/ uint16(xMatch),
-       /*5671*/ uint16(xSetOp), uint16(SETNS),
-       /*5673*/ uint16(xReadSlashR),
-       /*5674*/ uint16(xArgRM8),
-       /*5675*/ uint16(xMatch),
-       /*5676*/ uint16(xSetOp), uint16(SETP),
-       /*5678*/ uint16(xReadSlashR),
-       /*5679*/ uint16(xArgRM8),
-       /*5680*/ uint16(xMatch),
-       /*5681*/ uint16(xSetOp), uint16(SETNP),
-       /*5683*/ uint16(xReadSlashR),
-       /*5684*/ uint16(xArgRM8),
-       /*5685*/ uint16(xMatch),
-       /*5686*/ uint16(xSetOp), uint16(SETL),
-       /*5688*/ uint16(xReadSlashR),
-       /*5689*/ uint16(xArgRM8),
-       /*5690*/ uint16(xMatch),
-       /*5691*/ uint16(xSetOp), uint16(SETGE),
-       /*5693*/ uint16(xReadSlashR),
-       /*5694*/ uint16(xArgRM8),
-       /*5695*/ uint16(xMatch),
-       /*5696*/ uint16(xSetOp), uint16(SETLE),
-       /*5698*/ uint16(xReadSlashR),
-       /*5699*/ uint16(xArgRM8),
-       /*5700*/ uint16(xMatch),
-       /*5701*/ uint16(xSetOp), uint16(SETG),
-       /*5703*/ uint16(xReadSlashR),
-       /*5704*/ uint16(xArgRM8),
-       /*5705*/ uint16(xMatch),
-       /*5706*/ uint16(xSetOp), uint16(PUSH),
-       /*5708*/ uint16(xArgFS),
-       /*5709*/ uint16(xMatch),
-       /*5710*/ uint16(xCondIs64), 5713, 5725,
-       /*5713*/ uint16(xCondDataSize), 5717, 5721, 0,
-       /*5717*/ uint16(xSetOp), uint16(POP),
-       /*5719*/ uint16(xArgFS),
-       /*5720*/ uint16(xMatch),
-       /*5721*/ uint16(xSetOp), uint16(POP),
-       /*5723*/ uint16(xArgFS),
-       /*5724*/ uint16(xMatch),
-       /*5725*/ uint16(xCondDataSize), 5717, 5729, 5733,
-       /*5729*/ uint16(xSetOp), uint16(POP),
-       /*5731*/ uint16(xArgFS),
-       /*5732*/ uint16(xMatch),
-       /*5733*/ uint16(xSetOp), uint16(POP),
-       /*5735*/ uint16(xArgFS),
-       /*5736*/ uint16(xMatch),
-       /*5737*/ uint16(xSetOp), uint16(CPUID),
-       /*5739*/ uint16(xMatch),
-       /*5740*/ uint16(xCondIs64), 5743, 5759,
-       /*5743*/ uint16(xCondDataSize), 5747, 5753, 0,
-       /*5747*/ uint16(xSetOp), uint16(BT),
-       /*5749*/ uint16(xReadSlashR),
-       /*5750*/ uint16(xArgRM16),
-       /*5751*/ uint16(xArgR16),
-       /*5752*/ uint16(xMatch),
-       /*5753*/ uint16(xSetOp), uint16(BT),
-       /*5755*/ uint16(xReadSlashR),
-       /*5756*/ uint16(xArgRM32),
-       /*5757*/ uint16(xArgR32),
-       /*5758*/ uint16(xMatch),
-       /*5759*/ uint16(xCondDataSize), 5747, 5753, 5763,
-       /*5763*/ uint16(xSetOp), uint16(BT),
-       /*5765*/ uint16(xReadSlashR),
-       /*5766*/ uint16(xArgRM64),
-       /*5767*/ uint16(xArgR64),
-       /*5768*/ uint16(xMatch),
-       /*5769*/ uint16(xCondIs64), 5772, 5792,
-       /*5772*/ uint16(xCondDataSize), 5776, 5784, 0,
-       /*5776*/ uint16(xSetOp), uint16(SHLD),
-       /*5778*/ uint16(xReadSlashR),
-       /*5779*/ uint16(xReadIb),
-       /*5780*/ uint16(xArgRM16),
-       /*5781*/ uint16(xArgR16),
-       /*5782*/ uint16(xArgImm8u),
-       /*5783*/ uint16(xMatch),
-       /*5784*/ uint16(xSetOp), uint16(SHLD),
-       /*5786*/ uint16(xReadSlashR),
-       /*5787*/ uint16(xReadIb),
-       /*5788*/ uint16(xArgRM32),
-       /*5789*/ uint16(xArgR32),
-       /*5790*/ uint16(xArgImm8u),
-       /*5791*/ uint16(xMatch),
-       /*5792*/ uint16(xCondDataSize), 5776, 5784, 5796,
-       /*5796*/ uint16(xSetOp), uint16(SHLD),
-       /*5798*/ uint16(xReadSlashR),
-       /*5799*/ uint16(xReadIb),
-       /*5800*/ uint16(xArgRM64),
-       /*5801*/ uint16(xArgR64),
-       /*5802*/ uint16(xArgImm8u),
-       /*5803*/ uint16(xMatch),
-       /*5804*/ uint16(xCondIs64), 5807, 5825,
-       /*5807*/ uint16(xCondDataSize), 5811, 5818, 0,
-       /*5811*/ uint16(xSetOp), uint16(SHLD),
-       /*5813*/ uint16(xReadSlashR),
-       /*5814*/ uint16(xArgRM16),
-       /*5815*/ uint16(xArgR16),
-       /*5816*/ uint16(xArgCL),
-       /*5817*/ uint16(xMatch),
-       /*5818*/ uint16(xSetOp), uint16(SHLD),
-       /*5820*/ uint16(xReadSlashR),
-       /*5821*/ uint16(xArgRM32),
-       /*5822*/ uint16(xArgR32),
-       /*5823*/ uint16(xArgCL),
-       /*5824*/ uint16(xMatch),
-       /*5825*/ uint16(xCondDataSize), 5811, 5818, 5829,
-       /*5829*/ uint16(xSetOp), uint16(SHLD),
-       /*5831*/ uint16(xReadSlashR),
-       /*5832*/ uint16(xArgRM64),
-       /*5833*/ uint16(xArgR64),
-       /*5834*/ uint16(xArgCL),
-       /*5835*/ uint16(xMatch),
-       /*5836*/ uint16(xSetOp), uint16(PUSH),
-       /*5838*/ uint16(xArgGS),
-       /*5839*/ uint16(xMatch),
-       /*5840*/ uint16(xCondIs64), 5843, 5855,
-       /*5843*/ uint16(xCondDataSize), 5847, 5851, 0,
-       /*5847*/ uint16(xSetOp), uint16(POP),
-       /*5849*/ uint16(xArgGS),
-       /*5850*/ uint16(xMatch),
-       /*5851*/ uint16(xSetOp), uint16(POP),
-       /*5853*/ uint16(xArgGS),
-       /*5854*/ uint16(xMatch),
-       /*5855*/ uint16(xCondDataSize), 5847, 5859, 5863,
-       /*5859*/ uint16(xSetOp), uint16(POP),
-       /*5861*/ uint16(xArgGS),
-       /*5862*/ uint16(xMatch),
-       /*5863*/ uint16(xSetOp), uint16(POP),
-       /*5865*/ uint16(xArgGS),
-       /*5866*/ uint16(xMatch),
-       /*5867*/ uint16(xSetOp), uint16(RSM),
-       /*5869*/ uint16(xMatch),
-       /*5870*/ uint16(xCondIs64), 5873, 5889,
-       /*5873*/ uint16(xCondDataSize), 5877, 5883, 0,
-       /*5877*/ uint16(xSetOp), uint16(BTS),
-       /*5879*/ uint16(xReadSlashR),
-       /*5880*/ uint16(xArgRM16),
-       /*5881*/ uint16(xArgR16),
-       /*5882*/ uint16(xMatch),
-       /*5883*/ uint16(xSetOp), uint16(BTS),
-       /*5885*/ uint16(xReadSlashR),
-       /*5886*/ uint16(xArgRM32),
-       /*5887*/ uint16(xArgR32),
-       /*5888*/ uint16(xMatch),
-       /*5889*/ uint16(xCondDataSize), 5877, 5883, 5893,
-       /*5893*/ uint16(xSetOp), uint16(BTS),
-       /*5895*/ uint16(xReadSlashR),
-       /*5896*/ uint16(xArgRM64),
-       /*5897*/ uint16(xArgR64),
-       /*5898*/ uint16(xMatch),
-       /*5899*/ uint16(xCondIs64), 5902, 5922,
-       /*5902*/ uint16(xCondDataSize), 5906, 5914, 0,
-       /*5906*/ uint16(xSetOp), uint16(SHRD),
-       /*5908*/ uint16(xReadSlashR),
-       /*5909*/ uint16(xReadIb),
-       /*5910*/ uint16(xArgRM16),
-       /*5911*/ uint16(xArgR16),
-       /*5912*/ uint16(xArgImm8u),
-       /*5913*/ uint16(xMatch),
-       /*5914*/ uint16(xSetOp), uint16(SHRD),
-       /*5916*/ uint16(xReadSlashR),
-       /*5917*/ uint16(xReadIb),
-       /*5918*/ uint16(xArgRM32),
-       /*5919*/ uint16(xArgR32),
-       /*5920*/ uint16(xArgImm8u),
-       /*5921*/ uint16(xMatch),
-       /*5922*/ uint16(xCondDataSize), 5906, 5914, 5926,
-       /*5926*/ uint16(xSetOp), uint16(SHRD),
-       /*5928*/ uint16(xReadSlashR),
-       /*5929*/ uint16(xReadIb),
-       /*5930*/ uint16(xArgRM64),
-       /*5931*/ uint16(xArgR64),
-       /*5932*/ uint16(xArgImm8u),
-       /*5933*/ uint16(xMatch),
-       /*5934*/ uint16(xCondIs64), 5937, 5955,
-       /*5937*/ uint16(xCondDataSize), 5941, 5948, 0,
-       /*5941*/ uint16(xSetOp), uint16(SHRD),
-       /*5943*/ uint16(xReadSlashR),
-       /*5944*/ uint16(xArgRM16),
-       /*5945*/ uint16(xArgR16),
-       /*5946*/ uint16(xArgCL),
-       /*5947*/ uint16(xMatch),
-       /*5948*/ uint16(xSetOp), uint16(SHRD),
-       /*5950*/ uint16(xReadSlashR),
-       /*5951*/ uint16(xArgRM32),
-       /*5952*/ uint16(xArgR32),
-       /*5953*/ uint16(xArgCL),
-       /*5954*/ uint16(xMatch),
-       /*5955*/ uint16(xCondDataSize), 5941, 5948, 5959,
-       /*5959*/ uint16(xSetOp), uint16(SHRD),
-       /*5961*/ uint16(xReadSlashR),
-       /*5962*/ uint16(xArgRM64),
-       /*5963*/ uint16(xArgR64),
-       /*5964*/ uint16(xArgCL),
-       /*5965*/ uint16(xMatch),
-       /*5966*/ uint16(xCondByte), 3,
-       0xE8, 6215,
-       0xF0, 6218,
-       0xF8, 6221,
-       /*5974*/ uint16(xCondSlashR),
-       5983, // 0
-       6037, // 1
-       6091, // 2
-       6120, // 3
-       6149, // 4
-       6172, // 5
-       6195, // 6
-       6211, // 7
-       /*5983*/ uint16(xCondIs64), 5986, 5998,
-       /*5986*/ uint16(xCondDataSize), 5990, 5994, 0,
-       /*5990*/ uint16(xSetOp), uint16(FXSAVE),
-       /*5992*/ uint16(xArgM512byte),
-       /*5993*/ uint16(xMatch),
-       /*5994*/ uint16(xSetOp), uint16(FXSAVE),
-       /*5996*/ uint16(xArgM512byte),
-       /*5997*/ uint16(xMatch),
-       /*5998*/ uint16(xCondPrefix), 2,
-       0xF3, 6012,
-       0x0, 6004,
-       /*6004*/ uint16(xCondDataSize), 5990, 5994, 6008,
-       /*6008*/ uint16(xSetOp), uint16(FXSAVE64),
-       /*6010*/ uint16(xArgM512byte),
-       /*6011*/ uint16(xMatch),
-       /*6012*/ uint16(xCondDataSize), 6016, 6023, 6030,
-       /*6016*/ uint16(xCondIsMem), 6019, 0,
-       /*6019*/ uint16(xSetOp), uint16(RDFSBASE),
-       /*6021*/ uint16(xArgRM32),
-       /*6022*/ uint16(xMatch),
-       /*6023*/ uint16(xCondIsMem), 6026, 0,
-       /*6026*/ uint16(xSetOp), uint16(RDFSBASE),
-       /*6028*/ uint16(xArgRM32),
-       /*6029*/ uint16(xMatch),
-       /*6030*/ uint16(xCondIsMem), 6033, 0,
-       /*6033*/ uint16(xSetOp), uint16(RDFSBASE),
-       /*6035*/ uint16(xArgRM64),
-       /*6036*/ uint16(xMatch),
-       /*6037*/ uint16(xCondIs64), 6040, 6052,
-       /*6040*/ uint16(xCondDataSize), 6044, 6048, 0,
-       /*6044*/ uint16(xSetOp), uint16(FXRSTOR),
-       /*6046*/ uint16(xArgM512byte),
-       /*6047*/ uint16(xMatch),
-       /*6048*/ uint16(xSetOp), uint16(FXRSTOR),
-       /*6050*/ uint16(xArgM512byte),
-       /*6051*/ uint16(xMatch),
-       /*6052*/ uint16(xCondPrefix), 2,
-       0xF3, 6066,
-       0x0, 6058,
-       /*6058*/ uint16(xCondDataSize), 6044, 6048, 6062,
-       /*6062*/ uint16(xSetOp), uint16(FXRSTOR64),
-       /*6064*/ uint16(xArgM512byte),
-       /*6065*/ uint16(xMatch),
-       /*6066*/ uint16(xCondDataSize), 6070, 6077, 6084,
-       /*6070*/ uint16(xCondIsMem), 6073, 0,
-       /*6073*/ uint16(xSetOp), uint16(RDGSBASE),
-       /*6075*/ uint16(xArgRM32),
-       /*6076*/ uint16(xMatch),
-       /*6077*/ uint16(xCondIsMem), 6080, 0,
-       /*6080*/ uint16(xSetOp), uint16(RDGSBASE),
-       /*6082*/ uint16(xArgRM32),
-       /*6083*/ uint16(xMatch),
-       /*6084*/ uint16(xCondIsMem), 6087, 0,
-       /*6087*/ uint16(xSetOp), uint16(RDGSBASE),
-       /*6089*/ uint16(xArgRM64),
-       /*6090*/ uint16(xMatch),
-       /*6091*/ uint16(xCondIs64), 6094, 6098,
-       /*6094*/ uint16(xSetOp), uint16(LDMXCSR),
-       /*6096*/ uint16(xArgM32),
-       /*6097*/ uint16(xMatch),
-       /*6098*/ uint16(xCondPrefix), 2,
-       0xF3, 6104,
-       0x0, 6094,
-       /*6104*/ uint16(xCondDataSize), 6108, 6112, 6116,
-       /*6108*/ uint16(xSetOp), uint16(WRFSBASE),
-       /*6110*/ uint16(xArgRM32),
-       /*6111*/ uint16(xMatch),
-       /*6112*/ uint16(xSetOp), uint16(WRFSBASE),
-       /*6114*/ uint16(xArgRM32),
-       /*6115*/ uint16(xMatch),
-       /*6116*/ uint16(xSetOp), uint16(WRFSBASE),
-       /*6118*/ uint16(xArgRM64),
-       /*6119*/ uint16(xMatch),
-       /*6120*/ uint16(xCondIs64), 6123, 6127,
-       /*6123*/ uint16(xSetOp), uint16(STMXCSR),
-       /*6125*/ uint16(xArgM32),
-       /*6126*/ uint16(xMatch),
-       /*6127*/ uint16(xCondPrefix), 2,
-       0xF3, 6133,
-       0x0, 6123,
-       /*6133*/ uint16(xCondDataSize), 6137, 6141, 6145,
-       /*6137*/ uint16(xSetOp), uint16(WRGSBASE),
-       /*6139*/ uint16(xArgRM32),
-       /*6140*/ uint16(xMatch),
-       /*6141*/ uint16(xSetOp), uint16(WRGSBASE),
-       /*6143*/ uint16(xArgRM32),
-       /*6144*/ uint16(xMatch),
-       /*6145*/ uint16(xSetOp), uint16(WRGSBASE),
-       /*6147*/ uint16(xArgRM64),
-       /*6148*/ uint16(xMatch),
-       /*6149*/ uint16(xCondIs64), 6152, 6164,
-       /*6152*/ uint16(xCondDataSize), 6156, 6160, 0,
-       /*6156*/ uint16(xSetOp), uint16(XSAVE),
-       /*6158*/ uint16(xArgMem),
-       /*6159*/ uint16(xMatch),
-       /*6160*/ uint16(xSetOp), uint16(XSAVE),
-       /*6162*/ uint16(xArgMem),
-       /*6163*/ uint16(xMatch),
-       /*6164*/ uint16(xCondDataSize), 6156, 6160, 6168,
-       /*6168*/ uint16(xSetOp), uint16(XSAVE64),
-       /*6170*/ uint16(xArgMem),
-       /*6171*/ uint16(xMatch),
-       /*6172*/ uint16(xCondIs64), 6175, 6187,
-       /*6175*/ uint16(xCondDataSize), 6179, 6183, 0,
-       /*6179*/ uint16(xSetOp), uint16(XRSTOR),
-       /*6181*/ uint16(xArgMem),
-       /*6182*/ uint16(xMatch),
-       /*6183*/ uint16(xSetOp), uint16(XRSTOR),
-       /*6185*/ uint16(xArgMem),
-       /*6186*/ uint16(xMatch),
-       /*6187*/ uint16(xCondDataSize), 6179, 6183, 6191,
-       /*6191*/ uint16(xSetOp), uint16(XRSTOR64),
-       /*6193*/ uint16(xArgMem),
-       /*6194*/ uint16(xMatch),
-       /*6195*/ uint16(xCondDataSize), 6199, 6203, 6207,
-       /*6199*/ uint16(xSetOp), uint16(XSAVEOPT),
-       /*6201*/ uint16(xArgMem),
-       /*6202*/ uint16(xMatch),
-       /*6203*/ uint16(xSetOp), uint16(XSAVEOPT),
-       /*6205*/ uint16(xArgMem),
-       /*6206*/ uint16(xMatch),
-       /*6207*/ uint16(xSetOp), uint16(XSAVEOPT64),
-       /*6209*/ uint16(xArgMem),
-       /*6210*/ uint16(xMatch),
-       /*6211*/ uint16(xSetOp), uint16(CLFLUSH),
-       /*6213*/ uint16(xArgM8),
-       /*6214*/ uint16(xMatch),
-       /*6215*/ uint16(xSetOp), uint16(LFENCE),
-       /*6217*/ uint16(xMatch),
-       /*6218*/ uint16(xSetOp), uint16(MFENCE),
-       /*6220*/ uint16(xMatch),
-       /*6221*/ uint16(xSetOp), uint16(SFENCE),
-       /*6223*/ uint16(xMatch),
-       /*6224*/ uint16(xCondIs64), 6227, 6243,
-       /*6227*/ uint16(xCondDataSize), 6231, 6237, 0,
-       /*6231*/ uint16(xSetOp), uint16(IMUL),
-       /*6233*/ uint16(xReadSlashR),
-       /*6234*/ uint16(xArgR16),
-       /*6235*/ uint16(xArgRM16),
-       /*6236*/ uint16(xMatch),
-       /*6237*/ uint16(xSetOp), uint16(IMUL),
-       /*6239*/ uint16(xReadSlashR),
-       /*6240*/ uint16(xArgR32),
-       /*6241*/ uint16(xArgRM32),
-       /*6242*/ uint16(xMatch),
-       /*6243*/ uint16(xCondDataSize), 6231, 6237, 6247,
-       /*6247*/ uint16(xSetOp), uint16(IMUL),
-       /*6249*/ uint16(xReadSlashR),
-       /*6250*/ uint16(xArgR64),
-       /*6251*/ uint16(xArgRM64),
-       /*6252*/ uint16(xMatch),
-       /*6253*/ uint16(xSetOp), uint16(CMPXCHG),
-       /*6255*/ uint16(xReadSlashR),
-       /*6256*/ uint16(xArgRM8),
-       /*6257*/ uint16(xArgR8),
-       /*6258*/ uint16(xMatch),
-       /*6259*/ uint16(xCondIs64), 6262, 6278,
-       /*6262*/ uint16(xCondDataSize), 6266, 6272, 0,
-       /*6266*/ uint16(xSetOp), uint16(CMPXCHG),
-       /*6268*/ uint16(xReadSlashR),
-       /*6269*/ uint16(xArgRM16),
-       /*6270*/ uint16(xArgR16),
-       /*6271*/ uint16(xMatch),
-       /*6272*/ uint16(xSetOp), uint16(CMPXCHG),
-       /*6274*/ uint16(xReadSlashR),
-       /*6275*/ uint16(xArgRM32),
-       /*6276*/ uint16(xArgR32),
-       /*6277*/ uint16(xMatch),
-       /*6278*/ uint16(xCondDataSize), 6266, 6272, 6282,
-       /*6282*/ uint16(xSetOp), uint16(CMPXCHG),
-       /*6284*/ uint16(xReadSlashR),
-       /*6285*/ uint16(xArgRM64),
-       /*6286*/ uint16(xArgR64),
-       /*6287*/ uint16(xMatch),
-       /*6288*/ uint16(xCondIs64), 6291, 6307,
-       /*6291*/ uint16(xCondDataSize), 6295, 6301, 0,
-       /*6295*/ uint16(xSetOp), uint16(LSS),
-       /*6297*/ uint16(xReadSlashR),
-       /*6298*/ uint16(xArgR16),
-       /*6299*/ uint16(xArgM16colon16),
-       /*6300*/ uint16(xMatch),
-       /*6301*/ uint16(xSetOp), uint16(LSS),
-       /*6303*/ uint16(xReadSlashR),
-       /*6304*/ uint16(xArgR32),
-       /*6305*/ uint16(xArgM16colon32),
-       /*6306*/ uint16(xMatch),
-       /*6307*/ uint16(xCondDataSize), 6295, 6301, 6311,
-       /*6311*/ uint16(xSetOp), uint16(LSS),
-       /*6313*/ uint16(xReadSlashR),
-       /*6314*/ uint16(xArgR64),
-       /*6315*/ uint16(xArgM16colon64),
-       /*6316*/ uint16(xMatch),
-       /*6317*/ uint16(xCondIs64), 6320, 6336,
-       /*6320*/ uint16(xCondDataSize), 6324, 6330, 0,
-       /*6324*/ uint16(xSetOp), uint16(BTR),
-       /*6326*/ uint16(xReadSlashR),
-       /*6327*/ uint16(xArgRM16),
-       /*6328*/ uint16(xArgR16),
-       /*6329*/ uint16(xMatch),
-       /*6330*/ uint16(xSetOp), uint16(BTR),
-       /*6332*/ uint16(xReadSlashR),
-       /*6333*/ uint16(xArgRM32),
-       /*6334*/ uint16(xArgR32),
-       /*6335*/ uint16(xMatch),
-       /*6336*/ uint16(xCondDataSize), 6324, 6330, 6340,
-       /*6340*/ uint16(xSetOp), uint16(BTR),
-       /*6342*/ uint16(xReadSlashR),
-       /*6343*/ uint16(xArgRM64),
-       /*6344*/ uint16(xArgR64),
-       /*6345*/ uint16(xMatch),
-       /*6346*/ uint16(xCondIs64), 6349, 6365,
-       /*6349*/ uint16(xCondDataSize), 6353, 6359, 0,
-       /*6353*/ uint16(xSetOp), uint16(LFS),
-       /*6355*/ uint16(xReadSlashR),
-       /*6356*/ uint16(xArgR16),
-       /*6357*/ uint16(xArgM16colon16),
-       /*6358*/ uint16(xMatch),
-       /*6359*/ uint16(xSetOp), uint16(LFS),
-       /*6361*/ uint16(xReadSlashR),
-       /*6362*/ uint16(xArgR32),
-       /*6363*/ uint16(xArgM16colon32),
-       /*6364*/ uint16(xMatch),
-       /*6365*/ uint16(xCondDataSize), 6353, 6359, 6369,
-       /*6369*/ uint16(xSetOp), uint16(LFS),
-       /*6371*/ uint16(xReadSlashR),
-       /*6372*/ uint16(xArgR64),
-       /*6373*/ uint16(xArgM16colon64),
-       /*6374*/ uint16(xMatch),
-       /*6375*/ uint16(xCondIs64), 6378, 6394,
-       /*6378*/ uint16(xCondDataSize), 6382, 6388, 0,
-       /*6382*/ uint16(xSetOp), uint16(LGS),
-       /*6384*/ uint16(xReadSlashR),
-       /*6385*/ uint16(xArgR16),
-       /*6386*/ uint16(xArgM16colon16),
-       /*6387*/ uint16(xMatch),
-       /*6388*/ uint16(xSetOp), uint16(LGS),
-       /*6390*/ uint16(xReadSlashR),
-       /*6391*/ uint16(xArgR32),
-       /*6392*/ uint16(xArgM16colon32),
-       /*6393*/ uint16(xMatch),
-       /*6394*/ uint16(xCondDataSize), 6382, 6388, 6398,
-       /*6398*/ uint16(xSetOp), uint16(LGS),
-       /*6400*/ uint16(xReadSlashR),
-       /*6401*/ uint16(xArgR64),
-       /*6402*/ uint16(xArgM16colon64),
-       /*6403*/ uint16(xMatch),
-       /*6404*/ uint16(xCondIs64), 6407, 6423,
-       /*6407*/ uint16(xCondDataSize), 6411, 6417, 0,
-       /*6411*/ uint16(xSetOp), uint16(MOVZX),
-       /*6413*/ uint16(xReadSlashR),
-       /*6414*/ uint16(xArgR16),
-       /*6415*/ uint16(xArgRM8),
-       /*6416*/ uint16(xMatch),
-       /*6417*/ uint16(xSetOp), uint16(MOVZX),
-       /*6419*/ uint16(xReadSlashR),
-       /*6420*/ uint16(xArgR32),
-       /*6421*/ uint16(xArgRM8),
-       /*6422*/ uint16(xMatch),
-       /*6423*/ uint16(xCondDataSize), 6411, 6417, 6427,
-       /*6427*/ uint16(xSetOp), uint16(MOVZX),
-       /*6429*/ uint16(xReadSlashR),
-       /*6430*/ uint16(xArgR64),
-       /*6431*/ uint16(xArgRM8),
-       /*6432*/ uint16(xMatch),
-       /*6433*/ uint16(xCondIs64), 6436, 6452,
-       /*6436*/ uint16(xCondDataSize), 6440, 6446, 0,
-       /*6440*/ uint16(xSetOp), uint16(MOVZX),
-       /*6442*/ uint16(xReadSlashR),
-       /*6443*/ uint16(xArgR16),
-       /*6444*/ uint16(xArgRM16),
-       /*6445*/ uint16(xMatch),
-       /*6446*/ uint16(xSetOp), uint16(MOVZX),
-       /*6448*/ uint16(xReadSlashR),
-       /*6449*/ uint16(xArgR32),
-       /*6450*/ uint16(xArgRM16),
-       /*6451*/ uint16(xMatch),
-       /*6452*/ uint16(xCondDataSize), 6440, 6446, 6456,
-       /*6456*/ uint16(xSetOp), uint16(MOVZX),
-       /*6458*/ uint16(xReadSlashR),
-       /*6459*/ uint16(xArgR64),
-       /*6460*/ uint16(xArgRM16),
-       /*6461*/ uint16(xMatch),
-       /*6462*/ uint16(xCondIs64), 6465, 6485,
-       /*6465*/ uint16(xCondPrefix), 1,
-       0xF3, 6469,
-       /*6469*/ uint16(xCondDataSize), 6473, 6479, 0,
-       /*6473*/ uint16(xSetOp), uint16(POPCNT),
-       /*6475*/ uint16(xReadSlashR),
-       /*6476*/ uint16(xArgR16),
-       /*6477*/ uint16(xArgRM16),
-       /*6478*/ uint16(xMatch),
-       /*6479*/ uint16(xSetOp), uint16(POPCNT),
-       /*6481*/ uint16(xReadSlashR),
-       /*6482*/ uint16(xArgR32),
-       /*6483*/ uint16(xArgRM32),
-       /*6484*/ uint16(xMatch),
-       /*6485*/ uint16(xCondPrefix), 1,
-       0xF3, 6489,
-       /*6489*/ uint16(xCondDataSize), 6473, 6479, 6493,
-       /*6493*/ uint16(xSetOp), uint16(POPCNT),
-       /*6495*/ uint16(xReadSlashR),
-       /*6496*/ uint16(xArgR64),
-       /*6497*/ uint16(xArgRM64),
-       /*6498*/ uint16(xMatch),
-       /*6499*/ uint16(xSetOp), uint16(UD1),
-       /*6501*/ uint16(xMatch),
-       /*6502*/ uint16(xCondSlashR),
+       4908, // 6
+       4926, // 7
+       /*4880*/ uint16(xCondPrefix), 2,
+       0x66, 4892,
+       0x0, 4886,
+       /*4886*/ uint16(xSetOp), uint16(PSRLQ),
+       /*4888*/ uint16(xReadIb),
+       /*4889*/ uint16(xArgMm2),
+       /*4890*/ uint16(xArgImm8u),
+       /*4891*/ uint16(xMatch),
+       /*4892*/ uint16(xSetOp), uint16(PSRLQ),
+       /*4894*/ uint16(xReadIb),
+       /*4895*/ uint16(xArgXmm2),
+       /*4896*/ uint16(xArgImm8u),
+       /*4897*/ uint16(xMatch),
+       /*4898*/ uint16(xCondPrefix), 1,
+       0x66, 4902,
+       /*4902*/ uint16(xSetOp), uint16(PSRLDQ),
+       /*4904*/ uint16(xReadIb),
+       /*4905*/ uint16(xArgXmm2),
+       /*4906*/ uint16(xArgImm8u),
+       /*4907*/ uint16(xMatch),
+       /*4908*/ uint16(xCondPrefix), 2,
+       0x66, 4920,
+       0x0, 4914,
+       /*4914*/ uint16(xSetOp), uint16(PSLLQ),
+       /*4916*/ uint16(xReadIb),
+       /*4917*/ uint16(xArgMm2),
+       /*4918*/ uint16(xArgImm8u),
+       /*4919*/ uint16(xMatch),
+       /*4920*/ uint16(xSetOp), uint16(PSLLQ),
+       /*4922*/ uint16(xReadIb),
+       /*4923*/ uint16(xArgXmm2),
+       /*4924*/ uint16(xArgImm8u),
+       /*4925*/ uint16(xMatch),
+       /*4926*/ uint16(xCondPrefix), 1,
+       0x66, 4930,
+       /*4930*/ uint16(xSetOp), uint16(PSLLDQ),
+       /*4932*/ uint16(xReadIb),
+       /*4933*/ uint16(xArgXmm2),
+       /*4934*/ uint16(xArgImm8u),
+       /*4935*/ uint16(xMatch),
+       /*4936*/ uint16(xCondPrefix), 2,
+       0x66, 4948,
+       0x0, 4942,
+       /*4942*/ uint16(xSetOp), uint16(PCMPEQB),
+       /*4944*/ uint16(xReadSlashR),
+       /*4945*/ uint16(xArgMm),
+       /*4946*/ uint16(xArgMmM64),
+       /*4947*/ uint16(xMatch),
+       /*4948*/ uint16(xSetOp), uint16(PCMPEQB),
+       /*4950*/ uint16(xReadSlashR),
+       /*4951*/ uint16(xArgXmm1),
+       /*4952*/ uint16(xArgXmm2M128),
+       /*4953*/ uint16(xMatch),
+       /*4954*/ uint16(xCondPrefix), 2,
+       0x66, 4966,
+       0x0, 4960,
+       /*4960*/ uint16(xSetOp), uint16(PCMPEQW),
+       /*4962*/ uint16(xReadSlashR),
+       /*4963*/ uint16(xArgMm),
+       /*4964*/ uint16(xArgMmM64),
+       /*4965*/ uint16(xMatch),
+       /*4966*/ uint16(xSetOp), uint16(PCMPEQW),
+       /*4968*/ uint16(xReadSlashR),
+       /*4969*/ uint16(xArgXmm1),
+       /*4970*/ uint16(xArgXmm2M128),
+       /*4971*/ uint16(xMatch),
+       /*4972*/ uint16(xCondPrefix), 2,
+       0x66, 4984,
+       0x0, 4978,
+       /*4978*/ uint16(xSetOp), uint16(PCMPEQD),
+       /*4980*/ uint16(xReadSlashR),
+       /*4981*/ uint16(xArgMm),
+       /*4982*/ uint16(xArgMmM64),
+       /*4983*/ uint16(xMatch),
+       /*4984*/ uint16(xSetOp), uint16(PCMPEQD),
+       /*4986*/ uint16(xReadSlashR),
+       /*4987*/ uint16(xArgXmm1),
+       /*4988*/ uint16(xArgXmm2M128),
+       /*4989*/ uint16(xMatch),
+       /*4990*/ uint16(xSetOp), uint16(EMMS),
+       /*4992*/ uint16(xMatch),
+       /*4993*/ uint16(xCondPrefix), 2,
+       0xF2, 5005,
+       0x66, 4999,
+       /*4999*/ uint16(xSetOp), uint16(HADDPD),
+       /*5001*/ uint16(xReadSlashR),
+       /*5002*/ uint16(xArgXmm1),
+       /*5003*/ uint16(xArgXmm2M128),
+       /*5004*/ uint16(xMatch),
+       /*5005*/ uint16(xSetOp), uint16(HADDPS),
+       /*5007*/ uint16(xReadSlashR),
+       /*5008*/ uint16(xArgXmm1),
+       /*5009*/ uint16(xArgXmm2M128),
+       /*5010*/ uint16(xMatch),
+       /*5011*/ uint16(xCondPrefix), 2,
+       0xF2, 5023,
+       0x66, 5017,
+       /*5017*/ uint16(xSetOp), uint16(HSUBPD),
+       /*5019*/ uint16(xReadSlashR),
+       /*5020*/ uint16(xArgXmm1),
+       /*5021*/ uint16(xArgXmm2M128),
+       /*5022*/ uint16(xMatch),
+       /*5023*/ uint16(xSetOp), uint16(HSUBPS),
+       /*5025*/ uint16(xReadSlashR),
+       /*5026*/ uint16(xArgXmm1),
+       /*5027*/ uint16(xArgXmm2M128),
+       /*5028*/ uint16(xMatch),
+       /*5029*/ uint16(xCondIs64), 5032, 5078,
+       /*5032*/ uint16(xCondPrefix), 3,
+       0xF3, 5072,
+       0x66, 5056,
+       0x0, 5040,
+       /*5040*/ uint16(xCondDataSize), 5044, 5050, 0,
+       /*5044*/ uint16(xSetOp), uint16(MOVD),
+       /*5046*/ uint16(xReadSlashR),
+       /*5047*/ uint16(xArgRM32),
+       /*5048*/ uint16(xArgMm),
+       /*5049*/ uint16(xMatch),
+       /*5050*/ uint16(xSetOp), uint16(MOVD),
+       /*5052*/ uint16(xReadSlashR),
+       /*5053*/ uint16(xArgRM32),
+       /*5054*/ uint16(xArgMm),
+       /*5055*/ uint16(xMatch),
+       /*5056*/ uint16(xCondDataSize), 5060, 5066, 0,
+       /*5060*/ uint16(xSetOp), uint16(MOVD),
+       /*5062*/ uint16(xReadSlashR),
+       /*5063*/ uint16(xArgRM32),
+       /*5064*/ uint16(xArgXmm),
+       /*5065*/ uint16(xMatch),
+       /*5066*/ uint16(xSetOp), uint16(MOVD),
+       /*5068*/ uint16(xReadSlashR),
+       /*5069*/ uint16(xArgRM32),
+       /*5070*/ uint16(xArgXmm),
+       /*5071*/ uint16(xMatch),
+       /*5072*/ uint16(xSetOp), uint16(MOVQ),
+       /*5074*/ uint16(xReadSlashR),
+       /*5075*/ uint16(xArgXmm1),
+       /*5076*/ uint16(xArgXmm2M64),
+       /*5077*/ uint16(xMatch),
+       /*5078*/ uint16(xCondPrefix), 3,
+       0xF3, 5072,
+       0x66, 5096,
+       0x0, 5086,
+       /*5086*/ uint16(xCondDataSize), 5044, 5050, 5090,
+       /*5090*/ uint16(xSetOp), uint16(MOVQ),
+       /*5092*/ uint16(xReadSlashR),
+       /*5093*/ uint16(xArgRM64),
+       /*5094*/ uint16(xArgMm),
+       /*5095*/ uint16(xMatch),
+       /*5096*/ uint16(xCondDataSize), 5060, 5066, 5100,
+       /*5100*/ uint16(xSetOp), uint16(MOVQ),
+       /*5102*/ uint16(xReadSlashR),
+       /*5103*/ uint16(xArgRM64),
+       /*5104*/ uint16(xArgXmm),
+       /*5105*/ uint16(xMatch),
+       /*5106*/ uint16(xCondPrefix), 3,
+       0xF3, 5126,
+       0x66, 5120,
+       0x0, 5114,
+       /*5114*/ uint16(xSetOp), uint16(MOVQ),
+       /*5116*/ uint16(xReadSlashR),
+       /*5117*/ uint16(xArgMmM64),
+       /*5118*/ uint16(xArgMm),
+       /*5119*/ uint16(xMatch),
+       /*5120*/ uint16(xSetOp), uint16(MOVDQA),
+       /*5122*/ uint16(xReadSlashR),
+       /*5123*/ uint16(xArgXmm2M128),
+       /*5124*/ uint16(xArgXmm1),
+       /*5125*/ uint16(xMatch),
+       /*5126*/ uint16(xSetOp), uint16(MOVDQU),
+       /*5128*/ uint16(xReadSlashR),
+       /*5129*/ uint16(xArgXmm2M128),
+       /*5130*/ uint16(xArgXmm1),
+       /*5131*/ uint16(xMatch),
+       /*5132*/ uint16(xCondIs64), 5135, 5149,
+       /*5135*/ uint16(xCondDataSize), 5139, 5144, 0,
+       /*5139*/ uint16(xSetOp), uint16(JO),
+       /*5141*/ uint16(xReadCw),
+       /*5142*/ uint16(xArgRel16),
+       /*5143*/ uint16(xMatch),
+       /*5144*/ uint16(xSetOp), uint16(JO),
+       /*5146*/ uint16(xReadCd),
+       /*5147*/ uint16(xArgRel32),
+       /*5148*/ uint16(xMatch),
+       /*5149*/ uint16(xCondDataSize), 5153, 5144, 5158,
+       /*5153*/ uint16(xSetOp), uint16(JO),
+       /*5155*/ uint16(xReadCd),
+       /*5156*/ uint16(xArgRel32),
+       /*5157*/ uint16(xMatch),
+       /*5158*/ uint16(xSetOp), uint16(JO),
+       /*5160*/ uint16(xReadCd),
+       /*5161*/ uint16(xArgRel32),
+       /*5162*/ uint16(xMatch),
+       /*5163*/ uint16(xCondIs64), 5166, 5180,
+       /*5166*/ uint16(xCondDataSize), 5170, 5175, 0,
+       /*5170*/ uint16(xSetOp), uint16(JNO),
+       /*5172*/ uint16(xReadCw),
+       /*5173*/ uint16(xArgRel16),
+       /*5174*/ uint16(xMatch),
+       /*5175*/ uint16(xSetOp), uint16(JNO),
+       /*5177*/ uint16(xReadCd),
+       /*5178*/ uint16(xArgRel32),
+       /*5179*/ uint16(xMatch),
+       /*5180*/ uint16(xCondDataSize), 5184, 5175, 5189,
+       /*5184*/ uint16(xSetOp), uint16(JNO),
+       /*5186*/ uint16(xReadCd),
+       /*5187*/ uint16(xArgRel32),
+       /*5188*/ uint16(xMatch),
+       /*5189*/ uint16(xSetOp), uint16(JNO),
+       /*5191*/ uint16(xReadCd),
+       /*5192*/ uint16(xArgRel32),
+       /*5193*/ uint16(xMatch),
+       /*5194*/ uint16(xCondIs64), 5197, 5211,
+       /*5197*/ uint16(xCondDataSize), 5201, 5206, 0,
+       /*5201*/ uint16(xSetOp), uint16(JB),
+       /*5203*/ uint16(xReadCw),
+       /*5204*/ uint16(xArgRel16),
+       /*5205*/ uint16(xMatch),
+       /*5206*/ uint16(xSetOp), uint16(JB),
+       /*5208*/ uint16(xReadCd),
+       /*5209*/ uint16(xArgRel32),
+       /*5210*/ uint16(xMatch),
+       /*5211*/ uint16(xCondDataSize), 5215, 5206, 5220,
+       /*5215*/ uint16(xSetOp), uint16(JB),
+       /*5217*/ uint16(xReadCd),
+       /*5218*/ uint16(xArgRel32),
+       /*5219*/ uint16(xMatch),
+       /*5220*/ uint16(xSetOp), uint16(JB),
+       /*5222*/ uint16(xReadCd),
+       /*5223*/ uint16(xArgRel32),
+       /*5224*/ uint16(xMatch),
+       /*5225*/ uint16(xCondIs64), 5228, 5242,
+       /*5228*/ uint16(xCondDataSize), 5232, 5237, 0,
+       /*5232*/ uint16(xSetOp), uint16(JAE),
+       /*5234*/ uint16(xReadCw),
+       /*5235*/ uint16(xArgRel16),
+       /*5236*/ uint16(xMatch),
+       /*5237*/ uint16(xSetOp), uint16(JAE),
+       /*5239*/ uint16(xReadCd),
+       /*5240*/ uint16(xArgRel32),
+       /*5241*/ uint16(xMatch),
+       /*5242*/ uint16(xCondDataSize), 5246, 5237, 5251,
+       /*5246*/ uint16(xSetOp), uint16(JAE),
+       /*5248*/ uint16(xReadCd),
+       /*5249*/ uint16(xArgRel32),
+       /*5250*/ uint16(xMatch),
+       /*5251*/ uint16(xSetOp), uint16(JAE),
+       /*5253*/ uint16(xReadCd),
+       /*5254*/ uint16(xArgRel32),
+       /*5255*/ uint16(xMatch),
+       /*5256*/ uint16(xCondIs64), 5259, 5273,
+       /*5259*/ uint16(xCondDataSize), 5263, 5268, 0,
+       /*5263*/ uint16(xSetOp), uint16(JE),
+       /*5265*/ uint16(xReadCw),
+       /*5266*/ uint16(xArgRel16),
+       /*5267*/ uint16(xMatch),
+       /*5268*/ uint16(xSetOp), uint16(JE),
+       /*5270*/ uint16(xReadCd),
+       /*5271*/ uint16(xArgRel32),
+       /*5272*/ uint16(xMatch),
+       /*5273*/ uint16(xCondDataSize), 5277, 5268, 5282,
+       /*5277*/ uint16(xSetOp), uint16(JE),
+       /*5279*/ uint16(xReadCd),
+       /*5280*/ uint16(xArgRel32),
+       /*5281*/ uint16(xMatch),
+       /*5282*/ uint16(xSetOp), uint16(JE),
+       /*5284*/ uint16(xReadCd),
+       /*5285*/ uint16(xArgRel32),
+       /*5286*/ uint16(xMatch),
+       /*5287*/ uint16(xCondIs64), 5290, 5304,
+       /*5290*/ uint16(xCondDataSize), 5294, 5299, 0,
+       /*5294*/ uint16(xSetOp), uint16(JNE),
+       /*5296*/ uint16(xReadCw),
+       /*5297*/ uint16(xArgRel16),
+       /*5298*/ uint16(xMatch),
+       /*5299*/ uint16(xSetOp), uint16(JNE),
+       /*5301*/ uint16(xReadCd),
+       /*5302*/ uint16(xArgRel32),
+       /*5303*/ uint16(xMatch),
+       /*5304*/ uint16(xCondDataSize), 5308, 5299, 5313,
+       /*5308*/ uint16(xSetOp), uint16(JNE),
+       /*5310*/ uint16(xReadCd),
+       /*5311*/ uint16(xArgRel32),
+       /*5312*/ uint16(xMatch),
+       /*5313*/ uint16(xSetOp), uint16(JNE),
+       /*5315*/ uint16(xReadCd),
+       /*5316*/ uint16(xArgRel32),
+       /*5317*/ uint16(xMatch),
+       /*5318*/ uint16(xCondIs64), 5321, 5335,
+       /*5321*/ uint16(xCondDataSize), 5325, 5330, 0,
+       /*5325*/ uint16(xSetOp), uint16(JBE),
+       /*5327*/ uint16(xReadCw),
+       /*5328*/ uint16(xArgRel16),
+       /*5329*/ uint16(xMatch),
+       /*5330*/ uint16(xSetOp), uint16(JBE),
+       /*5332*/ uint16(xReadCd),
+       /*5333*/ uint16(xArgRel32),
+       /*5334*/ uint16(xMatch),
+       /*5335*/ uint16(xCondDataSize), 5339, 5330, 5344,
+       /*5339*/ uint16(xSetOp), uint16(JBE),
+       /*5341*/ uint16(xReadCd),
+       /*5342*/ uint16(xArgRel32),
+       /*5343*/ uint16(xMatch),
+       /*5344*/ uint16(xSetOp), uint16(JBE),
+       /*5346*/ uint16(xReadCd),
+       /*5347*/ uint16(xArgRel32),
+       /*5348*/ uint16(xMatch),
+       /*5349*/ uint16(xCondIs64), 5352, 5366,
+       /*5352*/ uint16(xCondDataSize), 5356, 5361, 0,
+       /*5356*/ uint16(xSetOp), uint16(JA),
+       /*5358*/ uint16(xReadCw),
+       /*5359*/ uint16(xArgRel16),
+       /*5360*/ uint16(xMatch),
+       /*5361*/ uint16(xSetOp), uint16(JA),
+       /*5363*/ uint16(xReadCd),
+       /*5364*/ uint16(xArgRel32),
+       /*5365*/ uint16(xMatch),
+       /*5366*/ uint16(xCondDataSize), 5370, 5361, 5375,
+       /*5370*/ uint16(xSetOp), uint16(JA),
+       /*5372*/ uint16(xReadCd),
+       /*5373*/ uint16(xArgRel32),
+       /*5374*/ uint16(xMatch),
+       /*5375*/ uint16(xSetOp), uint16(JA),
+       /*5377*/ uint16(xReadCd),
+       /*5378*/ uint16(xArgRel32),
+       /*5379*/ uint16(xMatch),
+       /*5380*/ uint16(xCondIs64), 5383, 5397,
+       /*5383*/ uint16(xCondDataSize), 5387, 5392, 0,
+       /*5387*/ uint16(xSetOp), uint16(JS),
+       /*5389*/ uint16(xReadCw),
+       /*5390*/ uint16(xArgRel16),
+       /*5391*/ uint16(xMatch),
+       /*5392*/ uint16(xSetOp), uint16(JS),
+       /*5394*/ uint16(xReadCd),
+       /*5395*/ uint16(xArgRel32),
+       /*5396*/ uint16(xMatch),
+       /*5397*/ uint16(xCondDataSize), 5401, 5392, 5406,
+       /*5401*/ uint16(xSetOp), uint16(JS),
+       /*5403*/ uint16(xReadCd),
+       /*5404*/ uint16(xArgRel32),
+       /*5405*/ uint16(xMatch),
+       /*5406*/ uint16(xSetOp), uint16(JS),
+       /*5408*/ uint16(xReadCd),
+       /*5409*/ uint16(xArgRel32),
+       /*5410*/ uint16(xMatch),
+       /*5411*/ uint16(xCondIs64), 5414, 5428,
+       /*5414*/ uint16(xCondDataSize), 5418, 5423, 0,
+       /*5418*/ uint16(xSetOp), uint16(JNS),
+       /*5420*/ uint16(xReadCw),
+       /*5421*/ uint16(xArgRel16),
+       /*5422*/ uint16(xMatch),
+       /*5423*/ uint16(xSetOp), uint16(JNS),
+       /*5425*/ uint16(xReadCd),
+       /*5426*/ uint16(xArgRel32),
+       /*5427*/ uint16(xMatch),
+       /*5428*/ uint16(xCondDataSize), 5432, 5423, 5437,
+       /*5432*/ uint16(xSetOp), uint16(JNS),
+       /*5434*/ uint16(xReadCd),
+       /*5435*/ uint16(xArgRel32),
+       /*5436*/ uint16(xMatch),
+       /*5437*/ uint16(xSetOp), uint16(JNS),
+       /*5439*/ uint16(xReadCd),
+       /*5440*/ uint16(xArgRel32),
+       /*5441*/ uint16(xMatch),
+       /*5442*/ uint16(xCondIs64), 5445, 5459,
+       /*5445*/ uint16(xCondDataSize), 5449, 5454, 0,
+       /*5449*/ uint16(xSetOp), uint16(JP),
+       /*5451*/ uint16(xReadCw),
+       /*5452*/ uint16(xArgRel16),
+       /*5453*/ uint16(xMatch),
+       /*5454*/ uint16(xSetOp), uint16(JP),
+       /*5456*/ uint16(xReadCd),
+       /*5457*/ uint16(xArgRel32),
+       /*5458*/ uint16(xMatch),
+       /*5459*/ uint16(xCondDataSize), 5463, 5454, 5468,
+       /*5463*/ uint16(xSetOp), uint16(JP),
+       /*5465*/ uint16(xReadCd),
+       /*5466*/ uint16(xArgRel32),
+       /*5467*/ uint16(xMatch),
+       /*5468*/ uint16(xSetOp), uint16(JP),
+       /*5470*/ uint16(xReadCd),
+       /*5471*/ uint16(xArgRel32),
+       /*5472*/ uint16(xMatch),
+       /*5473*/ uint16(xCondIs64), 5476, 5490,
+       /*5476*/ uint16(xCondDataSize), 5480, 5485, 0,
+       /*5480*/ uint16(xSetOp), uint16(JNP),
+       /*5482*/ uint16(xReadCw),
+       /*5483*/ uint16(xArgRel16),
+       /*5484*/ uint16(xMatch),
+       /*5485*/ uint16(xSetOp), uint16(JNP),
+       /*5487*/ uint16(xReadCd),
+       /*5488*/ uint16(xArgRel32),
+       /*5489*/ uint16(xMatch),
+       /*5490*/ uint16(xCondDataSize), 5494, 5485, 5499,
+       /*5494*/ uint16(xSetOp), uint16(JNP),
+       /*5496*/ uint16(xReadCd),
+       /*5497*/ uint16(xArgRel32),
+       /*5498*/ uint16(xMatch),
+       /*5499*/ uint16(xSetOp), uint16(JNP),
+       /*5501*/ uint16(xReadCd),
+       /*5502*/ uint16(xArgRel32),
+       /*5503*/ uint16(xMatch),
+       /*5504*/ uint16(xCondIs64), 5507, 5521,
+       /*5507*/ uint16(xCondDataSize), 5511, 5516, 0,
+       /*5511*/ uint16(xSetOp), uint16(JL),
+       /*5513*/ uint16(xReadCw),
+       /*5514*/ uint16(xArgRel16),
+       /*5515*/ uint16(xMatch),
+       /*5516*/ uint16(xSetOp), uint16(JL),
+       /*5518*/ uint16(xReadCd),
+       /*5519*/ uint16(xArgRel32),
+       /*5520*/ uint16(xMatch),
+       /*5521*/ uint16(xCondDataSize), 5525, 5516, 5530,
+       /*5525*/ uint16(xSetOp), uint16(JL),
+       /*5527*/ uint16(xReadCd),
+       /*5528*/ uint16(xArgRel32),
+       /*5529*/ uint16(xMatch),
+       /*5530*/ uint16(xSetOp), uint16(JL),
+       /*5532*/ uint16(xReadCd),
+       /*5533*/ uint16(xArgRel32),
+       /*5534*/ uint16(xMatch),
+       /*5535*/ uint16(xCondIs64), 5538, 5552,
+       /*5538*/ uint16(xCondDataSize), 5542, 5547, 0,
+       /*5542*/ uint16(xSetOp), uint16(JGE),
+       /*5544*/ uint16(xReadCw),
+       /*5545*/ uint16(xArgRel16),
+       /*5546*/ uint16(xMatch),
+       /*5547*/ uint16(xSetOp), uint16(JGE),
+       /*5549*/ uint16(xReadCd),
+       /*5550*/ uint16(xArgRel32),
+       /*5551*/ uint16(xMatch),
+       /*5552*/ uint16(xCondDataSize), 5556, 5547, 5561,
+       /*5556*/ uint16(xSetOp), uint16(JGE),
+       /*5558*/ uint16(xReadCd),
+       /*5559*/ uint16(xArgRel32),
+       /*5560*/ uint16(xMatch),
+       /*5561*/ uint16(xSetOp), uint16(JGE),
+       /*5563*/ uint16(xReadCd),
+       /*5564*/ uint16(xArgRel32),
+       /*5565*/ uint16(xMatch),
+       /*5566*/ uint16(xCondIs64), 5569, 5583,
+       /*5569*/ uint16(xCondDataSize), 5573, 5578, 0,
+       /*5573*/ uint16(xSetOp), uint16(JLE),
+       /*5575*/ uint16(xReadCw),
+       /*5576*/ uint16(xArgRel16),
+       /*5577*/ uint16(xMatch),
+       /*5578*/ uint16(xSetOp), uint16(JLE),
+       /*5580*/ uint16(xReadCd),
+       /*5581*/ uint16(xArgRel32),
+       /*5582*/ uint16(xMatch),
+       /*5583*/ uint16(xCondDataSize), 5587, 5578, 5592,
+       /*5587*/ uint16(xSetOp), uint16(JLE),
+       /*5589*/ uint16(xReadCd),
+       /*5590*/ uint16(xArgRel32),
+       /*5591*/ uint16(xMatch),
+       /*5592*/ uint16(xSetOp), uint16(JLE),
+       /*5594*/ uint16(xReadCd),
+       /*5595*/ uint16(xArgRel32),
+       /*5596*/ uint16(xMatch),
+       /*5597*/ uint16(xCondIs64), 5600, 5614,
+       /*5600*/ uint16(xCondDataSize), 5604, 5609, 0,
+       /*5604*/ uint16(xSetOp), uint16(JG),
+       /*5606*/ uint16(xReadCw),
+       /*5607*/ uint16(xArgRel16),
+       /*5608*/ uint16(xMatch),
+       /*5609*/ uint16(xSetOp), uint16(JG),
+       /*5611*/ uint16(xReadCd),
+       /*5612*/ uint16(xArgRel32),
+       /*5613*/ uint16(xMatch),
+       /*5614*/ uint16(xCondDataSize), 5618, 5609, 5623,
+       /*5618*/ uint16(xSetOp), uint16(JG),
+       /*5620*/ uint16(xReadCd),
+       /*5621*/ uint16(xArgRel32),
+       /*5622*/ uint16(xMatch),
+       /*5623*/ uint16(xSetOp), uint16(JG),
+       /*5625*/ uint16(xReadCd),
+       /*5626*/ uint16(xArgRel32),
+       /*5627*/ uint16(xMatch),
+       /*5628*/ uint16(xSetOp), uint16(SETO),
+       /*5630*/ uint16(xReadSlashR),
+       /*5631*/ uint16(xArgRM8),
+       /*5632*/ uint16(xMatch),
+       /*5633*/ uint16(xSetOp), uint16(SETNO),
+       /*5635*/ uint16(xReadSlashR),
+       /*5636*/ uint16(xArgRM8),
+       /*5637*/ uint16(xMatch),
+       /*5638*/ uint16(xSetOp), uint16(SETB),
+       /*5640*/ uint16(xReadSlashR),
+       /*5641*/ uint16(xArgRM8),
+       /*5642*/ uint16(xMatch),
+       /*5643*/ uint16(xSetOp), uint16(SETAE),
+       /*5645*/ uint16(xReadSlashR),
+       /*5646*/ uint16(xArgRM8),
+       /*5647*/ uint16(xMatch),
+       /*5648*/ uint16(xSetOp), uint16(SETE),
+       /*5650*/ uint16(xReadSlashR),
+       /*5651*/ uint16(xArgRM8),
+       /*5652*/ uint16(xMatch),
+       /*5653*/ uint16(xSetOp), uint16(SETNE),
+       /*5655*/ uint16(xReadSlashR),
+       /*5656*/ uint16(xArgRM8),
+       /*5657*/ uint16(xMatch),
+       /*5658*/ uint16(xSetOp), uint16(SETBE),
+       /*5660*/ uint16(xReadSlashR),
+       /*5661*/ uint16(xArgRM8),
+       /*5662*/ uint16(xMatch),
+       /*5663*/ uint16(xSetOp), uint16(SETA),
+       /*5665*/ uint16(xReadSlashR),
+       /*5666*/ uint16(xArgRM8),
+       /*5667*/ uint16(xMatch),
+       /*5668*/ uint16(xSetOp), uint16(SETS),
+       /*5670*/ uint16(xReadSlashR),
+       /*5671*/ uint16(xArgRM8),
+       /*5672*/ uint16(xMatch),
+       /*5673*/ uint16(xSetOp), uint16(SETNS),
+       /*5675*/ uint16(xReadSlashR),
+       /*5676*/ uint16(xArgRM8),
+       /*5677*/ uint16(xMatch),
+       /*5678*/ uint16(xSetOp), uint16(SETP),
+       /*5680*/ uint16(xReadSlashR),
+       /*5681*/ uint16(xArgRM8),
+       /*5682*/ uint16(xMatch),
+       /*5683*/ uint16(xSetOp), uint16(SETNP),
+       /*5685*/ uint16(xReadSlashR),
+       /*5686*/ uint16(xArgRM8),
+       /*5687*/ uint16(xMatch),
+       /*5688*/ uint16(xSetOp), uint16(SETL),
+       /*5690*/ uint16(xReadSlashR),
+       /*5691*/ uint16(xArgRM8),
+       /*5692*/ uint16(xMatch),
+       /*5693*/ uint16(xSetOp), uint16(SETGE),
+       /*5695*/ uint16(xReadSlashR),
+       /*5696*/ uint16(xArgRM8),
+       /*5697*/ uint16(xMatch),
+       /*5698*/ uint16(xSetOp), uint16(SETLE),
+       /*5700*/ uint16(xReadSlashR),
+       /*5701*/ uint16(xArgRM8),
+       /*5702*/ uint16(xMatch),
+       /*5703*/ uint16(xSetOp), uint16(SETG),
+       /*5705*/ uint16(xReadSlashR),
+       /*5706*/ uint16(xArgRM8),
+       /*5707*/ uint16(xMatch),
+       /*5708*/ uint16(xSetOp), uint16(PUSH),
+       /*5710*/ uint16(xArgFS),
+       /*5711*/ uint16(xMatch),
+       /*5712*/ uint16(xCondIs64), 5715, 5727,
+       /*5715*/ uint16(xCondDataSize), 5719, 5723, 0,
+       /*5719*/ uint16(xSetOp), uint16(POP),
+       /*5721*/ uint16(xArgFS),
+       /*5722*/ uint16(xMatch),
+       /*5723*/ uint16(xSetOp), uint16(POP),
+       /*5725*/ uint16(xArgFS),
+       /*5726*/ uint16(xMatch),
+       /*5727*/ uint16(xCondDataSize), 5719, 5731, 5735,
+       /*5731*/ uint16(xSetOp), uint16(POP),
+       /*5733*/ uint16(xArgFS),
+       /*5734*/ uint16(xMatch),
+       /*5735*/ uint16(xSetOp), uint16(POP),
+       /*5737*/ uint16(xArgFS),
+       /*5738*/ uint16(xMatch),
+       /*5739*/ uint16(xSetOp), uint16(CPUID),
+       /*5741*/ uint16(xMatch),
+       /*5742*/ uint16(xCondIs64), 5745, 5761,
+       /*5745*/ uint16(xCondDataSize), 5749, 5755, 0,
+       /*5749*/ uint16(xSetOp), uint16(BT),
+       /*5751*/ uint16(xReadSlashR),
+       /*5752*/ uint16(xArgRM16),
+       /*5753*/ uint16(xArgR16),
+       /*5754*/ uint16(xMatch),
+       /*5755*/ uint16(xSetOp), uint16(BT),
+       /*5757*/ uint16(xReadSlashR),
+       /*5758*/ uint16(xArgRM32),
+       /*5759*/ uint16(xArgR32),
+       /*5760*/ uint16(xMatch),
+       /*5761*/ uint16(xCondDataSize), 5749, 5755, 5765,
+       /*5765*/ uint16(xSetOp), uint16(BT),
+       /*5767*/ uint16(xReadSlashR),
+       /*5768*/ uint16(xArgRM64),
+       /*5769*/ uint16(xArgR64),
+       /*5770*/ uint16(xMatch),
+       /*5771*/ uint16(xCondIs64), 5774, 5794,
+       /*5774*/ uint16(xCondDataSize), 5778, 5786, 0,
+       /*5778*/ uint16(xSetOp), uint16(SHLD),
+       /*5780*/ uint16(xReadSlashR),
+       /*5781*/ uint16(xReadIb),
+       /*5782*/ uint16(xArgRM16),
+       /*5783*/ uint16(xArgR16),
+       /*5784*/ uint16(xArgImm8u),
+       /*5785*/ uint16(xMatch),
+       /*5786*/ uint16(xSetOp), uint16(SHLD),
+       /*5788*/ uint16(xReadSlashR),
+       /*5789*/ uint16(xReadIb),
+       /*5790*/ uint16(xArgRM32),
+       /*5791*/ uint16(xArgR32),
+       /*5792*/ uint16(xArgImm8u),
+       /*5793*/ uint16(xMatch),
+       /*5794*/ uint16(xCondDataSize), 5778, 5786, 5798,
+       /*5798*/ uint16(xSetOp), uint16(SHLD),
+       /*5800*/ uint16(xReadSlashR),
+       /*5801*/ uint16(xReadIb),
+       /*5802*/ uint16(xArgRM64),
+       /*5803*/ uint16(xArgR64),
+       /*5804*/ uint16(xArgImm8u),
+       /*5805*/ uint16(xMatch),
+       /*5806*/ uint16(xCondIs64), 5809, 5827,
+       /*5809*/ uint16(xCondDataSize), 5813, 5820, 0,
+       /*5813*/ uint16(xSetOp), uint16(SHLD),
+       /*5815*/ uint16(xReadSlashR),
+       /*5816*/ uint16(xArgRM16),
+       /*5817*/ uint16(xArgR16),
+       /*5818*/ uint16(xArgCL),
+       /*5819*/ uint16(xMatch),
+       /*5820*/ uint16(xSetOp), uint16(SHLD),
+       /*5822*/ uint16(xReadSlashR),
+       /*5823*/ uint16(xArgRM32),
+       /*5824*/ uint16(xArgR32),
+       /*5825*/ uint16(xArgCL),
+       /*5826*/ uint16(xMatch),
+       /*5827*/ uint16(xCondDataSize), 5813, 5820, 5831,
+       /*5831*/ uint16(xSetOp), uint16(SHLD),
+       /*5833*/ uint16(xReadSlashR),
+       /*5834*/ uint16(xArgRM64),
+       /*5835*/ uint16(xArgR64),
+       /*5836*/ uint16(xArgCL),
+       /*5837*/ uint16(xMatch),
+       /*5838*/ uint16(xSetOp), uint16(PUSH),
+       /*5840*/ uint16(xArgGS),
+       /*5841*/ uint16(xMatch),
+       /*5842*/ uint16(xCondIs64), 5845, 5857,
+       /*5845*/ uint16(xCondDataSize), 5849, 5853, 0,
+       /*5849*/ uint16(xSetOp), uint16(POP),
+       /*5851*/ uint16(xArgGS),
+       /*5852*/ uint16(xMatch),
+       /*5853*/ uint16(xSetOp), uint16(POP),
+       /*5855*/ uint16(xArgGS),
+       /*5856*/ uint16(xMatch),
+       /*5857*/ uint16(xCondDataSize), 5849, 5861, 5865,
+       /*5861*/ uint16(xSetOp), uint16(POP),
+       /*5863*/ uint16(xArgGS),
+       /*5864*/ uint16(xMatch),
+       /*5865*/ uint16(xSetOp), uint16(POP),
+       /*5867*/ uint16(xArgGS),
+       /*5868*/ uint16(xMatch),
+       /*5869*/ uint16(xSetOp), uint16(RSM),
+       /*5871*/ uint16(xMatch),
+       /*5872*/ uint16(xCondIs64), 5875, 5891,
+       /*5875*/ uint16(xCondDataSize), 5879, 5885, 0,
+       /*5879*/ uint16(xSetOp), uint16(BTS),
+       /*5881*/ uint16(xReadSlashR),
+       /*5882*/ uint16(xArgRM16),
+       /*5883*/ uint16(xArgR16),
+       /*5884*/ uint16(xMatch),
+       /*5885*/ uint16(xSetOp), uint16(BTS),
+       /*5887*/ uint16(xReadSlashR),
+       /*5888*/ uint16(xArgRM32),
+       /*5889*/ uint16(xArgR32),
+       /*5890*/ uint16(xMatch),
+       /*5891*/ uint16(xCondDataSize), 5879, 5885, 5895,
+       /*5895*/ uint16(xSetOp), uint16(BTS),
+       /*5897*/ uint16(xReadSlashR),
+       /*5898*/ uint16(xArgRM64),
+       /*5899*/ uint16(xArgR64),
+       /*5900*/ uint16(xMatch),
+       /*5901*/ uint16(xCondIs64), 5904, 5924,
+       /*5904*/ uint16(xCondDataSize), 5908, 5916, 0,
+       /*5908*/ uint16(xSetOp), uint16(SHRD),
+       /*5910*/ uint16(xReadSlashR),
+       /*5911*/ uint16(xReadIb),
+       /*5912*/ uint16(xArgRM16),
+       /*5913*/ uint16(xArgR16),
+       /*5914*/ uint16(xArgImm8u),
+       /*5915*/ uint16(xMatch),
+       /*5916*/ uint16(xSetOp), uint16(SHRD),
+       /*5918*/ uint16(xReadSlashR),
+       /*5919*/ uint16(xReadIb),
+       /*5920*/ uint16(xArgRM32),
+       /*5921*/ uint16(xArgR32),
+       /*5922*/ uint16(xArgImm8u),
+       /*5923*/ uint16(xMatch),
+       /*5924*/ uint16(xCondDataSize), 5908, 5916, 5928,
+       /*5928*/ uint16(xSetOp), uint16(SHRD),
+       /*5930*/ uint16(xReadSlashR),
+       /*5931*/ uint16(xReadIb),
+       /*5932*/ uint16(xArgRM64),
+       /*5933*/ uint16(xArgR64),
+       /*5934*/ uint16(xArgImm8u),
+       /*5935*/ uint16(xMatch),
+       /*5936*/ uint16(xCondIs64), 5939, 5957,
+       /*5939*/ uint16(xCondDataSize), 5943, 5950, 0,
+       /*5943*/ uint16(xSetOp), uint16(SHRD),
+       /*5945*/ uint16(xReadSlashR),
+       /*5946*/ uint16(xArgRM16),
+       /*5947*/ uint16(xArgR16),
+       /*5948*/ uint16(xArgCL),
+       /*5949*/ uint16(xMatch),
+       /*5950*/ uint16(xSetOp), uint16(SHRD),
+       /*5952*/ uint16(xReadSlashR),
+       /*5953*/ uint16(xArgRM32),
+       /*5954*/ uint16(xArgR32),
+       /*5955*/ uint16(xArgCL),
+       /*5956*/ uint16(xMatch),
+       /*5957*/ uint16(xCondDataSize), 5943, 5950, 5961,
+       /*5961*/ uint16(xSetOp), uint16(SHRD),
+       /*5963*/ uint16(xReadSlashR),
+       /*5964*/ uint16(xArgRM64),
+       /*5965*/ uint16(xArgR64),
+       /*5966*/ uint16(xArgCL),
+       /*5967*/ uint16(xMatch),
+       /*5968*/ uint16(xCondByte), 3,
+       0xE8, 6217,
+       0xF0, 6220,
+       0xF8, 6223,
+       /*5976*/ uint16(xCondSlashR),
+       5985, // 0
+       6039, // 1
+       6093, // 2
+       6122, // 3
+       6151, // 4
+       6174, // 5
+       6197, // 6
+       6213, // 7
+       /*5985*/ uint16(xCondIs64), 5988, 6000,
+       /*5988*/ uint16(xCondDataSize), 5992, 5996, 0,
+       /*5992*/ uint16(xSetOp), uint16(FXSAVE),
+       /*5994*/ uint16(xArgM512byte),
+       /*5995*/ uint16(xMatch),
+       /*5996*/ uint16(xSetOp), uint16(FXSAVE),
+       /*5998*/ uint16(xArgM512byte),
+       /*5999*/ uint16(xMatch),
+       /*6000*/ uint16(xCondPrefix), 2,
+       0xF3, 6014,
+       0x0, 6006,
+       /*6006*/ uint16(xCondDataSize), 5992, 5996, 6010,
+       /*6010*/ uint16(xSetOp), uint16(FXSAVE64),
+       /*6012*/ uint16(xArgM512byte),
+       /*6013*/ uint16(xMatch),
+       /*6014*/ uint16(xCondDataSize), 6018, 6025, 6032,
+       /*6018*/ uint16(xCondIsMem), 6021, 0,
+       /*6021*/ uint16(xSetOp), uint16(RDFSBASE),
+       /*6023*/ uint16(xArgRM32),
+       /*6024*/ uint16(xMatch),
+       /*6025*/ uint16(xCondIsMem), 6028, 0,
+       /*6028*/ uint16(xSetOp), uint16(RDFSBASE),
+       /*6030*/ uint16(xArgRM32),
+       /*6031*/ uint16(xMatch),
+       /*6032*/ uint16(xCondIsMem), 6035, 0,
+       /*6035*/ uint16(xSetOp), uint16(RDFSBASE),
+       /*6037*/ uint16(xArgRM64),
+       /*6038*/ uint16(xMatch),
+       /*6039*/ uint16(xCondIs64), 6042, 6054,
+       /*6042*/ uint16(xCondDataSize), 6046, 6050, 0,
+       /*6046*/ uint16(xSetOp), uint16(FXRSTOR),
+       /*6048*/ uint16(xArgM512byte),
+       /*6049*/ uint16(xMatch),
+       /*6050*/ uint16(xSetOp), uint16(FXRSTOR),
+       /*6052*/ uint16(xArgM512byte),
+       /*6053*/ uint16(xMatch),
+       /*6054*/ uint16(xCondPrefix), 2,
+       0xF3, 6068,
+       0x0, 6060,
+       /*6060*/ uint16(xCondDataSize), 6046, 6050, 6064,
+       /*6064*/ uint16(xSetOp), uint16(FXRSTOR64),
+       /*6066*/ uint16(xArgM512byte),
+       /*6067*/ uint16(xMatch),
+       /*6068*/ uint16(xCondDataSize), 6072, 6079, 6086,
+       /*6072*/ uint16(xCondIsMem), 6075, 0,
+       /*6075*/ uint16(xSetOp), uint16(RDGSBASE),
+       /*6077*/ uint16(xArgRM32),
+       /*6078*/ uint16(xMatch),
+       /*6079*/ uint16(xCondIsMem), 6082, 0,
+       /*6082*/ uint16(xSetOp), uint16(RDGSBASE),
+       /*6084*/ uint16(xArgRM32),
+       /*6085*/ uint16(xMatch),
+       /*6086*/ uint16(xCondIsMem), 6089, 0,
+       /*6089*/ uint16(xSetOp), uint16(RDGSBASE),
+       /*6091*/ uint16(xArgRM64),
+       /*6092*/ uint16(xMatch),
+       /*6093*/ uint16(xCondIs64), 6096, 6100,
+       /*6096*/ uint16(xSetOp), uint16(LDMXCSR),
+       /*6098*/ uint16(xArgM32),
+       /*6099*/ uint16(xMatch),
+       /*6100*/ uint16(xCondPrefix), 2,
+       0xF3, 6106,
+       0x0, 6096,
+       /*6106*/ uint16(xCondDataSize), 6110, 6114, 6118,
+       /*6110*/ uint16(xSetOp), uint16(WRFSBASE),
+       /*6112*/ uint16(xArgRM32),
+       /*6113*/ uint16(xMatch),
+       /*6114*/ uint16(xSetOp), uint16(WRFSBASE),
+       /*6116*/ uint16(xArgRM32),
+       /*6117*/ uint16(xMatch),
+       /*6118*/ uint16(xSetOp), uint16(WRFSBASE),
+       /*6120*/ uint16(xArgRM64),
+       /*6121*/ uint16(xMatch),
+       /*6122*/ uint16(xCondIs64), 6125, 6129,
+       /*6125*/ uint16(xSetOp), uint16(STMXCSR),
+       /*6127*/ uint16(xArgM32),
+       /*6128*/ uint16(xMatch),
+       /*6129*/ uint16(xCondPrefix), 2,
+       0xF3, 6135,
+       0x0, 6125,
+       /*6135*/ uint16(xCondDataSize), 6139, 6143, 6147,
+       /*6139*/ uint16(xSetOp), uint16(WRGSBASE),
+       /*6141*/ uint16(xArgRM32),
+       /*6142*/ uint16(xMatch),
+       /*6143*/ uint16(xSetOp), uint16(WRGSBASE),
+       /*6145*/ uint16(xArgRM32),
+       /*6146*/ uint16(xMatch),
+       /*6147*/ uint16(xSetOp), uint16(WRGSBASE),
+       /*6149*/ uint16(xArgRM64),
+       /*6150*/ uint16(xMatch),
+       /*6151*/ uint16(xCondIs64), 6154, 6166,
+       /*6154*/ uint16(xCondDataSize), 6158, 6162, 0,
+       /*6158*/ uint16(xSetOp), uint16(XSAVE),
+       /*6160*/ uint16(xArgMem),
+       /*6161*/ uint16(xMatch),
+       /*6162*/ uint16(xSetOp), uint16(XSAVE),
+       /*6164*/ uint16(xArgMem),
+       /*6165*/ uint16(xMatch),
+       /*6166*/ uint16(xCondDataSize), 6158, 6162, 6170,
+       /*6170*/ uint16(xSetOp), uint16(XSAVE64),
+       /*6172*/ uint16(xArgMem),
+       /*6173*/ uint16(xMatch),
+       /*6174*/ uint16(xCondIs64), 6177, 6189,
+       /*6177*/ uint16(xCondDataSize), 6181, 6185, 0,
+       /*6181*/ uint16(xSetOp), uint16(XRSTOR),
+       /*6183*/ uint16(xArgMem),
+       /*6184*/ uint16(xMatch),
+       /*6185*/ uint16(xSetOp), uint16(XRSTOR),
+       /*6187*/ uint16(xArgMem),
+       /*6188*/ uint16(xMatch),
+       /*6189*/ uint16(xCondDataSize), 6181, 6185, 6193,
+       /*6193*/ uint16(xSetOp), uint16(XRSTOR64),
+       /*6195*/ uint16(xArgMem),
+       /*6196*/ uint16(xMatch),
+       /*6197*/ uint16(xCondDataSize), 6201, 6205, 6209,
+       /*6201*/ uint16(xSetOp), uint16(XSAVEOPT),
+       /*6203*/ uint16(xArgMem),
+       /*6204*/ uint16(xMatch),
+       /*6205*/ uint16(xSetOp), uint16(XSAVEOPT),
+       /*6207*/ uint16(xArgMem),
+       /*6208*/ uint16(xMatch),
+       /*6209*/ uint16(xSetOp), uint16(XSAVEOPT64),
+       /*6211*/ uint16(xArgMem),
+       /*6212*/ uint16(xMatch),
+       /*6213*/ uint16(xSetOp), uint16(CLFLUSH),
+       /*6215*/ uint16(xArgM8),
+       /*6216*/ uint16(xMatch),
+       /*6217*/ uint16(xSetOp), uint16(LFENCE),
+       /*6219*/ uint16(xMatch),
+       /*6220*/ uint16(xSetOp), uint16(MFENCE),
+       /*6222*/ uint16(xMatch),
+       /*6223*/ uint16(xSetOp), uint16(SFENCE),
+       /*6225*/ uint16(xMatch),
+       /*6226*/ uint16(xCondIs64), 6229, 6245,
+       /*6229*/ uint16(xCondDataSize), 6233, 6239, 0,
+       /*6233*/ uint16(xSetOp), uint16(IMUL),
+       /*6235*/ uint16(xReadSlashR),
+       /*6236*/ uint16(xArgR16),
+       /*6237*/ uint16(xArgRM16),
+       /*6238*/ uint16(xMatch),
+       /*6239*/ uint16(xSetOp), uint16(IMUL),
+       /*6241*/ uint16(xReadSlashR),
+       /*6242*/ uint16(xArgR32),
+       /*6243*/ uint16(xArgRM32),
+       /*6244*/ uint16(xMatch),
+       /*6245*/ uint16(xCondDataSize), 6233, 6239, 6249,
+       /*6249*/ uint16(xSetOp), uint16(IMUL),
+       /*6251*/ uint16(xReadSlashR),
+       /*6252*/ uint16(xArgR64),
+       /*6253*/ uint16(xArgRM64),
+       /*6254*/ uint16(xMatch),
+       /*6255*/ uint16(xSetOp), uint16(CMPXCHG),
+       /*6257*/ uint16(xReadSlashR),
+       /*6258*/ uint16(xArgRM8),
+       /*6259*/ uint16(xArgR8),
+       /*6260*/ uint16(xMatch),
+       /*6261*/ uint16(xCondIs64), 6264, 6280,
+       /*6264*/ uint16(xCondDataSize), 6268, 6274, 0,
+       /*6268*/ uint16(xSetOp), uint16(CMPXCHG),
+       /*6270*/ uint16(xReadSlashR),
+       /*6271*/ uint16(xArgRM16),
+       /*6272*/ uint16(xArgR16),
+       /*6273*/ uint16(xMatch),
+       /*6274*/ uint16(xSetOp), uint16(CMPXCHG),
+       /*6276*/ uint16(xReadSlashR),
+       /*6277*/ uint16(xArgRM32),
+       /*6278*/ uint16(xArgR32),
+       /*6279*/ uint16(xMatch),
+       /*6280*/ uint16(xCondDataSize), 6268, 6274, 6284,
+       /*6284*/ uint16(xSetOp), uint16(CMPXCHG),
+       /*6286*/ uint16(xReadSlashR),
+       /*6287*/ uint16(xArgRM64),
+       /*6288*/ uint16(xArgR64),
+       /*6289*/ uint16(xMatch),
+       /*6290*/ uint16(xCondIs64), 6293, 6309,
+       /*6293*/ uint16(xCondDataSize), 6297, 6303, 0,
+       /*6297*/ uint16(xSetOp), uint16(LSS),
+       /*6299*/ uint16(xReadSlashR),
+       /*6300*/ uint16(xArgR16),
+       /*6301*/ uint16(xArgM16colon16),
+       /*6302*/ uint16(xMatch),
+       /*6303*/ uint16(xSetOp), uint16(LSS),
+       /*6305*/ uint16(xReadSlashR),
+       /*6306*/ uint16(xArgR32),
+       /*6307*/ uint16(xArgM16colon32),
+       /*6308*/ uint16(xMatch),
+       /*6309*/ uint16(xCondDataSize), 6297, 6303, 6313,
+       /*6313*/ uint16(xSetOp), uint16(LSS),
+       /*6315*/ uint16(xReadSlashR),
+       /*6316*/ uint16(xArgR64),
+       /*6317*/ uint16(xArgM16colon64),
+       /*6318*/ uint16(xMatch),
+       /*6319*/ uint16(xCondIs64), 6322, 6338,
+       /*6322*/ uint16(xCondDataSize), 6326, 6332, 0,
+       /*6326*/ uint16(xSetOp), uint16(BTR),
+       /*6328*/ uint16(xReadSlashR),
+       /*6329*/ uint16(xArgRM16),
+       /*6330*/ uint16(xArgR16),
+       /*6331*/ uint16(xMatch),
+       /*6332*/ uint16(xSetOp), uint16(BTR),
+       /*6334*/ uint16(xReadSlashR),
+       /*6335*/ uint16(xArgRM32),
+       /*6336*/ uint16(xArgR32),
+       /*6337*/ uint16(xMatch),
+       /*6338*/ uint16(xCondDataSize), 6326, 6332, 6342,
+       /*6342*/ uint16(xSetOp), uint16(BTR),
+       /*6344*/ uint16(xReadSlashR),
+       /*6345*/ uint16(xArgRM64),
+       /*6346*/ uint16(xArgR64),
+       /*6347*/ uint16(xMatch),
+       /*6348*/ uint16(xCondIs64), 6351, 6367,
+       /*6351*/ uint16(xCondDataSize), 6355, 6361, 0,
+       /*6355*/ uint16(xSetOp), uint16(LFS),
+       /*6357*/ uint16(xReadSlashR),
+       /*6358*/ uint16(xArgR16),
+       /*6359*/ uint16(xArgM16colon16),
+       /*6360*/ uint16(xMatch),
+       /*6361*/ uint16(xSetOp), uint16(LFS),
+       /*6363*/ uint16(xReadSlashR),
+       /*6364*/ uint16(xArgR32),
+       /*6365*/ uint16(xArgM16colon32),
+       /*6366*/ uint16(xMatch),
+       /*6367*/ uint16(xCondDataSize), 6355, 6361, 6371,
+       /*6371*/ uint16(xSetOp), uint16(LFS),
+       /*6373*/ uint16(xReadSlashR),
+       /*6374*/ uint16(xArgR64),
+       /*6375*/ uint16(xArgM16colon64),
+       /*6376*/ uint16(xMatch),
+       /*6377*/ uint16(xCondIs64), 6380, 6396,
+       /*6380*/ uint16(xCondDataSize), 6384, 6390, 0,
+       /*6384*/ uint16(xSetOp), uint16(LGS),
+       /*6386*/ uint16(xReadSlashR),
+       /*6387*/ uint16(xArgR16),
+       /*6388*/ uint16(xArgM16colon16),
+       /*6389*/ uint16(xMatch),
+       /*6390*/ uint16(xSetOp), uint16(LGS),
+       /*6392*/ uint16(xReadSlashR),
+       /*6393*/ uint16(xArgR32),
+       /*6394*/ uint16(xArgM16colon32),
+       /*6395*/ uint16(xMatch),
+       /*6396*/ uint16(xCondDataSize), 6384, 6390, 6400,
+       /*6400*/ uint16(xSetOp), uint16(LGS),
+       /*6402*/ uint16(xReadSlashR),
+       /*6403*/ uint16(xArgR64),
+       /*6404*/ uint16(xArgM16colon64),
+       /*6405*/ uint16(xMatch),
+       /*6406*/ uint16(xCondIs64), 6409, 6425,
+       /*6409*/ uint16(xCondDataSize), 6413, 6419, 0,
+       /*6413*/ uint16(xSetOp), uint16(MOVZX),
+       /*6415*/ uint16(xReadSlashR),
+       /*6416*/ uint16(xArgR16),
+       /*6417*/ uint16(xArgRM8),
+       /*6418*/ uint16(xMatch),
+       /*6419*/ uint16(xSetOp), uint16(MOVZX),
+       /*6421*/ uint16(xReadSlashR),
+       /*6422*/ uint16(xArgR32),
+       /*6423*/ uint16(xArgRM8),
+       /*6424*/ uint16(xMatch),
+       /*6425*/ uint16(xCondDataSize), 6413, 6419, 6429,
+       /*6429*/ uint16(xSetOp), uint16(MOVZX),
+       /*6431*/ uint16(xReadSlashR),
+       /*6432*/ uint16(xArgR64),
+       /*6433*/ uint16(xArgRM8),
+       /*6434*/ uint16(xMatch),
+       /*6435*/ uint16(xCondIs64), 6438, 6454,
+       /*6438*/ uint16(xCondDataSize), 6442, 6448, 0,
+       /*6442*/ uint16(xSetOp), uint16(MOVZX),
+       /*6444*/ uint16(xReadSlashR),
+       /*6445*/ uint16(xArgR16),
+       /*6446*/ uint16(xArgRM16),
+       /*6447*/ uint16(xMatch),
+       /*6448*/ uint16(xSetOp), uint16(MOVZX),
+       /*6450*/ uint16(xReadSlashR),
+       /*6451*/ uint16(xArgR32),
+       /*6452*/ uint16(xArgRM16),
+       /*6453*/ uint16(xMatch),
+       /*6454*/ uint16(xCondDataSize), 6442, 6448, 6458,
+       /*6458*/ uint16(xSetOp), uint16(MOVZX),
+       /*6460*/ uint16(xReadSlashR),
+       /*6461*/ uint16(xArgR64),
+       /*6462*/ uint16(xArgRM16),
+       /*6463*/ uint16(xMatch),
+       /*6464*/ uint16(xCondIs64), 6467, 6487,
+       /*6467*/ uint16(xCondPrefix), 1,
+       0xF3, 6471,
+       /*6471*/ uint16(xCondDataSize), 6475, 6481, 0,
+       /*6475*/ uint16(xSetOp), uint16(POPCNT),
+       /*6477*/ uint16(xReadSlashR),
+       /*6478*/ uint16(xArgR16),
+       /*6479*/ uint16(xArgRM16),
+       /*6480*/ uint16(xMatch),
+       /*6481*/ uint16(xSetOp), uint16(POPCNT),
+       /*6483*/ uint16(xReadSlashR),
+       /*6484*/ uint16(xArgR32),
+       /*6485*/ uint16(xArgRM32),
+       /*6486*/ uint16(xMatch),
+       /*6487*/ uint16(xCondPrefix), 1,
+       0xF3, 6491,
+       /*6491*/ uint16(xCondDataSize), 6475, 6481, 6495,
+       /*6495*/ uint16(xSetOp), uint16(POPCNT),
+       /*6497*/ uint16(xReadSlashR),
+       /*6498*/ uint16(xArgR64),
+       /*6499*/ uint16(xArgRM64),
+       /*6500*/ uint16(xMatch),
+       /*6501*/ uint16(xCondDataSize), 0, 6505, 0,
+       /*6505*/ uint16(xSetOp), uint16(UD1),
+       /*6507*/ uint16(xReadSlashR),
+       /*6508*/ uint16(xArgR32),
+       /*6509*/ uint16(xArgRM32),
+       /*6510*/ uint16(xMatch),
+       /*6511*/ uint16(xCondSlashR),
        0,    // 0
        0,    // 1
        0,    // 2
        0,    // 3
-       6511, // 4
-       6540, // 5
-       6569, // 6
-       6598, // 7
-       /*6511*/ uint16(xCondIs64), 6514, 6530,
-       /*6514*/ uint16(xCondDataSize), 6518, 6524, 0,
-       /*6518*/ uint16(xSetOp), uint16(BT),
-       /*6520*/ uint16(xReadIb),
-       /*6521*/ uint16(xArgRM16),
-       /*6522*/ uint16(xArgImm8u),
-       /*6523*/ uint16(xMatch),
-       /*6524*/ uint16(xSetOp), uint16(BT),
-       /*6526*/ uint16(xReadIb),
-       /*6527*/ uint16(xArgRM32),
-       /*6528*/ uint16(xArgImm8u),
-       /*6529*/ uint16(xMatch),
-       /*6530*/ uint16(xCondDataSize), 6518, 6524, 6534,
-       /*6534*/ uint16(xSetOp), uint16(BT),
-       /*6536*/ uint16(xReadIb),
-       /*6537*/ uint16(xArgRM64),
-       /*6538*/ uint16(xArgImm8u),
-       /*6539*/ uint16(xMatch),
-       /*6540*/ uint16(xCondIs64), 6543, 6559,
-       /*6543*/ uint16(xCondDataSize), 6547, 6553, 0,
-       /*6547*/ uint16(xSetOp), uint16(BTS),
-       /*6549*/ uint16(xReadIb),
-       /*6550*/ uint16(xArgRM16),
-       /*6551*/ uint16(xArgImm8u),
-       /*6552*/ uint16(xMatch),
-       /*6553*/ uint16(xSetOp), uint16(BTS),
-       /*6555*/ uint16(xReadIb),
-       /*6556*/ uint16(xArgRM32),
-       /*6557*/ uint16(xArgImm8u),
-       /*6558*/ uint16(xMatch),
-       /*6559*/ uint16(xCondDataSize), 6547, 6553, 6563,
-       /*6563*/ uint16(xSetOp), uint16(BTS),
-       /*6565*/ uint16(xReadIb),
-       /*6566*/ uint16(xArgRM64),
-       /*6567*/ uint16(xArgImm8u),
-       /*6568*/ uint16(xMatch),
-       /*6569*/ uint16(xCondIs64), 6572, 6588,
-       /*6572*/ uint16(xCondDataSize), 6576, 6582, 0,
-       /*6576*/ uint16(xSetOp), uint16(BTR),
-       /*6578*/ uint16(xReadIb),
-       /*6579*/ uint16(xArgRM16),
-       /*6580*/ uint16(xArgImm8u),
-       /*6581*/ uint16(xMatch),
-       /*6582*/ uint16(xSetOp), uint16(BTR),
-       /*6584*/ uint16(xReadIb),
-       /*6585*/ uint16(xArgRM32),
-       /*6586*/ uint16(xArgImm8u),
-       /*6587*/ uint16(xMatch),
-       /*6588*/ uint16(xCondDataSize), 6576, 6582, 6592,
-       /*6592*/ uint16(xSetOp), uint16(BTR),
-       /*6594*/ uint16(xReadIb),
-       /*6595*/ uint16(xArgRM64),
-       /*6596*/ uint16(xArgImm8u),
-       /*6597*/ uint16(xMatch),
-       /*6598*/ uint16(xCondIs64), 6601, 6617,
-       /*6601*/ uint16(xCondDataSize), 6605, 6611, 0,
-       /*6605*/ uint16(xSetOp), uint16(BTC),
-       /*6607*/ uint16(xReadIb),
-       /*6608*/ uint16(xArgRM16),
-       /*6609*/ uint16(xArgImm8u),
-       /*6610*/ uint16(xMatch),
-       /*6611*/ uint16(xSetOp), uint16(BTC),
-       /*6613*/ uint16(xReadIb),
-       /*6614*/ uint16(xArgRM32),
-       /*6615*/ uint16(xArgImm8u),
-       /*6616*/ uint16(xMatch),
-       /*6617*/ uint16(xCondDataSize), 6605, 6611, 6621,
-       /*6621*/ uint16(xSetOp), uint16(BTC),
-       /*6623*/ uint16(xReadIb),
-       /*6624*/ uint16(xArgRM64),
-       /*6625*/ uint16(xArgImm8u),
-       /*6626*/ uint16(xMatch),
-       /*6627*/ uint16(xCondIs64), 6630, 6646,
-       /*6630*/ uint16(xCondDataSize), 6634, 6640, 0,
-       /*6634*/ uint16(xSetOp), uint16(BTC),
-       /*6636*/ uint16(xReadSlashR),
-       /*6637*/ uint16(xArgRM16),
-       /*6638*/ uint16(xArgR16),
-       /*6639*/ uint16(xMatch),
-       /*6640*/ uint16(xSetOp), uint16(BTC),
-       /*6642*/ uint16(xReadSlashR),
-       /*6643*/ uint16(xArgRM32),
-       /*6644*/ uint16(xArgR32),
-       /*6645*/ uint16(xMatch),
-       /*6646*/ uint16(xCondDataSize), 6634, 6640, 6650,
-       /*6650*/ uint16(xSetOp), uint16(BTC),
-       /*6652*/ uint16(xReadSlashR),
-       /*6653*/ uint16(xArgRM64),
-       /*6654*/ uint16(xArgR64),
-       /*6655*/ uint16(xMatch),
-       /*6656*/ uint16(xCondIs64), 6659, 6697,
-       /*6659*/ uint16(xCondPrefix), 2,
-       0xF3, 6681,
-       0x0, 6665,
-       /*6665*/ uint16(xCondDataSize), 6669, 6675, 0,
-       /*6669*/ uint16(xSetOp), uint16(BSF),
-       /*6671*/ uint16(xReadSlashR),
-       /*6672*/ uint16(xArgR16),
-       /*6673*/ uint16(xArgRM16),
-       /*6674*/ uint16(xMatch),
-       /*6675*/ uint16(xSetOp), uint16(BSF),
-       /*6677*/ uint16(xReadSlashR),
-       /*6678*/ uint16(xArgR32),
-       /*6679*/ uint16(xArgRM32),
-       /*6680*/ uint16(xMatch),
-       /*6681*/ uint16(xCondDataSize), 6685, 6691, 0,
-       /*6685*/ uint16(xSetOp), uint16(TZCNT),
-       /*6687*/ uint16(xReadSlashR),
-       /*6688*/ uint16(xArgR16),
-       /*6689*/ uint16(xArgRM16),
-       /*6690*/ uint16(xMatch),
-       /*6691*/ uint16(xSetOp), uint16(TZCNT),
-       /*6693*/ uint16(xReadSlashR),
-       /*6694*/ uint16(xArgR32),
-       /*6695*/ uint16(xArgRM32),
-       /*6696*/ uint16(xMatch),
-       /*6697*/ uint16(xCondPrefix), 2,
-       0xF3, 6713,
-       0x0, 6703,
-       /*6703*/ uint16(xCondDataSize), 6669, 6675, 6707,
-       /*6707*/ uint16(xSetOp), uint16(BSF),
-       /*6709*/ uint16(xReadSlashR),
-       /*6710*/ uint16(xArgR64),
-       /*6711*/ uint16(xArgRM64),
-       /*6712*/ uint16(xMatch),
-       /*6713*/ uint16(xCondDataSize), 6685, 6691, 6717,
-       /*6717*/ uint16(xSetOp), uint16(TZCNT),
-       /*6719*/ uint16(xReadSlashR),
-       /*6720*/ uint16(xArgR64),
-       /*6721*/ uint16(xArgRM64),
-       /*6722*/ uint16(xMatch),
-       /*6723*/ uint16(xCondIs64), 6726, 6764,
-       /*6726*/ uint16(xCondPrefix), 2,
-       0xF3, 6748,
-       0x0, 6732,
-       /*6732*/ uint16(xCondDataSize), 6736, 6742, 0,
-       /*6736*/ uint16(xSetOp), uint16(BSR),
-       /*6738*/ uint16(xReadSlashR),
-       /*6739*/ uint16(xArgR16),
-       /*6740*/ uint16(xArgRM16),
-       /*6741*/ uint16(xMatch),
-       /*6742*/ uint16(xSetOp), uint16(BSR),
-       /*6744*/ uint16(xReadSlashR),
-       /*6745*/ uint16(xArgR32),
-       /*6746*/ uint16(xArgRM32),
-       /*6747*/ uint16(xMatch),
-       /*6748*/ uint16(xCondDataSize), 6752, 6758, 0,
-       /*6752*/ uint16(xSetOp), uint16(LZCNT),
-       /*6754*/ uint16(xReadSlashR),
-       /*6755*/ uint16(xArgR16),
-       /*6756*/ uint16(xArgRM16),
-       /*6757*/ uint16(xMatch),
-       /*6758*/ uint16(xSetOp), uint16(LZCNT),
-       /*6760*/ uint16(xReadSlashR),
-       /*6761*/ uint16(xArgR32),
-       /*6762*/ uint16(xArgRM32),
-       /*6763*/ uint16(xMatch),
-       /*6764*/ uint16(xCondPrefix), 2,
-       0xF3, 6780,
-       0x0, 6770,
-       /*6770*/ uint16(xCondDataSize), 6736, 6742, 6774,
-       /*6774*/ uint16(xSetOp), uint16(BSR),
-       /*6776*/ uint16(xReadSlashR),
-       /*6777*/ uint16(xArgR64),
-       /*6778*/ uint16(xArgRM64),
-       /*6779*/ uint16(xMatch),
-       /*6780*/ uint16(xCondDataSize), 6752, 6758, 6784,
-       /*6784*/ uint16(xSetOp), uint16(LZCNT),
-       /*6786*/ uint16(xReadSlashR),
-       /*6787*/ uint16(xArgR64),
-       /*6788*/ uint16(xArgRM64),
-       /*6789*/ uint16(xMatch),
-       /*6790*/ uint16(xCondIs64), 6793, 6809,
-       /*6793*/ uint16(xCondDataSize), 6797, 6803, 0,
-       /*6797*/ uint16(xSetOp), uint16(MOVSX),
-       /*6799*/ uint16(xReadSlashR),
-       /*6800*/ uint16(xArgR16),
-       /*6801*/ uint16(xArgRM8),
-       /*6802*/ uint16(xMatch),
-       /*6803*/ uint16(xSetOp), uint16(MOVSX),
-       /*6805*/ uint16(xReadSlashR),
-       /*6806*/ uint16(xArgR32),
-       /*6807*/ uint16(xArgRM8),
-       /*6808*/ uint16(xMatch),
-       /*6809*/ uint16(xCondDataSize), 6797, 6803, 6813,
-       /*6813*/ uint16(xSetOp), uint16(MOVSX),
-       /*6815*/ uint16(xReadSlashR),
-       /*6816*/ uint16(xArgR64),
-       /*6817*/ uint16(xArgRM8),
-       /*6818*/ uint16(xMatch),
-       /*6819*/ uint16(xCondIs64), 6822, 6838,
-       /*6822*/ uint16(xCondDataSize), 6826, 6832, 0,
-       /*6826*/ uint16(xSetOp), uint16(MOVSX),
-       /*6828*/ uint16(xReadSlashR),
-       /*6829*/ uint16(xArgR16),
-       /*6830*/ uint16(xArgRM16),
-       /*6831*/ uint16(xMatch),
-       /*6832*/ uint16(xSetOp), uint16(MOVSX),
-       /*6834*/ uint16(xReadSlashR),
-       /*6835*/ uint16(xArgR32),
-       /*6836*/ uint16(xArgRM16),
-       /*6837*/ uint16(xMatch),
-       /*6838*/ uint16(xCondDataSize), 6826, 6832, 6842,
-       /*6842*/ uint16(xSetOp), uint16(MOVSX),
-       /*6844*/ uint16(xReadSlashR),
-       /*6845*/ uint16(xArgR64),
-       /*6846*/ uint16(xArgRM16),
-       /*6847*/ uint16(xMatch),
-       /*6848*/ uint16(xSetOp), uint16(XADD),
-       /*6850*/ uint16(xReadSlashR),
-       /*6851*/ uint16(xArgRM8),
-       /*6852*/ uint16(xArgR8),
-       /*6853*/ uint16(xMatch),
-       /*6854*/ uint16(xCondIs64), 6857, 6873,
-       /*6857*/ uint16(xCondDataSize), 6861, 6867, 0,
-       /*6861*/ uint16(xSetOp), uint16(XADD),
-       /*6863*/ uint16(xReadSlashR),
-       /*6864*/ uint16(xArgRM16),
-       /*6865*/ uint16(xArgR16),
-       /*6866*/ uint16(xMatch),
-       /*6867*/ uint16(xSetOp), uint16(XADD),
-       /*6869*/ uint16(xReadSlashR),
-       /*6870*/ uint16(xArgRM32),
-       /*6871*/ uint16(xArgR32),
-       /*6872*/ uint16(xMatch),
-       /*6873*/ uint16(xCondDataSize), 6861, 6867, 6877,
-       /*6877*/ uint16(xSetOp), uint16(XADD),
-       /*6879*/ uint16(xReadSlashR),
-       /*6880*/ uint16(xArgRM64),
-       /*6881*/ uint16(xArgR64),
-       /*6882*/ uint16(xMatch),
-       /*6883*/ uint16(xCondPrefix), 4,
-       0xF3, 6917,
-       0xF2, 6909,
-       0x66, 6901,
-       0x0, 6893,
-       /*6893*/ uint16(xSetOp), uint16(CMPPS),
-       /*6895*/ uint16(xReadSlashR),
-       /*6896*/ uint16(xReadIb),
-       /*6897*/ uint16(xArgXmm1),
-       /*6898*/ uint16(xArgXmm2M128),
-       /*6899*/ uint16(xArgImm8u),
-       /*6900*/ uint16(xMatch),
-       /*6901*/ uint16(xSetOp), uint16(CMPPD),
-       /*6903*/ uint16(xReadSlashR),
-       /*6904*/ uint16(xReadIb),
-       /*6905*/ uint16(xArgXmm1),
-       /*6906*/ uint16(xArgXmm2M128),
-       /*6907*/ uint16(xArgImm8u),
-       /*6908*/ uint16(xMatch),
-       /*6909*/ uint16(xSetOp), uint16(CMPSD_XMM),
-       /*6911*/ uint16(xReadSlashR),
-       /*6912*/ uint16(xReadIb),
-       /*6913*/ uint16(xArgXmm1),
-       /*6914*/ uint16(xArgXmm2M64),
-       /*6915*/ uint16(xArgImm8u),
-       /*6916*/ uint16(xMatch),
-       /*6917*/ uint16(xSetOp), uint16(CMPSS),
-       /*6919*/ uint16(xReadSlashR),
-       /*6920*/ uint16(xReadIb),
-       /*6921*/ uint16(xArgXmm1),
-       /*6922*/ uint16(xArgXmm2M32),
-       /*6923*/ uint16(xArgImm8u),
-       /*6924*/ uint16(xMatch),
-       /*6925*/ uint16(xCondIs64), 6928, 6944,
-       /*6928*/ uint16(xCondDataSize), 6932, 6938, 0,
-       /*6932*/ uint16(xSetOp), uint16(MOVNTI),
-       /*6934*/ uint16(xReadSlashR),
-       /*6935*/ uint16(xArgM32),
-       /*6936*/ uint16(xArgR32),
-       /*6937*/ uint16(xMatch),
-       /*6938*/ uint16(xSetOp), uint16(MOVNTI),
-       /*6940*/ uint16(xReadSlashR),
-       /*6941*/ uint16(xArgM32),
-       /*6942*/ uint16(xArgR32),
-       /*6943*/ uint16(xMatch),
-       /*6944*/ uint16(xCondDataSize), 6932, 6938, 6948,
-       /*6948*/ uint16(xSetOp), uint16(MOVNTI),
-       /*6950*/ uint16(xReadSlashR),
-       /*6951*/ uint16(xArgM64),
-       /*6952*/ uint16(xArgR64),
-       /*6953*/ uint16(xMatch),
-       /*6954*/ uint16(xCondPrefix), 2,
-       0x66, 6968,
-       0x0, 6960,
-       /*6960*/ uint16(xSetOp), uint16(PINSRW),
-       /*6962*/ uint16(xReadSlashR),
-       /*6963*/ uint16(xReadIb),
-       /*6964*/ uint16(xArgMm),
-       /*6965*/ uint16(xArgR32M16),
-       /*6966*/ uint16(xArgImm8u),
-       /*6967*/ uint16(xMatch),
-       /*6968*/ uint16(xSetOp), uint16(PINSRW),
-       /*6970*/ uint16(xReadSlashR),
-       /*6971*/ uint16(xReadIb),
-       /*6972*/ uint16(xArgXmm),
-       /*6973*/ uint16(xArgR32M16),
-       /*6974*/ uint16(xArgImm8u),
-       /*6975*/ uint16(xMatch),
-       /*6976*/ uint16(xCondPrefix), 2,
-       0x66, 6990,
-       0x0, 6982,
-       /*6982*/ uint16(xSetOp), uint16(PEXTRW),
-       /*6984*/ uint16(xReadSlashR),
-       /*6985*/ uint16(xReadIb),
-       /*6986*/ uint16(xArgR32),
-       /*6987*/ uint16(xArgMm2),
-       /*6988*/ uint16(xArgImm8u),
-       /*6989*/ uint16(xMatch),
-       /*6990*/ uint16(xSetOp), uint16(PEXTRW),
-       /*6992*/ uint16(xReadSlashR),
-       /*6993*/ uint16(xReadIb),
-       /*6994*/ uint16(xArgR32),
-       /*6995*/ uint16(xArgXmm2),
-       /*6996*/ uint16(xArgImm8u),
-       /*6997*/ uint16(xMatch),
-       /*6998*/ uint16(xCondPrefix), 2,
-       0x66, 7012,
-       0x0, 7004,
-       /*7004*/ uint16(xSetOp), uint16(SHUFPS),
-       /*7006*/ uint16(xReadSlashR),
-       /*7007*/ uint16(xReadIb),
-       /*7008*/ uint16(xArgXmm1),
-       /*7009*/ uint16(xArgXmm2M128),
-       /*7010*/ uint16(xArgImm8u),
-       /*7011*/ uint16(xMatch),
-       /*7012*/ uint16(xSetOp), uint16(SHUFPD),
-       /*7014*/ uint16(xReadSlashR),
-       /*7015*/ uint16(xReadIb),
-       /*7016*/ uint16(xArgXmm1),
-       /*7017*/ uint16(xArgXmm2M128),
-       /*7018*/ uint16(xArgImm8u),
-       /*7019*/ uint16(xMatch),
-       /*7020*/ uint16(xCondSlashR),
+       6520, // 4
+       6549, // 5
+       6578, // 6
+       6607, // 7
+       /*6520*/ uint16(xCondIs64), 6523, 6539,
+       /*6523*/ uint16(xCondDataSize), 6527, 6533, 0,
+       /*6527*/ uint16(xSetOp), uint16(BT),
+       /*6529*/ uint16(xReadIb),
+       /*6530*/ uint16(xArgRM16),
+       /*6531*/ uint16(xArgImm8u),
+       /*6532*/ uint16(xMatch),
+       /*6533*/ uint16(xSetOp), uint16(BT),
+       /*6535*/ uint16(xReadIb),
+       /*6536*/ uint16(xArgRM32),
+       /*6537*/ uint16(xArgImm8u),
+       /*6538*/ uint16(xMatch),
+       /*6539*/ uint16(xCondDataSize), 6527, 6533, 6543,
+       /*6543*/ uint16(xSetOp), uint16(BT),
+       /*6545*/ uint16(xReadIb),
+       /*6546*/ uint16(xArgRM64),
+       /*6547*/ uint16(xArgImm8u),
+       /*6548*/ uint16(xMatch),
+       /*6549*/ uint16(xCondIs64), 6552, 6568,
+       /*6552*/ uint16(xCondDataSize), 6556, 6562, 0,
+       /*6556*/ uint16(xSetOp), uint16(BTS),
+       /*6558*/ uint16(xReadIb),
+       /*6559*/ uint16(xArgRM16),
+       /*6560*/ uint16(xArgImm8u),
+       /*6561*/ uint16(xMatch),
+       /*6562*/ uint16(xSetOp), uint16(BTS),
+       /*6564*/ uint16(xReadIb),
+       /*6565*/ uint16(xArgRM32),
+       /*6566*/ uint16(xArgImm8u),
+       /*6567*/ uint16(xMatch),
+       /*6568*/ uint16(xCondDataSize), 6556, 6562, 6572,
+       /*6572*/ uint16(xSetOp), uint16(BTS),
+       /*6574*/ uint16(xReadIb),
+       /*6575*/ uint16(xArgRM64),
+       /*6576*/ uint16(xArgImm8u),
+       /*6577*/ uint16(xMatch),
+       /*6578*/ uint16(xCondIs64), 6581, 6597,
+       /*6581*/ uint16(xCondDataSize), 6585, 6591, 0,
+       /*6585*/ uint16(xSetOp), uint16(BTR),
+       /*6587*/ uint16(xReadIb),
+       /*6588*/ uint16(xArgRM16),
+       /*6589*/ uint16(xArgImm8u),
+       /*6590*/ uint16(xMatch),
+       /*6591*/ uint16(xSetOp), uint16(BTR),
+       /*6593*/ uint16(xReadIb),
+       /*6594*/ uint16(xArgRM32),
+       /*6595*/ uint16(xArgImm8u),
+       /*6596*/ uint16(xMatch),
+       /*6597*/ uint16(xCondDataSize), 6585, 6591, 6601,
+       /*6601*/ uint16(xSetOp), uint16(BTR),
+       /*6603*/ uint16(xReadIb),
+       /*6604*/ uint16(xArgRM64),
+       /*6605*/ uint16(xArgImm8u),
+       /*6606*/ uint16(xMatch),
+       /*6607*/ uint16(xCondIs64), 6610, 6626,
+       /*6610*/ uint16(xCondDataSize), 6614, 6620, 0,
+       /*6614*/ uint16(xSetOp), uint16(BTC),
+       /*6616*/ uint16(xReadIb),
+       /*6617*/ uint16(xArgRM16),
+       /*6618*/ uint16(xArgImm8u),
+       /*6619*/ uint16(xMatch),
+       /*6620*/ uint16(xSetOp), uint16(BTC),
+       /*6622*/ uint16(xReadIb),
+       /*6623*/ uint16(xArgRM32),
+       /*6624*/ uint16(xArgImm8u),
+       /*6625*/ uint16(xMatch),
+       /*6626*/ uint16(xCondDataSize), 6614, 6620, 6630,
+       /*6630*/ uint16(xSetOp), uint16(BTC),
+       /*6632*/ uint16(xReadIb),
+       /*6633*/ uint16(xArgRM64),
+       /*6634*/ uint16(xArgImm8u),
+       /*6635*/ uint16(xMatch),
+       /*6636*/ uint16(xCondIs64), 6639, 6655,
+       /*6639*/ uint16(xCondDataSize), 6643, 6649, 0,
+       /*6643*/ uint16(xSetOp), uint16(BTC),
+       /*6645*/ uint16(xReadSlashR),
+       /*6646*/ uint16(xArgRM16),
+       /*6647*/ uint16(xArgR16),
+       /*6648*/ uint16(xMatch),
+       /*6649*/ uint16(xSetOp), uint16(BTC),
+       /*6651*/ uint16(xReadSlashR),
+       /*6652*/ uint16(xArgRM32),
+       /*6653*/ uint16(xArgR32),
+       /*6654*/ uint16(xMatch),
+       /*6655*/ uint16(xCondDataSize), 6643, 6649, 6659,
+       /*6659*/ uint16(xSetOp), uint16(BTC),
+       /*6661*/ uint16(xReadSlashR),
+       /*6662*/ uint16(xArgRM64),
+       /*6663*/ uint16(xArgR64),
+       /*6664*/ uint16(xMatch),
+       /*6665*/ uint16(xCondIs64), 6668, 6706,
+       /*6668*/ uint16(xCondPrefix), 2,
+       0xF3, 6690,
+       0x0, 6674,
+       /*6674*/ uint16(xCondDataSize), 6678, 6684, 0,
+       /*6678*/ uint16(xSetOp), uint16(BSF),
+       /*6680*/ uint16(xReadSlashR),
+       /*6681*/ uint16(xArgR16),
+       /*6682*/ uint16(xArgRM16),
+       /*6683*/ uint16(xMatch),
+       /*6684*/ uint16(xSetOp), uint16(BSF),
+       /*6686*/ uint16(xReadSlashR),
+       /*6687*/ uint16(xArgR32),
+       /*6688*/ uint16(xArgRM32),
+       /*6689*/ uint16(xMatch),
+       /*6690*/ uint16(xCondDataSize), 6694, 6700, 0,
+       /*6694*/ uint16(xSetOp), uint16(TZCNT),
+       /*6696*/ uint16(xReadSlashR),
+       /*6697*/ uint16(xArgR16),
+       /*6698*/ uint16(xArgRM16),
+       /*6699*/ uint16(xMatch),
+       /*6700*/ uint16(xSetOp), uint16(TZCNT),
+       /*6702*/ uint16(xReadSlashR),
+       /*6703*/ uint16(xArgR32),
+       /*6704*/ uint16(xArgRM32),
+       /*6705*/ uint16(xMatch),
+       /*6706*/ uint16(xCondPrefix), 2,
+       0xF3, 6722,
+       0x0, 6712,
+       /*6712*/ uint16(xCondDataSize), 6678, 6684, 6716,
+       /*6716*/ uint16(xSetOp), uint16(BSF),
+       /*6718*/ uint16(xReadSlashR),
+       /*6719*/ uint16(xArgR64),
+       /*6720*/ uint16(xArgRM64),
+       /*6721*/ uint16(xMatch),
+       /*6722*/ uint16(xCondDataSize), 6694, 6700, 6726,
+       /*6726*/ uint16(xSetOp), uint16(TZCNT),
+       /*6728*/ uint16(xReadSlashR),
+       /*6729*/ uint16(xArgR64),
+       /*6730*/ uint16(xArgRM64),
+       /*6731*/ uint16(xMatch),
+       /*6732*/ uint16(xCondIs64), 6735, 6773,
+       /*6735*/ uint16(xCondPrefix), 2,
+       0xF3, 6757,
+       0x0, 6741,
+       /*6741*/ uint16(xCondDataSize), 6745, 6751, 0,
+       /*6745*/ uint16(xSetOp), uint16(BSR),
+       /*6747*/ uint16(xReadSlashR),
+       /*6748*/ uint16(xArgR16),
+       /*6749*/ uint16(xArgRM16),
+       /*6750*/ uint16(xMatch),
+       /*6751*/ uint16(xSetOp), uint16(BSR),
+       /*6753*/ uint16(xReadSlashR),
+       /*6754*/ uint16(xArgR32),
+       /*6755*/ uint16(xArgRM32),
+       /*6756*/ uint16(xMatch),
+       /*6757*/ uint16(xCondDataSize), 6761, 6767, 0,
+       /*6761*/ uint16(xSetOp), uint16(LZCNT),
+       /*6763*/ uint16(xReadSlashR),
+       /*6764*/ uint16(xArgR16),
+       /*6765*/ uint16(xArgRM16),
+       /*6766*/ uint16(xMatch),
+       /*6767*/ uint16(xSetOp), uint16(LZCNT),
+       /*6769*/ uint16(xReadSlashR),
+       /*6770*/ uint16(xArgR32),
+       /*6771*/ uint16(xArgRM32),
+       /*6772*/ uint16(xMatch),
+       /*6773*/ uint16(xCondPrefix), 2,
+       0xF3, 6789,
+       0x0, 6779,
+       /*6779*/ uint16(xCondDataSize), 6745, 6751, 6783,
+       /*6783*/ uint16(xSetOp), uint16(BSR),
+       /*6785*/ uint16(xReadSlashR),
+       /*6786*/ uint16(xArgR64),
+       /*6787*/ uint16(xArgRM64),
+       /*6788*/ uint16(xMatch),
+       /*6789*/ uint16(xCondDataSize), 6761, 6767, 6793,
+       /*6793*/ uint16(xSetOp), uint16(LZCNT),
+       /*6795*/ uint16(xReadSlashR),
+       /*6796*/ uint16(xArgR64),
+       /*6797*/ uint16(xArgRM64),
+       /*6798*/ uint16(xMatch),
+       /*6799*/ uint16(xCondIs64), 6802, 6818,
+       /*6802*/ uint16(xCondDataSize), 6806, 6812, 0,
+       /*6806*/ uint16(xSetOp), uint16(MOVSX),
+       /*6808*/ uint16(xReadSlashR),
+       /*6809*/ uint16(xArgR16),
+       /*6810*/ uint16(xArgRM8),
+       /*6811*/ uint16(xMatch),
+       /*6812*/ uint16(xSetOp), uint16(MOVSX),
+       /*6814*/ uint16(xReadSlashR),
+       /*6815*/ uint16(xArgR32),
+       /*6816*/ uint16(xArgRM8),
+       /*6817*/ uint16(xMatch),
+       /*6818*/ uint16(xCondDataSize), 6806, 6812, 6822,
+       /*6822*/ uint16(xSetOp), uint16(MOVSX),
+       /*6824*/ uint16(xReadSlashR),
+       /*6825*/ uint16(xArgR64),
+       /*6826*/ uint16(xArgRM8),
+       /*6827*/ uint16(xMatch),
+       /*6828*/ uint16(xCondIs64), 6831, 6847,
+       /*6831*/ uint16(xCondDataSize), 6835, 6841, 0,
+       /*6835*/ uint16(xSetOp), uint16(MOVSX),
+       /*6837*/ uint16(xReadSlashR),
+       /*6838*/ uint16(xArgR16),
+       /*6839*/ uint16(xArgRM16),
+       /*6840*/ uint16(xMatch),
+       /*6841*/ uint16(xSetOp), uint16(MOVSX),
+       /*6843*/ uint16(xReadSlashR),
+       /*6844*/ uint16(xArgR32),
+       /*6845*/ uint16(xArgRM16),
+       /*6846*/ uint16(xMatch),
+       /*6847*/ uint16(xCondDataSize), 6835, 6841, 6851,
+       /*6851*/ uint16(xSetOp), uint16(MOVSX),
+       /*6853*/ uint16(xReadSlashR),
+       /*6854*/ uint16(xArgR64),
+       /*6855*/ uint16(xArgRM16),
+       /*6856*/ uint16(xMatch),
+       /*6857*/ uint16(xSetOp), uint16(XADD),
+       /*6859*/ uint16(xReadSlashR),
+       /*6860*/ uint16(xArgRM8),
+       /*6861*/ uint16(xArgR8),
+       /*6862*/ uint16(xMatch),
+       /*6863*/ uint16(xCondIs64), 6866, 6882,
+       /*6866*/ uint16(xCondDataSize), 6870, 6876, 0,
+       /*6870*/ uint16(xSetOp), uint16(XADD),
+       /*6872*/ uint16(xReadSlashR),
+       /*6873*/ uint16(xArgRM16),
+       /*6874*/ uint16(xArgR16),
+       /*6875*/ uint16(xMatch),
+       /*6876*/ uint16(xSetOp), uint16(XADD),
+       /*6878*/ uint16(xReadSlashR),
+       /*6879*/ uint16(xArgRM32),
+       /*6880*/ uint16(xArgR32),
+       /*6881*/ uint16(xMatch),
+       /*6882*/ uint16(xCondDataSize), 6870, 6876, 6886,
+       /*6886*/ uint16(xSetOp), uint16(XADD),
+       /*6888*/ uint16(xReadSlashR),
+       /*6889*/ uint16(xArgRM64),
+       /*6890*/ uint16(xArgR64),
+       /*6891*/ uint16(xMatch),
+       /*6892*/ uint16(xCondPrefix), 4,
+       0xF3, 6926,
+       0xF2, 6918,
+       0x66, 6910,
+       0x0, 6902,
+       /*6902*/ uint16(xSetOp), uint16(CMPPS),
+       /*6904*/ uint16(xReadSlashR),
+       /*6905*/ uint16(xReadIb),
+       /*6906*/ uint16(xArgXmm1),
+       /*6907*/ uint16(xArgXmm2M128),
+       /*6908*/ uint16(xArgImm8u),
+       /*6909*/ uint16(xMatch),
+       /*6910*/ uint16(xSetOp), uint16(CMPPD),
+       /*6912*/ uint16(xReadSlashR),
+       /*6913*/ uint16(xReadIb),
+       /*6914*/ uint16(xArgXmm1),
+       /*6915*/ uint16(xArgXmm2M128),
+       /*6916*/ uint16(xArgImm8u),
+       /*6917*/ uint16(xMatch),
+       /*6918*/ uint16(xSetOp), uint16(CMPSD_XMM),
+       /*6920*/ uint16(xReadSlashR),
+       /*6921*/ uint16(xReadIb),
+       /*6922*/ uint16(xArgXmm1),
+       /*6923*/ uint16(xArgXmm2M64),
+       /*6924*/ uint16(xArgImm8u),
+       /*6925*/ uint16(xMatch),
+       /*6926*/ uint16(xSetOp), uint16(CMPSS),
+       /*6928*/ uint16(xReadSlashR),
+       /*6929*/ uint16(xReadIb),
+       /*6930*/ uint16(xArgXmm1),
+       /*6931*/ uint16(xArgXmm2M32),
+       /*6932*/ uint16(xArgImm8u),
+       /*6933*/ uint16(xMatch),
+       /*6934*/ uint16(xCondIs64), 6937, 6953,
+       /*6937*/ uint16(xCondDataSize), 6941, 6947, 0,
+       /*6941*/ uint16(xSetOp), uint16(MOVNTI),
+       /*6943*/ uint16(xReadSlashR),
+       /*6944*/ uint16(xArgM32),
+       /*6945*/ uint16(xArgR32),
+       /*6946*/ uint16(xMatch),
+       /*6947*/ uint16(xSetOp), uint16(MOVNTI),
+       /*6949*/ uint16(xReadSlashR),
+       /*6950*/ uint16(xArgM32),
+       /*6951*/ uint16(xArgR32),
+       /*6952*/ uint16(xMatch),
+       /*6953*/ uint16(xCondDataSize), 6941, 6947, 6957,
+       /*6957*/ uint16(xSetOp), uint16(MOVNTI),
+       /*6959*/ uint16(xReadSlashR),
+       /*6960*/ uint16(xArgM64),
+       /*6961*/ uint16(xArgR64),
+       /*6962*/ uint16(xMatch),
+       /*6963*/ uint16(xCondPrefix), 2,
+       0x66, 6977,
+       0x0, 6969,
+       /*6969*/ uint16(xSetOp), uint16(PINSRW),
+       /*6971*/ uint16(xReadSlashR),
+       /*6972*/ uint16(xReadIb),
+       /*6973*/ uint16(xArgMm),
+       /*6974*/ uint16(xArgR32M16),
+       /*6975*/ uint16(xArgImm8u),
+       /*6976*/ uint16(xMatch),
+       /*6977*/ uint16(xSetOp), uint16(PINSRW),
+       /*6979*/ uint16(xReadSlashR),
+       /*6980*/ uint16(xReadIb),
+       /*6981*/ uint16(xArgXmm),
+       /*6982*/ uint16(xArgR32M16),
+       /*6983*/ uint16(xArgImm8u),
+       /*6984*/ uint16(xMatch),
+       /*6985*/ uint16(xCondPrefix), 2,
+       0x66, 6999,
+       0x0, 6991,
+       /*6991*/ uint16(xSetOp), uint16(PEXTRW),
+       /*6993*/ uint16(xReadSlashR),
+       /*6994*/ uint16(xReadIb),
+       /*6995*/ uint16(xArgR32),
+       /*6996*/ uint16(xArgMm2),
+       /*6997*/ uint16(xArgImm8u),
+       /*6998*/ uint16(xMatch),
+       /*6999*/ uint16(xSetOp), uint16(PEXTRW),
+       /*7001*/ uint16(xReadSlashR),
+       /*7002*/ uint16(xReadIb),
+       /*7003*/ uint16(xArgR32),
+       /*7004*/ uint16(xArgXmm2),
+       /*7005*/ uint16(xArgImm8u),
+       /*7006*/ uint16(xMatch),
+       /*7007*/ uint16(xCondPrefix), 2,
+       0x66, 7021,
+       0x0, 7013,
+       /*7013*/ uint16(xSetOp), uint16(SHUFPS),
+       /*7015*/ uint16(xReadSlashR),
+       /*7016*/ uint16(xReadIb),
+       /*7017*/ uint16(xArgXmm1),
+       /*7018*/ uint16(xArgXmm2M128),
+       /*7019*/ uint16(xArgImm8u),
+       /*7020*/ uint16(xMatch),
+       /*7021*/ uint16(xSetOp), uint16(SHUFPD),
+       /*7023*/ uint16(xReadSlashR),
+       /*7024*/ uint16(xReadIb),
+       /*7025*/ uint16(xArgXmm1),
+       /*7026*/ uint16(xArgXmm2M128),
+       /*7027*/ uint16(xArgImm8u),
+       /*7028*/ uint16(xMatch),
+       /*7029*/ uint16(xCondSlashR),
        0,    // 0
-       7029, // 1
+       7038, // 1
        0,    // 2
-       7052, // 3
-       7075, // 4
-       7098, // 5
-       7121, // 6
+       7061, // 3
+       7084, // 4
+       7107, // 5
+       7130, // 6
        0,    // 7
-       /*7029*/ uint16(xCondIs64), 7032, 7044,
-       /*7032*/ uint16(xCondDataSize), 7036, 7040, 0,
-       /*7036*/ uint16(xSetOp), uint16(CMPXCHG8B),
-       /*7038*/ uint16(xArgM64),
-       /*7039*/ uint16(xMatch),
-       /*7040*/ uint16(xSetOp), uint16(CMPXCHG8B),
-       /*7042*/ uint16(xArgM64),
-       /*7043*/ uint16(xMatch),
-       /*7044*/ uint16(xCondDataSize), 7036, 7040, 7048,
-       /*7048*/ uint16(xSetOp), uint16(CMPXCHG16B),
-       /*7050*/ uint16(xArgM128),
-       /*7051*/ uint16(xMatch),
-       /*7052*/ uint16(xCondIs64), 7055, 7067,
-       /*7055*/ uint16(xCondDataSize), 7059, 7063, 0,
-       /*7059*/ uint16(xSetOp), uint16(XRSTORS),
-       /*7061*/ uint16(xArgMem),
-       /*7062*/ uint16(xMatch),
-       /*7063*/ uint16(xSetOp), uint16(XRSTORS),
-       /*7065*/ uint16(xArgMem),
-       /*7066*/ uint16(xMatch),
-       /*7067*/ uint16(xCondDataSize), 7059, 7063, 7071,
-       /*7071*/ uint16(xSetOp), uint16(XRSTORS64),
-       /*7073*/ uint16(xArgMem),
-       /*7074*/ uint16(xMatch),
-       /*7075*/ uint16(xCondIs64), 7078, 7090,
-       /*7078*/ uint16(xCondDataSize), 7082, 7086, 0,
-       /*7082*/ uint16(xSetOp), uint16(XSAVEC),
-       /*7084*/ uint16(xArgMem),
-       /*7085*/ uint16(xMatch),
-       /*7086*/ uint16(xSetOp), uint16(XSAVEC),
-       /*7088*/ uint16(xArgMem),
-       /*7089*/ uint16(xMatch),
-       /*7090*/ uint16(xCondDataSize), 7082, 7086, 7094,
-       /*7094*/ uint16(xSetOp), uint16(XSAVEC64),
-       /*7096*/ uint16(xArgMem),
-       /*7097*/ uint16(xMatch),
-       /*7098*/ uint16(xCondIs64), 7101, 7113,
-       /*7101*/ uint16(xCondDataSize), 7105, 7109, 0,
-       /*7105*/ uint16(xSetOp), uint16(XSAVES),
-       /*7107*/ uint16(xArgMem),
-       /*7108*/ uint16(xMatch),
-       /*7109*/ uint16(xSetOp), uint16(XSAVES),
-       /*7111*/ uint16(xArgMem),
-       /*7112*/ uint16(xMatch),
-       /*7113*/ uint16(xCondDataSize), 7105, 7109, 7117,
-       /*7117*/ uint16(xSetOp), uint16(XSAVES64),
-       /*7119*/ uint16(xArgMem),
-       /*7120*/ uint16(xMatch),
-       /*7121*/ uint16(xCondIs64), 7124, 7142,
-       /*7124*/ uint16(xCondDataSize), 7128, 7135, 0,
-       /*7128*/ uint16(xCondIsMem), 7131, 0,
-       /*7131*/ uint16(xSetOp), uint16(RDRAND),
-       /*7133*/ uint16(xArgRmf16),
-       /*7134*/ uint16(xMatch),
-       /*7135*/ uint16(xCondIsMem), 7138, 0,
-       /*7138*/ uint16(xSetOp), uint16(RDRAND),
-       /*7140*/ uint16(xArgRmf32),
-       /*7141*/ uint16(xMatch),
-       /*7142*/ uint16(xCondDataSize), 7128, 7135, 7146,
-       /*7146*/ uint16(xSetOp), uint16(RDRAND),
-       /*7148*/ uint16(xMatch),
-       /*7149*/ uint16(xCondIs64), 7152, 7164,
-       /*7152*/ uint16(xCondDataSize), 7156, 7160, 0,
-       /*7156*/ uint16(xSetOp), uint16(BSWAP),
-       /*7158*/ uint16(xArgR16op),
-       /*7159*/ uint16(xMatch),
-       /*7160*/ uint16(xSetOp), uint16(BSWAP),
-       /*7162*/ uint16(xArgR32op),
-       /*7163*/ uint16(xMatch),
-       /*7164*/ uint16(xCondDataSize), 7156, 7160, 7168,
-       /*7168*/ uint16(xSetOp), uint16(BSWAP),
-       /*7170*/ uint16(xArgR64op),
-       /*7171*/ uint16(xMatch),
-       /*7172*/ uint16(xCondPrefix), 2,
-       0xF2, 7184,
-       0x66, 7178,
-       /*7178*/ uint16(xSetOp), uint16(ADDSUBPD),
-       /*7180*/ uint16(xReadSlashR),
-       /*7181*/ uint16(xArgXmm1),
-       /*7182*/ uint16(xArgXmm2M128),
-       /*7183*/ uint16(xMatch),
-       /*7184*/ uint16(xSetOp), uint16(ADDSUBPS),
-       /*7186*/ uint16(xReadSlashR),
-       /*7187*/ uint16(xArgXmm1),
-       /*7188*/ uint16(xArgXmm2M128),
-       /*7189*/ uint16(xMatch),
-       /*7190*/ uint16(xCondPrefix), 2,
-       0x66, 7202,
-       0x0, 7196,
-       /*7196*/ uint16(xSetOp), uint16(PSRLW),
-       /*7198*/ uint16(xReadSlashR),
-       /*7199*/ uint16(xArgMm),
-       /*7200*/ uint16(xArgMmM64),
-       /*7201*/ uint16(xMatch),
-       /*7202*/ uint16(xSetOp), uint16(PSRLW),
-       /*7204*/ uint16(xReadSlashR),
-       /*7205*/ uint16(xArgXmm1),
-       /*7206*/ uint16(xArgXmm2M128),
-       /*7207*/ uint16(xMatch),
-       /*7208*/ uint16(xCondPrefix), 2,
-       0x66, 7220,
-       0x0, 7214,
-       /*7214*/ uint16(xSetOp), uint16(PSRLD),
-       /*7216*/ uint16(xReadSlashR),
-       /*7217*/ uint16(xArgMm),
-       /*7218*/ uint16(xArgMmM64),
-       /*7219*/ uint16(xMatch),
-       /*7220*/ uint16(xSetOp), uint16(PSRLD),
-       /*7222*/ uint16(xReadSlashR),
-       /*7223*/ uint16(xArgXmm1),
-       /*7224*/ uint16(xArgXmm2M128),
-       /*7225*/ uint16(xMatch),
-       /*7226*/ uint16(xCondPrefix), 2,
-       0x66, 7238,
-       0x0, 7232,
-       /*7232*/ uint16(xSetOp), uint16(PSRLQ),
-       /*7234*/ uint16(xReadSlashR),
-       /*7235*/ uint16(xArgMm),
-       /*7236*/ uint16(xArgMmM64),
-       /*7237*/ uint16(xMatch),
-       /*7238*/ uint16(xSetOp), uint16(PSRLQ),
-       /*7240*/ uint16(xReadSlashR),
-       /*7241*/ uint16(xArgXmm1),
-       /*7242*/ uint16(xArgXmm2M128),
-       /*7243*/ uint16(xMatch),
-       /*7244*/ uint16(xCondPrefix), 2,
-       0x66, 7256,
-       0x0, 7250,
-       /*7250*/ uint16(xSetOp), uint16(PADDQ),
-       /*7252*/ uint16(xReadSlashR),
-       /*7253*/ uint16(xArgMm1),
-       /*7254*/ uint16(xArgMm2M64),
-       /*7255*/ uint16(xMatch),
-       /*7256*/ uint16(xSetOp), uint16(PADDQ),
-       /*7258*/ uint16(xReadSlashR),
-       /*7259*/ uint16(xArgXmm1),
-       /*7260*/ uint16(xArgXmm2M128),
-       /*7261*/ uint16(xMatch),
-       /*7262*/ uint16(xCondPrefix), 2,
-       0x66, 7274,
-       0x0, 7268,
-       /*7268*/ uint16(xSetOp), uint16(PMULLW),
-       /*7270*/ uint16(xReadSlashR),
-       /*7271*/ uint16(xArgMm),
-       /*7272*/ uint16(xArgMmM64),
-       /*7273*/ uint16(xMatch),
-       /*7274*/ uint16(xSetOp), uint16(PMULLW),
-       /*7276*/ uint16(xReadSlashR),
-       /*7277*/ uint16(xArgXmm1),
-       /*7278*/ uint16(xArgXmm2M128),
-       /*7279*/ uint16(xMatch),
-       /*7280*/ uint16(xCondPrefix), 3,
-       0xF3, 7300,
-       0xF2, 7294,
-       0x66, 7288,
-       /*7288*/ uint16(xSetOp), uint16(MOVQ),
-       /*7290*/ uint16(xReadSlashR),
-       /*7291*/ uint16(xArgXmm2M64),
-       /*7292*/ uint16(xArgXmm1),
-       /*7293*/ uint16(xMatch),
-       /*7294*/ uint16(xSetOp), uint16(MOVDQ2Q),
-       /*7296*/ uint16(xReadSlashR),
-       /*7297*/ uint16(xArgMm),
-       /*7298*/ uint16(xArgXmm2),
-       /*7299*/ uint16(xMatch),
-       /*7300*/ uint16(xSetOp), uint16(MOVQ2DQ),
-       /*7302*/ uint16(xReadSlashR),
-       /*7303*/ uint16(xArgXmm1),
-       /*7304*/ uint16(xArgMm2),
-       /*7305*/ uint16(xMatch),
-       /*7306*/ uint16(xCondPrefix), 2,
-       0x66, 7318,
-       0x0, 7312,
-       /*7312*/ uint16(xSetOp), uint16(PMOVMSKB),
-       /*7314*/ uint16(xReadSlashR),
-       /*7315*/ uint16(xArgR32),
-       /*7316*/ uint16(xArgMm2),
-       /*7317*/ uint16(xMatch),
-       /*7318*/ uint16(xSetOp), uint16(PMOVMSKB),
-       /*7320*/ uint16(xReadSlashR),
-       /*7321*/ uint16(xArgR32),
-       /*7322*/ uint16(xArgXmm2),
-       /*7323*/ uint16(xMatch),
-       /*7324*/ uint16(xCondPrefix), 2,
-       0x66, 7336,
-       0x0, 7330,
-       /*7330*/ uint16(xSetOp), uint16(PSUBUSB),
-       /*7332*/ uint16(xReadSlashR),
-       /*7333*/ uint16(xArgMm),
-       /*7334*/ uint16(xArgMmM64),
-       /*7335*/ uint16(xMatch),
-       /*7336*/ uint16(xSetOp), uint16(PSUBUSB),
-       /*7338*/ uint16(xReadSlashR),
-       /*7339*/ uint16(xArgXmm1),
-       /*7340*/ uint16(xArgXmm2M128),
-       /*7341*/ uint16(xMatch),
-       /*7342*/ uint16(xCondPrefix), 2,
-       0x66, 7354,
-       0x0, 7348,
-       /*7348*/ uint16(xSetOp), uint16(PSUBUSW),
-       /*7350*/ uint16(xReadSlashR),
-       /*7351*/ uint16(xArgMm),
-       /*7352*/ uint16(xArgMmM64),
-       /*7353*/ uint16(xMatch),
-       /*7354*/ uint16(xSetOp), uint16(PSUBUSW),
-       /*7356*/ uint16(xReadSlashR),
-       /*7357*/ uint16(xArgXmm1),
-       /*7358*/ uint16(xArgXmm2M128),
-       /*7359*/ uint16(xMatch),
-       /*7360*/ uint16(xCondPrefix), 2,
-       0x66, 7372,
-       0x0, 7366,
-       /*7366*/ uint16(xSetOp), uint16(PMINUB),
-       /*7368*/ uint16(xReadSlashR),
-       /*7369*/ uint16(xArgMm1),
-       /*7370*/ uint16(xArgMm2M64),
-       /*7371*/ uint16(xMatch),
-       /*7372*/ uint16(xSetOp), uint16(PMINUB),
-       /*7374*/ uint16(xReadSlashR),
-       /*7375*/ uint16(xArgXmm1),
-       /*7376*/ uint16(xArgXmm2M128),
-       /*7377*/ uint16(xMatch),
-       /*7378*/ uint16(xCondPrefix), 2,
-       0x66, 7390,
-       0x0, 7384,
-       /*7384*/ uint16(xSetOp), uint16(PAND),
-       /*7386*/ uint16(xReadSlashR),
-       /*7387*/ uint16(xArgMm),
-       /*7388*/ uint16(xArgMmM64),
-       /*7389*/ uint16(xMatch),
-       /*7390*/ uint16(xSetOp), uint16(PAND),
-       /*7392*/ uint16(xReadSlashR),
-       /*7393*/ uint16(xArgXmm1),
-       /*7394*/ uint16(xArgXmm2M128),
-       /*7395*/ uint16(xMatch),
-       /*7396*/ uint16(xCondPrefix), 2,
-       0x66, 7408,
-       0x0, 7402,
-       /*7402*/ uint16(xSetOp), uint16(PADDUSB),
-       /*7404*/ uint16(xReadSlashR),
-       /*7405*/ uint16(xArgMm),
-       /*7406*/ uint16(xArgMmM64),
-       /*7407*/ uint16(xMatch),
-       /*7408*/ uint16(xSetOp), uint16(PADDUSB),
-       /*7410*/ uint16(xReadSlashR),
-       /*7411*/ uint16(xArgXmm1),
-       /*7412*/ uint16(xArgXmm2M128),
-       /*7413*/ uint16(xMatch),
-       /*7414*/ uint16(xCondPrefix), 2,
-       0x66, 7426,
-       0x0, 7420,
-       /*7420*/ uint16(xSetOp), uint16(PADDUSW),
-       /*7422*/ uint16(xReadSlashR),
-       /*7423*/ uint16(xArgMm),
-       /*7424*/ uint16(xArgMmM64),
-       /*7425*/ uint16(xMatch),
-       /*7426*/ uint16(xSetOp), uint16(PADDUSW),
-       /*7428*/ uint16(xReadSlashR),
-       /*7429*/ uint16(xArgXmm1),
-       /*7430*/ uint16(xArgXmm2M128),
-       /*7431*/ uint16(xMatch),
-       /*7432*/ uint16(xCondPrefix), 2,
-       0x66, 7444,
-       0x0, 7438,
-       /*7438*/ uint16(xSetOp), uint16(PMAXUB),
-       /*7440*/ uint16(xReadSlashR),
-       /*7441*/ uint16(xArgMm1),
-       /*7442*/ uint16(xArgMm2M64),
-       /*7443*/ uint16(xMatch),
-       /*7444*/ uint16(xSetOp), uint16(PMAXUB),
-       /*7446*/ uint16(xReadSlashR),
-       /*7447*/ uint16(xArgXmm1),
-       /*7448*/ uint16(xArgXmm2M128),
-       /*7449*/ uint16(xMatch),
-       /*7450*/ uint16(xCondPrefix), 2,
-       0x66, 7462,
-       0x0, 7456,
-       /*7456*/ uint16(xSetOp), uint16(PANDN),
-       /*7458*/ uint16(xReadSlashR),
-       /*7459*/ uint16(xArgMm),
-       /*7460*/ uint16(xArgMmM64),
-       /*7461*/ uint16(xMatch),
-       /*7462*/ uint16(xSetOp), uint16(PANDN),
-       /*7464*/ uint16(xReadSlashR),
-       /*7465*/ uint16(xArgXmm1),
-       /*7466*/ uint16(xArgXmm2M128),
-       /*7467*/ uint16(xMatch),
-       /*7468*/ uint16(xCondPrefix), 2,
-       0x66, 7480,
-       0x0, 7474,
-       /*7474*/ uint16(xSetOp), uint16(PAVGB),
-       /*7476*/ uint16(xReadSlashR),
-       /*7477*/ uint16(xArgMm1),
-       /*7478*/ uint16(xArgMm2M64),
-       /*7479*/ uint16(xMatch),
-       /*7480*/ uint16(xSetOp), uint16(PAVGB),
-       /*7482*/ uint16(xReadSlashR),
-       /*7483*/ uint16(xArgXmm1),
-       /*7484*/ uint16(xArgXmm2M128),
-       /*7485*/ uint16(xMatch),
-       /*7486*/ uint16(xCondPrefix), 2,
-       0x66, 7498,
-       0x0, 7492,
-       /*7492*/ uint16(xSetOp), uint16(PSRAW),
-       /*7494*/ uint16(xReadSlashR),
-       /*7495*/ uint16(xArgMm),
-       /*7496*/ uint16(xArgMmM64),
-       /*7497*/ uint16(xMatch),
-       /*7498*/ uint16(xSetOp), uint16(PSRAW),
-       /*7500*/ uint16(xReadSlashR),
-       /*7501*/ uint16(xArgXmm1),
-       /*7502*/ uint16(xArgXmm2M128),
-       /*7503*/ uint16(xMatch),
-       /*7504*/ uint16(xCondPrefix), 2,
-       0x66, 7516,
-       0x0, 7510,
-       /*7510*/ uint16(xSetOp), uint16(PSRAD),
-       /*7512*/ uint16(xReadSlashR),
-       /*7513*/ uint16(xArgMm),
-       /*7514*/ uint16(xArgMmM64),
-       /*7515*/ uint16(xMatch),
-       /*7516*/ uint16(xSetOp), uint16(PSRAD),
-       /*7518*/ uint16(xReadSlashR),
-       /*7519*/ uint16(xArgXmm1),
-       /*7520*/ uint16(xArgXmm2M128),
-       /*7521*/ uint16(xMatch),
-       /*7522*/ uint16(xCondPrefix), 2,
-       0x66, 7534,
-       0x0, 7528,
-       /*7528*/ uint16(xSetOp), uint16(PAVGW),
-       /*7530*/ uint16(xReadSlashR),
-       /*7531*/ uint16(xArgMm1),
-       /*7532*/ uint16(xArgMm2M64),
-       /*7533*/ uint16(xMatch),
-       /*7534*/ uint16(xSetOp), uint16(PAVGW),
-       /*7536*/ uint16(xReadSlashR),
-       /*7537*/ uint16(xArgXmm1),
-       /*7538*/ uint16(xArgXmm2M128),
-       /*7539*/ uint16(xMatch),
-       /*7540*/ uint16(xCondPrefix), 2,
-       0x66, 7552,
-       0x0, 7546,
-       /*7546*/ uint16(xSetOp), uint16(PMULHUW),
-       /*7548*/ uint16(xReadSlashR),
-       /*7549*/ uint16(xArgMm1),
-       /*7550*/ uint16(xArgMm2M64),
-       /*7551*/ uint16(xMatch),
-       /*7552*/ uint16(xSetOp), uint16(PMULHUW),
-       /*7554*/ uint16(xReadSlashR),
-       /*7555*/ uint16(xArgXmm1),
-       /*7556*/ uint16(xArgXmm2M128),
-       /*7557*/ uint16(xMatch),
-       /*7558*/ uint16(xCondPrefix), 2,
-       0x66, 7570,
-       0x0, 7564,
-       /*7564*/ uint16(xSetOp), uint16(PMULHW),
-       /*7566*/ uint16(xReadSlashR),
-       /*7567*/ uint16(xArgMm),
-       /*7568*/ uint16(xArgMmM64),
-       /*7569*/ uint16(xMatch),
-       /*7570*/ uint16(xSetOp), uint16(PMULHW),
-       /*7572*/ uint16(xReadSlashR),
-       /*7573*/ uint16(xArgXmm1),
-       /*7574*/ uint16(xArgXmm2M128),
-       /*7575*/ uint16(xMatch),
-       /*7576*/ uint16(xCondPrefix), 3,
-       0xF3, 7596,
-       0xF2, 7590,
-       0x66, 7584,
-       /*7584*/ uint16(xSetOp), uint16(CVTTPD2DQ),
-       /*7586*/ uint16(xReadSlashR),
-       /*7587*/ uint16(xArgXmm1),
-       /*7588*/ uint16(xArgXmm2M128),
-       /*7589*/ uint16(xMatch),
-       /*7590*/ uint16(xSetOp), uint16(CVTPD2DQ),
-       /*7592*/ uint16(xReadSlashR),
-       /*7593*/ uint16(xArgXmm1),
-       /*7594*/ uint16(xArgXmm2M128),
-       /*7595*/ uint16(xMatch),
-       /*7596*/ uint16(xSetOp), uint16(CVTDQ2PD),
-       /*7598*/ uint16(xReadSlashR),
-       /*7599*/ uint16(xArgXmm1),
-       /*7600*/ uint16(xArgXmm2M64),
-       /*7601*/ uint16(xMatch),
-       /*7602*/ uint16(xCondPrefix), 2,
-       0x66, 7614,
-       0x0, 7608,
-       /*7608*/ uint16(xSetOp), uint16(MOVNTQ),
-       /*7610*/ uint16(xReadSlashR),
-       /*7611*/ uint16(xArgM64),
-       /*7612*/ uint16(xArgMm),
-       /*7613*/ uint16(xMatch),
-       /*7614*/ uint16(xSetOp), uint16(MOVNTDQ),
-       /*7616*/ uint16(xReadSlashR),
-       /*7617*/ uint16(xArgM128),
-       /*7618*/ uint16(xArgXmm),
-       /*7619*/ uint16(xMatch),
-       /*7620*/ uint16(xCondPrefix), 2,
-       0x66, 7632,
-       0x0, 7626,
-       /*7626*/ uint16(xSetOp), uint16(PSUBSB),
-       /*7628*/ uint16(xReadSlashR),
-       /*7629*/ uint16(xArgMm),
-       /*7630*/ uint16(xArgMmM64),
-       /*7631*/ uint16(xMatch),
-       /*7632*/ uint16(xSetOp), uint16(PSUBSB),
-       /*7634*/ uint16(xReadSlashR),
-       /*7635*/ uint16(xArgXmm1),
-       /*7636*/ uint16(xArgXmm2M128),
-       /*7637*/ uint16(xMatch),
-       /*7638*/ uint16(xCondPrefix), 2,
-       0x66, 7650,
-       0x0, 7644,
-       /*7644*/ uint16(xSetOp), uint16(PSUBSW),
-       /*7646*/ uint16(xReadSlashR),
-       /*7647*/ uint16(xArgMm),
-       /*7648*/ uint16(xArgMmM64),
-       /*7649*/ uint16(xMatch),
-       /*7650*/ uint16(xSetOp), uint16(PSUBSW),
-       /*7652*/ uint16(xReadSlashR),
-       /*7653*/ uint16(xArgXmm1),
-       /*7654*/ uint16(xArgXmm2M128),
-       /*7655*/ uint16(xMatch),
-       /*7656*/ uint16(xCondPrefix), 2,
-       0x66, 7668,
-       0x0, 7662,
-       /*7662*/ uint16(xSetOp), uint16(PMINSW),
-       /*7664*/ uint16(xReadSlashR),
-       /*7665*/ uint16(xArgMm1),
-       /*7666*/ uint16(xArgMm2M64),
-       /*7667*/ uint16(xMatch),
-       /*7668*/ uint16(xSetOp), uint16(PMINSW),
-       /*7670*/ uint16(xReadSlashR),
-       /*7671*/ uint16(xArgXmm1),
-       /*7672*/ uint16(xArgXmm2M128),
-       /*7673*/ uint16(xMatch),
-       /*7674*/ uint16(xCondPrefix), 2,
-       0x66, 7686,
-       0x0, 7680,
-       /*7680*/ uint16(xSetOp), uint16(POR),
-       /*7682*/ uint16(xReadSlashR),
-       /*7683*/ uint16(xArgMm),
-       /*7684*/ uint16(xArgMmM64),
-       /*7685*/ uint16(xMatch),
-       /*7686*/ uint16(xSetOp), uint16(POR),
-       /*7688*/ uint16(xReadSlashR),
-       /*7689*/ uint16(xArgXmm1),
-       /*7690*/ uint16(xArgXmm2M128),
-       /*7691*/ uint16(xMatch),
-       /*7692*/ uint16(xCondPrefix), 2,
-       0x66, 7704,
-       0x0, 7698,
-       /*7698*/ uint16(xSetOp), uint16(PADDSB),
-       /*7700*/ uint16(xReadSlashR),
-       /*7701*/ uint16(xArgMm),
-       /*7702*/ uint16(xArgMmM64),
-       /*7703*/ uint16(xMatch),
-       /*7704*/ uint16(xSetOp), uint16(PADDSB),
-       /*7706*/ uint16(xReadSlashR),
-       /*7707*/ uint16(xArgXmm1),
-       /*7708*/ uint16(xArgXmm2M128),
-       /*7709*/ uint16(xMatch),
-       /*7710*/ uint16(xCondPrefix), 2,
-       0x66, 7722,
-       0x0, 7716,
-       /*7716*/ uint16(xSetOp), uint16(PADDSW),
-       /*7718*/ uint16(xReadSlashR),
-       /*7719*/ uint16(xArgMm),
-       /*7720*/ uint16(xArgMmM64),
-       /*7721*/ uint16(xMatch),
-       /*7722*/ uint16(xSetOp), uint16(PADDSW),
-       /*7724*/ uint16(xReadSlashR),
-       /*7725*/ uint16(xArgXmm1),
-       /*7726*/ uint16(xArgXmm2M128),
-       /*7727*/ uint16(xMatch),
-       /*7728*/ uint16(xCondPrefix), 2,
-       0x66, 7740,
-       0x0, 7734,
-       /*7734*/ uint16(xSetOp), uint16(PMAXSW),
-       /*7736*/ uint16(xReadSlashR),
-       /*7737*/ uint16(xArgMm1),
-       /*7738*/ uint16(xArgMm2M64),
-       /*7739*/ uint16(xMatch),
-       /*7740*/ uint16(xSetOp), uint16(PMAXSW),
-       /*7742*/ uint16(xReadSlashR),
-       /*7743*/ uint16(xArgXmm1),
-       /*7744*/ uint16(xArgXmm2M128),
-       /*7745*/ uint16(xMatch),
-       /*7746*/ uint16(xCondPrefix), 2,
-       0x66, 7758,
-       0x0, 7752,
-       /*7752*/ uint16(xSetOp), uint16(PXOR),
-       /*7754*/ uint16(xReadSlashR),
-       /*7755*/ uint16(xArgMm),
-       /*7756*/ uint16(xArgMmM64),
-       /*7757*/ uint16(xMatch),
-       /*7758*/ uint16(xSetOp), uint16(PXOR),
-       /*7760*/ uint16(xReadSlashR),
-       /*7761*/ uint16(xArgXmm1),
-       /*7762*/ uint16(xArgXmm2M128),
-       /*7763*/ uint16(xMatch),
-       /*7764*/ uint16(xCondPrefix), 1,
-       0xF2, 7768,
-       /*7768*/ uint16(xSetOp), uint16(LDDQU),
-       /*7770*/ uint16(xReadSlashR),
-       /*7771*/ uint16(xArgXmm1),
-       /*7772*/ uint16(xArgM128),
-       /*7773*/ uint16(xMatch),
-       /*7774*/ uint16(xCondPrefix), 2,
-       0x66, 7786,
-       0x0, 7780,
-       /*7780*/ uint16(xSetOp), uint16(PSLLW),
-       /*7782*/ uint16(xReadSlashR),
-       /*7783*/ uint16(xArgMm),
-       /*7784*/ uint16(xArgMmM64),
-       /*7785*/ uint16(xMatch),
-       /*7786*/ uint16(xSetOp), uint16(PSLLW),
-       /*7788*/ uint16(xReadSlashR),
-       /*7789*/ uint16(xArgXmm1),
-       /*7790*/ uint16(xArgXmm2M128),
-       /*7791*/ uint16(xMatch),
-       /*7792*/ uint16(xCondPrefix), 2,
-       0x66, 7804,
-       0x0, 7798,
-       /*7798*/ uint16(xSetOp), uint16(PSLLD),
-       /*7800*/ uint16(xReadSlashR),
-       /*7801*/ uint16(xArgMm),
-       /*7802*/ uint16(xArgMmM64),
-       /*7803*/ uint16(xMatch),
-       /*7804*/ uint16(xSetOp), uint16(PSLLD),
-       /*7806*/ uint16(xReadSlashR),
-       /*7807*/ uint16(xArgXmm1),
-       /*7808*/ uint16(xArgXmm2M128),
-       /*7809*/ uint16(xMatch),
-       /*7810*/ uint16(xCondPrefix), 2,
-       0x66, 7822,
-       0x0, 7816,
-       /*7816*/ uint16(xSetOp), uint16(PSLLQ),
-       /*7818*/ uint16(xReadSlashR),
-       /*7819*/ uint16(xArgMm),
-       /*7820*/ uint16(xArgMmM64),
-       /*7821*/ uint16(xMatch),
-       /*7822*/ uint16(xSetOp), uint16(PSLLQ),
-       /*7824*/ uint16(xReadSlashR),
-       /*7825*/ uint16(xArgXmm1),
-       /*7826*/ uint16(xArgXmm2M128),
-       /*7827*/ uint16(xMatch),
-       /*7828*/ uint16(xCondPrefix), 2,
-       0x66, 7840,
-       0x0, 7834,
-       /*7834*/ uint16(xSetOp), uint16(PMULUDQ),
-       /*7836*/ uint16(xReadSlashR),
-       /*7837*/ uint16(xArgMm1),
-       /*7838*/ uint16(xArgMm2M64),
-       /*7839*/ uint16(xMatch),
-       /*7840*/ uint16(xSetOp), uint16(PMULUDQ),
-       /*7842*/ uint16(xReadSlashR),
-       /*7843*/ uint16(xArgXmm1),
-       /*7844*/ uint16(xArgXmm2M128),
-       /*7845*/ uint16(xMatch),
-       /*7846*/ uint16(xCondPrefix), 2,
-       0x66, 7858,
-       0x0, 7852,
-       /*7852*/ uint16(xSetOp), uint16(PMADDWD),
-       /*7854*/ uint16(xReadSlashR),
-       /*7855*/ uint16(xArgMm),
-       /*7856*/ uint16(xArgMmM64),
-       /*7857*/ uint16(xMatch),
-       /*7858*/ uint16(xSetOp), uint16(PMADDWD),
-       /*7860*/ uint16(xReadSlashR),
-       /*7861*/ uint16(xArgXmm1),
-       /*7862*/ uint16(xArgXmm2M128),
-       /*7863*/ uint16(xMatch),
-       /*7864*/ uint16(xCondPrefix), 2,
-       0x66, 7876,
-       0x0, 7870,
-       /*7870*/ uint16(xSetOp), uint16(PSADBW),
-       /*7872*/ uint16(xReadSlashR),
-       /*7873*/ uint16(xArgMm1),
-       /*7874*/ uint16(xArgMm2M64),
-       /*7875*/ uint16(xMatch),
-       /*7876*/ uint16(xSetOp), uint16(PSADBW),
-       /*7878*/ uint16(xReadSlashR),
-       /*7879*/ uint16(xArgXmm1),
-       /*7880*/ uint16(xArgXmm2M128),
-       /*7881*/ uint16(xMatch),
-       /*7882*/ uint16(xCondPrefix), 2,
-       0x66, 7894,
-       0x0, 7888,
-       /*7888*/ uint16(xSetOp), uint16(MASKMOVQ),
-       /*7890*/ uint16(xReadSlashR),
-       /*7891*/ uint16(xArgMm1),
-       /*7892*/ uint16(xArgMm2),
-       /*7893*/ uint16(xMatch),
-       /*7894*/ uint16(xSetOp), uint16(MASKMOVDQU),
-       /*7896*/ uint16(xReadSlashR),
-       /*7897*/ uint16(xArgXmm1),
-       /*7898*/ uint16(xArgXmm2),
-       /*7899*/ uint16(xMatch),
-       /*7900*/ uint16(xCondPrefix), 2,
-       0x66, 7912,
-       0x0, 7906,
-       /*7906*/ uint16(xSetOp), uint16(PSUBB),
-       /*7908*/ uint16(xReadSlashR),
-       /*7909*/ uint16(xArgMm),
-       /*7910*/ uint16(xArgMmM64),
-       /*7911*/ uint16(xMatch),
-       /*7912*/ uint16(xSetOp), uint16(PSUBB),
-       /*7914*/ uint16(xReadSlashR),
-       /*7915*/ uint16(xArgXmm1),
-       /*7916*/ uint16(xArgXmm2M128),
-       /*7917*/ uint16(xMatch),
-       /*7918*/ uint16(xCondPrefix), 2,
-       0x66, 7930,
-       0x0, 7924,
-       /*7924*/ uint16(xSetOp), uint16(PSUBW),
-       /*7926*/ uint16(xReadSlashR),
-       /*7927*/ uint16(xArgMm),
-       /*7928*/ uint16(xArgMmM64),
-       /*7929*/ uint16(xMatch),
-       /*7930*/ uint16(xSetOp), uint16(PSUBW),
-       /*7932*/ uint16(xReadSlashR),
-       /*7933*/ uint16(xArgXmm1),
-       /*7934*/ uint16(xArgXmm2M128),
-       /*7935*/ uint16(xMatch),
-       /*7936*/ uint16(xCondPrefix), 2,
-       0x66, 7948,
-       0x0, 7942,
-       /*7942*/ uint16(xSetOp), uint16(PSUBD),
-       /*7944*/ uint16(xReadSlashR),
-       /*7945*/ uint16(xArgMm),
-       /*7946*/ uint16(xArgMmM64),
-       /*7947*/ uint16(xMatch),
-       /*7948*/ uint16(xSetOp), uint16(PSUBD),
-       /*7950*/ uint16(xReadSlashR),
-       /*7951*/ uint16(xArgXmm1),
-       /*7952*/ uint16(xArgXmm2M128),
-       /*7953*/ uint16(xMatch),
-       /*7954*/ uint16(xCondPrefix), 2,
-       0x66, 7966,
-       0x0, 7960,
-       /*7960*/ uint16(xSetOp), uint16(PSUBQ),
-       /*7962*/ uint16(xReadSlashR),
-       /*7963*/ uint16(xArgMm1),
-       /*7964*/ uint16(xArgMm2M64),
-       /*7965*/ uint16(xMatch),
-       /*7966*/ uint16(xSetOp), uint16(PSUBQ),
-       /*7968*/ uint16(xReadSlashR),
-       /*7969*/ uint16(xArgXmm1),
-       /*7970*/ uint16(xArgXmm2M128),
-       /*7971*/ uint16(xMatch),
-       /*7972*/ uint16(xCondPrefix), 2,
-       0x66, 7984,
-       0x0, 7978,
-       /*7978*/ uint16(xSetOp), uint16(PADDB),
-       /*7980*/ uint16(xReadSlashR),
-       /*7981*/ uint16(xArgMm),
-       /*7982*/ uint16(xArgMmM64),
-       /*7983*/ uint16(xMatch),
-       /*7984*/ uint16(xSetOp), uint16(PADDB),
-       /*7986*/ uint16(xReadSlashR),
-       /*7987*/ uint16(xArgXmm1),
-       /*7988*/ uint16(xArgXmm2M128),
-       /*7989*/ uint16(xMatch),
-       /*7990*/ uint16(xCondPrefix), 2,
-       0x66, 8002,
-       0x0, 7996,
-       /*7996*/ uint16(xSetOp), uint16(PADDW),
-       /*7998*/ uint16(xReadSlashR),
-       /*7999*/ uint16(xArgMm),
-       /*8000*/ uint16(xArgMmM64),
-       /*8001*/ uint16(xMatch),
-       /*8002*/ uint16(xSetOp), uint16(PADDW),
-       /*8004*/ uint16(xReadSlashR),
-       /*8005*/ uint16(xArgXmm1),
-       /*8006*/ uint16(xArgXmm2M128),
-       /*8007*/ uint16(xMatch),
-       /*8008*/ uint16(xCondPrefix), 2,
-       0x66, 8020,
-       0x0, 8014,
-       /*8014*/ uint16(xSetOp), uint16(PADDD),
-       /*8016*/ uint16(xReadSlashR),
-       /*8017*/ uint16(xArgMm),
-       /*8018*/ uint16(xArgMmM64),
-       /*8019*/ uint16(xMatch),
-       /*8020*/ uint16(xSetOp), uint16(PADDD),
-       /*8022*/ uint16(xReadSlashR),
-       /*8023*/ uint16(xArgXmm1),
-       /*8024*/ uint16(xArgXmm2M128),
-       /*8025*/ uint16(xMatch),
-       /*8026*/ uint16(xSetOp), uint16(ADC),
-       /*8028*/ uint16(xReadSlashR),
-       /*8029*/ uint16(xArgRM8),
-       /*8030*/ uint16(xArgR8),
-       /*8031*/ uint16(xMatch),
-       /*8032*/ uint16(xCondIs64), 8035, 8051,
-       /*8035*/ uint16(xCondDataSize), 8039, 8045, 0,
-       /*8039*/ uint16(xSetOp), uint16(ADC),
+       /*7038*/ uint16(xCondIs64), 7041, 7053,
+       /*7041*/ uint16(xCondDataSize), 7045, 7049, 0,
+       /*7045*/ uint16(xSetOp), uint16(CMPXCHG8B),
+       /*7047*/ uint16(xArgM64),
+       /*7048*/ uint16(xMatch),
+       /*7049*/ uint16(xSetOp), uint16(CMPXCHG8B),
+       /*7051*/ uint16(xArgM64),
+       /*7052*/ uint16(xMatch),
+       /*7053*/ uint16(xCondDataSize), 7045, 7049, 7057,
+       /*7057*/ uint16(xSetOp), uint16(CMPXCHG16B),
+       /*7059*/ uint16(xArgM128),
+       /*7060*/ uint16(xMatch),
+       /*7061*/ uint16(xCondIs64), 7064, 7076,
+       /*7064*/ uint16(xCondDataSize), 7068, 7072, 0,
+       /*7068*/ uint16(xSetOp), uint16(XRSTORS),
+       /*7070*/ uint16(xArgMem),
+       /*7071*/ uint16(xMatch),
+       /*7072*/ uint16(xSetOp), uint16(XRSTORS),
+       /*7074*/ uint16(xArgMem),
+       /*7075*/ uint16(xMatch),
+       /*7076*/ uint16(xCondDataSize), 7068, 7072, 7080,
+       /*7080*/ uint16(xSetOp), uint16(XRSTORS64),
+       /*7082*/ uint16(xArgMem),
+       /*7083*/ uint16(xMatch),
+       /*7084*/ uint16(xCondIs64), 7087, 7099,
+       /*7087*/ uint16(xCondDataSize), 7091, 7095, 0,
+       /*7091*/ uint16(xSetOp), uint16(XSAVEC),
+       /*7093*/ uint16(xArgMem),
+       /*7094*/ uint16(xMatch),
+       /*7095*/ uint16(xSetOp), uint16(XSAVEC),
+       /*7097*/ uint16(xArgMem),
+       /*7098*/ uint16(xMatch),
+       /*7099*/ uint16(xCondDataSize), 7091, 7095, 7103,
+       /*7103*/ uint16(xSetOp), uint16(XSAVEC64),
+       /*7105*/ uint16(xArgMem),
+       /*7106*/ uint16(xMatch),
+       /*7107*/ uint16(xCondIs64), 7110, 7122,
+       /*7110*/ uint16(xCondDataSize), 7114, 7118, 0,
+       /*7114*/ uint16(xSetOp), uint16(XSAVES),
+       /*7116*/ uint16(xArgMem),
+       /*7117*/ uint16(xMatch),
+       /*7118*/ uint16(xSetOp), uint16(XSAVES),
+       /*7120*/ uint16(xArgMem),
+       /*7121*/ uint16(xMatch),
+       /*7122*/ uint16(xCondDataSize), 7114, 7118, 7126,
+       /*7126*/ uint16(xSetOp), uint16(XSAVES64),
+       /*7128*/ uint16(xArgMem),
+       /*7129*/ uint16(xMatch),
+       /*7130*/ uint16(xCondIs64), 7133, 7151,
+       /*7133*/ uint16(xCondDataSize), 7137, 7144, 0,
+       /*7137*/ uint16(xCondIsMem), 7140, 0,
+       /*7140*/ uint16(xSetOp), uint16(RDRAND),
+       /*7142*/ uint16(xArgRmf16),
+       /*7143*/ uint16(xMatch),
+       /*7144*/ uint16(xCondIsMem), 7147, 0,
+       /*7147*/ uint16(xSetOp), uint16(RDRAND),
+       /*7149*/ uint16(xArgRmf32),
+       /*7150*/ uint16(xMatch),
+       /*7151*/ uint16(xCondDataSize), 7137, 7144, 7155,
+       /*7155*/ uint16(xSetOp), uint16(RDRAND),
+       /*7157*/ uint16(xMatch),
+       /*7158*/ uint16(xCondIs64), 7161, 7173,
+       /*7161*/ uint16(xCondDataSize), 7165, 7169, 0,
+       /*7165*/ uint16(xSetOp), uint16(BSWAP),
+       /*7167*/ uint16(xArgR16op),
+       /*7168*/ uint16(xMatch),
+       /*7169*/ uint16(xSetOp), uint16(BSWAP),
+       /*7171*/ uint16(xArgR32op),
+       /*7172*/ uint16(xMatch),
+       /*7173*/ uint16(xCondDataSize), 7165, 7169, 7177,
+       /*7177*/ uint16(xSetOp), uint16(BSWAP),
+       /*7179*/ uint16(xArgR64op),
+       /*7180*/ uint16(xMatch),
+       /*7181*/ uint16(xCondPrefix), 2,
+       0xF2, 7193,
+       0x66, 7187,
+       /*7187*/ uint16(xSetOp), uint16(ADDSUBPD),
+       /*7189*/ uint16(xReadSlashR),
+       /*7190*/ uint16(xArgXmm1),
+       /*7191*/ uint16(xArgXmm2M128),
+       /*7192*/ uint16(xMatch),
+       /*7193*/ uint16(xSetOp), uint16(ADDSUBPS),
+       /*7195*/ uint16(xReadSlashR),
+       /*7196*/ uint16(xArgXmm1),
+       /*7197*/ uint16(xArgXmm2M128),
+       /*7198*/ uint16(xMatch),
+       /*7199*/ uint16(xCondPrefix), 2,
+       0x66, 7211,
+       0x0, 7205,
+       /*7205*/ uint16(xSetOp), uint16(PSRLW),
+       /*7207*/ uint16(xReadSlashR),
+       /*7208*/ uint16(xArgMm),
+       /*7209*/ uint16(xArgMmM64),
+       /*7210*/ uint16(xMatch),
+       /*7211*/ uint16(xSetOp), uint16(PSRLW),
+       /*7213*/ uint16(xReadSlashR),
+       /*7214*/ uint16(xArgXmm1),
+       /*7215*/ uint16(xArgXmm2M128),
+       /*7216*/ uint16(xMatch),
+       /*7217*/ uint16(xCondPrefix), 2,
+       0x66, 7229,
+       0x0, 7223,
+       /*7223*/ uint16(xSetOp), uint16(PSRLD),
+       /*7225*/ uint16(xReadSlashR),
+       /*7226*/ uint16(xArgMm),
+       /*7227*/ uint16(xArgMmM64),
+       /*7228*/ uint16(xMatch),
+       /*7229*/ uint16(xSetOp), uint16(PSRLD),
+       /*7231*/ uint16(xReadSlashR),
+       /*7232*/ uint16(xArgXmm1),
+       /*7233*/ uint16(xArgXmm2M128),
+       /*7234*/ uint16(xMatch),
+       /*7235*/ uint16(xCondPrefix), 2,
+       0x66, 7247,
+       0x0, 7241,
+       /*7241*/ uint16(xSetOp), uint16(PSRLQ),
+       /*7243*/ uint16(xReadSlashR),
+       /*7244*/ uint16(xArgMm),
+       /*7245*/ uint16(xArgMmM64),
+       /*7246*/ uint16(xMatch),
+       /*7247*/ uint16(xSetOp), uint16(PSRLQ),
+       /*7249*/ uint16(xReadSlashR),
+       /*7250*/ uint16(xArgXmm1),
+       /*7251*/ uint16(xArgXmm2M128),
+       /*7252*/ uint16(xMatch),
+       /*7253*/ uint16(xCondPrefix), 2,
+       0x66, 7265,
+       0x0, 7259,
+       /*7259*/ uint16(xSetOp), uint16(PADDQ),
+       /*7261*/ uint16(xReadSlashR),
+       /*7262*/ uint16(xArgMm1),
+       /*7263*/ uint16(xArgMm2M64),
+       /*7264*/ uint16(xMatch),
+       /*7265*/ uint16(xSetOp), uint16(PADDQ),
+       /*7267*/ uint16(xReadSlashR),
+       /*7268*/ uint16(xArgXmm1),
+       /*7269*/ uint16(xArgXmm2M128),
+       /*7270*/ uint16(xMatch),
+       /*7271*/ uint16(xCondPrefix), 2,
+       0x66, 7283,
+       0x0, 7277,
+       /*7277*/ uint16(xSetOp), uint16(PMULLW),
+       /*7279*/ uint16(xReadSlashR),
+       /*7280*/ uint16(xArgMm),
+       /*7281*/ uint16(xArgMmM64),
+       /*7282*/ uint16(xMatch),
+       /*7283*/ uint16(xSetOp), uint16(PMULLW),
+       /*7285*/ uint16(xReadSlashR),
+       /*7286*/ uint16(xArgXmm1),
+       /*7287*/ uint16(xArgXmm2M128),
+       /*7288*/ uint16(xMatch),
+       /*7289*/ uint16(xCondPrefix), 3,
+       0xF3, 7309,
+       0xF2, 7303,
+       0x66, 7297,
+       /*7297*/ uint16(xSetOp), uint16(MOVQ),
+       /*7299*/ uint16(xReadSlashR),
+       /*7300*/ uint16(xArgXmm2M64),
+       /*7301*/ uint16(xArgXmm1),
+       /*7302*/ uint16(xMatch),
+       /*7303*/ uint16(xSetOp), uint16(MOVDQ2Q),
+       /*7305*/ uint16(xReadSlashR),
+       /*7306*/ uint16(xArgMm),
+       /*7307*/ uint16(xArgXmm2),
+       /*7308*/ uint16(xMatch),
+       /*7309*/ uint16(xSetOp), uint16(MOVQ2DQ),
+       /*7311*/ uint16(xReadSlashR),
+       /*7312*/ uint16(xArgXmm1),
+       /*7313*/ uint16(xArgMm2),
+       /*7314*/ uint16(xMatch),
+       /*7315*/ uint16(xCondPrefix), 2,
+       0x66, 7327,
+       0x0, 7321,
+       /*7321*/ uint16(xSetOp), uint16(PMOVMSKB),
+       /*7323*/ uint16(xReadSlashR),
+       /*7324*/ uint16(xArgR32),
+       /*7325*/ uint16(xArgMm2),
+       /*7326*/ uint16(xMatch),
+       /*7327*/ uint16(xSetOp), uint16(PMOVMSKB),
+       /*7329*/ uint16(xReadSlashR),
+       /*7330*/ uint16(xArgR32),
+       /*7331*/ uint16(xArgXmm2),
+       /*7332*/ uint16(xMatch),
+       /*7333*/ uint16(xCondPrefix), 2,
+       0x66, 7345,
+       0x0, 7339,
+       /*7339*/ uint16(xSetOp), uint16(PSUBUSB),
+       /*7341*/ uint16(xReadSlashR),
+       /*7342*/ uint16(xArgMm),
+       /*7343*/ uint16(xArgMmM64),
+       /*7344*/ uint16(xMatch),
+       /*7345*/ uint16(xSetOp), uint16(PSUBUSB),
+       /*7347*/ uint16(xReadSlashR),
+       /*7348*/ uint16(xArgXmm1),
+       /*7349*/ uint16(xArgXmm2M128),
+       /*7350*/ uint16(xMatch),
+       /*7351*/ uint16(xCondPrefix), 2,
+       0x66, 7363,
+       0x0, 7357,
+       /*7357*/ uint16(xSetOp), uint16(PSUBUSW),
+       /*7359*/ uint16(xReadSlashR),
+       /*7360*/ uint16(xArgMm),
+       /*7361*/ uint16(xArgMmM64),
+       /*7362*/ uint16(xMatch),
+       /*7363*/ uint16(xSetOp), uint16(PSUBUSW),
+       /*7365*/ uint16(xReadSlashR),
+       /*7366*/ uint16(xArgXmm1),
+       /*7367*/ uint16(xArgXmm2M128),
+       /*7368*/ uint16(xMatch),
+       /*7369*/ uint16(xCondPrefix), 2,
+       0x66, 7381,
+       0x0, 7375,
+       /*7375*/ uint16(xSetOp), uint16(PMINUB),
+       /*7377*/ uint16(xReadSlashR),
+       /*7378*/ uint16(xArgMm1),
+       /*7379*/ uint16(xArgMm2M64),
+       /*7380*/ uint16(xMatch),
+       /*7381*/ uint16(xSetOp), uint16(PMINUB),
+       /*7383*/ uint16(xReadSlashR),
+       /*7384*/ uint16(xArgXmm1),
+       /*7385*/ uint16(xArgXmm2M128),
+       /*7386*/ uint16(xMatch),
+       /*7387*/ uint16(xCondPrefix), 2,
+       0x66, 7399,
+       0x0, 7393,
+       /*7393*/ uint16(xSetOp), uint16(PAND),
+       /*7395*/ uint16(xReadSlashR),
+       /*7396*/ uint16(xArgMm),
+       /*7397*/ uint16(xArgMmM64),
+       /*7398*/ uint16(xMatch),
+       /*7399*/ uint16(xSetOp), uint16(PAND),
+       /*7401*/ uint16(xReadSlashR),
+       /*7402*/ uint16(xArgXmm1),
+       /*7403*/ uint16(xArgXmm2M128),
+       /*7404*/ uint16(xMatch),
+       /*7405*/ uint16(xCondPrefix), 2,
+       0x66, 7417,
+       0x0, 7411,
+       /*7411*/ uint16(xSetOp), uint16(PADDUSB),
+       /*7413*/ uint16(xReadSlashR),
+       /*7414*/ uint16(xArgMm),
+       /*7415*/ uint16(xArgMmM64),
+       /*7416*/ uint16(xMatch),
+       /*7417*/ uint16(xSetOp), uint16(PADDUSB),
+       /*7419*/ uint16(xReadSlashR),
+       /*7420*/ uint16(xArgXmm1),
+       /*7421*/ uint16(xArgXmm2M128),
+       /*7422*/ uint16(xMatch),
+       /*7423*/ uint16(xCondPrefix), 2,
+       0x66, 7435,
+       0x0, 7429,
+       /*7429*/ uint16(xSetOp), uint16(PADDUSW),
+       /*7431*/ uint16(xReadSlashR),
+       /*7432*/ uint16(xArgMm),
+       /*7433*/ uint16(xArgMmM64),
+       /*7434*/ uint16(xMatch),
+       /*7435*/ uint16(xSetOp), uint16(PADDUSW),
+       /*7437*/ uint16(xReadSlashR),
+       /*7438*/ uint16(xArgXmm1),
+       /*7439*/ uint16(xArgXmm2M128),
+       /*7440*/ uint16(xMatch),
+       /*7441*/ uint16(xCondPrefix), 2,
+       0x66, 7453,
+       0x0, 7447,
+       /*7447*/ uint16(xSetOp), uint16(PMAXUB),
+       /*7449*/ uint16(xReadSlashR),
+       /*7450*/ uint16(xArgMm1),
+       /*7451*/ uint16(xArgMm2M64),
+       /*7452*/ uint16(xMatch),
+       /*7453*/ uint16(xSetOp), uint16(PMAXUB),
+       /*7455*/ uint16(xReadSlashR),
+       /*7456*/ uint16(xArgXmm1),
+       /*7457*/ uint16(xArgXmm2M128),
+       /*7458*/ uint16(xMatch),
+       /*7459*/ uint16(xCondPrefix), 2,
+       0x66, 7471,
+       0x0, 7465,
+       /*7465*/ uint16(xSetOp), uint16(PANDN),
+       /*7467*/ uint16(xReadSlashR),
+       /*7468*/ uint16(xArgMm),
+       /*7469*/ uint16(xArgMmM64),
+       /*7470*/ uint16(xMatch),
+       /*7471*/ uint16(xSetOp), uint16(PANDN),
+       /*7473*/ uint16(xReadSlashR),
+       /*7474*/ uint16(xArgXmm1),
+       /*7475*/ uint16(xArgXmm2M128),
+       /*7476*/ uint16(xMatch),
+       /*7477*/ uint16(xCondPrefix), 2,
+       0x66, 7489,
+       0x0, 7483,
+       /*7483*/ uint16(xSetOp), uint16(PAVGB),
+       /*7485*/ uint16(xReadSlashR),
+       /*7486*/ uint16(xArgMm1),
+       /*7487*/ uint16(xArgMm2M64),
+       /*7488*/ uint16(xMatch),
+       /*7489*/ uint16(xSetOp), uint16(PAVGB),
+       /*7491*/ uint16(xReadSlashR),
+       /*7492*/ uint16(xArgXmm1),
+       /*7493*/ uint16(xArgXmm2M128),
+       /*7494*/ uint16(xMatch),
+       /*7495*/ uint16(xCondPrefix), 2,
+       0x66, 7507,
+       0x0, 7501,
+       /*7501*/ uint16(xSetOp), uint16(PSRAW),
+       /*7503*/ uint16(xReadSlashR),
+       /*7504*/ uint16(xArgMm),
+       /*7505*/ uint16(xArgMmM64),
+       /*7506*/ uint16(xMatch),
+       /*7507*/ uint16(xSetOp), uint16(PSRAW),
+       /*7509*/ uint16(xReadSlashR),
+       /*7510*/ uint16(xArgXmm1),
+       /*7511*/ uint16(xArgXmm2M128),
+       /*7512*/ uint16(xMatch),
+       /*7513*/ uint16(xCondPrefix), 2,
+       0x66, 7525,
+       0x0, 7519,
+       /*7519*/ uint16(xSetOp), uint16(PSRAD),
+       /*7521*/ uint16(xReadSlashR),
+       /*7522*/ uint16(xArgMm),
+       /*7523*/ uint16(xArgMmM64),
+       /*7524*/ uint16(xMatch),
+       /*7525*/ uint16(xSetOp), uint16(PSRAD),
+       /*7527*/ uint16(xReadSlashR),
+       /*7528*/ uint16(xArgXmm1),
+       /*7529*/ uint16(xArgXmm2M128),
+       /*7530*/ uint16(xMatch),
+       /*7531*/ uint16(xCondPrefix), 2,
+       0x66, 7543,
+       0x0, 7537,
+       /*7537*/ uint16(xSetOp), uint16(PAVGW),
+       /*7539*/ uint16(xReadSlashR),
+       /*7540*/ uint16(xArgMm1),
+       /*7541*/ uint16(xArgMm2M64),
+       /*7542*/ uint16(xMatch),
+       /*7543*/ uint16(xSetOp), uint16(PAVGW),
+       /*7545*/ uint16(xReadSlashR),
+       /*7546*/ uint16(xArgXmm1),
+       /*7547*/ uint16(xArgXmm2M128),
+       /*7548*/ uint16(xMatch),
+       /*7549*/ uint16(xCondPrefix), 2,
+       0x66, 7561,
+       0x0, 7555,
+       /*7555*/ uint16(xSetOp), uint16(PMULHUW),
+       /*7557*/ uint16(xReadSlashR),
+       /*7558*/ uint16(xArgMm1),
+       /*7559*/ uint16(xArgMm2M64),
+       /*7560*/ uint16(xMatch),
+       /*7561*/ uint16(xSetOp), uint16(PMULHUW),
+       /*7563*/ uint16(xReadSlashR),
+       /*7564*/ uint16(xArgXmm1),
+       /*7565*/ uint16(xArgXmm2M128),
+       /*7566*/ uint16(xMatch),
+       /*7567*/ uint16(xCondPrefix), 2,
+       0x66, 7579,
+       0x0, 7573,
+       /*7573*/ uint16(xSetOp), uint16(PMULHW),
+       /*7575*/ uint16(xReadSlashR),
+       /*7576*/ uint16(xArgMm),
+       /*7577*/ uint16(xArgMmM64),
+       /*7578*/ uint16(xMatch),
+       /*7579*/ uint16(xSetOp), uint16(PMULHW),
+       /*7581*/ uint16(xReadSlashR),
+       /*7582*/ uint16(xArgXmm1),
+       /*7583*/ uint16(xArgXmm2M128),
+       /*7584*/ uint16(xMatch),
+       /*7585*/ uint16(xCondPrefix), 3,
+       0xF3, 7605,
+       0xF2, 7599,
+       0x66, 7593,
+       /*7593*/ uint16(xSetOp), uint16(CVTTPD2DQ),
+       /*7595*/ uint16(xReadSlashR),
+       /*7596*/ uint16(xArgXmm1),
+       /*7597*/ uint16(xArgXmm2M128),
+       /*7598*/ uint16(xMatch),
+       /*7599*/ uint16(xSetOp), uint16(CVTPD2DQ),
+       /*7601*/ uint16(xReadSlashR),
+       /*7602*/ uint16(xArgXmm1),
+       /*7603*/ uint16(xArgXmm2M128),
+       /*7604*/ uint16(xMatch),
+       /*7605*/ uint16(xSetOp), uint16(CVTDQ2PD),
+       /*7607*/ uint16(xReadSlashR),
+       /*7608*/ uint16(xArgXmm1),
+       /*7609*/ uint16(xArgXmm2M64),
+       /*7610*/ uint16(xMatch),
+       /*7611*/ uint16(xCondPrefix), 2,
+       0x66, 7623,
+       0x0, 7617,
+       /*7617*/ uint16(xSetOp), uint16(MOVNTQ),
+       /*7619*/ uint16(xReadSlashR),
+       /*7620*/ uint16(xArgM64),
+       /*7621*/ uint16(xArgMm),
+       /*7622*/ uint16(xMatch),
+       /*7623*/ uint16(xSetOp), uint16(MOVNTDQ),
+       /*7625*/ uint16(xReadSlashR),
+       /*7626*/ uint16(xArgM128),
+       /*7627*/ uint16(xArgXmm),
+       /*7628*/ uint16(xMatch),
+       /*7629*/ uint16(xCondPrefix), 2,
+       0x66, 7641,
+       0x0, 7635,
+       /*7635*/ uint16(xSetOp), uint16(PSUBSB),
+       /*7637*/ uint16(xReadSlashR),
+       /*7638*/ uint16(xArgMm),
+       /*7639*/ uint16(xArgMmM64),
+       /*7640*/ uint16(xMatch),
+       /*7641*/ uint16(xSetOp), uint16(PSUBSB),
+       /*7643*/ uint16(xReadSlashR),
+       /*7644*/ uint16(xArgXmm1),
+       /*7645*/ uint16(xArgXmm2M128),
+       /*7646*/ uint16(xMatch),
+       /*7647*/ uint16(xCondPrefix), 2,
+       0x66, 7659,
+       0x0, 7653,
+       /*7653*/ uint16(xSetOp), uint16(PSUBSW),
+       /*7655*/ uint16(xReadSlashR),
+       /*7656*/ uint16(xArgMm),
+       /*7657*/ uint16(xArgMmM64),
+       /*7658*/ uint16(xMatch),
+       /*7659*/ uint16(xSetOp), uint16(PSUBSW),
+       /*7661*/ uint16(xReadSlashR),
+       /*7662*/ uint16(xArgXmm1),
+       /*7663*/ uint16(xArgXmm2M128),
+       /*7664*/ uint16(xMatch),
+       /*7665*/ uint16(xCondPrefix), 2,
+       0x66, 7677,
+       0x0, 7671,
+       /*7671*/ uint16(xSetOp), uint16(PMINSW),
+       /*7673*/ uint16(xReadSlashR),
+       /*7674*/ uint16(xArgMm1),
+       /*7675*/ uint16(xArgMm2M64),
+       /*7676*/ uint16(xMatch),
+       /*7677*/ uint16(xSetOp), uint16(PMINSW),
+       /*7679*/ uint16(xReadSlashR),
+       /*7680*/ uint16(xArgXmm1),
+       /*7681*/ uint16(xArgXmm2M128),
+       /*7682*/ uint16(xMatch),
+       /*7683*/ uint16(xCondPrefix), 2,
+       0x66, 7695,
+       0x0, 7689,
+       /*7689*/ uint16(xSetOp), uint16(POR),
+       /*7691*/ uint16(xReadSlashR),
+       /*7692*/ uint16(xArgMm),
+       /*7693*/ uint16(xArgMmM64),
+       /*7694*/ uint16(xMatch),
+       /*7695*/ uint16(xSetOp), uint16(POR),
+       /*7697*/ uint16(xReadSlashR),
+       /*7698*/ uint16(xArgXmm1),
+       /*7699*/ uint16(xArgXmm2M128),
+       /*7700*/ uint16(xMatch),
+       /*7701*/ uint16(xCondPrefix), 2,
+       0x66, 7713,
+       0x0, 7707,
+       /*7707*/ uint16(xSetOp), uint16(PADDSB),
+       /*7709*/ uint16(xReadSlashR),
+       /*7710*/ uint16(xArgMm),
+       /*7711*/ uint16(xArgMmM64),
+       /*7712*/ uint16(xMatch),
+       /*7713*/ uint16(xSetOp), uint16(PADDSB),
+       /*7715*/ uint16(xReadSlashR),
+       /*7716*/ uint16(xArgXmm1),
+       /*7717*/ uint16(xArgXmm2M128),
+       /*7718*/ uint16(xMatch),
+       /*7719*/ uint16(xCondPrefix), 2,
+       0x66, 7731,
+       0x0, 7725,
+       /*7725*/ uint16(xSetOp), uint16(PADDSW),
+       /*7727*/ uint16(xReadSlashR),
+       /*7728*/ uint16(xArgMm),
+       /*7729*/ uint16(xArgMmM64),
+       /*7730*/ uint16(xMatch),
+       /*7731*/ uint16(xSetOp), uint16(PADDSW),
+       /*7733*/ uint16(xReadSlashR),
+       /*7734*/ uint16(xArgXmm1),
+       /*7735*/ uint16(xArgXmm2M128),
+       /*7736*/ uint16(xMatch),
+       /*7737*/ uint16(xCondPrefix), 2,
+       0x66, 7749,
+       0x0, 7743,
+       /*7743*/ uint16(xSetOp), uint16(PMAXSW),
+       /*7745*/ uint16(xReadSlashR),
+       /*7746*/ uint16(xArgMm1),
+       /*7747*/ uint16(xArgMm2M64),
+       /*7748*/ uint16(xMatch),
+       /*7749*/ uint16(xSetOp), uint16(PMAXSW),
+       /*7751*/ uint16(xReadSlashR),
+       /*7752*/ uint16(xArgXmm1),
+       /*7753*/ uint16(xArgXmm2M128),
+       /*7754*/ uint16(xMatch),
+       /*7755*/ uint16(xCondPrefix), 2,
+       0x66, 7767,
+       0x0, 7761,
+       /*7761*/ uint16(xSetOp), uint16(PXOR),
+       /*7763*/ uint16(xReadSlashR),
+       /*7764*/ uint16(xArgMm),
+       /*7765*/ uint16(xArgMmM64),
+       /*7766*/ uint16(xMatch),
+       /*7767*/ uint16(xSetOp), uint16(PXOR),
+       /*7769*/ uint16(xReadSlashR),
+       /*7770*/ uint16(xArgXmm1),
+       /*7771*/ uint16(xArgXmm2M128),
+       /*7772*/ uint16(xMatch),
+       /*7773*/ uint16(xCondPrefix), 1,
+       0xF2, 7777,
+       /*7777*/ uint16(xSetOp), uint16(LDDQU),
+       /*7779*/ uint16(xReadSlashR),
+       /*7780*/ uint16(xArgXmm1),
+       /*7781*/ uint16(xArgM128),
+       /*7782*/ uint16(xMatch),
+       /*7783*/ uint16(xCondPrefix), 2,
+       0x66, 7795,
+       0x0, 7789,
+       /*7789*/ uint16(xSetOp), uint16(PSLLW),
+       /*7791*/ uint16(xReadSlashR),
+       /*7792*/ uint16(xArgMm),
+       /*7793*/ uint16(xArgMmM64),
+       /*7794*/ uint16(xMatch),
+       /*7795*/ uint16(xSetOp), uint16(PSLLW),
+       /*7797*/ uint16(xReadSlashR),
+       /*7798*/ uint16(xArgXmm1),
+       /*7799*/ uint16(xArgXmm2M128),
+       /*7800*/ uint16(xMatch),
+       /*7801*/ uint16(xCondPrefix), 2,
+       0x66, 7813,
+       0x0, 7807,
+       /*7807*/ uint16(xSetOp), uint16(PSLLD),
+       /*7809*/ uint16(xReadSlashR),
+       /*7810*/ uint16(xArgMm),
+       /*7811*/ uint16(xArgMmM64),
+       /*7812*/ uint16(xMatch),
+       /*7813*/ uint16(xSetOp), uint16(PSLLD),
+       /*7815*/ uint16(xReadSlashR),
+       /*7816*/ uint16(xArgXmm1),
+       /*7817*/ uint16(xArgXmm2M128),
+       /*7818*/ uint16(xMatch),
+       /*7819*/ uint16(xCondPrefix), 2,
+       0x66, 7831,
+       0x0, 7825,
+       /*7825*/ uint16(xSetOp), uint16(PSLLQ),
+       /*7827*/ uint16(xReadSlashR),
+       /*7828*/ uint16(xArgMm),
+       /*7829*/ uint16(xArgMmM64),
+       /*7830*/ uint16(xMatch),
+       /*7831*/ uint16(xSetOp), uint16(PSLLQ),
+       /*7833*/ uint16(xReadSlashR),
+       /*7834*/ uint16(xArgXmm1),
+       /*7835*/ uint16(xArgXmm2M128),
+       /*7836*/ uint16(xMatch),
+       /*7837*/ uint16(xCondPrefix), 2,
+       0x66, 7849,
+       0x0, 7843,
+       /*7843*/ uint16(xSetOp), uint16(PMULUDQ),
+       /*7845*/ uint16(xReadSlashR),
+       /*7846*/ uint16(xArgMm1),
+       /*7847*/ uint16(xArgMm2M64),
+       /*7848*/ uint16(xMatch),
+       /*7849*/ uint16(xSetOp), uint16(PMULUDQ),
+       /*7851*/ uint16(xReadSlashR),
+       /*7852*/ uint16(xArgXmm1),
+       /*7853*/ uint16(xArgXmm2M128),
+       /*7854*/ uint16(xMatch),
+       /*7855*/ uint16(xCondPrefix), 2,
+       0x66, 7867,
+       0x0, 7861,
+       /*7861*/ uint16(xSetOp), uint16(PMADDWD),
+       /*7863*/ uint16(xReadSlashR),
+       /*7864*/ uint16(xArgMm),
+       /*7865*/ uint16(xArgMmM64),
+       /*7866*/ uint16(xMatch),
+       /*7867*/ uint16(xSetOp), uint16(PMADDWD),
+       /*7869*/ uint16(xReadSlashR),
+       /*7870*/ uint16(xArgXmm1),
+       /*7871*/ uint16(xArgXmm2M128),
+       /*7872*/ uint16(xMatch),
+       /*7873*/ uint16(xCondPrefix), 2,
+       0x66, 7885,
+       0x0, 7879,
+       /*7879*/ uint16(xSetOp), uint16(PSADBW),
+       /*7881*/ uint16(xReadSlashR),
+       /*7882*/ uint16(xArgMm1),
+       /*7883*/ uint16(xArgMm2M64),
+       /*7884*/ uint16(xMatch),
+       /*7885*/ uint16(xSetOp), uint16(PSADBW),
+       /*7887*/ uint16(xReadSlashR),
+       /*7888*/ uint16(xArgXmm1),
+       /*7889*/ uint16(xArgXmm2M128),
+       /*7890*/ uint16(xMatch),
+       /*7891*/ uint16(xCondPrefix), 2,
+       0x66, 7903,
+       0x0, 7897,
+       /*7897*/ uint16(xSetOp), uint16(MASKMOVQ),
+       /*7899*/ uint16(xReadSlashR),
+       /*7900*/ uint16(xArgMm1),
+       /*7901*/ uint16(xArgMm2),
+       /*7902*/ uint16(xMatch),
+       /*7903*/ uint16(xSetOp), uint16(MASKMOVDQU),
+       /*7905*/ uint16(xReadSlashR),
+       /*7906*/ uint16(xArgXmm1),
+       /*7907*/ uint16(xArgXmm2),
+       /*7908*/ uint16(xMatch),
+       /*7909*/ uint16(xCondPrefix), 2,
+       0x66, 7921,
+       0x0, 7915,
+       /*7915*/ uint16(xSetOp), uint16(PSUBB),
+       /*7917*/ uint16(xReadSlashR),
+       /*7918*/ uint16(xArgMm),
+       /*7919*/ uint16(xArgMmM64),
+       /*7920*/ uint16(xMatch),
+       /*7921*/ uint16(xSetOp), uint16(PSUBB),
+       /*7923*/ uint16(xReadSlashR),
+       /*7924*/ uint16(xArgXmm1),
+       /*7925*/ uint16(xArgXmm2M128),
+       /*7926*/ uint16(xMatch),
+       /*7927*/ uint16(xCondPrefix), 2,
+       0x66, 7939,
+       0x0, 7933,
+       /*7933*/ uint16(xSetOp), uint16(PSUBW),
+       /*7935*/ uint16(xReadSlashR),
+       /*7936*/ uint16(xArgMm),
+       /*7937*/ uint16(xArgMmM64),
+       /*7938*/ uint16(xMatch),
+       /*7939*/ uint16(xSetOp), uint16(PSUBW),
+       /*7941*/ uint16(xReadSlashR),
+       /*7942*/ uint16(xArgXmm1),
+       /*7943*/ uint16(xArgXmm2M128),
+       /*7944*/ uint16(xMatch),
+       /*7945*/ uint16(xCondPrefix), 2,
+       0x66, 7957,
+       0x0, 7951,
+       /*7951*/ uint16(xSetOp), uint16(PSUBD),
+       /*7953*/ uint16(xReadSlashR),
+       /*7954*/ uint16(xArgMm),
+       /*7955*/ uint16(xArgMmM64),
+       /*7956*/ uint16(xMatch),
+       /*7957*/ uint16(xSetOp), uint16(PSUBD),
+       /*7959*/ uint16(xReadSlashR),
+       /*7960*/ uint16(xArgXmm1),
+       /*7961*/ uint16(xArgXmm2M128),
+       /*7962*/ uint16(xMatch),
+       /*7963*/ uint16(xCondPrefix), 2,
+       0x66, 7975,
+       0x0, 7969,
+       /*7969*/ uint16(xSetOp), uint16(PSUBQ),
+       /*7971*/ uint16(xReadSlashR),
+       /*7972*/ uint16(xArgMm1),
+       /*7973*/ uint16(xArgMm2M64),
+       /*7974*/ uint16(xMatch),
+       /*7975*/ uint16(xSetOp), uint16(PSUBQ),
+       /*7977*/ uint16(xReadSlashR),
+       /*7978*/ uint16(xArgXmm1),
+       /*7979*/ uint16(xArgXmm2M128),
+       /*7980*/ uint16(xMatch),
+       /*7981*/ uint16(xCondPrefix), 2,
+       0x66, 7993,
+       0x0, 7987,
+       /*7987*/ uint16(xSetOp), uint16(PADDB),
+       /*7989*/ uint16(xReadSlashR),
+       /*7990*/ uint16(xArgMm),
+       /*7991*/ uint16(xArgMmM64),
+       /*7992*/ uint16(xMatch),
+       /*7993*/ uint16(xSetOp), uint16(PADDB),
+       /*7995*/ uint16(xReadSlashR),
+       /*7996*/ uint16(xArgXmm1),
+       /*7997*/ uint16(xArgXmm2M128),
+       /*7998*/ uint16(xMatch),
+       /*7999*/ uint16(xCondPrefix), 2,
+       0x66, 8011,
+       0x0, 8005,
+       /*8005*/ uint16(xSetOp), uint16(PADDW),
+       /*8007*/ uint16(xReadSlashR),
+       /*8008*/ uint16(xArgMm),
+       /*8009*/ uint16(xArgMmM64),
+       /*8010*/ uint16(xMatch),
+       /*8011*/ uint16(xSetOp), uint16(PADDW),
+       /*8013*/ uint16(xReadSlashR),
+       /*8014*/ uint16(xArgXmm1),
+       /*8015*/ uint16(xArgXmm2M128),
+       /*8016*/ uint16(xMatch),
+       /*8017*/ uint16(xCondPrefix), 2,
+       0x66, 8029,
+       0x0, 8023,
+       /*8023*/ uint16(xSetOp), uint16(PADDD),
+       /*8025*/ uint16(xReadSlashR),
+       /*8026*/ uint16(xArgMm),
+       /*8027*/ uint16(xArgMmM64),
+       /*8028*/ uint16(xMatch),
+       /*8029*/ uint16(xSetOp), uint16(PADDD),
+       /*8031*/ uint16(xReadSlashR),
+       /*8032*/ uint16(xArgXmm1),
+       /*8033*/ uint16(xArgXmm2M128),
+       /*8034*/ uint16(xMatch),
+       /*8035*/ uint16(xCondDataSize), 0, 8039, 0,
+       /*8039*/ uint16(xSetOp), uint16(UD0),
        /*8041*/ uint16(xReadSlashR),
-       /*8042*/ uint16(xArgRM16),
-       /*8043*/ uint16(xArgR16),
+       /*8042*/ uint16(xArgR32),
+       /*8043*/ uint16(xArgRM32),
        /*8044*/ uint16(xMatch),
        /*8045*/ uint16(xSetOp), uint16(ADC),
        /*8047*/ uint16(xReadSlashR),
-       /*8048*/ uint16(xArgRM32),
-       /*8049*/ uint16(xArgR32),
+       /*8048*/ uint16(xArgRM8),
+       /*8049*/ uint16(xArgR8),
        /*8050*/ uint16(xMatch),
-       /*8051*/ uint16(xCondDataSize), 8039, 8045, 8055,
-       /*8055*/ uint16(xSetOp), uint16(ADC),
-       /*8057*/ uint16(xReadSlashR),
-       /*8058*/ uint16(xArgRM64),
-       /*8059*/ uint16(xArgR64),
-       /*8060*/ uint16(xMatch),
-       /*8061*/ uint16(xSetOp), uint16(ADC),
-       /*8063*/ uint16(xReadSlashR),
-       /*8064*/ uint16(xArgR8),
-       /*8065*/ uint16(xArgRM8),
-       /*8066*/ uint16(xMatch),
-       /*8067*/ uint16(xCondIs64), 8070, 8086,
-       /*8070*/ uint16(xCondDataSize), 8074, 8080, 0,
+       /*8051*/ uint16(xCondIs64), 8054, 8070,
+       /*8054*/ uint16(xCondDataSize), 8058, 8064, 0,
+       /*8058*/ uint16(xSetOp), uint16(ADC),
+       /*8060*/ uint16(xReadSlashR),
+       /*8061*/ uint16(xArgRM16),
+       /*8062*/ uint16(xArgR16),
+       /*8063*/ uint16(xMatch),
+       /*8064*/ uint16(xSetOp), uint16(ADC),
+       /*8066*/ uint16(xReadSlashR),
+       /*8067*/ uint16(xArgRM32),
+       /*8068*/ uint16(xArgR32),
+       /*8069*/ uint16(xMatch),
+       /*8070*/ uint16(xCondDataSize), 8058, 8064, 8074,
        /*8074*/ uint16(xSetOp), uint16(ADC),
        /*8076*/ uint16(xReadSlashR),
-       /*8077*/ uint16(xArgR16),
-       /*8078*/ uint16(xArgRM16),
+       /*8077*/ uint16(xArgRM64),
+       /*8078*/ uint16(xArgR64),
        /*8079*/ uint16(xMatch),
        /*8080*/ uint16(xSetOp), uint16(ADC),
        /*8082*/ uint16(xReadSlashR),
-       /*8083*/ uint16(xArgR32),
-       /*8084*/ uint16(xArgRM32),
+       /*8083*/ uint16(xArgR8),
+       /*8084*/ uint16(xArgRM8),
        /*8085*/ uint16(xMatch),
-       /*8086*/ uint16(xCondDataSize), 8074, 8080, 8090,
-       /*8090*/ uint16(xSetOp), uint16(ADC),
-       /*8092*/ uint16(xReadSlashR),
-       /*8093*/ uint16(xArgR64),
-       /*8094*/ uint16(xArgRM64),
-       /*8095*/ uint16(xMatch),
-       /*8096*/ uint16(xSetOp), uint16(ADC),
-       /*8098*/ uint16(xReadIb),
-       /*8099*/ uint16(xArgAL),
-       /*8100*/ uint16(xArgImm8u),
-       /*8101*/ uint16(xMatch),
-       /*8102*/ uint16(xCondIs64), 8105, 8121,
-       /*8105*/ uint16(xCondDataSize), 8109, 8115, 0,
+       /*8086*/ uint16(xCondIs64), 8089, 8105,
+       /*8089*/ uint16(xCondDataSize), 8093, 8099, 0,
+       /*8093*/ uint16(xSetOp), uint16(ADC),
+       /*8095*/ uint16(xReadSlashR),
+       /*8096*/ uint16(xArgR16),
+       /*8097*/ uint16(xArgRM16),
+       /*8098*/ uint16(xMatch),
+       /*8099*/ uint16(xSetOp), uint16(ADC),
+       /*8101*/ uint16(xReadSlashR),
+       /*8102*/ uint16(xArgR32),
+       /*8103*/ uint16(xArgRM32),
+       /*8104*/ uint16(xMatch),
+       /*8105*/ uint16(xCondDataSize), 8093, 8099, 8109,
        /*8109*/ uint16(xSetOp), uint16(ADC),
-       /*8111*/ uint16(xReadIw),
-       /*8112*/ uint16(xArgAX),
-       /*8113*/ uint16(xArgImm16),
+       /*8111*/ uint16(xReadSlashR),
+       /*8112*/ uint16(xArgR64),
+       /*8113*/ uint16(xArgRM64),
        /*8114*/ uint16(xMatch),
        /*8115*/ uint16(xSetOp), uint16(ADC),
-       /*8117*/ uint16(xReadId),
-       /*8118*/ uint16(xArgEAX),
-       /*8119*/ uint16(xArgImm32),
+       /*8117*/ uint16(xReadIb),
+       /*8118*/ uint16(xArgAL),
+       /*8119*/ uint16(xArgImm8u),
        /*8120*/ uint16(xMatch),
-       /*8121*/ uint16(xCondDataSize), 8109, 8115, 8125,
-       /*8125*/ uint16(xSetOp), uint16(ADC),
-       /*8127*/ uint16(xReadId),
-       /*8128*/ uint16(xArgRAX),
-       /*8129*/ uint16(xArgImm32),
-       /*8130*/ uint16(xMatch),
-       /*8131*/ uint16(xCondIs64), 8134, 0,
-       /*8134*/ uint16(xSetOp), uint16(PUSH),
-       /*8136*/ uint16(xArgSS),
-       /*8137*/ uint16(xMatch),
-       /*8138*/ uint16(xCondIs64), 8141, 0,
-       /*8141*/ uint16(xSetOp), uint16(POP),
-       /*8143*/ uint16(xArgSS),
-       /*8144*/ uint16(xMatch),
-       /*8145*/ uint16(xSetOp), uint16(SBB),
-       /*8147*/ uint16(xReadSlashR),
-       /*8148*/ uint16(xArgRM8),
-       /*8149*/ uint16(xArgR8),
-       /*8150*/ uint16(xMatch),
-       /*8151*/ uint16(xCondIs64), 8154, 8170,
-       /*8154*/ uint16(xCondDataSize), 8158, 8164, 0,
-       /*8158*/ uint16(xSetOp), uint16(SBB),
-       /*8160*/ uint16(xReadSlashR),
-       /*8161*/ uint16(xArgRM16),
-       /*8162*/ uint16(xArgR16),
+       /*8121*/ uint16(xCondIs64), 8124, 8140,
+       /*8124*/ uint16(xCondDataSize), 8128, 8134, 0,
+       /*8128*/ uint16(xSetOp), uint16(ADC),
+       /*8130*/ uint16(xReadIw),
+       /*8131*/ uint16(xArgAX),
+       /*8132*/ uint16(xArgImm16),
+       /*8133*/ uint16(xMatch),
+       /*8134*/ uint16(xSetOp), uint16(ADC),
+       /*8136*/ uint16(xReadId),
+       /*8137*/ uint16(xArgEAX),
+       /*8138*/ uint16(xArgImm32),
+       /*8139*/ uint16(xMatch),
+       /*8140*/ uint16(xCondDataSize), 8128, 8134, 8144,
+       /*8144*/ uint16(xSetOp), uint16(ADC),
+       /*8146*/ uint16(xReadId),
+       /*8147*/ uint16(xArgRAX),
+       /*8148*/ uint16(xArgImm32),
+       /*8149*/ uint16(xMatch),
+       /*8150*/ uint16(xCondIs64), 8153, 0,
+       /*8153*/ uint16(xSetOp), uint16(PUSH),
+       /*8155*/ uint16(xArgSS),
+       /*8156*/ uint16(xMatch),
+       /*8157*/ uint16(xCondIs64), 8160, 0,
+       /*8160*/ uint16(xSetOp), uint16(POP),
+       /*8162*/ uint16(xArgSS),
        /*8163*/ uint16(xMatch),
        /*8164*/ uint16(xSetOp), uint16(SBB),
        /*8166*/ uint16(xReadSlashR),
-       /*8167*/ uint16(xArgRM32),
-       /*8168*/ uint16(xArgR32),
+       /*8167*/ uint16(xArgRM8),
+       /*8168*/ uint16(xArgR8),
        /*8169*/ uint16(xMatch),
-       /*8170*/ uint16(xCondDataSize), 8158, 8164, 8174,
-       /*8174*/ uint16(xSetOp), uint16(SBB),
-       /*8176*/ uint16(xReadSlashR),
-       /*8177*/ uint16(xArgRM64),
-       /*8178*/ uint16(xArgR64),
-       /*8179*/ uint16(xMatch),
-       /*8180*/ uint16(xSetOp), uint16(SBB),
-       /*8182*/ uint16(xReadSlashR),
-       /*8183*/ uint16(xArgR8),
-       /*8184*/ uint16(xArgRM8),
-       /*8185*/ uint16(xMatch),
-       /*8186*/ uint16(xCondIs64), 8189, 8205,
-       /*8189*/ uint16(xCondDataSize), 8193, 8199, 0,
+       /*8170*/ uint16(xCondIs64), 8173, 8189,
+       /*8173*/ uint16(xCondDataSize), 8177, 8183, 0,
+       /*8177*/ uint16(xSetOp), uint16(SBB),
+       /*8179*/ uint16(xReadSlashR),
+       /*8180*/ uint16(xArgRM16),
+       /*8181*/ uint16(xArgR16),
+       /*8182*/ uint16(xMatch),
+       /*8183*/ uint16(xSetOp), uint16(SBB),
+       /*8185*/ uint16(xReadSlashR),
+       /*8186*/ uint16(xArgRM32),
+       /*8187*/ uint16(xArgR32),
+       /*8188*/ uint16(xMatch),
+       /*8189*/ uint16(xCondDataSize), 8177, 8183, 8193,
        /*8193*/ uint16(xSetOp), uint16(SBB),
        /*8195*/ uint16(xReadSlashR),
-       /*8196*/ uint16(xArgR16),
-       /*8197*/ uint16(xArgRM16),
+       /*8196*/ uint16(xArgRM64),
+       /*8197*/ uint16(xArgR64),
        /*8198*/ uint16(xMatch),
        /*8199*/ uint16(xSetOp), uint16(SBB),
        /*8201*/ uint16(xReadSlashR),
-       /*8202*/ uint16(xArgR32),
-       /*8203*/ uint16(xArgRM32),
+       /*8202*/ uint16(xArgR8),
+       /*8203*/ uint16(xArgRM8),
        /*8204*/ uint16(xMatch),
-       /*8205*/ uint16(xCondDataSize), 8193, 8199, 8209,
-       /*8209*/ uint16(xSetOp), uint16(SBB),
-       /*8211*/ uint16(xReadSlashR),
-       /*8212*/ uint16(xArgR64),
-       /*8213*/ uint16(xArgRM64),
-       /*8214*/ uint16(xMatch),
-       /*8215*/ uint16(xSetOp), uint16(SBB),
-       /*8217*/ uint16(xReadIb),
-       /*8218*/ uint16(xArgAL),
-       /*8219*/ uint16(xArgImm8u),
-       /*8220*/ uint16(xMatch),
-       /*8221*/ uint16(xCondIs64), 8224, 8240,
-       /*8224*/ uint16(xCondDataSize), 8228, 8234, 0,
+       /*8205*/ uint16(xCondIs64), 8208, 8224,
+       /*8208*/ uint16(xCondDataSize), 8212, 8218, 0,
+       /*8212*/ uint16(xSetOp), uint16(SBB),
+       /*8214*/ uint16(xReadSlashR),
+       /*8215*/ uint16(xArgR16),
+       /*8216*/ uint16(xArgRM16),
+       /*8217*/ uint16(xMatch),
+       /*8218*/ uint16(xSetOp), uint16(SBB),
+       /*8220*/ uint16(xReadSlashR),
+       /*8221*/ uint16(xArgR32),
+       /*8222*/ uint16(xArgRM32),
+       /*8223*/ uint16(xMatch),
+       /*8224*/ uint16(xCondDataSize), 8212, 8218, 8228,
        /*8228*/ uint16(xSetOp), uint16(SBB),
-       /*8230*/ uint16(xReadIw),
-       /*8231*/ uint16(xArgAX),
-       /*8232*/ uint16(xArgImm16),
+       /*8230*/ uint16(xReadSlashR),
+       /*8231*/ uint16(xArgR64),
+       /*8232*/ uint16(xArgRM64),
        /*8233*/ uint16(xMatch),
        /*8234*/ uint16(xSetOp), uint16(SBB),
-       /*8236*/ uint16(xReadId),
-       /*8237*/ uint16(xArgEAX),
-       /*8238*/ uint16(xArgImm32),
+       /*8236*/ uint16(xReadIb),
+       /*8237*/ uint16(xArgAL),
+       /*8238*/ uint16(xArgImm8u),
        /*8239*/ uint16(xMatch),
-       /*8240*/ uint16(xCondDataSize), 8228, 8234, 8244,
-       /*8244*/ uint16(xSetOp), uint16(SBB),
-       /*8246*/ uint16(xReadId),
-       /*8247*/ uint16(xArgRAX),
-       /*8248*/ uint16(xArgImm32),
-       /*8249*/ uint16(xMatch),
-       /*8250*/ uint16(xCondIs64), 8253, 0,
-       /*8253*/ uint16(xSetOp), uint16(PUSH),
-       /*8255*/ uint16(xArgDS),
-       /*8256*/ uint16(xMatch),
-       /*8257*/ uint16(xCondIs64), 8260, 0,
-       /*8260*/ uint16(xSetOp), uint16(POP),
-       /*8262*/ uint16(xArgDS),
-       /*8263*/ uint16(xMatch),
-       /*8264*/ uint16(xSetOp), uint16(AND),
-       /*8266*/ uint16(xReadSlashR),
-       /*8267*/ uint16(xArgRM8),
-       /*8268*/ uint16(xArgR8),
-       /*8269*/ uint16(xMatch),
-       /*8270*/ uint16(xCondIs64), 8273, 8289,
-       /*8273*/ uint16(xCondDataSize), 8277, 8283, 0,
-       /*8277*/ uint16(xSetOp), uint16(AND),
-       /*8279*/ uint16(xReadSlashR),
-       /*8280*/ uint16(xArgRM16),
-       /*8281*/ uint16(xArgR16),
+       /*8240*/ uint16(xCondIs64), 8243, 8259,
+       /*8243*/ uint16(xCondDataSize), 8247, 8253, 0,
+       /*8247*/ uint16(xSetOp), uint16(SBB),
+       /*8249*/ uint16(xReadIw),
+       /*8250*/ uint16(xArgAX),
+       /*8251*/ uint16(xArgImm16),
+       /*8252*/ uint16(xMatch),
+       /*8253*/ uint16(xSetOp), uint16(SBB),
+       /*8255*/ uint16(xReadId),
+       /*8256*/ uint16(xArgEAX),
+       /*8257*/ uint16(xArgImm32),
+       /*8258*/ uint16(xMatch),
+       /*8259*/ uint16(xCondDataSize), 8247, 8253, 8263,
+       /*8263*/ uint16(xSetOp), uint16(SBB),
+       /*8265*/ uint16(xReadId),
+       /*8266*/ uint16(xArgRAX),
+       /*8267*/ uint16(xArgImm32),
+       /*8268*/ uint16(xMatch),
+       /*8269*/ uint16(xCondIs64), 8272, 0,
+       /*8272*/ uint16(xSetOp), uint16(PUSH),
+       /*8274*/ uint16(xArgDS),
+       /*8275*/ uint16(xMatch),
+       /*8276*/ uint16(xCondIs64), 8279, 0,
+       /*8279*/ uint16(xSetOp), uint16(POP),
+       /*8281*/ uint16(xArgDS),
        /*8282*/ uint16(xMatch),
        /*8283*/ uint16(xSetOp), uint16(AND),
        /*8285*/ uint16(xReadSlashR),
-       /*8286*/ uint16(xArgRM32),
-       /*8287*/ uint16(xArgR32),
+       /*8286*/ uint16(xArgRM8),
+       /*8287*/ uint16(xArgR8),
        /*8288*/ uint16(xMatch),
-       /*8289*/ uint16(xCondDataSize), 8277, 8283, 8293,
-       /*8293*/ uint16(xSetOp), uint16(AND),
-       /*8295*/ uint16(xReadSlashR),
-       /*8296*/ uint16(xArgRM64),
-       /*8297*/ uint16(xArgR64),
-       /*8298*/ uint16(xMatch),
-       /*8299*/ uint16(xSetOp), uint16(AND),
-       /*8301*/ uint16(xReadSlashR),
-       /*8302*/ uint16(xArgR8),
-       /*8303*/ uint16(xArgRM8),
-       /*8304*/ uint16(xMatch),
-       /*8305*/ uint16(xCondIs64), 8308, 8324,
-       /*8308*/ uint16(xCondDataSize), 8312, 8318, 0,
+       /*8289*/ uint16(xCondIs64), 8292, 8308,
+       /*8292*/ uint16(xCondDataSize), 8296, 8302, 0,
+       /*8296*/ uint16(xSetOp), uint16(AND),
+       /*8298*/ uint16(xReadSlashR),
+       /*8299*/ uint16(xArgRM16),
+       /*8300*/ uint16(xArgR16),
+       /*8301*/ uint16(xMatch),
+       /*8302*/ uint16(xSetOp), uint16(AND),
+       /*8304*/ uint16(xReadSlashR),
+       /*8305*/ uint16(xArgRM32),
+       /*8306*/ uint16(xArgR32),
+       /*8307*/ uint16(xMatch),
+       /*8308*/ uint16(xCondDataSize), 8296, 8302, 8312,
        /*8312*/ uint16(xSetOp), uint16(AND),
        /*8314*/ uint16(xReadSlashR),
-       /*8315*/ uint16(xArgR16),
-       /*8316*/ uint16(xArgRM16),
+       /*8315*/ uint16(xArgRM64),
+       /*8316*/ uint16(xArgR64),
        /*8317*/ uint16(xMatch),
        /*8318*/ uint16(xSetOp), uint16(AND),
        /*8320*/ uint16(xReadSlashR),
-       /*8321*/ uint16(xArgR32),
-       /*8322*/ uint16(xArgRM32),
+       /*8321*/ uint16(xArgR8),
+       /*8322*/ uint16(xArgRM8),
        /*8323*/ uint16(xMatch),
-       /*8324*/ uint16(xCondDataSize), 8312, 8318, 8328,
-       /*8328*/ uint16(xSetOp), uint16(AND),
-       /*8330*/ uint16(xReadSlashR),
-       /*8331*/ uint16(xArgR64),
-       /*8332*/ uint16(xArgRM64),
-       /*8333*/ uint16(xMatch),
-       /*8334*/ uint16(xSetOp), uint16(AND),
-       /*8336*/ uint16(xReadIb),
-       /*8337*/ uint16(xArgAL),
-       /*8338*/ uint16(xArgImm8u),
-       /*8339*/ uint16(xMatch),
-       /*8340*/ uint16(xCondIs64), 8343, 8359,
-       /*8343*/ uint16(xCondDataSize), 8347, 8353, 0,
+       /*8324*/ uint16(xCondIs64), 8327, 8343,
+       /*8327*/ uint16(xCondDataSize), 8331, 8337, 0,
+       /*8331*/ uint16(xSetOp), uint16(AND),
+       /*8333*/ uint16(xReadSlashR),
+       /*8334*/ uint16(xArgR16),
+       /*8335*/ uint16(xArgRM16),
+       /*8336*/ uint16(xMatch),
+       /*8337*/ uint16(xSetOp), uint16(AND),
+       /*8339*/ uint16(xReadSlashR),
+       /*8340*/ uint16(xArgR32),
+       /*8341*/ uint16(xArgRM32),
+       /*8342*/ uint16(xMatch),
+       /*8343*/ uint16(xCondDataSize), 8331, 8337, 8347,
        /*8347*/ uint16(xSetOp), uint16(AND),
-       /*8349*/ uint16(xReadIw),
-       /*8350*/ uint16(xArgAX),
-       /*8351*/ uint16(xArgImm16),
+       /*8349*/ uint16(xReadSlashR),
+       /*8350*/ uint16(xArgR64),
+       /*8351*/ uint16(xArgRM64),
        /*8352*/ uint16(xMatch),
        /*8353*/ uint16(xSetOp), uint16(AND),
-       /*8355*/ uint16(xReadId),
-       /*8356*/ uint16(xArgEAX),
-       /*8357*/ uint16(xArgImm32),
+       /*8355*/ uint16(xReadIb),
+       /*8356*/ uint16(xArgAL),
+       /*8357*/ uint16(xArgImm8u),
        /*8358*/ uint16(xMatch),
-       /*8359*/ uint16(xCondDataSize), 8347, 8353, 8363,
-       /*8363*/ uint16(xSetOp), uint16(AND),
-       /*8365*/ uint16(xReadId),
-       /*8366*/ uint16(xArgRAX),
-       /*8367*/ uint16(xArgImm32),
-       /*8368*/ uint16(xMatch),
-       /*8369*/ uint16(xCondIs64), 8372, 0,
-       /*8372*/ uint16(xSetOp), uint16(DAA),
-       /*8374*/ uint16(xMatch),
-       /*8375*/ uint16(xSetOp), uint16(SUB),
-       /*8377*/ uint16(xReadSlashR),
-       /*8378*/ uint16(xArgRM8),
-       /*8379*/ uint16(xArgR8),
-       /*8380*/ uint16(xMatch),
-       /*8381*/ uint16(xCondIs64), 8384, 8400,
-       /*8384*/ uint16(xCondDataSize), 8388, 8394, 0,
-       /*8388*/ uint16(xSetOp), uint16(SUB),
-       /*8390*/ uint16(xReadSlashR),
-       /*8391*/ uint16(xArgRM16),
-       /*8392*/ uint16(xArgR16),
+       /*8359*/ uint16(xCondIs64), 8362, 8378,
+       /*8362*/ uint16(xCondDataSize), 8366, 8372, 0,
+       /*8366*/ uint16(xSetOp), uint16(AND),
+       /*8368*/ uint16(xReadIw),
+       /*8369*/ uint16(xArgAX),
+       /*8370*/ uint16(xArgImm16),
+       /*8371*/ uint16(xMatch),
+       /*8372*/ uint16(xSetOp), uint16(AND),
+       /*8374*/ uint16(xReadId),
+       /*8375*/ uint16(xArgEAX),
+       /*8376*/ uint16(xArgImm32),
+       /*8377*/ uint16(xMatch),
+       /*8378*/ uint16(xCondDataSize), 8366, 8372, 8382,
+       /*8382*/ uint16(xSetOp), uint16(AND),
+       /*8384*/ uint16(xReadId),
+       /*8385*/ uint16(xArgRAX),
+       /*8386*/ uint16(xArgImm32),
+       /*8387*/ uint16(xMatch),
+       /*8388*/ uint16(xCondIs64), 8391, 0,
+       /*8391*/ uint16(xSetOp), uint16(DAA),
        /*8393*/ uint16(xMatch),
        /*8394*/ uint16(xSetOp), uint16(SUB),
        /*8396*/ uint16(xReadSlashR),
-       /*8397*/ uint16(xArgRM32),
-       /*8398*/ uint16(xArgR32),
+       /*8397*/ uint16(xArgRM8),
+       /*8398*/ uint16(xArgR8),
        /*8399*/ uint16(xMatch),
-       /*8400*/ uint16(xCondDataSize), 8388, 8394, 8404,
-       /*8404*/ uint16(xSetOp), uint16(SUB),
-       /*8406*/ uint16(xReadSlashR),
-       /*8407*/ uint16(xArgRM64),
-       /*8408*/ uint16(xArgR64),
-       /*8409*/ uint16(xMatch),
-       /*8410*/ uint16(xCondPrefix), 3,
-       0xC5, 8438,
-       0xC4, 8424,
-       0x0, 8418,
-       /*8418*/ uint16(xSetOp), uint16(SUB),
-       /*8420*/ uint16(xReadSlashR),
-       /*8421*/ uint16(xArgR8),
-       /*8422*/ uint16(xArgRM8),
-       /*8423*/ uint16(xMatch),
-       /*8424*/ uint16(xCondPrefix), 1,
-       0x66, 8428,
-       /*8428*/ uint16(xCondPrefix), 1,
-       0x0F38, 8432,
-       /*8432*/ uint16(xSetOp), uint16(VMOVNTDQA),
-       /*8434*/ uint16(xReadSlashR),
-       /*8435*/ uint16(xArgYmm1),
-       /*8436*/ uint16(xArgM256),
-       /*8437*/ uint16(xMatch),
-       /*8438*/ uint16(xCondPrefix), 1,
-       0x66, 8442,
-       /*8442*/ uint16(xCondPrefix), 1,
-       0x0F38, 8446,
-       /*8446*/ uint16(xSetOp), uint16(VMOVNTDQA),
-       /*8448*/ uint16(xReadSlashR),
-       /*8449*/ uint16(xArgYmm1),
-       /*8450*/ uint16(xArgM256),
-       /*8451*/ uint16(xMatch),
-       /*8452*/ uint16(xCondIs64), 8455, 8471,
-       /*8455*/ uint16(xCondDataSize), 8459, 8465, 0,
-       /*8459*/ uint16(xSetOp), uint16(SUB),
-       /*8461*/ uint16(xReadSlashR),
-       /*8462*/ uint16(xArgR16),
-       /*8463*/ uint16(xArgRM16),
-       /*8464*/ uint16(xMatch),
-       /*8465*/ uint16(xSetOp), uint16(SUB),
+       /*8400*/ uint16(xCondIs64), 8403, 8419,
+       /*8403*/ uint16(xCondDataSize), 8407, 8413, 0,
+       /*8407*/ uint16(xSetOp), uint16(SUB),
+       /*8409*/ uint16(xReadSlashR),
+       /*8410*/ uint16(xArgRM16),
+       /*8411*/ uint16(xArgR16),
+       /*8412*/ uint16(xMatch),
+       /*8413*/ uint16(xSetOp), uint16(SUB),
+       /*8415*/ uint16(xReadSlashR),
+       /*8416*/ uint16(xArgRM32),
+       /*8417*/ uint16(xArgR32),
+       /*8418*/ uint16(xMatch),
+       /*8419*/ uint16(xCondDataSize), 8407, 8413, 8423,
+       /*8423*/ uint16(xSetOp), uint16(SUB),
+       /*8425*/ uint16(xReadSlashR),
+       /*8426*/ uint16(xArgRM64),
+       /*8427*/ uint16(xArgR64),
+       /*8428*/ uint16(xMatch),
+       /*8429*/ uint16(xCondPrefix), 3,
+       0xC5, 8457,
+       0xC4, 8443,
+       0x0, 8437,
+       /*8437*/ uint16(xSetOp), uint16(SUB),
+       /*8439*/ uint16(xReadSlashR),
+       /*8440*/ uint16(xArgR8),
+       /*8441*/ uint16(xArgRM8),
+       /*8442*/ uint16(xMatch),
+       /*8443*/ uint16(xCondPrefix), 1,
+       0x66, 8447,
+       /*8447*/ uint16(xCondPrefix), 1,
+       0x0F38, 8451,
+       /*8451*/ uint16(xSetOp), uint16(VMOVNTDQA),
+       /*8453*/ uint16(xReadSlashR),
+       /*8454*/ uint16(xArgYmm1),
+       /*8455*/ uint16(xArgM256),
+       /*8456*/ uint16(xMatch),
+       /*8457*/ uint16(xCondPrefix), 1,
+       0x66, 8461,
+       /*8461*/ uint16(xCondPrefix), 1,
+       0x0F38, 8465,
+       /*8465*/ uint16(xSetOp), uint16(VMOVNTDQA),
        /*8467*/ uint16(xReadSlashR),
-       /*8468*/ uint16(xArgR32),
-       /*8469*/ uint16(xArgRM32),
+       /*8468*/ uint16(xArgYmm1),
+       /*8469*/ uint16(xArgM256),
        /*8470*/ uint16(xMatch),
-       /*8471*/ uint16(xCondDataSize), 8459, 8465, 8475,
-       /*8475*/ uint16(xSetOp), uint16(SUB),
-       /*8477*/ uint16(xReadSlashR),
-       /*8478*/ uint16(xArgR64),
-       /*8479*/ uint16(xArgRM64),
-       /*8480*/ uint16(xMatch),
-       /*8481*/ uint16(xSetOp), uint16(SUB),
-       /*8483*/ uint16(xReadIb),
-       /*8484*/ uint16(xArgAL),
-       /*8485*/ uint16(xArgImm8u),
-       /*8486*/ uint16(xMatch),
-       /*8487*/ uint16(xCondIs64), 8490, 8506,
-       /*8490*/ uint16(xCondDataSize), 8494, 8500, 0,
+       /*8471*/ uint16(xCondIs64), 8474, 8490,
+       /*8474*/ uint16(xCondDataSize), 8478, 8484, 0,
+       /*8478*/ uint16(xSetOp), uint16(SUB),
+       /*8480*/ uint16(xReadSlashR),
+       /*8481*/ uint16(xArgR16),
+       /*8482*/ uint16(xArgRM16),
+       /*8483*/ uint16(xMatch),
+       /*8484*/ uint16(xSetOp), uint16(SUB),
+       /*8486*/ uint16(xReadSlashR),
+       /*8487*/ uint16(xArgR32),
+       /*8488*/ uint16(xArgRM32),
+       /*8489*/ uint16(xMatch),
+       /*8490*/ uint16(xCondDataSize), 8478, 8484, 8494,
        /*8494*/ uint16(xSetOp), uint16(SUB),
-       /*8496*/ uint16(xReadIw),
-       /*8497*/ uint16(xArgAX),
-       /*8498*/ uint16(xArgImm16),
+       /*8496*/ uint16(xReadSlashR),
+       /*8497*/ uint16(xArgR64),
+       /*8498*/ uint16(xArgRM64),
        /*8499*/ uint16(xMatch),
        /*8500*/ uint16(xSetOp), uint16(SUB),
-       /*8502*/ uint16(xReadId),
-       /*8503*/ uint16(xArgEAX),
-       /*8504*/ uint16(xArgImm32),
+       /*8502*/ uint16(xReadIb),
+       /*8503*/ uint16(xArgAL),
+       /*8504*/ uint16(xArgImm8u),
        /*8505*/ uint16(xMatch),
-       /*8506*/ uint16(xCondDataSize), 8494, 8500, 8510,
-       /*8510*/ uint16(xSetOp), uint16(SUB),
-       /*8512*/ uint16(xReadId),
-       /*8513*/ uint16(xArgRAX),
-       /*8514*/ uint16(xArgImm32),
-       /*8515*/ uint16(xMatch),
-       /*8516*/ uint16(xCondIs64), 8519, 0,
-       /*8519*/ uint16(xSetOp), uint16(DAS),
-       /*8521*/ uint16(xMatch),
-       /*8522*/ uint16(xSetOp), uint16(XOR),
-       /*8524*/ uint16(xReadSlashR),
-       /*8525*/ uint16(xArgRM8),
-       /*8526*/ uint16(xArgR8),
-       /*8527*/ uint16(xMatch),
-       /*8528*/ uint16(xCondIs64), 8531, 8547,
-       /*8531*/ uint16(xCondDataSize), 8535, 8541, 0,
-       /*8535*/ uint16(xSetOp), uint16(XOR),
-       /*8537*/ uint16(xReadSlashR),
-       /*8538*/ uint16(xArgRM16),
-       /*8539*/ uint16(xArgR16),
+       /*8506*/ uint16(xCondIs64), 8509, 8525,
+       /*8509*/ uint16(xCondDataSize), 8513, 8519, 0,
+       /*8513*/ uint16(xSetOp), uint16(SUB),
+       /*8515*/ uint16(xReadIw),
+       /*8516*/ uint16(xArgAX),
+       /*8517*/ uint16(xArgImm16),
+       /*8518*/ uint16(xMatch),
+       /*8519*/ uint16(xSetOp), uint16(SUB),
+       /*8521*/ uint16(xReadId),
+       /*8522*/ uint16(xArgEAX),
+       /*8523*/ uint16(xArgImm32),
+       /*8524*/ uint16(xMatch),
+       /*8525*/ uint16(xCondDataSize), 8513, 8519, 8529,
+       /*8529*/ uint16(xSetOp), uint16(SUB),
+       /*8531*/ uint16(xReadId),
+       /*8532*/ uint16(xArgRAX),
+       /*8533*/ uint16(xArgImm32),
+       /*8534*/ uint16(xMatch),
+       /*8535*/ uint16(xCondIs64), 8538, 0,
+       /*8538*/ uint16(xSetOp), uint16(DAS),
        /*8540*/ uint16(xMatch),
        /*8541*/ uint16(xSetOp), uint16(XOR),
        /*8543*/ uint16(xReadSlashR),
-       /*8544*/ uint16(xArgRM32),
-       /*8545*/ uint16(xArgR32),
+       /*8544*/ uint16(xArgRM8),
+       /*8545*/ uint16(xArgR8),
        /*8546*/ uint16(xMatch),
-       /*8547*/ uint16(xCondDataSize), 8535, 8541, 8551,
-       /*8551*/ uint16(xSetOp), uint16(XOR),
-       /*8553*/ uint16(xReadSlashR),
-       /*8554*/ uint16(xArgRM64),
-       /*8555*/ uint16(xArgR64),
-       /*8556*/ uint16(xMatch),
-       /*8557*/ uint16(xSetOp), uint16(XOR),
-       /*8559*/ uint16(xReadSlashR),
-       /*8560*/ uint16(xArgR8),
-       /*8561*/ uint16(xArgRM8),
-       /*8562*/ uint16(xMatch),
-       /*8563*/ uint16(xCondIs64), 8566, 8582,
-       /*8566*/ uint16(xCondDataSize), 8570, 8576, 0,
+       /*8547*/ uint16(xCondIs64), 8550, 8566,
+       /*8550*/ uint16(xCondDataSize), 8554, 8560, 0,
+       /*8554*/ uint16(xSetOp), uint16(XOR),
+       /*8556*/ uint16(xReadSlashR),
+       /*8557*/ uint16(xArgRM16),
+       /*8558*/ uint16(xArgR16),
+       /*8559*/ uint16(xMatch),
+       /*8560*/ uint16(xSetOp), uint16(XOR),
+       /*8562*/ uint16(xReadSlashR),
+       /*8563*/ uint16(xArgRM32),
+       /*8564*/ uint16(xArgR32),
+       /*8565*/ uint16(xMatch),
+       /*8566*/ uint16(xCondDataSize), 8554, 8560, 8570,
        /*8570*/ uint16(xSetOp), uint16(XOR),
        /*8572*/ uint16(xReadSlashR),
-       /*8573*/ uint16(xArgR16),
-       /*8574*/ uint16(xArgRM16),
+       /*8573*/ uint16(xArgRM64),
+       /*8574*/ uint16(xArgR64),
        /*8575*/ uint16(xMatch),
        /*8576*/ uint16(xSetOp), uint16(XOR),
        /*8578*/ uint16(xReadSlashR),
-       /*8579*/ uint16(xArgR32),
-       /*8580*/ uint16(xArgRM32),
+       /*8579*/ uint16(xArgR8),
+       /*8580*/ uint16(xArgRM8),
        /*8581*/ uint16(xMatch),
-       /*8582*/ uint16(xCondDataSize), 8570, 8576, 8586,
-       /*8586*/ uint16(xSetOp), uint16(XOR),
-       /*8588*/ uint16(xReadSlashR),
-       /*8589*/ uint16(xArgR64),
-       /*8590*/ uint16(xArgRM64),
-       /*8591*/ uint16(xMatch),
-       /*8592*/ uint16(xSetOp), uint16(XOR),
-       /*8594*/ uint16(xReadIb),
-       /*8595*/ uint16(xArgAL),
-       /*8596*/ uint16(xArgImm8u),
-       /*8597*/ uint16(xMatch),
-       /*8598*/ uint16(xCondIs64), 8601, 8617,
-       /*8601*/ uint16(xCondDataSize), 8605, 8611, 0,
+       /*8582*/ uint16(xCondIs64), 8585, 8601,
+       /*8585*/ uint16(xCondDataSize), 8589, 8595, 0,
+       /*8589*/ uint16(xSetOp), uint16(XOR),
+       /*8591*/ uint16(xReadSlashR),
+       /*8592*/ uint16(xArgR16),
+       /*8593*/ uint16(xArgRM16),
+       /*8594*/ uint16(xMatch),
+       /*8595*/ uint16(xSetOp), uint16(XOR),
+       /*8597*/ uint16(xReadSlashR),
+       /*8598*/ uint16(xArgR32),
+       /*8599*/ uint16(xArgRM32),
+       /*8600*/ uint16(xMatch),
+       /*8601*/ uint16(xCondDataSize), 8589, 8595, 8605,
        /*8605*/ uint16(xSetOp), uint16(XOR),
-       /*8607*/ uint16(xReadIw),
-       /*8608*/ uint16(xArgAX),
-       /*8609*/ uint16(xArgImm16),
+       /*8607*/ uint16(xReadSlashR),
+       /*8608*/ uint16(xArgR64),
+       /*8609*/ uint16(xArgRM64),
        /*8610*/ uint16(xMatch),
        /*8611*/ uint16(xSetOp), uint16(XOR),
-       /*8613*/ uint16(xReadId),
-       /*8614*/ uint16(xArgEAX),
-       /*8615*/ uint16(xArgImm32),
+       /*8613*/ uint16(xReadIb),
+       /*8614*/ uint16(xArgAL),
+       /*8615*/ uint16(xArgImm8u),
        /*8616*/ uint16(xMatch),
-       /*8617*/ uint16(xCondDataSize), 8605, 8611, 8621,
-       /*8621*/ uint16(xSetOp), uint16(XOR),
-       /*8623*/ uint16(xReadId),
-       /*8624*/ uint16(xArgRAX),
-       /*8625*/ uint16(xArgImm32),
-       /*8626*/ uint16(xMatch),
-       /*8627*/ uint16(xCondIs64), 8630, 0,
-       /*8630*/ uint16(xSetOp), uint16(AAA),
-       /*8632*/ uint16(xMatch),
-       /*8633*/ uint16(xSetOp), uint16(CMP),
-       /*8635*/ uint16(xReadSlashR),
-       /*8636*/ uint16(xArgRM8),
-       /*8637*/ uint16(xArgR8),
-       /*8638*/ uint16(xMatch),
-       /*8639*/ uint16(xCondIs64), 8642, 8658,
-       /*8642*/ uint16(xCondDataSize), 8646, 8652, 0,
-       /*8646*/ uint16(xSetOp), uint16(CMP),
-       /*8648*/ uint16(xReadSlashR),
-       /*8649*/ uint16(xArgRM16),
-       /*8650*/ uint16(xArgR16),
+       /*8617*/ uint16(xCondIs64), 8620, 8636,
+       /*8620*/ uint16(xCondDataSize), 8624, 8630, 0,
+       /*8624*/ uint16(xSetOp), uint16(XOR),
+       /*8626*/ uint16(xReadIw),
+       /*8627*/ uint16(xArgAX),
+       /*8628*/ uint16(xArgImm16),
+       /*8629*/ uint16(xMatch),
+       /*8630*/ uint16(xSetOp), uint16(XOR),
+       /*8632*/ uint16(xReadId),
+       /*8633*/ uint16(xArgEAX),
+       /*8634*/ uint16(xArgImm32),
+       /*8635*/ uint16(xMatch),
+       /*8636*/ uint16(xCondDataSize), 8624, 8630, 8640,
+       /*8640*/ uint16(xSetOp), uint16(XOR),
+       /*8642*/ uint16(xReadId),
+       /*8643*/ uint16(xArgRAX),
+       /*8644*/ uint16(xArgImm32),
+       /*8645*/ uint16(xMatch),
+       /*8646*/ uint16(xCondIs64), 8649, 0,
+       /*8649*/ uint16(xSetOp), uint16(AAA),
        /*8651*/ uint16(xMatch),
        /*8652*/ uint16(xSetOp), uint16(CMP),
        /*8654*/ uint16(xReadSlashR),
-       /*8655*/ uint16(xArgRM32),
-       /*8656*/ uint16(xArgR32),
+       /*8655*/ uint16(xArgRM8),
+       /*8656*/ uint16(xArgR8),
        /*8657*/ uint16(xMatch),
-       /*8658*/ uint16(xCondDataSize), 8646, 8652, 8662,
-       /*8662*/ uint16(xSetOp), uint16(CMP),
-       /*8664*/ uint16(xReadSlashR),
-       /*8665*/ uint16(xArgRM64),
-       /*8666*/ uint16(xArgR64),
-       /*8667*/ uint16(xMatch),
-       /*8668*/ uint16(xSetOp), uint16(CMP),
-       /*8670*/ uint16(xReadSlashR),
-       /*8671*/ uint16(xArgR8),
-       /*8672*/ uint16(xArgRM8),
-       /*8673*/ uint16(xMatch),
-       /*8674*/ uint16(xCondIs64), 8677, 8693,
-       /*8677*/ uint16(xCondDataSize), 8681, 8687, 0,
+       /*8658*/ uint16(xCondIs64), 8661, 8677,
+       /*8661*/ uint16(xCondDataSize), 8665, 8671, 0,
+       /*8665*/ uint16(xSetOp), uint16(CMP),
+       /*8667*/ uint16(xReadSlashR),
+       /*8668*/ uint16(xArgRM16),
+       /*8669*/ uint16(xArgR16),
+       /*8670*/ uint16(xMatch),
+       /*8671*/ uint16(xSetOp), uint16(CMP),
+       /*8673*/ uint16(xReadSlashR),
+       /*8674*/ uint16(xArgRM32),
+       /*8675*/ uint16(xArgR32),
+       /*8676*/ uint16(xMatch),
+       /*8677*/ uint16(xCondDataSize), 8665, 8671, 8681,
        /*8681*/ uint16(xSetOp), uint16(CMP),
        /*8683*/ uint16(xReadSlashR),
-       /*8684*/ uint16(xArgR16),
-       /*8685*/ uint16(xArgRM16),
+       /*8684*/ uint16(xArgRM64),
+       /*8685*/ uint16(xArgR64),
        /*8686*/ uint16(xMatch),
        /*8687*/ uint16(xSetOp), uint16(CMP),
        /*8689*/ uint16(xReadSlashR),
-       /*8690*/ uint16(xArgR32),
-       /*8691*/ uint16(xArgRM32),
+       /*8690*/ uint16(xArgR8),
+       /*8691*/ uint16(xArgRM8),
        /*8692*/ uint16(xMatch),
-       /*8693*/ uint16(xCondDataSize), 8681, 8687, 8697,
-       /*8697*/ uint16(xSetOp), uint16(CMP),
-       /*8699*/ uint16(xReadSlashR),
-       /*8700*/ uint16(xArgR64),
-       /*8701*/ uint16(xArgRM64),
-       /*8702*/ uint16(xMatch),
-       /*8703*/ uint16(xSetOp), uint16(CMP),
-       /*8705*/ uint16(xReadIb),
-       /*8706*/ uint16(xArgAL),
-       /*8707*/ uint16(xArgImm8u),
-       /*8708*/ uint16(xMatch),
-       /*8709*/ uint16(xCondIs64), 8712, 8728,
-       /*8712*/ uint16(xCondDataSize), 8716, 8722, 0,
+       /*8693*/ uint16(xCondIs64), 8696, 8712,
+       /*8696*/ uint16(xCondDataSize), 8700, 8706, 0,
+       /*8700*/ uint16(xSetOp), uint16(CMP),
+       /*8702*/ uint16(xReadSlashR),
+       /*8703*/ uint16(xArgR16),
+       /*8704*/ uint16(xArgRM16),
+       /*8705*/ uint16(xMatch),
+       /*8706*/ uint16(xSetOp), uint16(CMP),
+       /*8708*/ uint16(xReadSlashR),
+       /*8709*/ uint16(xArgR32),
+       /*8710*/ uint16(xArgRM32),
+       /*8711*/ uint16(xMatch),
+       /*8712*/ uint16(xCondDataSize), 8700, 8706, 8716,
        /*8716*/ uint16(xSetOp), uint16(CMP),
-       /*8718*/ uint16(xReadIw),
-       /*8719*/ uint16(xArgAX),
-       /*8720*/ uint16(xArgImm16),
+       /*8718*/ uint16(xReadSlashR),
+       /*8719*/ uint16(xArgR64),
+       /*8720*/ uint16(xArgRM64),
        /*8721*/ uint16(xMatch),
        /*8722*/ uint16(xSetOp), uint16(CMP),
-       /*8724*/ uint16(xReadId),
-       /*8725*/ uint16(xArgEAX),
-       /*8726*/ uint16(xArgImm32),
+       /*8724*/ uint16(xReadIb),
+       /*8725*/ uint16(xArgAL),
+       /*8726*/ uint16(xArgImm8u),
        /*8727*/ uint16(xMatch),
-       /*8728*/ uint16(xCondDataSize), 8716, 8722, 8732,
-       /*8732*/ uint16(xSetOp), uint16(CMP),
-       /*8734*/ uint16(xReadId),
-       /*8735*/ uint16(xArgRAX),
-       /*8736*/ uint16(xArgImm32),
-       /*8737*/ uint16(xMatch),
-       /*8738*/ uint16(xCondIs64), 8741, 0,
-       /*8741*/ uint16(xSetOp), uint16(AAS),
-       /*8743*/ uint16(xMatch),
-       /*8744*/ uint16(xCondIs64), 8747, 0,
-       /*8747*/ uint16(xCondDataSize), 8751, 8755, 0,
-       /*8751*/ uint16(xSetOp), uint16(INC),
-       /*8753*/ uint16(xArgR16op),
-       /*8754*/ uint16(xMatch),
-       /*8755*/ uint16(xSetOp), uint16(INC),
-       /*8757*/ uint16(xArgR32op),
-       /*8758*/ uint16(xMatch),
-       /*8759*/ uint16(xCondIs64), 8762, 0,
-       /*8762*/ uint16(xCondDataSize), 8766, 8770, 0,
-       /*8766*/ uint16(xSetOp), uint16(DEC),
-       /*8768*/ uint16(xArgR16op),
-       /*8769*/ uint16(xMatch),
-       /*8770*/ uint16(xSetOp), uint16(DEC),
-       /*8772*/ uint16(xArgR32op),
+       /*8728*/ uint16(xCondIs64), 8731, 8747,
+       /*8731*/ uint16(xCondDataSize), 8735, 8741, 0,
+       /*8735*/ uint16(xSetOp), uint16(CMP),
+       /*8737*/ uint16(xReadIw),
+       /*8738*/ uint16(xArgAX),
+       /*8739*/ uint16(xArgImm16),
+       /*8740*/ uint16(xMatch),
+       /*8741*/ uint16(xSetOp), uint16(CMP),
+       /*8743*/ uint16(xReadId),
+       /*8744*/ uint16(xArgEAX),
+       /*8745*/ uint16(xArgImm32),
+       /*8746*/ uint16(xMatch),
+       /*8747*/ uint16(xCondDataSize), 8735, 8741, 8751,
+       /*8751*/ uint16(xSetOp), uint16(CMP),
+       /*8753*/ uint16(xReadId),
+       /*8754*/ uint16(xArgRAX),
+       /*8755*/ uint16(xArgImm32),
+       /*8756*/ uint16(xMatch),
+       /*8757*/ uint16(xCondIs64), 8760, 0,
+       /*8760*/ uint16(xSetOp), uint16(AAS),
+       /*8762*/ uint16(xMatch),
+       /*8763*/ uint16(xCondIs64), 8766, 0,
+       /*8766*/ uint16(xCondDataSize), 8770, 8774, 0,
+       /*8770*/ uint16(xSetOp), uint16(INC),
+       /*8772*/ uint16(xArgR16op),
        /*8773*/ uint16(xMatch),
-       /*8774*/ uint16(xCondIs64), 8777, 8789,
-       /*8777*/ uint16(xCondDataSize), 8781, 8785, 0,
-       /*8781*/ uint16(xSetOp), uint16(PUSH),
-       /*8783*/ uint16(xArgR16op),
-       /*8784*/ uint16(xMatch),
-       /*8785*/ uint16(xSetOp), uint16(PUSH),
-       /*8787*/ uint16(xArgR32op),
+       /*8774*/ uint16(xSetOp), uint16(INC),
+       /*8776*/ uint16(xArgR32op),
+       /*8777*/ uint16(xMatch),
+       /*8778*/ uint16(xCondIs64), 8781, 0,
+       /*8781*/ uint16(xCondDataSize), 8785, 8789, 0,
+       /*8785*/ uint16(xSetOp), uint16(DEC),
+       /*8787*/ uint16(xArgR16op),
        /*8788*/ uint16(xMatch),
-       /*8789*/ uint16(xCondDataSize), 8781, 8793, 8797,
-       /*8793*/ uint16(xSetOp), uint16(PUSH),
-       /*8795*/ uint16(xArgR64op),
-       /*8796*/ uint16(xMatch),
-       /*8797*/ uint16(xSetOp), uint16(PUSH),
-       /*8799*/ uint16(xArgR64op),
-       /*8800*/ uint16(xMatch),
-       /*8801*/ uint16(xCondIs64), 8804, 8816,
-       /*8804*/ uint16(xCondDataSize), 8808, 8812, 0,
-       /*8808*/ uint16(xSetOp), uint16(POP),
-       /*8810*/ uint16(xArgR16op),
-       /*8811*/ uint16(xMatch),
-       /*8812*/ uint16(xSetOp), uint16(POP),
-       /*8814*/ uint16(xArgR32op),
+       /*8789*/ uint16(xSetOp), uint16(DEC),
+       /*8791*/ uint16(xArgR32op),
+       /*8792*/ uint16(xMatch),
+       /*8793*/ uint16(xCondIs64), 8796, 8808,
+       /*8796*/ uint16(xCondDataSize), 8800, 8804, 0,
+       /*8800*/ uint16(xSetOp), uint16(PUSH),
+       /*8802*/ uint16(xArgR16op),
+       /*8803*/ uint16(xMatch),
+       /*8804*/ uint16(xSetOp), uint16(PUSH),
+       /*8806*/ uint16(xArgR32op),
+       /*8807*/ uint16(xMatch),
+       /*8808*/ uint16(xCondDataSize), 8800, 8812, 8816,
+       /*8812*/ uint16(xSetOp), uint16(PUSH),
+       /*8814*/ uint16(xArgR64op),
        /*8815*/ uint16(xMatch),
-       /*8816*/ uint16(xCondDataSize), 8808, 8820, 8824,
-       /*8820*/ uint16(xSetOp), uint16(POP),
-       /*8822*/ uint16(xArgR64op),
-       /*8823*/ uint16(xMatch),
-       /*8824*/ uint16(xSetOp), uint16(POP),
-       /*8826*/ uint16(xArgR64op),
-       /*8827*/ uint16(xMatch),
-       /*8828*/ uint16(xCondIs64), 8831, 0,
-       /*8831*/ uint16(xCondDataSize), 8835, 8838, 0,
-       /*8835*/ uint16(xSetOp), uint16(PUSHA),
-       /*8837*/ uint16(xMatch),
-       /*8838*/ uint16(xSetOp), uint16(PUSHAD),
-       /*8840*/ uint16(xMatch),
-       /*8841*/ uint16(xCondIs64), 8844, 0,
-       /*8844*/ uint16(xCondDataSize), 8848, 8851, 0,
-       /*8848*/ uint16(xSetOp), uint16(POPA),
-       /*8850*/ uint16(xMatch),
-       /*8851*/ uint16(xSetOp), uint16(POPAD),
-       /*8853*/ uint16(xMatch),
-       /*8854*/ uint16(xCondIs64), 8857, 0,
-       /*8857*/ uint16(xCondDataSize), 8861, 8867, 0,
-       /*8861*/ uint16(xSetOp), uint16(BOUND),
-       /*8863*/ uint16(xReadSlashR),
-       /*8864*/ uint16(xArgR16),
-       /*8865*/ uint16(xArgM16and16),
-       /*8866*/ uint16(xMatch),
-       /*8867*/ uint16(xSetOp), uint16(BOUND),
-       /*8869*/ uint16(xReadSlashR),
-       /*8870*/ uint16(xArgR32),
-       /*8871*/ uint16(xArgM32and32),
+       /*8816*/ uint16(xSetOp), uint16(PUSH),
+       /*8818*/ uint16(xArgR64op),
+       /*8819*/ uint16(xMatch),
+       /*8820*/ uint16(xCondIs64), 8823, 8835,
+       /*8823*/ uint16(xCondDataSize), 8827, 8831, 0,
+       /*8827*/ uint16(xSetOp), uint16(POP),
+       /*8829*/ uint16(xArgR16op),
+       /*8830*/ uint16(xMatch),
+       /*8831*/ uint16(xSetOp), uint16(POP),
+       /*8833*/ uint16(xArgR32op),
+       /*8834*/ uint16(xMatch),
+       /*8835*/ uint16(xCondDataSize), 8827, 8839, 8843,
+       /*8839*/ uint16(xSetOp), uint16(POP),
+       /*8841*/ uint16(xArgR64op),
+       /*8842*/ uint16(xMatch),
+       /*8843*/ uint16(xSetOp), uint16(POP),
+       /*8845*/ uint16(xArgR64op),
+       /*8846*/ uint16(xMatch),
+       /*8847*/ uint16(xCondIs64), 8850, 0,
+       /*8850*/ uint16(xCondDataSize), 8854, 8857, 0,
+       /*8854*/ uint16(xSetOp), uint16(PUSHA),
+       /*8856*/ uint16(xMatch),
+       /*8857*/ uint16(xSetOp), uint16(PUSHAD),
+       /*8859*/ uint16(xMatch),
+       /*8860*/ uint16(xCondIs64), 8863, 0,
+       /*8863*/ uint16(xCondDataSize), 8867, 8870, 0,
+       /*8867*/ uint16(xSetOp), uint16(POPA),
+       /*8869*/ uint16(xMatch),
+       /*8870*/ uint16(xSetOp), uint16(POPAD),
        /*8872*/ uint16(xMatch),
-       /*8873*/ uint16(xCondIs64), 8876, 8882,
-       /*8876*/ uint16(xSetOp), uint16(ARPL),
-       /*8878*/ uint16(xReadSlashR),
-       /*8879*/ uint16(xArgRM16),
-       /*8880*/ uint16(xArgR16),
-       /*8881*/ uint16(xMatch),
-       /*8882*/ uint16(xCondDataSize), 8886, 8892, 8898,
-       /*8886*/ uint16(xSetOp), uint16(MOVSXD),
+       /*8873*/ uint16(xCondIs64), 8876, 0,
+       /*8876*/ uint16(xCondDataSize), 8880, 8886, 0,
+       /*8880*/ uint16(xSetOp), uint16(BOUND),
+       /*8882*/ uint16(xReadSlashR),
+       /*8883*/ uint16(xArgR16),
+       /*8884*/ uint16(xArgM16and16),
+       /*8885*/ uint16(xMatch),
+       /*8886*/ uint16(xSetOp), uint16(BOUND),
        /*8888*/ uint16(xReadSlashR),
-       /*8889*/ uint16(xArgR16),
-       /*8890*/ uint16(xArgRM32),
+       /*8889*/ uint16(xArgR32),
+       /*8890*/ uint16(xArgM32and32),
        /*8891*/ uint16(xMatch),
-       /*8892*/ uint16(xSetOp), uint16(MOVSXD),
-       /*8894*/ uint16(xReadSlashR),
-       /*8895*/ uint16(xArgR32),
-       /*8896*/ uint16(xArgRM32),
-       /*8897*/ uint16(xMatch),
-       /*8898*/ uint16(xSetOp), uint16(MOVSXD),
-       /*8900*/ uint16(xReadSlashR),
-       /*8901*/ uint16(xArgR64),
-       /*8902*/ uint16(xArgRM32),
-       /*8903*/ uint16(xMatch),
-       /*8904*/ uint16(xCondDataSize), 8908, 8913, 8918,
-       /*8908*/ uint16(xSetOp), uint16(PUSH),
-       /*8910*/ uint16(xReadIw),
-       /*8911*/ uint16(xArgImm16),
-       /*8912*/ uint16(xMatch),
-       /*8913*/ uint16(xSetOp), uint16(PUSH),
-       /*8915*/ uint16(xReadId),
-       /*8916*/ uint16(xArgImm32),
-       /*8917*/ uint16(xMatch),
-       /*8918*/ uint16(xSetOp), uint16(PUSH),
-       /*8920*/ uint16(xReadId),
-       /*8921*/ uint16(xArgImm32),
+       /*8892*/ uint16(xCondIs64), 8895, 8901,
+       /*8895*/ uint16(xSetOp), uint16(ARPL),
+       /*8897*/ uint16(xReadSlashR),
+       /*8898*/ uint16(xArgRM16),
+       /*8899*/ uint16(xArgR16),
+       /*8900*/ uint16(xMatch),
+       /*8901*/ uint16(xCondDataSize), 8905, 8911, 8917,
+       /*8905*/ uint16(xSetOp), uint16(MOVSXD),
+       /*8907*/ uint16(xReadSlashR),
+       /*8908*/ uint16(xArgR16),
+       /*8909*/ uint16(xArgRM32),
+       /*8910*/ uint16(xMatch),
+       /*8911*/ uint16(xSetOp), uint16(MOVSXD),
+       /*8913*/ uint16(xReadSlashR),
+       /*8914*/ uint16(xArgR32),
+       /*8915*/ uint16(xArgRM32),
+       /*8916*/ uint16(xMatch),
+       /*8917*/ uint16(xSetOp), uint16(MOVSXD),
+       /*8919*/ uint16(xReadSlashR),
+       /*8920*/ uint16(xArgR64),
+       /*8921*/ uint16(xArgRM32),
        /*8922*/ uint16(xMatch),
-       /*8923*/ uint16(xCondIs64), 8926, 8946,
-       /*8926*/ uint16(xCondDataSize), 8930, 8938, 0,
-       /*8930*/ uint16(xSetOp), uint16(IMUL),
-       /*8932*/ uint16(xReadSlashR),
-       /*8933*/ uint16(xReadIw),
-       /*8934*/ uint16(xArgR16),
-       /*8935*/ uint16(xArgRM16),
-       /*8936*/ uint16(xArgImm16),
-       /*8937*/ uint16(xMatch),
-       /*8938*/ uint16(xSetOp), uint16(IMUL),
-       /*8940*/ uint16(xReadSlashR),
-       /*8941*/ uint16(xReadId),
-       /*8942*/ uint16(xArgR32),
-       /*8943*/ uint16(xArgRM32),
-       /*8944*/ uint16(xArgImm32),
-       /*8945*/ uint16(xMatch),
-       /*8946*/ uint16(xCondDataSize), 8930, 8938, 8950,
-       /*8950*/ uint16(xSetOp), uint16(IMUL),
-       /*8952*/ uint16(xReadSlashR),
-       /*8953*/ uint16(xReadId),
-       /*8954*/ uint16(xArgR64),
-       /*8955*/ uint16(xArgRM64),
-       /*8956*/ uint16(xArgImm32),
-       /*8957*/ uint16(xMatch),
-       /*8958*/ uint16(xSetOp), uint16(PUSH),
-       /*8960*/ uint16(xReadIb),
-       /*8961*/ uint16(xArgImm8),
-       /*8962*/ uint16(xMatch),
-       /*8963*/ uint16(xCondIs64), 8966, 8986,
-       /*8966*/ uint16(xCondDataSize), 8970, 8978, 0,
-       /*8970*/ uint16(xSetOp), uint16(IMUL),
-       /*8972*/ uint16(xReadSlashR),
-       /*8973*/ uint16(xReadIb),
-       /*8974*/ uint16(xArgR16),
-       /*8975*/ uint16(xArgRM16),
-       /*8976*/ uint16(xArgImm8),
-       /*8977*/ uint16(xMatch),
-       /*8978*/ uint16(xSetOp), uint16(IMUL),
-       /*8980*/ uint16(xReadSlashR),
-       /*8981*/ uint16(xReadIb),
-       /*8982*/ uint16(xArgR32),
-       /*8983*/ uint16(xArgRM32),
-       /*8984*/ uint16(xArgImm8),
-       /*8985*/ uint16(xMatch),
-       /*8986*/ uint16(xCondDataSize), 8970, 8978, 8990,
-       /*8990*/ uint16(xSetOp), uint16(IMUL),
-       /*8992*/ uint16(xReadSlashR),
-       /*8993*/ uint16(xReadIb),
-       /*8994*/ uint16(xArgR64),
-       /*8995*/ uint16(xArgRM64),
-       /*8996*/ uint16(xArgImm8),
-       /*8997*/ uint16(xMatch),
-       /*8998*/ uint16(xSetOp), uint16(INSB),
-       /*9000*/ uint16(xMatch),
-       /*9001*/ uint16(xCondDataSize), 9005, 9008, 9011,
-       /*9005*/ uint16(xSetOp), uint16(INSW),
-       /*9007*/ uint16(xMatch),
-       /*9008*/ uint16(xSetOp), uint16(INSD),
-       /*9010*/ uint16(xMatch),
-       /*9011*/ uint16(xSetOp), uint16(INSD),
-       /*9013*/ uint16(xMatch),
-       /*9014*/ uint16(xSetOp), uint16(OUTSB),
+       /*8923*/ uint16(xCondDataSize), 8927, 8932, 8937,
+       /*8927*/ uint16(xSetOp), uint16(PUSH),
+       /*8929*/ uint16(xReadIw),
+       /*8930*/ uint16(xArgImm16),
+       /*8931*/ uint16(xMatch),
+       /*8932*/ uint16(xSetOp), uint16(PUSH),
+       /*8934*/ uint16(xReadId),
+       /*8935*/ uint16(xArgImm32),
+       /*8936*/ uint16(xMatch),
+       /*8937*/ uint16(xSetOp), uint16(PUSH),
+       /*8939*/ uint16(xReadId),
+       /*8940*/ uint16(xArgImm32),
+       /*8941*/ uint16(xMatch),
+       /*8942*/ uint16(xCondIs64), 8945, 8965,
+       /*8945*/ uint16(xCondDataSize), 8949, 8957, 0,
+       /*8949*/ uint16(xSetOp), uint16(IMUL),
+       /*8951*/ uint16(xReadSlashR),
+       /*8952*/ uint16(xReadIw),
+       /*8953*/ uint16(xArgR16),
+       /*8954*/ uint16(xArgRM16),
+       /*8955*/ uint16(xArgImm16),
+       /*8956*/ uint16(xMatch),
+       /*8957*/ uint16(xSetOp), uint16(IMUL),
+       /*8959*/ uint16(xReadSlashR),
+       /*8960*/ uint16(xReadId),
+       /*8961*/ uint16(xArgR32),
+       /*8962*/ uint16(xArgRM32),
+       /*8963*/ uint16(xArgImm32),
+       /*8964*/ uint16(xMatch),
+       /*8965*/ uint16(xCondDataSize), 8949, 8957, 8969,
+       /*8969*/ uint16(xSetOp), uint16(IMUL),
+       /*8971*/ uint16(xReadSlashR),
+       /*8972*/ uint16(xReadId),
+       /*8973*/ uint16(xArgR64),
+       /*8974*/ uint16(xArgRM64),
+       /*8975*/ uint16(xArgImm32),
+       /*8976*/ uint16(xMatch),
+       /*8977*/ uint16(xSetOp), uint16(PUSH),
+       /*8979*/ uint16(xReadIb),
+       /*8980*/ uint16(xArgImm8),
+       /*8981*/ uint16(xMatch),
+       /*8982*/ uint16(xCondIs64), 8985, 9005,
+       /*8985*/ uint16(xCondDataSize), 8989, 8997, 0,
+       /*8989*/ uint16(xSetOp), uint16(IMUL),
+       /*8991*/ uint16(xReadSlashR),
+       /*8992*/ uint16(xReadIb),
+       /*8993*/ uint16(xArgR16),
+       /*8994*/ uint16(xArgRM16),
+       /*8995*/ uint16(xArgImm8),
+       /*8996*/ uint16(xMatch),
+       /*8997*/ uint16(xSetOp), uint16(IMUL),
+       /*8999*/ uint16(xReadSlashR),
+       /*9000*/ uint16(xReadIb),
+       /*9001*/ uint16(xArgR32),
+       /*9002*/ uint16(xArgRM32),
+       /*9003*/ uint16(xArgImm8),
+       /*9004*/ uint16(xMatch),
+       /*9005*/ uint16(xCondDataSize), 8989, 8997, 9009,
+       /*9009*/ uint16(xSetOp), uint16(IMUL),
+       /*9011*/ uint16(xReadSlashR),
+       /*9012*/ uint16(xReadIb),
+       /*9013*/ uint16(xArgR64),
+       /*9014*/ uint16(xArgRM64),
+       /*9015*/ uint16(xArgImm8),
        /*9016*/ uint16(xMatch),
-       /*9017*/ uint16(xCondPrefix), 3,
-       0xC5, 9064,
-       0xC4, 9038,
-       0x0, 9025,
-       /*9025*/ uint16(xCondDataSize), 9029, 9032, 9035,
-       /*9029*/ uint16(xSetOp), uint16(OUTSW),
-       /*9031*/ uint16(xMatch),
-       /*9032*/ uint16(xSetOp), uint16(OUTSD),
-       /*9034*/ uint16(xMatch),
-       /*9035*/ uint16(xSetOp), uint16(OUTSD),
-       /*9037*/ uint16(xMatch),
-       /*9038*/ uint16(xCondPrefix), 2,
-       0xF3, 9054,
-       0x66, 9044,
-       /*9044*/ uint16(xCondPrefix), 1,
-       0x0F, 9048,
-       /*9048*/ uint16(xSetOp), uint16(VMOVDQA),
-       /*9050*/ uint16(xReadSlashR),
-       /*9051*/ uint16(xArgYmm1),
-       /*9052*/ uint16(xArgYmm2M256),
+       /*9017*/ uint16(xSetOp), uint16(INSB),
+       /*9019*/ uint16(xMatch),
+       /*9020*/ uint16(xCondDataSize), 9024, 9027, 9030,
+       /*9024*/ uint16(xSetOp), uint16(INSW),
+       /*9026*/ uint16(xMatch),
+       /*9027*/ uint16(xSetOp), uint16(INSD),
+       /*9029*/ uint16(xMatch),
+       /*9030*/ uint16(xSetOp), uint16(INSD),
+       /*9032*/ uint16(xMatch),
+       /*9033*/ uint16(xSetOp), uint16(OUTSB),
+       /*9035*/ uint16(xMatch),
+       /*9036*/ uint16(xCondPrefix), 3,
+       0xC5, 9083,
+       0xC4, 9057,
+       0x0, 9044,
+       /*9044*/ uint16(xCondDataSize), 9048, 9051, 9054,
+       /*9048*/ uint16(xSetOp), uint16(OUTSW),
+       /*9050*/ uint16(xMatch),
+       /*9051*/ uint16(xSetOp), uint16(OUTSD),
        /*9053*/ uint16(xMatch),
-       /*9054*/ uint16(xCondPrefix), 1,
-       0x0F, 9058,
-       /*9058*/ uint16(xSetOp), uint16(VMOVDQU),
-       /*9060*/ uint16(xReadSlashR),
-       /*9061*/ uint16(xArgYmm1),
-       /*9062*/ uint16(xArgYmm2M256),
-       /*9063*/ uint16(xMatch),
-       /*9064*/ uint16(xCondPrefix), 2,
-       0xF3, 9080,
-       0x66, 9070,
-       /*9070*/ uint16(xCondPrefix), 1,
-       0x0F, 9074,
-       /*9074*/ uint16(xSetOp), uint16(VMOVDQA),
-       /*9076*/ uint16(xReadSlashR),
-       /*9077*/ uint16(xArgYmm1),
-       /*9078*/ uint16(xArgYmm2M256),
-       /*9079*/ uint16(xMatch),
-       /*9080*/ uint16(xCondPrefix), 1,
-       0x0F, 9084,
-       /*9084*/ uint16(xSetOp), uint16(VMOVDQU),
-       /*9086*/ uint16(xReadSlashR),
-       /*9087*/ uint16(xArgYmm1),
-       /*9088*/ uint16(xArgYmm2M256),
-       /*9089*/ uint16(xMatch),
-       /*9090*/ uint16(xSetOp), uint16(JO),
-       /*9092*/ uint16(xReadCb),
-       /*9093*/ uint16(xArgRel8),
-       /*9094*/ uint16(xMatch),
-       /*9095*/ uint16(xSetOp), uint16(JNO),
-       /*9097*/ uint16(xReadCb),
-       /*9098*/ uint16(xArgRel8),
-       /*9099*/ uint16(xMatch),
-       /*9100*/ uint16(xSetOp), uint16(JB),
-       /*9102*/ uint16(xReadCb),
-       /*9103*/ uint16(xArgRel8),
-       /*9104*/ uint16(xMatch),
-       /*9105*/ uint16(xSetOp), uint16(JAE),
-       /*9107*/ uint16(xReadCb),
-       /*9108*/ uint16(xArgRel8),
-       /*9109*/ uint16(xMatch),
-       /*9110*/ uint16(xSetOp), uint16(JE),
-       /*9112*/ uint16(xReadCb),
-       /*9113*/ uint16(xArgRel8),
-       /*9114*/ uint16(xMatch),
-       /*9115*/ uint16(xSetOp), uint16(JNE),
-       /*9117*/ uint16(xReadCb),
-       /*9118*/ uint16(xArgRel8),
-       /*9119*/ uint16(xMatch),
-       /*9120*/ uint16(xSetOp), uint16(JBE),
-       /*9122*/ uint16(xReadCb),
-       /*9123*/ uint16(xArgRel8),
-       /*9124*/ uint16(xMatch),
-       /*9125*/ uint16(xCondPrefix), 3,
-       0xC5, 9145,
-       0xC4, 9138,
-       0x0, 9133,
-       /*9133*/ uint16(xSetOp), uint16(JA),
-       /*9135*/ uint16(xReadCb),
-       /*9136*/ uint16(xArgRel8),
-       /*9137*/ uint16(xMatch),
-       /*9138*/ uint16(xCondPrefix), 1,
-       0x0F, 9142,
-       /*9142*/ uint16(xSetOp), uint16(VZEROUPPER),
-       /*9144*/ uint16(xMatch),
-       /*9145*/ uint16(xCondPrefix), 1,
-       0x0F, 9149,
-       /*9149*/ uint16(xSetOp), uint16(VZEROUPPER),
-       /*9151*/ uint16(xMatch),
-       /*9152*/ uint16(xSetOp), uint16(JS),
+       /*9054*/ uint16(xSetOp), uint16(OUTSD),
+       /*9056*/ uint16(xMatch),
+       /*9057*/ uint16(xCondPrefix), 2,
+       0xF3, 9073,
+       0x66, 9063,
+       /*9063*/ uint16(xCondPrefix), 1,
+       0x0F, 9067,
+       /*9067*/ uint16(xSetOp), uint16(VMOVDQA),
+       /*9069*/ uint16(xReadSlashR),
+       /*9070*/ uint16(xArgYmm1),
+       /*9071*/ uint16(xArgYmm2M256),
+       /*9072*/ uint16(xMatch),
+       /*9073*/ uint16(xCondPrefix), 1,
+       0x0F, 9077,
+       /*9077*/ uint16(xSetOp), uint16(VMOVDQU),
+       /*9079*/ uint16(xReadSlashR),
+       /*9080*/ uint16(xArgYmm1),
+       /*9081*/ uint16(xArgYmm2M256),
+       /*9082*/ uint16(xMatch),
+       /*9083*/ uint16(xCondPrefix), 2,
+       0xF3, 9099,
+       0x66, 9089,
+       /*9089*/ uint16(xCondPrefix), 1,
+       0x0F, 9093,
+       /*9093*/ uint16(xSetOp), uint16(VMOVDQA),
+       /*9095*/ uint16(xReadSlashR),
+       /*9096*/ uint16(xArgYmm1),
+       /*9097*/ uint16(xArgYmm2M256),
+       /*9098*/ uint16(xMatch),
+       /*9099*/ uint16(xCondPrefix), 1,
+       0x0F, 9103,
+       /*9103*/ uint16(xSetOp), uint16(VMOVDQU),
+       /*9105*/ uint16(xReadSlashR),
+       /*9106*/ uint16(xArgYmm1),
+       /*9107*/ uint16(xArgYmm2M256),
+       /*9108*/ uint16(xMatch),
+       /*9109*/ uint16(xSetOp), uint16(JO),
+       /*9111*/ uint16(xReadCb),
+       /*9112*/ uint16(xArgRel8),
+       /*9113*/ uint16(xMatch),
+       /*9114*/ uint16(xSetOp), uint16(JNO),
+       /*9116*/ uint16(xReadCb),
+       /*9117*/ uint16(xArgRel8),
+       /*9118*/ uint16(xMatch),
+       /*9119*/ uint16(xSetOp), uint16(JB),
+       /*9121*/ uint16(xReadCb),
+       /*9122*/ uint16(xArgRel8),
+       /*9123*/ uint16(xMatch),
+       /*9124*/ uint16(xSetOp), uint16(JAE),
+       /*9126*/ uint16(xReadCb),
+       /*9127*/ uint16(xArgRel8),
+       /*9128*/ uint16(xMatch),
+       /*9129*/ uint16(xSetOp), uint16(JE),
+       /*9131*/ uint16(xReadCb),
+       /*9132*/ uint16(xArgRel8),
+       /*9133*/ uint16(xMatch),
+       /*9134*/ uint16(xSetOp), uint16(JNE),
+       /*9136*/ uint16(xReadCb),
+       /*9137*/ uint16(xArgRel8),
+       /*9138*/ uint16(xMatch),
+       /*9139*/ uint16(xSetOp), uint16(JBE),
+       /*9141*/ uint16(xReadCb),
+       /*9142*/ uint16(xArgRel8),
+       /*9143*/ uint16(xMatch),
+       /*9144*/ uint16(xCondPrefix), 3,
+       0xC5, 9164,
+       0xC4, 9157,
+       0x0, 9152,
+       /*9152*/ uint16(xSetOp), uint16(JA),
        /*9154*/ uint16(xReadCb),
        /*9155*/ uint16(xArgRel8),
        /*9156*/ uint16(xMatch),
-       /*9157*/ uint16(xSetOp), uint16(JNS),
-       /*9159*/ uint16(xReadCb),
-       /*9160*/ uint16(xArgRel8),
-       /*9161*/ uint16(xMatch),
-       /*9162*/ uint16(xSetOp), uint16(JP),
-       /*9164*/ uint16(xReadCb),
-       /*9165*/ uint16(xArgRel8),
-       /*9166*/ uint16(xMatch),
-       /*9167*/ uint16(xSetOp), uint16(JNP),
-       /*9169*/ uint16(xReadCb),
-       /*9170*/ uint16(xArgRel8),
-       /*9171*/ uint16(xMatch),
-       /*9172*/ uint16(xSetOp), uint16(JL),
-       /*9174*/ uint16(xReadCb),
-       /*9175*/ uint16(xArgRel8),
-       /*9176*/ uint16(xMatch),
-       /*9177*/ uint16(xSetOp), uint16(JGE),
-       /*9179*/ uint16(xReadCb),
-       /*9180*/ uint16(xArgRel8),
-       /*9181*/ uint16(xMatch),
-       /*9182*/ uint16(xSetOp), uint16(JLE),
-       /*9184*/ uint16(xReadCb),
-       /*9185*/ uint16(xArgRel8),
-       /*9186*/ uint16(xMatch),
-       /*9187*/ uint16(xCondPrefix), 3,
-       0xC5, 9226,
-       0xC4, 9200,
-       0x0, 9195,
-       /*9195*/ uint16(xSetOp), uint16(JG),
-       /*9197*/ uint16(xReadCb),
-       /*9198*/ uint16(xArgRel8),
-       /*9199*/ uint16(xMatch),
-       /*9200*/ uint16(xCondPrefix), 2,
-       0xF3, 9216,
-       0x66, 9206,
-       /*9206*/ uint16(xCondPrefix), 1,
-       0x0F, 9210,
-       /*9210*/ uint16(xSetOp), uint16(VMOVDQA),
-       /*9212*/ uint16(xReadSlashR),
-       /*9213*/ uint16(xArgYmm2M256),
-       /*9214*/ uint16(xArgYmm1),
-       /*9215*/ uint16(xMatch),
-       /*9216*/ uint16(xCondPrefix), 1,
-       0x0F, 9220,
-       /*9220*/ uint16(xSetOp), uint16(VMOVDQU),
-       /*9222*/ uint16(xReadSlashR),
-       /*9223*/ uint16(xArgYmm2M256),
-       /*9224*/ uint16(xArgYmm1),
-       /*9225*/ uint16(xMatch),
-       /*9226*/ uint16(xCondPrefix), 2,
-       0xF3, 9242,
-       0x66, 9232,
-       /*9232*/ uint16(xCondPrefix), 1,
-       0x0F, 9236,
-       /*9236*/ uint16(xSetOp), uint16(VMOVDQA),
-       /*9238*/ uint16(xReadSlashR),
-       /*9239*/ uint16(xArgYmm2M256),
-       /*9240*/ uint16(xArgYmm1),
-       /*9241*/ uint16(xMatch),
-       /*9242*/ uint16(xCondPrefix), 1,
-       0x0F, 9246,
-       /*9246*/ uint16(xSetOp), uint16(VMOVDQU),
-       /*9248*/ uint16(xReadSlashR),
-       /*9249*/ uint16(xArgYmm2M256),
-       /*9250*/ uint16(xArgYmm1),
-       /*9251*/ uint16(xMatch),
-       /*9252*/ uint16(xCondSlashR),
-       9261, // 0
-       9267, // 1
-       9273, // 2
-       9279, // 3
-       9285, // 4
-       9291, // 5
-       9297, // 6
-       9303, // 7
-       /*9261*/ uint16(xSetOp), uint16(ADD),
-       /*9263*/ uint16(xReadIb),
-       /*9264*/ uint16(xArgRM8),
-       /*9265*/ uint16(xArgImm8u),
-       /*9266*/ uint16(xMatch),
-       /*9267*/ uint16(xSetOp), uint16(OR),
-       /*9269*/ uint16(xReadIb),
-       /*9270*/ uint16(xArgRM8),
-       /*9271*/ uint16(xArgImm8u),
-       /*9272*/ uint16(xMatch),
-       /*9273*/ uint16(xSetOp), uint16(ADC),
-       /*9275*/ uint16(xReadIb),
-       /*9276*/ uint16(xArgRM8),
-       /*9277*/ uint16(xArgImm8u),
-       /*9278*/ uint16(xMatch),
-       /*9279*/ uint16(xSetOp), uint16(SBB),
-       /*9281*/ uint16(xReadIb),
-       /*9282*/ uint16(xArgRM8),
-       /*9283*/ uint16(xArgImm8u),
-       /*9284*/ uint16(xMatch),
-       /*9285*/ uint16(xSetOp), uint16(AND),
-       /*9287*/ uint16(xReadIb),
-       /*9288*/ uint16(xArgRM8),
-       /*9289*/ uint16(xArgImm8u),
-       /*9290*/ uint16(xMatch),
-       /*9291*/ uint16(xSetOp), uint16(SUB),
-       /*9293*/ uint16(xReadIb),
-       /*9294*/ uint16(xArgRM8),
-       /*9295*/ uint16(xArgImm8u),
-       /*9296*/ uint16(xMatch),
-       /*9297*/ uint16(xSetOp), uint16(XOR),
-       /*9299*/ uint16(xReadIb),
-       /*9300*/ uint16(xArgRM8),
-       /*9301*/ uint16(xArgImm8u),
-       /*9302*/ uint16(xMatch),
-       /*9303*/ uint16(xSetOp), uint16(CMP),
-       /*9305*/ uint16(xReadIb),
-       /*9306*/ uint16(xArgRM8),
-       /*9307*/ uint16(xArgImm8u),
-       /*9308*/ uint16(xMatch),
-       /*9309*/ uint16(xCondSlashR),
-       9318, // 0
-       9347, // 1
-       9376, // 2
-       9405, // 3
-       9434, // 4
-       9463, // 5
-       9492, // 6
-       9521, // 7
-       /*9318*/ uint16(xCondIs64), 9321, 9337,
-       /*9321*/ uint16(xCondDataSize), 9325, 9331, 0,
-       /*9325*/ uint16(xSetOp), uint16(ADD),
-       /*9327*/ uint16(xReadIw),
-       /*9328*/ uint16(xArgRM16),
-       /*9329*/ uint16(xArgImm16),
-       /*9330*/ uint16(xMatch),
-       /*9331*/ uint16(xSetOp), uint16(ADD),
-       /*9333*/ uint16(xReadId),
-       /*9334*/ uint16(xArgRM32),
-       /*9335*/ uint16(xArgImm32),
-       /*9336*/ uint16(xMatch),
-       /*9337*/ uint16(xCondDataSize), 9325, 9331, 9341,
-       /*9341*/ uint16(xSetOp), uint16(ADD),
-       /*9343*/ uint16(xReadId),
-       /*9344*/ uint16(xArgRM64),
-       /*9345*/ uint16(xArgImm32),
-       /*9346*/ uint16(xMatch),
-       /*9347*/ uint16(xCondIs64), 9350, 9366,
-       /*9350*/ uint16(xCondDataSize), 9354, 9360, 0,
-       /*9354*/ uint16(xSetOp), uint16(OR),
-       /*9356*/ uint16(xReadIw),
-       /*9357*/ uint16(xArgRM16),
-       /*9358*/ uint16(xArgImm16),
-       /*9359*/ uint16(xMatch),
-       /*9360*/ uint16(xSetOp), uint16(OR),
+       /*9157*/ uint16(xCondPrefix), 1,
+       0x0F, 9161,
+       /*9161*/ uint16(xSetOp), uint16(VZEROUPPER),
+       /*9163*/ uint16(xMatch),
+       /*9164*/ uint16(xCondPrefix), 1,
+       0x0F, 9168,
+       /*9168*/ uint16(xSetOp), uint16(VZEROUPPER),
+       /*9170*/ uint16(xMatch),
+       /*9171*/ uint16(xSetOp), uint16(JS),
+       /*9173*/ uint16(xReadCb),
+       /*9174*/ uint16(xArgRel8),
+       /*9175*/ uint16(xMatch),
+       /*9176*/ uint16(xSetOp), uint16(JNS),
+       /*9178*/ uint16(xReadCb),
+       /*9179*/ uint16(xArgRel8),
+       /*9180*/ uint16(xMatch),
+       /*9181*/ uint16(xSetOp), uint16(JP),
+       /*9183*/ uint16(xReadCb),
+       /*9184*/ uint16(xArgRel8),
+       /*9185*/ uint16(xMatch),
+       /*9186*/ uint16(xSetOp), uint16(JNP),
+       /*9188*/ uint16(xReadCb),
+       /*9189*/ uint16(xArgRel8),
+       /*9190*/ uint16(xMatch),
+       /*9191*/ uint16(xSetOp), uint16(JL),
+       /*9193*/ uint16(xReadCb),
+       /*9194*/ uint16(xArgRel8),
+       /*9195*/ uint16(xMatch),
+       /*9196*/ uint16(xSetOp), uint16(JGE),
+       /*9198*/ uint16(xReadCb),
+       /*9199*/ uint16(xArgRel8),
+       /*9200*/ uint16(xMatch),
+       /*9201*/ uint16(xSetOp), uint16(JLE),
+       /*9203*/ uint16(xReadCb),
+       /*9204*/ uint16(xArgRel8),
+       /*9205*/ uint16(xMatch),
+       /*9206*/ uint16(xCondPrefix), 3,
+       0xC5, 9245,
+       0xC4, 9219,
+       0x0, 9214,
+       /*9214*/ uint16(xSetOp), uint16(JG),
+       /*9216*/ uint16(xReadCb),
+       /*9217*/ uint16(xArgRel8),
+       /*9218*/ uint16(xMatch),
+       /*9219*/ uint16(xCondPrefix), 2,
+       0xF3, 9235,
+       0x66, 9225,
+       /*9225*/ uint16(xCondPrefix), 1,
+       0x0F, 9229,
+       /*9229*/ uint16(xSetOp), uint16(VMOVDQA),
+       /*9231*/ uint16(xReadSlashR),
+       /*9232*/ uint16(xArgYmm2M256),
+       /*9233*/ uint16(xArgYmm1),
+       /*9234*/ uint16(xMatch),
+       /*9235*/ uint16(xCondPrefix), 1,
+       0x0F, 9239,
+       /*9239*/ uint16(xSetOp), uint16(VMOVDQU),
+       /*9241*/ uint16(xReadSlashR),
+       /*9242*/ uint16(xArgYmm2M256),
+       /*9243*/ uint16(xArgYmm1),
+       /*9244*/ uint16(xMatch),
+       /*9245*/ uint16(xCondPrefix), 2,
+       0xF3, 9261,
+       0x66, 9251,
+       /*9251*/ uint16(xCondPrefix), 1,
+       0x0F, 9255,
+       /*9255*/ uint16(xSetOp), uint16(VMOVDQA),
+       /*9257*/ uint16(xReadSlashR),
+       /*9258*/ uint16(xArgYmm2M256),
+       /*9259*/ uint16(xArgYmm1),
+       /*9260*/ uint16(xMatch),
+       /*9261*/ uint16(xCondPrefix), 1,
+       0x0F, 9265,
+       /*9265*/ uint16(xSetOp), uint16(VMOVDQU),
+       /*9267*/ uint16(xReadSlashR),
+       /*9268*/ uint16(xArgYmm2M256),
+       /*9269*/ uint16(xArgYmm1),
+       /*9270*/ uint16(xMatch),
+       /*9271*/ uint16(xCondSlashR),
+       9280, // 0
+       9286, // 1
+       9292, // 2
+       9298, // 3
+       9304, // 4
+       9310, // 5
+       9316, // 6
+       9322, // 7
+       /*9280*/ uint16(xSetOp), uint16(ADD),
+       /*9282*/ uint16(xReadIb),
+       /*9283*/ uint16(xArgRM8),
+       /*9284*/ uint16(xArgImm8u),
+       /*9285*/ uint16(xMatch),
+       /*9286*/ uint16(xSetOp), uint16(OR),
+       /*9288*/ uint16(xReadIb),
+       /*9289*/ uint16(xArgRM8),
+       /*9290*/ uint16(xArgImm8u),
+       /*9291*/ uint16(xMatch),
+       /*9292*/ uint16(xSetOp), uint16(ADC),
+       /*9294*/ uint16(xReadIb),
+       /*9295*/ uint16(xArgRM8),
+       /*9296*/ uint16(xArgImm8u),
+       /*9297*/ uint16(xMatch),
+       /*9298*/ uint16(xSetOp), uint16(SBB),
+       /*9300*/ uint16(xReadIb),
+       /*9301*/ uint16(xArgRM8),
+       /*9302*/ uint16(xArgImm8u),
+       /*9303*/ uint16(xMatch),
+       /*9304*/ uint16(xSetOp), uint16(AND),
+       /*9306*/ uint16(xReadIb),
+       /*9307*/ uint16(xArgRM8),
+       /*9308*/ uint16(xArgImm8u),
+       /*9309*/ uint16(xMatch),
+       /*9310*/ uint16(xSetOp), uint16(SUB),
+       /*9312*/ uint16(xReadIb),
+       /*9313*/ uint16(xArgRM8),
+       /*9314*/ uint16(xArgImm8u),
+       /*9315*/ uint16(xMatch),
+       /*9316*/ uint16(xSetOp), uint16(XOR),
+       /*9318*/ uint16(xReadIb),
+       /*9319*/ uint16(xArgRM8),
+       /*9320*/ uint16(xArgImm8u),
+       /*9321*/ uint16(xMatch),
+       /*9322*/ uint16(xSetOp), uint16(CMP),
+       /*9324*/ uint16(xReadIb),
+       /*9325*/ uint16(xArgRM8),
+       /*9326*/ uint16(xArgImm8u),
+       /*9327*/ uint16(xMatch),
+       /*9328*/ uint16(xCondSlashR),
+       9337, // 0
+       9366, // 1
+       9395, // 2
+       9424, // 3
+       9453, // 4
+       9482, // 5
+       9511, // 6
+       9540, // 7
+       /*9337*/ uint16(xCondIs64), 9340, 9356,
+       /*9340*/ uint16(xCondDataSize), 9344, 9350, 0,
+       /*9344*/ uint16(xSetOp), uint16(ADD),
+       /*9346*/ uint16(xReadIw),
+       /*9347*/ uint16(xArgRM16),
+       /*9348*/ uint16(xArgImm16),
+       /*9349*/ uint16(xMatch),
+       /*9350*/ uint16(xSetOp), uint16(ADD),
+       /*9352*/ uint16(xReadId),
+       /*9353*/ uint16(xArgRM32),
+       /*9354*/ uint16(xArgImm32),
+       /*9355*/ uint16(xMatch),
+       /*9356*/ uint16(xCondDataSize), 9344, 9350, 9360,
+       /*9360*/ uint16(xSetOp), uint16(ADD),
        /*9362*/ uint16(xReadId),
-       /*9363*/ uint16(xArgRM32),
+       /*9363*/ uint16(xArgRM64),
        /*9364*/ uint16(xArgImm32),
        /*9365*/ uint16(xMatch),
-       /*9366*/ uint16(xCondDataSize), 9354, 9360, 9370,
-       /*9370*/ uint16(xSetOp), uint16(OR),
-       /*9372*/ uint16(xReadId),
-       /*9373*/ uint16(xArgRM64),
-       /*9374*/ uint16(xArgImm32),
-       /*9375*/ uint16(xMatch),
-       /*9376*/ uint16(xCondIs64), 9379, 9395,
-       /*9379*/ uint16(xCondDataSize), 9383, 9389, 0,
-       /*9383*/ uint16(xSetOp), uint16(ADC),
-       /*9385*/ uint16(xReadIw),
-       /*9386*/ uint16(xArgRM16),
-       /*9387*/ uint16(xArgImm16),
-       /*9388*/ uint16(xMatch),
-       /*9389*/ uint16(xSetOp), uint16(ADC),
+       /*9366*/ uint16(xCondIs64), 9369, 9385,
+       /*9369*/ uint16(xCondDataSize), 9373, 9379, 0,
+       /*9373*/ uint16(xSetOp), uint16(OR),
+       /*9375*/ uint16(xReadIw),
+       /*9376*/ uint16(xArgRM16),
+       /*9377*/ uint16(xArgImm16),
+       /*9378*/ uint16(xMatch),
+       /*9379*/ uint16(xSetOp), uint16(OR),
+       /*9381*/ uint16(xReadId),
+       /*9382*/ uint16(xArgRM32),
+       /*9383*/ uint16(xArgImm32),
+       /*9384*/ uint16(xMatch),
+       /*9385*/ uint16(xCondDataSize), 9373, 9379, 9389,
+       /*9389*/ uint16(xSetOp), uint16(OR),
        /*9391*/ uint16(xReadId),
-       /*9392*/ uint16(xArgRM32),
+       /*9392*/ uint16(xArgRM64),
        /*9393*/ uint16(xArgImm32),
        /*9394*/ uint16(xMatch),
-       /*9395*/ uint16(xCondDataSize), 9383, 9389, 9399,
-       /*9399*/ uint16(xSetOp), uint16(ADC),
-       /*9401*/ uint16(xReadId),
-       /*9402*/ uint16(xArgRM64),
-       /*9403*/ uint16(xArgImm32),
-       /*9404*/ uint16(xMatch),
-       /*9405*/ uint16(xCondIs64), 9408, 9424,
-       /*9408*/ uint16(xCondDataSize), 9412, 9418, 0,
-       /*9412*/ uint16(xSetOp), uint16(SBB),
-       /*9414*/ uint16(xReadIw),
-       /*9415*/ uint16(xArgRM16),
-       /*9416*/ uint16(xArgImm16),
-       /*9417*/ uint16(xMatch),
-       /*9418*/ uint16(xSetOp), uint16(SBB),
+       /*9395*/ uint16(xCondIs64), 9398, 9414,
+       /*9398*/ uint16(xCondDataSize), 9402, 9408, 0,
+       /*9402*/ uint16(xSetOp), uint16(ADC),
+       /*9404*/ uint16(xReadIw),
+       /*9405*/ uint16(xArgRM16),
+       /*9406*/ uint16(xArgImm16),
+       /*9407*/ uint16(xMatch),
+       /*9408*/ uint16(xSetOp), uint16(ADC),
+       /*9410*/ uint16(xReadId),
+       /*9411*/ uint16(xArgRM32),
+       /*9412*/ uint16(xArgImm32),
+       /*9413*/ uint16(xMatch),
+       /*9414*/ uint16(xCondDataSize), 9402, 9408, 9418,
+       /*9418*/ uint16(xSetOp), uint16(ADC),
        /*9420*/ uint16(xReadId),
-       /*9421*/ uint16(xArgRM32),
+       /*9421*/ uint16(xArgRM64),
        /*9422*/ uint16(xArgImm32),
        /*9423*/ uint16(xMatch),
-       /*9424*/ uint16(xCondDataSize), 9412, 9418, 9428,
-       /*9428*/ uint16(xSetOp), uint16(SBB),
-       /*9430*/ uint16(xReadId),
-       /*9431*/ uint16(xArgRM64),
-       /*9432*/ uint16(xArgImm32),
-       /*9433*/ uint16(xMatch),
-       /*9434*/ uint16(xCondIs64), 9437, 9453,
-       /*9437*/ uint16(xCondDataSize), 9441, 9447, 0,
-       /*9441*/ uint16(xSetOp), uint16(AND),
-       /*9443*/ uint16(xReadIw),
-       /*9444*/ uint16(xArgRM16),
-       /*9445*/ uint16(xArgImm16),
-       /*9446*/ uint16(xMatch),
-       /*9447*/ uint16(xSetOp), uint16(AND),
+       /*9424*/ uint16(xCondIs64), 9427, 9443,
+       /*9427*/ uint16(xCondDataSize), 9431, 9437, 0,
+       /*9431*/ uint16(xSetOp), uint16(SBB),
+       /*9433*/ uint16(xReadIw),
+       /*9434*/ uint16(xArgRM16),
+       /*9435*/ uint16(xArgImm16),
+       /*9436*/ uint16(xMatch),
+       /*9437*/ uint16(xSetOp), uint16(SBB),
+       /*9439*/ uint16(xReadId),
+       /*9440*/ uint16(xArgRM32),
+       /*9441*/ uint16(xArgImm32),
+       /*9442*/ uint16(xMatch),
+       /*9443*/ uint16(xCondDataSize), 9431, 9437, 9447,
+       /*9447*/ uint16(xSetOp), uint16(SBB),
        /*9449*/ uint16(xReadId),
-       /*9450*/ uint16(xArgRM32),
+       /*9450*/ uint16(xArgRM64),
        /*9451*/ uint16(xArgImm32),
        /*9452*/ uint16(xMatch),
-       /*9453*/ uint16(xCondDataSize), 9441, 9447, 9457,
-       /*9457*/ uint16(xSetOp), uint16(AND),
-       /*9459*/ uint16(xReadId),
-       /*9460*/ uint16(xArgRM64),
-       /*9461*/ uint16(xArgImm32),
-       /*9462*/ uint16(xMatch),
-       /*9463*/ uint16(xCondIs64), 9466, 9482,
-       /*9466*/ uint16(xCondDataSize), 9470, 9476, 0,
-       /*9470*/ uint16(xSetOp), uint16(SUB),
-       /*9472*/ uint16(xReadIw),
-       /*9473*/ uint16(xArgRM16),
-       /*9474*/ uint16(xArgImm16),
-       /*9475*/ uint16(xMatch),
-       /*9476*/ uint16(xSetOp), uint16(SUB),
+       /*9453*/ uint16(xCondIs64), 9456, 9472,
+       /*9456*/ uint16(xCondDataSize), 9460, 9466, 0,
+       /*9460*/ uint16(xSetOp), uint16(AND),
+       /*9462*/ uint16(xReadIw),
+       /*9463*/ uint16(xArgRM16),
+       /*9464*/ uint16(xArgImm16),
+       /*9465*/ uint16(xMatch),
+       /*9466*/ uint16(xSetOp), uint16(AND),
+       /*9468*/ uint16(xReadId),
+       /*9469*/ uint16(xArgRM32),
+       /*9470*/ uint16(xArgImm32),
+       /*9471*/ uint16(xMatch),
+       /*9472*/ uint16(xCondDataSize), 9460, 9466, 9476,
+       /*9476*/ uint16(xSetOp), uint16(AND),
        /*9478*/ uint16(xReadId),
-       /*9479*/ uint16(xArgRM32),
+       /*9479*/ uint16(xArgRM64),
        /*9480*/ uint16(xArgImm32),
        /*9481*/ uint16(xMatch),
-       /*9482*/ uint16(xCondDataSize), 9470, 9476, 9486,
-       /*9486*/ uint16(xSetOp), uint16(SUB),
-       /*9488*/ uint16(xReadId),
-       /*9489*/ uint16(xArgRM64),
-       /*9490*/ uint16(xArgImm32),
-       /*9491*/ uint16(xMatch),
-       /*9492*/ uint16(xCondIs64), 9495, 9511,
-       /*9495*/ uint16(xCondDataSize), 9499, 9505, 0,
-       /*9499*/ uint16(xSetOp), uint16(XOR),
-       /*9501*/ uint16(xReadIw),
-       /*9502*/ uint16(xArgRM16),
-       /*9503*/ uint16(xArgImm16),
-       /*9504*/ uint16(xMatch),
-       /*9505*/ uint16(xSetOp), uint16(XOR),
+       /*9482*/ uint16(xCondIs64), 9485, 9501,
+       /*9485*/ uint16(xCondDataSize), 9489, 9495, 0,
+       /*9489*/ uint16(xSetOp), uint16(SUB),
+       /*9491*/ uint16(xReadIw),
+       /*9492*/ uint16(xArgRM16),
+       /*9493*/ uint16(xArgImm16),
+       /*9494*/ uint16(xMatch),
+       /*9495*/ uint16(xSetOp), uint16(SUB),
+       /*9497*/ uint16(xReadId),
+       /*9498*/ uint16(xArgRM32),
+       /*9499*/ uint16(xArgImm32),
+       /*9500*/ uint16(xMatch),
+       /*9501*/ uint16(xCondDataSize), 9489, 9495, 9505,
+       /*9505*/ uint16(xSetOp), uint16(SUB),
        /*9507*/ uint16(xReadId),
-       /*9508*/ uint16(xArgRM32),
+       /*9508*/ uint16(xArgRM64),
        /*9509*/ uint16(xArgImm32),
        /*9510*/ uint16(xMatch),
-       /*9511*/ uint16(xCondDataSize), 9499, 9505, 9515,
-       /*9515*/ uint16(xSetOp), uint16(XOR),
-       /*9517*/ uint16(xReadId),
-       /*9518*/ uint16(xArgRM64),
-       /*9519*/ uint16(xArgImm32),
-       /*9520*/ uint16(xMatch),
-       /*9521*/ uint16(xCondIs64), 9524, 9540,
-       /*9524*/ uint16(xCondDataSize), 9528, 9534, 0,
-       /*9528*/ uint16(xSetOp), uint16(CMP),
-       /*9530*/ uint16(xReadIw),
-       /*9531*/ uint16(xArgRM16),
-       /*9532*/ uint16(xArgImm16),
-       /*9533*/ uint16(xMatch),
-       /*9534*/ uint16(xSetOp), uint16(CMP),
+       /*9511*/ uint16(xCondIs64), 9514, 9530,
+       /*9514*/ uint16(xCondDataSize), 9518, 9524, 0,
+       /*9518*/ uint16(xSetOp), uint16(XOR),
+       /*9520*/ uint16(xReadIw),
+       /*9521*/ uint16(xArgRM16),
+       /*9522*/ uint16(xArgImm16),
+       /*9523*/ uint16(xMatch),
+       /*9524*/ uint16(xSetOp), uint16(XOR),
+       /*9526*/ uint16(xReadId),
+       /*9527*/ uint16(xArgRM32),
+       /*9528*/ uint16(xArgImm32),
+       /*9529*/ uint16(xMatch),
+       /*9530*/ uint16(xCondDataSize), 9518, 9524, 9534,
+       /*9534*/ uint16(xSetOp), uint16(XOR),
        /*9536*/ uint16(xReadId),
-       /*9537*/ uint16(xArgRM32),
+       /*9537*/ uint16(xArgRM64),
        /*9538*/ uint16(xArgImm32),
        /*9539*/ uint16(xMatch),
-       /*9540*/ uint16(xCondDataSize), 9528, 9534, 9544,
-       /*9544*/ uint16(xSetOp), uint16(CMP),
-       /*9546*/ uint16(xReadId),
-       /*9547*/ uint16(xArgRM64),
-       /*9548*/ uint16(xArgImm32),
-       /*9549*/ uint16(xMatch),
-       /*9550*/ uint16(xCondSlashR),
-       9559, // 0
-       9588, // 1
-       9617, // 2
-       9646, // 3
-       9675, // 4
-       9704, // 5
-       9733, // 6
-       9762, // 7
-       /*9559*/ uint16(xCondIs64), 9562, 9578,
-       /*9562*/ uint16(xCondDataSize), 9566, 9572, 0,
-       /*9566*/ uint16(xSetOp), uint16(ADD),
-       /*9568*/ uint16(xReadIb),
-       /*9569*/ uint16(xArgRM16),
-       /*9570*/ uint16(xArgImm8),
-       /*9571*/ uint16(xMatch),
-       /*9572*/ uint16(xSetOp), uint16(ADD),
-       /*9574*/ uint16(xReadIb),
-       /*9575*/ uint16(xArgRM32),
-       /*9576*/ uint16(xArgImm8),
-       /*9577*/ uint16(xMatch),
-       /*9578*/ uint16(xCondDataSize), 9566, 9572, 9582,
-       /*9582*/ uint16(xSetOp), uint16(ADD),
-       /*9584*/ uint16(xReadIb),
-       /*9585*/ uint16(xArgRM64),
-       /*9586*/ uint16(xArgImm8),
-       /*9587*/ uint16(xMatch),
-       /*9588*/ uint16(xCondIs64), 9591, 9607,
-       /*9591*/ uint16(xCondDataSize), 9595, 9601, 0,
-       /*9595*/ uint16(xSetOp), uint16(OR),
-       /*9597*/ uint16(xReadIb),
-       /*9598*/ uint16(xArgRM16),
-       /*9599*/ uint16(xArgImm8),
-       /*9600*/ uint16(xMatch),
-       /*9601*/ uint16(xSetOp), uint16(OR),
+       /*9540*/ uint16(xCondIs64), 9543, 9559,
+       /*9543*/ uint16(xCondDataSize), 9547, 9553, 0,
+       /*9547*/ uint16(xSetOp), uint16(CMP),
+       /*9549*/ uint16(xReadIw),
+       /*9550*/ uint16(xArgRM16),
+       /*9551*/ uint16(xArgImm16),
+       /*9552*/ uint16(xMatch),
+       /*9553*/ uint16(xSetOp), uint16(CMP),
+       /*9555*/ uint16(xReadId),
+       /*9556*/ uint16(xArgRM32),
+       /*9557*/ uint16(xArgImm32),
+       /*9558*/ uint16(xMatch),
+       /*9559*/ uint16(xCondDataSize), 9547, 9553, 9563,
+       /*9563*/ uint16(xSetOp), uint16(CMP),
+       /*9565*/ uint16(xReadId),
+       /*9566*/ uint16(xArgRM64),
+       /*9567*/ uint16(xArgImm32),
+       /*9568*/ uint16(xMatch),
+       /*9569*/ uint16(xCondSlashR),
+       9578, // 0
+       9607, // 1
+       9636, // 2
+       9665, // 3
+       9694, // 4
+       9723, // 5
+       9752, // 6
+       9781, // 7
+       /*9578*/ uint16(xCondIs64), 9581, 9597,
+       /*9581*/ uint16(xCondDataSize), 9585, 9591, 0,
+       /*9585*/ uint16(xSetOp), uint16(ADD),
+       /*9587*/ uint16(xReadIb),
+       /*9588*/ uint16(xArgRM16),
+       /*9589*/ uint16(xArgImm8),
+       /*9590*/ uint16(xMatch),
+       /*9591*/ uint16(xSetOp), uint16(ADD),
+       /*9593*/ uint16(xReadIb),
+       /*9594*/ uint16(xArgRM32),
+       /*9595*/ uint16(xArgImm8),
+       /*9596*/ uint16(xMatch),
+       /*9597*/ uint16(xCondDataSize), 9585, 9591, 9601,
+       /*9601*/ uint16(xSetOp), uint16(ADD),
        /*9603*/ uint16(xReadIb),
-       /*9604*/ uint16(xArgRM32),
+       /*9604*/ uint16(xArgRM64),
        /*9605*/ uint16(xArgImm8),
        /*9606*/ uint16(xMatch),
-       /*9607*/ uint16(xCondDataSize), 9595, 9601, 9611,
-       /*9611*/ uint16(xSetOp), uint16(OR),
-       /*9613*/ uint16(xReadIb),
-       /*9614*/ uint16(xArgRM64),
-       /*9615*/ uint16(xArgImm8),
-       /*9616*/ uint16(xMatch),
-       /*9617*/ uint16(xCondIs64), 9620, 9636,
-       /*9620*/ uint16(xCondDataSize), 9624, 9630, 0,
-       /*9624*/ uint16(xSetOp), uint16(ADC),
-       /*9626*/ uint16(xReadIb),
-       /*9627*/ uint16(xArgRM16),
-       /*9628*/ uint16(xArgImm8),
-       /*9629*/ uint16(xMatch),
-       /*9630*/ uint16(xSetOp), uint16(ADC),
+       /*9607*/ uint16(xCondIs64), 9610, 9626,
+       /*9610*/ uint16(xCondDataSize), 9614, 9620, 0,
+       /*9614*/ uint16(xSetOp), uint16(OR),
+       /*9616*/ uint16(xReadIb),
+       /*9617*/ uint16(xArgRM16),
+       /*9618*/ uint16(xArgImm8),
+       /*9619*/ uint16(xMatch),
+       /*9620*/ uint16(xSetOp), uint16(OR),
+       /*9622*/ uint16(xReadIb),
+       /*9623*/ uint16(xArgRM32),
+       /*9624*/ uint16(xArgImm8),
+       /*9625*/ uint16(xMatch),
+       /*9626*/ uint16(xCondDataSize), 9614, 9620, 9630,
+       /*9630*/ uint16(xSetOp), uint16(OR),
        /*9632*/ uint16(xReadIb),
-       /*9633*/ uint16(xArgRM32),
+       /*9633*/ uint16(xArgRM64),
        /*9634*/ uint16(xArgImm8),
        /*9635*/ uint16(xMatch),
-       /*9636*/ uint16(xCondDataSize), 9624, 9630, 9640,
-       /*9640*/ uint16(xSetOp), uint16(ADC),
-       /*9642*/ uint16(xReadIb),
-       /*9643*/ uint16(xArgRM64),
-       /*9644*/ uint16(xArgImm8),
-       /*9645*/ uint16(xMatch),
-       /*9646*/ uint16(xCondIs64), 9649, 9665,
-       /*9649*/ uint16(xCondDataSize), 9653, 9659, 0,
-       /*9653*/ uint16(xSetOp), uint16(SBB),
-       /*9655*/ uint16(xReadIb),
-       /*9656*/ uint16(xArgRM16),
-       /*9657*/ uint16(xArgImm8),
-       /*9658*/ uint16(xMatch),
-       /*9659*/ uint16(xSetOp), uint16(SBB),
+       /*9636*/ uint16(xCondIs64), 9639, 9655,
+       /*9639*/ uint16(xCondDataSize), 9643, 9649, 0,
+       /*9643*/ uint16(xSetOp), uint16(ADC),
+       /*9645*/ uint16(xReadIb),
+       /*9646*/ uint16(xArgRM16),
+       /*9647*/ uint16(xArgImm8),
+       /*9648*/ uint16(xMatch),
+       /*9649*/ uint16(xSetOp), uint16(ADC),
+       /*9651*/ uint16(xReadIb),
+       /*9652*/ uint16(xArgRM32),
+       /*9653*/ uint16(xArgImm8),
+       /*9654*/ uint16(xMatch),
+       /*9655*/ uint16(xCondDataSize), 9643, 9649, 9659,
+       /*9659*/ uint16(xSetOp), uint16(ADC),
        /*9661*/ uint16(xReadIb),
-       /*9662*/ uint16(xArgRM32),
+       /*9662*/ uint16(xArgRM64),
        /*9663*/ uint16(xArgImm8),
        /*9664*/ uint16(xMatch),
-       /*9665*/ uint16(xCondDataSize), 9653, 9659, 9669,
-       /*9669*/ uint16(xSetOp), uint16(SBB),
-       /*9671*/ uint16(xReadIb),
-       /*9672*/ uint16(xArgRM64),
-       /*9673*/ uint16(xArgImm8),
-       /*9674*/ uint16(xMatch),
-       /*9675*/ uint16(xCondIs64), 9678, 9694,
-       /*9678*/ uint16(xCondDataSize), 9682, 9688, 0,
-       /*9682*/ uint16(xSetOp), uint16(AND),
-       /*9684*/ uint16(xReadIb),
-       /*9685*/ uint16(xArgRM16),
-       /*9686*/ uint16(xArgImm8),
-       /*9687*/ uint16(xMatch),
-       /*9688*/ uint16(xSetOp), uint16(AND),
+       /*9665*/ uint16(xCondIs64), 9668, 9684,
+       /*9668*/ uint16(xCondDataSize), 9672, 9678, 0,
+       /*9672*/ uint16(xSetOp), uint16(SBB),
+       /*9674*/ uint16(xReadIb),
+       /*9675*/ uint16(xArgRM16),
+       /*9676*/ uint16(xArgImm8),
+       /*9677*/ uint16(xMatch),
+       /*9678*/ uint16(xSetOp), uint16(SBB),
+       /*9680*/ uint16(xReadIb),
+       /*9681*/ uint16(xArgRM32),
+       /*9682*/ uint16(xArgImm8),
+       /*9683*/ uint16(xMatch),
+       /*9684*/ uint16(xCondDataSize), 9672, 9678, 9688,
+       /*9688*/ uint16(xSetOp), uint16(SBB),
        /*9690*/ uint16(xReadIb),
-       /*9691*/ uint16(xArgRM32),
+       /*9691*/ uint16(xArgRM64),
        /*9692*/ uint16(xArgImm8),
        /*9693*/ uint16(xMatch),
-       /*9694*/ uint16(xCondDataSize), 9682, 9688, 9698,
-       /*9698*/ uint16(xSetOp), uint16(AND),
-       /*9700*/ uint16(xReadIb),
-       /*9701*/ uint16(xArgRM64),
-       /*9702*/ uint16(xArgImm8),
-       /*9703*/ uint16(xMatch),
-       /*9704*/ uint16(xCondIs64), 9707, 9723,
-       /*9707*/ uint16(xCondDataSize), 9711, 9717, 0,
-       /*9711*/ uint16(xSetOp), uint16(SUB),
-       /*9713*/ uint16(xReadIb),
-       /*9714*/ uint16(xArgRM16),
-       /*9715*/ uint16(xArgImm8),
-       /*9716*/ uint16(xMatch),
-       /*9717*/ uint16(xSetOp), uint16(SUB),
+       /*9694*/ uint16(xCondIs64), 9697, 9713,
+       /*9697*/ uint16(xCondDataSize), 9701, 9707, 0,
+       /*9701*/ uint16(xSetOp), uint16(AND),
+       /*9703*/ uint16(xReadIb),
+       /*9704*/ uint16(xArgRM16),
+       /*9705*/ uint16(xArgImm8),
+       /*9706*/ uint16(xMatch),
+       /*9707*/ uint16(xSetOp), uint16(AND),
+       /*9709*/ uint16(xReadIb),
+       /*9710*/ uint16(xArgRM32),
+       /*9711*/ uint16(xArgImm8),
+       /*9712*/ uint16(xMatch),
+       /*9713*/ uint16(xCondDataSize), 9701, 9707, 9717,
+       /*9717*/ uint16(xSetOp), uint16(AND),
        /*9719*/ uint16(xReadIb),
-       /*9720*/ uint16(xArgRM32),
+       /*9720*/ uint16(xArgRM64),
        /*9721*/ uint16(xArgImm8),
        /*9722*/ uint16(xMatch),
-       /*9723*/ uint16(xCondDataSize), 9711, 9717, 9727,
-       /*9727*/ uint16(xSetOp), uint16(SUB),
-       /*9729*/ uint16(xReadIb),
-       /*9730*/ uint16(xArgRM64),
-       /*9731*/ uint16(xArgImm8),
-       /*9732*/ uint16(xMatch),
-       /*9733*/ uint16(xCondIs64), 9736, 9752,
-       /*9736*/ uint16(xCondDataSize), 9740, 9746, 0,
-       /*9740*/ uint16(xSetOp), uint16(XOR),
-       /*9742*/ uint16(xReadIb),
-       /*9743*/ uint16(xArgRM16),
-       /*9744*/ uint16(xArgImm8),
-       /*9745*/ uint16(xMatch),
-       /*9746*/ uint16(xSetOp), uint16(XOR),
+       /*9723*/ uint16(xCondIs64), 9726, 9742,
+       /*9726*/ uint16(xCondDataSize), 9730, 9736, 0,
+       /*9730*/ uint16(xSetOp), uint16(SUB),
+       /*9732*/ uint16(xReadIb),
+       /*9733*/ uint16(xArgRM16),
+       /*9734*/ uint16(xArgImm8),
+       /*9735*/ uint16(xMatch),
+       /*9736*/ uint16(xSetOp), uint16(SUB),
+       /*9738*/ uint16(xReadIb),
+       /*9739*/ uint16(xArgRM32),
+       /*9740*/ uint16(xArgImm8),
+       /*9741*/ uint16(xMatch),
+       /*9742*/ uint16(xCondDataSize), 9730, 9736, 9746,
+       /*9746*/ uint16(xSetOp), uint16(SUB),
        /*9748*/ uint16(xReadIb),
-       /*9749*/ uint16(xArgRM32),
+       /*9749*/ uint16(xArgRM64),
        /*9750*/ uint16(xArgImm8),
        /*9751*/ uint16(xMatch),
-       /*9752*/ uint16(xCondDataSize), 9740, 9746, 9756,
-       /*9756*/ uint16(xSetOp), uint16(XOR),
-       /*9758*/ uint16(xReadIb),
-       /*9759*/ uint16(xArgRM64),
-       /*9760*/ uint16(xArgImm8),
-       /*9761*/ uint16(xMatch),
-       /*9762*/ uint16(xCondIs64), 9765, 9781,
-       /*9765*/ uint16(xCondDataSize), 9769, 9775, 0,
-       /*9769*/ uint16(xSetOp), uint16(CMP),
-       /*9771*/ uint16(xReadIb),
-       /*9772*/ uint16(xArgRM16),
-       /*9773*/ uint16(xArgImm8),
-       /*9774*/ uint16(xMatch),
-       /*9775*/ uint16(xSetOp), uint16(CMP),
+       /*9752*/ uint16(xCondIs64), 9755, 9771,
+       /*9755*/ uint16(xCondDataSize), 9759, 9765, 0,
+       /*9759*/ uint16(xSetOp), uint16(XOR),
+       /*9761*/ uint16(xReadIb),
+       /*9762*/ uint16(xArgRM16),
+       /*9763*/ uint16(xArgImm8),
+       /*9764*/ uint16(xMatch),
+       /*9765*/ uint16(xSetOp), uint16(XOR),
+       /*9767*/ uint16(xReadIb),
+       /*9768*/ uint16(xArgRM32),
+       /*9769*/ uint16(xArgImm8),
+       /*9770*/ uint16(xMatch),
+       /*9771*/ uint16(xCondDataSize), 9759, 9765, 9775,
+       /*9775*/ uint16(xSetOp), uint16(XOR),
        /*9777*/ uint16(xReadIb),
-       /*9778*/ uint16(xArgRM32),
+       /*9778*/ uint16(xArgRM64),
        /*9779*/ uint16(xArgImm8),
        /*9780*/ uint16(xMatch),
-       /*9781*/ uint16(xCondDataSize), 9769, 9775, 9785,
-       /*9785*/ uint16(xSetOp), uint16(CMP),
-       /*9787*/ uint16(xReadIb),
-       /*9788*/ uint16(xArgRM64),
-       /*9789*/ uint16(xArgImm8),
-       /*9790*/ uint16(xMatch),
-       /*9791*/ uint16(xSetOp), uint16(TEST),
-       /*9793*/ uint16(xReadSlashR),
-       /*9794*/ uint16(xArgRM8),
-       /*9795*/ uint16(xArgR8),
-       /*9796*/ uint16(xMatch),
-       /*9797*/ uint16(xCondIs64), 9800, 9816,
-       /*9800*/ uint16(xCondDataSize), 9804, 9810, 0,
-       /*9804*/ uint16(xSetOp), uint16(TEST),
-       /*9806*/ uint16(xReadSlashR),
-       /*9807*/ uint16(xArgRM16),
-       /*9808*/ uint16(xArgR16),
+       /*9781*/ uint16(xCondIs64), 9784, 9800,
+       /*9784*/ uint16(xCondDataSize), 9788, 9794, 0,
+       /*9788*/ uint16(xSetOp), uint16(CMP),
+       /*9790*/ uint16(xReadIb),
+       /*9791*/ uint16(xArgRM16),
+       /*9792*/ uint16(xArgImm8),
+       /*9793*/ uint16(xMatch),
+       /*9794*/ uint16(xSetOp), uint16(CMP),
+       /*9796*/ uint16(xReadIb),
+       /*9797*/ uint16(xArgRM32),
+       /*9798*/ uint16(xArgImm8),
+       /*9799*/ uint16(xMatch),
+       /*9800*/ uint16(xCondDataSize), 9788, 9794, 9804,
+       /*9804*/ uint16(xSetOp), uint16(CMP),
+       /*9806*/ uint16(xReadIb),
+       /*9807*/ uint16(xArgRM64),
+       /*9808*/ uint16(xArgImm8),
        /*9809*/ uint16(xMatch),
        /*9810*/ uint16(xSetOp), uint16(TEST),
        /*9812*/ uint16(xReadSlashR),
-       /*9813*/ uint16(xArgRM32),
-       /*9814*/ uint16(xArgR32),
+       /*9813*/ uint16(xArgRM8),
+       /*9814*/ uint16(xArgR8),
        /*9815*/ uint16(xMatch),
-       /*9816*/ uint16(xCondDataSize), 9804, 9810, 9820,
-       /*9820*/ uint16(xSetOp), uint16(TEST),
-       /*9822*/ uint16(xReadSlashR),
-       /*9823*/ uint16(xArgRM64),
-       /*9824*/ uint16(xArgR64),
-       /*9825*/ uint16(xMatch),
-       /*9826*/ uint16(xSetOp), uint16(XCHG),
-       /*9828*/ uint16(xReadSlashR),
-       /*9829*/ uint16(xArgRM8),
-       /*9830*/ uint16(xArgR8),
-       /*9831*/ uint16(xMatch),
-       /*9832*/ uint16(xCondIs64), 9835, 9851,
-       /*9835*/ uint16(xCondDataSize), 9839, 9845, 0,
-       /*9839*/ uint16(xSetOp), uint16(XCHG),
+       /*9816*/ uint16(xCondIs64), 9819, 9835,
+       /*9819*/ uint16(xCondDataSize), 9823, 9829, 0,
+       /*9823*/ uint16(xSetOp), uint16(TEST),
+       /*9825*/ uint16(xReadSlashR),
+       /*9826*/ uint16(xArgRM16),
+       /*9827*/ uint16(xArgR16),
+       /*9828*/ uint16(xMatch),
+       /*9829*/ uint16(xSetOp), uint16(TEST),
+       /*9831*/ uint16(xReadSlashR),
+       /*9832*/ uint16(xArgRM32),
+       /*9833*/ uint16(xArgR32),
+       /*9834*/ uint16(xMatch),
+       /*9835*/ uint16(xCondDataSize), 9823, 9829, 9839,
+       /*9839*/ uint16(xSetOp), uint16(TEST),
        /*9841*/ uint16(xReadSlashR),
-       /*9842*/ uint16(xArgRM16),
-       /*9843*/ uint16(xArgR16),
+       /*9842*/ uint16(xArgRM64),
+       /*9843*/ uint16(xArgR64),
        /*9844*/ uint16(xMatch),
        /*9845*/ uint16(xSetOp), uint16(XCHG),
        /*9847*/ uint16(xReadSlashR),
-       /*9848*/ uint16(xArgRM32),
-       /*9849*/ uint16(xArgR32),
+       /*9848*/ uint16(xArgRM8),
+       /*9849*/ uint16(xArgR8),
        /*9850*/ uint16(xMatch),
-       /*9851*/ uint16(xCondDataSize), 9839, 9845, 9855,
-       /*9855*/ uint16(xSetOp), uint16(XCHG),
-       /*9857*/ uint16(xReadSlashR),
-       /*9858*/ uint16(xArgRM64),
-       /*9859*/ uint16(xArgR64),
-       /*9860*/ uint16(xMatch),
-       /*9861*/ uint16(xSetOp), uint16(MOV),
-       /*9863*/ uint16(xReadSlashR),
-       /*9864*/ uint16(xArgRM8),
-       /*9865*/ uint16(xArgR8),
-       /*9866*/ uint16(xMatch),
-       /*9867*/ uint16(xCondDataSize), 9871, 9877, 9883,
-       /*9871*/ uint16(xSetOp), uint16(MOV),
-       /*9873*/ uint16(xReadSlashR),
-       /*9874*/ uint16(xArgRM16),
-       /*9875*/ uint16(xArgR16),
-       /*9876*/ uint16(xMatch),
-       /*9877*/ uint16(xSetOp), uint16(MOV),
-       /*9879*/ uint16(xReadSlashR),
-       /*9880*/ uint16(xArgRM32),
-       /*9881*/ uint16(xArgR32),
-       /*9882*/ uint16(xMatch),
-       /*9883*/ uint16(xSetOp), uint16(MOV),
-       /*9885*/ uint16(xReadSlashR),
-       /*9886*/ uint16(xArgRM64),
-       /*9887*/ uint16(xArgR64),
-       /*9888*/ uint16(xMatch),
-       /*9889*/ uint16(xSetOp), uint16(MOV),
-       /*9891*/ uint16(xReadSlashR),
-       /*9892*/ uint16(xArgR8),
-       /*9893*/ uint16(xArgRM8),
-       /*9894*/ uint16(xMatch),
-       /*9895*/ uint16(xCondDataSize), 9899, 9905, 9911,
-       /*9899*/ uint16(xSetOp), uint16(MOV),
-       /*9901*/ uint16(xReadSlashR),
-       /*9902*/ uint16(xArgR16),
-       /*9903*/ uint16(xArgRM16),
-       /*9904*/ uint16(xMatch),
-       /*9905*/ uint16(xSetOp), uint16(MOV),
-       /*9907*/ uint16(xReadSlashR),
-       /*9908*/ uint16(xArgR32),
-       /*9909*/ uint16(xArgRM32),
-       /*9910*/ uint16(xMatch),
-       /*9911*/ uint16(xSetOp), uint16(MOV),
-       /*9913*/ uint16(xReadSlashR),
-       /*9914*/ uint16(xArgR64),
-       /*9915*/ uint16(xArgRM64),
-       /*9916*/ uint16(xMatch),
-       /*9917*/ uint16(xCondIs64), 9920, 9936,
-       /*9920*/ uint16(xCondDataSize), 9924, 9930, 0,
+       /*9851*/ uint16(xCondIs64), 9854, 9870,
+       /*9854*/ uint16(xCondDataSize), 9858, 9864, 0,
+       /*9858*/ uint16(xSetOp), uint16(XCHG),
+       /*9860*/ uint16(xReadSlashR),
+       /*9861*/ uint16(xArgRM16),
+       /*9862*/ uint16(xArgR16),
+       /*9863*/ uint16(xMatch),
+       /*9864*/ uint16(xSetOp), uint16(XCHG),
+       /*9866*/ uint16(xReadSlashR),
+       /*9867*/ uint16(xArgRM32),
+       /*9868*/ uint16(xArgR32),
+       /*9869*/ uint16(xMatch),
+       /*9870*/ uint16(xCondDataSize), 9858, 9864, 9874,
+       /*9874*/ uint16(xSetOp), uint16(XCHG),
+       /*9876*/ uint16(xReadSlashR),
+       /*9877*/ uint16(xArgRM64),
+       /*9878*/ uint16(xArgR64),
+       /*9879*/ uint16(xMatch),
+       /*9880*/ uint16(xSetOp), uint16(MOV),
+       /*9882*/ uint16(xReadSlashR),
+       /*9883*/ uint16(xArgRM8),
+       /*9884*/ uint16(xArgR8),
+       /*9885*/ uint16(xMatch),
+       /*9886*/ uint16(xCondDataSize), 9890, 9896, 9902,
+       /*9890*/ uint16(xSetOp), uint16(MOV),
+       /*9892*/ uint16(xReadSlashR),
+       /*9893*/ uint16(xArgRM16),
+       /*9894*/ uint16(xArgR16),
+       /*9895*/ uint16(xMatch),
+       /*9896*/ uint16(xSetOp), uint16(MOV),
+       /*9898*/ uint16(xReadSlashR),
+       /*9899*/ uint16(xArgRM32),
+       /*9900*/ uint16(xArgR32),
+       /*9901*/ uint16(xMatch),
+       /*9902*/ uint16(xSetOp), uint16(MOV),
+       /*9904*/ uint16(xReadSlashR),
+       /*9905*/ uint16(xArgRM64),
+       /*9906*/ uint16(xArgR64),
+       /*9907*/ uint16(xMatch),
+       /*9908*/ uint16(xSetOp), uint16(MOV),
+       /*9910*/ uint16(xReadSlashR),
+       /*9911*/ uint16(xArgR8),
+       /*9912*/ uint16(xArgRM8),
+       /*9913*/ uint16(xMatch),
+       /*9914*/ uint16(xCondDataSize), 9918, 9924, 9930,
+       /*9918*/ uint16(xSetOp), uint16(MOV),
+       /*9920*/ uint16(xReadSlashR),
+       /*9921*/ uint16(xArgR16),
+       /*9922*/ uint16(xArgRM16),
+       /*9923*/ uint16(xMatch),
        /*9924*/ uint16(xSetOp), uint16(MOV),
        /*9926*/ uint16(xReadSlashR),
-       /*9927*/ uint16(xArgRM16),
-       /*9928*/ uint16(xArgSreg),
+       /*9927*/ uint16(xArgR32),
+       /*9928*/ uint16(xArgRM32),
        /*9929*/ uint16(xMatch),
        /*9930*/ uint16(xSetOp), uint16(MOV),
        /*9932*/ uint16(xReadSlashR),
-       /*9933*/ uint16(xArgR32M16),
-       /*9934*/ uint16(xArgSreg),
+       /*9933*/ uint16(xArgR64),
+       /*9934*/ uint16(xArgRM64),
        /*9935*/ uint16(xMatch),
-       /*9936*/ uint16(xCondDataSize), 9924, 9930, 9940,
-       /*9940*/ uint16(xSetOp), uint16(MOV),
-       /*9942*/ uint16(xReadSlashR),
-       /*9943*/ uint16(xArgR64M16),
-       /*9944*/ uint16(xArgSreg),
-       /*9945*/ uint16(xMatch),
-       /*9946*/ uint16(xCondIs64), 9949, 9965,
-       /*9949*/ uint16(xCondDataSize), 9953, 9959, 0,
-       /*9953*/ uint16(xSetOp), uint16(LEA),
-       /*9955*/ uint16(xReadSlashR),
-       /*9956*/ uint16(xArgR16),
-       /*9957*/ uint16(xArgM),
-       /*9958*/ uint16(xMatch),
-       /*9959*/ uint16(xSetOp), uint16(LEA),
+       /*9936*/ uint16(xCondIs64), 9939, 9955,
+       /*9939*/ uint16(xCondDataSize), 9943, 9949, 0,
+       /*9943*/ uint16(xSetOp), uint16(MOV),
+       /*9945*/ uint16(xReadSlashR),
+       /*9946*/ uint16(xArgRM16),
+       /*9947*/ uint16(xArgSreg),
+       /*9948*/ uint16(xMatch),
+       /*9949*/ uint16(xSetOp), uint16(MOV),
+       /*9951*/ uint16(xReadSlashR),
+       /*9952*/ uint16(xArgR32M16),
+       /*9953*/ uint16(xArgSreg),
+       /*9954*/ uint16(xMatch),
+       /*9955*/ uint16(xCondDataSize), 9943, 9949, 9959,
+       /*9959*/ uint16(xSetOp), uint16(MOV),
        /*9961*/ uint16(xReadSlashR),
-       /*9962*/ uint16(xArgR32),
-       /*9963*/ uint16(xArgM),
+       /*9962*/ uint16(xArgR64M16),
+       /*9963*/ uint16(xArgSreg),
        /*9964*/ uint16(xMatch),
-       /*9965*/ uint16(xCondDataSize), 9953, 9959, 9969,
-       /*9969*/ uint16(xSetOp), uint16(LEA),
-       /*9971*/ uint16(xReadSlashR),
-       /*9972*/ uint16(xArgR64),
-       /*9973*/ uint16(xArgM),
-       /*9974*/ uint16(xMatch),
-       /*9975*/ uint16(xCondIs64), 9978, 9994,
-       /*9978*/ uint16(xCondDataSize), 9982, 9988, 0,
-       /*9982*/ uint16(xSetOp), uint16(MOV),
-       /*9984*/ uint16(xReadSlashR),
-       /*9985*/ uint16(xArgSreg),
-       /*9986*/ uint16(xArgRM16),
-       /*9987*/ uint16(xMatch),
-       /*9988*/ uint16(xSetOp), uint16(MOV),
+       /*9965*/ uint16(xCondIs64), 9968, 9984,
+       /*9968*/ uint16(xCondDataSize), 9972, 9978, 0,
+       /*9972*/ uint16(xSetOp), uint16(LEA),
+       /*9974*/ uint16(xReadSlashR),
+       /*9975*/ uint16(xArgR16),
+       /*9976*/ uint16(xArgM),
+       /*9977*/ uint16(xMatch),
+       /*9978*/ uint16(xSetOp), uint16(LEA),
+       /*9980*/ uint16(xReadSlashR),
+       /*9981*/ uint16(xArgR32),
+       /*9982*/ uint16(xArgM),
+       /*9983*/ uint16(xMatch),
+       /*9984*/ uint16(xCondDataSize), 9972, 9978, 9988,
+       /*9988*/ uint16(xSetOp), uint16(LEA),
        /*9990*/ uint16(xReadSlashR),
-       /*9991*/ uint16(xArgSreg),
-       /*9992*/ uint16(xArgR32M16),
+       /*9991*/ uint16(xArgR64),
+       /*9992*/ uint16(xArgM),
        /*9993*/ uint16(xMatch),
-       /*9994*/ uint16(xCondDataSize), 9982, 9988, 9998,
-       /*9998*/ uint16(xSetOp), uint16(MOV),
-       /*10000*/ uint16(xReadSlashR),
-       /*10001*/ uint16(xArgSreg),
-       /*10002*/ uint16(xArgR64M16),
-       /*10003*/ uint16(xMatch),
-       /*10004*/ uint16(xCondSlashR),
-       10013, // 0
+       /*9994*/ uint16(xCondIs64), 9997, 10013,
+       /*9997*/ uint16(xCondDataSize), 10001, 10007, 0,
+       /*10001*/ uint16(xSetOp), uint16(MOV),
+       /*10003*/ uint16(xReadSlashR),
+       /*10004*/ uint16(xArgSreg),
+       /*10005*/ uint16(xArgRM16),
+       /*10006*/ uint16(xMatch),
+       /*10007*/ uint16(xSetOp), uint16(MOV),
+       /*10009*/ uint16(xReadSlashR),
+       /*10010*/ uint16(xArgSreg),
+       /*10011*/ uint16(xArgR32M16),
+       /*10012*/ uint16(xMatch),
+       /*10013*/ uint16(xCondDataSize), 10001, 10007, 10017,
+       /*10017*/ uint16(xSetOp), uint16(MOV),
+       /*10019*/ uint16(xReadSlashR),
+       /*10020*/ uint16(xArgSreg),
+       /*10021*/ uint16(xArgR64M16),
+       /*10022*/ uint16(xMatch),
+       /*10023*/ uint16(xCondSlashR),
+       10032, // 0
        0,     // 1
        0,     // 2
        0,     // 3
@@ -6540,458 +6551,458 @@ var decoder = [...]uint16{
        0,     // 5
        0,     // 6
        0,     // 7
-       /*10013*/ uint16(xCondIs64), 10016, 10028,
-       /*10016*/ uint16(xCondDataSize), 10020, 10024, 0,
-       /*10020*/ uint16(xSetOp), uint16(POP),
-       /*10022*/ uint16(xArgRM16),
-       /*10023*/ uint16(xMatch),
-       /*10024*/ uint16(xSetOp), uint16(POP),
-       /*10026*/ uint16(xArgRM32),
-       /*10027*/ uint16(xMatch),
-       /*10028*/ uint16(xCondDataSize), 10020, 10032, 10036,
-       /*10032*/ uint16(xSetOp), uint16(POP),
-       /*10034*/ uint16(xArgRM64),
-       /*10035*/ uint16(xMatch),
-       /*10036*/ uint16(xSetOp), uint16(POP),
-       /*10038*/ uint16(xArgRM64),
-       /*10039*/ uint16(xMatch),
-       /*10040*/ uint16(xCondIs64), 10043, 10057,
-       /*10043*/ uint16(xCondDataSize), 10047, 10052, 0,
-       /*10047*/ uint16(xSetOp), uint16(XCHG),
-       /*10049*/ uint16(xArgR16op),
-       /*10050*/ uint16(xArgAX),
-       /*10051*/ uint16(xMatch),
-       /*10052*/ uint16(xSetOp), uint16(XCHG),
-       /*10054*/ uint16(xArgR32op),
-       /*10055*/ uint16(xArgEAX),
-       /*10056*/ uint16(xMatch),
-       /*10057*/ uint16(xCondDataSize), 10047, 10052, 10061,
-       /*10061*/ uint16(xSetOp), uint16(XCHG),
-       /*10063*/ uint16(xArgR64op),
-       /*10064*/ uint16(xArgRAX),
-       /*10065*/ uint16(xMatch),
-       /*10066*/ uint16(xCondIs64), 10069, 10079,
-       /*10069*/ uint16(xCondDataSize), 10073, 10076, 0,
-       /*10073*/ uint16(xSetOp), uint16(CBW),
+       /*10032*/ uint16(xCondIs64), 10035, 10047,
+       /*10035*/ uint16(xCondDataSize), 10039, 10043, 0,
+       /*10039*/ uint16(xSetOp), uint16(POP),
+       /*10041*/ uint16(xArgRM16),
+       /*10042*/ uint16(xMatch),
+       /*10043*/ uint16(xSetOp), uint16(POP),
+       /*10045*/ uint16(xArgRM32),
+       /*10046*/ uint16(xMatch),
+       /*10047*/ uint16(xCondDataSize), 10039, 10051, 10055,
+       /*10051*/ uint16(xSetOp), uint16(POP),
+       /*10053*/ uint16(xArgRM64),
+       /*10054*/ uint16(xMatch),
+       /*10055*/ uint16(xSetOp), uint16(POP),
+       /*10057*/ uint16(xArgRM64),
+       /*10058*/ uint16(xMatch),
+       /*10059*/ uint16(xCondIs64), 10062, 10076,
+       /*10062*/ uint16(xCondDataSize), 10066, 10071, 0,
+       /*10066*/ uint16(xSetOp), uint16(XCHG),
+       /*10068*/ uint16(xArgR16op),
+       /*10069*/ uint16(xArgAX),
+       /*10070*/ uint16(xMatch),
+       /*10071*/ uint16(xSetOp), uint16(XCHG),
+       /*10073*/ uint16(xArgR32op),
+       /*10074*/ uint16(xArgEAX),
        /*10075*/ uint16(xMatch),
-       /*10076*/ uint16(xSetOp), uint16(CWDE),
-       /*10078*/ uint16(xMatch),
-       /*10079*/ uint16(xCondDataSize), 10073, 10076, 10083,
-       /*10083*/ uint16(xSetOp), uint16(CDQE),
-       /*10085*/ uint16(xMatch),
-       /*10086*/ uint16(xCondIs64), 10089, 10099,
-       /*10089*/ uint16(xCondDataSize), 10093, 10096, 0,
-       /*10093*/ uint16(xSetOp), uint16(CWD),
-       /*10095*/ uint16(xMatch),
-       /*10096*/ uint16(xSetOp), uint16(CDQ),
-       /*10098*/ uint16(xMatch),
-       /*10099*/ uint16(xCondDataSize), 10093, 10096, 10103,
-       /*10103*/ uint16(xSetOp), uint16(CQO),
-       /*10105*/ uint16(xMatch),
-       /*10106*/ uint16(xCondIs64), 10109, 0,
-       /*10109*/ uint16(xCondDataSize), 10113, 10118, 0,
-       /*10113*/ uint16(xSetOp), uint16(LCALL),
-       /*10115*/ uint16(xReadCd),
-       /*10116*/ uint16(xArgPtr16colon16),
+       /*10076*/ uint16(xCondDataSize), 10066, 10071, 10080,
+       /*10080*/ uint16(xSetOp), uint16(XCHG),
+       /*10082*/ uint16(xArgR64op),
+       /*10083*/ uint16(xArgRAX),
+       /*10084*/ uint16(xMatch),
+       /*10085*/ uint16(xCondIs64), 10088, 10098,
+       /*10088*/ uint16(xCondDataSize), 10092, 10095, 0,
+       /*10092*/ uint16(xSetOp), uint16(CBW),
+       /*10094*/ uint16(xMatch),
+       /*10095*/ uint16(xSetOp), uint16(CWDE),
+       /*10097*/ uint16(xMatch),
+       /*10098*/ uint16(xCondDataSize), 10092, 10095, 10102,
+       /*10102*/ uint16(xSetOp), uint16(CDQE),
+       /*10104*/ uint16(xMatch),
+       /*10105*/ uint16(xCondIs64), 10108, 10118,
+       /*10108*/ uint16(xCondDataSize), 10112, 10115, 0,
+       /*10112*/ uint16(xSetOp), uint16(CWD),
+       /*10114*/ uint16(xMatch),
+       /*10115*/ uint16(xSetOp), uint16(CDQ),
        /*10117*/ uint16(xMatch),
-       /*10118*/ uint16(xSetOp), uint16(LCALL),
-       /*10120*/ uint16(xReadCp),
-       /*10121*/ uint16(xArgPtr16colon32),
-       /*10122*/ uint16(xMatch),
-       /*10123*/ uint16(xSetOp), uint16(FWAIT),
-       /*10125*/ uint16(xMatch),
-       /*10126*/ uint16(xCondIs64), 10129, 10139,
-       /*10129*/ uint16(xCondDataSize), 10133, 10136, 0,
-       /*10133*/ uint16(xSetOp), uint16(PUSHF),
-       /*10135*/ uint16(xMatch),
-       /*10136*/ uint16(xSetOp), uint16(PUSHFD),
-       /*10138*/ uint16(xMatch),
-       /*10139*/ uint16(xCondDataSize), 10133, 10143, 10146,
-       /*10143*/ uint16(xSetOp), uint16(PUSHFQ),
-       /*10145*/ uint16(xMatch),
-       /*10146*/ uint16(xSetOp), uint16(PUSHFQ),
-       /*10148*/ uint16(xMatch),
-       /*10149*/ uint16(xCondIs64), 10152, 10162,
-       /*10152*/ uint16(xCondDataSize), 10156, 10159, 0,
-       /*10156*/ uint16(xSetOp), uint16(POPF),
-       /*10158*/ uint16(xMatch),
-       /*10159*/ uint16(xSetOp), uint16(POPFD),
-       /*10161*/ uint16(xMatch),
-       /*10162*/ uint16(xCondDataSize), 10156, 10166, 10169,
-       /*10166*/ uint16(xSetOp), uint16(POPFQ),
-       /*10168*/ uint16(xMatch),
-       /*10169*/ uint16(xSetOp), uint16(POPFQ),
-       /*10171*/ uint16(xMatch),
-       /*10172*/ uint16(xSetOp), uint16(SAHF),
-       /*10174*/ uint16(xMatch),
-       /*10175*/ uint16(xSetOp), uint16(LAHF),
+       /*10118*/ uint16(xCondDataSize), 10112, 10115, 10122,
+       /*10122*/ uint16(xSetOp), uint16(CQO),
+       /*10124*/ uint16(xMatch),
+       /*10125*/ uint16(xCondIs64), 10128, 0,
+       /*10128*/ uint16(xCondDataSize), 10132, 10137, 0,
+       /*10132*/ uint16(xSetOp), uint16(LCALL),
+       /*10134*/ uint16(xReadCd),
+       /*10135*/ uint16(xArgPtr16colon16),
+       /*10136*/ uint16(xMatch),
+       /*10137*/ uint16(xSetOp), uint16(LCALL),
+       /*10139*/ uint16(xReadCp),
+       /*10140*/ uint16(xArgPtr16colon32),
+       /*10141*/ uint16(xMatch),
+       /*10142*/ uint16(xSetOp), uint16(FWAIT),
+       /*10144*/ uint16(xMatch),
+       /*10145*/ uint16(xCondIs64), 10148, 10158,
+       /*10148*/ uint16(xCondDataSize), 10152, 10155, 0,
+       /*10152*/ uint16(xSetOp), uint16(PUSHF),
+       /*10154*/ uint16(xMatch),
+       /*10155*/ uint16(xSetOp), uint16(PUSHFD),
+       /*10157*/ uint16(xMatch),
+       /*10158*/ uint16(xCondDataSize), 10152, 10162, 10165,
+       /*10162*/ uint16(xSetOp), uint16(PUSHFQ),
+       /*10164*/ uint16(xMatch),
+       /*10165*/ uint16(xSetOp), uint16(PUSHFQ),
+       /*10167*/ uint16(xMatch),
+       /*10168*/ uint16(xCondIs64), 10171, 10181,
+       /*10171*/ uint16(xCondDataSize), 10175, 10178, 0,
+       /*10175*/ uint16(xSetOp), uint16(POPF),
        /*10177*/ uint16(xMatch),
-       /*10178*/ uint16(xCondIs64), 10181, 10187,
-       /*10181*/ uint16(xSetOp), uint16(MOV),
-       /*10183*/ uint16(xReadCm),
-       /*10184*/ uint16(xArgAL),
-       /*10185*/ uint16(xArgMoffs8),
-       /*10186*/ uint16(xMatch),
-       /*10187*/ uint16(xCondDataSize), 10181, 10181, 10191,
-       /*10191*/ uint16(xSetOp), uint16(MOV),
-       /*10193*/ uint16(xReadCm),
-       /*10194*/ uint16(xArgAL),
-       /*10195*/ uint16(xArgMoffs8),
+       /*10178*/ uint16(xSetOp), uint16(POPFD),
+       /*10180*/ uint16(xMatch),
+       /*10181*/ uint16(xCondDataSize), 10175, 10185, 10188,
+       /*10185*/ uint16(xSetOp), uint16(POPFQ),
+       /*10187*/ uint16(xMatch),
+       /*10188*/ uint16(xSetOp), uint16(POPFQ),
+       /*10190*/ uint16(xMatch),
+       /*10191*/ uint16(xSetOp), uint16(SAHF),
+       /*10193*/ uint16(xMatch),
+       /*10194*/ uint16(xSetOp), uint16(LAHF),
        /*10196*/ uint16(xMatch),
-       /*10197*/ uint16(xCondDataSize), 10201, 10207, 10213,
-       /*10201*/ uint16(xSetOp), uint16(MOV),
-       /*10203*/ uint16(xReadCm),
-       /*10204*/ uint16(xArgAX),
-       /*10205*/ uint16(xArgMoffs16),
-       /*10206*/ uint16(xMatch),
-       /*10207*/ uint16(xSetOp), uint16(MOV),
-       /*10209*/ uint16(xReadCm),
-       /*10210*/ uint16(xArgEAX),
-       /*10211*/ uint16(xArgMoffs32),
-       /*10212*/ uint16(xMatch),
-       /*10213*/ uint16(xSetOp), uint16(MOV),
-       /*10215*/ uint16(xReadCm),
-       /*10216*/ uint16(xArgRAX),
-       /*10217*/ uint16(xArgMoffs64),
-       /*10218*/ uint16(xMatch),
-       /*10219*/ uint16(xCondIs64), 10222, 10228,
-       /*10222*/ uint16(xSetOp), uint16(MOV),
-       /*10224*/ uint16(xReadCm),
-       /*10225*/ uint16(xArgMoffs8),
-       /*10226*/ uint16(xArgAL),
-       /*10227*/ uint16(xMatch),
-       /*10228*/ uint16(xCondDataSize), 10222, 10222, 10232,
+       /*10197*/ uint16(xCondIs64), 10200, 10206,
+       /*10200*/ uint16(xSetOp), uint16(MOV),
+       /*10202*/ uint16(xReadCm),
+       /*10203*/ uint16(xArgAL),
+       /*10204*/ uint16(xArgMoffs8),
+       /*10205*/ uint16(xMatch),
+       /*10206*/ uint16(xCondDataSize), 10200, 10200, 10210,
+       /*10210*/ uint16(xSetOp), uint16(MOV),
+       /*10212*/ uint16(xReadCm),
+       /*10213*/ uint16(xArgAL),
+       /*10214*/ uint16(xArgMoffs8),
+       /*10215*/ uint16(xMatch),
+       /*10216*/ uint16(xCondDataSize), 10220, 10226, 10232,
+       /*10220*/ uint16(xSetOp), uint16(MOV),
+       /*10222*/ uint16(xReadCm),
+       /*10223*/ uint16(xArgAX),
+       /*10224*/ uint16(xArgMoffs16),
+       /*10225*/ uint16(xMatch),
+       /*10226*/ uint16(xSetOp), uint16(MOV),
+       /*10228*/ uint16(xReadCm),
+       /*10229*/ uint16(xArgEAX),
+       /*10230*/ uint16(xArgMoffs32),
+       /*10231*/ uint16(xMatch),
        /*10232*/ uint16(xSetOp), uint16(MOV),
        /*10234*/ uint16(xReadCm),
-       /*10235*/ uint16(xArgMoffs8),
-       /*10236*/ uint16(xArgAL),
+       /*10235*/ uint16(xArgRAX),
+       /*10236*/ uint16(xArgMoffs64),
        /*10237*/ uint16(xMatch),
-       /*10238*/ uint16(xCondDataSize), 10242, 10248, 10254,
-       /*10242*/ uint16(xSetOp), uint16(MOV),
-       /*10244*/ uint16(xReadCm),
-       /*10245*/ uint16(xArgMoffs16),
-       /*10246*/ uint16(xArgAX),
-       /*10247*/ uint16(xMatch),
-       /*10248*/ uint16(xSetOp), uint16(MOV),
-       /*10250*/ uint16(xReadCm),
-       /*10251*/ uint16(xArgMoffs32),
-       /*10252*/ uint16(xArgEAX),
-       /*10253*/ uint16(xMatch),
-       /*10254*/ uint16(xSetOp), uint16(MOV),
-       /*10256*/ uint16(xReadCm),
-       /*10257*/ uint16(xArgMoffs64),
-       /*10258*/ uint16(xArgRAX),
-       /*10259*/ uint16(xMatch),
-       /*10260*/ uint16(xSetOp), uint16(MOVSB),
-       /*10262*/ uint16(xMatch),
-       /*10263*/ uint16(xCondIs64), 10266, 10276,
-       /*10266*/ uint16(xCondDataSize), 10270, 10273, 0,
-       /*10270*/ uint16(xSetOp), uint16(MOVSW),
+       /*10238*/ uint16(xCondIs64), 10241, 10247,
+       /*10241*/ uint16(xSetOp), uint16(MOV),
+       /*10243*/ uint16(xReadCm),
+       /*10244*/ uint16(xArgMoffs8),
+       /*10245*/ uint16(xArgAL),
+       /*10246*/ uint16(xMatch),
+       /*10247*/ uint16(xCondDataSize), 10241, 10241, 10251,
+       /*10251*/ uint16(xSetOp), uint16(MOV),
+       /*10253*/ uint16(xReadCm),
+       /*10254*/ uint16(xArgMoffs8),
+       /*10255*/ uint16(xArgAL),
+       /*10256*/ uint16(xMatch),
+       /*10257*/ uint16(xCondDataSize), 10261, 10267, 10273,
+       /*10261*/ uint16(xSetOp), uint16(MOV),
+       /*10263*/ uint16(xReadCm),
+       /*10264*/ uint16(xArgMoffs16),
+       /*10265*/ uint16(xArgAX),
+       /*10266*/ uint16(xMatch),
+       /*10267*/ uint16(xSetOp), uint16(MOV),
+       /*10269*/ uint16(xReadCm),
+       /*10270*/ uint16(xArgMoffs32),
+       /*10271*/ uint16(xArgEAX),
        /*10272*/ uint16(xMatch),
-       /*10273*/ uint16(xSetOp), uint16(MOVSD),
-       /*10275*/ uint16(xMatch),
-       /*10276*/ uint16(xCondDataSize), 10270, 10273, 10280,
-       /*10280*/ uint16(xSetOp), uint16(MOVSQ),
-       /*10282*/ uint16(xMatch),
-       /*10283*/ uint16(xSetOp), uint16(CMPSB),
-       /*10285*/ uint16(xMatch),
-       /*10286*/ uint16(xCondIs64), 10289, 10299,
-       /*10289*/ uint16(xCondDataSize), 10293, 10296, 0,
-       /*10293*/ uint16(xSetOp), uint16(CMPSW),
-       /*10295*/ uint16(xMatch),
-       /*10296*/ uint16(xSetOp), uint16(CMPSD),
-       /*10298*/ uint16(xMatch),
-       /*10299*/ uint16(xCondDataSize), 10293, 10296, 10303,
-       /*10303*/ uint16(xSetOp), uint16(CMPSQ),
-       /*10305*/ uint16(xMatch),
-       /*10306*/ uint16(xSetOp), uint16(TEST),
-       /*10308*/ uint16(xReadIb),
-       /*10309*/ uint16(xArgAL),
-       /*10310*/ uint16(xArgImm8u),
-       /*10311*/ uint16(xMatch),
-       /*10312*/ uint16(xCondIs64), 10315, 10331,
-       /*10315*/ uint16(xCondDataSize), 10319, 10325, 0,
-       /*10319*/ uint16(xSetOp), uint16(TEST),
-       /*10321*/ uint16(xReadIw),
-       /*10322*/ uint16(xArgAX),
-       /*10323*/ uint16(xArgImm16),
+       /*10273*/ uint16(xSetOp), uint16(MOV),
+       /*10275*/ uint16(xReadCm),
+       /*10276*/ uint16(xArgMoffs64),
+       /*10277*/ uint16(xArgRAX),
+       /*10278*/ uint16(xMatch),
+       /*10279*/ uint16(xSetOp), uint16(MOVSB),
+       /*10281*/ uint16(xMatch),
+       /*10282*/ uint16(xCondIs64), 10285, 10295,
+       /*10285*/ uint16(xCondDataSize), 10289, 10292, 0,
+       /*10289*/ uint16(xSetOp), uint16(MOVSW),
+       /*10291*/ uint16(xMatch),
+       /*10292*/ uint16(xSetOp), uint16(MOVSD),
+       /*10294*/ uint16(xMatch),
+       /*10295*/ uint16(xCondDataSize), 10289, 10292, 10299,
+       /*10299*/ uint16(xSetOp), uint16(MOVSQ),
+       /*10301*/ uint16(xMatch),
+       /*10302*/ uint16(xSetOp), uint16(CMPSB),
+       /*10304*/ uint16(xMatch),
+       /*10305*/ uint16(xCondIs64), 10308, 10318,
+       /*10308*/ uint16(xCondDataSize), 10312, 10315, 0,
+       /*10312*/ uint16(xSetOp), uint16(CMPSW),
+       /*10314*/ uint16(xMatch),
+       /*10315*/ uint16(xSetOp), uint16(CMPSD),
+       /*10317*/ uint16(xMatch),
+       /*10318*/ uint16(xCondDataSize), 10312, 10315, 10322,
+       /*10322*/ uint16(xSetOp), uint16(CMPSQ),
        /*10324*/ uint16(xMatch),
        /*10325*/ uint16(xSetOp), uint16(TEST),
-       /*10327*/ uint16(xReadId),
-       /*10328*/ uint16(xArgEAX),
-       /*10329*/ uint16(xArgImm32),
+       /*10327*/ uint16(xReadIb),
+       /*10328*/ uint16(xArgAL),
+       /*10329*/ uint16(xArgImm8u),
        /*10330*/ uint16(xMatch),
-       /*10331*/ uint16(xCondDataSize), 10319, 10325, 10335,
-       /*10335*/ uint16(xSetOp), uint16(TEST),
-       /*10337*/ uint16(xReadId),
-       /*10338*/ uint16(xArgRAX),
-       /*10339*/ uint16(xArgImm32),
-       /*10340*/ uint16(xMatch),
-       /*10341*/ uint16(xSetOp), uint16(STOSB),
+       /*10331*/ uint16(xCondIs64), 10334, 10350,
+       /*10334*/ uint16(xCondDataSize), 10338, 10344, 0,
+       /*10338*/ uint16(xSetOp), uint16(TEST),
+       /*10340*/ uint16(xReadIw),
+       /*10341*/ uint16(xArgAX),
+       /*10342*/ uint16(xArgImm16),
        /*10343*/ uint16(xMatch),
-       /*10344*/ uint16(xCondIs64), 10347, 10357,
-       /*10347*/ uint16(xCondDataSize), 10351, 10354, 0,
-       /*10351*/ uint16(xSetOp), uint16(STOSW),
-       /*10353*/ uint16(xMatch),
-       /*10354*/ uint16(xSetOp), uint16(STOSD),
-       /*10356*/ uint16(xMatch),
-       /*10357*/ uint16(xCondDataSize), 10351, 10354, 10361,
-       /*10361*/ uint16(xSetOp), uint16(STOSQ),
-       /*10363*/ uint16(xMatch),
-       /*10364*/ uint16(xSetOp), uint16(LODSB),
-       /*10366*/ uint16(xMatch),
-       /*10367*/ uint16(xCondIs64), 10370, 10380,
-       /*10370*/ uint16(xCondDataSize), 10374, 10377, 0,
-       /*10374*/ uint16(xSetOp), uint16(LODSW),
-       /*10376*/ uint16(xMatch),
-       /*10377*/ uint16(xSetOp), uint16(LODSD),
-       /*10379*/ uint16(xMatch),
-       /*10380*/ uint16(xCondDataSize), 10374, 10377, 10384,
-       /*10384*/ uint16(xSetOp), uint16(LODSQ),
-       /*10386*/ uint16(xMatch),
-       /*10387*/ uint16(xSetOp), uint16(SCASB),
-       /*10389*/ uint16(xMatch),
-       /*10390*/ uint16(xCondIs64), 10393, 10403,
-       /*10393*/ uint16(xCondDataSize), 10397, 10400, 0,
-       /*10397*/ uint16(xSetOp), uint16(SCASW),
-       /*10399*/ uint16(xMatch),
-       /*10400*/ uint16(xSetOp), uint16(SCASD),
-       /*10402*/ uint16(xMatch),
-       /*10403*/ uint16(xCondDataSize), 10397, 10400, 10407,
-       /*10407*/ uint16(xSetOp), uint16(SCASQ),
-       /*10409*/ uint16(xMatch),
-       /*10410*/ uint16(xSetOp), uint16(MOV),
-       /*10412*/ uint16(xReadIb),
-       /*10413*/ uint16(xArgR8op),
-       /*10414*/ uint16(xArgImm8u),
-       /*10415*/ uint16(xMatch),
-       /*10416*/ uint16(xCondIs64), 10419, 10435,
-       /*10419*/ uint16(xCondDataSize), 10423, 10429, 0,
-       /*10423*/ uint16(xSetOp), uint16(MOV),
-       /*10425*/ uint16(xReadIw),
-       /*10426*/ uint16(xArgR16op),
-       /*10427*/ uint16(xArgImm16),
+       /*10344*/ uint16(xSetOp), uint16(TEST),
+       /*10346*/ uint16(xReadId),
+       /*10347*/ uint16(xArgEAX),
+       /*10348*/ uint16(xArgImm32),
+       /*10349*/ uint16(xMatch),
+       /*10350*/ uint16(xCondDataSize), 10338, 10344, 10354,
+       /*10354*/ uint16(xSetOp), uint16(TEST),
+       /*10356*/ uint16(xReadId),
+       /*10357*/ uint16(xArgRAX),
+       /*10358*/ uint16(xArgImm32),
+       /*10359*/ uint16(xMatch),
+       /*10360*/ uint16(xSetOp), uint16(STOSB),
+       /*10362*/ uint16(xMatch),
+       /*10363*/ uint16(xCondIs64), 10366, 10376,
+       /*10366*/ uint16(xCondDataSize), 10370, 10373, 0,
+       /*10370*/ uint16(xSetOp), uint16(STOSW),
+       /*10372*/ uint16(xMatch),
+       /*10373*/ uint16(xSetOp), uint16(STOSD),
+       /*10375*/ uint16(xMatch),
+       /*10376*/ uint16(xCondDataSize), 10370, 10373, 10380,
+       /*10380*/ uint16(xSetOp), uint16(STOSQ),
+       /*10382*/ uint16(xMatch),
+       /*10383*/ uint16(xSetOp), uint16(LODSB),
+       /*10385*/ uint16(xMatch),
+       /*10386*/ uint16(xCondIs64), 10389, 10399,
+       /*10389*/ uint16(xCondDataSize), 10393, 10396, 0,
+       /*10393*/ uint16(xSetOp), uint16(LODSW),
+       /*10395*/ uint16(xMatch),
+       /*10396*/ uint16(xSetOp), uint16(LODSD),
+       /*10398*/ uint16(xMatch),
+       /*10399*/ uint16(xCondDataSize), 10393, 10396, 10403,
+       /*10403*/ uint16(xSetOp), uint16(LODSQ),
+       /*10405*/ uint16(xMatch),
+       /*10406*/ uint16(xSetOp), uint16(SCASB),
+       /*10408*/ uint16(xMatch),
+       /*10409*/ uint16(xCondIs64), 10412, 10422,
+       /*10412*/ uint16(xCondDataSize), 10416, 10419, 0,
+       /*10416*/ uint16(xSetOp), uint16(SCASW),
+       /*10418*/ uint16(xMatch),
+       /*10419*/ uint16(xSetOp), uint16(SCASD),
+       /*10421*/ uint16(xMatch),
+       /*10422*/ uint16(xCondDataSize), 10416, 10419, 10426,
+       /*10426*/ uint16(xSetOp), uint16(SCASQ),
        /*10428*/ uint16(xMatch),
        /*10429*/ uint16(xSetOp), uint16(MOV),
-       /*10431*/ uint16(xReadId),
-       /*10432*/ uint16(xArgR32op),
-       /*10433*/ uint16(xArgImm32),
+       /*10431*/ uint16(xReadIb),
+       /*10432*/ uint16(xArgR8op),
+       /*10433*/ uint16(xArgImm8u),
        /*10434*/ uint16(xMatch),
-       /*10435*/ uint16(xCondDataSize), 10423, 10429, 10439,
-       /*10439*/ uint16(xSetOp), uint16(MOV),
-       /*10441*/ uint16(xReadIo),
-       /*10442*/ uint16(xArgR64op),
-       /*10443*/ uint16(xArgImm64),
-       /*10444*/ uint16(xMatch),
-       /*10445*/ uint16(xCondSlashR),
-       10454, // 0
-       10460, // 1
-       10466, // 2
-       10472, // 3
-       10478, // 4
-       10484, // 5
+       /*10435*/ uint16(xCondIs64), 10438, 10454,
+       /*10438*/ uint16(xCondDataSize), 10442, 10448, 0,
+       /*10442*/ uint16(xSetOp), uint16(MOV),
+       /*10444*/ uint16(xReadIw),
+       /*10445*/ uint16(xArgR16op),
+       /*10446*/ uint16(xArgImm16),
+       /*10447*/ uint16(xMatch),
+       /*10448*/ uint16(xSetOp), uint16(MOV),
+       /*10450*/ uint16(xReadId),
+       /*10451*/ uint16(xArgR32op),
+       /*10452*/ uint16(xArgImm32),
+       /*10453*/ uint16(xMatch),
+       /*10454*/ uint16(xCondDataSize), 10442, 10448, 10458,
+       /*10458*/ uint16(xSetOp), uint16(MOV),
+       /*10460*/ uint16(xReadIo),
+       /*10461*/ uint16(xArgR64op),
+       /*10462*/ uint16(xArgImm64),
+       /*10463*/ uint16(xMatch),
+       /*10464*/ uint16(xCondSlashR),
+       10473, // 0
+       10479, // 1
+       10485, // 2
+       10491, // 3
+       10497, // 4
+       10503, // 5
        0,     // 6
-       10490, // 7
-       /*10454*/ uint16(xSetOp), uint16(ROL),
-       /*10456*/ uint16(xReadIb),
-       /*10457*/ uint16(xArgRM8),
-       /*10458*/ uint16(xArgImm8u),
-       /*10459*/ uint16(xMatch),
-       /*10460*/ uint16(xSetOp), uint16(ROR),
-       /*10462*/ uint16(xReadIb),
-       /*10463*/ uint16(xArgRM8),
-       /*10464*/ uint16(xArgImm8u),
-       /*10465*/ uint16(xMatch),
-       /*10466*/ uint16(xSetOp), uint16(RCL),
-       /*10468*/ uint16(xReadIb),
-       /*10469*/ uint16(xArgRM8),
-       /*10470*/ uint16(xArgImm8u),
-       /*10471*/ uint16(xMatch),
-       /*10472*/ uint16(xSetOp), uint16(RCR),
-       /*10474*/ uint16(xReadIb),
-       /*10475*/ uint16(xArgRM8),
-       /*10476*/ uint16(xArgImm8u),
-       /*10477*/ uint16(xMatch),
-       /*10478*/ uint16(xSetOp), uint16(SHL),
-       /*10480*/ uint16(xReadIb),
-       /*10481*/ uint16(xArgRM8),
-       /*10482*/ uint16(xArgImm8u),
-       /*10483*/ uint16(xMatch),
-       /*10484*/ uint16(xSetOp), uint16(SHR),
-       /*10486*/ uint16(xReadIb),
-       /*10487*/ uint16(xArgRM8),
-       /*10488*/ uint16(xArgImm8u),
-       /*10489*/ uint16(xMatch),
-       /*10490*/ uint16(xSetOp), uint16(SAR),
-       /*10492*/ uint16(xReadIb),
-       /*10493*/ uint16(xArgRM8),
-       /*10494*/ uint16(xArgImm8u),
-       /*10495*/ uint16(xMatch),
-       /*10496*/ uint16(xCondSlashR),
-       10505, // 0
-       10527, // 1
-       10549, // 2
-       10578, // 3
-       10607, // 4
-       10636, // 5
-       0,     // 6
-       10665, // 7
-       /*10505*/ uint16(xCondDataSize), 10509, 10515, 10521,
-       /*10509*/ uint16(xSetOp), uint16(ROL),
+       10509, // 7
+       /*10473*/ uint16(xSetOp), uint16(ROL),
+       /*10475*/ uint16(xReadIb),
+       /*10476*/ uint16(xArgRM8),
+       /*10477*/ uint16(xArgImm8u),
+       /*10478*/ uint16(xMatch),
+       /*10479*/ uint16(xSetOp), uint16(ROR),
+       /*10481*/ uint16(xReadIb),
+       /*10482*/ uint16(xArgRM8),
+       /*10483*/ uint16(xArgImm8u),
+       /*10484*/ uint16(xMatch),
+       /*10485*/ uint16(xSetOp), uint16(RCL),
+       /*10487*/ uint16(xReadIb),
+       /*10488*/ uint16(xArgRM8),
+       /*10489*/ uint16(xArgImm8u),
+       /*10490*/ uint16(xMatch),
+       /*10491*/ uint16(xSetOp), uint16(RCR),
+       /*10493*/ uint16(xReadIb),
+       /*10494*/ uint16(xArgRM8),
+       /*10495*/ uint16(xArgImm8u),
+       /*10496*/ uint16(xMatch),
+       /*10497*/ uint16(xSetOp), uint16(SHL),
+       /*10499*/ uint16(xReadIb),
+       /*10500*/ uint16(xArgRM8),
+       /*10501*/ uint16(xArgImm8u),
+       /*10502*/ uint16(xMatch),
+       /*10503*/ uint16(xSetOp), uint16(SHR),
+       /*10505*/ uint16(xReadIb),
+       /*10506*/ uint16(xArgRM8),
+       /*10507*/ uint16(xArgImm8u),
+       /*10508*/ uint16(xMatch),
+       /*10509*/ uint16(xSetOp), uint16(SAR),
        /*10511*/ uint16(xReadIb),
-       /*10512*/ uint16(xArgRM16),
+       /*10512*/ uint16(xArgRM8),
        /*10513*/ uint16(xArgImm8u),
        /*10514*/ uint16(xMatch),
-       /*10515*/ uint16(xSetOp), uint16(ROL),
-       /*10517*/ uint16(xReadIb),
-       /*10518*/ uint16(xArgRM32),
-       /*10519*/ uint16(xArgImm8u),
-       /*10520*/ uint16(xMatch),
-       /*10521*/ uint16(xSetOp), uint16(ROL),
-       /*10523*/ uint16(xReadIb),
-       /*10524*/ uint16(xArgRM64),
-       /*10525*/ uint16(xArgImm8u),
-       /*10526*/ uint16(xMatch),
-       /*10527*/ uint16(xCondDataSize), 10531, 10537, 10543,
-       /*10531*/ uint16(xSetOp), uint16(ROR),
-       /*10533*/ uint16(xReadIb),
-       /*10534*/ uint16(xArgRM16),
-       /*10535*/ uint16(xArgImm8u),
-       /*10536*/ uint16(xMatch),
-       /*10537*/ uint16(xSetOp), uint16(ROR),
-       /*10539*/ uint16(xReadIb),
-       /*10540*/ uint16(xArgRM32),
-       /*10541*/ uint16(xArgImm8u),
-       /*10542*/ uint16(xMatch),
-       /*10543*/ uint16(xSetOp), uint16(ROR),
-       /*10545*/ uint16(xReadIb),
-       /*10546*/ uint16(xArgRM64),
-       /*10547*/ uint16(xArgImm8u),
-       /*10548*/ uint16(xMatch),
-       /*10549*/ uint16(xCondIs64), 10552, 10568,
-       /*10552*/ uint16(xCondDataSize), 10556, 10562, 0,
-       /*10556*/ uint16(xSetOp), uint16(RCL),
+       /*10515*/ uint16(xCondSlashR),
+       10524, // 0
+       10546, // 1
+       10568, // 2
+       10597, // 3
+       10626, // 4
+       10655, // 5
+       0,     // 6
+       10684, // 7
+       /*10524*/ uint16(xCondDataSize), 10528, 10534, 10540,
+       /*10528*/ uint16(xSetOp), uint16(ROL),
+       /*10530*/ uint16(xReadIb),
+       /*10531*/ uint16(xArgRM16),
+       /*10532*/ uint16(xArgImm8u),
+       /*10533*/ uint16(xMatch),
+       /*10534*/ uint16(xSetOp), uint16(ROL),
+       /*10536*/ uint16(xReadIb),
+       /*10537*/ uint16(xArgRM32),
+       /*10538*/ uint16(xArgImm8u),
+       /*10539*/ uint16(xMatch),
+       /*10540*/ uint16(xSetOp), uint16(ROL),
+       /*10542*/ uint16(xReadIb),
+       /*10543*/ uint16(xArgRM64),
+       /*10544*/ uint16(xArgImm8u),
+       /*10545*/ uint16(xMatch),
+       /*10546*/ uint16(xCondDataSize), 10550, 10556, 10562,
+       /*10550*/ uint16(xSetOp), uint16(ROR),
+       /*10552*/ uint16(xReadIb),
+       /*10553*/ uint16(xArgRM16),
+       /*10554*/ uint16(xArgImm8u),
+       /*10555*/ uint16(xMatch),
+       /*10556*/ uint16(xSetOp), uint16(ROR),
        /*10558*/ uint16(xReadIb),
-       /*10559*/ uint16(xArgRM16),
+       /*10559*/ uint16(xArgRM32),
        /*10560*/ uint16(xArgImm8u),
        /*10561*/ uint16(xMatch),
-       /*10562*/ uint16(xSetOp), uint16(RCL),
+       /*10562*/ uint16(xSetOp), uint16(ROR),
        /*10564*/ uint16(xReadIb),
-       /*10565*/ uint16(xArgRM32),
+       /*10565*/ uint16(xArgRM64),
        /*10566*/ uint16(xArgImm8u),
        /*10567*/ uint16(xMatch),
-       /*10568*/ uint16(xCondDataSize), 10556, 10562, 10572,
-       /*10572*/ uint16(xSetOp), uint16(RCL),
-       /*10574*/ uint16(xReadIb),
-       /*10575*/ uint16(xArgRM64),
-       /*10576*/ uint16(xArgImm8u),
-       /*10577*/ uint16(xMatch),
-       /*10578*/ uint16(xCondIs64), 10581, 10597,
-       /*10581*/ uint16(xCondDataSize), 10585, 10591, 0,
-       /*10585*/ uint16(xSetOp), uint16(RCR),
-       /*10587*/ uint16(xReadIb),
-       /*10588*/ uint16(xArgRM16),
-       /*10589*/ uint16(xArgImm8u),
-       /*10590*/ uint16(xMatch),
-       /*10591*/ uint16(xSetOp), uint16(RCR),
+       /*10568*/ uint16(xCondIs64), 10571, 10587,
+       /*10571*/ uint16(xCondDataSize), 10575, 10581, 0,
+       /*10575*/ uint16(xSetOp), uint16(RCL),
+       /*10577*/ uint16(xReadIb),
+       /*10578*/ uint16(xArgRM16),
+       /*10579*/ uint16(xArgImm8u),
+       /*10580*/ uint16(xMatch),
+       /*10581*/ uint16(xSetOp), uint16(RCL),
+       /*10583*/ uint16(xReadIb),
+       /*10584*/ uint16(xArgRM32),
+       /*10585*/ uint16(xArgImm8u),
+       /*10586*/ uint16(xMatch),
+       /*10587*/ uint16(xCondDataSize), 10575, 10581, 10591,
+       /*10591*/ uint16(xSetOp), uint16(RCL),
        /*10593*/ uint16(xReadIb),
-       /*10594*/ uint16(xArgRM32),
+       /*10594*/ uint16(xArgRM64),
        /*10595*/ uint16(xArgImm8u),
        /*10596*/ uint16(xMatch),
-       /*10597*/ uint16(xCondDataSize), 10585, 10591, 10601,
-       /*10601*/ uint16(xSetOp), uint16(RCR),
-       /*10603*/ uint16(xReadIb),
-       /*10604*/ uint16(xArgRM64),
-       /*10605*/ uint16(xArgImm8u),
-       /*10606*/ uint16(xMatch),
-       /*10607*/ uint16(xCondIs64), 10610, 10626,
-       /*10610*/ uint16(xCondDataSize), 10614, 10620, 0,
-       /*10614*/ uint16(xSetOp), uint16(SHL),
-       /*10616*/ uint16(xReadIb),
-       /*10617*/ uint16(xArgRM16),
-       /*10618*/ uint16(xArgImm8u),
-       /*10619*/ uint16(xMatch),
-       /*10620*/ uint16(xSetOp), uint16(SHL),
+       /*10597*/ uint16(xCondIs64), 10600, 10616,
+       /*10600*/ uint16(xCondDataSize), 10604, 10610, 0,
+       /*10604*/ uint16(xSetOp), uint16(RCR),
+       /*10606*/ uint16(xReadIb),
+       /*10607*/ uint16(xArgRM16),
+       /*10608*/ uint16(xArgImm8u),
+       /*10609*/ uint16(xMatch),
+       /*10610*/ uint16(xSetOp), uint16(RCR),
+       /*10612*/ uint16(xReadIb),
+       /*10613*/ uint16(xArgRM32),
+       /*10614*/ uint16(xArgImm8u),
+       /*10615*/ uint16(xMatch),
+       /*10616*/ uint16(xCondDataSize), 10604, 10610, 10620,
+       /*10620*/ uint16(xSetOp), uint16(RCR),
        /*10622*/ uint16(xReadIb),
-       /*10623*/ uint16(xArgRM32),
+       /*10623*/ uint16(xArgRM64),
        /*10624*/ uint16(xArgImm8u),
        /*10625*/ uint16(xMatch),
-       /*10626*/ uint16(xCondDataSize), 10614, 10620, 10630,
-       /*10630*/ uint16(xSetOp), uint16(SHL),
-       /*10632*/ uint16(xReadIb),
-       /*10633*/ uint16(xArgRM64),
-       /*10634*/ uint16(xArgImm8u),
-       /*10635*/ uint16(xMatch),
-       /*10636*/ uint16(xCondIs64), 10639, 10655,
-       /*10639*/ uint16(xCondDataSize), 10643, 10649, 0,
-       /*10643*/ uint16(xSetOp), uint16(SHR),
-       /*10645*/ uint16(xReadIb),
-       /*10646*/ uint16(xArgRM16),
-       /*10647*/ uint16(xArgImm8u),
-       /*10648*/ uint16(xMatch),
-       /*10649*/ uint16(xSetOp), uint16(SHR),
+       /*10626*/ uint16(xCondIs64), 10629, 10645,
+       /*10629*/ uint16(xCondDataSize), 10633, 10639, 0,
+       /*10633*/ uint16(xSetOp), uint16(SHL),
+       /*10635*/ uint16(xReadIb),
+       /*10636*/ uint16(xArgRM16),
+       /*10637*/ uint16(xArgImm8u),
+       /*10638*/ uint16(xMatch),
+       /*10639*/ uint16(xSetOp), uint16(SHL),
+       /*10641*/ uint16(xReadIb),
+       /*10642*/ uint16(xArgRM32),
+       /*10643*/ uint16(xArgImm8u),
+       /*10644*/ uint16(xMatch),
+       /*10645*/ uint16(xCondDataSize), 10633, 10639, 10649,
+       /*10649*/ uint16(xSetOp), uint16(SHL),
        /*10651*/ uint16(xReadIb),
-       /*10652*/ uint16(xArgRM32),
+       /*10652*/ uint16(xArgRM64),
        /*10653*/ uint16(xArgImm8u),
        /*10654*/ uint16(xMatch),
-       /*10655*/ uint16(xCondDataSize), 10643, 10649, 10659,
-       /*10659*/ uint16(xSetOp), uint16(SHR),
-       /*10661*/ uint16(xReadIb),
-       /*10662*/ uint16(xArgRM64),
-       /*10663*/ uint16(xArgImm8u),
-       /*10664*/ uint16(xMatch),
-       /*10665*/ uint16(xCondIs64), 10668, 10684,
-       /*10668*/ uint16(xCondDataSize), 10672, 10678, 0,
-       /*10672*/ uint16(xSetOp), uint16(SAR),
-       /*10674*/ uint16(xReadIb),
-       /*10675*/ uint16(xArgRM16),
-       /*10676*/ uint16(xArgImm8u),
-       /*10677*/ uint16(xMatch),
-       /*10678*/ uint16(xSetOp), uint16(SAR),
+       /*10655*/ uint16(xCondIs64), 10658, 10674,
+       /*10658*/ uint16(xCondDataSize), 10662, 10668, 0,
+       /*10662*/ uint16(xSetOp), uint16(SHR),
+       /*10664*/ uint16(xReadIb),
+       /*10665*/ uint16(xArgRM16),
+       /*10666*/ uint16(xArgImm8u),
+       /*10667*/ uint16(xMatch),
+       /*10668*/ uint16(xSetOp), uint16(SHR),
+       /*10670*/ uint16(xReadIb),
+       /*10671*/ uint16(xArgRM32),
+       /*10672*/ uint16(xArgImm8u),
+       /*10673*/ uint16(xMatch),
+       /*10674*/ uint16(xCondDataSize), 10662, 10668, 10678,
+       /*10678*/ uint16(xSetOp), uint16(SHR),
        /*10680*/ uint16(xReadIb),
-       /*10681*/ uint16(xArgRM32),
+       /*10681*/ uint16(xArgRM64),
        /*10682*/ uint16(xArgImm8u),
        /*10683*/ uint16(xMatch),
-       /*10684*/ uint16(xCondDataSize), 10672, 10678, 10688,
-       /*10688*/ uint16(xSetOp), uint16(SAR),
-       /*10690*/ uint16(xReadIb),
-       /*10691*/ uint16(xArgRM64),
-       /*10692*/ uint16(xArgImm8u),
-       /*10693*/ uint16(xMatch),
-       /*10694*/ uint16(xSetOp), uint16(RET),
-       /*10696*/ uint16(xReadIw),
-       /*10697*/ uint16(xArgImm16u),
-       /*10698*/ uint16(xMatch),
-       /*10699*/ uint16(xSetOp), uint16(RET),
-       /*10701*/ uint16(xMatch),
-       /*10702*/ uint16(xCondIs64), 10705, 0,
-       /*10705*/ uint16(xCondDataSize), 10709, 10715, 0,
-       /*10709*/ uint16(xSetOp), uint16(LES),
-       /*10711*/ uint16(xReadSlashR),
-       /*10712*/ uint16(xArgR16),
-       /*10713*/ uint16(xArgM16colon16),
-       /*10714*/ uint16(xMatch),
-       /*10715*/ uint16(xSetOp), uint16(LES),
-       /*10717*/ uint16(xReadSlashR),
-       /*10718*/ uint16(xArgR32),
-       /*10719*/ uint16(xArgM16colon32),
+       /*10684*/ uint16(xCondIs64), 10687, 10703,
+       /*10687*/ uint16(xCondDataSize), 10691, 10697, 0,
+       /*10691*/ uint16(xSetOp), uint16(SAR),
+       /*10693*/ uint16(xReadIb),
+       /*10694*/ uint16(xArgRM16),
+       /*10695*/ uint16(xArgImm8u),
+       /*10696*/ uint16(xMatch),
+       /*10697*/ uint16(xSetOp), uint16(SAR),
+       /*10699*/ uint16(xReadIb),
+       /*10700*/ uint16(xArgRM32),
+       /*10701*/ uint16(xArgImm8u),
+       /*10702*/ uint16(xMatch),
+       /*10703*/ uint16(xCondDataSize), 10691, 10697, 10707,
+       /*10707*/ uint16(xSetOp), uint16(SAR),
+       /*10709*/ uint16(xReadIb),
+       /*10710*/ uint16(xArgRM64),
+       /*10711*/ uint16(xArgImm8u),
+       /*10712*/ uint16(xMatch),
+       /*10713*/ uint16(xSetOp), uint16(RET),
+       /*10715*/ uint16(xReadIw),
+       /*10716*/ uint16(xArgImm16u),
+       /*10717*/ uint16(xMatch),
+       /*10718*/ uint16(xSetOp), uint16(RET),
        /*10720*/ uint16(xMatch),
        /*10721*/ uint16(xCondIs64), 10724, 0,
        /*10724*/ uint16(xCondDataSize), 10728, 10734, 0,
-       /*10728*/ uint16(xSetOp), uint16(LDS),
+       /*10728*/ uint16(xSetOp), uint16(LES),
        /*10730*/ uint16(xReadSlashR),
        /*10731*/ uint16(xArgR16),
        /*10732*/ uint16(xArgM16colon16),
        /*10733*/ uint16(xMatch),
-       /*10734*/ uint16(xSetOp), uint16(LDS),
+       /*10734*/ uint16(xSetOp), uint16(LES),
        /*10736*/ uint16(xReadSlashR),
        /*10737*/ uint16(xArgR32),
        /*10738*/ uint16(xArgM16colon32),
        /*10739*/ uint16(xMatch),
-       /*10740*/ uint16(xCondByte), 1,
-       0xF8, 10759,
-       /*10744*/ uint16(xCondSlashR),
-       10753, // 0
+       /*10740*/ uint16(xCondIs64), 10743, 0,
+       /*10743*/ uint16(xCondDataSize), 10747, 10753, 0,
+       /*10747*/ uint16(xSetOp), uint16(LDS),
+       /*10749*/ uint16(xReadSlashR),
+       /*10750*/ uint16(xArgR16),
+       /*10751*/ uint16(xArgM16colon16),
+       /*10752*/ uint16(xMatch),
+       /*10753*/ uint16(xSetOp), uint16(LDS),
+       /*10755*/ uint16(xReadSlashR),
+       /*10756*/ uint16(xArgR32),
+       /*10757*/ uint16(xArgM16colon32),
+       /*10758*/ uint16(xMatch),
+       /*10759*/ uint16(xCondByte), 1,
+       0xF8, 10778,
+       /*10763*/ uint16(xCondSlashR),
+       10772, // 0
        0,     // 1
        0,     // 2
        0,     // 3
@@ -6999,19 +7010,19 @@ var decoder = [...]uint16{
        0,     // 5
        0,     // 6
        0,     // 7
-       /*10753*/ uint16(xSetOp), uint16(MOV),
-       /*10755*/ uint16(xReadIb),
-       /*10756*/ uint16(xArgRM8),
-       /*10757*/ uint16(xArgImm8u),
-       /*10758*/ uint16(xMatch),
-       /*10759*/ uint16(xSetOp), uint16(XABORT),
-       /*10761*/ uint16(xReadIb),
-       /*10762*/ uint16(xArgImm8u),
-       /*10763*/ uint16(xMatch),
-       /*10764*/ uint16(xCondByte), 1,
-       0xF8, 10806,
-       /*10768*/ uint16(xCondSlashR),
-       10777, // 0
+       /*10772*/ uint16(xSetOp), uint16(MOV),
+       /*10774*/ uint16(xReadIb),
+       /*10775*/ uint16(xArgRM8),
+       /*10776*/ uint16(xArgImm8u),
+       /*10777*/ uint16(xMatch),
+       /*10778*/ uint16(xSetOp), uint16(XABORT),
+       /*10780*/ uint16(xReadIb),
+       /*10781*/ uint16(xArgImm8u),
+       /*10782*/ uint16(xMatch),
+       /*10783*/ uint16(xCondByte), 1,
+       0xF8, 10825,
+       /*10787*/ uint16(xCondSlashR),
+       10796, // 0
        0,     // 1
        0,     // 2
        0,     // 3
@@ -7019,1662 +7030,1662 @@ var decoder = [...]uint16{
        0,     // 5
        0,     // 6
        0,     // 7
-       /*10777*/ uint16(xCondIs64), 10780, 10796,
-       /*10780*/ uint16(xCondDataSize), 10784, 10790, 0,
-       /*10784*/ uint16(xSetOp), uint16(MOV),
-       /*10786*/ uint16(xReadIw),
-       /*10787*/ uint16(xArgRM16),
-       /*10788*/ uint16(xArgImm16),
-       /*10789*/ uint16(xMatch),
-       /*10790*/ uint16(xSetOp), uint16(MOV),
-       /*10792*/ uint16(xReadId),
-       /*10793*/ uint16(xArgRM32),
-       /*10794*/ uint16(xArgImm32),
-       /*10795*/ uint16(xMatch),
-       /*10796*/ uint16(xCondDataSize), 10784, 10790, 10800,
-       /*10800*/ uint16(xSetOp), uint16(MOV),
-       /*10802*/ uint16(xReadId),
-       /*10803*/ uint16(xArgRM64),
-       /*10804*/ uint16(xArgImm32),
-       /*10805*/ uint16(xMatch),
-       /*10806*/ uint16(xCondDataSize), 10810, 10815, 10820,
-       /*10810*/ uint16(xSetOp), uint16(XBEGIN),
-       /*10812*/ uint16(xReadCw),
-       /*10813*/ uint16(xArgRel16),
+       /*10796*/ uint16(xCondIs64), 10799, 10815,
+       /*10799*/ uint16(xCondDataSize), 10803, 10809, 0,
+       /*10803*/ uint16(xSetOp), uint16(MOV),
+       /*10805*/ uint16(xReadIw),
+       /*10806*/ uint16(xArgRM16),
+       /*10807*/ uint16(xArgImm16),
+       /*10808*/ uint16(xMatch),
+       /*10809*/ uint16(xSetOp), uint16(MOV),
+       /*10811*/ uint16(xReadId),
+       /*10812*/ uint16(xArgRM32),
+       /*10813*/ uint16(xArgImm32),
        /*10814*/ uint16(xMatch),
-       /*10815*/ uint16(xSetOp), uint16(XBEGIN),
-       /*10817*/ uint16(xReadCd),
-       /*10818*/ uint16(xArgRel32),
-       /*10819*/ uint16(xMatch),
-       /*10820*/ uint16(xSetOp), uint16(XBEGIN),
-       /*10822*/ uint16(xReadCd),
-       /*10823*/ uint16(xArgRel32),
+       /*10815*/ uint16(xCondDataSize), 10803, 10809, 10819,
+       /*10819*/ uint16(xSetOp), uint16(MOV),
+       /*10821*/ uint16(xReadId),
+       /*10822*/ uint16(xArgRM64),
+       /*10823*/ uint16(xArgImm32),
        /*10824*/ uint16(xMatch),
-       /*10825*/ uint16(xSetOp), uint16(ENTER),
-       /*10827*/ uint16(xReadIw),
-       /*10828*/ uint16(xReadIb),
-       /*10829*/ uint16(xArgImm16u),
-       /*10830*/ uint16(xArgImm8u),
-       /*10831*/ uint16(xMatch),
-       /*10832*/ uint16(xCondIs64), 10835, 10845,
-       /*10835*/ uint16(xCondDataSize), 10839, 10842, 0,
-       /*10839*/ uint16(xSetOp), uint16(LEAVE),
-       /*10841*/ uint16(xMatch),
-       /*10842*/ uint16(xSetOp), uint16(LEAVE),
-       /*10844*/ uint16(xMatch),
-       /*10845*/ uint16(xCondDataSize), 10839, 10849, 10852,
-       /*10849*/ uint16(xSetOp), uint16(LEAVE),
-       /*10851*/ uint16(xMatch),
-       /*10852*/ uint16(xSetOp), uint16(LEAVE),
-       /*10854*/ uint16(xMatch),
-       /*10855*/ uint16(xSetOp), uint16(LRET),
-       /*10857*/ uint16(xReadIw),
-       /*10858*/ uint16(xArgImm16u),
-       /*10859*/ uint16(xMatch),
-       /*10860*/ uint16(xSetOp), uint16(LRET),
-       /*10862*/ uint16(xMatch),
-       /*10863*/ uint16(xSetOp), uint16(INT),
-       /*10865*/ uint16(xArg3),
-       /*10866*/ uint16(xMatch),
-       /*10867*/ uint16(xSetOp), uint16(INT),
-       /*10869*/ uint16(xReadIb),
-       /*10870*/ uint16(xArgImm8u),
-       /*10871*/ uint16(xMatch),
-       /*10872*/ uint16(xCondIs64), 10875, 0,
-       /*10875*/ uint16(xSetOp), uint16(INTO),
-       /*10877*/ uint16(xMatch),
-       /*10878*/ uint16(xCondIs64), 10881, 10891,
-       /*10881*/ uint16(xCondDataSize), 10885, 10888, 0,
-       /*10885*/ uint16(xSetOp), uint16(IRET),
-       /*10887*/ uint16(xMatch),
-       /*10888*/ uint16(xSetOp), uint16(IRETD),
+       /*10825*/ uint16(xCondDataSize), 10829, 10834, 10839,
+       /*10829*/ uint16(xSetOp), uint16(XBEGIN),
+       /*10831*/ uint16(xReadCw),
+       /*10832*/ uint16(xArgRel16),
+       /*10833*/ uint16(xMatch),
+       /*10834*/ uint16(xSetOp), uint16(XBEGIN),
+       /*10836*/ uint16(xReadCd),
+       /*10837*/ uint16(xArgRel32),
+       /*10838*/ uint16(xMatch),
+       /*10839*/ uint16(xSetOp), uint16(XBEGIN),
+       /*10841*/ uint16(xReadCd),
+       /*10842*/ uint16(xArgRel32),
+       /*10843*/ uint16(xMatch),
+       /*10844*/ uint16(xSetOp), uint16(ENTER),
+       /*10846*/ uint16(xReadIw),
+       /*10847*/ uint16(xReadIb),
+       /*10848*/ uint16(xArgImm16u),
+       /*10849*/ uint16(xArgImm8u),
+       /*10850*/ uint16(xMatch),
+       /*10851*/ uint16(xCondIs64), 10854, 10864,
+       /*10854*/ uint16(xCondDataSize), 10858, 10861, 0,
+       /*10858*/ uint16(xSetOp), uint16(LEAVE),
+       /*10860*/ uint16(xMatch),
+       /*10861*/ uint16(xSetOp), uint16(LEAVE),
+       /*10863*/ uint16(xMatch),
+       /*10864*/ uint16(xCondDataSize), 10858, 10868, 10871,
+       /*10868*/ uint16(xSetOp), uint16(LEAVE),
+       /*10870*/ uint16(xMatch),
+       /*10871*/ uint16(xSetOp), uint16(LEAVE),
+       /*10873*/ uint16(xMatch),
+       /*10874*/ uint16(xSetOp), uint16(LRET),
+       /*10876*/ uint16(xReadIw),
+       /*10877*/ uint16(xArgImm16u),
+       /*10878*/ uint16(xMatch),
+       /*10879*/ uint16(xSetOp), uint16(LRET),
+       /*10881*/ uint16(xMatch),
+       /*10882*/ uint16(xSetOp), uint16(INT),
+       /*10884*/ uint16(xArg3),
+       /*10885*/ uint16(xMatch),
+       /*10886*/ uint16(xSetOp), uint16(INT),
+       /*10888*/ uint16(xReadIb),
+       /*10889*/ uint16(xArgImm8u),
        /*10890*/ uint16(xMatch),
-       /*10891*/ uint16(xCondDataSize), 10885, 10888, 10895,
-       /*10895*/ uint16(xSetOp), uint16(IRETQ),
-       /*10897*/ uint16(xMatch),
-       /*10898*/ uint16(xCondSlashR),
-       10907, // 0
-       10912, // 1
-       10917, // 2
-       10922, // 3
-       10927, // 4
-       10932, // 5
-       0,     // 6
-       10937, // 7
-       /*10907*/ uint16(xSetOp), uint16(ROL),
-       /*10909*/ uint16(xArgRM8),
-       /*10910*/ uint16(xArg1),
-       /*10911*/ uint16(xMatch),
-       /*10912*/ uint16(xSetOp), uint16(ROR),
-       /*10914*/ uint16(xArgRM8),
-       /*10915*/ uint16(xArg1),
+       /*10891*/ uint16(xCondIs64), 10894, 0,
+       /*10894*/ uint16(xSetOp), uint16(INTO),
+       /*10896*/ uint16(xMatch),
+       /*10897*/ uint16(xCondIs64), 10900, 10910,
+       /*10900*/ uint16(xCondDataSize), 10904, 10907, 0,
+       /*10904*/ uint16(xSetOp), uint16(IRET),
+       /*10906*/ uint16(xMatch),
+       /*10907*/ uint16(xSetOp), uint16(IRETD),
+       /*10909*/ uint16(xMatch),
+       /*10910*/ uint16(xCondDataSize), 10904, 10907, 10914,
+       /*10914*/ uint16(xSetOp), uint16(IRETQ),
        /*10916*/ uint16(xMatch),
-       /*10917*/ uint16(xSetOp), uint16(RCL),
-       /*10919*/ uint16(xArgRM8),
-       /*10920*/ uint16(xArg1),
-       /*10921*/ uint16(xMatch),
-       /*10922*/ uint16(xSetOp), uint16(RCR),
-       /*10924*/ uint16(xArgRM8),
-       /*10925*/ uint16(xArg1),
-       /*10926*/ uint16(xMatch),
-       /*10927*/ uint16(xSetOp), uint16(SHL),
-       /*10929*/ uint16(xArgRM8),
-       /*10930*/ uint16(xArg1),
-       /*10931*/ uint16(xMatch),
-       /*10932*/ uint16(xSetOp), uint16(SHR),
-       /*10934*/ uint16(xArgRM8),
-       /*10935*/ uint16(xArg1),
-       /*10936*/ uint16(xMatch),
-       /*10937*/ uint16(xSetOp), uint16(SAR),
-       /*10939*/ uint16(xArgRM8),
-       /*10940*/ uint16(xArg1),
-       /*10941*/ uint16(xMatch),
-       /*10942*/ uint16(xCondSlashR),
-       10951, // 0
-       10977, // 1
-       11003, // 2
-       11029, // 3
-       11055, // 4
-       11081, // 5
+       /*10917*/ uint16(xCondSlashR),
+       10926, // 0
+       10931, // 1
+       10936, // 2
+       10941, // 3
+       10946, // 4
+       10951, // 5
        0,     // 6
-       11107, // 7
-       /*10951*/ uint16(xCondIs64), 10954, 10968,
-       /*10954*/ uint16(xCondDataSize), 10958, 10963, 0,
-       /*10958*/ uint16(xSetOp), uint16(ROL),
-       /*10960*/ uint16(xArgRM16),
-       /*10961*/ uint16(xArg1),
-       /*10962*/ uint16(xMatch),
-       /*10963*/ uint16(xSetOp), uint16(ROL),
-       /*10965*/ uint16(xArgRM32),
-       /*10966*/ uint16(xArg1),
-       /*10967*/ uint16(xMatch),
-       /*10968*/ uint16(xCondDataSize), 10958, 10963, 10972,
-       /*10972*/ uint16(xSetOp), uint16(ROL),
-       /*10974*/ uint16(xArgRM64),
-       /*10975*/ uint16(xArg1),
-       /*10976*/ uint16(xMatch),
-       /*10977*/ uint16(xCondIs64), 10980, 10994,
-       /*10980*/ uint16(xCondDataSize), 10984, 10989, 0,
-       /*10984*/ uint16(xSetOp), uint16(ROR),
-       /*10986*/ uint16(xArgRM16),
-       /*10987*/ uint16(xArg1),
-       /*10988*/ uint16(xMatch),
-       /*10989*/ uint16(xSetOp), uint16(ROR),
-       /*10991*/ uint16(xArgRM32),
-       /*10992*/ uint16(xArg1),
-       /*10993*/ uint16(xMatch),
-       /*10994*/ uint16(xCondDataSize), 10984, 10989, 10998,
-       /*10998*/ uint16(xSetOp), uint16(ROR),
-       /*11000*/ uint16(xArgRM64),
-       /*11001*/ uint16(xArg1),
-       /*11002*/ uint16(xMatch),
-       /*11003*/ uint16(xCondIs64), 11006, 11020,
-       /*11006*/ uint16(xCondDataSize), 11010, 11015, 0,
-       /*11010*/ uint16(xSetOp), uint16(RCL),
-       /*11012*/ uint16(xArgRM16),
-       /*11013*/ uint16(xArg1),
-       /*11014*/ uint16(xMatch),
-       /*11015*/ uint16(xSetOp), uint16(RCL),
-       /*11017*/ uint16(xArgRM32),
-       /*11018*/ uint16(xArg1),
-       /*11019*/ uint16(xMatch),
-       /*11020*/ uint16(xCondDataSize), 11010, 11015, 11024,
-       /*11024*/ uint16(xSetOp), uint16(RCL),
-       /*11026*/ uint16(xArgRM64),
-       /*11027*/ uint16(xArg1),
-       /*11028*/ uint16(xMatch),
-       /*11029*/ uint16(xCondIs64), 11032, 11046,
-       /*11032*/ uint16(xCondDataSize), 11036, 11041, 0,
-       /*11036*/ uint16(xSetOp), uint16(RCR),
-       /*11038*/ uint16(xArgRM16),
-       /*11039*/ uint16(xArg1),
-       /*11040*/ uint16(xMatch),
-       /*11041*/ uint16(xSetOp), uint16(RCR),
-       /*11043*/ uint16(xArgRM32),
-       /*11044*/ uint16(xArg1),
-       /*11045*/ uint16(xMatch),
-       /*11046*/ uint16(xCondDataSize), 11036, 11041, 11050,
-       /*11050*/ uint16(xSetOp), uint16(RCR),
-       /*11052*/ uint16(xArgRM64),
-       /*11053*/ uint16(xArg1),
-       /*11054*/ uint16(xMatch),
-       /*11055*/ uint16(xCondIs64), 11058, 11072,
-       /*11058*/ uint16(xCondDataSize), 11062, 11067, 0,
-       /*11062*/ uint16(xSetOp), uint16(SHL),
-       /*11064*/ uint16(xArgRM16),
-       /*11065*/ uint16(xArg1),
-       /*11066*/ uint16(xMatch),
-       /*11067*/ uint16(xSetOp), uint16(SHL),
-       /*11069*/ uint16(xArgRM32),
-       /*11070*/ uint16(xArg1),
-       /*11071*/ uint16(xMatch),
-       /*11072*/ uint16(xCondDataSize), 11062, 11067, 11076,
-       /*11076*/ uint16(xSetOp), uint16(SHL),
-       /*11078*/ uint16(xArgRM64),
-       /*11079*/ uint16(xArg1),
-       /*11080*/ uint16(xMatch),
-       /*11081*/ uint16(xCondIs64), 11084, 11098,
-       /*11084*/ uint16(xCondDataSize), 11088, 11093, 0,
-       /*11088*/ uint16(xSetOp), uint16(SHR),
-       /*11090*/ uint16(xArgRM16),
-       /*11091*/ uint16(xArg1),
-       /*11092*/ uint16(xMatch),
-       /*11093*/ uint16(xSetOp), uint16(SHR),
-       /*11095*/ uint16(xArgRM32),
-       /*11096*/ uint16(xArg1),
-       /*11097*/ uint16(xMatch),
-       /*11098*/ uint16(xCondDataSize), 11088, 11093, 11102,
-       /*11102*/ uint16(xSetOp), uint16(SHR),
-       /*11104*/ uint16(xArgRM64),
-       /*11105*/ uint16(xArg1),
-       /*11106*/ uint16(xMatch),
-       /*11107*/ uint16(xCondIs64), 11110, 11124,
-       /*11110*/ uint16(xCondDataSize), 11114, 11119, 0,
-       /*11114*/ uint16(xSetOp), uint16(SAR),
-       /*11116*/ uint16(xArgRM16),
-       /*11117*/ uint16(xArg1),
-       /*11118*/ uint16(xMatch),
-       /*11119*/ uint16(xSetOp), uint16(SAR),
-       /*11121*/ uint16(xArgRM32),
-       /*11122*/ uint16(xArg1),
-       /*11123*/ uint16(xMatch),
-       /*11124*/ uint16(xCondDataSize), 11114, 11119, 11128,
-       /*11128*/ uint16(xSetOp), uint16(SAR),
-       /*11130*/ uint16(xArgRM64),
-       /*11131*/ uint16(xArg1),
-       /*11132*/ uint16(xMatch),
-       /*11133*/ uint16(xCondSlashR),
-       11142, // 0
-       11147, // 1
-       11152, // 2
-       11157, // 3
-       11162, // 4
-       11167, // 5
+       10956, // 7
+       /*10926*/ uint16(xSetOp), uint16(ROL),
+       /*10928*/ uint16(xArgRM8),
+       /*10929*/ uint16(xArg1),
+       /*10930*/ uint16(xMatch),
+       /*10931*/ uint16(xSetOp), uint16(ROR),
+       /*10933*/ uint16(xArgRM8),
+       /*10934*/ uint16(xArg1),
+       /*10935*/ uint16(xMatch),
+       /*10936*/ uint16(xSetOp), uint16(RCL),
+       /*10938*/ uint16(xArgRM8),
+       /*10939*/ uint16(xArg1),
+       /*10940*/ uint16(xMatch),
+       /*10941*/ uint16(xSetOp), uint16(RCR),
+       /*10943*/ uint16(xArgRM8),
+       /*10944*/ uint16(xArg1),
+       /*10945*/ uint16(xMatch),
+       /*10946*/ uint16(xSetOp), uint16(SHL),
+       /*10948*/ uint16(xArgRM8),
+       /*10949*/ uint16(xArg1),
+       /*10950*/ uint16(xMatch),
+       /*10951*/ uint16(xSetOp), uint16(SHR),
+       /*10953*/ uint16(xArgRM8),
+       /*10954*/ uint16(xArg1),
+       /*10955*/ uint16(xMatch),
+       /*10956*/ uint16(xSetOp), uint16(SAR),
+       /*10958*/ uint16(xArgRM8),
+       /*10959*/ uint16(xArg1),
+       /*10960*/ uint16(xMatch),
+       /*10961*/ uint16(xCondSlashR),
+       10970, // 0
+       10996, // 1
+       11022, // 2
+       11048, // 3
+       11074, // 4
+       11100, // 5
        0,     // 6
-       11172, // 7
-       /*11142*/ uint16(xSetOp), uint16(ROL),
-       /*11144*/ uint16(xArgRM8),
-       /*11145*/ uint16(xArgCL),
-       /*11146*/ uint16(xMatch),
-       /*11147*/ uint16(xSetOp), uint16(ROR),
-       /*11149*/ uint16(xArgRM8),
-       /*11150*/ uint16(xArgCL),
+       11126, // 7
+       /*10970*/ uint16(xCondIs64), 10973, 10987,
+       /*10973*/ uint16(xCondDataSize), 10977, 10982, 0,
+       /*10977*/ uint16(xSetOp), uint16(ROL),
+       /*10979*/ uint16(xArgRM16),
+       /*10980*/ uint16(xArg1),
+       /*10981*/ uint16(xMatch),
+       /*10982*/ uint16(xSetOp), uint16(ROL),
+       /*10984*/ uint16(xArgRM32),
+       /*10985*/ uint16(xArg1),
+       /*10986*/ uint16(xMatch),
+       /*10987*/ uint16(xCondDataSize), 10977, 10982, 10991,
+       /*10991*/ uint16(xSetOp), uint16(ROL),
+       /*10993*/ uint16(xArgRM64),
+       /*10994*/ uint16(xArg1),
+       /*10995*/ uint16(xMatch),
+       /*10996*/ uint16(xCondIs64), 10999, 11013,
+       /*10999*/ uint16(xCondDataSize), 11003, 11008, 0,
+       /*11003*/ uint16(xSetOp), uint16(ROR),
+       /*11005*/ uint16(xArgRM16),
+       /*11006*/ uint16(xArg1),
+       /*11007*/ uint16(xMatch),
+       /*11008*/ uint16(xSetOp), uint16(ROR),
+       /*11010*/ uint16(xArgRM32),
+       /*11011*/ uint16(xArg1),
+       /*11012*/ uint16(xMatch),
+       /*11013*/ uint16(xCondDataSize), 11003, 11008, 11017,
+       /*11017*/ uint16(xSetOp), uint16(ROR),
+       /*11019*/ uint16(xArgRM64),
+       /*11020*/ uint16(xArg1),
+       /*11021*/ uint16(xMatch),
+       /*11022*/ uint16(xCondIs64), 11025, 11039,
+       /*11025*/ uint16(xCondDataSize), 11029, 11034, 0,
+       /*11029*/ uint16(xSetOp), uint16(RCL),
+       /*11031*/ uint16(xArgRM16),
+       /*11032*/ uint16(xArg1),
+       /*11033*/ uint16(xMatch),
+       /*11034*/ uint16(xSetOp), uint16(RCL),
+       /*11036*/ uint16(xArgRM32),
+       /*11037*/ uint16(xArg1),
+       /*11038*/ uint16(xMatch),
+       /*11039*/ uint16(xCondDataSize), 11029, 11034, 11043,
+       /*11043*/ uint16(xSetOp), uint16(RCL),
+       /*11045*/ uint16(xArgRM64),
+       /*11046*/ uint16(xArg1),
+       /*11047*/ uint16(xMatch),
+       /*11048*/ uint16(xCondIs64), 11051, 11065,
+       /*11051*/ uint16(xCondDataSize), 11055, 11060, 0,
+       /*11055*/ uint16(xSetOp), uint16(RCR),
+       /*11057*/ uint16(xArgRM16),
+       /*11058*/ uint16(xArg1),
+       /*11059*/ uint16(xMatch),
+       /*11060*/ uint16(xSetOp), uint16(RCR),
+       /*11062*/ uint16(xArgRM32),
+       /*11063*/ uint16(xArg1),
+       /*11064*/ uint16(xMatch),
+       /*11065*/ uint16(xCondDataSize), 11055, 11060, 11069,
+       /*11069*/ uint16(xSetOp), uint16(RCR),
+       /*11071*/ uint16(xArgRM64),
+       /*11072*/ uint16(xArg1),
+       /*11073*/ uint16(xMatch),
+       /*11074*/ uint16(xCondIs64), 11077, 11091,
+       /*11077*/ uint16(xCondDataSize), 11081, 11086, 0,
+       /*11081*/ uint16(xSetOp), uint16(SHL),
+       /*11083*/ uint16(xArgRM16),
+       /*11084*/ uint16(xArg1),
+       /*11085*/ uint16(xMatch),
+       /*11086*/ uint16(xSetOp), uint16(SHL),
+       /*11088*/ uint16(xArgRM32),
+       /*11089*/ uint16(xArg1),
+       /*11090*/ uint16(xMatch),
+       /*11091*/ uint16(xCondDataSize), 11081, 11086, 11095,
+       /*11095*/ uint16(xSetOp), uint16(SHL),
+       /*11097*/ uint16(xArgRM64),
+       /*11098*/ uint16(xArg1),
+       /*11099*/ uint16(xMatch),
+       /*11100*/ uint16(xCondIs64), 11103, 11117,
+       /*11103*/ uint16(xCondDataSize), 11107, 11112, 0,
+       /*11107*/ uint16(xSetOp), uint16(SHR),
+       /*11109*/ uint16(xArgRM16),
+       /*11110*/ uint16(xArg1),
+       /*11111*/ uint16(xMatch),
+       /*11112*/ uint16(xSetOp), uint16(SHR),
+       /*11114*/ uint16(xArgRM32),
+       /*11115*/ uint16(xArg1),
+       /*11116*/ uint16(xMatch),
+       /*11117*/ uint16(xCondDataSize), 11107, 11112, 11121,
+       /*11121*/ uint16(xSetOp), uint16(SHR),
+       /*11123*/ uint16(xArgRM64),
+       /*11124*/ uint16(xArg1),
+       /*11125*/ uint16(xMatch),
+       /*11126*/ uint16(xCondIs64), 11129, 11143,
+       /*11129*/ uint16(xCondDataSize), 11133, 11138, 0,
+       /*11133*/ uint16(xSetOp), uint16(SAR),
+       /*11135*/ uint16(xArgRM16),
+       /*11136*/ uint16(xArg1),
+       /*11137*/ uint16(xMatch),
+       /*11138*/ uint16(xSetOp), uint16(SAR),
+       /*11140*/ uint16(xArgRM32),
+       /*11141*/ uint16(xArg1),
+       /*11142*/ uint16(xMatch),
+       /*11143*/ uint16(xCondDataSize), 11133, 11138, 11147,
+       /*11147*/ uint16(xSetOp), uint16(SAR),
+       /*11149*/ uint16(xArgRM64),
+       /*11150*/ uint16(xArg1),
        /*11151*/ uint16(xMatch),
-       /*11152*/ uint16(xSetOp), uint16(RCL),
-       /*11154*/ uint16(xArgRM8),
-       /*11155*/ uint16(xArgCL),
-       /*11156*/ uint16(xMatch),
-       /*11157*/ uint16(xSetOp), uint16(RCR),
-       /*11159*/ uint16(xArgRM8),
-       /*11160*/ uint16(xArgCL),
-       /*11161*/ uint16(xMatch),
-       /*11162*/ uint16(xSetOp), uint16(SHL),
-       /*11164*/ uint16(xArgRM8),
-       /*11165*/ uint16(xArgCL),
-       /*11166*/ uint16(xMatch),
-       /*11167*/ uint16(xSetOp), uint16(SHR),
-       /*11169*/ uint16(xArgRM8),
-       /*11170*/ uint16(xArgCL),
-       /*11171*/ uint16(xMatch),
-       /*11172*/ uint16(xSetOp), uint16(SAR),
-       /*11174*/ uint16(xArgRM8),
-       /*11175*/ uint16(xArgCL),
-       /*11176*/ uint16(xMatch),
-       /*11177*/ uint16(xCondSlashR),
-       11186, // 0
-       11212, // 1
-       11238, // 2
-       11264, // 3
-       11290, // 4
-       11316, // 5
+       /*11152*/ uint16(xCondSlashR),
+       11161, // 0
+       11166, // 1
+       11171, // 2
+       11176, // 3
+       11181, // 4
+       11186, // 5
        0,     // 6
-       11342, // 7
-       /*11186*/ uint16(xCondIs64), 11189, 11203,
-       /*11189*/ uint16(xCondDataSize), 11193, 11198, 0,
-       /*11193*/ uint16(xSetOp), uint16(ROL),
-       /*11195*/ uint16(xArgRM16),
-       /*11196*/ uint16(xArgCL),
-       /*11197*/ uint16(xMatch),
-       /*11198*/ uint16(xSetOp), uint16(ROL),
-       /*11200*/ uint16(xArgRM32),
-       /*11201*/ uint16(xArgCL),
-       /*11202*/ uint16(xMatch),
-       /*11203*/ uint16(xCondDataSize), 11193, 11198, 11207,
-       /*11207*/ uint16(xSetOp), uint16(ROL),
-       /*11209*/ uint16(xArgRM64),
-       /*11210*/ uint16(xArgCL),
-       /*11211*/ uint16(xMatch),
-       /*11212*/ uint16(xCondIs64), 11215, 11229,
-       /*11215*/ uint16(xCondDataSize), 11219, 11224, 0,
-       /*11219*/ uint16(xSetOp), uint16(ROR),
-       /*11221*/ uint16(xArgRM16),
-       /*11222*/ uint16(xArgCL),
-       /*11223*/ uint16(xMatch),
-       /*11224*/ uint16(xSetOp), uint16(ROR),
-       /*11226*/ uint16(xArgRM32),
-       /*11227*/ uint16(xArgCL),
-       /*11228*/ uint16(xMatch),
-       /*11229*/ uint16(xCondDataSize), 11219, 11224, 11233,
-       /*11233*/ uint16(xSetOp), uint16(ROR),
-       /*11235*/ uint16(xArgRM64),
-       /*11236*/ uint16(xArgCL),
-       /*11237*/ uint16(xMatch),
-       /*11238*/ uint16(xCondIs64), 11241, 11255,
-       /*11241*/ uint16(xCondDataSize), 11245, 11250, 0,
-       /*11245*/ uint16(xSetOp), uint16(RCL),
-       /*11247*/ uint16(xArgRM16),
-       /*11248*/ uint16(xArgCL),
-       /*11249*/ uint16(xMatch),
-       /*11250*/ uint16(xSetOp), uint16(RCL),
-       /*11252*/ uint16(xArgRM32),
-       /*11253*/ uint16(xArgCL),
-       /*11254*/ uint16(xMatch),
-       /*11255*/ uint16(xCondDataSize), 11245, 11250, 11259,
-       /*11259*/ uint16(xSetOp), uint16(RCL),
-       /*11261*/ uint16(xArgRM64),
-       /*11262*/ uint16(xArgCL),
-       /*11263*/ uint16(xMatch),
-       /*11264*/ uint16(xCondIs64), 11267, 11281,
-       /*11267*/ uint16(xCondDataSize), 11271, 11276, 0,
-       /*11271*/ uint16(xSetOp), uint16(RCR),
-       /*11273*/ uint16(xArgRM16),
-       /*11274*/ uint16(xArgCL),
-       /*11275*/ uint16(xMatch),
-       /*11276*/ uint16(xSetOp), uint16(RCR),
-       /*11278*/ uint16(xArgRM32),
-       /*11279*/ uint16(xArgCL),
-       /*11280*/ uint16(xMatch),
-       /*11281*/ uint16(xCondDataSize), 11271, 11276, 11285,
-       /*11285*/ uint16(xSetOp), uint16(RCR),
-       /*11287*/ uint16(xArgRM64),
-       /*11288*/ uint16(xArgCL),
-       /*11289*/ uint16(xMatch),
-       /*11290*/ uint16(xCondIs64), 11293, 11307,
-       /*11293*/ uint16(xCondDataSize), 11297, 11302, 0,
-       /*11297*/ uint16(xSetOp), uint16(SHL),
-       /*11299*/ uint16(xArgRM16),
-       /*11300*/ uint16(xArgCL),
-       /*11301*/ uint16(xMatch),
-       /*11302*/ uint16(xSetOp), uint16(SHL),
-       /*11304*/ uint16(xArgRM32),
-       /*11305*/ uint16(xArgCL),
-       /*11306*/ uint16(xMatch),
-       /*11307*/ uint16(xCondDataSize), 11297, 11302, 11311,
-       /*11311*/ uint16(xSetOp), uint16(SHL),
-       /*11313*/ uint16(xArgRM64),
-       /*11314*/ uint16(xArgCL),
-       /*11315*/ uint16(xMatch),
-       /*11316*/ uint16(xCondIs64), 11319, 11333,
-       /*11319*/ uint16(xCondDataSize), 11323, 11328, 0,
-       /*11323*/ uint16(xSetOp), uint16(SHR),
-       /*11325*/ uint16(xArgRM16),
-       /*11326*/ uint16(xArgCL),
-       /*11327*/ uint16(xMatch),
-       /*11328*/ uint16(xSetOp), uint16(SHR),
-       /*11330*/ uint16(xArgRM32),
-       /*11331*/ uint16(xArgCL),
-       /*11332*/ uint16(xMatch),
-       /*11333*/ uint16(xCondDataSize), 11323, 11328, 11337,
-       /*11337*/ uint16(xSetOp), uint16(SHR),
-       /*11339*/ uint16(xArgRM64),
-       /*11340*/ uint16(xArgCL),
-       /*11341*/ uint16(xMatch),
-       /*11342*/ uint16(xCondIs64), 11345, 11359,
-       /*11345*/ uint16(xCondDataSize), 11349, 11354, 0,
-       /*11349*/ uint16(xSetOp), uint16(SAR),
-       /*11351*/ uint16(xArgRM16),
-       /*11352*/ uint16(xArgCL),
-       /*11353*/ uint16(xMatch),
-       /*11354*/ uint16(xSetOp), uint16(SAR),
-       /*11356*/ uint16(xArgRM32),
-       /*11357*/ uint16(xArgCL),
-       /*11358*/ uint16(xMatch),
-       /*11359*/ uint16(xCondDataSize), 11349, 11354, 11363,
-       /*11363*/ uint16(xSetOp), uint16(SAR),
-       /*11365*/ uint16(xArgRM64),
-       /*11366*/ uint16(xArgCL),
-       /*11367*/ uint16(xMatch),
-       /*11368*/ uint16(xCondIs64), 11371, 0,
-       /*11371*/ uint16(xSetOp), uint16(AAM),
-       /*11373*/ uint16(xReadIb),
-       /*11374*/ uint16(xArgImm8u),
-       /*11375*/ uint16(xMatch),
-       /*11376*/ uint16(xCondIs64), 11379, 0,
-       /*11379*/ uint16(xSetOp), uint16(AAD),
-       /*11381*/ uint16(xReadIb),
-       /*11382*/ uint16(xArgImm8u),
-       /*11383*/ uint16(xMatch),
-       /*11384*/ uint16(xCondIs64), 11387, 11390,
-       /*11387*/ uint16(xSetOp), uint16(XLATB),
-       /*11389*/ uint16(xMatch),
-       /*11390*/ uint16(xCondDataSize), 11387, 11387, 11394,
-       /*11394*/ uint16(xSetOp), uint16(XLATB),
-       /*11396*/ uint16(xMatch),
-       /*11397*/ uint16(xCondByte), 64,
-       0xc0, 11568,
-       0xc1, 11568,
-       0xc2, 11568,
-       0xc3, 11568,
-       0xc4, 11568,
-       0xc5, 11568,
-       0xc6, 11568,
-       0xc7, 11568,
-       0xc8, 11573,
-       0xc9, 11573,
-       0xca, 11573,
-       0xcb, 11573,
-       0xcc, 11573,
-       0xcd, 11573,
-       0xce, 11573,
-       0xcf, 11573,
-       0xd0, 11578,
-       0xd1, 11578,
-       0xd2, 11578,
-       0xd3, 11578,
-       0xd4, 11578,
-       0xd5, 11578,
-       0xd6, 11578,
-       0xd7, 11578,
-       0xd8, 11582,
-       0xd9, 11582,
-       0xda, 11582,
-       0xdb, 11582,
-       0xdc, 11582,
-       0xdd, 11582,
-       0xde, 11582,
-       0xdf, 11582,
-       0xe0, 11586,
-       0xe1, 11586,
-       0xe2, 11586,
-       0xe3, 11586,
-       0xe4, 11586,
-       0xe5, 11586,
-       0xe6, 11586,
-       0xe7, 11586,
-       0xe8, 11591,
-       0xe9, 11591,
-       0xea, 11591,
-       0xeb, 11591,
-       0xec, 11591,
-       0xed, 11591,
-       0xee, 11591,
-       0xef, 11591,
-       0xf0, 11596,
-       0xf1, 11596,
-       0xf2, 11596,
-       0xf3, 11596,
-       0xf4, 11596,
-       0xf5, 11596,
-       0xf6, 11596,
-       0xf7, 11596,
-       0xf8, 11601,
-       0xf9, 11601,
-       0xfa, 11601,
-       0xfb, 11601,
-       0xfc, 11601,
-       0xfd, 11601,
-       0xfe, 11601,
-       0xff, 11601,
-       /*11527*/ uint16(xCondSlashR),
-       11536, // 0
-       11540, // 1
-       11544, // 2
-       11548, // 3
-       11552, // 4
-       11556, // 5
-       11560, // 6
-       11564, // 7
-       /*11536*/ uint16(xSetOp), uint16(FADD),
-       /*11538*/ uint16(xArgM32fp),
-       /*11539*/ uint16(xMatch),
-       /*11540*/ uint16(xSetOp), uint16(FMUL),
-       /*11542*/ uint16(xArgM32fp),
-       /*11543*/ uint16(xMatch),
-       /*11544*/ uint16(xSetOp), uint16(FCOM),
-       /*11546*/ uint16(xArgM32fp),
-       /*11547*/ uint16(xMatch),
-       /*11548*/ uint16(xSetOp), uint16(FCOMP),
-       /*11550*/ uint16(xArgM32fp),
-       /*11551*/ uint16(xMatch),
-       /*11552*/ uint16(xSetOp), uint16(FSUB),
-       /*11554*/ uint16(xArgM32fp),
-       /*11555*/ uint16(xMatch),
-       /*11556*/ uint16(xSetOp), uint16(FSUBR),
-       /*11558*/ uint16(xArgM32fp),
-       /*11559*/ uint16(xMatch),
-       /*11560*/ uint16(xSetOp), uint16(FDIV),
-       /*11562*/ uint16(xArgM32fp),
-       /*11563*/ uint16(xMatch),
-       /*11564*/ uint16(xSetOp), uint16(FDIVR),
-       /*11566*/ uint16(xArgM32fp),
-       /*11567*/ uint16(xMatch),
-       /*11568*/ uint16(xSetOp), uint16(FADD),
-       /*11570*/ uint16(xArgST),
-       /*11571*/ uint16(xArgSTi),
-       /*11572*/ uint16(xMatch),
-       /*11573*/ uint16(xSetOp), uint16(FMUL),
-       /*11575*/ uint16(xArgST),
-       /*11576*/ uint16(xArgSTi),
-       /*11577*/ uint16(xMatch),
-       /*11578*/ uint16(xSetOp), uint16(FCOM),
-       /*11580*/ uint16(xArgSTi),
-       /*11581*/ uint16(xMatch),
-       /*11582*/ uint16(xSetOp), uint16(FCOMP),
-       /*11584*/ uint16(xArgSTi),
-       /*11585*/ uint16(xMatch),
-       /*11586*/ uint16(xSetOp), uint16(FSUB),
-       /*11588*/ uint16(xArgST),
-       /*11589*/ uint16(xArgSTi),
-       /*11590*/ uint16(xMatch),
-       /*11591*/ uint16(xSetOp), uint16(FSUBR),
-       /*11593*/ uint16(xArgST),
-       /*11594*/ uint16(xArgSTi),
-       /*11595*/ uint16(xMatch),
-       /*11596*/ uint16(xSetOp), uint16(FDIV),
-       /*11598*/ uint16(xArgST),
+       11191, // 7
+       /*11161*/ uint16(xSetOp), uint16(ROL),
+       /*11163*/ uint16(xArgRM8),
+       /*11164*/ uint16(xArgCL),
+       /*11165*/ uint16(xMatch),
+       /*11166*/ uint16(xSetOp), uint16(ROR),
+       /*11168*/ uint16(xArgRM8),
+       /*11169*/ uint16(xArgCL),
+       /*11170*/ uint16(xMatch),
+       /*11171*/ uint16(xSetOp), uint16(RCL),
+       /*11173*/ uint16(xArgRM8),
+       /*11174*/ uint16(xArgCL),
+       /*11175*/ uint16(xMatch),
+       /*11176*/ uint16(xSetOp), uint16(RCR),
+       /*11178*/ uint16(xArgRM8),
+       /*11179*/ uint16(xArgCL),
+       /*11180*/ uint16(xMatch),
+       /*11181*/ uint16(xSetOp), uint16(SHL),
+       /*11183*/ uint16(xArgRM8),
+       /*11184*/ uint16(xArgCL),
+       /*11185*/ uint16(xMatch),
+       /*11186*/ uint16(xSetOp), uint16(SHR),
+       /*11188*/ uint16(xArgRM8),
+       /*11189*/ uint16(xArgCL),
+       /*11190*/ uint16(xMatch),
+       /*11191*/ uint16(xSetOp), uint16(SAR),
+       /*11193*/ uint16(xArgRM8),
+       /*11194*/ uint16(xArgCL),
+       /*11195*/ uint16(xMatch),
+       /*11196*/ uint16(xCondSlashR),
+       11205, // 0
+       11231, // 1
+       11257, // 2
+       11283, // 3
+       11309, // 4
+       11335, // 5
+       0,     // 6
+       11361, // 7
+       /*11205*/ uint16(xCondIs64), 11208, 11222,
+       /*11208*/ uint16(xCondDataSize), 11212, 11217, 0,
+       /*11212*/ uint16(xSetOp), uint16(ROL),
+       /*11214*/ uint16(xArgRM16),
+       /*11215*/ uint16(xArgCL),
+       /*11216*/ uint16(xMatch),
+       /*11217*/ uint16(xSetOp), uint16(ROL),
+       /*11219*/ uint16(xArgRM32),
+       /*11220*/ uint16(xArgCL),
+       /*11221*/ uint16(xMatch),
+       /*11222*/ uint16(xCondDataSize), 11212, 11217, 11226,
+       /*11226*/ uint16(xSetOp), uint16(ROL),
+       /*11228*/ uint16(xArgRM64),
+       /*11229*/ uint16(xArgCL),
+       /*11230*/ uint16(xMatch),
+       /*11231*/ uint16(xCondIs64), 11234, 11248,
+       /*11234*/ uint16(xCondDataSize), 11238, 11243, 0,
+       /*11238*/ uint16(xSetOp), uint16(ROR),
+       /*11240*/ uint16(xArgRM16),
+       /*11241*/ uint16(xArgCL),
+       /*11242*/ uint16(xMatch),
+       /*11243*/ uint16(xSetOp), uint16(ROR),
+       /*11245*/ uint16(xArgRM32),
+       /*11246*/ uint16(xArgCL),
+       /*11247*/ uint16(xMatch),
+       /*11248*/ uint16(xCondDataSize), 11238, 11243, 11252,
+       /*11252*/ uint16(xSetOp), uint16(ROR),
+       /*11254*/ uint16(xArgRM64),
+       /*11255*/ uint16(xArgCL),
+       /*11256*/ uint16(xMatch),
+       /*11257*/ uint16(xCondIs64), 11260, 11274,
+       /*11260*/ uint16(xCondDataSize), 11264, 11269, 0,
+       /*11264*/ uint16(xSetOp), uint16(RCL),
+       /*11266*/ uint16(xArgRM16),
+       /*11267*/ uint16(xArgCL),
+       /*11268*/ uint16(xMatch),
+       /*11269*/ uint16(xSetOp), uint16(RCL),
+       /*11271*/ uint16(xArgRM32),
+       /*11272*/ uint16(xArgCL),
+       /*11273*/ uint16(xMatch),
+       /*11274*/ uint16(xCondDataSize), 11264, 11269, 11278,
+       /*11278*/ uint16(xSetOp), uint16(RCL),
+       /*11280*/ uint16(xArgRM64),
+       /*11281*/ uint16(xArgCL),
+       /*11282*/ uint16(xMatch),
+       /*11283*/ uint16(xCondIs64), 11286, 11300,
+       /*11286*/ uint16(xCondDataSize), 11290, 11295, 0,
+       /*11290*/ uint16(xSetOp), uint16(RCR),
+       /*11292*/ uint16(xArgRM16),
+       /*11293*/ uint16(xArgCL),
+       /*11294*/ uint16(xMatch),
+       /*11295*/ uint16(xSetOp), uint16(RCR),
+       /*11297*/ uint16(xArgRM32),
+       /*11298*/ uint16(xArgCL),
+       /*11299*/ uint16(xMatch),
+       /*11300*/ uint16(xCondDataSize), 11290, 11295, 11304,
+       /*11304*/ uint16(xSetOp), uint16(RCR),
+       /*11306*/ uint16(xArgRM64),
+       /*11307*/ uint16(xArgCL),
+       /*11308*/ uint16(xMatch),
+       /*11309*/ uint16(xCondIs64), 11312, 11326,
+       /*11312*/ uint16(xCondDataSize), 11316, 11321, 0,
+       /*11316*/ uint16(xSetOp), uint16(SHL),
+       /*11318*/ uint16(xArgRM16),
+       /*11319*/ uint16(xArgCL),
+       /*11320*/ uint16(xMatch),
+       /*11321*/ uint16(xSetOp), uint16(SHL),
+       /*11323*/ uint16(xArgRM32),
+       /*11324*/ uint16(xArgCL),
+       /*11325*/ uint16(xMatch),
+       /*11326*/ uint16(xCondDataSize), 11316, 11321, 11330,
+       /*11330*/ uint16(xSetOp), uint16(SHL),
+       /*11332*/ uint16(xArgRM64),
+       /*11333*/ uint16(xArgCL),
+       /*11334*/ uint16(xMatch),
+       /*11335*/ uint16(xCondIs64), 11338, 11352,
+       /*11338*/ uint16(xCondDataSize), 11342, 11347, 0,
+       /*11342*/ uint16(xSetOp), uint16(SHR),
+       /*11344*/ uint16(xArgRM16),
+       /*11345*/ uint16(xArgCL),
+       /*11346*/ uint16(xMatch),
+       /*11347*/ uint16(xSetOp), uint16(SHR),
+       /*11349*/ uint16(xArgRM32),
+       /*11350*/ uint16(xArgCL),
+       /*11351*/ uint16(xMatch),
+       /*11352*/ uint16(xCondDataSize), 11342, 11347, 11356,
+       /*11356*/ uint16(xSetOp), uint16(SHR),
+       /*11358*/ uint16(xArgRM64),
+       /*11359*/ uint16(xArgCL),
+       /*11360*/ uint16(xMatch),
+       /*11361*/ uint16(xCondIs64), 11364, 11378,
+       /*11364*/ uint16(xCondDataSize), 11368, 11373, 0,
+       /*11368*/ uint16(xSetOp), uint16(SAR),
+       /*11370*/ uint16(xArgRM16),
+       /*11371*/ uint16(xArgCL),
+       /*11372*/ uint16(xMatch),
+       /*11373*/ uint16(xSetOp), uint16(SAR),
+       /*11375*/ uint16(xArgRM32),
+       /*11376*/ uint16(xArgCL),
+       /*11377*/ uint16(xMatch),
+       /*11378*/ uint16(xCondDataSize), 11368, 11373, 11382,
+       /*11382*/ uint16(xSetOp), uint16(SAR),
+       /*11384*/ uint16(xArgRM64),
+       /*11385*/ uint16(xArgCL),
+       /*11386*/ uint16(xMatch),
+       /*11387*/ uint16(xCondIs64), 11390, 0,
+       /*11390*/ uint16(xSetOp), uint16(AAM),
+       /*11392*/ uint16(xReadIb),
+       /*11393*/ uint16(xArgImm8u),
+       /*11394*/ uint16(xMatch),
+       /*11395*/ uint16(xCondIs64), 11398, 0,
+       /*11398*/ uint16(xSetOp), uint16(AAD),
+       /*11400*/ uint16(xReadIb),
+       /*11401*/ uint16(xArgImm8u),
+       /*11402*/ uint16(xMatch),
+       /*11403*/ uint16(xCondIs64), 11406, 11409,
+       /*11406*/ uint16(xSetOp), uint16(XLATB),
+       /*11408*/ uint16(xMatch),
+       /*11409*/ uint16(xCondDataSize), 11406, 11406, 11413,
+       /*11413*/ uint16(xSetOp), uint16(XLATB),
+       /*11415*/ uint16(xMatch),
+       /*11416*/ uint16(xCondByte), 64,
+       0xc0, 11587,
+       0xc1, 11587,
+       0xc2, 11587,
+       0xc3, 11587,
+       0xc4, 11587,
+       0xc5, 11587,
+       0xc6, 11587,
+       0xc7, 11587,
+       0xc8, 11592,
+       0xc9, 11592,
+       0xca, 11592,
+       0xcb, 11592,
+       0xcc, 11592,
+       0xcd, 11592,
+       0xce, 11592,
+       0xcf, 11592,
+       0xd0, 11597,
+       0xd1, 11597,
+       0xd2, 11597,
+       0xd3, 11597,
+       0xd4, 11597,
+       0xd5, 11597,
+       0xd6, 11597,
+       0xd7, 11597,
+       0xd8, 11601,
+       0xd9, 11601,
+       0xda, 11601,
+       0xdb, 11601,
+       0xdc, 11601,
+       0xdd, 11601,
+       0xde, 11601,
+       0xdf, 11601,
+       0xe0, 11605,
+       0xe1, 11605,
+       0xe2, 11605,
+       0xe3, 11605,
+       0xe4, 11605,
+       0xe5, 11605,
+       0xe6, 11605,
+       0xe7, 11605,
+       0xe8, 11610,
+       0xe9, 11610,
+       0xea, 11610,
+       0xeb, 11610,
+       0xec, 11610,
+       0xed, 11610,
+       0xee, 11610,
+       0xef, 11610,
+       0xf0, 11615,
+       0xf1, 11615,
+       0xf2, 11615,
+       0xf3, 11615,
+       0xf4, 11615,
+       0xf5, 11615,
+       0xf6, 11615,
+       0xf7, 11615,
+       0xf8, 11620,
+       0xf9, 11620,
+       0xfa, 11620,
+       0xfb, 11620,
+       0xfc, 11620,
+       0xfd, 11620,
+       0xfe, 11620,
+       0xff, 11620,
+       /*11546*/ uint16(xCondSlashR),
+       11555, // 0
+       11559, // 1
+       11563, // 2
+       11567, // 3
+       11571, // 4
+       11575, // 5
+       11579, // 6
+       11583, // 7
+       /*11555*/ uint16(xSetOp), uint16(FADD),
+       /*11557*/ uint16(xArgM32fp),
+       /*11558*/ uint16(xMatch),
+       /*11559*/ uint16(xSetOp), uint16(FMUL),
+       /*11561*/ uint16(xArgM32fp),
+       /*11562*/ uint16(xMatch),
+       /*11563*/ uint16(xSetOp), uint16(FCOM),
+       /*11565*/ uint16(xArgM32fp),
+       /*11566*/ uint16(xMatch),
+       /*11567*/ uint16(xSetOp), uint16(FCOMP),
+       /*11569*/ uint16(xArgM32fp),
+       /*11570*/ uint16(xMatch),
+       /*11571*/ uint16(xSetOp), uint16(FSUB),
+       /*11573*/ uint16(xArgM32fp),
+       /*11574*/ uint16(xMatch),
+       /*11575*/ uint16(xSetOp), uint16(FSUBR),
+       /*11577*/ uint16(xArgM32fp),
+       /*11578*/ uint16(xMatch),
+       /*11579*/ uint16(xSetOp), uint16(FDIV),
+       /*11581*/ uint16(xArgM32fp),
+       /*11582*/ uint16(xMatch),
+       /*11583*/ uint16(xSetOp), uint16(FDIVR),
+       /*11585*/ uint16(xArgM32fp),
+       /*11586*/ uint16(xMatch),
+       /*11587*/ uint16(xSetOp), uint16(FADD),
+       /*11589*/ uint16(xArgST),
+       /*11590*/ uint16(xArgSTi),
+       /*11591*/ uint16(xMatch),
+       /*11592*/ uint16(xSetOp), uint16(FMUL),
+       /*11594*/ uint16(xArgST),
+       /*11595*/ uint16(xArgSTi),
+       /*11596*/ uint16(xMatch),
+       /*11597*/ uint16(xSetOp), uint16(FCOM),
        /*11599*/ uint16(xArgSTi),
        /*11600*/ uint16(xMatch),
-       /*11601*/ uint16(xSetOp), uint16(FDIVR),
-       /*11603*/ uint16(xArgST),
-       /*11604*/ uint16(xArgSTi),
-       /*11605*/ uint16(xMatch),
-       /*11606*/ uint16(xCondByte), 44,
-       0xc0, 11733,
-       0xc1, 11733,
-       0xc2, 11733,
-       0xc3, 11733,
-       0xc4, 11733,
-       0xc5, 11733,
-       0xc6, 11733,
-       0xc7, 11733,
-       0xc8, 11737,
-       0xc9, 11737,
-       0xca, 11737,
-       0xcb, 11737,
-       0xcc, 11737,
-       0xcd, 11737,
-       0xce, 11737,
-       0xcf, 11737,
-       0xD0, 11741,
-       0xE0, 11744,
-       0xE1, 11747,
-       0xE4, 11750,
-       0xE5, 11753,
-       0xE8, 11756,
-       0xE9, 11759,
-       0xEA, 11762,
-       0xEB, 11765,
-       0xEC, 11768,
-       0xED, 11771,
-       0xEE, 11774,
-       0xF0, 11777,
-       0xF1, 11780,
-       0xF2, 11783,
-       0xF3, 11786,
-       0xF4, 11789,
-       0xF5, 11792,
-       0xF6, 11795,
-       0xF7, 11798,
-       0xF8, 11801,
-       0xF9, 11804,
-       0xFA, 11807,
-       0xFB, 11810,
-       0xFC, 11813,
-       0xFD, 11816,
-       0xFE, 11819,
-       0xFF, 11822,
-       /*11696*/ uint16(xCondSlashR),
-       11705, // 0
+       /*11601*/ uint16(xSetOp), uint16(FCOMP),
+       /*11603*/ uint16(xArgSTi),
+       /*11604*/ uint16(xMatch),
+       /*11605*/ uint16(xSetOp), uint16(FSUB),
+       /*11607*/ uint16(xArgST),
+       /*11608*/ uint16(xArgSTi),
+       /*11609*/ uint16(xMatch),
+       /*11610*/ uint16(xSetOp), uint16(FSUBR),
+       /*11612*/ uint16(xArgST),
+       /*11613*/ uint16(xArgSTi),
+       /*11614*/ uint16(xMatch),
+       /*11615*/ uint16(xSetOp), uint16(FDIV),
+       /*11617*/ uint16(xArgST),
+       /*11618*/ uint16(xArgSTi),
+       /*11619*/ uint16(xMatch),
+       /*11620*/ uint16(xSetOp), uint16(FDIVR),
+       /*11622*/ uint16(xArgST),
+       /*11623*/ uint16(xArgSTi),
+       /*11624*/ uint16(xMatch),
+       /*11625*/ uint16(xCondByte), 44,
+       0xc0, 11752,
+       0xc1, 11752,
+       0xc2, 11752,
+       0xc3, 11752,
+       0xc4, 11752,
+       0xc5, 11752,
+       0xc6, 11752,
+       0xc7, 11752,
+       0xc8, 11756,
+       0xc9, 11756,
+       0xca, 11756,
+       0xcb, 11756,
+       0xcc, 11756,
+       0xcd, 11756,
+       0xce, 11756,
+       0xcf, 11756,
+       0xD0, 11760,
+       0xE0, 11763,
+       0xE1, 11766,
+       0xE4, 11769,
+       0xE5, 11772,
+       0xE8, 11775,
+       0xE9, 11778,
+       0xEA, 11781,
+       0xEB, 11784,
+       0xEC, 11787,
+       0xED, 11790,
+       0xEE, 11793,
+       0xF0, 11796,
+       0xF1, 11799,
+       0xF2, 11802,
+       0xF3, 11805,
+       0xF4, 11808,
+       0xF5, 11811,
+       0xF6, 11814,
+       0xF7, 11817,
+       0xF8, 11820,
+       0xF9, 11823,
+       0xFA, 11826,
+       0xFB, 11829,
+       0xFC, 11832,
+       0xFD, 11835,
+       0xFE, 11838,
+       0xFF, 11841,
+       /*11715*/ uint16(xCondSlashR),
+       11724, // 0
        0,     // 1
-       11709, // 2
-       11713, // 3
-       11717, // 4
-       11721, // 5
-       11725, // 6
-       11729, // 7
-       /*11705*/ uint16(xSetOp), uint16(FLD),
-       /*11707*/ uint16(xArgM32fp),
-       /*11708*/ uint16(xMatch),
-       /*11709*/ uint16(xSetOp), uint16(FST),
-       /*11711*/ uint16(xArgM32fp),
-       /*11712*/ uint16(xMatch),
-       /*11713*/ uint16(xSetOp), uint16(FSTP),
-       /*11715*/ uint16(xArgM32fp),
-       /*11716*/ uint16(xMatch),
-       /*11717*/ uint16(xSetOp), uint16(FLDENV),
-       /*11719*/ uint16(xArgM1428byte),
-       /*11720*/ uint16(xMatch),
-       /*11721*/ uint16(xSetOp), uint16(FLDCW),
-       /*11723*/ uint16(xArgM2byte),
-       /*11724*/ uint16(xMatch),
-       /*11725*/ uint16(xSetOp), uint16(FNSTENV),
-       /*11727*/ uint16(xArgM1428byte),
-       /*11728*/ uint16(xMatch),
-       /*11729*/ uint16(xSetOp), uint16(FNSTCW),
-       /*11731*/ uint16(xArgM2byte),
-       /*11732*/ uint16(xMatch),
-       /*11733*/ uint16(xSetOp), uint16(FLD),
-       /*11735*/ uint16(xArgSTi),
-       /*11736*/ uint16(xMatch),
-       /*11737*/ uint16(xSetOp), uint16(FXCH),
-       /*11739*/ uint16(xArgSTi),
-       /*11740*/ uint16(xMatch),
-       /*11741*/ uint16(xSetOp), uint16(FNOP),
+       11728, // 2
+       11732, // 3
+       11736, // 4
+       11740, // 5
+       11744, // 6
+       11748, // 7
+       /*11724*/ uint16(xSetOp), uint16(FLD),
+       /*11726*/ uint16(xArgM32fp),
+       /*11727*/ uint16(xMatch),
+       /*11728*/ uint16(xSetOp), uint16(FST),
+       /*11730*/ uint16(xArgM32fp),
+       /*11731*/ uint16(xMatch),
+       /*11732*/ uint16(xSetOp), uint16(FSTP),
+       /*11734*/ uint16(xArgM32fp),
+       /*11735*/ uint16(xMatch),
+       /*11736*/ uint16(xSetOp), uint16(FLDENV),
+       /*11738*/ uint16(xArgM1428byte),
+       /*11739*/ uint16(xMatch),
+       /*11740*/ uint16(xSetOp), uint16(FLDCW),
+       /*11742*/ uint16(xArgM2byte),
        /*11743*/ uint16(xMatch),
-       /*11744*/ uint16(xSetOp), uint16(FCHS),
-       /*11746*/ uint16(xMatch),
-       /*11747*/ uint16(xSetOp), uint16(FABS),
-       /*11749*/ uint16(xMatch),
-       /*11750*/ uint16(xSetOp), uint16(FTST),
-       /*11752*/ uint16(xMatch),
-       /*11753*/ uint16(xSetOp), uint16(FXAM),
+       /*11744*/ uint16(xSetOp), uint16(FNSTENV),
+       /*11746*/ uint16(xArgM1428byte),
+       /*11747*/ uint16(xMatch),
+       /*11748*/ uint16(xSetOp), uint16(FNSTCW),
+       /*11750*/ uint16(xArgM2byte),
+       /*11751*/ uint16(xMatch),
+       /*11752*/ uint16(xSetOp), uint16(FLD),
+       /*11754*/ uint16(xArgSTi),
        /*11755*/ uint16(xMatch),
-       /*11756*/ uint16(xSetOp), uint16(FLD1),
-       /*11758*/ uint16(xMatch),
-       /*11759*/ uint16(xSetOp), uint16(FLDL2T),
-       /*11761*/ uint16(xMatch),
-       /*11762*/ uint16(xSetOp), uint16(FLDL2E),
-       /*11764*/ uint16(xMatch),
-       /*11765*/ uint16(xSetOp), uint16(FLDPI),
-       /*11767*/ uint16(xMatch),
-       /*11768*/ uint16(xSetOp), uint16(FLDLG2),
-       /*11770*/ uint16(xMatch),
-       /*11771*/ uint16(xSetOp), uint16(FLDLN2),
-       /*11773*/ uint16(xMatch),
-       /*11774*/ uint16(xSetOp), uint16(FLDZ),
-       /*11776*/ uint16(xMatch),
-       /*11777*/ uint16(xSetOp), uint16(F2XM1),
-       /*11779*/ uint16(xMatch),
-       /*11780*/ uint16(xSetOp), uint16(FYL2X),
-       /*11782*/ uint16(xMatch),
-       /*11783*/ uint16(xSetOp), uint16(FPTAN),
-       /*11785*/ uint16(xMatch),
-       /*11786*/ uint16(xSetOp), uint16(FPATAN),
-       /*11788*/ uint16(xMatch),
-       /*11789*/ uint16(xSetOp), uint16(FXTRACT),
-       /*11791*/ uint16(xMatch),
-       /*11792*/ uint16(xSetOp), uint16(FPREM1),
-       /*11794*/ uint16(xMatch),
-       /*11795*/ uint16(xSetOp), uint16(FDECSTP),
-       /*11797*/ uint16(xMatch),
-       /*11798*/ uint16(xSetOp), uint16(FINCSTP),
-       /*11800*/ uint16(xMatch),
-       /*11801*/ uint16(xSetOp), uint16(FPREM),
-       /*11803*/ uint16(xMatch),
-       /*11804*/ uint16(xSetOp), uint16(FYL2XP1),
-       /*11806*/ uint16(xMatch),
-       /*11807*/ uint16(xSetOp), uint16(FSQRT),
-       /*11809*/ uint16(xMatch),
-       /*11810*/ uint16(xSetOp), uint16(FSINCOS),
-       /*11812*/ uint16(xMatch),
-       /*11813*/ uint16(xSetOp), uint16(FRNDINT),
-       /*11815*/ uint16(xMatch),
-       /*11816*/ uint16(xSetOp), uint16(FSCALE),
-       /*11818*/ uint16(xMatch),
-       /*11819*/ uint16(xSetOp), uint16(FSIN),
-       /*11821*/ uint16(xMatch),
-       /*11822*/ uint16(xSetOp), uint16(FCOS),
-       /*11824*/ uint16(xMatch),
-       /*11825*/ uint16(xCondByte), 33,
-       0xc0, 11934,
-       0xc1, 11934,
-       0xc2, 11934,
-       0xc3, 11934,
-       0xc4, 11934,
-       0xc5, 11934,
-       0xc6, 11934,
-       0xc7, 11934,
-       0xc8, 11939,
-       0xc9, 11939,
-       0xca, 11939,
-       0xcb, 11939,
-       0xcc, 11939,
-       0xcd, 11939,
-       0xce, 11939,
-       0xcf, 11939,
-       0xd0, 11944,
-       0xd1, 11944,
-       0xd2, 11944,
-       0xd3, 11944,
-       0xd4, 11944,
-       0xd5, 11944,
-       0xd6, 11944,
-       0xd7, 11944,
-       0xd8, 11949,
-       0xd9, 11949,
-       0xda, 11949,
-       0xdb, 11949,
-       0xdc, 11949,
-       0xdd, 11949,
-       0xde, 11949,
-       0xdf, 11949,
-       0xE9, 11954,
-       /*11893*/ uint16(xCondSlashR),
-       11902, // 0
-       11906, // 1
-       11910, // 2
-       11914, // 3
-       11918, // 4
-       11922, // 5
-       11926, // 6
-       11930, // 7
-       /*11902*/ uint16(xSetOp), uint16(FIADD),
-       /*11904*/ uint16(xArgM32int),
-       /*11905*/ uint16(xMatch),
-       /*11906*/ uint16(xSetOp), uint16(FIMUL),
-       /*11908*/ uint16(xArgM32int),
-       /*11909*/ uint16(xMatch),
-       /*11910*/ uint16(xSetOp), uint16(FICOM),
-       /*11912*/ uint16(xArgM32int),
-       /*11913*/ uint16(xMatch),
-       /*11914*/ uint16(xSetOp), uint16(FICOMP),
-       /*11916*/ uint16(xArgM32int),
-       /*11917*/ uint16(xMatch),
-       /*11918*/ uint16(xSetOp), uint16(FISUB),
-       /*11920*/ uint16(xArgM32int),
-       /*11921*/ uint16(xMatch),
-       /*11922*/ uint16(xSetOp), uint16(FISUBR),
-       /*11924*/ uint16(xArgM32int),
-       /*11925*/ uint16(xMatch),
-       /*11926*/ uint16(xSetOp), uint16(FIDIV),
-       /*11928*/ uint16(xArgM32int),
-       /*11929*/ uint16(xMatch),
-       /*11930*/ uint16(xSetOp), uint16(FIDIVR),
-       /*11932*/ uint16(xArgM32int),
-       /*11933*/ uint16(xMatch),
-       /*11934*/ uint16(xSetOp), uint16(FCMOVB),
-       /*11936*/ uint16(xArgST),
-       /*11937*/ uint16(xArgSTi),
-       /*11938*/ uint16(xMatch),
-       /*11939*/ uint16(xSetOp), uint16(FCMOVE),
-       /*11941*/ uint16(xArgST),
-       /*11942*/ uint16(xArgSTi),
-       /*11943*/ uint16(xMatch),
-       /*11944*/ uint16(xSetOp), uint16(FCMOVBE),
-       /*11946*/ uint16(xArgST),
-       /*11947*/ uint16(xArgSTi),
+       /*11756*/ uint16(xSetOp), uint16(FXCH),
+       /*11758*/ uint16(xArgSTi),
+       /*11759*/ uint16(xMatch),
+       /*11760*/ uint16(xSetOp), uint16(FNOP),
+       /*11762*/ uint16(xMatch),
+       /*11763*/ uint16(xSetOp), uint16(FCHS),
+       /*11765*/ uint16(xMatch),
+       /*11766*/ uint16(xSetOp), uint16(FABS),
+       /*11768*/ uint16(xMatch),
+       /*11769*/ uint16(xSetOp), uint16(FTST),
+       /*11771*/ uint16(xMatch),
+       /*11772*/ uint16(xSetOp), uint16(FXAM),
+       /*11774*/ uint16(xMatch),
+       /*11775*/ uint16(xSetOp), uint16(FLD1),
+       /*11777*/ uint16(xMatch),
+       /*11778*/ uint16(xSetOp), uint16(FLDL2T),
+       /*11780*/ uint16(xMatch),
+       /*11781*/ uint16(xSetOp), uint16(FLDL2E),
+       /*11783*/ uint16(xMatch),
+       /*11784*/ uint16(xSetOp), uint16(FLDPI),
+       /*11786*/ uint16(xMatch),
+       /*11787*/ uint16(xSetOp), uint16(FLDLG2),
+       /*11789*/ uint16(xMatch),
+       /*11790*/ uint16(xSetOp), uint16(FLDLN2),
+       /*11792*/ uint16(xMatch),
+       /*11793*/ uint16(xSetOp), uint16(FLDZ),
+       /*11795*/ uint16(xMatch),
+       /*11796*/ uint16(xSetOp), uint16(F2XM1),
+       /*11798*/ uint16(xMatch),
+       /*11799*/ uint16(xSetOp), uint16(FYL2X),
+       /*11801*/ uint16(xMatch),
+       /*11802*/ uint16(xSetOp), uint16(FPTAN),
+       /*11804*/ uint16(xMatch),
+       /*11805*/ uint16(xSetOp), uint16(FPATAN),
+       /*11807*/ uint16(xMatch),
+       /*11808*/ uint16(xSetOp), uint16(FXTRACT),
+       /*11810*/ uint16(xMatch),
+       /*11811*/ uint16(xSetOp), uint16(FPREM1),
+       /*11813*/ uint16(xMatch),
+       /*11814*/ uint16(xSetOp), uint16(FDECSTP),
+       /*11816*/ uint16(xMatch),
+       /*11817*/ uint16(xSetOp), uint16(FINCSTP),
+       /*11819*/ uint16(xMatch),
+       /*11820*/ uint16(xSetOp), uint16(FPREM),
+       /*11822*/ uint16(xMatch),
+       /*11823*/ uint16(xSetOp), uint16(FYL2XP1),
+       /*11825*/ uint16(xMatch),
+       /*11826*/ uint16(xSetOp), uint16(FSQRT),
+       /*11828*/ uint16(xMatch),
+       /*11829*/ uint16(xSetOp), uint16(FSINCOS),
+       /*11831*/ uint16(xMatch),
+       /*11832*/ uint16(xSetOp), uint16(FRNDINT),
+       /*11834*/ uint16(xMatch),
+       /*11835*/ uint16(xSetOp), uint16(FSCALE),
+       /*11837*/ uint16(xMatch),
+       /*11838*/ uint16(xSetOp), uint16(FSIN),
+       /*11840*/ uint16(xMatch),
+       /*11841*/ uint16(xSetOp), uint16(FCOS),
+       /*11843*/ uint16(xMatch),
+       /*11844*/ uint16(xCondByte), 33,
+       0xc0, 11953,
+       0xc1, 11953,
+       0xc2, 11953,
+       0xc3, 11953,
+       0xc4, 11953,
+       0xc5, 11953,
+       0xc6, 11953,
+       0xc7, 11953,
+       0xc8, 11958,
+       0xc9, 11958,
+       0xca, 11958,
+       0xcb, 11958,
+       0xcc, 11958,
+       0xcd, 11958,
+       0xce, 11958,
+       0xcf, 11958,
+       0xd0, 11963,
+       0xd1, 11963,
+       0xd2, 11963,
+       0xd3, 11963,
+       0xd4, 11963,
+       0xd5, 11963,
+       0xd6, 11963,
+       0xd7, 11963,
+       0xd8, 11968,
+       0xd9, 11968,
+       0xda, 11968,
+       0xdb, 11968,
+       0xdc, 11968,
+       0xdd, 11968,
+       0xde, 11968,
+       0xdf, 11968,
+       0xE9, 11973,
+       /*11912*/ uint16(xCondSlashR),
+       11921, // 0
+       11925, // 1
+       11929, // 2
+       11933, // 3
+       11937, // 4
+       11941, // 5
+       11945, // 6
+       11949, // 7
+       /*11921*/ uint16(xSetOp), uint16(FIADD),
+       /*11923*/ uint16(xArgM32int),
+       /*11924*/ uint16(xMatch),
+       /*11925*/ uint16(xSetOp), uint16(FIMUL),
+       /*11927*/ uint16(xArgM32int),
+       /*11928*/ uint16(xMatch),
+       /*11929*/ uint16(xSetOp), uint16(FICOM),
+       /*11931*/ uint16(xArgM32int),
+       /*11932*/ uint16(xMatch),
+       /*11933*/ uint16(xSetOp), uint16(FICOMP),
+       /*11935*/ uint16(xArgM32int),
+       /*11936*/ uint16(xMatch),
+       /*11937*/ uint16(xSetOp), uint16(FISUB),
+       /*11939*/ uint16(xArgM32int),
+       /*11940*/ uint16(xMatch),
+       /*11941*/ uint16(xSetOp), uint16(FISUBR),
+       /*11943*/ uint16(xArgM32int),
+       /*11944*/ uint16(xMatch),
+       /*11945*/ uint16(xSetOp), uint16(FIDIV),
+       /*11947*/ uint16(xArgM32int),
        /*11948*/ uint16(xMatch),
-       /*11949*/ uint16(xSetOp), uint16(FCMOVU),
-       /*11951*/ uint16(xArgST),
-       /*11952*/ uint16(xArgSTi),
-       /*11953*/ uint16(xMatch),
-       /*11954*/ uint16(xSetOp), uint16(FUCOMPP),
-       /*11956*/ uint16(xMatch),
-       /*11957*/ uint16(xCondByte), 50,
-       0xc0, 12092,
-       0xc1, 12092,
-       0xc2, 12092,
-       0xc3, 12092,
-       0xc4, 12092,
-       0xc5, 12092,
-       0xc6, 12092,
-       0xc7, 12092,
-       0xc8, 12097,
-       0xc9, 12097,
-       0xca, 12097,
-       0xcb, 12097,
-       0xcc, 12097,
-       0xcd, 12097,
-       0xce, 12097,
-       0xcf, 12097,
-       0xd0, 12102,
-       0xd1, 12102,
-       0xd2, 12102,
-       0xd3, 12102,
-       0xd4, 12102,
-       0xd5, 12102,
-       0xd6, 12102,
-       0xd7, 12102,
-       0xd8, 12107,
-       0xd9, 12107,
-       0xda, 12107,
-       0xdb, 12107,
-       0xdc, 12107,
-       0xdd, 12107,
-       0xde, 12107,
-       0xdf, 12107,
-       0xE2, 12112,
-       0xE3, 12115,
-       0xe8, 12118,
-       0xe9, 12118,
-       0xea, 12118,
-       0xeb, 12118,
-       0xec, 12118,
-       0xed, 12118,
-       0xee, 12118,
-       0xef, 12118,
-       0xf0, 12123,
-       0xf1, 12123,
-       0xf2, 12123,
-       0xf3, 12123,
-       0xf4, 12123,
-       0xf5, 12123,
-       0xf6, 12123,
-       0xf7, 12123,
-       /*12059*/ uint16(xCondSlashR),
-       12068, // 0
-       12072, // 1
-       12076, // 2
-       12080, // 3
+       /*11949*/ uint16(xSetOp), uint16(FIDIVR),
+       /*11951*/ uint16(xArgM32int),
+       /*11952*/ uint16(xMatch),
+       /*11953*/ uint16(xSetOp), uint16(FCMOVB),
+       /*11955*/ uint16(xArgST),
+       /*11956*/ uint16(xArgSTi),
+       /*11957*/ uint16(xMatch),
+       /*11958*/ uint16(xSetOp), uint16(FCMOVE),
+       /*11960*/ uint16(xArgST),
+       /*11961*/ uint16(xArgSTi),
+       /*11962*/ uint16(xMatch),
+       /*11963*/ uint16(xSetOp), uint16(FCMOVBE),
+       /*11965*/ uint16(xArgST),
+       /*11966*/ uint16(xArgSTi),
+       /*11967*/ uint16(xMatch),
+       /*11968*/ uint16(xSetOp), uint16(FCMOVU),
+       /*11970*/ uint16(xArgST),
+       /*11971*/ uint16(xArgSTi),
+       /*11972*/ uint16(xMatch),
+       /*11973*/ uint16(xSetOp), uint16(FUCOMPP),
+       /*11975*/ uint16(xMatch),
+       /*11976*/ uint16(xCondByte), 50,
+       0xc0, 12111,
+       0xc1, 12111,
+       0xc2, 12111,
+       0xc3, 12111,
+       0xc4, 12111,
+       0xc5, 12111,
+       0xc6, 12111,
+       0xc7, 12111,
+       0xc8, 12116,
+       0xc9, 12116,
+       0xca, 12116,
+       0xcb, 12116,
+       0xcc, 12116,
+       0xcd, 12116,
+       0xce, 12116,
+       0xcf, 12116,
+       0xd0, 12121,
+       0xd1, 12121,
+       0xd2, 12121,
+       0xd3, 12121,
+       0xd4, 12121,
+       0xd5, 12121,
+       0xd6, 12121,
+       0xd7, 12121,
+       0xd8, 12126,
+       0xd9, 12126,
+       0xda, 12126,
+       0xdb, 12126,
+       0xdc, 12126,
+       0xdd, 12126,
+       0xde, 12126,
+       0xdf, 12126,
+       0xE2, 12131,
+       0xE3, 12134,
+       0xe8, 12137,
+       0xe9, 12137,
+       0xea, 12137,
+       0xeb, 12137,
+       0xec, 12137,
+       0xed, 12137,
+       0xee, 12137,
+       0xef, 12137,
+       0xf0, 12142,
+       0xf1, 12142,
+       0xf2, 12142,
+       0xf3, 12142,
+       0xf4, 12142,
+       0xf5, 12142,
+       0xf6, 12142,
+       0xf7, 12142,
+       /*12078*/ uint16(xCondSlashR),
+       12087, // 0
+       12091, // 1
+       12095, // 2
+       12099, // 3
        0,     // 4
-       12084, // 5
+       12103, // 5
        0,     // 6
-       12088, // 7
-       /*12068*/ uint16(xSetOp), uint16(FILD),
-       /*12070*/ uint16(xArgM32int),
-       /*12071*/ uint16(xMatch),
-       /*12072*/ uint16(xSetOp), uint16(FISTTP),
-       /*12074*/ uint16(xArgM32int),
-       /*12075*/ uint16(xMatch),
-       /*12076*/ uint16(xSetOp), uint16(FIST),
-       /*12078*/ uint16(xArgM32int),
-       /*12079*/ uint16(xMatch),
-       /*12080*/ uint16(xSetOp), uint16(FISTP),
-       /*12082*/ uint16(xArgM32int),
-       /*12083*/ uint16(xMatch),
-       /*12084*/ uint16(xSetOp), uint16(FLD),
-       /*12086*/ uint16(xArgM80fp),
-       /*12087*/ uint16(xMatch),
-       /*12088*/ uint16(xSetOp), uint16(FSTP),
-       /*12090*/ uint16(xArgM80fp),
-       /*12091*/ uint16(xMatch),
-       /*12092*/ uint16(xSetOp), uint16(FCMOVNB),
-       /*12094*/ uint16(xArgST),
-       /*12095*/ uint16(xArgSTi),
-       /*12096*/ uint16(xMatch),
-       /*12097*/ uint16(xSetOp), uint16(FCMOVNE),
-       /*12099*/ uint16(xArgST),
-       /*12100*/ uint16(xArgSTi),
-       /*12101*/ uint16(xMatch),
-       /*12102*/ uint16(xSetOp), uint16(FCMOVNBE),
-       /*12104*/ uint16(xArgST),
-       /*12105*/ uint16(xArgSTi),
+       12107, // 7
+       /*12087*/ uint16(xSetOp), uint16(FILD),
+       /*12089*/ uint16(xArgM32int),
+       /*12090*/ uint16(xMatch),
+       /*12091*/ uint16(xSetOp), uint16(FISTTP),
+       /*12093*/ uint16(xArgM32int),
+       /*12094*/ uint16(xMatch),
+       /*12095*/ uint16(xSetOp), uint16(FIST),
+       /*12097*/ uint16(xArgM32int),
+       /*12098*/ uint16(xMatch),
+       /*12099*/ uint16(xSetOp), uint16(FISTP),
+       /*12101*/ uint16(xArgM32int),
+       /*12102*/ uint16(xMatch),
+       /*12103*/ uint16(xSetOp), uint16(FLD),
+       /*12105*/ uint16(xArgM80fp),
        /*12106*/ uint16(xMatch),
-       /*12107*/ uint16(xSetOp), uint16(FCMOVNU),
-       /*12109*/ uint16(xArgST),
-       /*12110*/ uint16(xArgSTi),
-       /*12111*/ uint16(xMatch),
-       /*12112*/ uint16(xSetOp), uint16(FNCLEX),
-       /*12114*/ uint16(xMatch),
-       /*12115*/ uint16(xSetOp), uint16(FNINIT),
-       /*12117*/ uint16(xMatch),
-       /*12118*/ uint16(xSetOp), uint16(FUCOMI),
-       /*12120*/ uint16(xArgST),
-       /*12121*/ uint16(xArgSTi),
-       /*12122*/ uint16(xMatch),
-       /*12123*/ uint16(xSetOp), uint16(FCOMI),
-       /*12125*/ uint16(xArgST),
-       /*12126*/ uint16(xArgSTi),
-       /*12127*/ uint16(xMatch),
-       /*12128*/ uint16(xCondByte), 48,
-       0xc0, 12267,
-       0xc1, 12267,
-       0xc2, 12267,
-       0xc3, 12267,
-       0xc4, 12267,
-       0xc5, 12267,
-       0xc6, 12267,
-       0xc7, 12267,
-       0xc8, 12272,
-       0xc9, 12272,
-       0xca, 12272,
-       0xcb, 12272,
-       0xcc, 12272,
-       0xcd, 12272,
-       0xce, 12272,
-       0xcf, 12272,
-       0xe0, 12277,
-       0xe1, 12277,
-       0xe2, 12277,
-       0xe3, 12277,
-       0xe4, 12277,
-       0xe5, 12277,
-       0xe6, 12277,
-       0xe7, 12277,
-       0xe8, 12282,
-       0xe9, 12282,
-       0xea, 12282,
-       0xeb, 12282,
-       0xec, 12282,
-       0xed, 12282,
-       0xee, 12282,
-       0xef, 12282,
-       0xf0, 12287,
-       0xf1, 12287,
-       0xf2, 12287,
-       0xf3, 12287,
-       0xf4, 12287,
-       0xf5, 12287,
-       0xf6, 12287,
-       0xf7, 12287,
-       0xf8, 12292,
-       0xf9, 12292,
-       0xfa, 12292,
-       0xfb, 12292,
-       0xfc, 12292,
-       0xfd, 12292,
-       0xfe, 12292,
-       0xff, 12292,
-       /*12226*/ uint16(xCondSlashR),
-       12235, // 0
-       12239, // 1
-       12243, // 2
-       12247, // 3
-       12251, // 4
-       12255, // 5
-       12259, // 6
-       12263, // 7
-       /*12235*/ uint16(xSetOp), uint16(FADD),
-       /*12237*/ uint16(xArgM64fp),
-       /*12238*/ uint16(xMatch),
-       /*12239*/ uint16(xSetOp), uint16(FMUL),
-       /*12241*/ uint16(xArgM64fp),
-       /*12242*/ uint16(xMatch),
-       /*12243*/ uint16(xSetOp), uint16(FCOM),
-       /*12245*/ uint16(xArgM64fp),
-       /*12246*/ uint16(xMatch),
-       /*12247*/ uint16(xSetOp), uint16(FCOMP),
-       /*12249*/ uint16(xArgM64fp),
-       /*12250*/ uint16(xMatch),
-       /*12251*/ uint16(xSetOp), uint16(FSUB),
-       /*12253*/ uint16(xArgM64fp),
-       /*12254*/ uint16(xMatch),
-       /*12255*/ uint16(xSetOp), uint16(FSUBR),
-       /*12257*/ uint16(xArgM64fp),
-       /*12258*/ uint16(xMatch),
-       /*12259*/ uint16(xSetOp), uint16(FDIV),
-       /*12261*/ uint16(xArgM64fp),
-       /*12262*/ uint16(xMatch),
-       /*12263*/ uint16(xSetOp), uint16(FDIVR),
-       /*12265*/ uint16(xArgM64fp),
-       /*12266*/ uint16(xMatch),
-       /*12267*/ uint16(xSetOp), uint16(FADD),
-       /*12269*/ uint16(xArgSTi),
-       /*12270*/ uint16(xArgST),
-       /*12271*/ uint16(xMatch),
-       /*12272*/ uint16(xSetOp), uint16(FMUL),
-       /*12274*/ uint16(xArgSTi),
-       /*12275*/ uint16(xArgST),
-       /*12276*/ uint16(xMatch),
-       /*12277*/ uint16(xSetOp), uint16(FSUBR),
-       /*12279*/ uint16(xArgSTi),
-       /*12280*/ uint16(xArgST),
+       /*12107*/ uint16(xSetOp), uint16(FSTP),
+       /*12109*/ uint16(xArgM80fp),
+       /*12110*/ uint16(xMatch),
+       /*12111*/ uint16(xSetOp), uint16(FCMOVNB),
+       /*12113*/ uint16(xArgST),
+       /*12114*/ uint16(xArgSTi),
+       /*12115*/ uint16(xMatch),
+       /*12116*/ uint16(xSetOp), uint16(FCMOVNE),
+       /*12118*/ uint16(xArgST),
+       /*12119*/ uint16(xArgSTi),
+       /*12120*/ uint16(xMatch),
+       /*12121*/ uint16(xSetOp), uint16(FCMOVNBE),
+       /*12123*/ uint16(xArgST),
+       /*12124*/ uint16(xArgSTi),
+       /*12125*/ uint16(xMatch),
+       /*12126*/ uint16(xSetOp), uint16(FCMOVNU),
+       /*12128*/ uint16(xArgST),
+       /*12129*/ uint16(xArgSTi),
+       /*12130*/ uint16(xMatch),
+       /*12131*/ uint16(xSetOp), uint16(FNCLEX),
+       /*12133*/ uint16(xMatch),
+       /*12134*/ uint16(xSetOp), uint16(FNINIT),
+       /*12136*/ uint16(xMatch),
+       /*12137*/ uint16(xSetOp), uint16(FUCOMI),
+       /*12139*/ uint16(xArgST),
+       /*12140*/ uint16(xArgSTi),
+       /*12141*/ uint16(xMatch),
+       /*12142*/ uint16(xSetOp), uint16(FCOMI),
+       /*12144*/ uint16(xArgST),
+       /*12145*/ uint16(xArgSTi),
+       /*12146*/ uint16(xMatch),
+       /*12147*/ uint16(xCondByte), 48,
+       0xc0, 12286,
+       0xc1, 12286,
+       0xc2, 12286,
+       0xc3, 12286,
+       0xc4, 12286,
+       0xc5, 12286,
+       0xc6, 12286,
+       0xc7, 12286,
+       0xc8, 12291,
+       0xc9, 12291,
+       0xca, 12291,
+       0xcb, 12291,
+       0xcc, 12291,
+       0xcd, 12291,
+       0xce, 12291,
+       0xcf, 12291,
+       0xe0, 12296,
+       0xe1, 12296,
+       0xe2, 12296,
+       0xe3, 12296,
+       0xe4, 12296,
+       0xe5, 12296,
+       0xe6, 12296,
+       0xe7, 12296,
+       0xe8, 12301,
+       0xe9, 12301,
+       0xea, 12301,
+       0xeb, 12301,
+       0xec, 12301,
+       0xed, 12301,
+       0xee, 12301,
+       0xef, 12301,
+       0xf0, 12306,
+       0xf1, 12306,
+       0xf2, 12306,
+       0xf3, 12306,
+       0xf4, 12306,
+       0xf5, 12306,
+       0xf6, 12306,
+       0xf7, 12306,
+       0xf8, 12311,
+       0xf9, 12311,
+       0xfa, 12311,
+       0xfb, 12311,
+       0xfc, 12311,
+       0xfd, 12311,
+       0xfe, 12311,
+       0xff, 12311,
+       /*12245*/ uint16(xCondSlashR),
+       12254, // 0
+       12258, // 1
+       12262, // 2
+       12266, // 3
+       12270, // 4
+       12274, // 5
+       12278, // 6
+       12282, // 7
+       /*12254*/ uint16(xSetOp), uint16(FADD),
+       /*12256*/ uint16(xArgM64fp),
+       /*12257*/ uint16(xMatch),
+       /*12258*/ uint16(xSetOp), uint16(FMUL),
+       /*12260*/ uint16(xArgM64fp),
+       /*12261*/ uint16(xMatch),
+       /*12262*/ uint16(xSetOp), uint16(FCOM),
+       /*12264*/ uint16(xArgM64fp),
+       /*12265*/ uint16(xMatch),
+       /*12266*/ uint16(xSetOp), uint16(FCOMP),
+       /*12268*/ uint16(xArgM64fp),
+       /*12269*/ uint16(xMatch),
+       /*12270*/ uint16(xSetOp), uint16(FSUB),
+       /*12272*/ uint16(xArgM64fp),
+       /*12273*/ uint16(xMatch),
+       /*12274*/ uint16(xSetOp), uint16(FSUBR),
+       /*12276*/ uint16(xArgM64fp),
+       /*12277*/ uint16(xMatch),
+       /*12278*/ uint16(xSetOp), uint16(FDIV),
+       /*12280*/ uint16(xArgM64fp),
        /*12281*/ uint16(xMatch),
-       /*12282*/ uint16(xSetOp), uint16(FSUB),
-       /*12284*/ uint16(xArgSTi),
-       /*12285*/ uint16(xArgST),
-       /*12286*/ uint16(xMatch),
-       /*12287*/ uint16(xSetOp), uint16(FDIVR),
-       /*12289*/ uint16(xArgSTi),
-       /*12290*/ uint16(xArgST),
-       /*12291*/ uint16(xMatch),
-       /*12292*/ uint16(xSetOp), uint16(FDIV),
-       /*12294*/ uint16(xArgSTi),
-       /*12295*/ uint16(xArgST),
-       /*12296*/ uint16(xMatch),
-       /*12297*/ uint16(xCondByte), 40,
-       0xc0, 12416,
-       0xc1, 12416,
-       0xc2, 12416,
-       0xc3, 12416,
-       0xc4, 12416,
-       0xc5, 12416,
-       0xc6, 12416,
-       0xc7, 12416,
-       0xd0, 12420,
-       0xd1, 12420,
-       0xd2, 12420,
-       0xd3, 12420,
-       0xd4, 12420,
-       0xd5, 12420,
-       0xd6, 12420,
-       0xd7, 12420,
-       0xd8, 12424,
-       0xd9, 12424,
-       0xda, 12424,
-       0xdb, 12424,
-       0xdc, 12424,
-       0xdd, 12424,
-       0xde, 12424,
-       0xdf, 12424,
-       0xe0, 12428,
-       0xe1, 12428,
-       0xe2, 12428,
-       0xe3, 12428,
-       0xe4, 12428,
-       0xe5, 12428,
-       0xe6, 12428,
-       0xe7, 12428,
-       0xe8, 12432,
-       0xe9, 12432,
-       0xea, 12432,
-       0xeb, 12432,
-       0xec, 12432,
-       0xed, 12432,
-       0xee, 12432,
-       0xef, 12432,
-       /*12379*/ uint16(xCondSlashR),
-       12388, // 0
-       12392, // 1
-       12396, // 2
-       12400, // 3
-       12404, // 4
+       /*12282*/ uint16(xSetOp), uint16(FDIVR),
+       /*12284*/ uint16(xArgM64fp),
+       /*12285*/ uint16(xMatch),
+       /*12286*/ uint16(xSetOp), uint16(FADD),
+       /*12288*/ uint16(xArgSTi),
+       /*12289*/ uint16(xArgST),
+       /*12290*/ uint16(xMatch),
+       /*12291*/ uint16(xSetOp), uint16(FMUL),
+       /*12293*/ uint16(xArgSTi),
+       /*12294*/ uint16(xArgST),
+       /*12295*/ uint16(xMatch),
+       /*12296*/ uint16(xSetOp), uint16(FSUBR),
+       /*12298*/ uint16(xArgSTi),
+       /*12299*/ uint16(xArgST),
+       /*12300*/ uint16(xMatch),
+       /*12301*/ uint16(xSetOp), uint16(FSUB),
+       /*12303*/ uint16(xArgSTi),
+       /*12304*/ uint16(xArgST),
+       /*12305*/ uint16(xMatch),
+       /*12306*/ uint16(xSetOp), uint16(FDIVR),
+       /*12308*/ uint16(xArgSTi),
+       /*12309*/ uint16(xArgST),
+       /*12310*/ uint16(xMatch),
+       /*12311*/ uint16(xSetOp), uint16(FDIV),
+       /*12313*/ uint16(xArgSTi),
+       /*12314*/ uint16(xArgST),
+       /*12315*/ uint16(xMatch),
+       /*12316*/ uint16(xCondByte), 40,
+       0xc0, 12435,
+       0xc1, 12435,
+       0xc2, 12435,
+       0xc3, 12435,
+       0xc4, 12435,
+       0xc5, 12435,
+       0xc6, 12435,
+       0xc7, 12435,
+       0xd0, 12439,
+       0xd1, 12439,
+       0xd2, 12439,
+       0xd3, 12439,
+       0xd4, 12439,
+       0xd5, 12439,
+       0xd6, 12439,
+       0xd7, 12439,
+       0xd8, 12443,
+       0xd9, 12443,
+       0xda, 12443,
+       0xdb, 12443,
+       0xdc, 12443,
+       0xdd, 12443,
+       0xde, 12443,
+       0xdf, 12443,
+       0xe0, 12447,
+       0xe1, 12447,
+       0xe2, 12447,
+       0xe3, 12447,
+       0xe4, 12447,
+       0xe5, 12447,
+       0xe6, 12447,
+       0xe7, 12447,
+       0xe8, 12451,
+       0xe9, 12451,
+       0xea, 12451,
+       0xeb, 12451,
+       0xec, 12451,
+       0xed, 12451,
+       0xee, 12451,
+       0xef, 12451,
+       /*12398*/ uint16(xCondSlashR),
+       12407, // 0
+       12411, // 1
+       12415, // 2
+       12419, // 3
+       12423, // 4
        0,     // 5
-       12408, // 6
-       12412, // 7
-       /*12388*/ uint16(xSetOp), uint16(FLD),
-       /*12390*/ uint16(xArgM64fp),
-       /*12391*/ uint16(xMatch),
-       /*12392*/ uint16(xSetOp), uint16(FISTTP),
-       /*12394*/ uint16(xArgM64int),
-       /*12395*/ uint16(xMatch),
-       /*12396*/ uint16(xSetOp), uint16(FST),
-       /*12398*/ uint16(xArgM64fp),
-       /*12399*/ uint16(xMatch),
-       /*12400*/ uint16(xSetOp), uint16(FSTP),
-       /*12402*/ uint16(xArgM64fp),
-       /*12403*/ uint16(xMatch),
-       /*12404*/ uint16(xSetOp), uint16(FRSTOR),
-       /*12406*/ uint16(xArgM94108byte),
-       /*12407*/ uint16(xMatch),
-       /*12408*/ uint16(xSetOp), uint16(FNSAVE),
-       /*12410*/ uint16(xArgM94108byte),
-       /*12411*/ uint16(xMatch),
-       /*12412*/ uint16(xSetOp), uint16(FNSTSW),
-       /*12414*/ uint16(xArgM2byte),
-       /*12415*/ uint16(xMatch),
-       /*12416*/ uint16(xSetOp), uint16(FFREE),
-       /*12418*/ uint16(xArgSTi),
-       /*12419*/ uint16(xMatch),
-       /*12420*/ uint16(xSetOp), uint16(FST),
-       /*12422*/ uint16(xArgSTi),
-       /*12423*/ uint16(xMatch),
-       /*12424*/ uint16(xSetOp), uint16(FSTP),
-       /*12426*/ uint16(xArgSTi),
-       /*12427*/ uint16(xMatch),
-       /*12428*/ uint16(xSetOp), uint16(FUCOM),
-       /*12430*/ uint16(xArgSTi),
-       /*12431*/ uint16(xMatch),
-       /*12432*/ uint16(xSetOp), uint16(FUCOMP),
-       /*12434*/ uint16(xArgSTi),
-       /*12435*/ uint16(xMatch),
-       /*12436*/ uint16(xCondByte), 49,
-       0xc0, 12577,
-       0xc1, 12577,
-       0xc2, 12577,
-       0xc3, 12577,
-       0xc4, 12577,
-       0xc5, 12577,
-       0xc6, 12577,
-       0xc7, 12577,
-       0xc8, 12582,
-       0xc9, 12582,
-       0xca, 12582,
-       0xcb, 12582,
-       0xcc, 12582,
-       0xcd, 12582,
-       0xce, 12582,
-       0xcf, 12582,
-       0xD9, 12587,
-       0xe0, 12590,
-       0xe1, 12590,
-       0xe2, 12590,
-       0xe3, 12590,
-       0xe4, 12590,
-       0xe5, 12590,
-       0xe6, 12590,
-       0xe7, 12590,
-       0xe8, 12595,
-       0xe9, 12595,
-       0xea, 12595,
-       0xeb, 12595,
-       0xec, 12595,
-       0xed, 12595,
-       0xee, 12595,
-       0xef, 12595,
-       0xf0, 12600,
-       0xf1, 12600,
-       0xf2, 12600,
-       0xf3, 12600,
-       0xf4, 12600,
-       0xf5, 12600,
-       0xf6, 12600,
-       0xf7, 12600,
-       0xf8, 12605,
-       0xf9, 12605,
-       0xfa, 12605,
-       0xfb, 12605,
-       0xfc, 12605,
-       0xfd, 12605,
-       0xfe, 12605,
-       0xff, 12605,
-       /*12536*/ uint16(xCondSlashR),
-       12545, // 0
-       12549, // 1
-       12553, // 2
-       12557, // 3
-       12561, // 4
-       12565, // 5
-       12569, // 6
-       12573, // 7
-       /*12545*/ uint16(xSetOp), uint16(FIADD),
-       /*12547*/ uint16(xArgM16int),
-       /*12548*/ uint16(xMatch),
-       /*12549*/ uint16(xSetOp), uint16(FIMUL),
-       /*12551*/ uint16(xArgM16int),
-       /*12552*/ uint16(xMatch),
-       /*12553*/ uint16(xSetOp), uint16(FICOM),
-       /*12555*/ uint16(xArgM16int),
-       /*12556*/ uint16(xMatch),
-       /*12557*/ uint16(xSetOp), uint16(FICOMP),
-       /*12559*/ uint16(xArgM16int),
-       /*12560*/ uint16(xMatch),
-       /*12561*/ uint16(xSetOp), uint16(FISUB),
-       /*12563*/ uint16(xArgM16int),
-       /*12564*/ uint16(xMatch),
-       /*12565*/ uint16(xSetOp), uint16(FISUBR),
-       /*12567*/ uint16(xArgM16int),
-       /*12568*/ uint16(xMatch),
-       /*12569*/ uint16(xSetOp), uint16(FIDIV),
-       /*12571*/ uint16(xArgM16int),
-       /*12572*/ uint16(xMatch),
-       /*12573*/ uint16(xSetOp), uint16(FIDIVR),
-       /*12575*/ uint16(xArgM16int),
-       /*12576*/ uint16(xMatch),
-       /*12577*/ uint16(xSetOp), uint16(FADDP),
-       /*12579*/ uint16(xArgSTi),
-       /*12580*/ uint16(xArgST),
-       /*12581*/ uint16(xMatch),
-       /*12582*/ uint16(xSetOp), uint16(FMULP),
-       /*12584*/ uint16(xArgSTi),
-       /*12585*/ uint16(xArgST),
-       /*12586*/ uint16(xMatch),
-       /*12587*/ uint16(xSetOp), uint16(FCOMPP),
-       /*12589*/ uint16(xMatch),
-       /*12590*/ uint16(xSetOp), uint16(FSUBRP),
-       /*12592*/ uint16(xArgSTi),
-       /*12593*/ uint16(xArgST),
-       /*12594*/ uint16(xMatch),
-       /*12595*/ uint16(xSetOp), uint16(FSUBP),
-       /*12597*/ uint16(xArgSTi),
-       /*12598*/ uint16(xArgST),
-       /*12599*/ uint16(xMatch),
-       /*12600*/ uint16(xSetOp), uint16(FDIVRP),
-       /*12602*/ uint16(xArgSTi),
-       /*12603*/ uint16(xArgST),
-       /*12604*/ uint16(xMatch),
-       /*12605*/ uint16(xSetOp), uint16(FDIVP),
-       /*12607*/ uint16(xArgSTi),
-       /*12608*/ uint16(xArgST),
-       /*12609*/ uint16(xMatch),
-       /*12610*/ uint16(xCondByte), 25,
-       0xc0, 12703,
-       0xc1, 12703,
-       0xc2, 12703,
-       0xc3, 12703,
-       0xc4, 12703,
-       0xc5, 12703,
-       0xc6, 12703,
-       0xc7, 12703,
-       0xE0, 12707,
-       0xe8, 12711,
-       0xe9, 12711,
-       0xea, 12711,
-       0xeb, 12711,
-       0xec, 12711,
-       0xed, 12711,
-       0xee, 12711,
-       0xef, 12711,
-       0xf0, 12716,
-       0xf1, 12716,
-       0xf2, 12716,
-       0xf3, 12716,
-       0xf4, 12716,
-       0xf5, 12716,
-       0xf6, 12716,
-       0xf7, 12716,
-       /*12662*/ uint16(xCondSlashR),
-       12671, // 0
-       12675, // 1
-       12679, // 2
-       12683, // 3
-       12687, // 4
-       12691, // 5
-       12695, // 6
-       12699, // 7
-       /*12671*/ uint16(xSetOp), uint16(FILD),
-       /*12673*/ uint16(xArgM16int),
-       /*12674*/ uint16(xMatch),
-       /*12675*/ uint16(xSetOp), uint16(FISTTP),
-       /*12677*/ uint16(xArgM16int),
-       /*12678*/ uint16(xMatch),
-       /*12679*/ uint16(xSetOp), uint16(FIST),
-       /*12681*/ uint16(xArgM16int),
-       /*12682*/ uint16(xMatch),
-       /*12683*/ uint16(xSetOp), uint16(FISTP),
-       /*12685*/ uint16(xArgM16int),
-       /*12686*/ uint16(xMatch),
-       /*12687*/ uint16(xSetOp), uint16(FBLD),
-       /*12689*/ uint16(xArgM80dec),
-       /*12690*/ uint16(xMatch),
-       /*12691*/ uint16(xSetOp), uint16(FILD),
-       /*12693*/ uint16(xArgM64int),
-       /*12694*/ uint16(xMatch),
-       /*12695*/ uint16(xSetOp), uint16(FBSTP),
-       /*12697*/ uint16(xArgM80bcd),
-       /*12698*/ uint16(xMatch),
-       /*12699*/ uint16(xSetOp), uint16(FISTP),
-       /*12701*/ uint16(xArgM64int),
-       /*12702*/ uint16(xMatch),
-       /*12703*/ uint16(xSetOp), uint16(FFREEP),
-       /*12705*/ uint16(xArgSTi),
-       /*12706*/ uint16(xMatch),
-       /*12707*/ uint16(xSetOp), uint16(FNSTSW),
-       /*12709*/ uint16(xArgAX),
-       /*12710*/ uint16(xMatch),
-       /*12711*/ uint16(xSetOp), uint16(FUCOMIP),
-       /*12713*/ uint16(xArgST),
-       /*12714*/ uint16(xArgSTi),
-       /*12715*/ uint16(xMatch),
-       /*12716*/ uint16(xSetOp), uint16(FCOMIP),
-       /*12718*/ uint16(xArgST),
-       /*12719*/ uint16(xArgSTi),
-       /*12720*/ uint16(xMatch),
-       /*12721*/ uint16(xSetOp), uint16(LOOPNE),
-       /*12723*/ uint16(xReadCb),
-       /*12724*/ uint16(xArgRel8),
+       12427, // 6
+       12431, // 7
+       /*12407*/ uint16(xSetOp), uint16(FLD),
+       /*12409*/ uint16(xArgM64fp),
+       /*12410*/ uint16(xMatch),
+       /*12411*/ uint16(xSetOp), uint16(FISTTP),
+       /*12413*/ uint16(xArgM64int),
+       /*12414*/ uint16(xMatch),
+       /*12415*/ uint16(xSetOp), uint16(FST),
+       /*12417*/ uint16(xArgM64fp),
+       /*12418*/ uint16(xMatch),
+       /*12419*/ uint16(xSetOp), uint16(FSTP),
+       /*12421*/ uint16(xArgM64fp),
+       /*12422*/ uint16(xMatch),
+       /*12423*/ uint16(xSetOp), uint16(FRSTOR),
+       /*12425*/ uint16(xArgM94108byte),
+       /*12426*/ uint16(xMatch),
+       /*12427*/ uint16(xSetOp), uint16(FNSAVE),
+       /*12429*/ uint16(xArgM94108byte),
+       /*12430*/ uint16(xMatch),
+       /*12431*/ uint16(xSetOp), uint16(FNSTSW),
+       /*12433*/ uint16(xArgM2byte),
+       /*12434*/ uint16(xMatch),
+       /*12435*/ uint16(xSetOp), uint16(FFREE),
+       /*12437*/ uint16(xArgSTi),
+       /*12438*/ uint16(xMatch),
+       /*12439*/ uint16(xSetOp), uint16(FST),
+       /*12441*/ uint16(xArgSTi),
+       /*12442*/ uint16(xMatch),
+       /*12443*/ uint16(xSetOp), uint16(FSTP),
+       /*12445*/ uint16(xArgSTi),
+       /*12446*/ uint16(xMatch),
+       /*12447*/ uint16(xSetOp), uint16(FUCOM),
+       /*12449*/ uint16(xArgSTi),
+       /*12450*/ uint16(xMatch),
+       /*12451*/ uint16(xSetOp), uint16(FUCOMP),
+       /*12453*/ uint16(xArgSTi),
+       /*12454*/ uint16(xMatch),
+       /*12455*/ uint16(xCondByte), 49,
+       0xc0, 12596,
+       0xc1, 12596,
+       0xc2, 12596,
+       0xc3, 12596,
+       0xc4, 12596,
+       0xc5, 12596,
+       0xc6, 12596,
+       0xc7, 12596,
+       0xc8, 12601,
+       0xc9, 12601,
+       0xca, 12601,
+       0xcb, 12601,
+       0xcc, 12601,
+       0xcd, 12601,
+       0xce, 12601,
+       0xcf, 12601,
+       0xD9, 12606,
+       0xe0, 12609,
+       0xe1, 12609,
+       0xe2, 12609,
+       0xe3, 12609,
+       0xe4, 12609,
+       0xe5, 12609,
+       0xe6, 12609,
+       0xe7, 12609,
+       0xe8, 12614,
+       0xe9, 12614,
+       0xea, 12614,
+       0xeb, 12614,
+       0xec, 12614,
+       0xed, 12614,
+       0xee, 12614,
+       0xef, 12614,
+       0xf0, 12619,
+       0xf1, 12619,
+       0xf2, 12619,
+       0xf3, 12619,
+       0xf4, 12619,
+       0xf5, 12619,
+       0xf6, 12619,
+       0xf7, 12619,
+       0xf8, 12624,
+       0xf9, 12624,
+       0xfa, 12624,
+       0xfb, 12624,
+       0xfc, 12624,
+       0xfd, 12624,
+       0xfe, 12624,
+       0xff, 12624,
+       /*12555*/ uint16(xCondSlashR),
+       12564, // 0
+       12568, // 1
+       12572, // 2
+       12576, // 3
+       12580, // 4
+       12584, // 5
+       12588, // 6
+       12592, // 7
+       /*12564*/ uint16(xSetOp), uint16(FIADD),
+       /*12566*/ uint16(xArgM16int),
+       /*12567*/ uint16(xMatch),
+       /*12568*/ uint16(xSetOp), uint16(FIMUL),
+       /*12570*/ uint16(xArgM16int),
+       /*12571*/ uint16(xMatch),
+       /*12572*/ uint16(xSetOp), uint16(FICOM),
+       /*12574*/ uint16(xArgM16int),
+       /*12575*/ uint16(xMatch),
+       /*12576*/ uint16(xSetOp), uint16(FICOMP),
+       /*12578*/ uint16(xArgM16int),
+       /*12579*/ uint16(xMatch),
+       /*12580*/ uint16(xSetOp), uint16(FISUB),
+       /*12582*/ uint16(xArgM16int),
+       /*12583*/ uint16(xMatch),
+       /*12584*/ uint16(xSetOp), uint16(FISUBR),
+       /*12586*/ uint16(xArgM16int),
+       /*12587*/ uint16(xMatch),
+       /*12588*/ uint16(xSetOp), uint16(FIDIV),
+       /*12590*/ uint16(xArgM16int),
+       /*12591*/ uint16(xMatch),
+       /*12592*/ uint16(xSetOp), uint16(FIDIVR),
+       /*12594*/ uint16(xArgM16int),
+       /*12595*/ uint16(xMatch),
+       /*12596*/ uint16(xSetOp), uint16(FADDP),
+       /*12598*/ uint16(xArgSTi),
+       /*12599*/ uint16(xArgST),
+       /*12600*/ uint16(xMatch),
+       /*12601*/ uint16(xSetOp), uint16(FMULP),
+       /*12603*/ uint16(xArgSTi),
+       /*12604*/ uint16(xArgST),
+       /*12605*/ uint16(xMatch),
+       /*12606*/ uint16(xSetOp), uint16(FCOMPP),
+       /*12608*/ uint16(xMatch),
+       /*12609*/ uint16(xSetOp), uint16(FSUBRP),
+       /*12611*/ uint16(xArgSTi),
+       /*12612*/ uint16(xArgST),
+       /*12613*/ uint16(xMatch),
+       /*12614*/ uint16(xSetOp), uint16(FSUBP),
+       /*12616*/ uint16(xArgSTi),
+       /*12617*/ uint16(xArgST),
+       /*12618*/ uint16(xMatch),
+       /*12619*/ uint16(xSetOp), uint16(FDIVRP),
+       /*12621*/ uint16(xArgSTi),
+       /*12622*/ uint16(xArgST),
+       /*12623*/ uint16(xMatch),
+       /*12624*/ uint16(xSetOp), uint16(FDIVP),
+       /*12626*/ uint16(xArgSTi),
+       /*12627*/ uint16(xArgST),
+       /*12628*/ uint16(xMatch),
+       /*12629*/ uint16(xCondByte), 25,
+       0xc0, 12722,
+       0xc1, 12722,
+       0xc2, 12722,
+       0xc3, 12722,
+       0xc4, 12722,
+       0xc5, 12722,
+       0xc6, 12722,
+       0xc7, 12722,
+       0xE0, 12726,
+       0xe8, 12730,
+       0xe9, 12730,
+       0xea, 12730,
+       0xeb, 12730,
+       0xec, 12730,
+       0xed, 12730,
+       0xee, 12730,
+       0xef, 12730,
+       0xf0, 12735,
+       0xf1, 12735,
+       0xf2, 12735,
+       0xf3, 12735,
+       0xf4, 12735,
+       0xf5, 12735,
+       0xf6, 12735,
+       0xf7, 12735,
+       /*12681*/ uint16(xCondSlashR),
+       12690, // 0
+       12694, // 1
+       12698, // 2
+       12702, // 3
+       12706, // 4
+       12710, // 5
+       12714, // 6
+       12718, // 7
+       /*12690*/ uint16(xSetOp), uint16(FILD),
+       /*12692*/ uint16(xArgM16int),
+       /*12693*/ uint16(xMatch),
+       /*12694*/ uint16(xSetOp), uint16(FISTTP),
+       /*12696*/ uint16(xArgM16int),
+       /*12697*/ uint16(xMatch),
+       /*12698*/ uint16(xSetOp), uint16(FIST),
+       /*12700*/ uint16(xArgM16int),
+       /*12701*/ uint16(xMatch),
+       /*12702*/ uint16(xSetOp), uint16(FISTP),
+       /*12704*/ uint16(xArgM16int),
+       /*12705*/ uint16(xMatch),
+       /*12706*/ uint16(xSetOp), uint16(FBLD),
+       /*12708*/ uint16(xArgM80dec),
+       /*12709*/ uint16(xMatch),
+       /*12710*/ uint16(xSetOp), uint16(FILD),
+       /*12712*/ uint16(xArgM64int),
+       /*12713*/ uint16(xMatch),
+       /*12714*/ uint16(xSetOp), uint16(FBSTP),
+       /*12716*/ uint16(xArgM80bcd),
+       /*12717*/ uint16(xMatch),
+       /*12718*/ uint16(xSetOp), uint16(FISTP),
+       /*12720*/ uint16(xArgM64int),
+       /*12721*/ uint16(xMatch),
+       /*12722*/ uint16(xSetOp), uint16(FFREEP),
+       /*12724*/ uint16(xArgSTi),
        /*12725*/ uint16(xMatch),
-       /*12726*/ uint16(xSetOp), uint16(LOOPE),
-       /*12728*/ uint16(xReadCb),
-       /*12729*/ uint16(xArgRel8),
-       /*12730*/ uint16(xMatch),
-       /*12731*/ uint16(xSetOp), uint16(LOOP),
-       /*12733*/ uint16(xReadCb),
-       /*12734*/ uint16(xArgRel8),
-       /*12735*/ uint16(xMatch),
-       /*12736*/ uint16(xCondIs64), 12739, 12753,
-       /*12739*/ uint16(xCondAddrSize), 12743, 12748, 0,
-       /*12743*/ uint16(xSetOp), uint16(JCXZ),
-       /*12745*/ uint16(xReadCb),
-       /*12746*/ uint16(xArgRel8),
-       /*12747*/ uint16(xMatch),
-       /*12748*/ uint16(xSetOp), uint16(JECXZ),
-       /*12750*/ uint16(xReadCb),
-       /*12751*/ uint16(xArgRel8),
-       /*12752*/ uint16(xMatch),
-       /*12753*/ uint16(xCondAddrSize), 0, 12748, 12757,
-       /*12757*/ uint16(xSetOp), uint16(JRCXZ),
-       /*12759*/ uint16(xReadCb),
-       /*12760*/ uint16(xArgRel8),
-       /*12761*/ uint16(xMatch),
-       /*12762*/ uint16(xSetOp), uint16(IN),
-       /*12764*/ uint16(xReadIb),
-       /*12765*/ uint16(xArgAL),
-       /*12766*/ uint16(xArgImm8u),
-       /*12767*/ uint16(xMatch),
-       /*12768*/ uint16(xCondDataSize), 12772, 12778, 12784,
-       /*12772*/ uint16(xSetOp), uint16(IN),
-       /*12774*/ uint16(xReadIb),
-       /*12775*/ uint16(xArgAX),
-       /*12776*/ uint16(xArgImm8u),
-       /*12777*/ uint16(xMatch),
-       /*12778*/ uint16(xSetOp), uint16(IN),
-       /*12780*/ uint16(xReadIb),
-       /*12781*/ uint16(xArgEAX),
-       /*12782*/ uint16(xArgImm8u),
-       /*12783*/ uint16(xMatch),
-       /*12784*/ uint16(xSetOp), uint16(IN),
-       /*12786*/ uint16(xReadIb),
-       /*12787*/ uint16(xArgEAX),
-       /*12788*/ uint16(xArgImm8u),
-       /*12789*/ uint16(xMatch),
-       /*12790*/ uint16(xSetOp), uint16(OUT),
-       /*12792*/ uint16(xReadIb),
-       /*12793*/ uint16(xArgImm8u),
-       /*12794*/ uint16(xArgAL),
-       /*12795*/ uint16(xMatch),
-       /*12796*/ uint16(xCondPrefix), 3,
-       0xC5, 12840,
-       0xC4, 12826,
-       0x0, 12804,
-       /*12804*/ uint16(xCondDataSize), 12808, 12814, 12820,
-       /*12808*/ uint16(xSetOp), uint16(OUT),
-       /*12810*/ uint16(xReadIb),
-       /*12811*/ uint16(xArgImm8u),
-       /*12812*/ uint16(xArgAX),
-       /*12813*/ uint16(xMatch),
-       /*12814*/ uint16(xSetOp), uint16(OUT),
-       /*12816*/ uint16(xReadIb),
-       /*12817*/ uint16(xArgImm8u),
-       /*12818*/ uint16(xArgEAX),
-       /*12819*/ uint16(xMatch),
-       /*12820*/ uint16(xSetOp), uint16(OUT),
-       /*12822*/ uint16(xReadIb),
-       /*12823*/ uint16(xArgImm8u),
-       /*12824*/ uint16(xArgEAX),
-       /*12825*/ uint16(xMatch),
-       /*12826*/ uint16(xCondPrefix), 1,
-       0x66, 12830,
-       /*12830*/ uint16(xCondPrefix), 1,
-       0x0F, 12834,
-       /*12834*/ uint16(xSetOp), uint16(VMOVNTDQ),
-       /*12836*/ uint16(xReadSlashR),
-       /*12837*/ uint16(xArgM256),
-       /*12838*/ uint16(xArgYmm1),
-       /*12839*/ uint16(xMatch),
-       /*12840*/ uint16(xCondPrefix), 1,
-       0x66, 12844,
-       /*12844*/ uint16(xCondPrefix), 1,
-       0x0F, 12848,
-       /*12848*/ uint16(xSetOp), uint16(VMOVNTDQ),
-       /*12850*/ uint16(xReadSlashR),
-       /*12851*/ uint16(xArgM256),
-       /*12852*/ uint16(xArgYmm1),
-       /*12853*/ uint16(xMatch),
-       /*12854*/ uint16(xCondIs64), 12857, 12871,
-       /*12857*/ uint16(xCondDataSize), 12861, 12866, 0,
-       /*12861*/ uint16(xSetOp), uint16(CALL),
-       /*12863*/ uint16(xReadCw),
-       /*12864*/ uint16(xArgRel16),
-       /*12865*/ uint16(xMatch),
-       /*12866*/ uint16(xSetOp), uint16(CALL),
-       /*12868*/ uint16(xReadCd),
-       /*12869*/ uint16(xArgRel32),
-       /*12870*/ uint16(xMatch),
-       /*12871*/ uint16(xCondDataSize), 12875, 12866, 12880,
-       /*12875*/ uint16(xSetOp), uint16(CALL),
-       /*12877*/ uint16(xReadCd),
-       /*12878*/ uint16(xArgRel32),
-       /*12879*/ uint16(xMatch),
+       /*12726*/ uint16(xSetOp), uint16(FNSTSW),
+       /*12728*/ uint16(xArgAX),
+       /*12729*/ uint16(xMatch),
+       /*12730*/ uint16(xSetOp), uint16(FUCOMIP),
+       /*12732*/ uint16(xArgST),
+       /*12733*/ uint16(xArgSTi),
+       /*12734*/ uint16(xMatch),
+       /*12735*/ uint16(xSetOp), uint16(FCOMIP),
+       /*12737*/ uint16(xArgST),
+       /*12738*/ uint16(xArgSTi),
+       /*12739*/ uint16(xMatch),
+       /*12740*/ uint16(xSetOp), uint16(LOOPNE),
+       /*12742*/ uint16(xReadCb),
+       /*12743*/ uint16(xArgRel8),
+       /*12744*/ uint16(xMatch),
+       /*12745*/ uint16(xSetOp), uint16(LOOPE),
+       /*12747*/ uint16(xReadCb),
+       /*12748*/ uint16(xArgRel8),
+       /*12749*/ uint16(xMatch),
+       /*12750*/ uint16(xSetOp), uint16(LOOP),
+       /*12752*/ uint16(xReadCb),
+       /*12753*/ uint16(xArgRel8),
+       /*12754*/ uint16(xMatch),
+       /*12755*/ uint16(xCondIs64), 12758, 12772,
+       /*12758*/ uint16(xCondAddrSize), 12762, 12767, 0,
+       /*12762*/ uint16(xSetOp), uint16(JCXZ),
+       /*12764*/ uint16(xReadCb),
+       /*12765*/ uint16(xArgRel8),
+       /*12766*/ uint16(xMatch),
+       /*12767*/ uint16(xSetOp), uint16(JECXZ),
+       /*12769*/ uint16(xReadCb),
+       /*12770*/ uint16(xArgRel8),
+       /*12771*/ uint16(xMatch),
+       /*12772*/ uint16(xCondAddrSize), 0, 12767, 12776,
+       /*12776*/ uint16(xSetOp), uint16(JRCXZ),
+       /*12778*/ uint16(xReadCb),
+       /*12779*/ uint16(xArgRel8),
+       /*12780*/ uint16(xMatch),
+       /*12781*/ uint16(xSetOp), uint16(IN),
+       /*12783*/ uint16(xReadIb),
+       /*12784*/ uint16(xArgAL),
+       /*12785*/ uint16(xArgImm8u),
+       /*12786*/ uint16(xMatch),
+       /*12787*/ uint16(xCondDataSize), 12791, 12797, 12803,
+       /*12791*/ uint16(xSetOp), uint16(IN),
+       /*12793*/ uint16(xReadIb),
+       /*12794*/ uint16(xArgAX),
+       /*12795*/ uint16(xArgImm8u),
+       /*12796*/ uint16(xMatch),
+       /*12797*/ uint16(xSetOp), uint16(IN),
+       /*12799*/ uint16(xReadIb),
+       /*12800*/ uint16(xArgEAX),
+       /*12801*/ uint16(xArgImm8u),
+       /*12802*/ uint16(xMatch),
+       /*12803*/ uint16(xSetOp), uint16(IN),
+       /*12805*/ uint16(xReadIb),
+       /*12806*/ uint16(xArgEAX),
+       /*12807*/ uint16(xArgImm8u),
+       /*12808*/ uint16(xMatch),
+       /*12809*/ uint16(xSetOp), uint16(OUT),
+       /*12811*/ uint16(xReadIb),
+       /*12812*/ uint16(xArgImm8u),
+       /*12813*/ uint16(xArgAL),
+       /*12814*/ uint16(xMatch),
+       /*12815*/ uint16(xCondPrefix), 3,
+       0xC5, 12859,
+       0xC4, 12845,
+       0x0, 12823,
+       /*12823*/ uint16(xCondDataSize), 12827, 12833, 12839,
+       /*12827*/ uint16(xSetOp), uint16(OUT),
+       /*12829*/ uint16(xReadIb),
+       /*12830*/ uint16(xArgImm8u),
+       /*12831*/ uint16(xArgAX),
+       /*12832*/ uint16(xMatch),
+       /*12833*/ uint16(xSetOp), uint16(OUT),
+       /*12835*/ uint16(xReadIb),
+       /*12836*/ uint16(xArgImm8u),
+       /*12837*/ uint16(xArgEAX),
+       /*12838*/ uint16(xMatch),
+       /*12839*/ uint16(xSetOp), uint16(OUT),
+       /*12841*/ uint16(xReadIb),
+       /*12842*/ uint16(xArgImm8u),
+       /*12843*/ uint16(xArgEAX),
+       /*12844*/ uint16(xMatch),
+       /*12845*/ uint16(xCondPrefix), 1,
+       0x66, 12849,
+       /*12849*/ uint16(xCondPrefix), 1,
+       0x0F, 12853,
+       /*12853*/ uint16(xSetOp), uint16(VMOVNTDQ),
+       /*12855*/ uint16(xReadSlashR),
+       /*12856*/ uint16(xArgM256),
+       /*12857*/ uint16(xArgYmm1),
+       /*12858*/ uint16(xMatch),
+       /*12859*/ uint16(xCondPrefix), 1,
+       0x66, 12863,
+       /*12863*/ uint16(xCondPrefix), 1,
+       0x0F, 12867,
+       /*12867*/ uint16(xSetOp), uint16(VMOVNTDQ),
+       /*12869*/ uint16(xReadSlashR),
+       /*12870*/ uint16(xArgM256),
+       /*12871*/ uint16(xArgYmm1),
+       /*12872*/ uint16(xMatch),
+       /*12873*/ uint16(xCondIs64), 12876, 12890,
+       /*12876*/ uint16(xCondDataSize), 12880, 12885, 0,
        /*12880*/ uint16(xSetOp), uint16(CALL),
-       /*12882*/ uint16(xReadCd),
-       /*12883*/ uint16(xArgRel32),
+       /*12882*/ uint16(xReadCw),
+       /*12883*/ uint16(xArgRel16),
        /*12884*/ uint16(xMatch),
-       /*12885*/ uint16(xCondIs64), 12888, 12902,
-       /*12888*/ uint16(xCondDataSize), 12892, 12897, 0,
-       /*12892*/ uint16(xSetOp), uint16(JMP),
-       /*12894*/ uint16(xReadCw),
-       /*12895*/ uint16(xArgRel16),
-       /*12896*/ uint16(xMatch),
-       /*12897*/ uint16(xSetOp), uint16(JMP),
-       /*12899*/ uint16(xReadCd),
-       /*12900*/ uint16(xArgRel32),
-       /*12901*/ uint16(xMatch),
-       /*12902*/ uint16(xCondDataSize), 12906, 12897, 12911,
-       /*12906*/ uint16(xSetOp), uint16(JMP),
-       /*12908*/ uint16(xReadCd),
-       /*12909*/ uint16(xArgRel32),
-       /*12910*/ uint16(xMatch),
+       /*12885*/ uint16(xSetOp), uint16(CALL),
+       /*12887*/ uint16(xReadCd),
+       /*12888*/ uint16(xArgRel32),
+       /*12889*/ uint16(xMatch),
+       /*12890*/ uint16(xCondDataSize), 12894, 12885, 12899,
+       /*12894*/ uint16(xSetOp), uint16(CALL),
+       /*12896*/ uint16(xReadCd),
+       /*12897*/ uint16(xArgRel32),
+       /*12898*/ uint16(xMatch),
+       /*12899*/ uint16(xSetOp), uint16(CALL),
+       /*12901*/ uint16(xReadCd),
+       /*12902*/ uint16(xArgRel32),
+       /*12903*/ uint16(xMatch),
+       /*12904*/ uint16(xCondIs64), 12907, 12921,
+       /*12907*/ uint16(xCondDataSize), 12911, 12916, 0,
        /*12911*/ uint16(xSetOp), uint16(JMP),
-       /*12913*/ uint16(xReadCd),
-       /*12914*/ uint16(xArgRel32),
+       /*12913*/ uint16(xReadCw),
+       /*12914*/ uint16(xArgRel16),
        /*12915*/ uint16(xMatch),
-       /*12916*/ uint16(xCondIs64), 12919, 0,
-       /*12919*/ uint16(xCondDataSize), 12923, 12928, 0,
-       /*12923*/ uint16(xSetOp), uint16(LJMP),
-       /*12925*/ uint16(xReadCd),
-       /*12926*/ uint16(xArgPtr16colon16),
-       /*12927*/ uint16(xMatch),
-       /*12928*/ uint16(xSetOp), uint16(LJMP),
-       /*12930*/ uint16(xReadCp),
-       /*12931*/ uint16(xArgPtr16colon32),
-       /*12932*/ uint16(xMatch),
-       /*12933*/ uint16(xSetOp), uint16(JMP),
-       /*12935*/ uint16(xReadCb),
-       /*12936*/ uint16(xArgRel8),
-       /*12937*/ uint16(xMatch),
-       /*12938*/ uint16(xSetOp), uint16(IN),
-       /*12940*/ uint16(xArgAL),
-       /*12941*/ uint16(xArgDX),
-       /*12942*/ uint16(xMatch),
-       /*12943*/ uint16(xCondDataSize), 12947, 12952, 12957,
-       /*12947*/ uint16(xSetOp), uint16(IN),
-       /*12949*/ uint16(xArgAX),
-       /*12950*/ uint16(xArgDX),
+       /*12916*/ uint16(xSetOp), uint16(JMP),
+       /*12918*/ uint16(xReadCd),
+       /*12919*/ uint16(xArgRel32),
+       /*12920*/ uint16(xMatch),
+       /*12921*/ uint16(xCondDataSize), 12925, 12916, 12930,
+       /*12925*/ uint16(xSetOp), uint16(JMP),
+       /*12927*/ uint16(xReadCd),
+       /*12928*/ uint16(xArgRel32),
+       /*12929*/ uint16(xMatch),
+       /*12930*/ uint16(xSetOp), uint16(JMP),
+       /*12932*/ uint16(xReadCd),
+       /*12933*/ uint16(xArgRel32),
+       /*12934*/ uint16(xMatch),
+       /*12935*/ uint16(xCondIs64), 12938, 0,
+       /*12938*/ uint16(xCondDataSize), 12942, 12947, 0,
+       /*12942*/ uint16(xSetOp), uint16(LJMP),
+       /*12944*/ uint16(xReadCd),
+       /*12945*/ uint16(xArgPtr16colon16),
+       /*12946*/ uint16(xMatch),
+       /*12947*/ uint16(xSetOp), uint16(LJMP),
+       /*12949*/ uint16(xReadCp),
+       /*12950*/ uint16(xArgPtr16colon32),
        /*12951*/ uint16(xMatch),
-       /*12952*/ uint16(xSetOp), uint16(IN),
-       /*12954*/ uint16(xArgEAX),
-       /*12955*/ uint16(xArgDX),
+       /*12952*/ uint16(xSetOp), uint16(JMP),
+       /*12954*/ uint16(xReadCb),
+       /*12955*/ uint16(xArgRel8),
        /*12956*/ uint16(xMatch),
        /*12957*/ uint16(xSetOp), uint16(IN),
-       /*12959*/ uint16(xArgEAX),
+       /*12959*/ uint16(xArgAL),
        /*12960*/ uint16(xArgDX),
        /*12961*/ uint16(xMatch),
-       /*12962*/ uint16(xSetOp), uint16(OUT),
-       /*12964*/ uint16(xArgDX),
-       /*12965*/ uint16(xArgAL),
-       /*12966*/ uint16(xMatch),
-       /*12967*/ uint16(xCondDataSize), 12971, 12976, 12981,
-       /*12971*/ uint16(xSetOp), uint16(OUT),
-       /*12973*/ uint16(xArgDX),
-       /*12974*/ uint16(xArgAX),
+       /*12962*/ uint16(xCondDataSize), 12966, 12971, 12976,
+       /*12966*/ uint16(xSetOp), uint16(IN),
+       /*12968*/ uint16(xArgAX),
+       /*12969*/ uint16(xArgDX),
+       /*12970*/ uint16(xMatch),
+       /*12971*/ uint16(xSetOp), uint16(IN),
+       /*12973*/ uint16(xArgEAX),
+       /*12974*/ uint16(xArgDX),
        /*12975*/ uint16(xMatch),
-       /*12976*/ uint16(xSetOp), uint16(OUT),
-       /*12978*/ uint16(xArgDX),
-       /*12979*/ uint16(xArgEAX),
+       /*12976*/ uint16(xSetOp), uint16(IN),
+       /*12978*/ uint16(xArgEAX),
+       /*12979*/ uint16(xArgDX),
        /*12980*/ uint16(xMatch),
        /*12981*/ uint16(xSetOp), uint16(OUT),
        /*12983*/ uint16(xArgDX),
-       /*12984*/ uint16(xArgEAX),
+       /*12984*/ uint16(xArgAL),
        /*12985*/ uint16(xMatch),
-       /*12986*/ uint16(xSetOp), uint16(ICEBP),
-       /*12988*/ uint16(xMatch),
-       /*12989*/ uint16(xSetOp), uint16(HLT),
-       /*12991*/ uint16(xMatch),
-       /*12992*/ uint16(xSetOp), uint16(CMC),
+       /*12986*/ uint16(xCondDataSize), 12990, 12995, 13000,
+       /*12990*/ uint16(xSetOp), uint16(OUT),
+       /*12992*/ uint16(xArgDX),
+       /*12993*/ uint16(xArgAX),
        /*12994*/ uint16(xMatch),
-       /*12995*/ uint16(xCondSlashR),
-       13004, // 0
-       0,     // 1
-       13010, // 2
-       13014, // 3
-       13018, // 4
-       13022, // 5
-       13026, // 6
-       13030, // 7
-       /*13004*/ uint16(xSetOp), uint16(TEST),
-       /*13006*/ uint16(xReadIb),
-       /*13007*/ uint16(xArgRM8),
-       /*13008*/ uint16(xArgImm8u),
-       /*13009*/ uint16(xMatch),
-       /*13010*/ uint16(xSetOp), uint16(NOT),
-       /*13012*/ uint16(xArgRM8),
+       /*12995*/ uint16(xSetOp), uint16(OUT),
+       /*12997*/ uint16(xArgDX),
+       /*12998*/ uint16(xArgEAX),
+       /*12999*/ uint16(xMatch),
+       /*13000*/ uint16(xSetOp), uint16(OUT),
+       /*13002*/ uint16(xArgDX),
+       /*13003*/ uint16(xArgEAX),
+       /*13004*/ uint16(xMatch),
+       /*13005*/ uint16(xSetOp), uint16(ICEBP),
+       /*13007*/ uint16(xMatch),
+       /*13008*/ uint16(xSetOp), uint16(HLT),
+       /*13010*/ uint16(xMatch),
+       /*13011*/ uint16(xSetOp), uint16(CMC),
        /*13013*/ uint16(xMatch),
-       /*13014*/ uint16(xSetOp), uint16(NEG),
-       /*13016*/ uint16(xArgRM8),
-       /*13017*/ uint16(xMatch),
-       /*13018*/ uint16(xSetOp), uint16(MUL),
-       /*13020*/ uint16(xArgRM8),
-       /*13021*/ uint16(xMatch),
-       /*13022*/ uint16(xSetOp), uint16(IMUL),
-       /*13024*/ uint16(xArgRM8),
-       /*13025*/ uint16(xMatch),
-       /*13026*/ uint16(xSetOp), uint16(DIV),
-       /*13028*/ uint16(xArgRM8),
-       /*13029*/ uint16(xMatch),
-       /*13030*/ uint16(xSetOp), uint16(IDIV),
-       /*13032*/ uint16(xArgRM8),
-       /*13033*/ uint16(xMatch),
-       /*13034*/ uint16(xCondSlashR),
-       13043, // 0
+       /*13014*/ uint16(xCondSlashR),
+       13023, // 0
+       0,     // 1
+       13029, // 2
+       13033, // 3
+       13037, // 4
+       13041, // 5
+       13045, // 6
+       13049, // 7
+       /*13023*/ uint16(xSetOp), uint16(TEST),
+       /*13025*/ uint16(xReadIb),
+       /*13026*/ uint16(xArgRM8),
+       /*13027*/ uint16(xArgImm8u),
+       /*13028*/ uint16(xMatch),
+       /*13029*/ uint16(xSetOp), uint16(NOT),
+       /*13031*/ uint16(xArgRM8),
+       /*13032*/ uint16(xMatch),
+       /*13033*/ uint16(xSetOp), uint16(NEG),
+       /*13035*/ uint16(xArgRM8),
+       /*13036*/ uint16(xMatch),
+       /*13037*/ uint16(xSetOp), uint16(MUL),
+       /*13039*/ uint16(xArgRM8),
+       /*13040*/ uint16(xMatch),
+       /*13041*/ uint16(xSetOp), uint16(IMUL),
+       /*13043*/ uint16(xArgRM8),
+       /*13044*/ uint16(xMatch),
+       /*13045*/ uint16(xSetOp), uint16(DIV),
+       /*13047*/ uint16(xArgRM8),
+       /*13048*/ uint16(xMatch),
+       /*13049*/ uint16(xSetOp), uint16(IDIV),
+       /*13051*/ uint16(xArgRM8),
+       /*13052*/ uint16(xMatch),
+       /*13053*/ uint16(xCondSlashR),
+       13062, // 0
        0,     // 1
-       13072, // 2
-       13095, // 3
-       13118, // 4
-       13141, // 5
-       13164, // 6
-       13187, // 7
-       /*13043*/ uint16(xCondIs64), 13046, 13062,
-       /*13046*/ uint16(xCondDataSize), 13050, 13056, 0,
-       /*13050*/ uint16(xSetOp), uint16(TEST),
-       /*13052*/ uint16(xReadIw),
-       /*13053*/ uint16(xArgRM16),
-       /*13054*/ uint16(xArgImm16),
-       /*13055*/ uint16(xMatch),
-       /*13056*/ uint16(xSetOp), uint16(TEST),
-       /*13058*/ uint16(xReadId),
-       /*13059*/ uint16(xArgRM32),
-       /*13060*/ uint16(xArgImm32),
-       /*13061*/ uint16(xMatch),
-       /*13062*/ uint16(xCondDataSize), 13050, 13056, 13066,
-       /*13066*/ uint16(xSetOp), uint16(TEST),
-       /*13068*/ uint16(xReadId),
-       /*13069*/ uint16(xArgRM64),
-       /*13070*/ uint16(xArgImm32),
-       /*13071*/ uint16(xMatch),
-       /*13072*/ uint16(xCondIs64), 13075, 13087,
-       /*13075*/ uint16(xCondDataSize), 13079, 13083, 0,
-       /*13079*/ uint16(xSetOp), uint16(NOT),
-       /*13081*/ uint16(xArgRM16),
-       /*13082*/ uint16(xMatch),
-       /*13083*/ uint16(xSetOp), uint16(NOT),
-       /*13085*/ uint16(xArgRM32),
-       /*13086*/ uint16(xMatch),
-       /*13087*/ uint16(xCondDataSize), 13079, 13083, 13091,
-       /*13091*/ uint16(xSetOp), uint16(NOT),
-       /*13093*/ uint16(xArgRM64),
-       /*13094*/ uint16(xMatch),
-       /*13095*/ uint16(xCondIs64), 13098, 13110,
-       /*13098*/ uint16(xCondDataSize), 13102, 13106, 0,
-       /*13102*/ uint16(xSetOp), uint16(NEG),
-       /*13104*/ uint16(xArgRM16),
+       13091, // 2
+       13114, // 3
+       13137, // 4
+       13160, // 5
+       13183, // 6
+       13206, // 7
+       /*13062*/ uint16(xCondIs64), 13065, 13081,
+       /*13065*/ uint16(xCondDataSize), 13069, 13075, 0,
+       /*13069*/ uint16(xSetOp), uint16(TEST),
+       /*13071*/ uint16(xReadIw),
+       /*13072*/ uint16(xArgRM16),
+       /*13073*/ uint16(xArgImm16),
+       /*13074*/ uint16(xMatch),
+       /*13075*/ uint16(xSetOp), uint16(TEST),
+       /*13077*/ uint16(xReadId),
+       /*13078*/ uint16(xArgRM32),
+       /*13079*/ uint16(xArgImm32),
+       /*13080*/ uint16(xMatch),
+       /*13081*/ uint16(xCondDataSize), 13069, 13075, 13085,
+       /*13085*/ uint16(xSetOp), uint16(TEST),
+       /*13087*/ uint16(xReadId),
+       /*13088*/ uint16(xArgRM64),
+       /*13089*/ uint16(xArgImm32),
+       /*13090*/ uint16(xMatch),
+       /*13091*/ uint16(xCondIs64), 13094, 13106,
+       /*13094*/ uint16(xCondDataSize), 13098, 13102, 0,
+       /*13098*/ uint16(xSetOp), uint16(NOT),
+       /*13100*/ uint16(xArgRM16),
+       /*13101*/ uint16(xMatch),
+       /*13102*/ uint16(xSetOp), uint16(NOT),
+       /*13104*/ uint16(xArgRM32),
        /*13105*/ uint16(xMatch),
-       /*13106*/ uint16(xSetOp), uint16(NEG),
-       /*13108*/ uint16(xArgRM32),
-       /*13109*/ uint16(xMatch),
-       /*13110*/ uint16(xCondDataSize), 13102, 13106, 13114,
-       /*13114*/ uint16(xSetOp), uint16(NEG),
-       /*13116*/ uint16(xArgRM64),
-       /*13117*/ uint16(xMatch),
-       /*13118*/ uint16(xCondIs64), 13121, 13133,
-       /*13121*/ uint16(xCondDataSize), 13125, 13129, 0,
-       /*13125*/ uint16(xSetOp), uint16(MUL),
-       /*13127*/ uint16(xArgRM16),
+       /*13106*/ uint16(xCondDataSize), 13098, 13102, 13110,
+       /*13110*/ uint16(xSetOp), uint16(NOT),
+       /*13112*/ uint16(xArgRM64),
+       /*13113*/ uint16(xMatch),
+       /*13114*/ uint16(xCondIs64), 13117, 13129,
+       /*13117*/ uint16(xCondDataSize), 13121, 13125, 0,
+       /*13121*/ uint16(xSetOp), uint16(NEG),
+       /*13123*/ uint16(xArgRM16),
+       /*13124*/ uint16(xMatch),
+       /*13125*/ uint16(xSetOp), uint16(NEG),
+       /*13127*/ uint16(xArgRM32),
        /*13128*/ uint16(xMatch),
-       /*13129*/ uint16(xSetOp), uint16(MUL),
-       /*13131*/ uint16(xArgRM32),
-       /*13132*/ uint16(xMatch),
-       /*13133*/ uint16(xCondDataSize), 13125, 13129, 13137,
-       /*13137*/ uint16(xSetOp), uint16(MUL),
-       /*13139*/ uint16(xArgRM64),
-       /*13140*/ uint16(xMatch),
-       /*13141*/ uint16(xCondIs64), 13144, 13156,
-       /*13144*/ uint16(xCondDataSize), 13148, 13152, 0,
-       /*13148*/ uint16(xSetOp), uint16(IMUL),
-       /*13150*/ uint16(xArgRM16),
+       /*13129*/ uint16(xCondDataSize), 13121, 13125, 13133,
+       /*13133*/ uint16(xSetOp), uint16(NEG),
+       /*13135*/ uint16(xArgRM64),
+       /*13136*/ uint16(xMatch),
+       /*13137*/ uint16(xCondIs64), 13140, 13152,
+       /*13140*/ uint16(xCondDataSize), 13144, 13148, 0,
+       /*13144*/ uint16(xSetOp), uint16(MUL),
+       /*13146*/ uint16(xArgRM16),
+       /*13147*/ uint16(xMatch),
+       /*13148*/ uint16(xSetOp), uint16(MUL),
+       /*13150*/ uint16(xArgRM32),
        /*13151*/ uint16(xMatch),
-       /*13152*/ uint16(xSetOp), uint16(IMUL),
-       /*13154*/ uint16(xArgRM32),
-       /*13155*/ uint16(xMatch),
-       /*13156*/ uint16(xCondDataSize), 13148, 13152, 13160,
-       /*13160*/ uint16(xSetOp), uint16(IMUL),
-       /*13162*/ uint16(xArgRM64),
-       /*13163*/ uint16(xMatch),
-       /*13164*/ uint16(xCondIs64), 13167, 13179,
-       /*13167*/ uint16(xCondDataSize), 13171, 13175, 0,
-       /*13171*/ uint16(xSetOp), uint16(DIV),
-       /*13173*/ uint16(xArgRM16),
+       /*13152*/ uint16(xCondDataSize), 13144, 13148, 13156,
+       /*13156*/ uint16(xSetOp), uint16(MUL),
+       /*13158*/ uint16(xArgRM64),
+       /*13159*/ uint16(xMatch),
+       /*13160*/ uint16(xCondIs64), 13163, 13175,
+       /*13163*/ uint16(xCondDataSize), 13167, 13171, 0,
+       /*13167*/ uint16(xSetOp), uint16(IMUL),
+       /*13169*/ uint16(xArgRM16),
+       /*13170*/ uint16(xMatch),
+       /*13171*/ uint16(xSetOp), uint16(IMUL),
+       /*13173*/ uint16(xArgRM32),
        /*13174*/ uint16(xMatch),
-       /*13175*/ uint16(xSetOp), uint16(DIV),
-       /*13177*/ uint16(xArgRM32),
-       /*13178*/ uint16(xMatch),
-       /*13179*/ uint16(xCondDataSize), 13171, 13175, 13183,
-       /*13183*/ uint16(xSetOp), uint16(DIV),
-       /*13185*/ uint16(xArgRM64),
-       /*13186*/ uint16(xMatch),
-       /*13187*/ uint16(xCondIs64), 13190, 13202,
-       /*13190*/ uint16(xCondDataSize), 13194, 13198, 0,
-       /*13194*/ uint16(xSetOp), uint16(IDIV),
-       /*13196*/ uint16(xArgRM16),
+       /*13175*/ uint16(xCondDataSize), 13167, 13171, 13179,
+       /*13179*/ uint16(xSetOp), uint16(IMUL),
+       /*13181*/ uint16(xArgRM64),
+       /*13182*/ uint16(xMatch),
+       /*13183*/ uint16(xCondIs64), 13186, 13198,
+       /*13186*/ uint16(xCondDataSize), 13190, 13194, 0,
+       /*13190*/ uint16(xSetOp), uint16(DIV),
+       /*13192*/ uint16(xArgRM16),
+       /*13193*/ uint16(xMatch),
+       /*13194*/ uint16(xSetOp), uint16(DIV),
+       /*13196*/ uint16(xArgRM32),
        /*13197*/ uint16(xMatch),
-       /*13198*/ uint16(xSetOp), uint16(IDIV),
-       /*13200*/ uint16(xArgRM32),
-       /*13201*/ uint16(xMatch),
-       /*13202*/ uint16(xCondDataSize), 13194, 13198, 13206,
-       /*13206*/ uint16(xSetOp), uint16(IDIV),
-       /*13208*/ uint16(xArgRM64),
-       /*13209*/ uint16(xMatch),
-       /*13210*/ uint16(xSetOp), uint16(CLC),
-       /*13212*/ uint16(xMatch),
-       /*13213*/ uint16(xSetOp), uint16(STC),
-       /*13215*/ uint16(xMatch),
-       /*13216*/ uint16(xSetOp), uint16(CLI),
-       /*13218*/ uint16(xMatch),
-       /*13219*/ uint16(xSetOp), uint16(STI),
-       /*13221*/ uint16(xMatch),
-       /*13222*/ uint16(xSetOp), uint16(CLD),
-       /*13224*/ uint16(xMatch),
-       /*13225*/ uint16(xSetOp), uint16(STD),
-       /*13227*/ uint16(xMatch),
-       /*13228*/ uint16(xCondSlashR),
-       13237, // 0
-       13241, // 1
+       /*13198*/ uint16(xCondDataSize), 13190, 13194, 13202,
+       /*13202*/ uint16(xSetOp), uint16(DIV),
+       /*13204*/ uint16(xArgRM64),
+       /*13205*/ uint16(xMatch),
+       /*13206*/ uint16(xCondIs64), 13209, 13221,
+       /*13209*/ uint16(xCondDataSize), 13213, 13217, 0,
+       /*13213*/ uint16(xSetOp), uint16(IDIV),
+       /*13215*/ uint16(xArgRM16),
+       /*13216*/ uint16(xMatch),
+       /*13217*/ uint16(xSetOp), uint16(IDIV),
+       /*13219*/ uint16(xArgRM32),
+       /*13220*/ uint16(xMatch),
+       /*13221*/ uint16(xCondDataSize), 13213, 13217, 13225,
+       /*13225*/ uint16(xSetOp), uint16(IDIV),
+       /*13227*/ uint16(xArgRM64),
+       /*13228*/ uint16(xMatch),
+       /*13229*/ uint16(xSetOp), uint16(CLC),
+       /*13231*/ uint16(xMatch),
+       /*13232*/ uint16(xSetOp), uint16(STC),
+       /*13234*/ uint16(xMatch),
+       /*13235*/ uint16(xSetOp), uint16(CLI),
+       /*13237*/ uint16(xMatch),
+       /*13238*/ uint16(xSetOp), uint16(STI),
+       /*13240*/ uint16(xMatch),
+       /*13241*/ uint16(xSetOp), uint16(CLD),
+       /*13243*/ uint16(xMatch),
+       /*13244*/ uint16(xSetOp), uint16(STD),
+       /*13246*/ uint16(xMatch),
+       /*13247*/ uint16(xCondSlashR),
+       13256, // 0
+       13260, // 1
        0,     // 2
        0,     // 3
        0,     // 4
        0,     // 5
        0,     // 6
        0,     // 7
-       /*13237*/ uint16(xSetOp), uint16(INC),
-       /*13239*/ uint16(xArgRM8),
-       /*13240*/ uint16(xMatch),
-       /*13241*/ uint16(xSetOp), uint16(DEC),
-       /*13243*/ uint16(xArgRM8),
-       /*13244*/ uint16(xMatch),
-       /*13245*/ uint16(xCondSlashR),
-       13254, // 0
-       13277, // 1
-       13300, // 2
-       13319, // 3
-       13342, // 4
-       13361, // 5
-       13384, // 6
+       /*13256*/ uint16(xSetOp), uint16(INC),
+       /*13258*/ uint16(xArgRM8),
+       /*13259*/ uint16(xMatch),
+       /*13260*/ uint16(xSetOp), uint16(DEC),
+       /*13262*/ uint16(xArgRM8),
+       /*13263*/ uint16(xMatch),
+       /*13264*/ uint16(xCondSlashR),
+       13273, // 0
+       13296, // 1
+       13319, // 2
+       13338, // 3
+       13361, // 4
+       13380, // 5
+       13403, // 6
        0,     // 7
-       /*13254*/ uint16(xCondIs64), 13257, 13269,
-       /*13257*/ uint16(xCondDataSize), 13261, 13265, 0,
-       /*13261*/ uint16(xSetOp), uint16(INC),
-       /*13263*/ uint16(xArgRM16),
-       /*13264*/ uint16(xMatch),
-       /*13265*/ uint16(xSetOp), uint16(INC),
-       /*13267*/ uint16(xArgRM32),
-       /*13268*/ uint16(xMatch),
-       /*13269*/ uint16(xCondDataSize), 13261, 13265, 13273,
-       /*13273*/ uint16(xSetOp), uint16(INC),
-       /*13275*/ uint16(xArgRM64),
-       /*13276*/ uint16(xMatch),
-       /*13277*/ uint16(xCondIs64), 13280, 13292,
-       /*13280*/ uint16(xCondDataSize), 13284, 13288, 0,
-       /*13284*/ uint16(xSetOp), uint16(DEC),
-       /*13286*/ uint16(xArgRM16),
+       /*13273*/ uint16(xCondIs64), 13276, 13288,
+       /*13276*/ uint16(xCondDataSize), 13280, 13284, 0,
+       /*13280*/ uint16(xSetOp), uint16(INC),
+       /*13282*/ uint16(xArgRM16),
+       /*13283*/ uint16(xMatch),
+       /*13284*/ uint16(xSetOp), uint16(INC),
+       /*13286*/ uint16(xArgRM32),
        /*13287*/ uint16(xMatch),
-       /*13288*/ uint16(xSetOp), uint16(DEC),
-       /*13290*/ uint16(xArgRM32),
-       /*13291*/ uint16(xMatch),
-       /*13292*/ uint16(xCondDataSize), 13284, 13288, 13296,
-       /*13296*/ uint16(xSetOp), uint16(DEC),
-       /*13298*/ uint16(xArgRM64),
-       /*13299*/ uint16(xMatch),
-       /*13300*/ uint16(xCondIs64), 13303, 13315,
-       /*13303*/ uint16(xCondDataSize), 13307, 13311, 0,
-       /*13307*/ uint16(xSetOp), uint16(CALL),
-       /*13309*/ uint16(xArgRM16),
+       /*13288*/ uint16(xCondDataSize), 13280, 13284, 13292,
+       /*13292*/ uint16(xSetOp), uint16(INC),
+       /*13294*/ uint16(xArgRM64),
+       /*13295*/ uint16(xMatch),
+       /*13296*/ uint16(xCondIs64), 13299, 13311,
+       /*13299*/ uint16(xCondDataSize), 13303, 13307, 0,
+       /*13303*/ uint16(xSetOp), uint16(DEC),
+       /*13305*/ uint16(xArgRM16),
+       /*13306*/ uint16(xMatch),
+       /*13307*/ uint16(xSetOp), uint16(DEC),
+       /*13309*/ uint16(xArgRM32),
        /*13310*/ uint16(xMatch),
-       /*13311*/ uint16(xSetOp), uint16(CALL),
-       /*13313*/ uint16(xArgRM32),
-       /*13314*/ uint16(xMatch),
-       /*13315*/ uint16(xSetOp), uint16(CALL),
+       /*13311*/ uint16(xCondDataSize), 13303, 13307, 13315,
+       /*13315*/ uint16(xSetOp), uint16(DEC),
        /*13317*/ uint16(xArgRM64),
        /*13318*/ uint16(xMatch),
        /*13319*/ uint16(xCondIs64), 13322, 13334,
        /*13322*/ uint16(xCondDataSize), 13326, 13330, 0,
-       /*13326*/ uint16(xSetOp), uint16(LCALL),
-       /*13328*/ uint16(xArgM16colon16),
+       /*13326*/ uint16(xSetOp), uint16(CALL),
+       /*13328*/ uint16(xArgRM16),
        /*13329*/ uint16(xMatch),
-       /*13330*/ uint16(xSetOp), uint16(LCALL),
-       /*13332*/ uint16(xArgM16colon32),
+       /*13330*/ uint16(xSetOp), uint16(CALL),
+       /*13332*/ uint16(xArgRM32),
        /*13333*/ uint16(xMatch),
-       /*13334*/ uint16(xCondDataSize), 13326, 13330, 13338,
-       /*13338*/ uint16(xSetOp), uint16(LCALL),
-       /*13340*/ uint16(xArgM16colon64),
-       /*13341*/ uint16(xMatch),
-       /*13342*/ uint16(xCondIs64), 13345, 13357,
-       /*13345*/ uint16(xCondDataSize), 13349, 13353, 0,
-       /*13349*/ uint16(xSetOp), uint16(JMP),
-       /*13351*/ uint16(xArgRM16),
+       /*13334*/ uint16(xSetOp), uint16(CALL),
+       /*13336*/ uint16(xArgRM64),
+       /*13337*/ uint16(xMatch),
+       /*13338*/ uint16(xCondIs64), 13341, 13353,
+       /*13341*/ uint16(xCondDataSize), 13345, 13349, 0,
+       /*13345*/ uint16(xSetOp), uint16(LCALL),
+       /*13347*/ uint16(xArgM16colon16),
+       /*13348*/ uint16(xMatch),
+       /*13349*/ uint16(xSetOp), uint16(LCALL),
+       /*13351*/ uint16(xArgM16colon32),
        /*13352*/ uint16(xMatch),
-       /*13353*/ uint16(xSetOp), uint16(JMP),
-       /*13355*/ uint16(xArgRM32),
-       /*13356*/ uint16(xMatch),
-       /*13357*/ uint16(xSetOp), uint16(JMP),
-       /*13359*/ uint16(xArgRM64),
+       /*13353*/ uint16(xCondDataSize), 13345, 13349, 13357,
+       /*13357*/ uint16(xSetOp), uint16(LCALL),
+       /*13359*/ uint16(xArgM16colon64),
        /*13360*/ uint16(xMatch),
        /*13361*/ uint16(xCondIs64), 13364, 13376,
        /*13364*/ uint16(xCondDataSize), 13368, 13372, 0,
-       /*13368*/ uint16(xSetOp), uint16(LJMP),
-       /*13370*/ uint16(xArgM16colon16),
+       /*13368*/ uint16(xSetOp), uint16(JMP),
+       /*13370*/ uint16(xArgRM16),
        /*13371*/ uint16(xMatch),
-       /*13372*/ uint16(xSetOp), uint16(LJMP),
-       /*13374*/ uint16(xArgM16colon32),
+       /*13372*/ uint16(xSetOp), uint16(JMP),
+       /*13374*/ uint16(xArgRM32),
        /*13375*/ uint16(xMatch),
-       /*13376*/ uint16(xCondDataSize), 13368, 13372, 13380,
-       /*13380*/ uint16(xSetOp), uint16(LJMP),
-       /*13382*/ uint16(xArgM16colon64),
-       /*13383*/ uint16(xMatch),
-       /*13384*/ uint16(xCondIs64), 13387, 13399,
-       /*13387*/ uint16(xCondDataSize), 13391, 13395, 0,
-       /*13391*/ uint16(xSetOp), uint16(PUSH),
-       /*13393*/ uint16(xArgRM16),
+       /*13376*/ uint16(xSetOp), uint16(JMP),
+       /*13378*/ uint16(xArgRM64),
+       /*13379*/ uint16(xMatch),
+       /*13380*/ uint16(xCondIs64), 13383, 13395,
+       /*13383*/ uint16(xCondDataSize), 13387, 13391, 0,
+       /*13387*/ uint16(xSetOp), uint16(LJMP),
+       /*13389*/ uint16(xArgM16colon16),
+       /*13390*/ uint16(xMatch),
+       /*13391*/ uint16(xSetOp), uint16(LJMP),
+       /*13393*/ uint16(xArgM16colon32),
        /*13394*/ uint16(xMatch),
-       /*13395*/ uint16(xSetOp), uint16(PUSH),
-       /*13397*/ uint16(xArgRM32),
-       /*13398*/ uint16(xMatch),
-       /*13399*/ uint16(xCondDataSize), 13391, 13403, 13407,
-       /*13403*/ uint16(xSetOp), uint16(PUSH),
-       /*13405*/ uint16(xArgRM64),
-       /*13406*/ uint16(xMatch),
-       /*13407*/ uint16(xSetOp), uint16(PUSH),
-       /*13409*/ uint16(xArgRM64),
-       /*13410*/ uint16(xMatch),
+       /*13395*/ uint16(xCondDataSize), 13387, 13391, 13399,
+       /*13399*/ uint16(xSetOp), uint16(LJMP),
+       /*13401*/ uint16(xArgM16colon64),
+       /*13402*/ uint16(xMatch),
+       /*13403*/ uint16(xCondIs64), 13406, 13418,
+       /*13406*/ uint16(xCondDataSize), 13410, 13414, 0,
+       /*13410*/ uint16(xSetOp), uint16(PUSH),
+       /*13412*/ uint16(xArgRM16),
+       /*13413*/ uint16(xMatch),
+       /*13414*/ uint16(xSetOp), uint16(PUSH),
+       /*13416*/ uint16(xArgRM32),
+       /*13417*/ uint16(xMatch),
+       /*13418*/ uint16(xCondDataSize), 13410, 13422, 13426,
+       /*13422*/ uint16(xSetOp), uint16(PUSH),
+       /*13424*/ uint16(xArgRM64),
+       /*13425*/ uint16(xMatch),
+       /*13426*/ uint16(xSetOp), uint16(PUSH),
+       /*13428*/ uint16(xArgRM64),
+       /*13429*/ uint16(xMatch),
 }
 
 const (
@@ -9251,6 +9262,7 @@ const (
        TZCNT
        UCOMISD
        UCOMISS
+       UD0
        UD1
        UD2
        UNPCKHPD
@@ -9868,6 +9880,7 @@ var opNames = [...]string{
        TZCNT:           "TZCNT",
        UCOMISD:         "UCOMISD",
        UCOMISS:         "UCOMISS",
+       UD0:             "UD0",
        UD1:             "UD1",
        UD2:             "UD2",
        UNPCKHPD:        "UNPCKHPD",
index c7f8c7e64ec83c7f0d37011da13e69c01a88e7a8..71ad917dadd8dc6af16289290c37878a84c242f8 100644 (file)
@@ -5,6 +5,7 @@
 // In Go 1.13, the ed25519 package was promoted to the standard library as
 // crypto/ed25519, and this package became a wrapper for the standard library one.
 //
+//go:build !go1.13
 // +build !go1.13
 
 // Package ed25519 implements the Ed25519 signature algorithm. See
index d1448d8d2202259eb05e84114625b51e3fb8a665..b5974dc8b27bb23f1f7d0771f024d8bc1486292a 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.13
 // +build go1.13
 
 // Package ed25519 implements the Ed25519 signature algorithm. See
index 2ffb97bfb8a76b28617f1d27876c87b4dfb89fd9..a4d1919a9e7d649e59e68747af9053b77f6e94da 100644 (file)
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Package terminal provides support functions for dealing with terminals, as
+// commonly found on UNIX systems.
+//
+// Deprecated: this package moved to golang.org/x/term.
 package terminal
 
 import (
-       "bytes"
        "io"
-       "runtime"
-       "strconv"
-       "sync"
-       "unicode/utf8"
+
+       "golang.org/x/term"
 )
 
 // EscapeCodes contains escape sequences that can be written to the terminal in
 // order to achieve different styles of text.
-type EscapeCodes struct {
-       // Foreground colors
-       Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte
-
-       // Reset all attributes
-       Reset []byte
-}
-
-var vt100EscapeCodes = EscapeCodes{
-       Black:   []byte{keyEscape, '[', '3', '0', 'm'},
-       Red:     []byte{keyEscape, '[', '3', '1', 'm'},
-       Green:   []byte{keyEscape, '[', '3', '2', 'm'},
-       Yellow:  []byte{keyEscape, '[', '3', '3', 'm'},
-       Blue:    []byte{keyEscape, '[', '3', '4', 'm'},
-       Magenta: []byte{keyEscape, '[', '3', '5', 'm'},
-       Cyan:    []byte{keyEscape, '[', '3', '6', 'm'},
-       White:   []byte{keyEscape, '[', '3', '7', 'm'},
-
-       Reset: []byte{keyEscape, '[', '0', 'm'},
-}
+type EscapeCodes = term.EscapeCodes
 
 // Terminal contains the state for running a VT100 terminal that is capable of
 // reading lines of input.
-type Terminal struct {
-       // AutoCompleteCallback, if non-null, is called for each keypress with
-       // the full input line and the current position of the cursor (in
-       // bytes, as an index into |line|). If it returns ok=false, the key
-       // press is processed normally. Otherwise it returns a replacement line
-       // and the new cursor position.
-       AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool)
-
-       // Escape contains a pointer to the escape codes for this terminal.
-       // It's always a valid pointer, although the escape codes themselves
-       // may be empty if the terminal doesn't support them.
-       Escape *EscapeCodes
-
-       // lock protects the terminal and the state in this object from
-       // concurrent processing of a key press and a Write() call.
-       lock sync.Mutex
-
-       c      io.ReadWriter
-       prompt []rune
-
-       // line is the current line being entered.
-       line []rune
-       // pos is the logical position of the cursor in line
-       pos int
-       // echo is true if local echo is enabled
-       echo bool
-       // pasteActive is true iff there is a bracketed paste operation in
-       // progress.
-       pasteActive bool
-
-       // cursorX contains the current X value of the cursor where the left
-       // edge is 0. cursorY contains the row number where the first row of
-       // the current line is 0.
-       cursorX, cursorY int
-       // maxLine is the greatest value of cursorY so far.
-       maxLine int
-
-       termWidth, termHeight int
-
-       // outBuf contains the terminal data to be sent.
-       outBuf []byte
-       // remainder contains the remainder of any partial key sequences after
-       // a read. It aliases into inBuf.
-       remainder []byte
-       inBuf     [256]byte
-
-       // history contains previously entered commands so that they can be
-       // accessed with the up and down keys.
-       history stRingBuffer
-       // historyIndex stores the currently accessed history entry, where zero
-       // means the immediately previous entry.
-       historyIndex int
-       // When navigating up and down the history it's possible to return to
-       // the incomplete, initial line. That value is stored in
-       // historyPending.
-       historyPending string
-}
+type Terminal = term.Terminal
 
 // NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is
 // a local terminal, that terminal must first have been put into raw mode.
 // prompt is a string that is written at the start of each input line (i.e.
 // "> ").
 func NewTerminal(c io.ReadWriter, prompt string) *Terminal {
-       return &Terminal{
-               Escape:       &vt100EscapeCodes,
-               c:            c,
-               prompt:       []rune(prompt),
-               termWidth:    80,
-               termHeight:   24,
-               echo:         true,
-               historyIndex: -1,
-       }
-}
-
-const (
-       keyCtrlC     = 3
-       keyCtrlD     = 4
-       keyCtrlU     = 21
-       keyEnter     = '\r'
-       keyEscape    = 27
-       keyBackspace = 127
-       keyUnknown   = 0xd800 /* UTF-16 surrogate area */ + iota
-       keyUp
-       keyDown
-       keyLeft
-       keyRight
-       keyAltLeft
-       keyAltRight
-       keyHome
-       keyEnd
-       keyDeleteWord
-       keyDeleteLine
-       keyClearScreen
-       keyPasteStart
-       keyPasteEnd
-)
-
-var (
-       crlf       = []byte{'\r', '\n'}
-       pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'}
-       pasteEnd   = []byte{keyEscape, '[', '2', '0', '1', '~'}
-)
-
-// bytesToKey tries to parse a key sequence from b. If successful, it returns
-// the key and the remainder of the input. Otherwise it returns utf8.RuneError.
-func bytesToKey(b []byte, pasteActive bool) (rune, []byte) {
-       if len(b) == 0 {
-               return utf8.RuneError, nil
-       }
-
-       if !pasteActive {
-               switch b[0] {
-               case 1: // ^A
-                       return keyHome, b[1:]
-               case 2: // ^B
-                       return keyLeft, b[1:]
-               case 5: // ^E
-                       return keyEnd, b[1:]
-               case 6: // ^F
-                       return keyRight, b[1:]
-               case 8: // ^H
-                       return keyBackspace, b[1:]
-               case 11: // ^K
-                       return keyDeleteLine, b[1:]
-               case 12: // ^L
-                       return keyClearScreen, b[1:]
-               case 23: // ^W
-                       return keyDeleteWord, b[1:]
-               case 14: // ^N
-                       return keyDown, b[1:]
-               case 16: // ^P
-                       return keyUp, b[1:]
-               }
-       }
-
-       if b[0] != keyEscape {
-               if !utf8.FullRune(b) {
-                       return utf8.RuneError, b
-               }
-               r, l := utf8.DecodeRune(b)
-               return r, b[l:]
-       }
-
-       if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' {
-               switch b[2] {
-               case 'A':
-                       return keyUp, b[3:]
-               case 'B':
-                       return keyDown, b[3:]
-               case 'C':
-                       return keyRight, b[3:]
-               case 'D':
-                       return keyLeft, b[3:]
-               case 'H':
-                       return keyHome, b[3:]
-               case 'F':
-                       return keyEnd, b[3:]
-               }
-       }
-
-       if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' {
-               switch b[5] {
-               case 'C':
-                       return keyAltRight, b[6:]
-               case 'D':
-                       return keyAltLeft, b[6:]
-               }
-       }
-
-       if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) {
-               return keyPasteStart, b[6:]
-       }
-
-       if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) {
-               return keyPasteEnd, b[6:]
-       }
-
-       // If we get here then we have a key that we don't recognise, or a
-       // partial sequence. It's not clear how one should find the end of a
-       // sequence without knowing them all, but it seems that [a-zA-Z~] only
-       // appears at the end of a sequence.
-       for i, c := range b[0:] {
-               if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' {
-                       return keyUnknown, b[i+1:]
-               }
-       }
-
-       return utf8.RuneError, b
-}
-
-// queue appends data to the end of t.outBuf
-func (t *Terminal) queue(data []rune) {
-       t.outBuf = append(t.outBuf, []byte(string(data))...)
-}
-
-var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'}
-var space = []rune{' '}
-
-func isPrintable(key rune) bool {
-       isInSurrogateArea := key >= 0xd800 && key <= 0xdbff
-       return key >= 32 && !isInSurrogateArea
-}
-
-// moveCursorToPos appends data to t.outBuf which will move the cursor to the
-// given, logical position in the text.
-func (t *Terminal) moveCursorToPos(pos int) {
-       if !t.echo {
-               return
-       }
-
-       x := visualLength(t.prompt) + pos
-       y := x / t.termWidth
-       x = x % t.termWidth
-
-       up := 0
-       if y < t.cursorY {
-               up = t.cursorY - y
-       }
-
-       down := 0
-       if y > t.cursorY {
-               down = y - t.cursorY
-       }
-
-       left := 0
-       if x < t.cursorX {
-               left = t.cursorX - x
-       }
-
-       right := 0
-       if x > t.cursorX {
-               right = x - t.cursorX
-       }
-
-       t.cursorX = x
-       t.cursorY = y
-       t.move(up, down, left, right)
-}
-
-func (t *Terminal) move(up, down, left, right int) {
-       m := []rune{}
-
-       // 1 unit up can be expressed as ^[[A or ^[A
-       // 5 units up can be expressed as ^[[5A
-
-       if up == 1 {
-               m = append(m, keyEscape, '[', 'A')
-       } else if up > 1 {
-               m = append(m, keyEscape, '[')
-               m = append(m, []rune(strconv.Itoa(up))...)
-               m = append(m, 'A')
-       }
-
-       if down == 1 {
-               m = append(m, keyEscape, '[', 'B')
-       } else if down > 1 {
-               m = append(m, keyEscape, '[')
-               m = append(m, []rune(strconv.Itoa(down))...)
-               m = append(m, 'B')
-       }
-
-       if right == 1 {
-               m = append(m, keyEscape, '[', 'C')
-       } else if right > 1 {
-               m = append(m, keyEscape, '[')
-               m = append(m, []rune(strconv.Itoa(right))...)
-               m = append(m, 'C')
-       }
-
-       if left == 1 {
-               m = append(m, keyEscape, '[', 'D')
-       } else if left > 1 {
-               m = append(m, keyEscape, '[')
-               m = append(m, []rune(strconv.Itoa(left))...)
-               m = append(m, 'D')
-       }
-
-       t.queue(m)
-}
-
-func (t *Terminal) clearLineToRight() {
-       op := []rune{keyEscape, '[', 'K'}
-       t.queue(op)
-}
-
-const maxLineLength = 4096
-
-func (t *Terminal) setLine(newLine []rune, newPos int) {
-       if t.echo {
-               t.moveCursorToPos(0)
-               t.writeLine(newLine)
-               for i := len(newLine); i < len(t.line); i++ {
-                       t.writeLine(space)
-               }
-               t.moveCursorToPos(newPos)
-       }
-       t.line = newLine
-       t.pos = newPos
-}
-
-func (t *Terminal) advanceCursor(places int) {
-       t.cursorX += places
-       t.cursorY += t.cursorX / t.termWidth
-       if t.cursorY > t.maxLine {
-               t.maxLine = t.cursorY
-       }
-       t.cursorX = t.cursorX % t.termWidth
-
-       if places > 0 && t.cursorX == 0 {
-               // Normally terminals will advance the current position
-               // when writing a character. But that doesn't happen
-               // for the last character in a line. However, when
-               // writing a character (except a new line) that causes
-               // a line wrap, the position will be advanced two
-               // places.
-               //
-               // So, if we are stopping at the end of a line, we
-               // need to write a newline so that our cursor can be
-               // advanced to the next line.
-               t.outBuf = append(t.outBuf, '\r', '\n')
-       }
-}
-
-func (t *Terminal) eraseNPreviousChars(n int) {
-       if n == 0 {
-               return
-       }
-
-       if t.pos < n {
-               n = t.pos
-       }
-       t.pos -= n
-       t.moveCursorToPos(t.pos)
-
-       copy(t.line[t.pos:], t.line[n+t.pos:])
-       t.line = t.line[:len(t.line)-n]
-       if t.echo {
-               t.writeLine(t.line[t.pos:])
-               for i := 0; i < n; i++ {
-                       t.queue(space)
-               }
-               t.advanceCursor(n)
-               t.moveCursorToPos(t.pos)
-       }
-}
-
-// countToLeftWord returns then number of characters from the cursor to the
-// start of the previous word.
-func (t *Terminal) countToLeftWord() int {
-       if t.pos == 0 {
-               return 0
-       }
-
-       pos := t.pos - 1
-       for pos > 0 {
-               if t.line[pos] != ' ' {
-                       break
-               }
-               pos--
-       }
-       for pos > 0 {
-               if t.line[pos] == ' ' {
-                       pos++
-                       break
-               }
-               pos--
-       }
-
-       return t.pos - pos
-}
-
-// countToRightWord returns then number of characters from the cursor to the
-// start of the next word.
-func (t *Terminal) countToRightWord() int {
-       pos := t.pos
-       for pos < len(t.line) {
-               if t.line[pos] == ' ' {
-                       break
-               }
-               pos++
-       }
-       for pos < len(t.line) {
-               if t.line[pos] != ' ' {
-                       break
-               }
-               pos++
-       }
-       return pos - t.pos
-}
-
-// visualLength returns the number of visible glyphs in s.
-func visualLength(runes []rune) int {
-       inEscapeSeq := false
-       length := 0
-
-       for _, r := range runes {
-               switch {
-               case inEscapeSeq:
-                       if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') {
-                               inEscapeSeq = false
-                       }
-               case r == '\x1b':
-                       inEscapeSeq = true
-               default:
-                       length++
-               }
-       }
-
-       return length
-}
-
-// handleKey processes the given key and, optionally, returns a line of text
-// that the user has entered.
-func (t *Terminal) handleKey(key rune) (line string, ok bool) {
-       if t.pasteActive && key != keyEnter {
-               t.addKeyToLine(key)
-               return
-       }
-
-       switch key {
-       case keyBackspace:
-               if t.pos == 0 {
-                       return
-               }
-               t.eraseNPreviousChars(1)
-       case keyAltLeft:
-               // move left by a word.
-               t.pos -= t.countToLeftWord()
-               t.moveCursorToPos(t.pos)
-       case keyAltRight:
-               // move right by a word.
-               t.pos += t.countToRightWord()
-               t.moveCursorToPos(t.pos)
-       case keyLeft:
-               if t.pos == 0 {
-                       return
-               }
-               t.pos--
-               t.moveCursorToPos(t.pos)
-       case keyRight:
-               if t.pos == len(t.line) {
-                       return
-               }
-               t.pos++
-               t.moveCursorToPos(t.pos)
-       case keyHome:
-               if t.pos == 0 {
-                       return
-               }
-               t.pos = 0
-               t.moveCursorToPos(t.pos)
-       case keyEnd:
-               if t.pos == len(t.line) {
-                       return
-               }
-               t.pos = len(t.line)
-               t.moveCursorToPos(t.pos)
-       case keyUp:
-               entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1)
-               if !ok {
-                       return "", false
-               }
-               if t.historyIndex == -1 {
-                       t.historyPending = string(t.line)
-               }
-               t.historyIndex++
-               runes := []rune(entry)
-               t.setLine(runes, len(runes))
-       case keyDown:
-               switch t.historyIndex {
-               case -1:
-                       return
-               case 0:
-                       runes := []rune(t.historyPending)
-                       t.setLine(runes, len(runes))
-                       t.historyIndex--
-               default:
-                       entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1)
-                       if ok {
-                               t.historyIndex--
-                               runes := []rune(entry)
-                               t.setLine(runes, len(runes))
-                       }
-               }
-       case keyEnter:
-               t.moveCursorToPos(len(t.line))
-               t.queue([]rune("\r\n"))
-               line = string(t.line)
-               ok = true
-               t.line = t.line[:0]
-               t.pos = 0
-               t.cursorX = 0
-               t.cursorY = 0
-               t.maxLine = 0
-       case keyDeleteWord:
-               // Delete zero or more spaces and then one or more characters.
-               t.eraseNPreviousChars(t.countToLeftWord())
-       case keyDeleteLine:
-               // Delete everything from the current cursor position to the
-               // end of line.
-               for i := t.pos; i < len(t.line); i++ {
-                       t.queue(space)
-                       t.advanceCursor(1)
-               }
-               t.line = t.line[:t.pos]
-               t.moveCursorToPos(t.pos)
-       case keyCtrlD:
-               // Erase the character under the current position.
-               // The EOF case when the line is empty is handled in
-               // readLine().
-               if t.pos < len(t.line) {
-                       t.pos++
-                       t.eraseNPreviousChars(1)
-               }
-       case keyCtrlU:
-               t.eraseNPreviousChars(t.pos)
-       case keyClearScreen:
-               // Erases the screen and moves the cursor to the home position.
-               t.queue([]rune("\x1b[2J\x1b[H"))
-               t.queue(t.prompt)
-               t.cursorX, t.cursorY = 0, 0
-               t.advanceCursor(visualLength(t.prompt))
-               t.setLine(t.line, t.pos)
-       default:
-               if t.AutoCompleteCallback != nil {
-                       prefix := string(t.line[:t.pos])
-                       suffix := string(t.line[t.pos:])
-
-                       t.lock.Unlock()
-                       newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key)
-                       t.lock.Lock()
-
-                       if completeOk {
-                               t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos]))
-                               return
-                       }
-               }
-               if !isPrintable(key) {
-                       return
-               }
-               if len(t.line) == maxLineLength {
-                       return
-               }
-               t.addKeyToLine(key)
-       }
-       return
-}
-
-// addKeyToLine inserts the given key at the current position in the current
-// line.
-func (t *Terminal) addKeyToLine(key rune) {
-       if len(t.line) == cap(t.line) {
-               newLine := make([]rune, len(t.line), 2*(1+len(t.line)))
-               copy(newLine, t.line)
-               t.line = newLine
-       }
-       t.line = t.line[:len(t.line)+1]
-       copy(t.line[t.pos+1:], t.line[t.pos:])
-       t.line[t.pos] = key
-       if t.echo {
-               t.writeLine(t.line[t.pos:])
-       }
-       t.pos++
-       t.moveCursorToPos(t.pos)
-}
-
-func (t *Terminal) writeLine(line []rune) {
-       for len(line) != 0 {
-               remainingOnLine := t.termWidth - t.cursorX
-               todo := len(line)
-               if todo > remainingOnLine {
-                       todo = remainingOnLine
-               }
-               t.queue(line[:todo])
-               t.advanceCursor(visualLength(line[:todo]))
-               line = line[todo:]
-       }
-}
-
-// writeWithCRLF writes buf to w but replaces all occurrences of \n with \r\n.
-func writeWithCRLF(w io.Writer, buf []byte) (n int, err error) {
-       for len(buf) > 0 {
-               i := bytes.IndexByte(buf, '\n')
-               todo := len(buf)
-               if i >= 0 {
-                       todo = i
-               }
-
-               var nn int
-               nn, err = w.Write(buf[:todo])
-               n += nn
-               if err != nil {
-                       return n, err
-               }
-               buf = buf[todo:]
-
-               if i >= 0 {
-                       if _, err = w.Write(crlf); err != nil {
-                               return n, err
-                       }
-                       n++
-                       buf = buf[1:]
-               }
-       }
-
-       return n, nil
-}
-
-func (t *Terminal) Write(buf []byte) (n int, err error) {
-       t.lock.Lock()
-       defer t.lock.Unlock()
-
-       if t.cursorX == 0 && t.cursorY == 0 {
-               // This is the easy case: there's nothing on the screen that we
-               // have to move out of the way.
-               return writeWithCRLF(t.c, buf)
-       }
-
-       // We have a prompt and possibly user input on the screen. We
-       // have to clear it first.
-       t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */)
-       t.cursorX = 0
-       t.clearLineToRight()
-
-       for t.cursorY > 0 {
-               t.move(1 /* up */, 0, 0, 0)
-               t.cursorY--
-               t.clearLineToRight()
-       }
-
-       if _, err = t.c.Write(t.outBuf); err != nil {
-               return
-       }
-       t.outBuf = t.outBuf[:0]
-
-       if n, err = writeWithCRLF(t.c, buf); err != nil {
-               return
-       }
-
-       t.writeLine(t.prompt)
-       if t.echo {
-               t.writeLine(t.line)
-       }
-
-       t.moveCursorToPos(t.pos)
-
-       if _, err = t.c.Write(t.outBuf); err != nil {
-               return
-       }
-       t.outBuf = t.outBuf[:0]
-       return
-}
-
-// ReadPassword temporarily changes the prompt and reads a password, without
-// echo, from the terminal.
-func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
-       t.lock.Lock()
-       defer t.lock.Unlock()
-
-       oldPrompt := t.prompt
-       t.prompt = []rune(prompt)
-       t.echo = false
-
-       line, err = t.readLine()
-
-       t.prompt = oldPrompt
-       t.echo = true
-
-       return
-}
-
-// ReadLine returns a line of input from the terminal.
-func (t *Terminal) ReadLine() (line string, err error) {
-       t.lock.Lock()
-       defer t.lock.Unlock()
-
-       return t.readLine()
-}
-
-func (t *Terminal) readLine() (line string, err error) {
-       // t.lock must be held at this point
-
-       if t.cursorX == 0 && t.cursorY == 0 {
-               t.writeLine(t.prompt)
-               t.c.Write(t.outBuf)
-               t.outBuf = t.outBuf[:0]
-       }
-
-       lineIsPasted := t.pasteActive
-
-       for {
-               rest := t.remainder
-               lineOk := false
-               for !lineOk {
-                       var key rune
-                       key, rest = bytesToKey(rest, t.pasteActive)
-                       if key == utf8.RuneError {
-                               break
-                       }
-                       if !t.pasteActive {
-                               if key == keyCtrlD {
-                                       if len(t.line) == 0 {
-                                               return "", io.EOF
-                                       }
-                               }
-                               if key == keyCtrlC {
-                                       return "", io.EOF
-                               }
-                               if key == keyPasteStart {
-                                       t.pasteActive = true
-                                       if len(t.line) == 0 {
-                                               lineIsPasted = true
-                                       }
-                                       continue
-                               }
-                       } else if key == keyPasteEnd {
-                               t.pasteActive = false
-                               continue
-                       }
-                       if !t.pasteActive {
-                               lineIsPasted = false
-                       }
-                       line, lineOk = t.handleKey(key)
-               }
-               if len(rest) > 0 {
-                       n := copy(t.inBuf[:], rest)
-                       t.remainder = t.inBuf[:n]
-               } else {
-                       t.remainder = nil
-               }
-               t.c.Write(t.outBuf)
-               t.outBuf = t.outBuf[:0]
-               if lineOk {
-                       if t.echo {
-                               t.historyIndex = -1
-                               t.history.Add(line)
-                       }
-                       if lineIsPasted {
-                               err = ErrPasteIndicator
-                       }
-                       return
-               }
-
-               // t.remainder is a slice at the beginning of t.inBuf
-               // containing a partial key sequence
-               readBuf := t.inBuf[len(t.remainder):]
-               var n int
-
-               t.lock.Unlock()
-               n, err = t.c.Read(readBuf)
-               t.lock.Lock()
-
-               if err != nil {
-                       return
-               }
-
-               t.remainder = t.inBuf[:n+len(t.remainder)]
-       }
-}
-
-// SetPrompt sets the prompt to be used when reading subsequent lines.
-func (t *Terminal) SetPrompt(prompt string) {
-       t.lock.Lock()
-       defer t.lock.Unlock()
-
-       t.prompt = []rune(prompt)
-}
-
-func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) {
-       // Move cursor to column zero at the start of the line.
-       t.move(t.cursorY, 0, t.cursorX, 0)
-       t.cursorX, t.cursorY = 0, 0
-       t.clearLineToRight()
-       for t.cursorY < numPrevLines {
-               // Move down a line
-               t.move(0, 1, 0, 0)
-               t.cursorY++
-               t.clearLineToRight()
-       }
-       // Move back to beginning.
-       t.move(t.cursorY, 0, 0, 0)
-       t.cursorX, t.cursorY = 0, 0
-
-       t.queue(t.prompt)
-       t.advanceCursor(visualLength(t.prompt))
-       t.writeLine(t.line)
-       t.moveCursorToPos(t.pos)
-}
-
-func (t *Terminal) SetSize(width, height int) error {
-       t.lock.Lock()
-       defer t.lock.Unlock()
-
-       if width == 0 {
-               width = 1
-       }
-
-       oldWidth := t.termWidth
-       t.termWidth, t.termHeight = width, height
-
-       switch {
-       case width == oldWidth:
-               // If the width didn't change then nothing else needs to be
-               // done.
-               return nil
-       case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0:
-               // If there is nothing on current line and no prompt printed,
-               // just do nothing
-               return nil
-       case width < oldWidth:
-               // Some terminals (e.g. xterm) will truncate lines that were
-               // too long when shinking. Others, (e.g. gnome-terminal) will
-               // attempt to wrap them. For the former, repainting t.maxLine
-               // works great, but that behaviour goes badly wrong in the case
-               // of the latter because they have doubled every full line.
-
-               // We assume that we are working on a terminal that wraps lines
-               // and adjust the cursor position based on every previous line
-               // wrapping and turning into two. This causes the prompt on
-               // xterms to move upwards, which isn't great, but it avoids a
-               // huge mess with gnome-terminal.
-               if t.cursorX >= t.termWidth {
-                       t.cursorX = t.termWidth - 1
-               }
-               t.cursorY *= 2
-               t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2)
-       case width > oldWidth:
-               // If the terminal expands then our position calculations will
-               // be wrong in the future because we think the cursor is
-               // |t.pos| chars into the string, but there will be a gap at
-               // the end of any wrapped line.
-               //
-               // But the position will actually be correct until we move, so
-               // we can move back to the beginning and repaint everything.
-               t.clearAndRepaintLinePlusNPrevious(t.maxLine)
-       }
-
-       _, err := t.c.Write(t.outBuf)
-       t.outBuf = t.outBuf[:0]
-       return err
-}
-
-type pasteIndicatorError struct{}
-
-func (pasteIndicatorError) Error() string {
-       return "terminal: ErrPasteIndicator not correctly handled"
+       return term.NewTerminal(c, prompt)
 }
 
 // ErrPasteIndicator may be returned from ReadLine as the error, in addition
 // to valid line data. It indicates that bracketed paste mode is enabled and
 // that the returned line consists only of pasted data. Programs may wish to
 // interpret pasted data more literally than typed data.
-var ErrPasteIndicator = pasteIndicatorError{}
+var ErrPasteIndicator = term.ErrPasteIndicator
 
-// SetBracketedPasteMode requests that the terminal bracket paste operations
-// with markers. Not all terminals support this but, if it is supported, then
-// enabling this mode will stop any autocomplete callback from running due to
-// pastes. Additionally, any lines that are completely pasted will be returned
-// from ReadLine with the error set to ErrPasteIndicator.
-func (t *Terminal) SetBracketedPasteMode(on bool) {
-       if on {
-               io.WriteString(t.c, "\x1b[?2004h")
-       } else {
-               io.WriteString(t.c, "\x1b[?2004l")
-       }
-}
+// State contains the state of a terminal.
+type State = term.State
 
-// stRingBuffer is a ring buffer of strings.
-type stRingBuffer struct {
-       // entries contains max elements.
-       entries []string
-       max     int
-       // head contains the index of the element most recently added to the ring.
-       head int
-       // size contains the number of elements in the ring.
-       size int
+// IsTerminal returns whether the given file descriptor is a terminal.
+func IsTerminal(fd int) bool {
+       return term.IsTerminal(fd)
 }
 
-func (s *stRingBuffer) Add(a string) {
-       if s.entries == nil {
-               const defaultNumEntries = 100
-               s.entries = make([]string, defaultNumEntries)
-               s.max = defaultNumEntries
-       }
+// ReadPassword reads a line of input from a terminal without local echo.  This
+// is commonly used for inputting passwords and other sensitive data. The slice
+// returned does not include the \n.
+func ReadPassword(fd int) ([]byte, error) {
+       return term.ReadPassword(fd)
+}
 
-       s.head = (s.head + 1) % s.max
-       s.entries[s.head] = a
-       if s.size < s.max {
-               s.size++
-       }
+// MakeRaw puts the terminal connected to the given file descriptor into raw
+// mode and returns the previous state of the terminal so that it can be
+// restored.
+func MakeRaw(fd int) (*State, error) {
+       return term.MakeRaw(fd)
 }
 
-// NthPreviousEntry returns the value passed to the nth previous call to Add.
-// If n is zero then the immediately prior value is returned, if one, then the
-// next most recent, and so on. If such an element doesn't exist then ok is
-// false.
-func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) {
-       if n >= s.size {
-               return "", false
-       }
-       index := s.head - n
-       if index < 0 {
-               index += s.max
-       }
-       return s.entries[index], true
+// Restore restores the terminal connected to the given file descriptor to a
+// previous state.
+func Restore(fd int, oldState *State) error {
+       return term.Restore(fd, oldState)
 }
 
-// readPasswordLine reads from reader until it finds \n or io.EOF.
-// The slice returned does not include the \n.
-// readPasswordLine also ignores any \r it finds.
-// Windows uses \r as end of line. So, on Windows, readPasswordLine
-// reads until it finds \r and ignores any \n it finds during processing.
-func readPasswordLine(reader io.Reader) ([]byte, error) {
-       var buf [1]byte
-       var ret []byte
+// GetState returns the current state of a terminal which may be useful to
+// restore the terminal after a signal.
+func GetState(fd int) (*State, error) {
+       return term.GetState(fd)
+}
 
-       for {
-               n, err := reader.Read(buf[:])
-               if n > 0 {
-                       switch buf[0] {
-                       case '\b':
-                               if len(ret) > 0 {
-                                       ret = ret[:len(ret)-1]
-                               }
-                       case '\n':
-                               if runtime.GOOS != "windows" {
-                                       return ret, nil
-                               }
-                               // otherwise ignore \n
-                       case '\r':
-                               if runtime.GOOS == "windows" {
-                                       return ret, nil
-                               }
-                               // otherwise ignore \r
-                       default:
-                               ret = append(ret, buf[0])
-                       }
-                       continue
-               }
-               if err != nil {
-                       if err == io.EOF && len(ret) > 0 {
-                               return ret, nil
-                       }
-                       return ret, err
-               }
-       }
+// GetSize returns the dimensions of the given terminal.
+func GetSize(fd int) (width, height int, err error) {
+       return term.GetSize(fd)
 }
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/asm.s b/src/cmd/vendor/golang.org/x/sys/plan9/asm.s
new file mode 100644 (file)
index 0000000..06449eb
--- /dev/null
@@ -0,0 +1,8 @@
+// Copyright 2014 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.
+
+#include "textflag.h"
+
+TEXT Â·use(SB),NOSPLIT,$0
+       RET
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_386.s b/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_386.s
new file mode 100644 (file)
index 0000000..bc5cab1
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2009 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.
+
+#include "textflag.h"
+
+//
+// System call support for 386, Plan 9
+//
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT   Â·Syscall(SB),NOSPLIT,$0-32
+       JMP     syscall·Syscall(SB)
+
+TEXT   Â·Syscall6(SB),NOSPLIT,$0-44
+       JMP     syscall·Syscall6(SB)
+
+TEXT Â·RawSyscall(SB),NOSPLIT,$0-28
+       JMP     syscall·RawSyscall(SB)
+
+TEXT Â·RawSyscall6(SB),NOSPLIT,$0-40
+       JMP     syscall·RawSyscall6(SB)
+
+TEXT Â·seek(SB),NOSPLIT,$0-36
+       JMP     syscall·seek(SB)
+
+TEXT Â·exit(SB),NOSPLIT,$4-4
+       JMP     syscall·exit(SB)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s b/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s
new file mode 100644 (file)
index 0000000..d3448e6
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2009 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.
+
+#include "textflag.h"
+
+//
+// System call support for amd64, Plan 9
+//
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT   Â·Syscall(SB),NOSPLIT,$0-64
+       JMP     syscall·Syscall(SB)
+
+TEXT   Â·Syscall6(SB),NOSPLIT,$0-88
+       JMP     syscall·Syscall6(SB)
+
+TEXT Â·RawSyscall(SB),NOSPLIT,$0-56
+       JMP     syscall·RawSyscall(SB)
+
+TEXT   Â·RawSyscall6(SB),NOSPLIT,$0-80
+       JMP     syscall·RawSyscall6(SB)
+
+TEXT Â·seek(SB),NOSPLIT,$0-56
+       JMP     syscall·seek(SB)
+
+TEXT Â·exit(SB),NOSPLIT,$8-8
+       JMP     syscall·exit(SB)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_arm.s b/src/cmd/vendor/golang.org/x/sys/plan9/asm_plan9_arm.s
new file mode 100644 (file)
index 0000000..afb7c0a
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2009 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.
+
+#include "textflag.h"
+
+// System call support for plan9 on arm
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT Â·Syscall(SB),NOSPLIT,$0-32
+       JMP     syscall·Syscall(SB)
+
+TEXT Â·Syscall6(SB),NOSPLIT,$0-44
+       JMP     syscall·Syscall6(SB)
+
+TEXT Â·RawSyscall(SB),NOSPLIT,$0-28
+       JMP     syscall·RawSyscall(SB)
+
+TEXT Â·RawSyscall6(SB),NOSPLIT,$0-40
+       JMP     syscall·RawSyscall6(SB)
+
+TEXT Â·seek(SB),NOSPLIT,$0-36
+       JMP     syscall·exit(SB)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/const_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/const_plan9.go
new file mode 100644 (file)
index 0000000..b4e85a3
--- /dev/null
@@ -0,0 +1,70 @@
+package plan9
+
+// Plan 9 Constants
+
+// Open modes
+const (
+       O_RDONLY  = 0
+       O_WRONLY  = 1
+       O_RDWR    = 2
+       O_TRUNC   = 16
+       O_CLOEXEC = 32
+       O_EXCL    = 0x1000
+)
+
+// Rfork flags
+const (
+       RFNAMEG  = 1 << 0
+       RFENVG   = 1 << 1
+       RFFDG    = 1 << 2
+       RFNOTEG  = 1 << 3
+       RFPROC   = 1 << 4
+       RFMEM    = 1 << 5
+       RFNOWAIT = 1 << 6
+       RFCNAMEG = 1 << 10
+       RFCENVG  = 1 << 11
+       RFCFDG   = 1 << 12
+       RFREND   = 1 << 13
+       RFNOMNT  = 1 << 14
+)
+
+// Qid.Type bits
+const (
+       QTDIR    = 0x80
+       QTAPPEND = 0x40
+       QTEXCL   = 0x20
+       QTMOUNT  = 0x10
+       QTAUTH   = 0x08
+       QTTMP    = 0x04
+       QTFILE   = 0x00
+)
+
+// Dir.Mode bits
+const (
+       DMDIR    = 0x80000000
+       DMAPPEND = 0x40000000
+       DMEXCL   = 0x20000000
+       DMMOUNT  = 0x10000000
+       DMAUTH   = 0x08000000
+       DMTMP    = 0x04000000
+       DMREAD   = 0x4
+       DMWRITE  = 0x2
+       DMEXEC   = 0x1
+)
+
+const (
+       STATMAX    = 65535
+       ERRMAX     = 128
+       STATFIXLEN = 49
+)
+
+// Mount and bind flags
+const (
+       MREPL   = 0x0000
+       MBEFORE = 0x0001
+       MAFTER  = 0x0002
+       MORDER  = 0x0003
+       MCREATE = 0x0004
+       MCACHE  = 0x0010
+       MMASK   = 0x0017
+)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/dir_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/dir_plan9.go
new file mode 100644 (file)
index 0000000..0955e0c
--- /dev/null
@@ -0,0 +1,212 @@
+// Copyright 2012 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.
+
+// Plan 9 directory marshalling. See intro(5).
+
+package plan9
+
+import "errors"
+
+var (
+       ErrShortStat = errors.New("stat buffer too short")
+       ErrBadStat   = errors.New("malformed stat buffer")
+       ErrBadName   = errors.New("bad character in file name")
+)
+
+// A Qid represents a 9P server's unique identification for a file.
+type Qid struct {
+       Path uint64 // the file server's unique identification for the file
+       Vers uint32 // version number for given Path
+       Type uint8  // the type of the file (plan9.QTDIR for example)
+}
+
+// A Dir contains the metadata for a file.
+type Dir struct {
+       // system-modified data
+       Type uint16 // server type
+       Dev  uint32 // server subtype
+
+       // file data
+       Qid    Qid    // unique id from server
+       Mode   uint32 // permissions
+       Atime  uint32 // last read time
+       Mtime  uint32 // last write time
+       Length int64  // file length
+       Name   string // last element of path
+       Uid    string // owner name
+       Gid    string // group name
+       Muid   string // last modifier name
+}
+
+var nullDir = Dir{
+       Type: ^uint16(0),
+       Dev:  ^uint32(0),
+       Qid: Qid{
+               Path: ^uint64(0),
+               Vers: ^uint32(0),
+               Type: ^uint8(0),
+       },
+       Mode:   ^uint32(0),
+       Atime:  ^uint32(0),
+       Mtime:  ^uint32(0),
+       Length: ^int64(0),
+}
+
+// Null assigns special "don't touch" values to members of d to
+// avoid modifying them during plan9.Wstat.
+func (d *Dir) Null() { *d = nullDir }
+
+// Marshal encodes a 9P stat message corresponding to d into b
+//
+// If there isn't enough space in b for a stat message, ErrShortStat is returned.
+func (d *Dir) Marshal(b []byte) (n int, err error) {
+       n = STATFIXLEN + len(d.Name) + len(d.Uid) + len(d.Gid) + len(d.Muid)
+       if n > len(b) {
+               return n, ErrShortStat
+       }
+
+       for _, c := range d.Name {
+               if c == '/' {
+                       return n, ErrBadName
+               }
+       }
+
+       b = pbit16(b, uint16(n)-2)
+       b = pbit16(b, d.Type)
+       b = pbit32(b, d.Dev)
+       b = pbit8(b, d.Qid.Type)
+       b = pbit32(b, d.Qid.Vers)
+       b = pbit64(b, d.Qid.Path)
+       b = pbit32(b, d.Mode)
+       b = pbit32(b, d.Atime)
+       b = pbit32(b, d.Mtime)
+       b = pbit64(b, uint64(d.Length))
+       b = pstring(b, d.Name)
+       b = pstring(b, d.Uid)
+       b = pstring(b, d.Gid)
+       b = pstring(b, d.Muid)
+
+       return n, nil
+}
+
+// UnmarshalDir decodes a single 9P stat message from b and returns the resulting Dir.
+//
+// If b is too small to hold a valid stat message, ErrShortStat is returned.
+//
+// If the stat message itself is invalid, ErrBadStat is returned.
+func UnmarshalDir(b []byte) (*Dir, error) {
+       if len(b) < STATFIXLEN {
+               return nil, ErrShortStat
+       }
+       size, buf := gbit16(b)
+       if len(b) != int(size)+2 {
+               return nil, ErrBadStat
+       }
+       b = buf
+
+       var d Dir
+       d.Type, b = gbit16(b)
+       d.Dev, b = gbit32(b)
+       d.Qid.Type, b = gbit8(b)
+       d.Qid.Vers, b = gbit32(b)
+       d.Qid.Path, b = gbit64(b)
+       d.Mode, b = gbit32(b)
+       d.Atime, b = gbit32(b)
+       d.Mtime, b = gbit32(b)
+
+       n, b := gbit64(b)
+       d.Length = int64(n)
+
+       var ok bool
+       if d.Name, b, ok = gstring(b); !ok {
+               return nil, ErrBadStat
+       }
+       if d.Uid, b, ok = gstring(b); !ok {
+               return nil, ErrBadStat
+       }
+       if d.Gid, b, ok = gstring(b); !ok {
+               return nil, ErrBadStat
+       }
+       if d.Muid, b, ok = gstring(b); !ok {
+               return nil, ErrBadStat
+       }
+
+       return &d, nil
+}
+
+// pbit8 copies the 8-bit number v to b and returns the remaining slice of b.
+func pbit8(b []byte, v uint8) []byte {
+       b[0] = byte(v)
+       return b[1:]
+}
+
+// pbit16 copies the 16-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit16(b []byte, v uint16) []byte {
+       b[0] = byte(v)
+       b[1] = byte(v >> 8)
+       return b[2:]
+}
+
+// pbit32 copies the 32-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit32(b []byte, v uint32) []byte {
+       b[0] = byte(v)
+       b[1] = byte(v >> 8)
+       b[2] = byte(v >> 16)
+       b[3] = byte(v >> 24)
+       return b[4:]
+}
+
+// pbit64 copies the 64-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit64(b []byte, v uint64) []byte {
+       b[0] = byte(v)
+       b[1] = byte(v >> 8)
+       b[2] = byte(v >> 16)
+       b[3] = byte(v >> 24)
+       b[4] = byte(v >> 32)
+       b[5] = byte(v >> 40)
+       b[6] = byte(v >> 48)
+       b[7] = byte(v >> 56)
+       return b[8:]
+}
+
+// pstring copies the string s to b, prepending it with a 16-bit length in little-endian order, and
+// returning the remaining slice of b..
+func pstring(b []byte, s string) []byte {
+       b = pbit16(b, uint16(len(s)))
+       n := copy(b, s)
+       return b[n:]
+}
+
+// gbit8 reads an 8-bit number from b and returns it with the remaining slice of b.
+func gbit8(b []byte) (uint8, []byte) {
+       return uint8(b[0]), b[1:]
+}
+
+// gbit16 reads a 16-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit16(b []byte) (uint16, []byte) {
+       return uint16(b[0]) | uint16(b[1])<<8, b[2:]
+}
+
+// gbit32 reads a 32-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit32(b []byte) (uint32, []byte) {
+       return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24, b[4:]
+}
+
+// gbit64 reads a 64-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit64(b []byte) (uint64, []byte) {
+       lo := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+       hi := uint32(b[4]) | uint32(b[5])<<8 | uint32(b[6])<<16 | uint32(b[7])<<24
+       return uint64(lo) | uint64(hi)<<32, b[8:]
+}
+
+// gstring reads a string from b, prefixed with a 16-bit length in little-endian order.
+// It returns the string with the remaining slice of b and a boolean. If the length is
+// greater than the number of bytes in b, the boolean will be false.
+func gstring(b []byte) (string, []byte, bool) {
+       n, b := gbit16(b)
+       if int(n) > len(b) {
+               return "", b, false
+       }
+       return string(b[:n]), b[n:], true
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/env_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/env_plan9.go
new file mode 100644 (file)
index 0000000..8f19180
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright 2011 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.
+
+// Plan 9 environment variables.
+
+package plan9
+
+import (
+       "syscall"
+)
+
+func Getenv(key string) (value string, found bool) {
+       return syscall.Getenv(key)
+}
+
+func Setenv(key, value string) error {
+       return syscall.Setenv(key, value)
+}
+
+func Clearenv() {
+       syscall.Clearenv()
+}
+
+func Environ() []string {
+       return syscall.Environ()
+}
+
+func Unsetenv(key string) error {
+       return syscall.Unsetenv(key)
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/errors_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/errors_plan9.go
new file mode 100644 (file)
index 0000000..65fe74d
--- /dev/null
@@ -0,0 +1,50 @@
+// Copyright 2011 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 plan9
+
+import "syscall"
+
+// Constants
+const (
+       // Invented values to support what package os expects.
+       O_CREAT    = 0x02000
+       O_APPEND   = 0x00400
+       O_NOCTTY   = 0x00000
+       O_NONBLOCK = 0x00000
+       O_SYNC     = 0x00000
+       O_ASYNC    = 0x00000
+
+       S_IFMT   = 0x1f000
+       S_IFIFO  = 0x1000
+       S_IFCHR  = 0x2000
+       S_IFDIR  = 0x4000
+       S_IFBLK  = 0x6000
+       S_IFREG  = 0x8000
+       S_IFLNK  = 0xa000
+       S_IFSOCK = 0xc000
+)
+
+// Errors
+var (
+       EINVAL       = syscall.NewError("bad arg in system call")
+       ENOTDIR      = syscall.NewError("not a directory")
+       EISDIR       = syscall.NewError("file is a directory")
+       ENOENT       = syscall.NewError("file does not exist")
+       EEXIST       = syscall.NewError("file already exists")
+       EMFILE       = syscall.NewError("no free file descriptors")
+       EIO          = syscall.NewError("i/o error")
+       ENAMETOOLONG = syscall.NewError("file name too long")
+       EINTR        = syscall.NewError("interrupted")
+       EPERM        = syscall.NewError("permission denied")
+       EBUSY        = syscall.NewError("no free devices")
+       ETIMEDOUT    = syscall.NewError("connection timed out")
+       EPLAN9       = syscall.NewError("not supported by plan 9")
+
+       // The following errors do not correspond to any
+       // Plan 9 system messages. Invented to support
+       // what package os and others expect.
+       EACCES       = syscall.NewError("access permission denied")
+       EAFNOSUPPORT = syscall.NewError("address family not supported by protocol")
+)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/mkall.sh b/src/cmd/vendor/golang.org/x/sys/plan9/mkall.sh
new file mode 100644 (file)
index 0000000..1650fbc
--- /dev/null
@@ -0,0 +1,150 @@
+#!/usr/bin/env bash
+# Copyright 2009 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.
+
+# The plan9 package provides access to the raw system call
+# interface of the underlying operating system.  Porting Go to
+# a new architecture/operating system combination requires
+# some manual effort, though there are tools that automate
+# much of the process.  The auto-generated files have names
+# beginning with z.
+#
+# This script runs or (given -n) prints suggested commands to generate z files
+# for the current system.  Running those commands is not automatic.
+# This script is documentation more than anything else.
+#
+# * asm_${GOOS}_${GOARCH}.s
+#
+# This hand-written assembly file implements system call dispatch.
+# There are three entry points:
+#
+#      func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr);
+#      func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr);
+#      func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr);
+#
+# The first and second are the standard ones; they differ only in
+# how many arguments can be passed to the kernel.
+# The third is for low-level use by the ForkExec wrapper;
+# unlike the first two, it does not call into the scheduler to
+# let it know that a system call is running.
+#
+# * syscall_${GOOS}.go
+#
+# This hand-written Go file implements system calls that need
+# special handling and lists "//sys" comments giving prototypes
+# for ones that can be auto-generated.  Mksyscall reads those
+# comments to generate the stubs.
+#
+# * syscall_${GOOS}_${GOARCH}.go
+#
+# Same as syscall_${GOOS}.go except that it contains code specific
+# to ${GOOS} on one particular architecture.
+#
+# * types_${GOOS}.c
+#
+# This hand-written C file includes standard C headers and then
+# creates typedef or enum names beginning with a dollar sign
+# (use of $ in variable names is a gcc extension).  The hardest
+# part about preparing this file is figuring out which headers to
+# include and which symbols need to be #defined to get the
+# actual data structures that pass through to the kernel system calls.
+# Some C libraries present alternate versions for binary compatibility
+# and translate them on the way in and out of system calls, but
+# there is almost always a #define that can get the real ones.
+# See types_darwin.c and types_linux.c for examples.
+#
+# * zerror_${GOOS}_${GOARCH}.go
+#
+# This machine-generated file defines the system's error numbers,
+# error strings, and signal numbers.  The generator is "mkerrors.sh".
+# Usually no arguments are needed, but mkerrors.sh will pass its
+# arguments on to godefs.
+#
+# * zsyscall_${GOOS}_${GOARCH}.go
+#
+# Generated by mksyscall.pl; see syscall_${GOOS}.go above.
+#
+# * zsysnum_${GOOS}_${GOARCH}.go
+#
+# Generated by mksysnum_${GOOS}.
+#
+# * ztypes_${GOOS}_${GOARCH}.go
+#
+# Generated by godefs; see types_${GOOS}.c above.
+
+GOOSARCH="${GOOS}_${GOARCH}"
+
+# defaults
+mksyscall="go run mksyscall.go"
+mkerrors="./mkerrors.sh"
+zerrors="zerrors_$GOOSARCH.go"
+mksysctl=""
+zsysctl="zsysctl_$GOOSARCH.go"
+mksysnum=
+mktypes=
+run="sh"
+
+case "$1" in
+-syscalls)
+       for i in zsyscall*go
+       do
+               sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
+               rm _$i
+       done
+       exit 0
+       ;;
+-n)
+       run="cat"
+       shift
+esac
+
+case "$#" in
+0)
+       ;;
+*)
+       echo 'usage: mkall.sh [-n]' 1>&2
+       exit 2
+esac
+
+case "$GOOSARCH" in
+_* | *_ | _)
+       echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
+       exit 1
+       ;;
+plan9_386)
+       mkerrors=
+       mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,386"
+       mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
+       mktypes="XXX"
+       ;;
+plan9_amd64)
+       mkerrors=
+       mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,amd64"
+       mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
+       mktypes="XXX"
+       ;;
+plan9_arm)
+       mkerrors=
+       mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,arm"
+       mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
+       mktypes="XXX"
+       ;;
+*)
+       echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2
+       exit 1
+       ;;
+esac
+
+(
+       if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi
+       case "$GOOS" in
+       plan9)
+               syscall_goos="syscall_$GOOS.go"
+               if [ -n "$mksyscall" ]; then echo "$mksyscall $syscall_goos |gofmt >zsyscall_$GOOSARCH.go"; fi
+               ;;
+       esac
+       if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
+       if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
+       if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go |gofmt >ztypes_$GOOSARCH.go"; fi
+) | $run
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/mkerrors.sh b/src/cmd/vendor/golang.org/x/sys/plan9/mkerrors.sh
new file mode 100644 (file)
index 0000000..85309c4
--- /dev/null
@@ -0,0 +1,246 @@
+#!/usr/bin/env bash
+# Copyright 2009 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.
+
+# Generate Go code listing errors and other #defined constant
+# values (ENAMETOOLONG etc.), by asking the preprocessor
+# about the definitions.
+
+unset LANG
+export LC_ALL=C
+export LC_CTYPE=C
+
+CC=${CC:-gcc}
+
+uname=$(uname)
+
+includes='
+#include <sys/types.h>
+#include <sys/file.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
+#include <netinet/tcp.h>
+#include <errno.h>
+#include <sys/signal.h>
+#include <signal.h>
+#include <sys/resource.h>
+'
+
+ccflags="$@"
+
+# Write go tool cgo -godefs input.
+(
+       echo package plan9
+       echo
+       echo '/*'
+       indirect="includes_$(uname)"
+       echo "${!indirect} $includes"
+       echo '*/'
+       echo 'import "C"'
+       echo
+       echo 'const ('
+
+       # The gcc command line prints all the #defines
+       # it encounters while processing the input
+       echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags |
+       awk '
+               $1 != "#define" || $2 ~ /\(/ || $3 == "" {next}
+
+               $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next}  # 386 registers
+               $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next}
+               $2 ~ /^(SCM_SRCRT)$/ {next}
+               $2 ~ /^(MAP_FAILED)$/ {next}
+
+               $2 !~ /^ETH_/ &&
+               $2 !~ /^EPROC_/ &&
+               $2 !~ /^EQUIV_/ &&
+               $2 !~ /^EXPR_/ &&
+               $2 ~ /^E[A-Z0-9_]+$/ ||
+               $2 ~ /^B[0-9_]+$/ ||
+               $2 ~ /^V[A-Z0-9]+$/ ||
+               $2 ~ /^CS[A-Z0-9]/ ||
+               $2 ~ /^I(SIG|CANON|CRNL|EXTEN|MAXBEL|STRIP|UTF8)$/ ||
+               $2 ~ /^IGN/ ||
+               $2 ~ /^IX(ON|ANY|OFF)$/ ||
+               $2 ~ /^IN(LCR|PCK)$/ ||
+               $2 ~ /(^FLU?SH)|(FLU?SH$)/ ||
+               $2 ~ /^C(LOCAL|READ)$/ ||
+               $2 == "BRKINT" ||
+               $2 == "HUPCL" ||
+               $2 == "PENDIN" ||
+               $2 == "TOSTOP" ||
+               $2 ~ /^PAR/ ||
+               $2 ~ /^SIG[^_]/ ||
+               $2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ ||
+               $2 ~ /^IN_/ ||
+               $2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
+               $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+               $2 == "ICMPV6_FILTER" ||
+               $2 == "SOMAXCONN" ||
+               $2 == "NAME_MAX" ||
+               $2 == "IFNAMSIZ" ||
+               $2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ ||
+               $2 ~ /^SYSCTL_VERS/ ||
+               $2 ~ /^(MS|MNT)_/ ||
+               $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
+               $2 ~ /^(O|F|FD|NAME|S|PTRACE|PT)_/ ||
+               $2 ~ /^LINUX_REBOOT_CMD_/ ||
+               $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
+               $2 !~ "NLA_TYPE_MASK" &&
+               $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ ||
+               $2 ~ /^SIOC/ ||
+               $2 ~ /^TIOC/ ||
+               $2 !~ "RTF_BITS" &&
+               $2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ ||
+               $2 ~ /^BIOC/ ||
+               $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ ||
+               $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|NOFILE|STACK)|RLIM_INFINITY/ ||
+               $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
+               $2 ~ /^CLONE_[A-Z_]+/ ||
+               $2 !~ /^(BPF_TIMEVAL)$/ &&
+               $2 ~ /^(BPF|DLT)_/ ||
+               $2 !~ "WMESGLEN" &&
+               $2 ~ /^W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", $2, $2)}
+               $2 ~ /^__WCOREFLAG$/ {next}
+               $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
+
+               {next}
+       ' | sort
+
+       echo ')'
+) >_const.go
+
+# Pull out the error names for later.
+errors=$(
+       echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
+       awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' |
+       sort
+)
+
+# Pull out the signal names for later.
+signals=$(
+       echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
+       awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |
+       egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+       sort
+)
+
+# Again, writing regexps to a file.
+echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
+       awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' |
+       sort >_error.grep
+echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
+       awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' |
+       egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+       sort >_signal.grep
+
+echo '// mkerrors.sh' "$@"
+echo '// Code generated by the command above; DO NOT EDIT.'
+echo
+go tool cgo -godefs -- "$@" _const.go >_error.out
+cat _error.out | grep -vf _error.grep | grep -vf _signal.grep
+echo
+echo '// Errors'
+echo 'const ('
+cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= Errno(\1)/'
+echo ')'
+
+echo
+echo '// Signals'
+echo 'const ('
+cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= Signal(\1)/'
+echo ')'
+
+# Run C program to print error and syscall strings.
+(
+       echo -E "
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+#include <signal.h>
+
+#define nelem(x) (sizeof(x)/sizeof((x)[0]))
+
+enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below
+
+int errors[] = {
+"
+       for i in $errors
+       do
+               echo -E '       '$i,
+       done
+
+       echo -E "
+};
+
+int signals[] = {
+"
+       for i in $signals
+       do
+               echo -E '       '$i,
+       done
+
+       # Use -E because on some systems bash builtin interprets \n itself.
+       echo -E '
+};
+
+static int
+intcmp(const void *a, const void *b)
+{
+       return *(int*)a - *(int*)b;
+}
+
+int
+main(void)
+{
+       int i, j, e;
+       char buf[1024], *p;
+
+       printf("\n\n// Error table\n");
+       printf("var errors = [...]string {\n");
+       qsort(errors, nelem(errors), sizeof errors[0], intcmp);
+       for(i=0; i<nelem(errors); i++) {
+               e = errors[i];
+               if(i > 0 && errors[i-1] == e)
+                       continue;
+               strcpy(buf, strerror(e));
+               // lowercase first letter: Bad -> bad, but STREAM -> STREAM.
+               if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)
+                       buf[0] += a - A;
+               printf("\t%d: \"%s\",\n", e, buf);
+       }
+       printf("}\n\n");
+       
+       printf("\n\n// Signal table\n");
+       printf("var signals = [...]string {\n");
+       qsort(signals, nelem(signals), sizeof signals[0], intcmp);
+       for(i=0; i<nelem(signals); i++) {
+               e = signals[i];
+               if(i > 0 && signals[i-1] == e)
+                       continue;
+               strcpy(buf, strsignal(e));
+               // lowercase first letter: Bad -> bad, but STREAM -> STREAM.
+               if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)
+                       buf[0] += a - A;
+               // cut trailing : number.
+               p = strrchr(buf, ":"[0]);
+               if(p)
+                       *p = '\0';
+               printf("\t%d: \"%s\",\n", e, buf);
+       }
+       printf("}\n\n");
+
+       return 0;
+}
+
+'
+) >_errors.c
+
+$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh b/src/cmd/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh
new file mode 100644 (file)
index 0000000..3c3ab05
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Copyright 2009 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.
+
+COMMAND="mksysnum_plan9.sh $@"
+
+cat <<EOF
+// $COMMAND
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+package plan9
+
+const(
+EOF
+
+SP='[  ]' # space or tab
+sed "s/^#define${SP}\\([A-Z0-9_][A-Z0-9_]*\\)${SP}${SP}*\\([0-9][0-9]*\\)/SYS_\\1=\\2/g" \
+       < $1 | grep -v SYS__
+
+cat <<EOF
+)
+EOF
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
new file mode 100644 (file)
index 0000000..87ae9d2
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2015 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 go1.5
+
+package plan9
+
+import "syscall"
+
+func fixwd() {
+       syscall.Fixwd()
+}
+
+func Getwd() (wd string, err error) {
+       return syscall.Getwd()
+}
+
+func Chdir(path string) error {
+       return syscall.Chdir(path)
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/pwd_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/pwd_plan9.go
new file mode 100644 (file)
index 0000000..c07c798
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2015 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 !go1.5
+
+package plan9
+
+func fixwd() {
+}
+
+func Getwd() (wd string, err error) {
+       fd, err := open(".", O_RDONLY)
+       if err != nil {
+               return "", err
+       }
+       defer Close(fd)
+       return Fd2path(fd)
+}
+
+func Chdir(path string) error {
+       return chdir(path)
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/race.go b/src/cmd/vendor/golang.org/x/sys/plan9/race.go
new file mode 100644 (file)
index 0000000..42edd93
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2012 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 plan9,race
+
+package plan9
+
+import (
+       "runtime"
+       "unsafe"
+)
+
+const raceenabled = true
+
+func raceAcquire(addr unsafe.Pointer) {
+       runtime.RaceAcquire(addr)
+}
+
+func raceReleaseMerge(addr unsafe.Pointer) {
+       runtime.RaceReleaseMerge(addr)
+}
+
+func raceReadRange(addr unsafe.Pointer, len int) {
+       runtime.RaceReadRange(addr, len)
+}
+
+func raceWriteRange(addr unsafe.Pointer, len int) {
+       runtime.RaceWriteRange(addr, len)
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/race0.go b/src/cmd/vendor/golang.org/x/sys/plan9/race0.go
new file mode 100644 (file)
index 0000000..c89cf8f
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2012 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 plan9,!race
+
+package plan9
+
+import (
+       "unsafe"
+)
+
+const raceenabled = false
+
+func raceAcquire(addr unsafe.Pointer) {
+}
+
+func raceReleaseMerge(addr unsafe.Pointer) {
+}
+
+func raceReadRange(addr unsafe.Pointer, len int) {
+}
+
+func raceWriteRange(addr unsafe.Pointer, len int) {
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/str.go b/src/cmd/vendor/golang.org/x/sys/plan9/str.go
new file mode 100644 (file)
index 0000000..4f7f9ad
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2009 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 plan9
+
+package plan9
+
+func itoa(val int) string { // do it here rather than with fmt to avoid dependency
+       if val < 0 {
+               return "-" + itoa(-val)
+       }
+       var buf [32]byte // big enough for int64
+       i := len(buf) - 1
+       for val >= 10 {
+               buf[i] = byte(val%10 + '0')
+               i--
+               val /= 10
+       }
+       buf[i] = byte(val + '0')
+       return string(buf[i:])
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/syscall.go b/src/cmd/vendor/golang.org/x/sys/plan9/syscall.go
new file mode 100644 (file)
index 0000000..e7363a2
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright 2009 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 plan9
+
+// Package plan9 contains an interface to the low-level operating system
+// primitives. OS details vary depending on the underlying system, and
+// by default, godoc will display the OS-specific documentation for the current
+// system. If you want godoc to display documentation for another
+// system, set $GOOS and $GOARCH to the desired system. For example, if
+// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS
+// to freebsd and $GOARCH to arm.
+//
+// The primary use of this package is inside other packages that provide a more
+// portable interface to the system, such as "os", "time" and "net".  Use
+// those packages rather than this one if you can.
+//
+// For details of the functions and data types in this package consult
+// the manuals for the appropriate operating system.
+//
+// These calls return err == nil to indicate success; otherwise
+// err represents an operating system error describing the failure and
+// holds a value of type syscall.ErrorString.
+package plan9 // import "golang.org/x/sys/plan9"
+
+import (
+       "bytes"
+       "strings"
+       "unsafe"
+
+       "golang.org/x/sys/internal/unsafeheader"
+)
+
+// ByteSliceFromString returns a NUL-terminated slice of bytes
+// containing the text of s. If s contains a NUL byte at any
+// location, it returns (nil, EINVAL).
+func ByteSliceFromString(s string) ([]byte, error) {
+       if strings.IndexByte(s, 0) != -1 {
+               return nil, EINVAL
+       }
+       a := make([]byte, len(s)+1)
+       copy(a, s)
+       return a, nil
+}
+
+// BytePtrFromString returns a pointer to a NUL-terminated array of
+// bytes containing the text of s. If s contains a NUL byte at any
+// location, it returns (nil, EINVAL).
+func BytePtrFromString(s string) (*byte, error) {
+       a, err := ByteSliceFromString(s)
+       if err != nil {
+               return nil, err
+       }
+       return &a[0], nil
+}
+
+// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any
+// bytes after the NUL removed.
+func ByteSliceToString(s []byte) string {
+       if i := bytes.IndexByte(s, 0); i != -1 {
+               s = s[:i]
+       }
+       return string(s)
+}
+
+// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string.
+// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated
+// at a zero byte; if the zero byte is not present, the program may crash.
+func BytePtrToString(p *byte) string {
+       if p == nil {
+               return ""
+       }
+       if *p == 0 {
+               return ""
+       }
+
+       // Find NUL terminator.
+       n := 0
+       for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ {
+               ptr = unsafe.Pointer(uintptr(ptr) + 1)
+       }
+
+       var s []byte
+       h := (*unsafeheader.Slice)(unsafe.Pointer(&s))
+       h.Data = unsafe.Pointer(p)
+       h.Len = n
+       h.Cap = n
+
+       return string(s)
+}
+
+// Single-word zero for use when we need a valid pointer to 0 bytes.
+// See mksyscall.pl.
+var _zero uintptr
+
+func (ts *Timespec) Unix() (sec int64, nsec int64) {
+       return int64(ts.Sec), int64(ts.Nsec)
+}
+
+func (tv *Timeval) Unix() (sec int64, nsec int64) {
+       return int64(tv.Sec), int64(tv.Usec) * 1000
+}
+
+func (ts *Timespec) Nano() int64 {
+       return int64(ts.Sec)*1e9 + int64(ts.Nsec)
+}
+
+func (tv *Timeval) Nano() int64 {
+       return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
+}
+
+// use is a no-op, but the compiler cannot see that it is.
+// Calling use(p) ensures that p is kept live until that point.
+//go:noescape
+func use(p unsafe.Pointer)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/syscall_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/syscall_plan9.go
new file mode 100644 (file)
index 0000000..84e1471
--- /dev/null
@@ -0,0 +1,349 @@
+// Copyright 2011 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.
+
+// Plan 9 system calls.
+// This file is compiled as ordinary Go code,
+// but it is also input to mksyscall,
+// which parses the //sys lines and generates system call stubs.
+// Note that sometimes we use a lowercase //sys name and
+// wrap it in our own nicer implementation.
+
+package plan9
+
+import (
+       "bytes"
+       "syscall"
+       "unsafe"
+)
+
+// A Note is a string describing a process note.
+// It implements the os.Signal interface.
+type Note string
+
+func (n Note) Signal() {}
+
+func (n Note) String() string {
+       return string(n)
+}
+
+var (
+       Stdin  = 0
+       Stdout = 1
+       Stderr = 2
+)
+
+// For testing: clients can set this flag to force
+// creation of IPv6 sockets to return EAFNOSUPPORT.
+var SocketDisableIPv6 bool
+
+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
+
+func atoi(b []byte) (n uint) {
+       n = 0
+       for i := 0; i < len(b); i++ {
+               n = n*10 + uint(b[i]-'0')
+       }
+       return
+}
+
+func cstring(s []byte) string {
+       i := bytes.IndexByte(s, 0)
+       if i == -1 {
+               i = len(s)
+       }
+       return string(s[:i])
+}
+
+func errstr() string {
+       var buf [ERRMAX]byte
+
+       RawSyscall(SYS_ERRSTR, uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)), 0)
+
+       buf[len(buf)-1] = 0
+       return cstring(buf[:])
+}
+
+// Implemented in assembly to import from runtime.
+func exit(code int)
+
+func Exit(code int) { exit(code) }
+
+func readnum(path string) (uint, error) {
+       var b [12]byte
+
+       fd, e := Open(path, O_RDONLY)
+       if e != nil {
+               return 0, e
+       }
+       defer Close(fd)
+
+       n, e := Pread(fd, b[:], 0)
+
+       if e != nil {
+               return 0, e
+       }
+
+       m := 0
+       for ; m < n && b[m] == ' '; m++ {
+       }
+
+       return atoi(b[m : n-1]), nil
+}
+
+func Getpid() (pid int) {
+       n, _ := readnum("#c/pid")
+       return int(n)
+}
+
+func Getppid() (ppid int) {
+       n, _ := readnum("#c/ppid")
+       return int(n)
+}
+
+func Read(fd int, p []byte) (n int, err error) {
+       return Pread(fd, p, -1)
+}
+
+func Write(fd int, p []byte) (n int, err error) {
+       return Pwrite(fd, p, -1)
+}
+
+var ioSync int64
+
+//sys  fd2path(fd int, buf []byte) (err error)
+func Fd2path(fd int) (path string, err error) {
+       var buf [512]byte
+
+       e := fd2path(fd, buf[:])
+       if e != nil {
+               return "", e
+       }
+       return cstring(buf[:]), nil
+}
+
+//sys  pipe(p *[2]int32) (err error)
+func Pipe(p []int) (err error) {
+       if len(p) != 2 {
+               return syscall.ErrorString("bad arg in system call")
+       }
+       var pp [2]int32
+       err = pipe(&pp)
+       p[0] = int(pp[0])
+       p[1] = int(pp[1])
+       return
+}
+
+// Underlying system call writes to newoffset via pointer.
+// Implemented in assembly to avoid allocation.
+func seek(placeholder uintptr, fd int, offset int64, whence int) (newoffset int64, err string)
+
+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
+       newoffset, e := seek(0, fd, offset, whence)
+
+       if newoffset == -1 {
+               err = syscall.ErrorString(e)
+       }
+       return
+}
+
+func Mkdir(path string, mode uint32) (err error) {
+       fd, err := Create(path, O_RDONLY, DMDIR|mode)
+
+       if fd != -1 {
+               Close(fd)
+       }
+
+       return
+}
+
+type Waitmsg struct {
+       Pid  int
+       Time [3]uint32
+       Msg  string
+}
+
+func (w Waitmsg) Exited() bool   { return true }
+func (w Waitmsg) Signaled() bool { return false }
+
+func (w Waitmsg) ExitStatus() int {
+       if len(w.Msg) == 0 {
+               // a normal exit returns no message
+               return 0
+       }
+       return 1
+}
+
+//sys  await(s []byte) (n int, err error)
+func Await(w *Waitmsg) (err error) {
+       var buf [512]byte
+       var f [5][]byte
+
+       n, err := await(buf[:])
+
+       if err != nil || w == nil {
+               return
+       }
+
+       nf := 0
+       p := 0
+       for i := 0; i < n && nf < len(f)-1; i++ {
+               if buf[i] == ' ' {
+                       f[nf] = buf[p:i]
+                       p = i + 1
+                       nf++
+               }
+       }
+       f[nf] = buf[p:]
+       nf++
+
+       if nf != len(f) {
+               return syscall.ErrorString("invalid wait message")
+       }
+       w.Pid = int(atoi(f[0]))
+       w.Time[0] = uint32(atoi(f[1]))
+       w.Time[1] = uint32(atoi(f[2]))
+       w.Time[2] = uint32(atoi(f[3]))
+       w.Msg = cstring(f[4])
+       if w.Msg == "''" {
+               // await() returns '' for no error
+               w.Msg = ""
+       }
+       return
+}
+
+func Unmount(name, old string) (err error) {
+       fixwd()
+       oldp, err := BytePtrFromString(old)
+       if err != nil {
+               return err
+       }
+       oldptr := uintptr(unsafe.Pointer(oldp))
+
+       var r0 uintptr
+       var e syscall.ErrorString
+
+       // bind(2) man page: If name is zero, everything bound or mounted upon old is unbound or unmounted.
+       if name == "" {
+               r0, _, e = Syscall(SYS_UNMOUNT, _zero, oldptr, 0)
+       } else {
+               namep, err := BytePtrFromString(name)
+               if err != nil {
+                       return err
+               }
+               r0, _, e = Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(namep)), oldptr, 0)
+       }
+
+       if int32(r0) == -1 {
+               err = e
+       }
+       return
+}
+
+func Fchdir(fd int) (err error) {
+       path, err := Fd2path(fd)
+
+       if err != nil {
+               return
+       }
+
+       return Chdir(path)
+}
+
+type Timespec struct {
+       Sec  int32
+       Nsec int32
+}
+
+type Timeval struct {
+       Sec  int32
+       Usec int32
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+       nsec += 999 // round up to microsecond
+       tv.Usec = int32(nsec % 1e9 / 1e3)
+       tv.Sec = int32(nsec / 1e9)
+       return
+}
+
+func nsec() int64 {
+       var scratch int64
+
+       r0, _, _ := Syscall(SYS_NSEC, uintptr(unsafe.Pointer(&scratch)), 0, 0)
+       // TODO(aram): remove hack after I fix _nsec in the pc64 kernel.
+       if r0 == 0 {
+               return scratch
+       }
+       return int64(r0)
+}
+
+func Gettimeofday(tv *Timeval) error {
+       nsec := nsec()
+       *tv = NsecToTimeval(nsec)
+       return nil
+}
+
+func Getpagesize() int { return 0x1000 }
+
+func Getegid() (egid int) { return -1 }
+func Geteuid() (euid int) { return -1 }
+func Getgid() (gid int)   { return -1 }
+func Getuid() (uid int)   { return -1 }
+
+func Getgroups() (gids []int, err error) {
+       return make([]int, 0), nil
+}
+
+//sys  open(path string, mode int) (fd int, err error)
+func Open(path string, mode int) (fd int, err error) {
+       fixwd()
+       return open(path, mode)
+}
+
+//sys  create(path string, mode int, perm uint32) (fd int, err error)
+func Create(path string, mode int, perm uint32) (fd int, err error) {
+       fixwd()
+       return create(path, mode, perm)
+}
+
+//sys  remove(path string) (err error)
+func Remove(path string) error {
+       fixwd()
+       return remove(path)
+}
+
+//sys  stat(path string, edir []byte) (n int, err error)
+func Stat(path string, edir []byte) (n int, err error) {
+       fixwd()
+       return stat(path, edir)
+}
+
+//sys  bind(name string, old string, flag int) (err error)
+func Bind(name string, old string, flag int) (err error) {
+       fixwd()
+       return bind(name, old, flag)
+}
+
+//sys  mount(fd int, afd int, old string, flag int, aname string) (err error)
+func Mount(fd int, afd int, old string, flag int, aname string) (err error) {
+       fixwd()
+       return mount(fd, afd, old, flag, aname)
+}
+
+//sys  wstat(path string, edir []byte) (err error)
+func Wstat(path string, edir []byte) (err error) {
+       fixwd()
+       return wstat(path, edir)
+}
+
+//sys  chdir(path string) (err error)
+//sys  Dup(oldfd int, newfd int) (fd int, err error)
+//sys  Pread(fd int, p []byte, offset int64) (n int, err error)
+//sys  Pwrite(fd int, p []byte, offset int64) (n int, err error)
+//sys  Close(fd int) (err error)
+//sys  Fstat(fd int, edir []byte) (n int, err error)
+//sys  Fwstat(fd int, edir []byte) (err error)
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go b/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
new file mode 100644 (file)
index 0000000..6819bc2
--- /dev/null
@@ -0,0 +1,284 @@
+// go run mksyscall.go -l32 -plan9 -tags plan9,386 syscall_plan9.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build plan9,386
+
+package plan9
+
+import "unsafe"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fd2path(fd int, buf []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]int32) (err error) {
+       r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func await(s []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(s) > 0 {
+               _p0 = unsafe.Pointer(&s[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func create(path string, mode int, perm uint32) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, edir []byte) (n int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(name string, old string, flag int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(name)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mount(fd int, afd int, old string, flag int, aname string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(aname)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func wstat(path string, edir []byte) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func chdir(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int, newfd int) (fd int, err error) {
+       r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pread(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Close(fd int) (err error) {
+       r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, edir []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fwstat(fd int, edir []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go b/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
new file mode 100644 (file)
index 0000000..418abbb
--- /dev/null
@@ -0,0 +1,284 @@
+// go run mksyscall.go -l32 -plan9 -tags plan9,amd64 syscall_plan9.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build plan9,amd64
+
+package plan9
+
+import "unsafe"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fd2path(fd int, buf []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]int32) (err error) {
+       r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func await(s []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(s) > 0 {
+               _p0 = unsafe.Pointer(&s[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func create(path string, mode int, perm uint32) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, edir []byte) (n int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(name string, old string, flag int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(name)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mount(fd int, afd int, old string, flag int, aname string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(aname)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func wstat(path string, edir []byte) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func chdir(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int, newfd int) (fd int, err error) {
+       r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pread(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Close(fd int) (err error) {
+       r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, edir []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fwstat(fd int, edir []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go b/src/cmd/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
new file mode 100644 (file)
index 0000000..3e8a1a5
--- /dev/null
@@ -0,0 +1,284 @@
+// go run mksyscall.go -l32 -plan9 -tags plan9,arm syscall_plan9.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build plan9,arm
+
+package plan9
+
+import "unsafe"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fd2path(fd int, buf []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]int32) (err error) {
+       r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func await(s []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(s) > 0 {
+               _p0 = unsafe.Pointer(&s[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func create(path string, mode int, perm uint32) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, edir []byte) (n int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(name string, old string, flag int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(name)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mount(fd int, afd int, old string, flag int, aname string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(old)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(aname)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func wstat(path string, edir []byte) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(edir) > 0 {
+               _p1 = unsafe.Pointer(&edir[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func chdir(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int, newfd int) (fd int, err error) {
+       r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
+       fd = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pread(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Close(fd int) (err error) {
+       r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, edir []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       n = int(r0)
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fwstat(fd int, edir []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(edir) > 0 {
+               _p0 = unsafe.Pointer(&edir[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+       if int32(r0) == -1 {
+               err = e1
+       }
+       return
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go b/src/cmd/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go
new file mode 100644 (file)
index 0000000..22e8abd
--- /dev/null
@@ -0,0 +1,49 @@
+// mksysnum_plan9.sh /opt/plan9/sys/src/libc/9syscall/sys.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+package plan9
+
+const (
+       SYS_SYSR1       = 0
+       SYS_BIND        = 2
+       SYS_CHDIR       = 3
+       SYS_CLOSE       = 4
+       SYS_DUP         = 5
+       SYS_ALARM       = 6
+       SYS_EXEC        = 7
+       SYS_EXITS       = 8
+       SYS_FAUTH       = 10
+       SYS_SEGBRK      = 12
+       SYS_OPEN        = 14
+       SYS_OSEEK       = 16
+       SYS_SLEEP       = 17
+       SYS_RFORK       = 19
+       SYS_PIPE        = 21
+       SYS_CREATE      = 22
+       SYS_FD2PATH     = 23
+       SYS_BRK_        = 24
+       SYS_REMOVE      = 25
+       SYS_NOTIFY      = 28
+       SYS_NOTED       = 29
+       SYS_SEGATTACH   = 30
+       SYS_SEGDETACH   = 31
+       SYS_SEGFREE     = 32
+       SYS_SEGFLUSH    = 33
+       SYS_RENDEZVOUS  = 34
+       SYS_UNMOUNT     = 35
+       SYS_SEMACQUIRE  = 37
+       SYS_SEMRELEASE  = 38
+       SYS_SEEK        = 39
+       SYS_FVERSION    = 40
+       SYS_ERRSTR      = 41
+       SYS_STAT        = 42
+       SYS_FSTAT       = 43
+       SYS_WSTAT       = 44
+       SYS_FWSTAT      = 45
+       SYS_MOUNT       = 46
+       SYS_AWAIT       = 47
+       SYS_PREAD       = 50
+       SYS_PWRITE      = 51
+       SYS_TSEMACQUIRE = 52
+       SYS_NSEC        = 53
+)
index 951fce4d0d93f9b3ea3796465070bb78ab5717f9..abc89c104a8e257c9e4e0c0bee65d21a64f234ab 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 // +build go1.9
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/src/cmd/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
new file mode 100644 (file)
index 0000000..3b54e18
--- /dev/null
@@ -0,0 +1,426 @@
+// 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.
+
+//go:build zos && s390x && gc
+// +build zos
+// +build s390x
+// +build gc
+
+#include "textflag.h"
+
+#define PSALAA            1208(R0)
+#define GTAB64(x)           80(x)
+#define LCA64(x)            88(x)
+#define CAA(x)               8(x)
+#define EDCHPXV(x)        1016(x)       // in the CAA
+#define SAVSTACK_ASYNC(x)  336(x)       // in the LCA
+
+// SS_*, where x=SAVSTACK_ASYNC
+#define SS_LE(x)             0(x)
+#define SS_GO(x)             8(x)
+#define SS_ERRNO(x)         16(x)
+#define SS_ERRNOJR(x)       20(x)
+
+#define LE_CALL BYTE $0x0D; BYTE $0x76; // BL R7, R6
+
+TEXT Â·clearErrno(SB),NOSPLIT,$0-0
+       BL      addrerrno<>(SB)
+       MOVD    $0, 0(R3)
+       RET
+
+// Returns the address of errno in R3.
+TEXT addrerrno<>(SB),NOSPLIT|NOFRAME,$0-0
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get __errno FuncDesc.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       ADD     $(0x156*16), R9
+       LMG     0(R9), R5, R6
+
+       // Switch to saved LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Call __errno function.
+       LE_CALL
+       NOPH
+
+       // Switch back to Go stack.
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+       RET
+
+TEXT Â·syscall_syscall(SB),NOSPLIT,$0-56
+       BL      runtime·entersyscall(SB)
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+32(FP)
+       MOVD    R0, r2+40(FP)
+       MOVD    R0, err+48(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      addrerrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+48(FP)
+done:
+       BL      runtime·exitsyscall(SB)
+       RET
+
+TEXT Â·syscall_rawsyscall(SB),NOSPLIT,$0-56
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+32(FP)
+       MOVD    R0, r2+40(FP)
+       MOVD    R0, err+48(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      addrerrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+48(FP)
+done:
+       RET
+
+TEXT Â·syscall_syscall6(SB),NOSPLIT,$0-80
+       BL      runtime·entersyscall(SB)
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Fill in parameter list.
+       MOVD    a4+32(FP), R12
+       MOVD    R12, (2176+24)(R4)
+       MOVD    a5+40(FP), R12
+       MOVD    R12, (2176+32)(R4)
+       MOVD    a6+48(FP), R12
+       MOVD    R12, (2176+40)(R4)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+56(FP)
+       MOVD    R0, r2+64(FP)
+       MOVD    R0, err+72(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      addrerrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+72(FP)
+done:
+       BL      runtime·exitsyscall(SB)
+       RET
+
+TEXT Â·syscall_rawsyscall6(SB),NOSPLIT,$0-80
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Fill in parameter list.
+       MOVD    a4+32(FP), R12
+       MOVD    R12, (2176+24)(R4)
+       MOVD    a5+40(FP), R12
+       MOVD    R12, (2176+32)(R4)
+       MOVD    a6+48(FP), R12
+       MOVD    R12, (2176+40)(R4)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+56(FP)
+       MOVD    R0, r2+64(FP)
+       MOVD    R0, err+72(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      Â·rrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+72(FP)
+done:
+       RET
+
+TEXT Â·syscall_syscall9(SB),NOSPLIT,$0
+       BL      runtime·entersyscall(SB)
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Fill in parameter list.
+       MOVD    a4+32(FP), R12
+       MOVD    R12, (2176+24)(R4)
+       MOVD    a5+40(FP), R12
+       MOVD    R12, (2176+32)(R4)
+       MOVD    a6+48(FP), R12
+       MOVD    R12, (2176+40)(R4)
+       MOVD    a7+56(FP), R12
+       MOVD    R12, (2176+48)(R4)
+       MOVD    a8+64(FP), R12
+       MOVD    R12, (2176+56)(R4)
+       MOVD    a9+72(FP), R12
+       MOVD    R12, (2176+64)(R4)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+80(FP)
+       MOVD    R0, r2+88(FP)
+       MOVD    R0, err+96(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      addrerrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+96(FP)
+done:
+        BL     runtime·exitsyscall(SB)
+        RET
+
+TEXT Â·syscall_rawsyscall9(SB),NOSPLIT,$0
+       MOVD    a1+8(FP), R1
+       MOVD    a2+16(FP), R2
+       MOVD    a3+24(FP), R3
+
+       // Get library control area (LCA).
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+
+       // Get function.
+       MOVD    CAA(R8), R9
+       MOVD    EDCHPXV(R9), R9
+       MOVD    trap+0(FP), R5
+       SLD     $4, R5
+       ADD     R5, R9
+       LMG     0(R9), R5, R6
+
+       // Restore LE stack.
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R4
+       MOVD    $0, 0(R9)
+
+       // Fill in parameter list.
+       MOVD    a4+32(FP), R12
+       MOVD    R12, (2176+24)(R4)
+       MOVD    a5+40(FP), R12
+       MOVD    R12, (2176+32)(R4)
+       MOVD    a6+48(FP), R12
+       MOVD    R12, (2176+40)(R4)
+       MOVD    a7+56(FP), R12
+       MOVD    R12, (2176+48)(R4)
+       MOVD    a8+64(FP), R12
+       MOVD    R12, (2176+56)(R4)
+       MOVD    a9+72(FP), R12
+       MOVD    R12, (2176+64)(R4)
+
+       // Call function.
+       LE_CALL
+       NOPH
+       XOR     R0, R0      // Restore R0 to $0.
+       MOVD    R4, 0(R9)   // Save stack pointer.
+
+       MOVD    R3, r1+80(FP)
+       MOVD    R0, r2+88(FP)
+       MOVD    R0, err+96(FP)
+       MOVW    R3, R4
+       CMP     R4, $-1
+       BNE     done
+       BL      addrerrno<>(SB)
+       MOVWZ   0(R3), R3
+       MOVD    R3, err+96(FP)
+done:
+       RET
+
+// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
+TEXT Â·svcCall(SB),NOSPLIT,$0
+       BL      runtime·save_g(SB)   // Save g and stack pointer
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    R15, 0(R9)
+
+       MOVD    argv+8(FP), R1       // Move function arguments into registers
+       MOVD    dsa+16(FP), g
+       MOVD    fnptr+0(FP), R15
+
+       BYTE    $0x0D                // Branch to function
+       BYTE    $0xEF
+
+       BL      runtime·load_g(SB)   // Restore g and stack pointer
+       MOVW    PSALAA, R8
+       MOVD    LCA64(R8), R8
+       MOVD    SAVSTACK_ASYNC(R8), R9
+       MOVD    0(R9), R15
+
+       RET
+
+// func svcLoad(name *byte) unsafe.Pointer
+TEXT Â·svcLoad(SB),NOSPLIT,$0
+       MOVD    R15, R2          // Save go stack pointer
+       MOVD    name+0(FP), R0   // Move SVC args into registers
+       MOVD    $0x80000000, R1
+       MOVD    $0, R15
+       BYTE    $0x0A            // SVC 08 LOAD
+       BYTE    $0x08
+       MOVW    R15, R3          // Save return code from SVC
+       MOVD    R2, R15          // Restore go stack pointer
+       CMP     R3, $0           // Check SVC return code
+       BNE     error
+
+       MOVD    $-2, R3          // Reset last bit of entry point to zero
+       AND     R0, R3
+       MOVD    R3, addr+8(FP)   // Return entry point returned by SVC
+       CMP     R0, R3           // Check if last bit of entry point was set
+       BNE     done
+
+       MOVD    R15, R2          // Save go stack pointer
+       MOVD    $0, R15          // Move SVC args into registers (entry point still in r0 from SVC 08)
+       BYTE    $0x0A            // SVC 09 DELETE
+       BYTE    $0x09
+       MOVD    R2, R15          // Restore go stack pointer
+
+error:
+       MOVD    $0, addr+8(FP)   // Return 0 on failure
+done:
+       XOR     R0, R0           // Reset r0 to 0
+       RET
+
+// func svcUnload(name *byte, fnptr unsafe.Pointer) int64
+TEXT Â·svcUnload(SB),NOSPLIT,$0
+       MOVD    R15, R2          // Save go stack pointer
+       MOVD    name+0(FP), R0   // Move SVC args into registers
+       MOVD    addr+8(FP), R15
+       BYTE    $0x0A            // SVC 09
+       BYTE    $0x09
+       XOR     R0, R0           // Reset r0 to 0
+       MOVD    R15, R1          // Save SVC return code
+       MOVD    R2, R15          // Restore go stack pointer
+       MOVD    R1, rc+0(FP)     // Return SVC return code
+       RET
+
+// func gettid() uint64
+TEXT Â·gettid(SB), NOSPLIT, $0
+       // Get library control area (LCA).
+       MOVW PSALAA, R8
+       MOVD LCA64(R8), R8
+
+       // Get CEECAATHDID
+       MOVD CAA(R8), R9
+       MOVD 0x3D0(R9), R9
+       MOVD R9, ret+0(FP)
+
+       RET
index df5204877378c349252b53d796dd3cd9547daeef..0b7c6adb8661787f4f25485fb74dd2edce960549 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build freebsd
 // +build freebsd
 
 package unix
index 3a6ac648dd5965584abf4afcc97c417b4bc8792f..394a3965b68d5922ff69755d37d08174f761bd53 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 package unix
 
index 5e5fb451044aaba62809c8e3c4e1d45894b05b8f..65a998508db406e2d660b45a9d1c6d4746754751 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix
-// +build ppc
+//go:build aix && ppc
+// +build aix,ppc
 
 // Functions to access/create device major and minor numbers matching the
 // encoding used by AIX.
index 8b401244c419c3e77c0164cced93dba0fa910818..8fc08ad0aae26641284718acde7827950757fedc 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix
-// +build ppc64
+//go:build aix && ppc64
+// +build aix,ppc64
 
 // Functions to access/create device major and minor numbers matching the
 // encoding used AIX.
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/dev_zos.go b/src/cmd/vendor/golang.org/x/sys/unix/dev_zos.go
new file mode 100644 (file)
index 0000000..a388e59
--- /dev/null
@@ -0,0 +1,29 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used by z/OS.
+//
+// The information below is extracted and adapted from <sys/stat.h> macros.
+
+package unix
+
+// Major returns the major component of a z/OS device number.
+func Major(dev uint64) uint32 {
+       return uint32((dev >> 16) & 0x0000FFFF)
+}
+
+// Minor returns the minor component of a z/OS device number.
+func Minor(dev uint64) uint32 {
+       return uint32(dev & 0x0000FFFF)
+}
+
+// Mkdev returns a z/OS device number generated from the given major and minor
+// components.
+func Mkdev(major, minor uint32) uint64 {
+       return (uint64(major) << 16) | uint64(minor)
+}
index 304016b6886813fc72f7c77a6242750893eab0a8..e74e5eaa3bfea15ab931dea8f10bc549b26064a4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
index 86781eac2210d76eaeb17091cf5b47f253d7721b..a52026557681967851e2d1c1c8f6ee041a0f3a3e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 //
+//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
 // +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64
 
 package unix
index 8822d8541f23c8173f8a7a4408a0ca39db240c48..4362f47e2c003aa254abfcf329fdb139225a558b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 //
+//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
 // +build 386 amd64 amd64p32 alpha arm arm64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
 
 package unix
index 84178b0a134a9d425f7aa7c0c55c9fada0b86614..29ccc4d1334c48ac92a47102c30e68d0bc4636fb 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 // Unix environment variables.
 
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/epoll_zos.go b/src/cmd/vendor/golang.org/x/sys/unix/epoll_zos.go
new file mode 100644 (file)
index 0000000..cedaf7e
--- /dev/null
@@ -0,0 +1,221 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+import (
+       "sync"
+)
+
+// This file simulates epoll on z/OS using poll.
+
+// Analogous to epoll_event on Linux.
+// TODO(neeilan): Pad is because the Linux kernel expects a 96-bit struct. We never pass this to the kernel; remove?
+type EpollEvent struct {
+       Events uint32
+       Fd     int32
+       Pad    int32
+}
+
+const (
+       EPOLLERR      = 0x8
+       EPOLLHUP      = 0x10
+       EPOLLIN       = 0x1
+       EPOLLMSG      = 0x400
+       EPOLLOUT      = 0x4
+       EPOLLPRI      = 0x2
+       EPOLLRDBAND   = 0x80
+       EPOLLRDNORM   = 0x40
+       EPOLLWRBAND   = 0x200
+       EPOLLWRNORM   = 0x100
+       EPOLL_CTL_ADD = 0x1
+       EPOLL_CTL_DEL = 0x2
+       EPOLL_CTL_MOD = 0x3
+       // The following constants are part of the epoll API, but represent
+       // currently unsupported functionality on z/OS.
+       // EPOLL_CLOEXEC  = 0x80000
+       // EPOLLET        = 0x80000000
+       // EPOLLONESHOT   = 0x40000000
+       // EPOLLRDHUP     = 0x2000     // Typically used with edge-triggered notis
+       // EPOLLEXCLUSIVE = 0x10000000 // Exclusive wake-up mode
+       // EPOLLWAKEUP    = 0x20000000 // Relies on Linux's BLOCK_SUSPEND capability
+)
+
+// TODO(neeilan): We can eliminate these epToPoll / pToEpoll calls by using identical mask values for POLL/EPOLL
+// constants where possible The lower 16 bits of epoll events (uint32) can fit any system poll event (int16).
+
+// epToPollEvt converts epoll event field to poll equivalent.
+// In epoll, Events is a 32-bit field, while poll uses 16 bits.
+func epToPollEvt(events uint32) int16 {
+       var ep2p = map[uint32]int16{
+               EPOLLIN:  POLLIN,
+               EPOLLOUT: POLLOUT,
+               EPOLLHUP: POLLHUP,
+               EPOLLPRI: POLLPRI,
+               EPOLLERR: POLLERR,
+       }
+
+       var pollEvts int16 = 0
+       for epEvt, pEvt := range ep2p {
+               if (events & epEvt) != 0 {
+                       pollEvts |= pEvt
+               }
+       }
+
+       return pollEvts
+}
+
+// pToEpollEvt converts 16 bit poll event bitfields to 32-bit epoll event fields.
+func pToEpollEvt(revents int16) uint32 {
+       var p2ep = map[int16]uint32{
+               POLLIN:  EPOLLIN,
+               POLLOUT: EPOLLOUT,
+               POLLHUP: EPOLLHUP,
+               POLLPRI: EPOLLPRI,
+               POLLERR: EPOLLERR,
+       }
+
+       var epollEvts uint32 = 0
+       for pEvt, epEvt := range p2ep {
+               if (revents & pEvt) != 0 {
+                       epollEvts |= epEvt
+               }
+       }
+
+       return epollEvts
+}
+
+// Per-process epoll implementation.
+type epollImpl struct {
+       mu       sync.Mutex
+       epfd2ep  map[int]*eventPoll
+       nextEpfd int
+}
+
+// eventPoll holds a set of file descriptors being watched by the process. A process can have multiple epoll instances.
+// On Linux, this is an in-kernel data structure accessed through a fd.
+type eventPoll struct {
+       mu  sync.Mutex
+       fds map[int]*EpollEvent
+}
+
+// epoll impl for this process.
+var impl epollImpl = epollImpl{
+       epfd2ep:  make(map[int]*eventPoll),
+       nextEpfd: 0,
+}
+
+func (e *epollImpl) epollcreate(size int) (epfd int, err error) {
+       e.mu.Lock()
+       defer e.mu.Unlock()
+       epfd = e.nextEpfd
+       e.nextEpfd++
+
+       e.epfd2ep[epfd] = &eventPoll{
+               fds: make(map[int]*EpollEvent),
+       }
+       return epfd, nil
+}
+
+func (e *epollImpl) epollcreate1(flag int) (fd int, err error) {
+       return e.epollcreate(4)
+}
+
+func (e *epollImpl) epollctl(epfd int, op int, fd int, event *EpollEvent) (err error) {
+       e.mu.Lock()
+       defer e.mu.Unlock()
+
+       ep, ok := e.epfd2ep[epfd]
+       if !ok {
+
+               return EBADF
+       }
+
+       switch op {
+       case EPOLL_CTL_ADD:
+               // TODO(neeilan): When we make epfds and fds disjoint, detect epoll
+               // loops here (instances watching each other) and return ELOOP.
+               if _, ok := ep.fds[fd]; ok {
+                       return EEXIST
+               }
+               ep.fds[fd] = event
+       case EPOLL_CTL_MOD:
+               if _, ok := ep.fds[fd]; !ok {
+                       return ENOENT
+               }
+               ep.fds[fd] = event
+       case EPOLL_CTL_DEL:
+               if _, ok := ep.fds[fd]; !ok {
+                       return ENOENT
+               }
+               delete(ep.fds, fd)
+
+       }
+       return nil
+}
+
+// Must be called while holding ep.mu
+func (ep *eventPoll) getFds() []int {
+       fds := make([]int, len(ep.fds))
+       for fd := range ep.fds {
+               fds = append(fds, fd)
+       }
+       return fds
+}
+
+func (e *epollImpl) epollwait(epfd int, events []EpollEvent, msec int) (n int, err error) {
+       e.mu.Lock() // in [rare] case of concurrent epollcreate + epollwait
+       ep, ok := e.epfd2ep[epfd]
+
+       if !ok {
+               e.mu.Unlock()
+               return 0, EBADF
+       }
+
+       pollfds := make([]PollFd, 4)
+       for fd, epollevt := range ep.fds {
+               pollfds = append(pollfds, PollFd{Fd: int32(fd), Events: epToPollEvt(epollevt.Events)})
+       }
+       e.mu.Unlock()
+
+       n, err = Poll(pollfds, msec)
+       if err != nil {
+               return n, err
+       }
+
+       i := 0
+       for _, pFd := range pollfds {
+               if pFd.Revents != 0 {
+                       events[i] = EpollEvent{Fd: pFd.Fd, Events: pToEpollEvt(pFd.Revents)}
+                       i++
+               }
+
+               if i == n {
+                       break
+               }
+       }
+
+       return n, nil
+}
+
+func EpollCreate(size int) (fd int, err error) {
+       return impl.epollcreate(size)
+}
+
+func EpollCreate1(flag int) (fd int, err error) {
+       return impl.epollcreate1(flag)
+}
+
+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
+       return impl.epollctl(epfd, op, fd, event)
+}
+
+// Because EpollWait mutates events, the caller is expected to coordinate
+// concurrent access if calling with the same epfd from multiple goroutines.
+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
+       return impl.epollwait(epfd, events, msec)
+}
index 4dc5348643653ae75d12d8f0ac5bbc0ae9af25c1..e9b991258c18da5e166adc8d97d5995d7080edcf 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build dragonfly || freebsd || linux || netbsd || openbsd
 // +build dragonfly freebsd linux netbsd openbsd
 
 package unix
index 8db48e5e0626677412465377cd3474f5588d5fdc..cb0dfbd09a04615e2149f3f00b17f8c86680c9b8 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle)
 // +build linux,386 linux,arm linux,mips linux,mipsle
 
 package unix
index b27be0a014c9f0521233276ea3d3e38701e51e5d..b1e07b22023d48340669f7d5ec78f146f7fb9dfe 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/src/cmd/vendor/golang.org/x/sys/unix/fstatfs_zos.go
new file mode 100644 (file)
index 0000000..e377cc9
--- /dev/null
@@ -0,0 +1,164 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+import (
+       "unsafe"
+)
+
+// This file simulates fstatfs on z/OS using fstatvfs and w_getmntent.
+
+func Fstatfs(fd int, stat *Statfs_t) (err error) {
+       var stat_v Statvfs_t
+       err = Fstatvfs(fd, &stat_v)
+       if err == nil {
+               // populate stat
+               stat.Type = 0
+               stat.Bsize = stat_v.Bsize
+               stat.Blocks = stat_v.Blocks
+               stat.Bfree = stat_v.Bfree
+               stat.Bavail = stat_v.Bavail
+               stat.Files = stat_v.Files
+               stat.Ffree = stat_v.Ffree
+               stat.Fsid = stat_v.Fsid
+               stat.Namelen = stat_v.Namemax
+               stat.Frsize = stat_v.Frsize
+               stat.Flags = stat_v.Flag
+               for passn := 0; passn < 5; passn++ {
+                       switch passn {
+                       case 0:
+                               err = tryGetmntent64(stat)
+                               break
+                       case 1:
+                               err = tryGetmntent128(stat)
+                               break
+                       case 2:
+                               err = tryGetmntent256(stat)
+                               break
+                       case 3:
+                               err = tryGetmntent512(stat)
+                               break
+                       case 4:
+                               err = tryGetmntent1024(stat)
+                               break
+                       default:
+                               break
+                       }
+                       //proceed to return if: err is nil (found), err is nonnil but not ERANGE (another error occurred)
+                       if err == nil || err != nil && err != ERANGE {
+                               break
+                       }
+               }
+       }
+       return err
+}
+
+func tryGetmntent64(stat *Statfs_t) (err error) {
+       var mnt_ent_buffer struct {
+               header       W_Mnth
+               filesys_info [64]W_Mntent
+       }
+       var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer))
+       fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size)
+       if err != nil {
+               return err
+       }
+       err = ERANGE //return ERANGE if no match is found in this batch
+       for i := 0; i < fs_count; i++ {
+               if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) {
+                       stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0])
+                       err = nil
+                       break
+               }
+       }
+       return err
+}
+
+func tryGetmntent128(stat *Statfs_t) (err error) {
+       var mnt_ent_buffer struct {
+               header       W_Mnth
+               filesys_info [128]W_Mntent
+       }
+       var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer))
+       fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size)
+       if err != nil {
+               return err
+       }
+       err = ERANGE //return ERANGE if no match is found in this batch
+       for i := 0; i < fs_count; i++ {
+               if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) {
+                       stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0])
+                       err = nil
+                       break
+               }
+       }
+       return err
+}
+
+func tryGetmntent256(stat *Statfs_t) (err error) {
+       var mnt_ent_buffer struct {
+               header       W_Mnth
+               filesys_info [256]W_Mntent
+       }
+       var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer))
+       fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size)
+       if err != nil {
+               return err
+       }
+       err = ERANGE //return ERANGE if no match is found in this batch
+       for i := 0; i < fs_count; i++ {
+               if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) {
+                       stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0])
+                       err = nil
+                       break
+               }
+       }
+       return err
+}
+
+func tryGetmntent512(stat *Statfs_t) (err error) {
+       var mnt_ent_buffer struct {
+               header       W_Mnth
+               filesys_info [512]W_Mntent
+       }
+       var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer))
+       fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size)
+       if err != nil {
+               return err
+       }
+       err = ERANGE //return ERANGE if no match is found in this batch
+       for i := 0; i < fs_count; i++ {
+               if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) {
+                       stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0])
+                       err = nil
+                       break
+               }
+       }
+       return err
+}
+
+func tryGetmntent1024(stat *Statfs_t) (err error) {
+       var mnt_ent_buffer struct {
+               header       W_Mnth
+               filesys_info [1024]W_Mntent
+       }
+       var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer))
+       fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size)
+       if err != nil {
+               return err
+       }
+       err = ERANGE //return ERANGE if no match is found in this batch
+       for i := 0; i < fs_count; i++ {
+               if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) {
+                       stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0])
+                       err = nil
+                       break
+               }
+       }
+       return err
+}
index 86032c11ef39de4e6a2c072b33f91c6de31e2c45..0dee23222ca803f4327364537458b379eb5ac4ba 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build gccgo
-// +build !aix
+//go:build gccgo && !aix
+// +build gccgo,!aix
 
 package unix
 
index 251a977a81130bfeb168d45ff00bd413989a2ede..e60e49a3d9c09b0e29849bf67f04907b6664f84f 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build gccgo && linux && amd64
 // +build gccgo,linux,amd64
 
 package unix
index 5641678613c97438c0883d76744a377783df106a..6c7ad052e6b360a40203877821c3d1b5a85d76d8 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/ioctl_zos.go b/src/cmd/vendor/golang.org/x/sys/unix/ioctl_zos.go
new file mode 100644 (file)
index 0000000..5384e7d
--- /dev/null
@@ -0,0 +1,74 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+import (
+       "runtime"
+       "unsafe"
+)
+
+// ioctl itself should not be exposed directly, but additional get/set
+// functions for specific types are permissible.
+
+// IoctlSetInt performs an ioctl operation which sets an integer value
+// on fd, using the specified request number.
+func IoctlSetInt(fd int, req uint, value int) error {
+       return ioctl(fd, req, uintptr(value))
+}
+
+// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
+//
+// To change fd's window size, the req argument should be TIOCSWINSZ.
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
+       // TODO: if we get the chance, remove the req parameter and
+       // hardcode TIOCSWINSZ.
+       err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
+       runtime.KeepAlive(value)
+       return err
+}
+
+// IoctlSetTermios performs an ioctl on fd with a *Termios.
+//
+// The req value is expected to be TCSETS, TCSETSW, or TCSETSF
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
+       if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) {
+               return ENOSYS
+       }
+       err := Tcsetattr(fd, int(req), value)
+       runtime.KeepAlive(value)
+       return err
+}
+
+// IoctlGetInt performs an ioctl operation which gets an integer value
+// from fd, using the specified request number.
+//
+// A few ioctl requests use the return value as an output parameter;
+// for those, IoctlRetInt should be used instead of this function.
+func IoctlGetInt(fd int, req uint) (int, error) {
+       var value int
+       err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+       return value, err
+}
+
+func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
+       var value Winsize
+       err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+       return &value, err
+}
+
+// IoctlGetTermios performs an ioctl on fd with a *Termios.
+//
+// The req value is expected to be TCGETS
+func IoctlGetTermios(fd int, req uint) (*Termios, error) {
+       var value Termios
+       if req != TCGETS {
+               return &value, ENOSYS
+       }
+       err := Tcgetattr(fd, &value)
+       return &value, err
+}
index ca98cb485ff1ba37aaa25e2381c2f83bffc7ca8b..87f9d1e351efbe7fe4d942cad80d29f10999dff1 100644 (file)
@@ -115,6 +115,7 @@ includes_FreeBSD='
 #include <sys/sched.h>
 #include <sys/select.h>
 #include <sys/socket.h>
+#include <sys/un.h>
 #include <sys/sockio.h>
 #include <sys/stat.h>
 #include <sys/sysctl.h>
@@ -214,6 +215,7 @@ struct ltchars {
 #include <linux/fsverity.h>
 #include <linux/genetlink.h>
 #include <linux/hdreg.h>
+#include <linux/hidraw.h>
 #include <linux/icmpv6.h>
 #include <linux/if.h>
 #include <linux/if_addr.h>
@@ -224,6 +226,7 @@ struct ltchars {
 #include <linux/if_tun.h>
 #include <linux/if_packet.h>
 #include <linux/if_xdp.h>
+#include <linux/input.h>
 #include <linux/kexec.h>
 #include <linux/keyctl.h>
 #include <linux/loop.h>
@@ -300,6 +303,17 @@ struct ltchars {
 // Including linux/l2tp.h here causes conflicts between linux/in.h
 // and netinet/in.h included via net/route.h above.
 #define IPPROTO_L2TP           115
+
+// Copied from linux/hid.h.
+// Keep in sync with the size of the referenced fields.
+#define _HIDIOCGRAWNAME_LEN    128 // sizeof_field(struct hid_device, name)
+#define _HIDIOCGRAWPHYS_LEN    64  // sizeof_field(struct hid_device, phys)
+#define _HIDIOCGRAWUNIQ_LEN    64  // sizeof_field(struct hid_device, uniq)
+
+#define _HIDIOCGRAWNAME                HIDIOCGRAWNAME(_HIDIOCGRAWNAME_LEN)
+#define _HIDIOCGRAWPHYS                HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN)
+#define _HIDIOCGRAWUNIQ                HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN)
+
 '
 
 includes_NetBSD='
@@ -447,6 +461,8 @@ ccflags="$@"
                $2 !~ /^EPROC_/ &&
                $2 !~ /^EQUIV_/ &&
                $2 !~ /^EXPR_/ &&
+               $2 !~ /^EVIOC/ &&
+               $2 !~ /^EV_/ &&
                $2 ~ /^E[A-Z0-9_]+$/ ||
                $2 ~ /^B[0-9_]+$/ ||
                $2 ~ /^(OLD|NEW)DEV$/ ||
@@ -481,7 +497,7 @@ ccflags="$@"
                $2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
                $2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
                $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
-               $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
+               $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
                $2 ~ /^TP_STATUS_/ ||
                $2 ~ /^FALLOC_/ ||
                $2 == "ICMPV6_FILTER" ||
@@ -571,6 +587,9 @@ ccflags="$@"
                $2 ~ /^W[A-Z0-9]+$/ ||
                $2 ~/^PPPIOC/ ||
                $2 ~ /^FAN_|FANOTIFY_/ ||
+               $2 == "HID_MAX_DESCRIPTOR_SIZE" ||
+               $2 ~ /^_?HIDIOC/ ||
+               $2 ~ /^BUS_(USB|HIL|BLUETOOTH|VIRTUAL)$/ ||
                $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
                $2 ~ /^__WCOREFLAG$/ {next}
                $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
@@ -608,6 +627,7 @@ echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
 echo '// mkerrors.sh' "$@"
 echo '// Code generated by the command above; see README.md. DO NOT EDIT.'
 echo
+echo "//go:build ${GOARCH} && ${GOOS}"
 echo "// +build ${GOARCH},${GOOS}"
 echo
 go tool cgo -godefs -- "$@" _const.go >_error.out
index bc2f3629a7a95c223ac63e8df1f611660d8327e8..53f1b4c5b81ef25396fac86d3cc13bb55e34138e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // For Unix, get the pagesize from the runtime.
index fc568b5403e69a08d34235d7c5a237ec78ea8562..463c3eff7fd27170757f9eb8d3d74bcd87f16fea 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin && !ios
 // +build darwin,!ios
 
 package unix
index 183441c9a53141021b06c704e75455c548a416fa..ed0509a0117c413d554d211fe2b313f4bbf52626 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build ios
 // +build ios
 
 package unix
index 61712b51c9652819a0c3bdf3c9e9b498195459c1..6f6c5fec5ae386d493e3d3d1f8a5a3d4602a6e7b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build (darwin && race) || (linux && race) || (freebsd && race)
 // +build darwin,race linux,race freebsd,race
 
 package unix
index ad026678c7ca9d13c30922211d9ac1c1c5394d5f..706e1322ae4161956adfd84e5a6a2a62ddfe6da6 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly
+//go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
+// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos
 
 package unix
 
index 3a90aa6dfaeb37802361f37ad80efc848e6ab490..4d6257569ea8d20be6127cc0acf5a05f3cdcd8ef 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || dragonfly || freebsd || linux || netbsd || openbsd
 // +build aix dragonfly freebsd linux netbsd openbsd
 
 package unix
index 5fdae40b3a8ec3818f987869caa83c81350831a5..2a4ba47c45b4c708f5f65c349f13cd465282f05a 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin
 // +build darwin
 
 package unix
index 003916ed7a0fae575b7eb681c2f1b1b60300ad2b..453a942c5db30d44f695bc47890e6f843c5d5fb3 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 // Socket control messages
 
index 57a0021da55fc76dac365414f4314e200ed25ec8..0840fe4a57491013b633e989733d44961bb38f53 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin freebsd linux netbsd openbsd solaris zos
 
 package unix
 
@@ -36,6 +37,10 @@ func cmsgAlignOf(salen int) int {
                if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" {
                        salign = 16
                }
+       case "zos":
+               // z/OS socket macros use [32-bit] sizeof(int) alignment,
+               // not pointer width.
+               salign = SizeofInt
        }
 
        return (salen + salign - 1) & ^(salign - 1)
index 17fb698683132287d9f81b1d81462dc61df6be73..8ba89ed8694f46b545cc2f5612667353cdbd03c6 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
index ab75ef9cc621e3daea9d817a96279c2097fbc09d..649fa87405d16df8d0ead218500132f7e43b02f6 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 // Package unix contains an interface to the low-level operating system
 // primitives. OS details vary depending on the underlying system, and
index 423dcced7ef7730e71ed7782db667ee75681d40a..d2723225ec58f0b533e5592128c69530fbe71ec5 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix
 // +build aix
 
 // Aix system calls.
index b3c8e3301ce61c7b11150e749a59596b3ac58ff6..e92a0be1630c7ab433ed63fac952507746496836 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix
-// +build ppc
+//go:build aix && ppc
+// +build aix,ppc
 
 package unix
 
index 9a6e024179daa46a72da7b6c0324b872c3be2bd6..16eed17098e5fffda7bc80a6357044605088c17c 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix
-// +build ppc64
+//go:build aix && ppc64
+// +build aix,ppc64
 
 package unix
 
index 678fb27777a7a0800a83fd8340500a70a200c489..95ac3946b5cc1ca30b1c16fbd1aab8aeaedc6541 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 // BSD system call wrappers shared by *BSD based systems
index b31ef035881268585a440b31381ff6af4b51b1de..b0098607c7067556cfef13e11a4dfece0e045e87 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin && go1.12 && !go1.13
 // +build darwin,go1.12,!go1.13
 
 package unix
index ee852f1abc5a5a535ad48e6d4e3af94fe00578ed..5fc3cda6fc83546adf5358bd924f6bb03ea23b68 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin && go1.13
 // +build darwin,go1.13
 
 package unix
index e771a3c5efb61ca064d23bc73ad7a4d17ebdacb7..1223d7aed1c7a5e1e68832932571cb5fd122bbe3 100644 (file)
@@ -382,7 +382,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 // The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively.
 func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
        x := new(Xucred)
-       vallen := _Socklen(unsafe.Sizeof(Xucred{}))
+       vallen := _Socklen(SizeofXucred)
        err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen)
        return x, err
 }
index ee065fcf2da979c7d2feb5cc87c4408fee3397b6..647467712265f21e4c39de4cd2fc31d30275d963 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 && darwin
 // +build 386,darwin
 
 package unix
index 7a1f64a7b6b4a5a62a5529f670f277d3109c8ff2..b37310ce9b4050559d83f3b906d50fbca8a8f815 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && darwin
 // +build amd64,darwin
 
 package unix
index 9f85fd4046ea80eba82039d0ba605966f92d5998..d51ec996304e7c3d19b2e44c37abd987127ad540 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm64 && darwin
 // +build arm64,darwin
 
 package unix
index f34c86c899ac2759a063b230f1351b62dc762261..38bec300262728d191e00c347199c2af6a167595 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin && go1.12
 // +build darwin,go1.12
 
 package unix
index 474141b625d29fbb9f0f213a139763006df0ab63..5af108a50385ecc31c864aa3558a215f0fcf6f58 100644 (file)
@@ -105,13 +105,16 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb        pipe2(flags int) (r int, w int, err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (r int, w int, err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
                return EINVAL
        }
-       p[0], p[1], err = pipe2(flags)
+       var pp [2]_C_int
+       // pipe2 on dragonfly takes an fds array as an argument, but still
+       // returns the file descriptors.
+       p[0], p[1], err = pipe2(&pp, flags)
        return err
 }
 
index a6b4830ac8a5005804ac9a385f4d3ef7bc310319..4e2d32120a894219cddfb2ba9c6ae0fe74740634 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && dragonfly
 // +build amd64,dragonfly
 
 package unix
index 15af63dd5526426d157d055de181ecd944d53ddc..18c392cf3692ff01a3470e5c4925c425bda93a90 100644 (file)
@@ -126,6 +126,15 @@ func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
        return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
 }
 
+// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct.
+// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively.
+func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
+       x := new(Xucred)
+       vallen := _Socklen(SizeofXucred)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen)
+       return x, err
+}
+
 func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
        var rsa RawSockaddrAny
        var len _Socklen = SizeofSockaddrAny
index 72a506ddcb5d7cae1c764d02b3b5acf519a05762..342fc32b1686a2d8d6cfe7e8958735e7c6aae30c 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 && freebsd
 // +build 386,freebsd
 
 package unix
index d5e376acaeac269372cdbf98d936f4006c973167..a32d5aa4aed44564ea32ac4395b7b4c750d7ca10 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && freebsd
 // +build amd64,freebsd
 
 package unix
index 4ea45bce52b0062786b9f521d2a72a2884bed747..1e36d39abe0189642fa4aeb8824ed20528aff15b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm && freebsd
 // +build arm,freebsd
 
 package unix
index aa5326db193d45e0ca3bec2ca825370e83e0b32d..a09a1537bd6f3d9e0a3fa6211073866905f70762 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm64 && freebsd
 // +build arm64,freebsd
 
 package unix
index 7a2d4120fc0816b17cda8251b24e15d5ae07e6b6..bc442e3bace9d4d93b383f889d797e8717cb10d2 100644 (file)
@@ -4,6 +4,7 @@
 
 // illumos system calls not present on Solaris.
 
+//go:build amd64 && illumos
 // +build amd64,illumos
 
 package unix
index 1b210357000afd6ff05e6b206deaf50e8e87773a..0a48548e80f31aa9052f3df995ceccab99f711a5 100644 (file)
@@ -137,12 +137,61 @@ func IoctlFileClone(destFd, srcFd int) error {
        return ioctl(destFd, FICLONE, uintptr(srcFd))
 }
 
+type FileDedupeRange struct {
+       Src_offset uint64
+       Src_length uint64
+       Reserved1  uint16
+       Reserved2  uint32
+       Info       []FileDedupeRangeInfo
+}
+
+type FileDedupeRangeInfo struct {
+       Dest_fd       int64
+       Dest_offset   uint64
+       Bytes_deduped uint64
+       Status        int32
+       Reserved      uint32
+}
+
 // IoctlFileDedupeRange performs an FIDEDUPERANGE ioctl operation to share the
-// range of data conveyed in value with the file associated with the file
-// descriptor destFd. See the ioctl_fideduperange(2) man page for details.
-func IoctlFileDedupeRange(destFd int, value *FileDedupeRange) error {
-       err := ioctl(destFd, FIDEDUPERANGE, uintptr(unsafe.Pointer(value)))
-       runtime.KeepAlive(value)
+// range of data conveyed in value from the file associated with the file
+// descriptor srcFd to the value.Info destinations. See the
+// ioctl_fideduperange(2) man page for details.
+func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error {
+       buf := make([]byte, SizeofRawFileDedupeRange+
+               len(value.Info)*SizeofRawFileDedupeRangeInfo)
+       rawrange := (*RawFileDedupeRange)(unsafe.Pointer(&buf[0]))
+       rawrange.Src_offset = value.Src_offset
+       rawrange.Src_length = value.Src_length
+       rawrange.Dest_count = uint16(len(value.Info))
+       rawrange.Reserved1 = value.Reserved1
+       rawrange.Reserved2 = value.Reserved2
+
+       for i := range value.Info {
+               rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer(
+                       uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) +
+                               uintptr(i*SizeofRawFileDedupeRangeInfo)))
+               rawinfo.Dest_fd = value.Info[i].Dest_fd
+               rawinfo.Dest_offset = value.Info[i].Dest_offset
+               rawinfo.Bytes_deduped = value.Info[i].Bytes_deduped
+               rawinfo.Status = value.Info[i].Status
+               rawinfo.Reserved = value.Info[i].Reserved
+       }
+
+       err := ioctl(srcFd, FIDEDUPERANGE, uintptr(unsafe.Pointer(&buf[0])))
+
+       // Output
+       for i := range value.Info {
+               rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer(
+                       uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) +
+                               uintptr(i*SizeofRawFileDedupeRangeInfo)))
+               value.Info[i].Dest_fd = rawinfo.Dest_fd
+               value.Info[i].Dest_offset = rawinfo.Dest_offset
+               value.Info[i].Bytes_deduped = rawinfo.Bytes_deduped
+               value.Info[i].Status = rawinfo.Status
+               value.Info[i].Reserved = rawinfo.Reserved
+       }
+
        return err
 }
 
@@ -153,6 +202,36 @@ func IoctlWatchdogKeepalive(fd int) error {
        return ioctl(fd, WDIOC_KEEPALIVE, 0)
 }
 
+func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error {
+       err := ioctl(fd, HIDIOCGRDESC, uintptr(unsafe.Pointer(value)))
+       runtime.KeepAlive(value)
+       return err
+}
+
+func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) {
+       var value HIDRawDevInfo
+       err := ioctl(fd, HIDIOCGRAWINFO, uintptr(unsafe.Pointer(&value)))
+       return &value, err
+}
+
+func IoctlHIDGetRawName(fd int) (string, error) {
+       var value [_HIDIOCGRAWNAME_LEN]byte
+       err := ioctl(fd, _HIDIOCGRAWNAME, uintptr(unsafe.Pointer(&value[0])))
+       return ByteSliceToString(value[:]), err
+}
+
+func IoctlHIDGetRawPhys(fd int) (string, error) {
+       var value [_HIDIOCGRAWPHYS_LEN]byte
+       err := ioctl(fd, _HIDIOCGRAWPHYS, uintptr(unsafe.Pointer(&value[0])))
+       return ByteSliceToString(value[:]), err
+}
+
+func IoctlHIDGetRawUniq(fd int) (string, error) {
+       var value [_HIDIOCGRAWUNIQ_LEN]byte
+       err := ioctl(fd, _HIDIOCGRAWUNIQ, uintptr(unsafe.Pointer(&value[0])))
+       return ByteSliceToString(value[:]), err
+}
+
 //sys  Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
 
 func Link(oldpath string, newpath string) (err error) {
index 70e61bd5db41fb1e28ca7a43cbdd201b4b22d959..7b52e5d8a40a9275989a128ee4baa60be0cffde6 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 && linux
 // +build 386,linux
 
 package unix
index 4be2acd32bde323a61b87ba6906164dbd8b14a8f..28b76411522f9a3f5d18ee91989f60b32c942ae4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && linux
 // +build amd64,linux
 
 package unix
index baa771f8ad98201372e9795744297d3d5913d551..8b0f0f3aa56845acf7d9218852557e26b428dbac 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build amd64,linux
-// +build gc
+//go:build amd64 && linux && gc
+// +build amd64,linux,gc
 
 package unix
 
index 322b8e0fb90c6aee7454a67ef5b2a4a45b7de4b8..68877728ec60c92d00388fd1297ee74643bf5303 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm && linux
 // +build arm,linux
 
 package unix
index 9315cf415b75a0fa5a0833e35e23820a22413e06..7ed7034761c51585c413aebe6ca9e76e3aaa15ac 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm64 && linux
 // +build arm64,linux
 
 package unix
index 9edf3961b010c9e025f94cba55b0fe98db5d7ed8..2b1168d7d19fee998761672740f3fd783536794d 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && gc
 // +build linux,gc
 
 package unix
index 90e33d8cf751ad856299b720f5ba9a2e583ec013..9843fb4896018824ddd8ec91dbf2c1868a4ccb7c 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && gc && 386
 // +build linux,gc,386
 
 package unix
index 1a97baae732ece19edebf90095586b42bfcfcd41..a6008fccd59dd7c48990ee2c48bfe181aa32cc67 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm && gc && linux
 // +build arm,gc,linux
 
 package unix
index 308eb7aecfa876129ee13fd1ab032cf033ee8692..7740af2428be459d555204e07f44afae6a1888b3 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && gccgo && 386
 // +build linux,gccgo,386
 
 package unix
index aa7fc9e19975d204fb7d082279d03a41bd26cd73..e16a12299aea6b040f0dbc5f9a22175cf1271fab 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && gccgo && arm
 // +build linux,gccgo,arm
 
 package unix
index 5fc8a47f4148f96e29df63f99f62ecaa7569ff1b..06dec06fa194b43d23a23c20a67cb48e86b634c5 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (mips64 || mips64le)
 // +build linux
 // +build mips64 mips64le
 
index 20b9825f87b08aab90e768d9230604b3c49c8e8a..8f0d0a5b592a3e723b982f7902b27e8aa5e5655e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (mips || mipsle)
 // +build linux
 // +build mips mipsle
 
index 5162c39b0e125f0b8000d828ea2365e6e788051c..0b1f0d6da5799b66db6462c16469059c634b9f7b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (ppc64 || ppc64le)
 // +build linux
 // +build ppc64 ppc64le
 
index a6a66ece0995c2c00b01cf916ad73c8c09640b14..ce9bcd31717ab2de5424f195d3a922dbdb80e0f4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build riscv64 && linux
 // +build riscv64,linux
 
 package unix
index fcef0d1daf96dea29ef8a0f59367af800f2b62a7..a941d888150138a17a7776899a294731c20ea5ee 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build s390x && linux
 // +build s390x,linux
 
 package unix
index 3b88044830184595d16ecabe21e2806e618ba887..49055a3cf51bfa17e818ba0f0075894928cc11ba 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build sparc64 && linux
 // +build sparc64,linux
 
 package unix
index 24da8b52454875c994a085a92c2911d44a5713b8..5199d282fd0d2fb0b04b5fff455af53a387636f4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 && netbsd
 // +build 386,netbsd
 
 package unix
index 25a0ac82589a246f6bf8ee78aa51851454f6b5b6..70a9c52e980179a7ea689971e52fcbb41c59d56b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && netbsd
 // +build amd64,netbsd
 
 package unix
index 21591ecd4d11c0d47fbefe3eb2074a37737588bd..3eb5942f93ff4d9acffa0589d7461a6a05360b0d 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm && netbsd
 // +build arm,netbsd
 
 package unix
index 804749635008bbe027f891ceaa6196f26e6f2b0c..fc6ccfd810d9566d8b6aecca86a0e9d4eabb66a5 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm64 && netbsd
 // +build arm64,netbsd
 
 package unix
index 42b5a0e51e8c80b4bdcf17e909e6bf1e824e7366..6baabcdcb0696212a7765d7fe1bd11369aa108b6 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 && openbsd
 // +build 386,openbsd
 
 package unix
index 6ea4b48831b27637f3e2d58df2b0222b5c71c276..bab25360eae33225903e741f3a3042bf2a65e129 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && openbsd
 // +build amd64,openbsd
 
 package unix
index 1c3d26fa2c9f4f0fc8858261fbb236328f6cb204..8eed3c4d4e7c2b65c4522eca11a89ec300807060 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm && openbsd
 // +build arm,openbsd
 
 package unix
index a8c458cb031ec241bb4b2ce7b20dde2b32f9149d..483dde99d4c63c00066d4f4c531b314fb118c3b9 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build arm64 && openbsd
 // +build arm64,openbsd
 
 package unix
index b22a34d7ae97214e956a65ac1eff7ffd16dca849..0bd25ef81f202f2c2ee73ca98c5e0ddff06371a2 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build amd64 && solaris
 // +build amd64,solaris
 
 package unix
index 400ba9fbc904341babd135fc29f59fac13e0a633..a7618ceb55e360d9c94a5ca7ee02b15c7bfdfc38 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
index 87bd161cefc9891fd57320fbab99b51c691b4f53..5898e9a52b752ca96ad49200bfab7e6d62b6d6d6 100644 (file)
@@ -2,8 +2,11 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris) && gc && !ppc64le && !ppc64
 // +build darwin dragonfly freebsd linux netbsd openbsd solaris
-// +build gc,!ppc64le,!ppc64
+// +build gc
+// +build !ppc64le
+// +build !ppc64
 
 package unix
 
index d36216c3ca73a722f53e27f9674f6f40dce0ef85..f6f707acf2c334e05f2f5716768398be50aaeaeb 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (ppc64le || ppc64) && gc
 // +build linux
 // +build ppc64le ppc64
 // +build gc
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
new file mode 100644 (file)
index 0000000..13f58d2
--- /dev/null
@@ -0,0 +1,1781 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+import (
+       "bytes"
+       "runtime"
+       "sort"
+       "sync"
+       "syscall"
+       "unsafe"
+)
+
+const (
+       O_CLOEXEC = 0       // Dummy value (not supported).
+       AF_LOCAL  = AF_UNIX // AF_LOCAL is an alias for AF_UNIX
+)
+
+func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
+func syscall_rawsyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
+func syscall_syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
+func syscall_rawsyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
+func syscall_syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
+func syscall_rawsyscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
+
+func copyStat(stat *Stat_t, statLE *Stat_LE_t) {
+       stat.Dev = uint64(statLE.Dev)
+       stat.Ino = uint64(statLE.Ino)
+       stat.Nlink = uint64(statLE.Nlink)
+       stat.Mode = uint32(statLE.Mode)
+       stat.Uid = uint32(statLE.Uid)
+       stat.Gid = uint32(statLE.Gid)
+       stat.Rdev = uint64(statLE.Rdev)
+       stat.Size = statLE.Size
+       stat.Atim.Sec = int64(statLE.Atim)
+       stat.Atim.Nsec = 0 //zos doesn't return nanoseconds
+       stat.Mtim.Sec = int64(statLE.Mtim)
+       stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds
+       stat.Ctim.Sec = int64(statLE.Ctim)
+       stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds
+       stat.Blksize = int64(statLE.Blksize)
+       stat.Blocks = statLE.Blocks
+}
+
+func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
+func svcLoad(name *byte) unsafe.Pointer
+func svcUnload(name *byte, fnptr unsafe.Pointer) int64
+
+func (d *Dirent) NameString() string {
+       if d == nil {
+               return ""
+       }
+       return string(d.Name[:d.Namlen])
+}
+
+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
+       if sa.Port < 0 || sa.Port > 0xFFFF {
+               return nil, 0, EINVAL
+       }
+       sa.raw.Len = SizeofSockaddrInet4
+       sa.raw.Family = AF_INET
+       p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
+       p[0] = byte(sa.Port >> 8)
+       p[1] = byte(sa.Port)
+       for i := 0; i < len(sa.Addr); i++ {
+               sa.raw.Addr[i] = sa.Addr[i]
+       }
+       return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
+}
+
+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
+       if sa.Port < 0 || sa.Port > 0xFFFF {
+               return nil, 0, EINVAL
+       }
+       sa.raw.Len = SizeofSockaddrInet6
+       sa.raw.Family = AF_INET6
+       p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
+       p[0] = byte(sa.Port >> 8)
+       p[1] = byte(sa.Port)
+       sa.raw.Scope_id = sa.ZoneId
+       for i := 0; i < len(sa.Addr); i++ {
+               sa.raw.Addr[i] = sa.Addr[i]
+       }
+       return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
+}
+
+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
+       name := sa.Name
+       n := len(name)
+       if n >= len(sa.raw.Path) || n == 0 {
+               return nil, 0, EINVAL
+       }
+       sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL
+       sa.raw.Family = AF_UNIX
+       for i := 0; i < n; i++ {
+               sa.raw.Path[i] = int8(name[i])
+       }
+       return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
+}
+
+func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
+       // TODO(neeilan): Implement use of first param (fd)
+       switch rsa.Addr.Family {
+       case AF_UNIX:
+               pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
+               sa := new(SockaddrUnix)
+               // For z/OS, only replace NUL with @ when the
+               // length is not zero.
+               if pp.Len != 0 && pp.Path[0] == 0 {
+                       // "Abstract" Unix domain socket.
+                       // Rewrite leading NUL as @ for textual display.
+                       // (This is the standard convention.)
+                       // Not friendly to overwrite in place,
+                       // but the callers below don't care.
+                       pp.Path[0] = '@'
+               }
+
+               // Assume path ends at NUL.
+               //
+               // For z/OS, the length of the name is a field
+               // in the structure. To be on the safe side, we
+               // will still scan the name for a NUL but only
+               // to the length provided in the structure.
+               //
+               // This is not technically the Linux semantics for
+               // abstract Unix domain sockets--they are supposed
+               // to be uninterpreted fixed-size binary blobs--but
+               // everyone uses this convention.
+               n := 0
+               for n < int(pp.Len) && pp.Path[n] != 0 {
+                       n++
+               }
+               bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
+               sa.Name = string(bytes)
+               return sa, nil
+
+       case AF_INET:
+               pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
+               sa := new(SockaddrInet4)
+               p := (*[2]byte)(unsafe.Pointer(&pp.Port))
+               sa.Port = int(p[0])<<8 + int(p[1])
+               for i := 0; i < len(sa.Addr); i++ {
+                       sa.Addr[i] = pp.Addr[i]
+               }
+               return sa, nil
+
+       case AF_INET6:
+               pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
+               sa := new(SockaddrInet6)
+               p := (*[2]byte)(unsafe.Pointer(&pp.Port))
+               sa.Port = int(p[0])<<8 + int(p[1])
+               sa.ZoneId = pp.Scope_id
+               for i := 0; i < len(sa.Addr); i++ {
+                       sa.Addr[i] = pp.Addr[i]
+               }
+               return sa, nil
+       }
+       return nil, EAFNOSUPPORT
+}
+
+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
+       var rsa RawSockaddrAny
+       var len _Socklen = SizeofSockaddrAny
+       nfd, err = accept(fd, &rsa, &len)
+       if err != nil {
+               return
+       }
+       // TODO(neeilan): Remove 0 in call
+       sa, err = anyToSockaddr(0, &rsa)
+       if err != nil {
+               Close(nfd)
+               nfd = 0
+       }
+       return
+}
+
+func (iov *Iovec) SetLen(length int) {
+       iov.Len = uint64(length)
+}
+
+func (msghdr *Msghdr) SetControllen(length int) {
+       msghdr.Controllen = int32(length)
+}
+
+func (cmsg *Cmsghdr) SetLen(length int) {
+       cmsg.Len = int32(length)
+}
+
+//sys   fcntl(fd int, cmd int, arg int) (val int, err error)
+//sys  read(fd int, p []byte) (n int, err error)
+//sys   readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
+//sys  write(fd int, p []byte) (n int, err error)
+
+//sys  accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A
+//sys  bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A
+//sys  connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A
+//sysnb        getgroups(n int, list *_Gid_t) (nn int, err error)
+//sysnb        setgroups(n int, list *_Gid_t) (err error)
+//sys  getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
+//sys  setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
+//sysnb        socket(domain int, typ int, proto int) (fd int, err error)
+//sysnb        socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
+//sysnb        getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETPEERNAME_A
+//sysnb        getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A
+//sys  recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A
+//sys  sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A
+//sys  recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A
+//sys  sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A
+//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP
+//sys   munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP
+//sys   ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
+
+//sys   Access(path string, mode uint32) (err error) = SYS___ACCESS_A
+//sys   Chdir(path string) (err error) = SYS___CHDIR_A
+//sys  Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A
+//sys  Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A
+//sys   Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A
+//sys  Dup(oldfd int) (fd int, err error)
+//sys  Dup2(oldfd int, newfd int) (err error)
+//sys  Exit(code int)
+//sys  Fchdir(fd int) (err error)
+//sys  Fchmod(fd int, mode uint32) (err error)
+//sys  Fchown(fd int, uid int, gid int) (err error)
+//sys  FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL
+//sys  fstat(fd int, stat *Stat_LE_t) (err error)
+
+func Fstat(fd int, stat *Stat_t) (err error) {
+       var statLE Stat_LE_t
+       err = fstat(fd, &statLE)
+       copyStat(stat, &statLE)
+       return
+}
+
+//sys  Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS
+//sys  Fsync(fd int) (err error)
+//sys  Ftruncate(fd int, length int64) (err error)
+//sys   Getpagesize() (pgsize int) = SYS_GETPAGESIZE
+//sys   Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT
+//sys   Msync(b []byte, flags int) (err error) = SYS_MSYNC
+//sys   Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL
+//sys   Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES
+//sys   W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT
+
+//sys   Mount(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A
+//sys   Unmount(filesystem string, mtm int) (err error) = SYS___UMOUNT_A
+//sys   Chroot(path string) (err error) = SYS___CHROOT_A
+//sysnb Uname(buf *Utsname) (err error) = SYS___UNAME_A
+
+func Ptsname(fd int) (name string, err error) {
+       r0, _, e1 := syscall_syscall(SYS___PTSNAME_A, uintptr(fd), 0, 0)
+       name = u2s(unsafe.Pointer(r0))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func u2s(cstr unsafe.Pointer) string {
+       str := (*[1024]uint8)(cstr)
+       i := 0
+       for str[i] != 0 {
+               i++
+       }
+       return string(str[:i])
+}
+
+func Close(fd int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+       for i := 0; e1 == EAGAIN && i < 10; i++ {
+               _, _, _ = syscall_syscall(SYS_USLEEP, uintptr(10), 0, 0)
+               _, _, e1 = syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+       }
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var mapper = &mmapper{
+       active: make(map[*byte][]byte),
+       mmap:   mmap,
+       munmap: munmap,
+}
+
+// Dummy function: there are no semantics for Madvise on z/OS
+func Madvise(b []byte, advice int) (err error) {
+       return
+}
+
+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
+       return mapper.Mmap(fd, offset, length, prot, flags)
+}
+
+func Munmap(b []byte) (err error) {
+       return mapper.Munmap(b)
+}
+
+//sys   Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A
+//sysnb        Getegid() (egid int)
+//sysnb        Geteuid() (uid int)
+//sysnb        Getgid() (gid int)
+//sysnb        Getpid() (pid int)
+//sysnb        Getpgid(pid int) (pgid int, err error) = SYS_GETPGID
+
+func Getpgrp() (pid int) {
+       pid, _ = Getpgid(0)
+       return
+}
+
+//sysnb        Getppid() (pid int)
+//sys  Getpriority(which int, who int) (prio int, err error)
+//sysnb        Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT
+
+//sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE
+
+func Getrusage(who int, rusage *Rusage) (err error) {
+       var ruz rusage_zos
+       err = getrusage(who, &ruz)
+       //Only the first two fields of Rusage are set
+       rusage.Utime.Sec = ruz.Utime.Sec
+       rusage.Utime.Usec = int64(ruz.Utime.Usec)
+       rusage.Stime.Sec = ruz.Stime.Sec
+       rusage.Stime.Usec = int64(ruz.Stime.Usec)
+       return
+}
+
+//sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID
+//sysnb        Getuid() (uid int)
+//sysnb        Kill(pid int, sig Signal) (err error)
+//sys  Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A
+//sys  Link(path string, link string) (err error) = SYS___LINK_A
+//sys  Listen(s int, n int) (err error)
+//sys  lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A
+
+func Lstat(path string, stat *Stat_t) (err error) {
+       var statLE Stat_LE_t
+       err = lstat(path, &statLE)
+       copyStat(stat, &statLE)
+       return
+}
+
+//sys  Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A
+//sys   Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A
+//sys  Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A
+//sys  Pread(fd int, p []byte, offset int64) (n int, err error)
+//sys  Pwrite(fd int, p []byte, offset int64) (n int, err error)
+//sys  Readlink(path string, buf []byte) (n int, err error) = SYS___READLINK_A
+//sys  Rename(from string, to string) (err error) = SYS___RENAME_A
+//sys  Rmdir(path string) (err error) = SYS___RMDIR_A
+//sys   Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
+//sys  Setpriority(which int, who int, prio int) (err error)
+//sysnb        Setpgid(pid int, pgid int) (err error) = SYS_SETPGID
+//sysnb        Setrlimit(resource int, lim *Rlimit) (err error)
+//sysnb        Setregid(rgid int, egid int) (err error) = SYS_SETREGID
+//sysnb        Setreuid(ruid int, euid int) (err error) = SYS_SETREUID
+//sysnb        Setsid() (pid int, err error) = SYS_SETSID
+//sys  Setuid(uid int) (err error) = SYS_SETUID
+//sys  Setgid(uid int) (err error) = SYS_SETGID
+//sys  Shutdown(fd int, how int) (err error)
+//sys  stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A
+
+func Stat(path string, sta *Stat_t) (err error) {
+       var statLE Stat_LE_t
+       err = stat(path, &statLE)
+       copyStat(sta, &statLE)
+       return
+}
+
+//sys  Symlink(path string, link string) (err error) = SYS___SYMLINK_A
+//sys  Sync() = SYS_SYNC
+//sys  Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A
+//sys  Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR
+//sys  Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR
+//sys  Umask(mask int) (oldmask int)
+//sys  Unlink(path string) (err error) = SYS___UNLINK_A
+//sys  Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A
+
+//sys  open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A
+
+func Open(path string, mode int, perm uint32) (fd int, err error) {
+       return open(path, mode, perm)
+}
+
+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
+       wd, err := Getwd()
+       if err != nil {
+               return err
+       }
+
+       if err := Fchdir(dirfd); err != nil {
+               return err
+       }
+       defer Chdir(wd)
+
+       return Mkfifo(path, mode)
+}
+
+//sys  remove(path string) (err error)
+
+func Remove(path string) error {
+       return remove(path)
+}
+
+const ImplementsGetwd = true
+
+func Getcwd(buf []byte) (n int, err error) {
+       var p unsafe.Pointer
+       if len(buf) > 0 {
+               p = unsafe.Pointer(&buf[0])
+       } else {
+               p = unsafe.Pointer(&_zero)
+       }
+       _, _, e := syscall_syscall(SYS___GETCWD_A, uintptr(p), uintptr(len(buf)), 0)
+       n = clen(buf) + 1
+       if e != 0 {
+               err = errnoErr(e)
+       }
+       return
+}
+
+func Getwd() (wd string, err error) {
+       var buf [PathMax]byte
+       n, err := Getcwd(buf[0:])
+       if err != nil {
+               return "", err
+       }
+       // Getcwd returns the number of bytes written to buf, including the NUL.
+       if n < 1 || n > len(buf) || buf[n-1] != 0 {
+               return "", EINVAL
+       }
+       return string(buf[0 : n-1]), nil
+}
+
+func Getgroups() (gids []int, err error) {
+       n, err := getgroups(0, nil)
+       if err != nil {
+               return nil, err
+       }
+       if n == 0 {
+               return nil, nil
+       }
+
+       // Sanity check group count.  Max is 1<<16 on Linux.
+       if n < 0 || n > 1<<20 {
+               return nil, EINVAL
+       }
+
+       a := make([]_Gid_t, n)
+       n, err = getgroups(n, &a[0])
+       if err != nil {
+               return nil, err
+       }
+       gids = make([]int, n)
+       for i, v := range a[0:n] {
+               gids[i] = int(v)
+       }
+       return
+}
+
+func Setgroups(gids []int) (err error) {
+       if len(gids) == 0 {
+               return setgroups(0, nil)
+       }
+
+       a := make([]_Gid_t, len(gids))
+       for i, v := range gids {
+               a[i] = _Gid_t(v)
+       }
+       return setgroups(len(a), &a[0])
+}
+
+func gettid() uint64
+
+func Gettid() (tid int) {
+       return int(gettid())
+}
+
+type WaitStatus uint32
+
+// Wait status is 7 bits at bottom, either 0 (exited),
+// 0x7F (stopped), or a signal number that caused an exit.
+// The 0x80 bit is whether there was a core dump.
+// An extra number (exit code, signal causing a stop)
+// is in the high bits.  At least that's the idea.
+// There are various irregularities.  For example, the
+// "continued" status is 0xFFFF, distinguishing itself
+// from stopped via the core dump bit.
+
+const (
+       mask    = 0x7F
+       core    = 0x80
+       exited  = 0x00
+       stopped = 0x7F
+       shift   = 8
+)
+
+func (w WaitStatus) Exited() bool { return w&mask == exited }
+
+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }
+
+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
+
+func (w WaitStatus) Continued() bool { return w == 0xFFFF }
+
+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
+
+func (w WaitStatus) ExitStatus() int {
+       if !w.Exited() {
+               return -1
+       }
+       return int(w>>shift) & 0xFF
+}
+
+func (w WaitStatus) Signal() Signal {
+       if !w.Signaled() {
+               return -1
+       }
+       return Signal(w & mask)
+}
+
+func (w WaitStatus) StopSignal() Signal {
+       if !w.Stopped() {
+               return -1
+       }
+       return Signal(w>>shift) & 0xFF
+}
+
+func (w WaitStatus) TrapCause() int { return -1 }
+
+//sys  waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error)
+
+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
+       // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want.
+       // At the moment rusage will not be touched.
+       var status _C_int
+       wpid, err = waitpid(pid, &status, options)
+       if wstatus != nil {
+               *wstatus = WaitStatus(status)
+       }
+       return
+}
+
+//sysnb        gettimeofday(tv *timeval_zos) (err error)
+
+func Gettimeofday(tv *Timeval) (err error) {
+       var tvz timeval_zos
+       err = gettimeofday(&tvz)
+       tv.Sec = tvz.Sec
+       tv.Usec = int64(tvz.Usec)
+       return
+}
+
+func Time(t *Time_t) (tt Time_t, err error) {
+       var tv Timeval
+       err = Gettimeofday(&tv)
+       if err != nil {
+               return 0, err
+       }
+       if t != nil {
+               *t = Time_t(tv.Sec)
+       }
+       return Time_t(tv.Sec), nil
+}
+
+func setTimespec(sec, nsec int64) Timespec {
+       return Timespec{Sec: sec, Nsec: nsec}
+}
+
+func setTimeval(sec, usec int64) Timeval { //fix
+       return Timeval{Sec: sec, Usec: usec}
+}
+
+//sysnb pipe(p *[2]_C_int) (err error)
+
+func Pipe(p []int) (err error) {
+       if len(p) != 2 {
+               return EINVAL
+       }
+       var pp [2]_C_int
+       err = pipe(&pp)
+       p[0] = int(pp[0])
+       p[1] = int(pp[1])
+       return
+}
+
+//sys  utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A
+
+func Utimes(path string, tv []Timeval) (err error) {
+       if len(tv) != 2 {
+               return EINVAL
+       }
+       return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
+}
+
+func UtimesNano(path string, ts []Timespec) error {
+       if len(ts) != 2 {
+               return EINVAL
+       }
+       // Not as efficient as it could be because Timespec and
+       // Timeval have different types in the different OSes
+       tv := [2]Timeval{
+               NsecToTimeval(TimespecToNsec(ts[0])),
+               NsecToTimeval(TimespecToNsec(ts[1])),
+       }
+       return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
+}
+
+func Getsockname(fd int) (sa Sockaddr, err error) {
+       var rsa RawSockaddrAny
+       var len _Socklen = SizeofSockaddrAny
+       if err = getsockname(fd, &rsa, &len); err != nil {
+               return
+       }
+       // TODO(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS )
+       return anyToSockaddr(0, &rsa)
+}
+
+const (
+       // identifier constants
+       nwmHeaderIdentifier    = 0xd5e6d4c8
+       nwmFilterIdentifier    = 0xd5e6d4c6
+       nwmTCPConnIdentifier   = 0xd5e6d4c3
+       nwmRecHeaderIdentifier = 0xd5e6d4d9
+       nwmIPStatsIdentifier   = 0xd5e6d4c9d7e2e340
+       nwmIPGStatsIdentifier  = 0xd5e6d4c9d7c7e2e3
+       nwmTCPStatsIdentifier  = 0xd5e6d4e3c3d7e2e3
+       nwmUDPStatsIdentifier  = 0xd5e6d4e4c4d7e2e3
+       nwmICMPGStatsEntry     = 0xd5e6d4c9c3d4d7c7
+       nwmICMPTStatsEntry     = 0xd5e6d4c9c3d4d7e3
+
+       // nwmHeader constants
+       nwmVersion1   = 1
+       nwmVersion2   = 2
+       nwmCurrentVer = 2
+
+       nwmTCPConnType     = 1
+       nwmGlobalStatsType = 14
+
+       // nwmFilter constants
+       nwmFilterLclAddrMask = 0x20000000 // Local address
+       nwmFilterSrcAddrMask = 0x20000000 // Source address
+       nwmFilterLclPortMask = 0x10000000 // Local port
+       nwmFilterSrcPortMask = 0x10000000 // Source port
+
+       // nwmConnEntry constants
+       nwmTCPStateClosed   = 1
+       nwmTCPStateListen   = 2
+       nwmTCPStateSynSent  = 3
+       nwmTCPStateSynRcvd  = 4
+       nwmTCPStateEstab    = 5
+       nwmTCPStateFinWait1 = 6
+       nwmTCPStateFinWait2 = 7
+       nwmTCPStateClosWait = 8
+       nwmTCPStateLastAck  = 9
+       nwmTCPStateClosing  = 10
+       nwmTCPStateTimeWait = 11
+       nwmTCPStateDeletTCB = 12
+
+       // Existing constants on linux
+       BPF_TCP_CLOSE        = 1
+       BPF_TCP_LISTEN       = 2
+       BPF_TCP_SYN_SENT     = 3
+       BPF_TCP_SYN_RECV     = 4
+       BPF_TCP_ESTABLISHED  = 5
+       BPF_TCP_FIN_WAIT1    = 6
+       BPF_TCP_FIN_WAIT2    = 7
+       BPF_TCP_CLOSE_WAIT   = 8
+       BPF_TCP_LAST_ACK     = 9
+       BPF_TCP_CLOSING      = 10
+       BPF_TCP_TIME_WAIT    = 11
+       BPF_TCP_NEW_SYN_RECV = -1
+       BPF_TCP_MAX_STATES   = -2
+)
+
+type nwmTriplet struct {
+       offset uint32
+       length uint32
+       number uint32
+}
+
+type nwmQuadruplet struct {
+       offset uint32
+       length uint32
+       number uint32
+       match  uint32
+}
+
+type nwmHeader struct {
+       ident       uint32
+       length      uint32
+       version     uint16
+       nwmType     uint16
+       bytesNeeded uint32
+       options     uint32
+       _           [16]byte
+       inputDesc   nwmTriplet
+       outputDesc  nwmQuadruplet
+}
+
+type nwmFilter struct {
+       ident         uint32
+       flags         uint32
+       resourceName  [8]byte
+       resourceId    uint32
+       listenerId    uint32
+       local         [28]byte // union of sockaddr4 and sockaddr6
+       remote        [28]byte // union of sockaddr4 and sockaddr6
+       _             uint16
+       _             uint16
+       asid          uint16
+       _             [2]byte
+       tnLuName      [8]byte
+       tnMonGrp      uint32
+       tnAppl        [8]byte
+       applData      [40]byte
+       nInterface    [16]byte
+       dVipa         [16]byte
+       dVipaPfx      uint16
+       dVipaPort     uint16
+       dVipaFamily   byte
+       _             [3]byte
+       destXCF       [16]byte
+       destXCFPfx    uint16
+       destXCFFamily byte
+       _             [1]byte
+       targIP        [16]byte
+       targIPPfx     uint16
+       targIPFamily  byte
+       _             [1]byte
+       _             [20]byte
+}
+
+type nwmRecHeader struct {
+       ident  uint32
+       length uint32
+       number byte
+       _      [3]byte
+}
+
+type nwmTCPStatsEntry struct {
+       ident             uint64
+       currEstab         uint32
+       activeOpened      uint32
+       passiveOpened     uint32
+       connClosed        uint32
+       estabResets       uint32
+       attemptFails      uint32
+       passiveDrops      uint32
+       timeWaitReused    uint32
+       inSegs            uint64
+       predictAck        uint32
+       predictData       uint32
+       inDupAck          uint32
+       inBadSum          uint32
+       inBadLen          uint32
+       inShort           uint32
+       inDiscOldTime     uint32
+       inAllBeforeWin    uint32
+       inSomeBeforeWin   uint32
+       inAllAfterWin     uint32
+       inSomeAfterWin    uint32
+       inOutOfOrder      uint32
+       inAfterClose      uint32
+       inWinProbes       uint32
+       inWinUpdates      uint32
+       outWinUpdates     uint32
+       outSegs           uint64
+       outDelayAcks      uint32
+       outRsts           uint32
+       retransSegs       uint32
+       retransTimeouts   uint32
+       retransDrops      uint32
+       pmtuRetrans       uint32
+       pmtuErrors        uint32
+       outWinProbes      uint32
+       probeDrops        uint32
+       keepAliveProbes   uint32
+       keepAliveDrops    uint32
+       finwait2Drops     uint32
+       acceptCount       uint64
+       inBulkQSegs       uint64
+       inDiscards        uint64
+       connFloods        uint32
+       connStalls        uint32
+       cfgEphemDef       uint16
+       ephemInUse        uint16
+       ephemHiWater      uint16
+       flags             byte
+       _                 [1]byte
+       ephemExhaust      uint32
+       smcRCurrEstabLnks uint32
+       smcRLnkActTimeOut uint32
+       smcRActLnkOpened  uint32
+       smcRPasLnkOpened  uint32
+       smcRLnksClosed    uint32
+       smcRCurrEstab     uint32
+       smcRActiveOpened  uint32
+       smcRPassiveOpened uint32
+       smcRConnClosed    uint32
+       smcRInSegs        uint64
+       smcROutSegs       uint64
+       smcRInRsts        uint32
+       smcROutRsts       uint32
+       smcDCurrEstabLnks uint32
+       smcDActLnkOpened  uint32
+       smcDPasLnkOpened  uint32
+       smcDLnksClosed    uint32
+       smcDCurrEstab     uint32
+       smcDActiveOpened  uint32
+       smcDPassiveOpened uint32
+       smcDConnClosed    uint32
+       smcDInSegs        uint64
+       smcDOutSegs       uint64
+       smcDInRsts        uint32
+       smcDOutRsts       uint32
+}
+
+type nwmConnEntry struct {
+       ident             uint32
+       local             [28]byte // union of sockaddr4 and sockaddr6
+       remote            [28]byte // union of sockaddr4 and sockaddr6
+       startTime         [8]byte  // uint64, changed to prevent padding from being inserted
+       lastActivity      [8]byte  // uint64
+       bytesIn           [8]byte  // uint64
+       bytesOut          [8]byte  // uint64
+       inSegs            [8]byte  // uint64
+       outSegs           [8]byte  // uint64
+       state             uint16
+       activeOpen        byte
+       flag01            byte
+       outBuffered       uint32
+       inBuffered        uint32
+       maxSndWnd         uint32
+       reXmtCount        uint32
+       congestionWnd     uint32
+       ssThresh          uint32
+       roundTripTime     uint32
+       roundTripVar      uint32
+       sendMSS           uint32
+       sndWnd            uint32
+       rcvBufSize        uint32
+       sndBufSize        uint32
+       outOfOrderCount   uint32
+       lcl0WindowCount   uint32
+       rmt0WindowCount   uint32
+       dupacks           uint32
+       flag02            byte
+       sockOpt6Cont      byte
+       asid              uint16
+       resourceName      [8]byte
+       resourceId        uint32
+       subtask           uint32
+       sockOpt           byte
+       sockOpt6          byte
+       clusterConnFlag   byte
+       proto             byte
+       targetAppl        [8]byte
+       luName            [8]byte
+       clientUserId      [8]byte
+       logMode           [8]byte
+       timeStamp         uint32
+       timeStampAge      uint32
+       serverResourceId  uint32
+       intfName          [16]byte
+       ttlsStatPol       byte
+       ttlsStatConn      byte
+       ttlsSSLProt       uint16
+       ttlsNegCiph       [2]byte
+       ttlsSecType       byte
+       ttlsFIPS140Mode   byte
+       ttlsUserID        [8]byte
+       applData          [40]byte
+       inOldestTime      [8]byte // uint64
+       outOldestTime     [8]byte // uint64
+       tcpTrustedPartner byte
+       _                 [3]byte
+       bulkDataIntfName  [16]byte
+       ttlsNegCiph4      [4]byte
+       smcReason         uint32
+       lclSMCLinkId      uint32
+       rmtSMCLinkId      uint32
+       smcStatus         byte
+       smcFlags          byte
+       _                 [2]byte
+       rcvWnd            uint32
+       lclSMCBufSz       uint32
+       rmtSMCBufSz       uint32
+       ttlsSessID        [32]byte
+       ttlsSessIDLen     int16
+       _                 [1]byte
+       smcDStatus        byte
+       smcDReason        uint32
+}
+
+var svcNameTable [][]byte = [][]byte{
+       []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4
+}
+
+const (
+       svc_EZBNMIF4 = 0
+)
+
+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
+       jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*"
+       responseBuffer := [4096]byte{0}
+       var bufferAlet, reasonCode uint32 = 0, 0
+       var bufferLen, returnValue, returnCode int32 = 4096, 0, 0
+
+       dsa := [18]uint64{0}
+       var argv [7]unsafe.Pointer
+       argv[0] = unsafe.Pointer(&jobname[0])
+       argv[1] = unsafe.Pointer(&responseBuffer[0])
+       argv[2] = unsafe.Pointer(&bufferAlet)
+       argv[3] = unsafe.Pointer(&bufferLen)
+       argv[4] = unsafe.Pointer(&returnValue)
+       argv[5] = unsafe.Pointer(&returnCode)
+       argv[6] = unsafe.Pointer(&reasonCode)
+
+       request := (*struct {
+               header nwmHeader
+               filter nwmFilter
+       })(unsafe.Pointer(&responseBuffer[0]))
+
+       EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0])
+       if EZBNMIF4 == nil {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // GetGlobalStats EZBNMIF4 call
+       request.header.ident = nwmHeaderIdentifier
+       request.header.length = uint32(unsafe.Sizeof(request.header))
+       request.header.version = nwmCurrentVer
+       request.header.nwmType = nwmGlobalStatsType
+       request.header.options = 0x80000000
+
+       svcCall(EZBNMIF4, &argv[0], &dsa[0])
+
+       // outputDesc field is filled by EZBNMIF4 on success
+       if returnCode != 0 || request.header.outputDesc.offset == 0 {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // Check that EZBNMIF4 returned a nwmRecHeader
+       recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
+       if recHeader.ident != nwmRecHeaderIdentifier {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // Parse nwmTriplets to get offsets of returned entries
+       var sections []*uint64
+       var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0]))
+       for i := uint32(0); i < uint32(recHeader.number); i++ {
+               offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc))
+               sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset]))
+               for j := uint32(0); j < sectionDesc.number; j++ {
+                       offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length
+                       sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset])))
+               }
+       }
+
+       // Find nwmTCPStatsEntry in returned entries
+       var tcpStats *nwmTCPStatsEntry = nil
+       for _, ptr := range sections {
+               switch *ptr {
+               case nwmTCPStatsIdentifier:
+                       if tcpStats != nil {
+                               return nil, errnoErr(EINVAL)
+                       }
+                       tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr))
+               case nwmIPStatsIdentifier:
+               case nwmIPGStatsIdentifier:
+               case nwmUDPStatsIdentifier:
+               case nwmICMPGStatsEntry:
+               case nwmICMPTStatsEntry:
+               default:
+                       return nil, errnoErr(EINVAL)
+               }
+       }
+       if tcpStats == nil {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // GetConnectionDetail EZBNMIF4 call
+       responseBuffer = [4096]byte{0}
+       dsa = [18]uint64{0}
+       bufferAlet, reasonCode = 0, 0
+       bufferLen, returnValue, returnCode = 4096, 0, 0
+       nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process
+       nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12)))
+       argv[0] = unsafe.Pointer(uintptr(*nameptr))
+
+       request.header.ident = nwmHeaderIdentifier
+       request.header.length = uint32(unsafe.Sizeof(request.header))
+       request.header.version = nwmCurrentVer
+       request.header.nwmType = nwmTCPConnType
+       request.header.options = 0x80000000
+
+       request.filter.ident = nwmFilterIdentifier
+
+       var localSockaddr RawSockaddrAny
+       socklen := _Socklen(SizeofSockaddrAny)
+       err := getsockname(fd, &localSockaddr, &socklen)
+       if err != nil {
+               return nil, errnoErr(EINVAL)
+       }
+       if localSockaddr.Addr.Family == AF_INET {
+               localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr))
+               localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0]))
+               localSockFilter.Family = AF_INET
+               var i int
+               for i = 0; i < 4; i++ {
+                       if localSockaddr.Addr[i] != 0 {
+                               break
+                       }
+               }
+               if i != 4 {
+                       request.filter.flags |= nwmFilterLclAddrMask
+                       for i = 0; i < 4; i++ {
+                               localSockFilter.Addr[i] = localSockaddr.Addr[i]
+                       }
+               }
+               if localSockaddr.Port != 0 {
+                       request.filter.flags |= nwmFilterLclPortMask
+                       localSockFilter.Port = localSockaddr.Port
+               }
+       } else if localSockaddr.Addr.Family == AF_INET6 {
+               localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr))
+               localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0]))
+               localSockFilter.Family = AF_INET6
+               var i int
+               for i = 0; i < 16; i++ {
+                       if localSockaddr.Addr[i] != 0 {
+                               break
+                       }
+               }
+               if i != 16 {
+                       request.filter.flags |= nwmFilterLclAddrMask
+                       for i = 0; i < 16; i++ {
+                               localSockFilter.Addr[i] = localSockaddr.Addr[i]
+                       }
+               }
+               if localSockaddr.Port != 0 {
+                       request.filter.flags |= nwmFilterLclPortMask
+                       localSockFilter.Port = localSockaddr.Port
+               }
+       }
+
+       svcCall(EZBNMIF4, &argv[0], &dsa[0])
+
+       // outputDesc field is filled by EZBNMIF4 on success
+       if returnCode != 0 || request.header.outputDesc.offset == 0 {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // Check that EZBNMIF4 returned a nwmConnEntry
+       conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
+       if conn.ident != nwmTCPConnIdentifier {
+               return nil, errnoErr(EINVAL)
+       }
+
+       // Copy data from the returned data structures into tcpInfo
+       // Stats from nwmConnEntry are specific to that connection.
+       // Stats from nwmTCPStatsEntry are global (to the interface?)
+       // Fields may not be an exact match. Some fields have no equivalent.
+       var tcpinfo TCPInfo
+       tcpinfo.State = uint8(conn.state)
+       tcpinfo.Ca_state = 0 // dummy
+       tcpinfo.Retransmits = uint8(tcpStats.retransSegs)
+       tcpinfo.Probes = uint8(tcpStats.outWinProbes)
+       tcpinfo.Backoff = 0 // dummy
+       tcpinfo.Options = 0 // dummy
+       tcpinfo.Rto = tcpStats.retransTimeouts
+       tcpinfo.Ato = tcpStats.outDelayAcks
+       tcpinfo.Snd_mss = conn.sendMSS
+       tcpinfo.Rcv_mss = conn.sendMSS // dummy
+       tcpinfo.Unacked = 0            // dummy
+       tcpinfo.Sacked = 0             // dummy
+       tcpinfo.Lost = 0               // dummy
+       tcpinfo.Retrans = conn.reXmtCount
+       tcpinfo.Fackets = 0 // dummy
+       tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0])))
+       tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0])))
+       tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
+       tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
+       tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate
+       tcpinfo.Rcv_ssthresh = conn.ssThresh
+       tcpinfo.Rtt = conn.roundTripTime
+       tcpinfo.Rttvar = conn.roundTripVar
+       tcpinfo.Snd_ssthresh = conn.ssThresh // dummy
+       tcpinfo.Snd_cwnd = conn.congestionWnd
+       tcpinfo.Advmss = conn.sendMSS        // dummy
+       tcpinfo.Reordering = 0               // dummy
+       tcpinfo.Rcv_rtt = conn.roundTripTime // dummy
+       tcpinfo.Rcv_space = conn.sendMSS     // dummy
+       tcpinfo.Total_retrans = conn.reXmtCount
+
+       svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4)
+
+       return &tcpinfo, nil
+}
+
+// GetsockoptString returns the string value of the socket option opt for the
+// socket associated with fd at the given socket level.
+func GetsockoptString(fd, level, opt int) (string, error) {
+       buf := make([]byte, 256)
+       vallen := _Socklen(len(buf))
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
+       if err != nil {
+               return "", err
+       }
+
+       return string(buf[:vallen-1]), nil
+}
+
+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
+       var msg Msghdr
+       var rsa RawSockaddrAny
+       msg.Name = (*byte)(unsafe.Pointer(&rsa))
+       msg.Namelen = SizeofSockaddrAny
+       var iov Iovec
+       if len(p) > 0 {
+               iov.Base = (*byte)(unsafe.Pointer(&p[0]))
+               iov.SetLen(len(p))
+       }
+       var dummy byte
+       if len(oob) > 0 {
+               // receive at least one normal byte
+               if len(p) == 0 {
+                       iov.Base = &dummy
+                       iov.SetLen(1)
+               }
+               msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
+               msg.SetControllen(len(oob))
+       }
+       msg.Iov = &iov
+       msg.Iovlen = 1
+       if n, err = recvmsg(fd, &msg, flags); err != nil {
+               return
+       }
+       oobn = int(msg.Controllen)
+       recvflags = int(msg.Flags)
+       // source address is only specified if the socket is unconnected
+       if rsa.Addr.Family != AF_UNSPEC {
+               // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS
+               from, err = anyToSockaddr(0, &rsa)
+       }
+       return
+}
+
+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
+       _, err = SendmsgN(fd, p, oob, to, flags)
+       return
+}
+
+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
+       var ptr unsafe.Pointer
+       var salen _Socklen
+       if to != nil {
+               var err error
+               ptr, salen, err = to.sockaddr()
+               if err != nil {
+                       return 0, err
+               }
+       }
+       var msg Msghdr
+       msg.Name = (*byte)(unsafe.Pointer(ptr))
+       msg.Namelen = int32(salen)
+       var iov Iovec
+       if len(p) > 0 {
+               iov.Base = (*byte)(unsafe.Pointer(&p[0]))
+               iov.SetLen(len(p))
+       }
+       var dummy byte
+       if len(oob) > 0 {
+               // send at least one normal byte
+               if len(p) == 0 {
+                       iov.Base = &dummy
+                       iov.SetLen(1)
+               }
+               msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
+               msg.SetControllen(len(oob))
+       }
+       msg.Iov = &iov
+       msg.Iovlen = 1
+       if n, err = sendmsg(fd, &msg, flags); err != nil {
+               return 0, err
+       }
+       if len(oob) > 0 && len(p) == 0 {
+               n = 0
+       }
+       return n, nil
+}
+
+func Opendir(name string) (uintptr, error) {
+       p, err := BytePtrFromString(name)
+       if err != nil {
+               return 0, err
+       }
+       dir, _, e := syscall_syscall(SYS___OPENDIR_A, uintptr(unsafe.Pointer(p)), 0, 0)
+       runtime.KeepAlive(unsafe.Pointer(p))
+       if e != 0 {
+               err = errnoErr(e)
+       }
+       return dir, err
+}
+
+// clearsyscall.Errno resets the errno value to 0.
+func clearErrno()
+
+func Readdir(dir uintptr) (*Dirent, error) {
+       var ent Dirent
+       var res uintptr
+       // __readdir_r_a returns errno at the end of the directory stream, rather than 0.
+       // Therefore to avoid false positives we clear errno before calling it.
+
+       // TODO(neeilan): Commented this out to get sys/unix compiling on z/OS. Uncomment and fix. Error: "undefined: clearsyscall"
+       //clearsyscall.Errno() // TODO(mundaym): check pre-emption rules.
+
+       e, _, _ := syscall_syscall(SYS___READDIR_R_A, dir, uintptr(unsafe.Pointer(&ent)), uintptr(unsafe.Pointer(&res)))
+       var err error
+       if e != 0 {
+               err = errnoErr(Errno(e))
+       }
+       if res == 0 {
+               return nil, err
+       }
+       return &ent, err
+}
+
+func Closedir(dir uintptr) error {
+       _, _, e := syscall_syscall(SYS_CLOSEDIR, dir, 0, 0)
+       if e != 0 {
+               return errnoErr(e)
+       }
+       return nil
+}
+
+func Seekdir(dir uintptr, pos int) {
+       _, _, _ = syscall_syscall(SYS_SEEKDIR, dir, uintptr(pos), 0)
+}
+
+func Telldir(dir uintptr) (int, error) {
+       p, _, e := syscall_syscall(SYS_TELLDIR, dir, 0, 0)
+       pos := int(p)
+       if pos == -1 {
+               return pos, errnoErr(e)
+       }
+       return pos, nil
+}
+
+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
+       // struct flock is packed on z/OS. We can't emulate that in Go so
+       // instead we pack it here.
+       var flock [24]byte
+       *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type
+       *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence
+       *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start
+       *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len
+       *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid
+       _, _, errno := syscall_syscall(SYS_FCNTL, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock)))
+       lk.Type = *(*int16)(unsafe.Pointer(&flock[0]))
+       lk.Whence = *(*int16)(unsafe.Pointer(&flock[2]))
+       lk.Start = *(*int64)(unsafe.Pointer(&flock[4]))
+       lk.Len = *(*int64)(unsafe.Pointer(&flock[12]))
+       lk.Pid = *(*int32)(unsafe.Pointer(&flock[20]))
+       if errno == 0 {
+               return nil
+       }
+       return errno
+}
+
+func Flock(fd int, how int) error {
+
+       var flock_type int16
+       var fcntl_cmd int
+
+       switch how {
+       case LOCK_SH | LOCK_NB:
+               flock_type = F_RDLCK
+               fcntl_cmd = F_SETLK
+       case LOCK_EX | LOCK_NB:
+               flock_type = F_WRLCK
+               fcntl_cmd = F_SETLK
+       case LOCK_EX:
+               flock_type = F_WRLCK
+               fcntl_cmd = F_SETLKW
+       case LOCK_UN:
+               flock_type = F_UNLCK
+               fcntl_cmd = F_SETLKW
+       default:
+       }
+
+       flock := Flock_t{
+               Type:   int16(flock_type),
+               Whence: int16(0),
+               Start:  int64(0),
+               Len:    int64(0),
+               Pid:    int32(Getppid()),
+       }
+
+       err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock)
+       return err
+}
+
+func Mlock(b []byte) (err error) {
+       _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func Mlock2(b []byte, flags int) (err error) {
+       _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func Mlockall(flags int) (err error) {
+       _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func Munlock(b []byte) (err error) {
+       _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func Munlockall() (err error) {
+       _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func ClockGettime(clockid int32, ts *Timespec) error {
+
+       var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise
+       var nsec_per_sec int64 = 1000000000
+
+       if ts == nil {
+               return EFAULT
+       }
+       if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC {
+               var nanotime int64 = runtime.Nanotime1()
+               ts.Sec = nanotime / nsec_per_sec
+               ts.Nsec = nanotime % nsec_per_sec
+       } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID {
+               var tm Tms
+               _, err := Times(&tm)
+               if err != nil {
+                       return EFAULT
+               }
+               ts.Sec = int64(tm.Utime / ticks_per_sec)
+               ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec)
+       } else {
+               return EINVAL
+       }
+       return nil
+}
+
+func Statfs(path string, stat *Statfs_t) (err error) {
+       fd, err := open(path, O_RDONLY, 0)
+       defer Close(fd)
+       if err != nil {
+               return err
+       }
+       return Fstatfs(fd, stat)
+}
+
+var (
+       Stdin  = 0
+       Stdout = 1
+       Stderr = 2
+)
+
+// Do the interface allocations only once for common
+// Errno values.
+var (
+       errEAGAIN error = syscall.EAGAIN
+       errEINVAL error = syscall.EINVAL
+       errENOENT error = syscall.ENOENT
+)
+
+var (
+       signalNameMapOnce sync.Once
+       signalNameMap     map[string]syscall.Signal
+)
+
+// errnoErr returns common boxed Errno values, to prevent
+// allocations at runtime.
+func errnoErr(e Errno) error {
+       switch e {
+       case 0:
+               return nil
+       case EAGAIN:
+               return errEAGAIN
+       case EINVAL:
+               return errEINVAL
+       case ENOENT:
+               return errENOENT
+       }
+       return e
+}
+
+// ErrnoName returns the error name for error number e.
+func ErrnoName(e Errno) string {
+       i := sort.Search(len(errorList), func(i int) bool {
+               return errorList[i].num >= e
+       })
+       if i < len(errorList) && errorList[i].num == e {
+               return errorList[i].name
+       }
+       return ""
+}
+
+// SignalName returns the signal name for signal number s.
+func SignalName(s syscall.Signal) string {
+       i := sort.Search(len(signalList), func(i int) bool {
+               return signalList[i].num >= s
+       })
+       if i < len(signalList) && signalList[i].num == s {
+               return signalList[i].name
+       }
+       return ""
+}
+
+// SignalNum returns the syscall.Signal for signal named s,
+// or 0 if a signal with such name is not found.
+// The signal name should start with "SIG".
+func SignalNum(s string) syscall.Signal {
+       signalNameMapOnce.Do(func() {
+               signalNameMap = make(map[string]syscall.Signal, len(signalList))
+               for _, signal := range signalList {
+                       signalNameMap[signal.name] = signal.num
+               }
+       })
+       return signalNameMap[s]
+}
+
+// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
+func clen(n []byte) int {
+       i := bytes.IndexByte(n, 0)
+       if i == -1 {
+               i = len(n)
+       }
+       return i
+}
+
+// Mmap manager, for use by operating system-specific implementations.
+
+type mmapper struct {
+       sync.Mutex
+       active map[*byte][]byte // active mappings; key is last byte in mapping
+       mmap   func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)
+       munmap func(addr uintptr, length uintptr) error
+}
+
+func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
+       if length <= 0 {
+               return nil, EINVAL
+       }
+
+       // Map the requested memory.
+       addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)
+       if errno != nil {
+               return nil, errno
+       }
+
+       // Slice memory layout
+       var sl = struct {
+               addr uintptr
+               len  int
+               cap  int
+       }{addr, length, length}
+
+       // Use unsafe to turn sl into a []byte.
+       b := *(*[]byte)(unsafe.Pointer(&sl))
+
+       // Register mapping in m and return it.
+       p := &b[cap(b)-1]
+       m.Lock()
+       defer m.Unlock()
+       m.active[p] = b
+       return b, nil
+}
+
+func (m *mmapper) Munmap(data []byte) (err error) {
+       if len(data) == 0 || len(data) != cap(data) {
+               return EINVAL
+       }
+
+       // Find the base of the mapping.
+       p := &data[cap(data)-1]
+       m.Lock()
+       defer m.Unlock()
+       b := m.active[p]
+       if b == nil || &b[0] != &data[0] {
+               return EINVAL
+       }
+
+       // Unmap the memory and update m.
+       if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {
+               return errno
+       }
+       delete(m.active, p)
+       return nil
+}
+
+func Read(fd int, p []byte) (n int, err error) {
+       n, err = read(fd, p)
+       if raceenabled {
+               if n > 0 {
+                       raceWriteRange(unsafe.Pointer(&p[0]), n)
+               }
+               if err == nil {
+                       raceAcquire(unsafe.Pointer(&ioSync))
+               }
+       }
+       return
+}
+
+func Write(fd int, p []byte) (n int, err error) {
+       if raceenabled {
+               raceReleaseMerge(unsafe.Pointer(&ioSync))
+       }
+       n, err = write(fd, p)
+       if raceenabled && n > 0 {
+               raceReadRange(unsafe.Pointer(&p[0]), n)
+       }
+       return
+}
+
+// For testing: clients can set this flag to force
+// creation of IPv6 sockets to return EAFNOSUPPORT.
+var SocketDisableIPv6 bool
+
+// Sockaddr represents a socket address.
+type Sockaddr interface {
+       sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
+}
+
+// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
+type SockaddrInet4 struct {
+       Port int
+       Addr [4]byte
+       raw  RawSockaddrInet4
+}
+
+// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
+type SockaddrInet6 struct {
+       Port   int
+       ZoneId uint32
+       Addr   [16]byte
+       raw    RawSockaddrInet6
+}
+
+// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
+type SockaddrUnix struct {
+       Name string
+       raw  RawSockaddrUnix
+}
+
+func Bind(fd int, sa Sockaddr) (err error) {
+       ptr, n, err := sa.sockaddr()
+       if err != nil {
+               return err
+       }
+       return bind(fd, ptr, n)
+}
+
+func Connect(fd int, sa Sockaddr) (err error) {
+       ptr, n, err := sa.sockaddr()
+       if err != nil {
+               return err
+       }
+       return connect(fd, ptr, n)
+}
+
+func Getpeername(fd int) (sa Sockaddr, err error) {
+       var rsa RawSockaddrAny
+       var len _Socklen = SizeofSockaddrAny
+       if err = getpeername(fd, &rsa, &len); err != nil {
+               return
+       }
+       return anyToSockaddr(fd, &rsa)
+}
+
+func GetsockoptByte(fd, level, opt int) (value byte, err error) {
+       var n byte
+       vallen := _Socklen(1)
+       err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
+       return n, err
+}
+
+func GetsockoptInt(fd, level, opt int) (value int, err error) {
+       var n int32
+       vallen := _Socklen(4)
+       err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
+       return int(n), err
+}
+
+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
+       vallen := _Socklen(4)
+       err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
+       return value, err
+}
+
+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
+       var value IPMreq
+       vallen := _Socklen(SizeofIPMreq)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
+       return &value, err
+}
+
+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
+       var value IPv6Mreq
+       vallen := _Socklen(SizeofIPv6Mreq)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
+       return &value, err
+}
+
+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
+       var value IPv6MTUInfo
+       vallen := _Socklen(SizeofIPv6MTUInfo)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
+       return &value, err
+}
+
+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
+       var value ICMPv6Filter
+       vallen := _Socklen(SizeofICMPv6Filter)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
+       return &value, err
+}
+
+func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
+       var linger Linger
+       vallen := _Socklen(SizeofLinger)
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)
+       return &linger, err
+}
+
+func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
+       var tv Timeval
+       vallen := _Socklen(unsafe.Sizeof(tv))
+       err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)
+       return &tv, err
+}
+
+func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
+       var n uint64
+       vallen := _Socklen(8)
+       err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
+       return n, err
+}
+
+func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
+       var rsa RawSockaddrAny
+       var len _Socklen = SizeofSockaddrAny
+       if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {
+               return
+       }
+       if rsa.Addr.Family != AF_UNSPEC {
+               from, err = anyToSockaddr(fd, &rsa)
+       }
+       return
+}
+
+func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
+       ptr, n, err := to.sockaddr()
+       if err != nil {
+               return err
+       }
+       return sendto(fd, p, flags, ptr, n)
+}
+
+func SetsockoptByte(fd, level, opt int, value byte) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)
+}
+
+func SetsockoptInt(fd, level, opt int, value int) (err error) {
+       var n = int32(value)
+       return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)
+}
+
+func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)
+}
+
+func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)
+}
+
+func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)
+}
+
+func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
+       return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)
+}
+
+func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)
+}
+
+func SetsockoptString(fd, level, opt int, s string) (err error) {
+       var p unsafe.Pointer
+       if len(s) > 0 {
+               p = unsafe.Pointer(&[]byte(s)[0])
+       }
+       return setsockopt(fd, level, opt, p, uintptr(len(s)))
+}
+
+func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
+}
+
+func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
+       return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
+}
+
+func Socket(domain, typ, proto int) (fd int, err error) {
+       if domain == AF_INET6 && SocketDisableIPv6 {
+               return -1, EAFNOSUPPORT
+       }
+       fd, err = socket(domain, typ, proto)
+       return
+}
+
+func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
+       var fdx [2]int32
+       err = socketpair(domain, typ, proto, &fdx)
+       if err == nil {
+               fd[0] = int(fdx[0])
+               fd[1] = int(fdx[1])
+       }
+       return
+}
+
+var ioSync int64
+
+func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
+
+func SetNonblock(fd int, nonblocking bool) (err error) {
+       flag, err := fcntl(fd, F_GETFL, 0)
+       if err != nil {
+               return err
+       }
+       if nonblocking {
+               flag |= O_NONBLOCK
+       } else {
+               flag &= ^O_NONBLOCK
+       }
+       _, err = fcntl(fd, F_SETFL, flag)
+       return err
+}
+
+// Exec calls execve(2), which replaces the calling executable in the process
+// tree. argv0 should be the full path to an executable ("/bin/ls") and the
+// executable name should also be the first argument in argv (["ls", "-l"]).
+// envv are the environment variables that should be passed to the new
+// process (["USER=go", "PWD=/tmp"]).
+func Exec(argv0 string, argv []string, envv []string) error {
+       return syscall.Exec(argv0, argv, envv)
+}
index 103604299e2a3d9942a069309734aa436e21e7db..3d893040553be2a12ee54aecd174429493cebdc2 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 package unix
 
index 30c1d71f4eddb192e9360af673306a66a62a1d41..25df1e37801f4cf906b72075c60660a727711c78 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build freebsd || netbsd
 // +build freebsd netbsd
 
 package unix
index 104994bc6a98370bfd057fe0b4d646ee4a997116..ca9799b79ef951555055a9d573166a690cfd1fc4 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -maix32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc && aix
 // +build ppc,aix
 
 // Created by cgo -godefs - DO NOT EDIT
index 4fc8d306493c7bd46e97d74fa793d15fcf72969d..200c8c26fe65b775425eb06f61299eb6ae1d0ace 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -maix64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64 && aix
 // +build ppc64,aix
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index ec376f51bc423de5168ed6add21d6c2e8e8d8f11..7ee196f7fccf902284c5398d21769b4ad3285179 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && darwin
 // +build 386,darwin
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index dcb96c26c08cf524ab73f3ba151d649833016198..0100cb12f1f3ba79ee92b2c85cc577145d4ff004 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && darwin
 // +build amd64,darwin
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 03feefbf8c92eb88727a26f395b35c287f7690ab..e748cb110579c65af3be28c3780577328f1b2fa8 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && darwin
 // +build arm,darwin
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 8602b136332293461d828c0d85f5bae6055aad45..df26a19681e31212a9f64261bf72753ced5aa69c 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && darwin
 // +build arm64,darwin
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index f5e91b7abaaa7271aed57da0b3ca48a70d7d6fb1..17bba0e44f9e4efc1366b1930a6b028f24808e57 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && dragonfly
 // +build amd64,dragonfly
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 3689c808481949e00aeddfb0991b00952264fd69..9c7c5e1654643dd289cc2b78e739fd3d8c67b0b7 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && freebsd
 // +build 386,freebsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -997,6 +998,11 @@ const (
        KERN_OSRELEASE                 = 0x2
        KERN_OSTYPE                    = 0x1
        KERN_VERSION                   = 0x4
+       LOCAL_CONNWAIT                 = 0x4
+       LOCAL_CREDS                    = 0x2
+       LOCAL_CREDS_PERSISTENT         = 0x3
+       LOCAL_PEERCRED                 = 0x1
+       LOCAL_VENDOR                   = 0x80000000
        LOCK_EX                        = 0x2
        LOCK_NB                        = 0x4
        LOCK_SH                        = 0x1
@@ -1375,6 +1381,7 @@ const (
        SOCK_RDM                       = 0x4
        SOCK_SEQPACKET                 = 0x5
        SOCK_STREAM                    = 0x1
+       SOL_LOCAL                      = 0x0
        SOL_SOCKET                     = 0xffff
        SOMAXCONN                      = 0x80
        SO_ACCEPTCONN                  = 0x2
index b8f7c3c930aa5974c1bebc12a3c2e89d19120788..b265abb25f89036eb36292ed74baf83f47e3d8c5 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && freebsd
 // +build amd64,freebsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -997,6 +998,11 @@ const (
        KERN_OSRELEASE                 = 0x2
        KERN_OSTYPE                    = 0x1
        KERN_VERSION                   = 0x4
+       LOCAL_CONNWAIT                 = 0x4
+       LOCAL_CREDS                    = 0x2
+       LOCAL_CREDS_PERSISTENT         = 0x3
+       LOCAL_PEERCRED                 = 0x1
+       LOCAL_VENDOR                   = 0x80000000
        LOCK_EX                        = 0x2
        LOCK_NB                        = 0x4
        LOCK_SH                        = 0x1
@@ -1376,6 +1382,7 @@ const (
        SOCK_RDM                       = 0x4
        SOCK_SEQPACKET                 = 0x5
        SOCK_STREAM                    = 0x1
+       SOL_LOCAL                      = 0x0
        SOL_SOCKET                     = 0xffff
        SOMAXCONN                      = 0x80
        SO_ACCEPTCONN                  = 0x2
index be14bb1a4cdc71b82fb434cebbb531780e352d22..0326a6b3af9754477b530d6c2840e2370ea23fe5 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && freebsd
 // +build arm,freebsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -980,6 +981,11 @@ const (
        KERN_OSRELEASE                 = 0x2
        KERN_OSTYPE                    = 0x1
        KERN_VERSION                   = 0x4
+       LOCAL_CONNWAIT                 = 0x4
+       LOCAL_CREDS                    = 0x2
+       LOCAL_CREDS_PERSISTENT         = 0x3
+       LOCAL_PEERCRED                 = 0x1
+       LOCAL_VENDOR                   = 0x80000000
        LOCK_EX                        = 0x2
        LOCK_NB                        = 0x4
        LOCK_SH                        = 0x1
@@ -1341,6 +1347,7 @@ const (
        SOCK_RDM                       = 0x4
        SOCK_SEQPACKET                 = 0x5
        SOCK_STREAM                    = 0x1
+       SOL_LOCAL                      = 0x0
        SOL_SOCKET                     = 0xffff
        SOMAXCONN                      = 0x80
        SO_ACCEPTCONN                  = 0x2
index 7ce9c0081a8c6d9aedbe0bf34eeb77570ee0745a..218d39906da6c4d51726629d904876a4bac747be 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && freebsd
 // +build arm64,freebsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -997,6 +998,11 @@ const (
        KERN_OSRELEASE                 = 0x2
        KERN_OSTYPE                    = 0x1
        KERN_VERSION                   = 0x4
+       LOCAL_CONNWAIT                 = 0x4
+       LOCAL_CREDS                    = 0x2
+       LOCAL_CREDS_PERSISTENT         = 0x3
+       LOCAL_PEERCRED                 = 0x1
+       LOCAL_VENDOR                   = 0x80000000
        LOCK_EX                        = 0x2
        LOCK_NB                        = 0x4
        LOCK_SH                        = 0x1
@@ -1376,6 +1382,7 @@ const (
        SOCK_RDM                       = 0x4
        SOCK_SEQPACKET                 = 0x5
        SOCK_STREAM                    = 0x1
+       SOL_LOCAL                      = 0x0
        SOL_SOCKET                     = 0xffff
        SOMAXCONN                      = 0x80
        SO_ACCEPTCONN                  = 0x2
index c5e2f4793040112f772d28490bc67997b70119dd..504dd6cd2d02bdddcfa3c13e214c052ef8c1cfa6 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by mkmerge.go; DO NOT EDIT.
 
+//go:build linux
 // +build linux
 
 package unix
@@ -244,6 +245,10 @@ const (
        BS0                                         = 0x0
        BTRFS_SUPER_MAGIC                           = 0x9123683e
        BTRFS_TEST_MAGIC                            = 0x73727279
+       BUS_BLUETOOTH                               = 0x5
+       BUS_HIL                                     = 0x4
+       BUS_USB                                     = 0x3
+       BUS_VIRTUAL                                 = 0x6
        CAN_BCM                                     = 0x2
        CAN_EFF_FLAG                                = 0x80000000
        CAN_EFF_ID_BITS                             = 0x1d
@@ -963,6 +968,7 @@ const (
        HDIO_SET_XFER                               = 0x306
        HDIO_TRISTATE_HWIF                          = 0x31b
        HDIO_UNREGISTER_HWIF                        = 0x32a
+       HID_MAX_DESCRIPTOR_SIZE                     = 0x1000
        HOSTFS_SUPER_MAGIC                          = 0xc0ffee
        HPFS_SUPER_MAGIC                            = 0xf995e849
        HUGETLBFS_MAGIC                             = 0x958458f6
@@ -2735,6 +2741,9 @@ const (
        Z3FOLD_MAGIC                                = 0x33
        ZONEFS_MAGIC                                = 0x5a4f4653
        ZSMALLOC_MAGIC                              = 0x58295829
+       _HIDIOCGRAWNAME_LEN                         = 0x80
+       _HIDIOCGRAWPHYS_LEN                         = 0x40
+       _HIDIOCGRAWUNIQ_LEN                         = 0x40
 )
 
 // Errors
index c8d5b324c750e007bdaa2d8600e8283043390873..e91a1a95792b2eeb40672794529fbf96d6320746 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include -m32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && linux
 // +build 386,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -93,6 +94,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -485,6 +489,9 @@ const (
        X86_FXSR_MAGIC                   = 0x0
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index e605c08b0ec00f0e6f640da4e1651118da6941eb..a9cbac64439e3ae6836aaed2b09d0aec99c43877 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && linux
 // +build amd64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -93,6 +94,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -485,6 +489,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index 0279fa1abdaee7504f5d0b1c7fcd496a7d201da3..d74f3c15a1d8366c7a088c9665d83bb31db4696e 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && linux
 // +build arm,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -491,6 +495,9 @@ const (
        WORDSIZE                         = 0x20
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index 20c286a1122eb6be566a5b34978fad0f9fbc1020..e1538995b49d1446ee1f91b8d3da3ac87eed93c0 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && linux
 // +build arm64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -95,6 +96,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -482,6 +486,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index 1785f33d669d51a5c7fdcd8f8c0fe8fc70c77eb7..5e8e71ff863547eac670ea1dc62ad9e8f5d5ba11 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips && linux
 // +build mips,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x18
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x100
@@ -487,6 +491,9 @@ const (
        WORDSIZE                         = 0x20
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index acb1ef1bf554bbb0cc6dd0fef21dc4c52997b273..e670ee148140522bbbdf03836a1c143d982ff2c5 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && linux
 // +build mips64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x18
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x100
@@ -487,6 +491,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index 468a4e68c7fd66691bca7ebaf127bf210fedd062..dd11eacb81e0b5b0e09dbe818f7bd37445e0dcd6 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64le && linux
 // +build mips64le,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x18
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x100
@@ -487,6 +491,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index 6c9c7f2c76bc343e3642940a81530fcf9b6d0885..a0a5b22ae93a734c1a13f00b34b45f32d475a84f 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mipsle && linux
 // +build mipsle,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x18
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x100
@@ -487,6 +491,9 @@ const (
        WORDSIZE                         = 0x20
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index 8961206e5f4bac8971ead7c62273545d50c3fdae..e60102f6a92add70bc84f17a87be1305e5e5d372 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64 && linux
 // +build ppc64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x4000
        ICANON                           = 0x100
        IEXTEN                           = 0x400
@@ -547,6 +551,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4000
        XTABS                            = 0xc00
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index 6bcf79dc2e6555297c25f6d14ddcf97e83c819b8..838ff4ea6d069d1ad6733e48883f26bcdc34b097 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64le && linux
 // +build ppc64le,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x4000
        ICANON                           = 0x100
        IEXTEN                           = 0x400
@@ -547,6 +551,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4000
        XTABS                            = 0xc00
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
 )
 
 // Errors
index e861d97f1c0aa3f8826994218573b4a4ee9d5f4a..7cc98f09c3ed1e24dc6ffa4732fe1f6eb2dae89d 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build riscv64 && linux
 // +build riscv64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -472,6 +476,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index d39278bee5927b5163585267a4de711ca2c80552..a508392d2582ad371cbe703c518c77124551343e 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build s390x && linux
 // +build s390x,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -92,6 +93,9 @@ const (
        F_SETOWN                         = 0x8
        F_UNLCK                          = 0x2
        F_WRLCK                          = 0x1
+       HIDIOCGRAWINFO                   = 0x80084803
+       HIDIOCGRDESC                     = 0x90044802
+       HIDIOCGRDESCSIZE                 = 0x80044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -545,6 +549,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x80804804
+       _HIDIOCGRAWPHYS                  = 0x80404805
+       _HIDIOCGRAWUNIQ                  = 0x80404808
 )
 
 // Errors
index 6a742fa7ee35450cd5fa63f5556c1572bbfd258f..d5e2dc94faa4d057530366c3a81595f77964ffb7 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -Wall -Werror -static -I/tmp/include
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build sparc64 && linux
 // +build sparc64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
@@ -96,6 +97,9 @@ const (
        F_SETOWN                         = 0x6
        F_UNLCK                          = 0x3
        F_WRLCK                          = 0x2
+       HIDIOCGRAWINFO                   = 0x40084803
+       HIDIOCGRDESC                     = 0x50044802
+       HIDIOCGRDESCSIZE                 = 0x40044801
        HUPCL                            = 0x400
        ICANON                           = 0x2
        IEXTEN                           = 0x8000
@@ -535,6 +539,9 @@ const (
        WORDSIZE                         = 0x40
        XCASE                            = 0x4
        XTABS                            = 0x1800
+       _HIDIOCGRAWNAME                  = 0x40804804
+       _HIDIOCGRAWPHYS                  = 0x40404805
+       _HIDIOCGRAWUNIQ                  = 0x40404808
        __TIOCFLUSH                      = 0x80047410
 )
 
index 20f3a5799fd15917377113e6f3f051750b4141b4..72f7420d20a149bead10545bdae179318acce302 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && netbsd
 // +build 386,netbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 90b8fcd29c5afcff59e2ed755c2d5ab1c499578f..8d4eb0c0804e10e3b59320f2d5ed2ae2e0ce75a6 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && netbsd
 // +build amd64,netbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index c5c03993b67ac11b1dd7b451f737613b2133b03b..9eef9749f6aaca4856bd74f4bc05f65bbfac4a18 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -marm
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && netbsd
 // +build arm,netbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 14dd3c1d1ee91a6b7bf3c5527afd9472b775122b..3b62ba192c352b1db1a3f39f2ddaeb187c265d9d 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && netbsd
 // +build arm64,netbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index c865a10df44621edfa052d1efb8b3667cf50a311..593cc0feffa01b490e6445699a4493da13f0d04c 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m32
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && openbsd
 // +build 386,openbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 9db6b2fb6e2c65d1b5c5ff690af48aabe267ff95..25cb6094813ccdc829d8ac1b973d472e27826d8f 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && openbsd
 // +build amd64,openbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 7072526a640d24b35d740ff36f3de56e8cd9c43f..a4e4c22314e0a635d4d5d4538aaaeb24d9e83428 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && openbsd
 // +build arm,openbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index ac5efbe5ac766c436018695f3a780d314a11fe9e..90de7dfc33a35b7ab6c5db98ea772527fedd30fd 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && openbsd
 // +build arm64,openbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index a74639a46fb8221f60dad269c24d1e6f1b704545..f1154ff56f6c193081ec3027105eca199f01a6bd 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && openbsd
 // +build mips64,openbsd
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
index 5312c36cc8286827f69cd1c7a31a6b10e363f3d3..65fb2c5cd83cb84daf9624056d28d8bb327b4b1c 100644 (file)
@@ -1,6 +1,7 @@
 // mkerrors.sh -m64
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && solaris
 // +build amd64,solaris
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/src/cmd/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
new file mode 100644 (file)
index 0000000..4117ce0
--- /dev/null
@@ -0,0 +1,831 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+// Hand edited based on zerrors_linux_s390x.go
+// TODO: auto-generate.
+
+package unix
+
+const (
+       BRKINT                          = 0x0001
+       CLOCK_MONOTONIC                 = 0x1
+       CLOCK_PROCESS_CPUTIME_ID        = 0x2
+       CLOCK_REALTIME                  = 0x0
+       CLOCK_THREAD_CPUTIME_ID         = 0x3
+       CS8                             = 0x0030
+       CSIZE                           = 0x0030
+       ECHO                            = 0x00000008
+       ECHONL                          = 0x00000001
+       FD_CLOEXEC                      = 0x01
+       FD_CLOFORK                      = 0x02
+       FNDELAY                         = 0x04
+       F_CLOSFD                        = 9
+       F_CONTROL_CVT                   = 13
+       F_DUPFD                         = 0
+       F_DUPFD2                        = 8
+       F_GETFD                         = 1
+       F_GETFL                         = 259
+       F_GETLK                         = 5
+       F_GETOWN                        = 10
+       F_OK                            = 0x0
+       F_RDLCK                         = 1
+       F_SETFD                         = 2
+       F_SETFL                         = 4
+       F_SETLK                         = 6
+       F_SETLKW                        = 7
+       F_SETOWN                        = 11
+       F_SETTAG                        = 12
+       F_UNLCK                         = 3
+       F_WRLCK                         = 2
+       FSTYPE_ZFS                      = 0xe9 //"Z"
+       FSTYPE_HFS                      = 0xc8 //"H"
+       FSTYPE_NFS                      = 0xd5 //"N"
+       FSTYPE_TFS                      = 0xe3 //"T"
+       FSTYPE_AUTOMOUNT                = 0xc1 //"A"
+       IP6F_MORE_FRAG                  = 0x0001
+       IP6F_OFF_MASK                   = 0xfff8
+       IP6F_RESERVED_MASK              = 0x0006
+       IP6OPT_JUMBO                    = 0xc2
+       IP6OPT_JUMBO_LEN                = 6
+       IP6OPT_MUTABLE                  = 0x20
+       IP6OPT_NSAP_ADDR                = 0xc3
+       IP6OPT_PAD1                     = 0x00
+       IP6OPT_PADN                     = 0x01
+       IP6OPT_ROUTER_ALERT             = 0x05
+       IP6OPT_TUNNEL_LIMIT             = 0x04
+       IP6OPT_TYPE_DISCARD             = 0x40
+       IP6OPT_TYPE_FORCEICMP           = 0x80
+       IP6OPT_TYPE_ICMP                = 0xc0
+       IP6OPT_TYPE_SKIP                = 0x00
+       IP6_ALERT_AN                    = 0x0002
+       IP6_ALERT_MLD                   = 0x0000
+       IP6_ALERT_RSVP                  = 0x0001
+       IPPORT_RESERVED                 = 1024
+       IPPORT_USERRESERVED             = 5000
+       IPPROTO_AH                      = 51
+       IPPROTO_DSTOPTS                 = 60
+       IPPROTO_EGP                     = 8
+       IPPROTO_ESP                     = 50
+       IPPROTO_FRAGMENT                = 44
+       IPPROTO_GGP                     = 2
+       IPPROTO_HOPOPTS                 = 0
+       IPPROTO_ICMP                    = 1
+       IPPROTO_ICMPV6                  = 58
+       IPPROTO_IDP                     = 22
+       IPPROTO_IP                      = 0
+       IPPROTO_IPV6                    = 41
+       IPPROTO_MAX                     = 256
+       IPPROTO_NONE                    = 59
+       IPPROTO_PUP                     = 12
+       IPPROTO_RAW                     = 255
+       IPPROTO_ROUTING                 = 43
+       IPPROTO_TCP                     = 6
+       IPPROTO_UDP                     = 17
+       IPV6_ADDR_PREFERENCES           = 32
+       IPV6_CHECKSUM                   = 19
+       IPV6_DONTFRAG                   = 29
+       IPV6_DSTOPTS                    = 23
+       IPV6_HOPLIMIT                   = 11
+       IPV6_HOPOPTS                    = 22
+       IPV6_JOIN_GROUP                 = 5
+       IPV6_LEAVE_GROUP                = 6
+       IPV6_MULTICAST_HOPS             = 9
+       IPV6_MULTICAST_IF               = 7
+       IPV6_MULTICAST_LOOP             = 4
+       IPV6_NEXTHOP                    = 20
+       IPV6_PATHMTU                    = 12
+       IPV6_PKTINFO                    = 13
+       IPV6_PREFER_SRC_CGA             = 0x10
+       IPV6_PREFER_SRC_COA             = 0x02
+       IPV6_PREFER_SRC_HOME            = 0x01
+       IPV6_PREFER_SRC_NONCGA          = 0x20
+       IPV6_PREFER_SRC_PUBLIC          = 0x08
+       IPV6_PREFER_SRC_TMP             = 0x04
+       IPV6_RECVDSTOPTS                = 28
+       IPV6_RECVHOPLIMIT               = 14
+       IPV6_RECVHOPOPTS                = 26
+       IPV6_RECVPATHMTU                = 16
+       IPV6_RECVPKTINFO                = 15
+       IPV6_RECVRTHDR                  = 25
+       IPV6_RECVTCLASS                 = 31
+       IPV6_RTHDR                      = 21
+       IPV6_RTHDRDSTOPTS               = 24
+       IPV6_RTHDR_TYPE_0               = 0
+       IPV6_TCLASS                     = 30
+       IPV6_UNICAST_HOPS               = 3
+       IPV6_USE_MIN_MTU                = 18
+       IPV6_V6ONLY                     = 10
+       IP_ADD_MEMBERSHIP               = 5
+       IP_ADD_SOURCE_MEMBERSHIP        = 12
+       IP_BLOCK_SOURCE                 = 10
+       IP_DEFAULT_MULTICAST_LOOP       = 1
+       IP_DEFAULT_MULTICAST_TTL        = 1
+       IP_DROP_MEMBERSHIP              = 6
+       IP_DROP_SOURCE_MEMBERSHIP       = 13
+       IP_MAX_MEMBERSHIPS              = 20
+       IP_MULTICAST_IF                 = 7
+       IP_MULTICAST_LOOP               = 4
+       IP_MULTICAST_TTL                = 3
+       IP_OPTIONS                      = 1
+       IP_PKTINFO                      = 101
+       IP_RECVPKTINFO                  = 102
+       IP_TOS                          = 2
+       IP_TTL                          = 3
+       IP_UNBLOCK_SOURCE               = 11
+       ICANON                          = 0x0010
+       ICRNL                           = 0x0002
+       IEXTEN                          = 0x0020
+       IGNBRK                          = 0x0004
+       IGNCR                           = 0x0008
+       INLCR                           = 0x0020
+       ISIG                            = 0x0040
+       ISTRIP                          = 0x0080
+       IXON                            = 0x0200
+       IXOFF                           = 0x0100
+       LOCK_SH                         = 0x1 // Not exist on zOS
+       LOCK_EX                         = 0x2 // Not exist on zOS
+       LOCK_NB                         = 0x4 // Not exist on zOS
+       LOCK_UN                         = 0x8 // Not exist on zOS
+       POLLIN                          = 0x0003
+       POLLOUT                         = 0x0004
+       POLLPRI                         = 0x0010
+       POLLERR                         = 0x0020
+       POLLHUP                         = 0x0040
+       POLLNVAL                        = 0x0080
+       PROT_READ                       = 0x1 // mmap - page can be read
+       PROT_WRITE                      = 0x2 // page can be written
+       PROT_NONE                       = 0x4 // can't be accessed
+       PROT_EXEC                       = 0x8 // can be executed
+       MAP_PRIVATE                     = 0x1 // changes are private
+       MAP_SHARED                      = 0x2 // changes are shared
+       MAP_FIXED                       = 0x4 // place exactly
+       MS_SYNC                         = 0x1 // msync - synchronous writes
+       MS_ASYNC                        = 0x2 // asynchronous writes
+       MS_INVALIDATE                   = 0x4 // invalidate mappings
+       MTM_RDONLY                      = 0x80000000
+       MTM_RDWR                        = 0x40000000
+       MTM_UMOUNT                      = 0x10000000
+       MTM_IMMED                       = 0x08000000
+       MTM_FORCE                       = 0x04000000
+       MTM_DRAIN                       = 0x02000000
+       MTM_RESET                       = 0x01000000
+       MTM_SAMEMODE                    = 0x00100000
+       MTM_UNQSEFORCE                  = 0x00040000
+       MTM_NOSUID                      = 0x00000400
+       MTM_SYNCHONLY                   = 0x00000200
+       MTM_REMOUNT                     = 0x00000100
+       MTM_NOSECURITY                  = 0x00000080
+       O_ACCMODE                       = 0x03
+       O_APPEND                        = 0x08
+       O_ASYNCSIG                      = 0x0200
+       O_CREAT                         = 0x80
+       O_EXCL                          = 0x40
+       O_GETFL                         = 0x0F
+       O_LARGEFILE                     = 0x0400
+       O_NONBLOCK                      = 0x04
+       O_RDONLY                        = 0x02
+       O_RDWR                          = 0x03
+       O_SYNC                          = 0x0100
+       O_TRUNC                         = 0x10
+       O_WRONLY                        = 0x01
+       O_NOCTTY                        = 0x20
+       OPOST                           = 0x0001
+       ONLCR                           = 0x0004
+       PARENB                          = 0x0200
+       PARMRK                          = 0x0400
+       QUERYCVT                        = 3
+       RUSAGE_CHILDREN                 = -0x1
+       RUSAGE_SELF                     = 0x0 // RUSAGE_THREAD unsupported on z/OS
+       SEEK_CUR                        = 1
+       SEEK_END                        = 2
+       SEEK_SET                        = 0
+       SETAUTOCVTALL                   = 5
+       SETAUTOCVTON                    = 2
+       SETCVTALL                       = 4
+       SETCVTOFF                       = 0
+       SETCVTON                        = 1
+       AF_APPLETALK                    = 16
+       AF_CCITT                        = 10
+       AF_CHAOS                        = 5
+       AF_DATAKIT                      = 9
+       AF_DLI                          = 13
+       AF_ECMA                         = 8
+       AF_HYLINK                       = 15
+       AF_IMPLINK                      = 3
+       AF_INET                         = 2
+       AF_INET6                        = 19
+       AF_INTF                         = 20
+       AF_IUCV                         = 17
+       AF_LAT                          = 14
+       AF_LINK                         = 18
+       AF_MAX                          = 30
+       AF_NBS                          = 7
+       AF_NDD                          = 23
+       AF_NETWARE                      = 22
+       AF_NS                           = 6
+       AF_PUP                          = 4
+       AF_RIF                          = 21
+       AF_ROUTE                        = 20
+       AF_SNA                          = 11
+       AF_UNIX                         = 1
+       AF_UNSPEC                       = 0
+       IBMTCP_IMAGE                    = 1
+       MSG_ACK_EXPECTED                = 0x10
+       MSG_ACK_GEN                     = 0x40
+       MSG_ACK_TIMEOUT                 = 0x20
+       MSG_CONNTERM                    = 0x80
+       MSG_CTRUNC                      = 0x20
+       MSG_DONTROUTE                   = 0x4
+       MSG_EOF                         = 0x8000
+       MSG_EOR                         = 0x8
+       MSG_MAXIOVLEN                   = 16
+       MSG_NONBLOCK                    = 0x4000
+       MSG_OOB                         = 0x1
+       MSG_PEEK                        = 0x2
+       MSG_TRUNC                       = 0x10
+       MSG_WAITALL                     = 0x40
+       PRIO_PROCESS                    = 1
+       PRIO_PGRP                       = 2
+       PRIO_USER                       = 3
+       RLIMIT_CPU                      = 0
+       RLIMIT_FSIZE                    = 1
+       RLIMIT_DATA                     = 2
+       RLIMIT_STACK                    = 3
+       RLIMIT_CORE                     = 4
+       RLIMIT_AS                       = 5
+       RLIMIT_NOFILE                   = 6
+       RLIMIT_MEMLIMIT                 = 7
+       RLIM_INFINITY                   = 2147483647
+       SCM_RIGHTS                      = 0x01
+       SF_CLOSE                        = 0x00000002
+       SF_REUSE                        = 0x00000001
+       SHUT_RD                         = 0
+       SHUT_RDWR                       = 2
+       SHUT_WR                         = 1
+       SOCK_CONN_DGRAM                 = 6
+       SOCK_DGRAM                      = 2
+       SOCK_RAW                        = 3
+       SOCK_RDM                        = 4
+       SOCK_SEQPACKET                  = 5
+       SOCK_STREAM                     = 1
+       SOL_SOCKET                      = 0xffff
+       SOMAXCONN                       = 10
+       SO_ACCEPTCONN                   = 0x0002
+       SO_ACCEPTECONNABORTED           = 0x0006
+       SO_ACKNOW                       = 0x7700
+       SO_BROADCAST                    = 0x0020
+       SO_BULKMODE                     = 0x8000
+       SO_CKSUMRECV                    = 0x0800
+       SO_CLOSE                        = 0x01
+       SO_CLUSTERCONNTYPE              = 0x00004001
+       SO_CLUSTERCONNTYPE_INTERNAL     = 8
+       SO_CLUSTERCONNTYPE_NOCONN       = 0
+       SO_CLUSTERCONNTYPE_NONE         = 1
+       SO_CLUSTERCONNTYPE_SAME_CLUSTER = 2
+       SO_CLUSTERCONNTYPE_SAME_IMAGE   = 4
+       SO_DEBUG                        = 0x0001
+       SO_DONTROUTE                    = 0x0010
+       SO_ERROR                        = 0x1007
+       SO_IGNOREINCOMINGPUSH           = 0x1
+       SO_IGNORESOURCEVIPA             = 0x0002
+       SO_KEEPALIVE                    = 0x0008
+       SO_LINGER                       = 0x0080
+       SO_NONBLOCKLOCAL                = 0x8001
+       SO_NOREUSEADDR                  = 0x1000
+       SO_OOBINLINE                    = 0x0100
+       SO_OPTACK                       = 0x8004
+       SO_OPTMSS                       = 0x8003
+       SO_RCVBUF                       = 0x1002
+       SO_RCVLOWAT                     = 0x1004
+       SO_RCVTIMEO                     = 0x1006
+       SO_REUSEADDR                    = 0x0004
+       SO_REUSEPORT                    = 0x0200
+       SO_SECINFO                      = 0x00004002
+       SO_SET                          = 0x0200
+       SO_SNDBUF                       = 0x1001
+       SO_SNDLOWAT                     = 0x1003
+       SO_SNDTIMEO                     = 0x1005
+       SO_TYPE                         = 0x1008
+       SO_UNSET                        = 0x0400
+       SO_USELOOPBACK                  = 0x0040
+       SO_USE_IFBUFS                   = 0x0400
+       S_ISUID                         = 0x0800
+       S_ISGID                         = 0x0400
+       S_ISVTX                         = 0x0200
+       S_IRUSR                         = 0x0100
+       S_IWUSR                         = 0x0080
+       S_IXUSR                         = 0x0040
+       S_IRWXU                         = 0x01C0
+       S_IRGRP                         = 0x0020
+       S_IWGRP                         = 0x0010
+       S_IXGRP                         = 0x0008
+       S_IRWXG                         = 0x0038
+       S_IROTH                         = 0x0004
+       S_IWOTH                         = 0x0002
+       S_IXOTH                         = 0x0001
+       S_IRWXO                         = 0x0007
+       S_IREAD                         = S_IRUSR
+       S_IWRITE                        = S_IWUSR
+       S_IEXEC                         = S_IXUSR
+       S_IFDIR                         = 0x01000000
+       S_IFCHR                         = 0x02000000
+       S_IFREG                         = 0x03000000
+       S_IFFIFO                        = 0x04000000
+       S_IFIFO                         = 0x04000000
+       S_IFLNK                         = 0x05000000
+       S_IFBLK                         = 0x06000000
+       S_IFSOCK                        = 0x07000000
+       S_IFVMEXTL                      = 0xFE000000
+       S_IFVMEXTL_EXEC                 = 0x00010000
+       S_IFVMEXTL_DATA                 = 0x00020000
+       S_IFVMEXTL_MEL                  = 0x00030000
+       S_IFEXTL                        = 0x00000001
+       S_IFPROGCTL                     = 0x00000002
+       S_IFAPFCTL                      = 0x00000004
+       S_IFNOSHARE                     = 0x00000008
+       S_IFSHARELIB                    = 0x00000010
+       S_IFMT                          = 0xFF000000
+       S_IFMST                         = 0x00FF0000
+       TCP_KEEPALIVE                   = 0x8
+       TCP_NODELAY                     = 0x1
+       TIOCGWINSZ                      = 0x4008a368
+       TIOCSWINSZ                      = 0x8008a367
+       TIOCSBRK                        = 0x2000a77b
+       TIOCCBRK                        = 0x2000a77a
+       TIOCSTI                         = 0x8001a772
+       TIOCGPGRP                       = 0x4004a777 // _IOR(167, 119, int)
+       TCSANOW                         = 0
+       TCSETS                          = 0 // equivalent to TCSANOW for tcsetattr
+       TCSADRAIN                       = 1
+       TCSETSW                         = 1 // equivalent to TCSADRAIN for tcsetattr
+       TCSAFLUSH                       = 2
+       TCSETSF                         = 2 // equivalent to TCSAFLUSH for tcsetattr
+       TCGETS                          = 3 // not defined in ioctl.h -- zos golang only
+       TCIFLUSH                        = 0
+       TCOFLUSH                        = 1
+       TCIOFLUSH                       = 2
+       TCOOFF                          = 0
+       TCOON                           = 1
+       TCIOFF                          = 2
+       TCION                           = 3
+       TIOCSPGRP                       = 0x8004a776
+       TIOCNOTTY                       = 0x2000a771
+       TIOCEXCL                        = 0x2000a70d
+       TIOCNXCL                        = 0x2000a70e
+       TIOCGETD                        = 0x4004a700
+       TIOCSETD                        = 0x8004a701
+       TIOCPKT                         = 0x8004a770
+       TIOCSTOP                        = 0x2000a76f
+       TIOCSTART                       = 0x2000a76e
+       TIOCUCNTL                       = 0x8004a766
+       TIOCREMOTE                      = 0x8004a769
+       TIOCMGET                        = 0x4004a76a
+       TIOCMSET                        = 0x8004a76d
+       TIOCMBIC                        = 0x8004a76b
+       TIOCMBIS                        = 0x8004a76c
+       VINTR                           = 0
+       VQUIT                           = 1
+       VERASE                          = 2
+       VKILL                           = 3
+       VEOF                            = 4
+       VEOL                            = 5
+       VMIN                            = 6
+       VSTART                          = 7
+       VSTOP                           = 8
+       VSUSP                           = 9
+       VTIME                           = 10
+       WCONTINUED                      = 0x4
+       WNOHANG                         = 0x1
+       WUNTRACED                       = 0x2
+       _BPX_SWAP                       = 1
+       _BPX_NONSWAP                    = 2
+       MCL_CURRENT                     = 1  // for Linux compatibility -- no zos semantics
+       MCL_FUTURE                      = 2  // for Linux compatibility -- no zos semantics
+       MCL_ONFAULT                     = 3  // for Linux compatibility -- no zos semantics
+       MADV_NORMAL                     = 0  // for Linux compatibility -- no zos semantics
+       MADV_RANDOM                     = 1  // for Linux compatibility -- no zos semantics
+       MADV_SEQUENTIAL                 = 2  // for Linux compatibility -- no zos semantics
+       MADV_WILLNEED                   = 3  // for Linux compatibility -- no zos semantics
+       MADV_REMOVE                     = 4  // for Linux compatibility -- no zos semantics
+       MADV_DONTFORK                   = 5  // for Linux compatibility -- no zos semantics
+       MADV_DOFORK                     = 6  // for Linux compatibility -- no zos semantics
+       MADV_HWPOISON                   = 7  // for Linux compatibility -- no zos semantics
+       MADV_MERGEABLE                  = 8  // for Linux compatibility -- no zos semantics
+       MADV_UNMERGEABLE                = 9  // for Linux compatibility -- no zos semantics
+       MADV_SOFT_OFFLINE               = 10 // for Linux compatibility -- no zos semantics
+       MADV_HUGEPAGE                   = 11 // for Linux compatibility -- no zos semantics
+       MADV_NOHUGEPAGE                 = 12 // for Linux compatibility -- no zos semantics
+       MADV_DONTDUMP                   = 13 // for Linux compatibility -- no zos semantics
+       MADV_DODUMP                     = 14 // for Linux compatibility -- no zos semantics
+       MADV_FREE                       = 15 // for Linux compatibility -- no zos semantics
+       MADV_WIPEONFORK                 = 16 // for Linux compatibility -- no zos semantics
+       MADV_KEEPONFORK                 = 17 // for Linux compatibility -- no zos semantics
+       AT_SYMLINK_NOFOLLOW             = 1  // for Unix  compatibility -- no zos semantics
+       AT_FDCWD                        = 2  // for Unix  compatibility -- no zos semantics
+)
+
+const (
+       EDOM               = Errno(1)
+       ERANGE             = Errno(2)
+       EACCES             = Errno(111)
+       EAGAIN             = Errno(112)
+       EBADF              = Errno(113)
+       EBUSY              = Errno(114)
+       ECHILD             = Errno(115)
+       EDEADLK            = Errno(116)
+       EEXIST             = Errno(117)
+       EFAULT             = Errno(118)
+       EFBIG              = Errno(119)
+       EINTR              = Errno(120)
+       EINVAL             = Errno(121)
+       EIO                = Errno(122)
+       EISDIR             = Errno(123)
+       EMFILE             = Errno(124)
+       EMLINK             = Errno(125)
+       ENAMETOOLONG       = Errno(126)
+       ENFILE             = Errno(127)
+       ENODEV             = Errno(128)
+       ENOENT             = Errno(129)
+       ENOEXEC            = Errno(130)
+       ENOLCK             = Errno(131)
+       ENOMEM             = Errno(132)
+       ENOSPC             = Errno(133)
+       ENOSYS             = Errno(134)
+       ENOTDIR            = Errno(135)
+       ENOTEMPTY          = Errno(136)
+       ENOTTY             = Errno(137)
+       ENXIO              = Errno(138)
+       EPERM              = Errno(139)
+       EPIPE              = Errno(140)
+       EROFS              = Errno(141)
+       ESPIPE             = Errno(142)
+       ESRCH              = Errno(143)
+       EXDEV              = Errno(144)
+       E2BIG              = Errno(145)
+       ELOOP              = Errno(146)
+       EILSEQ             = Errno(147)
+       ENODATA            = Errno(148)
+       EOVERFLOW          = Errno(149)
+       EMVSNOTUP          = Errno(150)
+       ECMSSTORAGE        = Errno(151)
+       EMVSDYNALC         = Errno(151)
+       EMVSCVAF           = Errno(152)
+       EMVSCATLG          = Errno(153)
+       ECMSINITIAL        = Errno(156)
+       EMVSINITIAL        = Errno(156)
+       ECMSERR            = Errno(157)
+       EMVSERR            = Errno(157)
+       EMVSPARM           = Errno(158)
+       ECMSPFSFILE        = Errno(159)
+       EMVSPFSFILE        = Errno(159)
+       EMVSBADCHAR        = Errno(160)
+       ECMSPFSPERM        = Errno(162)
+       EMVSPFSPERM        = Errno(162)
+       EMVSSAFEXTRERR     = Errno(163)
+       EMVSSAF2ERR        = Errno(164)
+       EMVSTODNOTSET      = Errno(165)
+       EMVSPATHOPTS       = Errno(166)
+       EMVSNORTL          = Errno(167)
+       EMVSEXPIRE         = Errno(168)
+       EMVSPASSWORD       = Errno(169)
+       EMVSWLMERROR       = Errno(170)
+       EMVSCPLERROR       = Errno(171)
+       EMVSARMERROR       = Errno(172)
+       ELENOFORK          = Errno(200)
+       ELEMSGERR          = Errno(201)
+       EFPMASKINV         = Errno(202)
+       EFPMODEINV         = Errno(203)
+       EBUFLEN            = Errno(227)
+       EEXTLINK           = Errno(228)
+       ENODD              = Errno(229)
+       ECMSESMERR         = Errno(230)
+       ECPERR             = Errno(231)
+       ELEMULTITHREAD     = Errno(232)
+       ELEFENCE           = Errno(244)
+       EBADDATA           = Errno(245)
+       EUNKNOWN           = Errno(246)
+       ENOTSUP            = Errno(247)
+       EBADNAME           = Errno(248)
+       ENOTSAFE           = Errno(249)
+       ELEMULTITHREADFORK = Errno(257)
+       ECUNNOENV          = Errno(258)
+       ECUNNOCONV         = Errno(259)
+       ECUNNOTALIGNED     = Errno(260)
+       ECUNERR            = Errno(262)
+       EIBMBADCALL        = Errno(1000)
+       EIBMBADPARM        = Errno(1001)
+       EIBMSOCKOUTOFRANGE = Errno(1002)
+       EIBMSOCKINUSE      = Errno(1003)
+       EIBMIUCVERR        = Errno(1004)
+       EOFFLOADboxERROR   = Errno(1005)
+       EOFFLOADboxRESTART = Errno(1006)
+       EOFFLOADboxDOWN    = Errno(1007)
+       EIBMCONFLICT       = Errno(1008)
+       EIBMCANCELLED      = Errno(1009)
+       EIBMBADTCPNAME     = Errno(1011)
+       ENOTBLK            = Errno(1100)
+       ETXTBSY            = Errno(1101)
+       EWOULDBLOCK        = Errno(1102)
+       EINPROGRESS        = Errno(1103)
+       EALREADY           = Errno(1104)
+       ENOTSOCK           = Errno(1105)
+       EDESTADDRREQ       = Errno(1106)
+       EMSGSIZE           = Errno(1107)
+       EPROTOTYPE         = Errno(1108)
+       ENOPROTOOPT        = Errno(1109)
+       EPROTONOSUPPORT    = Errno(1110)
+       ESOCKTNOSUPPORT    = Errno(1111)
+       EOPNOTSUPP         = Errno(1112)
+       EPFNOSUPPORT       = Errno(1113)
+       EAFNOSUPPORT       = Errno(1114)
+       EADDRINUSE         = Errno(1115)
+       EADDRNOTAVAIL      = Errno(1116)
+       ENETDOWN           = Errno(1117)
+       ENETUNREACH        = Errno(1118)
+       ENETRESET          = Errno(1119)
+       ECONNABORTED       = Errno(1120)
+       ECONNRESET         = Errno(1121)
+       ENOBUFS            = Errno(1122)
+       EISCONN            = Errno(1123)
+       ENOTCONN           = Errno(1124)
+       ESHUTDOWN          = Errno(1125)
+       ETOOMANYREFS       = Errno(1126)
+       ETIMEDOUT          = Errno(1127)
+       ECONNREFUSED       = Errno(1128)
+       EHOSTDOWN          = Errno(1129)
+       EHOSTUNREACH       = Errno(1130)
+       EPROCLIM           = Errno(1131)
+       EUSERS             = Errno(1132)
+       EDQUOT             = Errno(1133)
+       ESTALE             = Errno(1134)
+       EREMOTE            = Errno(1135)
+       ENOSTR             = Errno(1136)
+       ETIME              = Errno(1137)
+       ENOSR              = Errno(1138)
+       ENOMSG             = Errno(1139)
+       EBADMSG            = Errno(1140)
+       EIDRM              = Errno(1141)
+       ENONET             = Errno(1142)
+       ERREMOTE           = Errno(1143)
+       ENOLINK            = Errno(1144)
+       EADV               = Errno(1145)
+       ESRMNT             = Errno(1146)
+       ECOMM              = Errno(1147)
+       EPROTO             = Errno(1148)
+       EMULTIHOP          = Errno(1149)
+       EDOTDOT            = Errno(1150)
+       EREMCHG            = Errno(1151)
+       ECANCELED          = Errno(1152)
+       EINTRNODATA        = Errno(1159)
+       ENOREUSE           = Errno(1160)
+       ENOMOVE            = Errno(1161)
+)
+
+// Signals
+const (
+       SIGHUP    = Signal(1)
+       SIGINT    = Signal(2)
+       SIGABRT   = Signal(3)
+       SIGILL    = Signal(4)
+       SIGPOLL   = Signal(5)
+       SIGURG    = Signal(6)
+       SIGSTOP   = Signal(7)
+       SIGFPE    = Signal(8)
+       SIGKILL   = Signal(9)
+       SIGBUS    = Signal(10)
+       SIGSEGV   = Signal(11)
+       SIGSYS    = Signal(12)
+       SIGPIPE   = Signal(13)
+       SIGALRM   = Signal(14)
+       SIGTERM   = Signal(15)
+       SIGUSR1   = Signal(16)
+       SIGUSR2   = Signal(17)
+       SIGABND   = Signal(18)
+       SIGCONT   = Signal(19)
+       SIGCHLD   = Signal(20)
+       SIGTTIN   = Signal(21)
+       SIGTTOU   = Signal(22)
+       SIGIO     = Signal(23)
+       SIGQUIT   = Signal(24)
+       SIGTSTP   = Signal(25)
+       SIGTRAP   = Signal(26)
+       SIGIOERR  = Signal(27)
+       SIGWINCH  = Signal(28)
+       SIGXCPU   = Signal(29)
+       SIGXFSZ   = Signal(30)
+       SIGVTALRM = Signal(31)
+       SIGPROF   = Signal(32)
+       SIGDANGER = Signal(33)
+       SIGTHSTOP = Signal(34)
+       SIGTHCONT = Signal(35)
+       SIGTRACE  = Signal(37)
+       SIGDCE    = Signal(38)
+       SIGDUMP   = Signal(39)
+)
+
+// Error table
+var errorList = [...]struct {
+       num  Errno
+       name string
+       desc string
+}{
+       {1, "EDC5001I", "A domain error occurred."},
+       {2, "EDC5002I", "A range error occurred."},
+       {111, "EDC5111I", "Permission denied."},
+       {112, "EDC5112I", "Resource temporarily unavailable."},
+       {113, "EDC5113I", "Bad file descriptor."},
+       {114, "EDC5114I", "Resource busy."},
+       {115, "EDC5115I", "No child processes."},
+       {116, "EDC5116I", "Resource deadlock avoided."},
+       {117, "EDC5117I", "File exists."},
+       {118, "EDC5118I", "Incorrect address."},
+       {119, "EDC5119I", "File too large."},
+       {120, "EDC5120I", "Interrupted function call."},
+       {121, "EDC5121I", "Invalid argument."},
+       {122, "EDC5122I", "Input/output error."},
+       {123, "EDC5123I", "Is a directory."},
+       {124, "EDC5124I", "Too many open files."},
+       {125, "EDC5125I", "Too many links."},
+       {126, "EDC5126I", "Filename too long."},
+       {127, "EDC5127I", "Too many open files in system."},
+       {128, "EDC5128I", "No such device."},
+       {129, "EDC5129I", "No such file or directory."},
+       {130, "EDC5130I", "Exec format error."},
+       {131, "EDC5131I", "No locks available."},
+       {132, "EDC5132I", "Not enough memory."},
+       {133, "EDC5133I", "No space left on device."},
+       {134, "EDC5134I", "Function not implemented."},
+       {135, "EDC5135I", "Not a directory."},
+       {136, "EDC5136I", "Directory not empty."},
+       {137, "EDC5137I", "Inappropriate I/O control operation."},
+       {138, "EDC5138I", "No such device or address."},
+       {139, "EDC5139I", "Operation not permitted."},
+       {140, "EDC5140I", "Broken pipe."},
+       {141, "EDC5141I", "Read-only file system."},
+       {142, "EDC5142I", "Invalid seek."},
+       {143, "EDC5143I", "No such process."},
+       {144, "EDC5144I", "Improper link."},
+       {145, "EDC5145I", "The parameter list is too long, or the message to receive was too large for the buffer."},
+       {146, "EDC5146I", "Too many levels of symbolic links."},
+       {147, "EDC5147I", "Illegal byte sequence."},
+       {148, "", ""},
+       {149, "EDC5149I", "Value Overflow Error."},
+       {150, "EDC5150I", "UNIX System Services is not active."},
+       {151, "EDC5151I", "Dynamic allocation error."},
+       {152, "EDC5152I", "Common VTOC access facility (CVAF) error."},
+       {153, "EDC5153I", "Catalog obtain error."},
+       {156, "EDC5156I", "Process initialization error."},
+       {157, "EDC5157I", "An internal error has occurred."},
+       {158, "EDC5158I", "Bad parameters were passed to the service."},
+       {159, "EDC5159I", "The Physical File System encountered a permanent file error."},
+       {160, "EDC5160I", "Bad character in environment variable name."},
+       {162, "EDC5162I", "The Physical File System encountered a system error."},
+       {163, "EDC5163I", "SAF/RACF extract error."},
+       {164, "EDC5164I", "SAF/RACF error."},
+       {165, "EDC5165I", "System TOD clock not set."},
+       {166, "EDC5166I", "Access mode argument on function call conflicts with PATHOPTS parameter on JCL DD statement."},
+       {167, "EDC5167I", "Access to the UNIX System Services version of the C RTL is denied."},
+       {168, "EDC5168I", "Password has expired."},
+       {169, "EDC5169I", "Password is invalid."},
+       {170, "EDC5170I", "An error was encountered with WLM."},
+       {171, "EDC5171I", "An error was encountered with CPL."},
+       {172, "EDC5172I", "An error was encountered with Application Response Measurement (ARM) component."},
+       {200, "EDC5200I", "The application contains a Language Environment member language that cannot tolerate a fork()."},
+       {201, "EDC5201I", "The Language Environment message file was not found in the hierarchical file system."},
+       {202, "EDC5202E", "DLL facilities are not supported under SPC environment."},
+       {203, "EDC5203E", "DLL facilities are not supported under POSIX environment."},
+       {227, "EDC5227I", "Buffer is not long enough to contain a path definition"},
+       {228, "EDC5228I", "The file referred to is an external link"},
+       {229, "EDC5229I", "No path definition for ddname in effect"},
+       {230, "EDC5230I", "ESM error."},
+       {231, "EDC5231I", "CP or the external security manager had an error"},
+       {232, "EDC5232I", "The function failed because it was invoked from a multithread environment."},
+       {244, "EDC5244I", "The program, module or DLL is not supported in this environment."},
+       {245, "EDC5245I", "Data is not valid."},
+       {246, "EDC5246I", "Unknown system state."},
+       {247, "EDC5247I", "Operation not supported."},
+       {248, "EDC5248I", "The object name specified is not correct."},
+       {249, "EDC5249I", "The function is not allowed."},
+       {257, "EDC5257I", "Function cannot be called in the child process of a fork() from a multithreaded process until exec() is called."},
+       {258, "EDC5258I", "A CUN_RS_NO_UNI_ENV error was issued by Unicode Services."},
+       {259, "EDC5259I", "A CUN_RS_NO_CONVERSION error was issued by Unicode Services."},
+       {260, "EDC5260I", "A CUN_RS_TABLE_NOT_ALIGNED error was issued by Unicode Services."},
+       {262, "EDC5262I", "An iconv() function encountered an unexpected error while using Unicode Services."},
+       {1000, "EDC8000I", "A bad socket-call constant was found in the IUCV header."},
+       {1001, "EDC8001I", "An error was found in the IUCV header."},
+       {1002, "EDC8002I", "A socket descriptor is out of range."},
+       {1003, "EDC8003I", "A socket descriptor is in use."},
+       {1004, "EDC8004I", "Request failed because of an IUCV error."},
+       {1005, "EDC8005I", "Offload box error."},
+       {1006, "EDC8006I", "Offload box restarted."},
+       {1007, "EDC8007I", "Offload box down."},
+       {1008, "EDC8008I", "Already a conflicting call outstanding on socket."},
+       {1009, "EDC8009I", "Request cancelled using a SOCKcallCANCEL request."},
+       {1011, "EDC8011I", "A name of a PFS was specified that either is not configured or is not a Sockets PFS."},
+       {1100, "EDC8100I", "Block device required."},
+       {1101, "EDC8101I", "Text file busy."},
+       {1102, "EDC8102I", "Operation would block."},
+       {1103, "EDC8103I", "Operation now in progress."},
+       {1104, "EDC8104I", "Connection already in progress."},
+       {1105, "EDC8105I", "Socket operation on non-socket."},
+       {1106, "EDC8106I", "Destination address required."},
+       {1107, "EDC8107I", "Message too long."},
+       {1108, "EDC8108I", "Protocol wrong type for socket."},
+       {1109, "EDC8109I", "Protocol not available."},
+       {1110, "EDC8110I", "Protocol not supported."},
+       {1111, "EDC8111I", "Socket type not supported."},
+       {1112, "EDC8112I", "Operation not supported on socket."},
+       {1113, "EDC8113I", "Protocol family not supported."},
+       {1114, "EDC8114I", "Address family not supported."},
+       {1115, "EDC8115I", "Address already in use."},
+       {1116, "EDC8116I", "Address not available."},
+       {1117, "EDC8117I", "Network is down."},
+       {1118, "EDC8118I", "Network is unreachable."},
+       {1119, "EDC8119I", "Network dropped connection on reset."},
+       {1120, "EDC8120I", "Connection ended abnormally."},
+       {1121, "EDC8121I", "Connection reset."},
+       {1122, "EDC8122I", "No buffer space available."},
+       {1123, "EDC8123I", "Socket already connected."},
+       {1124, "EDC8124I", "Socket not connected."},
+       {1125, "EDC8125I", "Can't send after socket shutdown."},
+       {1126, "EDC8126I", "Too many references; can't splice."},
+       {1127, "EDC8127I", "Connection timed out."},
+       {1128, "EDC8128I", "Connection refused."},
+       {1129, "EDC8129I", "Host is not available."},
+       {1130, "EDC8130I", "Host cannot be reached."},
+       {1131, "EDC8131I", "Too many processes."},
+       {1132, "EDC8132I", "Too many users."},
+       {1133, "EDC8133I", "Disk quota exceeded."},
+       {1134, "EDC8134I", "Stale file handle."},
+       {1135, "", ""},
+       {1136, "EDC8136I", "File is not a STREAM."},
+       {1137, "EDC8137I", "STREAMS ioctl() timeout."},
+       {1138, "EDC8138I", "No STREAMS resources."},
+       {1139, "EDC8139I", "The message identified by set_id and msg_id is not in the message catalog."},
+       {1140, "EDC8140I", "Bad message."},
+       {1141, "EDC8141I", "Identifier removed."},
+       {1142, "", ""},
+       {1143, "", ""},
+       {1144, "EDC8144I", "The link has been severed."},
+       {1145, "", ""},
+       {1146, "", ""},
+       {1147, "", ""},
+       {1148, "EDC8148I", "Protocol error."},
+       {1149, "EDC8149I", "Multihop not allowed."},
+       {1150, "", ""},
+       {1151, "", ""},
+       {1152, "EDC8152I", "The asynchronous I/O request has been canceled."},
+       {1159, "EDC8159I", "Function call was interrupted before any data was received."},
+       {1160, "EDC8160I", "Socket reuse is not supported."},
+       {1161, "EDC8161I", "The file system cannot currently be moved."},
+}
+
+// Signal table
+var signalList = [...]struct {
+       num  Signal
+       name string
+       desc string
+}{
+       {1, "SIGHUP", "hangup"},
+       {2, "SIGINT", "interrupt"},
+       {3, "SIGABT", "aborted"},
+       {4, "SIGILL", "illegal instruction"},
+       {5, "SIGPOLL", "pollable event"},
+       {6, "SIGURG", "urgent I/O condition"},
+       {7, "SIGSTOP", "stop process"},
+       {8, "SIGFPE", "floating point exception"},
+       {9, "SIGKILL", "killed"},
+       {10, "SIGBUS", "bus error"},
+       {11, "SIGSEGV", "segmentation fault"},
+       {12, "SIGSYS", "bad argument to routine"},
+       {13, "SIGPIPE", "broken pipe"},
+       {14, "SIGALRM", "alarm clock"},
+       {15, "SIGTERM", "terminated"},
+       {16, "SIGUSR1", "user defined signal 1"},
+       {17, "SIGUSR2", "user defined signal 2"},
+       {18, "SIGABND", "abend"},
+       {19, "SIGCONT", "continued"},
+       {20, "SIGCHLD", "child exited"},
+       {21, "SIGTTIN", "stopped (tty input)"},
+       {22, "SIGTTOU", "stopped (tty output)"},
+       {23, "SIGIO", "I/O possible"},
+       {24, "SIGQUIT", "quit"},
+       {25, "SIGTSTP", "stopped"},
+       {26, "SIGTRAP", "trace/breakpoint trap"},
+       {27, "SIGIOER", "I/O error"},
+       {28, "SIGWINCH", "window changed"},
+       {29, "SIGXCPU", "CPU time limit exceeded"},
+       {30, "SIGXFSZ", "file size limit exceeded"},
+       {31, "SIGVTALRM", "virtual timer expired"},
+       {32, "SIGPROF", "profiling timer expired"},
+       {33, "SIGDANGER", "danger"},
+       {34, "SIGTHSTOP", "stop thread"},
+       {35, "SIGTHCONT", "continue thread"},
+       {37, "SIGTRACE", "trace"},
+       {38, "", "DCE"},
+       {39, "SIGDUMP", "dump"},
+}
index 89c5920e0cb89ef8dbc46be83a6ab95c4620ed8d..bd001a6e1cc714825d2ef2f103c7f05ae078959d 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
 
+//go:build linux && (arm || arm64)
 // +build linux
 // +build arm arm64
 
index 24b841eec509b7bbc52e71681984b9f81b181544..c34d0639be3aa3d4c8c514830d976255e1ad802b 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT.
 
+//go:build linux && (mips || mips64)
 // +build linux
 // +build mips mips64
 
index 47b04895651059388a34b34fbc3d45821bb60e29..3ccf0c0c4a80cad2ead3d11a4cae924f4cf6845c 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT.
 
+//go:build linux && (mipsle || mips64le)
 // +build linux
 // +build mipsle mips64le
 
index ea5d9cb536cb0dd41452542ecc5b651bf36121ac..7d65857004c447cc13b0fc4c97247c81a525beb2 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
 
+//go:build linux && (386 || amd64)
 // +build linux
 // +build 386 amd64
 
index ed657ff1bc0bb836981cabaa5e077570cb8413ab..91a23cc72874d9e7f7a135dffe0ec8abea80a055 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build aix && ppc
 // +build aix,ppc
 
 package unix
index 664b293b4317018cc6c0fa5511d09434c9f7498a..33c2609b8b406eecd4228b00c24ccfb5c1389a2f 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build aix && ppc64
 // +build aix,ppc64
 
 package unix
index 0550da06d14724eb73bad3511728704e55f0d677..8b737fa971e8535fb4b95759df8ce3cc2ae6a24d 100644 (file)
@@ -1,8 +1,8 @@
 // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
-// +build aix,ppc64
-// +build gc
+//go:build aix && ppc64 && gc
+// +build aix,ppc64,gc
 
 package unix
 
index cde4dbc5f543cd5eedd6d974904e2a153c39b377..3c260917ed59067fbbe14ab74a6b13a51276a894 100644 (file)
@@ -1,8 +1,8 @@
 // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
-// +build aix,ppc64
-// +build gccgo
+//go:build aix && ppc64 && gccgo
+// +build aix,ppc64,gccgo
 
 package unix
 
index c8c142c59a093360314cad3ac6dda1800ef41635..48a62e39062cc1db5ea7de81266835c8b69207ac 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags darwin,386,go1.13 syscall_darwin.1_13.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && 386 && go1.13
 // +build darwin,386,go1.13
 
 package unix
index 3877183483f1f4d2c91c8fd92545ca50ab3f0dc2..a266636af67e7d62158f5648813e8bf2452654ed 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && 386 && go1.12
 // +build darwin,386,go1.12
 
 package unix
index 88826236136bb726020e3336bd427fa3b4499286..e36299ead094e29bc3814aec40194335c230b4ab 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && amd64 && go1.13
 // +build darwin,amd64,go1.13
 
 package unix
index 508e5639bf4a18c8227703b69a48281ea283b601..f4111628823bf1c0b37ba07397528cdea969676c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && amd64 && go1.12
 // +build darwin,amd64,go1.12
 
 package unix
index de4738fff80079cdedc0cb2145220b1d49793fdd..ed437f89a9e305822b0f8fe1ef45d8ee5bd6a940 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags darwin,arm,go1.13 syscall_darwin.1_13.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && arm && go1.13
 // +build darwin,arm,go1.13
 
 package unix
index c0c771f4025d3b17123bb350f2588427773096dc..7f88cb5ea22d7f177c8b7b2d5bb406f6fe3c84cd 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && arm && go1.12
 // +build darwin,arm,go1.12
 
 package unix
index 870eb37abf578d5f61089ae5e3e6841824031053..d30ec4e29a0175e09af2bd654285892fd1ab831c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && arm64 && go1.13
 // +build darwin,arm64,go1.13
 
 package unix
index 9b01a79c41ea67d0d4b73a5b7c4e176a8b394f40..a10df58d00e1faf0de1059e521faca05a2d54cad 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build darwin && arm64 && go1.12
 // +build darwin,arm64,go1.12
 
 package unix
index 104f77d5b82abf9dd61aca3ce8013d640d093a38..1b6eedfa61159ed773b2154a6a4d0abfb9fba505 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build dragonfly && amd64
 // +build dragonfly,amd64
 
 package unix
@@ -362,8 +363,8 @@ func pipe() (r int, w int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe2(flags int) (r int, w int, err error) {
-       r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(flags), 0, 0)
+func pipe2(p *[2]_C_int, flags int) (r int, w int, err error) {
+       r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
        r = int(r0)
        w = int(r1)
        if e1 != 0 {
index 600f1d26d2118a443e73fc079c1aabd76954cf18..3e9bddb7b22459c7627d17c48f3571a17375b859 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build freebsd && 386
 // +build freebsd,386
 
 package unix
index 064934b0d13275e260f5f06c3ca78810addb95ab..c72a462b91e19c2d338b2e69c4de862eb6e6927b 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build freebsd && amd64
 // +build freebsd,amd64
 
 package unix
index 31d2c46165786a924d950905a40a28fefc7bd647..530d5df90c0cf9d60a19f075099c86fd6cfeffd7 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build freebsd && arm
 // +build freebsd,arm
 
 package unix
index 4adaaa56183e19a4abb063482c330a25a8e0298f..71e7df9e8558d719c16c2c077c77b3de09cead9f 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags freebsd,arm64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build freebsd && arm64
 // +build freebsd,arm64
 
 package unix
index 665dd9e4b49e3741fd5e210a02f2b250249c53d1..b57c7050d7a84059bc648a8babebd610627e1048 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall_solaris.go -illumos -tags illumos,amd64 syscall_illumos.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build illumos && amd64
 // +build illumos,amd64
 
 package unix
index 2fbbbe5a898ba9a0c082ff2046e4c66ff8724f6a..3ee26f4ad169d43f45e7c9b5f3ddd4e9880e9b63 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by mkmerge.go; DO NOT EDIT.
 
+//go:build linux
 // +build linux
 
 package unix
index 19ebd3ff75f9bbe6fe2b6d0f20edbecca42811fb..e37096e4deccb9e6dbde1e97c74d31cb5ff223dd 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && 386
 // +build linux,386
 
 package unix
index 5c562182a198bd4675a1ceb084babd9bdc998a30..9919d8486d41b95ba98830c3b4ce1feb35f7fec4 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && amd64
 // +build linux,amd64
 
 package unix
index dc69d99c6129f4e96415e359fd69bb15607bac4f..076754d48d1d8fa194ce1ad0c41d45b1e79f45ad 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && arm
 // +build linux,arm
 
 package unix
index 1b897dee05d1b98a709945d35c9590a439040c09..e893f987f91de672ba121bff0765d76874ed91e7 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && arm64
 // +build linux,arm64
 
 package unix
index 49186843ae5216985ef7399ab2d94feb75d9fe25..4703cf3c3385b8d58531e908eaa2da0c5c98e6af 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && mips
 // +build linux,mips
 
 package unix
index 9171d3bd2a69a07194b186d98dabe50f1ebdb82d..a134f9a4d2e06bd3416b247cb9c3a0138204840a 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && mips64
 // +build linux,mips64
 
 package unix
index 82286f04f9a3df75a422551a7565b41d8fd22b59..b1fff2d946a225f91ffeacebfcebe78f6d34559a 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && mips64le
 // +build linux,mips64le
 
 package unix
index 15920621c473e06bb4cdf0dbd4cedc161a1ca48f..d13d6da01ef899f932f2cd1f4d33de6a3e124e3a 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && mipsle
 // +build linux,mipsle
 
 package unix
index 73a42e2ccbaa18549a2aed06828d3eb4e9c2c8b6..da8ec0396665bdae6808bac03e444691d9d0b950 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && ppc64
 // +build linux,ppc64
 
 package unix
index 6b85595366a1032d44e8307ab097fd928a34b113..083f493bb6f473f1e8f7df4ae0d3f328c734d94c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && ppc64le
 // +build linux,ppc64le
 
 package unix
index b76133447e8a1e346c0bd57d2e4e90be38ef18c4..63b393b8027d4c03d00e2e29d684e0359797a038 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && riscv64
 // +build linux,riscv64
 
 package unix
index d7032ab1e4ad85de61475a198f1703297f4591f2..bb347407d3d476cb80148854ae30679c49aed5ea 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && s390x
 // +build linux,s390x
 
 package unix
index bcbbdd906e8a619ae7eeb06527409125e286d3dc..8edc517e1e65c0ea38b95acdfb38f8eee28390bc 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build linux && sparc64
 // +build linux,sparc64
 
 package unix
index 1d6f71d99ad6b7bce0f0c219941bb86fddfe6b2a..4726ab30a8fa6586fb581584c53f625370cb1fc8 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build netbsd && 386
 // +build netbsd,386
 
 package unix
index 82f50506adb8b2561969206a2e5ee3ead4d09c0c..fe71456dbc0f865be5f241cdd32f13f4ca90dc04 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build netbsd && amd64
 // +build netbsd,amd64
 
 package unix
index b4db55a0c84b5dc54563fdfe3f1d12c94bac7e47..0b5b2f0143bea88fc032d7813e9f5f8212bcdfdc 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build netbsd && arm
 // +build netbsd,arm
 
 package unix
index e9f6d7975a4fb5eab07dbf3627c81afa6333c4fc..bfca28648fb594940ee2fa6b827defbaf102bc2e 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build netbsd && arm64
 // +build netbsd,arm64
 
 package unix
index b44b31aeb161449339079b222212c85bb0ee3054..8f80f4ade511ed32fc04ef63ea1b083888f44199 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build openbsd && 386
 // +build openbsd,386
 
 package unix
index 67f93ee76d8c31c274095af15c2364603a4b5791..3a47aca7bf70d42b7a5d0f3f49204e5f775107b2 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build openbsd && amd64
 // +build openbsd,amd64
 
 package unix
index d7c878b1d0a814f82df0eb407da3c2174c81b136..883a9b45e8e22627ecdcf812099158629341d45c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build openbsd && arm
 // +build openbsd,arm
 
 package unix
index 8facd695d5ac29c2e1714963a6e8eb58019f6a4b..aac7fdc95e28a5127e47f00f56eae8869463c71b 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build openbsd && arm64
 // +build openbsd,arm64
 
 package unix
index ec6bd5bb73aa197527185ab4bafed3cf3856f81b..8776187462b740b01d42c75b234231604e859958 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall.go -openbsd -tags openbsd,mips64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_mips64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build openbsd && mips64
 // +build openbsd,mips64
 
 package unix
index 9898ce1f47784194e7985c02c57f82ae5288a364..7099f555aa4c6d480484ea2f9b1627c1d71f476c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build solaris && amd64
 // +build solaris,amd64
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
new file mode 100644 (file)
index 0000000..8285ab8
--- /dev/null
@@ -0,0 +1,1217 @@
+// go run mksyscall.go -tags zos,s390x syscall_zos_s390x.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+import (
+       "unsafe"
+)
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntl(fd int, cmd int, arg int) (val int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
+       val = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func read(fd int, p []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func write(fd int, p []byte) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
+       r0, _, e1 := syscall_syscall(SYS___ACCEPT_A, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
+       _, _, e1 := syscall_syscall(SYS___BIND_A, uintptr(s), uintptr(addr), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
+       _, _, e1 := syscall_syscall(SYS___CONNECT_A, uintptr(s), uintptr(addr), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getgroups(n int, list *_Gid_t) (nn int, err error) {
+       r0, _, e1 := syscall_rawsyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
+       nn = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setgroups(n int, list *_Gid_t) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
+       _, _, e1 := syscall_syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
+       _, _, e1 := syscall_syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func socket(domain int, typ int, proto int) (fd int, err error) {
+       r0, _, e1 := syscall_rawsyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
+       _, _, e1 := syscall_rawsyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS___GETPEERNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS___GETSOCKNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(SYS___RECVFROM_A, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       _, _, e1 := syscall_syscall6(SYS___SENDTO_A, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
+       r0, _, e1 := syscall_syscall(SYS___RECVMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
+       r0, _, e1 := syscall_syscall(SYS___SENDMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
+       r0, _, e1 := syscall_syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
+       ret = uintptr(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func munmap(addr uintptr, length uintptr) (err error) {
+       _, _, e1 := syscall_syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func ioctl(fd int, req uint, arg uintptr) (err error) {
+       _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Access(path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___ACCESS_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Chdir(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___CHDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Chown(path string, uid int, gid int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___CHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Chmod(path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___CHMOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Creat(path string, mode uint32) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := syscall_syscall(SYS___CREAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int) (fd int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_DUP, uintptr(oldfd), 0, 0)
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup2(oldfd int, newfd int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Exit(code int) {
+       syscall_syscall(SYS_EXIT, uintptr(code), 0, 0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fchdir(fd int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fchmod(fd int, mode uint32) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fchown(fd int, uid int, gid int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
+       retval = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fstat(fd int, stat *Stat_LE_t) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstatvfs(fd int, stat *Statvfs_t) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FSTATVFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fsync(fd int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FSYNC, uintptr(fd), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Ftruncate(fd int, length int64) (err error) {
+       _, _, e1 := syscall_syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getpagesize() (pgsize int) {
+       r0, _, _ := syscall_syscall(SYS_GETPAGESIZE, 0, 0, 0)
+       pgsize = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+       var _p0 unsafe.Pointer
+       if len(b) > 0 {
+               _p0 = unsafe.Pointer(&b[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       _, _, e1 := syscall_syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+       var _p0 unsafe.Pointer
+       if len(b) > 0 {
+               _p0 = unsafe.Pointer(&b[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       _, _, e1 := syscall_syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Poll(fds []PollFd, timeout int) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(fds) > 0 {
+               _p0 = unsafe.Pointer(&fds[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(SYS_POLL, uintptr(_p0), uintptr(len(fds)), uintptr(timeout))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Times(tms *Tms) (ticks uintptr, err error) {
+       r0, _, e1 := syscall_syscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
+       ticks = uintptr(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func W_Getmntent(buff *byte, size int) (lastsys int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_W_GETMNTENT, uintptr(unsafe.Pointer(buff)), uintptr(size), 0)
+       lastsys = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mount(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(filesystem)
+       if err != nil {
+               return
+       }
+       var _p2 *byte
+       _p2, err = BytePtrFromString(fstype)
+       if err != nil {
+               return
+       }
+       var _p3 *byte
+       _p3, err = BytePtrFromString(parm)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall6(SYS___MOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Unmount(filesystem string, mtm int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(filesystem)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___UMOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mtm), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Chroot(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___CHROOT_A, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Uname(buf *Utsname) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS___UNAME_A, uintptr(unsafe.Pointer(buf)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Gethostname(buf []byte) (err error) {
+       var _p0 unsafe.Pointer
+       if len(buf) > 0 {
+               _p0 = unsafe.Pointer(&buf[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       _, _, e1 := syscall_syscall(SYS___GETHOSTNAME_A, uintptr(_p0), uintptr(len(buf)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getegid() (egid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETEGID, 0, 0, 0)
+       egid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Geteuid() (uid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETEUID, 0, 0, 0)
+       uid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getgid() (gid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETGID, 0, 0, 0)
+       gid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getpid() (pid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETPID, 0, 0, 0)
+       pid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getpgid(pid int) (pgid int, err error) {
+       r0, _, e1 := syscall_rawsyscall(SYS_GETPGID, uintptr(pid), 0, 0)
+       pgid = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getppid() (pid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETPPID, 0, 0, 0)
+       pid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getpriority(which int, who int) (prio int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
+       prio = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getrlimit(resource int, rlim *Rlimit) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getrusage(who int, rusage *rusage_zos) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getsid(pid int) (sid int, err error) {
+       r0, _, e1 := syscall_rawsyscall(SYS_GETSID, uintptr(pid), 0, 0)
+       sid = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getuid() (uid int) {
+       r0, _, _ := syscall_rawsyscall(SYS_GETUID, 0, 0, 0)
+       uid = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Kill(pid int, sig Signal) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Lchown(path string, uid int, gid int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___LCHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Link(path string, link string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(link)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___LINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Listen(s int, n int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func lstat(path string, stat *Stat_LE_t) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___LSTAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mkdir(path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___MKDIR_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mkfifo(path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___MKFIFO_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mknod(path string, mode uint32, dev int) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___MKNOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pread(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(p) > 0 {
+               _p0 = unsafe.Pointer(&p[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Readlink(path string, buf []byte) (n int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 unsafe.Pointer
+       if len(buf) > 0 {
+               _p1 = unsafe.Pointer(&buf[0])
+       } else {
+               _p1 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(SYS___READLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Rename(from string, to string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(from)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(to)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___RENAME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Rmdir(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___RMDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Seek(fd int, offset int64, whence int) (off int64, err error) {
+       r0, _, e1 := syscall_syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
+       off = int64(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setpriority(which int, who int, prio int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setpgid(pid int, pgid int) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setrlimit(resource int, lim *Rlimit) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(lim)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setregid(rgid int, egid int) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setreuid(ruid int, euid int) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setsid() (pid int, err error) {
+       r0, _, e1 := syscall_rawsyscall(SYS_SETSID, 0, 0, 0)
+       pid = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setuid(uid int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_SETUID, uintptr(uid), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Setgid(uid int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_SETGID, uintptr(uid), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Shutdown(fd int, how int) (err error) {
+       _, _, e1 := syscall_syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, statLE *Stat_LE_t) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___STAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Symlink(path string, link string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       var _p1 *byte
+       _p1, err = BytePtrFromString(link)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___SYMLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Sync() {
+       syscall_syscall(SYS_SYNC, 0, 0, 0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Truncate(path string, length int64) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___TRUNCATE_A, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Tcgetattr(fildes int, termptr *Termios) (err error) {
+       _, _, e1 := syscall_syscall(SYS_TCGETATTR, uintptr(fildes), uintptr(unsafe.Pointer(termptr)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Tcsetattr(fildes int, when int, termptr *Termios) (err error) {
+       _, _, e1 := syscall_syscall(SYS_TCSETATTR, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr)))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Umask(mask int) (oldmask int) {
+       r0, _, _ := syscall_syscall(SYS_UMASK, uintptr(mask), 0, 0)
+       oldmask = int(r0)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Unlink(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___UNLINK_A, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Utime(path string, utim *Utimbuf) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___UTIME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int, perm uint32) (fd int, err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       r0, _, e1 := syscall_syscall(SYS___OPEN_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+       fd = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) {
+       r0, _, e1 := syscall_syscall(SYS_WAITPID, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options))
+       wpid = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func gettimeofday(tv *timeval_zos) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]_C_int) (err error) {
+       _, _, e1 := syscall_rawsyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func utimes(path string, timeval *[2]Timeval) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := syscall_syscall(SYS___UTIMES_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
index 102f1ab4750b45060370e0f0e9d3d107883261d5..9e9d0b2a9c4524d5f823ffad236323e66e522c2b 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysctl_openbsd.go
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build 386 && openbsd
 // +build 386,openbsd
 
 package unix
index 4866fced8ae8a0de6f381c3b5b920fb911d8bbaf..adecd09667d0d7caf509f4e4ca4158da997c1c78 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysctl_openbsd.go
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build amd64 && openbsd
 // +build amd64,openbsd
 
 package unix
index d3801eb24b38b928738c5018dd9570da10af9aa9..8ea52a4a1810e464a58f8920a97b4189bfc04150 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysctl_openbsd.go
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build arm && openbsd
 // +build arm,openbsd
 
 package unix
index ba4304fd233880953d28ab4a05ceac139f6979c2..154b57ae3e2ad904c49814247ca9ee8a0275db72 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysctl_openbsd.go
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build arm64 && openbsd
 // +build arm64,openbsd
 
 package unix
index aca34b3493379de7edd14a9d0f9c6af05fe6f831..d96bb2ba4db67b80d6d8262b9fa2454556438a07 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysctl_openbsd.go
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build mips64 && openbsd
 // +build mips64,openbsd
 
 package unix
index ad62324c7c14b96d6b377ab8ed5d86957b654655..1794ffc92455e523beee09f2646d1a6f133378c4 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && darwin
 // +build 386,darwin
 
 package unix
index a2fc91d6a80074708b0bc8228c5e4cf4c8638ed2..f8298ff9b58a3582d79da414b74c75f2a417743f 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && darwin
 // +build amd64,darwin
 
 package unix
index 20d7808ace3d6bd938d6a2d9c524da6373e1fe35..6dc736449a5be7b0dcfedeaaac6a83e6d9decc54 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && darwin
 // +build arm,darwin
 
 package unix
index 527b9588cc969894d19fd04931038727706043d6..5eb433bbf010ee3682def64f4ff3ae8e32c7c5cd 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && darwin
 // +build arm64,darwin
 
 package unix
index 9912c6ee3d6ab183ea084d4c651b3a4b13d0f1ae..703675c0c4a538002c600e62b8d46a8cee9988af 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && dragonfly
 // +build amd64,dragonfly
 
 package unix
index 9474974b657d7e8e31b6d4be13a6051a214c64cb..59d5dfc2092223dae026178367b50faaa6c23482 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && freebsd
 // +build 386,freebsd
 
 package unix
index 48a7beae7bb506129785e32e41563ad7a7d1a756..342d471d2eb1ab844309af2e231533d8a9961898 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && freebsd
 // +build amd64,freebsd
 
 package unix
index 4a6dfd4a74594fecf9c28e46484e06c887497a68..e2e3d72c5b04f3a4d27d3289b98ee00ec1a0bd6d 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && freebsd
 // +build arm,freebsd
 
 package unix
index 3e51af8edd210dff3dd1ff9ef4fcdb3be2645a15..61ad5ca3c19b606c4aab7f893939e95c9306e84b 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && freebsd
 // +build arm64,freebsd
 
 package unix
index c80f3c7bdd87aa3c90b169e0f1d8476b32b6e504..8e5359713489047d8e187e1dd25cb33ef1c83877 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && linux
 // +build 386,linux
 
 package unix
index 2369995cec3aa3d8fee33546db2b6ee170772e88..d7dceb769b3f587442c36be74b56ab0d764b8c7c 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && linux
 // +build amd64,linux
 
 package unix
index 971c5af6d42358826188f6209d1ae38c35d43417..04093a69fd8ab025a2ef78076012d78299b7afca 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && linux
 // +build arm,linux
 
 package unix
index a5e410b24fb871ef28465f2dbde3a0655ff34153..48f94f135d6dca6cb1790c541769e8eb0ce3d433 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && linux
 // +build arm64,linux
 
 package unix
index 438a6ea4e6b8d7619d7d63afb11a7b38877d99c1..499978c3e402b7c3d23f9fd5630d9c4811a90c64 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips && linux
 // +build mips,linux
 
 package unix
index 622472da2203dde8cc949cfeda2013419062dd7d..10d1db2be0ce067d4845da3bdfc68f405351d5a1 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && linux
 // +build mips64,linux
 
 package unix
index e029b989b80afd950e2cb66bb67bd0af83a7378b..208d5dcd5a32b4f62e7856c7e8dd78dbcc0d010f 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64le && linux
 // +build mips64le,linux
 
 package unix
index 86a497b58d49a92321c113f6d874e037852b2942..f8250602eb8edaf33f9cb46ba23865e73f776665 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mipsle && linux
 // +build mipsle,linux
 
 package unix
index b6b0b5e602a8fcced51a84a8922a750ab5c652f8..d5ed3ff5100e7bed0f3f35646ce91092a8c01b4a 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64 && linux
 // +build ppc64,linux
 
 package unix
index b344db0146dbe2d48018567a9a8119fdbb2aac87..e29b4424c2455e4e7800f3e23582f758712c2ce4 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64le && linux
 // +build ppc64le,linux
 
 package unix
index 9b8fa53dccc328c9d0c8e3e663fcfc899b149e9c..41deed6c3a57f87c94a3f5edf3f7421afbef8655 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build riscv64 && linux
 // +build riscv64,linux
 
 package unix
index 8261f72c0ba2e3b91db6ba047810b7c38ef80bdc..8e53a9e8ceb6a4e8b6f544845a941292655d6baa 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build s390x && linux
 // +build s390x,linux
 
 package unix
index f4bbeb3db5eedef27326f5e9639eb12dec8b96a8..596e5bc7d357c3f40c3f495bbdaa6b8e9a8d22b6 100644 (file)
@@ -1,6 +1,7 @@
 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build sparc64 && linux
 // +build sparc64,linux
 
 package unix
index e66a8c9d39eae528646aa6d252ae4cc73137f20c..3a6699eba982586c20484275ef182b01a36e149c 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && netbsd
 // +build 386,netbsd
 
 package unix
index 42c788f2490c255ed602affa083fe7ad8c4638aa..5677cd4f15842efac178a91ab69d7b2f9cafb402 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && netbsd
 // +build amd64,netbsd
 
 package unix
index 0a0757179ba418a9596a5cab2f56f92e1d5443b6..e784cb6db1c29a901aa71660519eed70cacd699f 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && netbsd
 // +build arm,netbsd
 
 package unix
index 0291c0931b4f47765ab663e59eaa35d4290633d4..bd4952efa5bd20a3eb0e47482e6424aef74024b3 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; DO NOT EDIT.
 
+//go:build arm64 && netbsd
 // +build arm64,netbsd
 
 package unix
index b0207d1c9bbca388729d1661c199d0ac2aa1af7c..817edbf95c0ab9c0840cb99449f356e35e23eea4 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && openbsd
 // +build 386,openbsd
 
 package unix
index f0dec6f0b43cc1fc1c1079f55bfe39bf177a1103..ea453614e69770fc7186ac3cf3570b5b8e0f6502 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && openbsd
 // +build amd64,openbsd
 
 package unix
index 33d1dc5404e403b9199fa1062158ef8656309b04..467971eed661aea5847f7cfa9b127338cdb24918 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && openbsd
 // +build arm,openbsd
 
 package unix
index fe2b689b6375bcf8b7bc94a9c77c94bad199b4af..32eec5ed56f1a20ea2d3395b173b55f1e8944869 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && openbsd
 // +build arm64,openbsd
 
 package unix
index 5c08d573b3eeec8daa33bd49af23e96f5f6f547b..a37f77375636f8a1c5def3dff75c4a44e398d3d5 100644 (file)
@@ -1,6 +1,7 @@
 // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && openbsd
 // +build mips64,openbsd
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/src/cmd/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
new file mode 100644 (file)
index 0000000..073daad
--- /dev/null
@@ -0,0 +1,2670 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+package unix
+
+// TODO: auto-generate.
+
+const (
+       SYS_ACOSD128                        = 0xB80
+       SYS_ACOSD32                         = 0xB7E
+       SYS_ACOSD64                         = 0xB7F
+       SYS_ACOSHD128                       = 0xB83
+       SYS_ACOSHD32                        = 0xB81
+       SYS_ACOSHD64                        = 0xB82
+       SYS_AIO_FSYNC                       = 0xC69
+       SYS_ASCTIME                         = 0x0AE
+       SYS_ASCTIME64                       = 0xCD7
+       SYS_ASCTIME64_R                     = 0xCD8
+       SYS_ASIND128                        = 0xB86
+       SYS_ASIND32                         = 0xB84
+       SYS_ASIND64                         = 0xB85
+       SYS_ASINHD128                       = 0xB89
+       SYS_ASINHD32                        = 0xB87
+       SYS_ASINHD64                        = 0xB88
+       SYS_ATAN2D128                       = 0xB8F
+       SYS_ATAN2D32                        = 0xB8D
+       SYS_ATAN2D64                        = 0xB8E
+       SYS_ATAND128                        = 0xB8C
+       SYS_ATAND32                         = 0xB8A
+       SYS_ATAND64                         = 0xB8B
+       SYS_ATANHD128                       = 0xB92
+       SYS_ATANHD32                        = 0xB90
+       SYS_ATANHD64                        = 0xB91
+       SYS_BIND2ADDRSEL                    = 0xD59
+       SYS_C16RTOMB                        = 0xD40
+       SYS_C32RTOMB                        = 0xD41
+       SYS_CBRTD128                        = 0xB95
+       SYS_CBRTD32                         = 0xB93
+       SYS_CBRTD64                         = 0xB94
+       SYS_CEILD128                        = 0xB98
+       SYS_CEILD32                         = 0xB96
+       SYS_CEILD64                         = 0xB97
+       SYS_CLEARENV                        = 0x0C9
+       SYS_CLEARERR_UNLOCKED               = 0xCA1
+       SYS_CLOCK                           = 0x0AA
+       SYS_CLOGL                           = 0xA00
+       SYS_CLRMEMF                         = 0x0BD
+       SYS_CONJ                            = 0xA03
+       SYS_CONJF                           = 0xA06
+       SYS_CONJL                           = 0xA09
+       SYS_COPYSIGND128                    = 0xB9E
+       SYS_COPYSIGND32                     = 0xB9C
+       SYS_COPYSIGND64                     = 0xB9D
+       SYS_COSD128                         = 0xBA1
+       SYS_COSD32                          = 0xB9F
+       SYS_COSD64                          = 0xBA0
+       SYS_COSHD128                        = 0xBA4
+       SYS_COSHD32                         = 0xBA2
+       SYS_COSHD64                         = 0xBA3
+       SYS_CPOW                            = 0xA0C
+       SYS_CPOWF                           = 0xA0F
+       SYS_CPOWL                           = 0xA12
+       SYS_CPROJ                           = 0xA15
+       SYS_CPROJF                          = 0xA18
+       SYS_CPROJL                          = 0xA1B
+       SYS_CREAL                           = 0xA1E
+       SYS_CREALF                          = 0xA21
+       SYS_CREALL                          = 0xA24
+       SYS_CSIN                            = 0xA27
+       SYS_CSINF                           = 0xA2A
+       SYS_CSINH                           = 0xA30
+       SYS_CSINHF                          = 0xA33
+       SYS_CSINHL                          = 0xA36
+       SYS_CSINL                           = 0xA2D
+       SYS_CSNAP                           = 0x0C5
+       SYS_CSQRT                           = 0xA39
+       SYS_CSQRTF                          = 0xA3C
+       SYS_CSQRTL                          = 0xA3F
+       SYS_CTAN                            = 0xA42
+       SYS_CTANF                           = 0xA45
+       SYS_CTANH                           = 0xA4B
+       SYS_CTANHF                          = 0xA4E
+       SYS_CTANHL                          = 0xA51
+       SYS_CTANL                           = 0xA48
+       SYS_CTIME                           = 0x0AB
+       SYS_CTIME64                         = 0xCD9
+       SYS_CTIME64_R                       = 0xCDA
+       SYS_CTRACE                          = 0x0C6
+       SYS_DIFFTIME                        = 0x0A7
+       SYS_DIFFTIME64                      = 0xCDB
+       SYS_DLADDR                          = 0xC82
+       SYS_DYNALLOC                        = 0x0C3
+       SYS_DYNFREE                         = 0x0C2
+       SYS_ERFCD128                        = 0xBAA
+       SYS_ERFCD32                         = 0xBA8
+       SYS_ERFCD64                         = 0xBA9
+       SYS_ERFD128                         = 0xBA7
+       SYS_ERFD32                          = 0xBA5
+       SYS_ERFD64                          = 0xBA6
+       SYS_EXP2D128                        = 0xBB0
+       SYS_EXP2D32                         = 0xBAE
+       SYS_EXP2D64                         = 0xBAF
+       SYS_EXPD128                         = 0xBAD
+       SYS_EXPD32                          = 0xBAB
+       SYS_EXPD64                          = 0xBAC
+       SYS_EXPM1D128                       = 0xBB3
+       SYS_EXPM1D32                        = 0xBB1
+       SYS_EXPM1D64                        = 0xBB2
+       SYS_FABSD128                        = 0xBB6
+       SYS_FABSD32                         = 0xBB4
+       SYS_FABSD64                         = 0xBB5
+       SYS_FDELREC_UNLOCKED                = 0xCA2
+       SYS_FDIMD128                        = 0xBB9
+       SYS_FDIMD32                         = 0xBB7
+       SYS_FDIMD64                         = 0xBB8
+       SYS_FDOPEN_UNLOCKED                 = 0xCFC
+       SYS_FECLEAREXCEPT                   = 0xAEA
+       SYS_FEGETENV                        = 0xAEB
+       SYS_FEGETEXCEPTFLAG                 = 0xAEC
+       SYS_FEGETROUND                      = 0xAED
+       SYS_FEHOLDEXCEPT                    = 0xAEE
+       SYS_FEOF_UNLOCKED                   = 0xCA3
+       SYS_FERAISEEXCEPT                   = 0xAEF
+       SYS_FERROR_UNLOCKED                 = 0xCA4
+       SYS_FESETENV                        = 0xAF0
+       SYS_FESETEXCEPTFLAG                 = 0xAF1
+       SYS_FESETROUND                      = 0xAF2
+       SYS_FETCHEP                         = 0x0BF
+       SYS_FETESTEXCEPT                    = 0xAF3
+       SYS_FEUPDATEENV                     = 0xAF4
+       SYS_FE_DEC_GETROUND                 = 0xBBA
+       SYS_FE_DEC_SETROUND                 = 0xBBB
+       SYS_FFLUSH_UNLOCKED                 = 0xCA5
+       SYS_FGETC_UNLOCKED                  = 0xC80
+       SYS_FGETPOS64                       = 0xCEE
+       SYS_FGETPOS64_UNLOCKED              = 0xCF4
+       SYS_FGETPOS_UNLOCKED                = 0xCA6
+       SYS_FGETS_UNLOCKED                  = 0xC7C
+       SYS_FGETWC_UNLOCKED                 = 0xCA7
+       SYS_FGETWS_UNLOCKED                 = 0xCA8
+       SYS_FILENO_UNLOCKED                 = 0xCA9
+       SYS_FLDATA                          = 0x0C1
+       SYS_FLDATA_UNLOCKED                 = 0xCAA
+       SYS_FLOCATE_UNLOCKED                = 0xCAB
+       SYS_FLOORD128                       = 0xBBE
+       SYS_FLOORD32                        = 0xBBC
+       SYS_FLOORD64                        = 0xBBD
+       SYS_FMA                             = 0xA63
+       SYS_FMAD128                         = 0xBC1
+       SYS_FMAD32                          = 0xBBF
+       SYS_FMAD64                          = 0xBC0
+       SYS_FMAF                            = 0xA66
+       SYS_FMAL                            = 0xA69
+       SYS_FMAX                            = 0xA6C
+       SYS_FMAXD128                        = 0xBC4
+       SYS_FMAXD32                         = 0xBC2
+       SYS_FMAXD64                         = 0xBC3
+       SYS_FMAXF                           = 0xA6F
+       SYS_FMAXL                           = 0xA72
+       SYS_FMIN                            = 0xA75
+       SYS_FMIND128                        = 0xBC7
+       SYS_FMIND32                         = 0xBC5
+       SYS_FMIND64                         = 0xBC6
+       SYS_FMINF                           = 0xA78
+       SYS_FMINL                           = 0xA7B
+       SYS_FMODD128                        = 0xBCA
+       SYS_FMODD32                         = 0xBC8
+       SYS_FMODD64                         = 0xBC9
+       SYS_FOPEN64                         = 0xD49
+       SYS_FOPEN64_UNLOCKED                = 0xD4A
+       SYS_FOPEN_UNLOCKED                  = 0xCFA
+       SYS_FPRINTF_UNLOCKED                = 0xCAC
+       SYS_FPUTC_UNLOCKED                  = 0xC81
+       SYS_FPUTS_UNLOCKED                  = 0xC7E
+       SYS_FPUTWC_UNLOCKED                 = 0xCAD
+       SYS_FPUTWS_UNLOCKED                 = 0xCAE
+       SYS_FREAD_NOUPDATE                  = 0xCEC
+       SYS_FREAD_NOUPDATE_UNLOCKED         = 0xCED
+       SYS_FREAD_UNLOCKED                  = 0xC7B
+       SYS_FREEIFADDRS                     = 0xCE6
+       SYS_FREOPEN64                       = 0xD4B
+       SYS_FREOPEN64_UNLOCKED              = 0xD4C
+       SYS_FREOPEN_UNLOCKED                = 0xCFB
+       SYS_FREXPD128                       = 0xBCE
+       SYS_FREXPD32                        = 0xBCC
+       SYS_FREXPD64                        = 0xBCD
+       SYS_FSCANF_UNLOCKED                 = 0xCAF
+       SYS_FSEEK64                         = 0xCEF
+       SYS_FSEEK64_UNLOCKED                = 0xCF5
+       SYS_FSEEKO64                        = 0xCF0
+       SYS_FSEEKO64_UNLOCKED               = 0xCF6
+       SYS_FSEEKO_UNLOCKED                 = 0xCB1
+       SYS_FSEEK_UNLOCKED                  = 0xCB0
+       SYS_FSETPOS64                       = 0xCF1
+       SYS_FSETPOS64_UNLOCKED              = 0xCF7
+       SYS_FSETPOS_UNLOCKED                = 0xCB3
+       SYS_FTELL64                         = 0xCF2
+       SYS_FTELL64_UNLOCKED                = 0xCF8
+       SYS_FTELLO64                        = 0xCF3
+       SYS_FTELLO64_UNLOCKED               = 0xCF9
+       SYS_FTELLO_UNLOCKED                 = 0xCB5
+       SYS_FTELL_UNLOCKED                  = 0xCB4
+       SYS_FUPDATE                         = 0x0B5
+       SYS_FUPDATE_UNLOCKED                = 0xCB7
+       SYS_FWIDE_UNLOCKED                  = 0xCB8
+       SYS_FWPRINTF_UNLOCKED               = 0xCB9
+       SYS_FWRITE_UNLOCKED                 = 0xC7A
+       SYS_FWSCANF_UNLOCKED                = 0xCBA
+       SYS_GETDATE64                       = 0xD4F
+       SYS_GETIFADDRS                      = 0xCE7
+       SYS_GETIPV4SOURCEFILTER             = 0xC77
+       SYS_GETSOURCEFILTER                 = 0xC79
+       SYS_GETSYNTX                        = 0x0FD
+       SYS_GETS_UNLOCKED                   = 0xC7D
+       SYS_GETTIMEOFDAY64                  = 0xD50
+       SYS_GETWCHAR_UNLOCKED               = 0xCBC
+       SYS_GETWC_UNLOCKED                  = 0xCBB
+       SYS_GMTIME                          = 0x0B0
+       SYS_GMTIME64                        = 0xCDC
+       SYS_GMTIME64_R                      = 0xCDD
+       SYS_HYPOTD128                       = 0xBD1
+       SYS_HYPOTD32                        = 0xBCF
+       SYS_HYPOTD64                        = 0xBD0
+       SYS_ILOGBD128                       = 0xBD4
+       SYS_ILOGBD32                        = 0xBD2
+       SYS_ILOGBD64                        = 0xBD3
+       SYS_ILOGBF                          = 0xA7E
+       SYS_ILOGBL                          = 0xA81
+       SYS_INET6_IS_SRCADDR                = 0xD5A
+       SYS_ISBLANK                         = 0x0FE
+       SYS_ISWALNUM                        = 0x0FF
+       SYS_LDEXPD128                       = 0xBD7
+       SYS_LDEXPD32                        = 0xBD5
+       SYS_LDEXPD64                        = 0xBD6
+       SYS_LGAMMAD128                      = 0xBDA
+       SYS_LGAMMAD32                       = 0xBD8
+       SYS_LGAMMAD64                       = 0xBD9
+       SYS_LIO_LISTIO                      = 0xC6A
+       SYS_LLRINT                          = 0xA84
+       SYS_LLRINTD128                      = 0xBDD
+       SYS_LLRINTD32                       = 0xBDB
+       SYS_LLRINTD64                       = 0xBDC
+       SYS_LLRINTF                         = 0xA87
+       SYS_LLRINTL                         = 0xA8A
+       SYS_LLROUND                         = 0xA8D
+       SYS_LLROUNDD128                     = 0xBE0
+       SYS_LLROUNDD32                      = 0xBDE
+       SYS_LLROUNDD64                      = 0xBDF
+       SYS_LLROUNDF                        = 0xA90
+       SYS_LLROUNDL                        = 0xA93
+       SYS_LOCALTIM                        = 0x0B1
+       SYS_LOCALTIME                       = 0x0B1
+       SYS_LOCALTIME64                     = 0xCDE
+       SYS_LOCALTIME64_R                   = 0xCDF
+       SYS_LOG10D128                       = 0xBE6
+       SYS_LOG10D32                        = 0xBE4
+       SYS_LOG10D64                        = 0xBE5
+       SYS_LOG1PD128                       = 0xBE9
+       SYS_LOG1PD32                        = 0xBE7
+       SYS_LOG1PD64                        = 0xBE8
+       SYS_LOG2D128                        = 0xBEC
+       SYS_LOG2D32                         = 0xBEA
+       SYS_LOG2D64                         = 0xBEB
+       SYS_LOGBD128                        = 0xBEF
+       SYS_LOGBD32                         = 0xBED
+       SYS_LOGBD64                         = 0xBEE
+       SYS_LOGBF                           = 0xA96
+       SYS_LOGBL                           = 0xA99
+       SYS_LOGD128                         = 0xBE3
+       SYS_LOGD32                          = 0xBE1
+       SYS_LOGD64                          = 0xBE2
+       SYS_LRINT                           = 0xA9C
+       SYS_LRINTD128                       = 0xBF2
+       SYS_LRINTD32                        = 0xBF0
+       SYS_LRINTD64                        = 0xBF1
+       SYS_LRINTF                          = 0xA9F
+       SYS_LRINTL                          = 0xAA2
+       SYS_LROUNDD128                      = 0xBF5
+       SYS_LROUNDD32                       = 0xBF3
+       SYS_LROUNDD64                       = 0xBF4
+       SYS_LROUNDL                         = 0xAA5
+       SYS_MBLEN                           = 0x0AF
+       SYS_MBRTOC16                        = 0xD42
+       SYS_MBRTOC32                        = 0xD43
+       SYS_MEMSET                          = 0x0A3
+       SYS_MKTIME                          = 0x0AC
+       SYS_MKTIME64                        = 0xCE0
+       SYS_MODFD128                        = 0xBF8
+       SYS_MODFD32                         = 0xBF6
+       SYS_MODFD64                         = 0xBF7
+       SYS_NAN                             = 0xAA8
+       SYS_NAND128                         = 0xBFB
+       SYS_NAND32                          = 0xBF9
+       SYS_NAND64                          = 0xBFA
+       SYS_NANF                            = 0xAAA
+       SYS_NANL                            = 0xAAC
+       SYS_NEARBYINT                       = 0xAAE
+       SYS_NEARBYINTD128                   = 0xBFE
+       SYS_NEARBYINTD32                    = 0xBFC
+       SYS_NEARBYINTD64                    = 0xBFD
+       SYS_NEARBYINTF                      = 0xAB1
+       SYS_NEARBYINTL                      = 0xAB4
+       SYS_NEXTAFTERD128                   = 0xC01
+       SYS_NEXTAFTERD32                    = 0xBFF
+       SYS_NEXTAFTERD64                    = 0xC00
+       SYS_NEXTAFTERF                      = 0xAB7
+       SYS_NEXTAFTERL                      = 0xABA
+       SYS_NEXTTOWARD                      = 0xABD
+       SYS_NEXTTOWARDD128                  = 0xC04
+       SYS_NEXTTOWARDD32                   = 0xC02
+       SYS_NEXTTOWARDD64                   = 0xC03
+       SYS_NEXTTOWARDF                     = 0xAC0
+       SYS_NEXTTOWARDL                     = 0xAC3
+       SYS_NL_LANGINFO                     = 0x0FC
+       SYS_PERROR_UNLOCKED                 = 0xCBD
+       SYS_POSIX_FALLOCATE                 = 0xCE8
+       SYS_POSIX_MEMALIGN                  = 0xCE9
+       SYS_POSIX_OPENPT                    = 0xC66
+       SYS_POWD128                         = 0xC07
+       SYS_POWD32                          = 0xC05
+       SYS_POWD64                          = 0xC06
+       SYS_PRINTF_UNLOCKED                 = 0xCBE
+       SYS_PSELECT                         = 0xC67
+       SYS_PTHREAD_ATTR_GETSTACK           = 0xB3E
+       SYS_PTHREAD_ATTR_SETSTACK           = 0xB3F
+       SYS_PTHREAD_SECURITY_APPLID_NP      = 0xCE4
+       SYS_PUTS_UNLOCKED                   = 0xC7F
+       SYS_PUTWCHAR_UNLOCKED               = 0xCC0
+       SYS_PUTWC_UNLOCKED                  = 0xCBF
+       SYS_QUANTEXPD128                    = 0xD46
+       SYS_QUANTEXPD32                     = 0xD44
+       SYS_QUANTEXPD64                     = 0xD45
+       SYS_QUANTIZED128                    = 0xC0A
+       SYS_QUANTIZED32                     = 0xC08
+       SYS_QUANTIZED64                     = 0xC09
+       SYS_REMAINDERD128                   = 0xC0D
+       SYS_REMAINDERD32                    = 0xC0B
+       SYS_REMAINDERD64                    = 0xC0C
+       SYS_RESIZE_ALLOC                    = 0xCEB
+       SYS_REWIND_UNLOCKED                 = 0xCC1
+       SYS_RINTD128                        = 0xC13
+       SYS_RINTD32                         = 0xC11
+       SYS_RINTD64                         = 0xC12
+       SYS_RINTF                           = 0xACB
+       SYS_RINTL                           = 0xACD
+       SYS_ROUND                           = 0xACF
+       SYS_ROUNDD128                       = 0xC16
+       SYS_ROUNDD32                        = 0xC14
+       SYS_ROUNDD64                        = 0xC15
+       SYS_ROUNDF                          = 0xAD2
+       SYS_ROUNDL                          = 0xAD5
+       SYS_SAMEQUANTUMD128                 = 0xC19
+       SYS_SAMEQUANTUMD32                  = 0xC17
+       SYS_SAMEQUANTUMD64                  = 0xC18
+       SYS_SCALBLN                         = 0xAD8
+       SYS_SCALBLND128                     = 0xC1C
+       SYS_SCALBLND32                      = 0xC1A
+       SYS_SCALBLND64                      = 0xC1B
+       SYS_SCALBLNF                        = 0xADB
+       SYS_SCALBLNL                        = 0xADE
+       SYS_SCALBND128                      = 0xC1F
+       SYS_SCALBND32                       = 0xC1D
+       SYS_SCALBND64                       = 0xC1E
+       SYS_SCALBNF                         = 0xAE3
+       SYS_SCALBNL                         = 0xAE6
+       SYS_SCANF_UNLOCKED                  = 0xCC2
+       SYS_SCHED_YIELD                     = 0xB32
+       SYS_SETENV                          = 0x0C8
+       SYS_SETIPV4SOURCEFILTER             = 0xC76
+       SYS_SETSOURCEFILTER                 = 0xC78
+       SYS_SHM_OPEN                        = 0xC8C
+       SYS_SHM_UNLINK                      = 0xC8D
+       SYS_SIND128                         = 0xC22
+       SYS_SIND32                          = 0xC20
+       SYS_SIND64                          = 0xC21
+       SYS_SINHD128                        = 0xC25
+       SYS_SINHD32                         = 0xC23
+       SYS_SINHD64                         = 0xC24
+       SYS_SIZEOF_ALLOC                    = 0xCEA
+       SYS_SOCKATMARK                      = 0xC68
+       SYS_SQRTD128                        = 0xC28
+       SYS_SQRTD32                         = 0xC26
+       SYS_SQRTD64                         = 0xC27
+       SYS_STRCHR                          = 0x0A0
+       SYS_STRCSPN                         = 0x0A1
+       SYS_STRERROR                        = 0x0A8
+       SYS_STRERROR_R                      = 0xB33
+       SYS_STRFTIME                        = 0x0B2
+       SYS_STRLEN                          = 0x0A9
+       SYS_STRPBRK                         = 0x0A2
+       SYS_STRSPN                          = 0x0A4
+       SYS_STRSTR                          = 0x0A5
+       SYS_STRTOD128                       = 0xC2B
+       SYS_STRTOD32                        = 0xC29
+       SYS_STRTOD64                        = 0xC2A
+       SYS_STRTOK                          = 0x0A6
+       SYS_TAND128                         = 0xC2E
+       SYS_TAND32                          = 0xC2C
+       SYS_TAND64                          = 0xC2D
+       SYS_TANHD128                        = 0xC31
+       SYS_TANHD32                         = 0xC2F
+       SYS_TANHD64                         = 0xC30
+       SYS_TGAMMAD128                      = 0xC34
+       SYS_TGAMMAD32                       = 0xC32
+       SYS_TGAMMAD64                       = 0xC33
+       SYS_TIME                            = 0x0AD
+       SYS_TIME64                          = 0xCE1
+       SYS_TMPFILE64                       = 0xD4D
+       SYS_TMPFILE64_UNLOCKED              = 0xD4E
+       SYS_TMPFILE_UNLOCKED                = 0xCFD
+       SYS_TRUNCD128                       = 0xC40
+       SYS_TRUNCD32                        = 0xC3E
+       SYS_TRUNCD64                        = 0xC3F
+       SYS_UNGETC_UNLOCKED                 = 0xCC3
+       SYS_UNGETWC_UNLOCKED                = 0xCC4
+       SYS_UNSETENV                        = 0xB34
+       SYS_VFPRINTF_UNLOCKED               = 0xCC5
+       SYS_VFSCANF_UNLOCKED                = 0xCC7
+       SYS_VFWPRINTF_UNLOCKED              = 0xCC9
+       SYS_VFWSCANF_UNLOCKED               = 0xCCB
+       SYS_VPRINTF_UNLOCKED                = 0xCCD
+       SYS_VSCANF_UNLOCKED                 = 0xCCF
+       SYS_VWPRINTF_UNLOCKED               = 0xCD1
+       SYS_VWSCANF_UNLOCKED                = 0xCD3
+       SYS_WCSTOD128                       = 0xC43
+       SYS_WCSTOD32                        = 0xC41
+       SYS_WCSTOD64                        = 0xC42
+       SYS_WPRINTF_UNLOCKED                = 0xCD5
+       SYS_WSCANF_UNLOCKED                 = 0xCD6
+       SYS__FLUSHLBF                       = 0xD68
+       SYS__FLUSHLBF_UNLOCKED              = 0xD6F
+       SYS___ACOSHF_H                      = 0xA54
+       SYS___ACOSHL_H                      = 0xA55
+       SYS___ASINHF_H                      = 0xA56
+       SYS___ASINHL_H                      = 0xA57
+       SYS___ATANPID128                    = 0xC6D
+       SYS___ATANPID32                     = 0xC6B
+       SYS___ATANPID64                     = 0xC6C
+       SYS___CBRTF_H                       = 0xA58
+       SYS___CBRTL_H                       = 0xA59
+       SYS___CDUMP                         = 0x0C4
+       SYS___CLASS                         = 0xAFA
+       SYS___CLASS2                        = 0xB99
+       SYS___CLASS2D128                    = 0xC99
+       SYS___CLASS2D32                     = 0xC97
+       SYS___CLASS2D64                     = 0xC98
+       SYS___CLASS2F                       = 0xC91
+       SYS___CLASS2F_B                     = 0xC93
+       SYS___CLASS2F_H                     = 0xC94
+       SYS___CLASS2L                       = 0xC92
+       SYS___CLASS2L_B                     = 0xC95
+       SYS___CLASS2L_H                     = 0xC96
+       SYS___CLASS2_B                      = 0xB9A
+       SYS___CLASS2_H                      = 0xB9B
+       SYS___CLASS_B                       = 0xAFB
+       SYS___CLASS_H                       = 0xAFC
+       SYS___CLOGL_B                       = 0xA01
+       SYS___CLOGL_H                       = 0xA02
+       SYS___CLRENV                        = 0x0C9
+       SYS___CLRMF                         = 0x0BD
+       SYS___CODEPAGE_INFO                 = 0xC64
+       SYS___CONJF_B                       = 0xA07
+       SYS___CONJF_H                       = 0xA08
+       SYS___CONJL_B                       = 0xA0A
+       SYS___CONJL_H                       = 0xA0B
+       SYS___CONJ_B                        = 0xA04
+       SYS___CONJ_H                        = 0xA05
+       SYS___COPYSIGN_B                    = 0xA5A
+       SYS___COPYSIGN_H                    = 0xAF5
+       SYS___COSPID128                     = 0xC70
+       SYS___COSPID32                      = 0xC6E
+       SYS___COSPID64                      = 0xC6F
+       SYS___CPOWF_B                       = 0xA10
+       SYS___CPOWF_H                       = 0xA11
+       SYS___CPOWL_B                       = 0xA13
+       SYS___CPOWL_H                       = 0xA14
+       SYS___CPOW_B                        = 0xA0D
+       SYS___CPOW_H                        = 0xA0E
+       SYS___CPROJF_B                      = 0xA19
+       SYS___CPROJF_H                      = 0xA1A
+       SYS___CPROJL_B                      = 0xA1C
+       SYS___CPROJL_H                      = 0xA1D
+       SYS___CPROJ_B                       = 0xA16
+       SYS___CPROJ_H                       = 0xA17
+       SYS___CREALF_B                      = 0xA22
+       SYS___CREALF_H                      = 0xA23
+       SYS___CREALL_B                      = 0xA25
+       SYS___CREALL_H                      = 0xA26
+       SYS___CREAL_B                       = 0xA1F
+       SYS___CREAL_H                       = 0xA20
+       SYS___CSINF_B                       = 0xA2B
+       SYS___CSINF_H                       = 0xA2C
+       SYS___CSINHF_B                      = 0xA34
+       SYS___CSINHF_H                      = 0xA35
+       SYS___CSINHL_B                      = 0xA37
+       SYS___CSINHL_H                      = 0xA38
+       SYS___CSINH_B                       = 0xA31
+       SYS___CSINH_H                       = 0xA32
+       SYS___CSINL_B                       = 0xA2E
+       SYS___CSINL_H                       = 0xA2F
+       SYS___CSIN_B                        = 0xA28
+       SYS___CSIN_H                        = 0xA29
+       SYS___CSNAP                         = 0x0C5
+       SYS___CSQRTF_B                      = 0xA3D
+       SYS___CSQRTF_H                      = 0xA3E
+       SYS___CSQRTL_B                      = 0xA40
+       SYS___CSQRTL_H                      = 0xA41
+       SYS___CSQRT_B                       = 0xA3A
+       SYS___CSQRT_H                       = 0xA3B
+       SYS___CTANF_B                       = 0xA46
+       SYS___CTANF_H                       = 0xA47
+       SYS___CTANHF_B                      = 0xA4F
+       SYS___CTANHF_H                      = 0xA50
+       SYS___CTANHL_B                      = 0xA52
+       SYS___CTANHL_H                      = 0xA53
+       SYS___CTANH_B                       = 0xA4C
+       SYS___CTANH_H                       = 0xA4D
+       SYS___CTANL_B                       = 0xA49
+       SYS___CTANL_H                       = 0xA4A
+       SYS___CTAN_B                        = 0xA43
+       SYS___CTAN_H                        = 0xA44
+       SYS___CTEST                         = 0x0C7
+       SYS___CTRACE                        = 0x0C6
+       SYS___D1TOP                         = 0xC9B
+       SYS___D2TOP                         = 0xC9C
+       SYS___D4TOP                         = 0xC9D
+       SYS___DYNALL                        = 0x0C3
+       SYS___DYNFRE                        = 0x0C2
+       SYS___EXP2F_H                       = 0xA5E
+       SYS___EXP2L_H                       = 0xA5F
+       SYS___EXP2_H                        = 0xA5D
+       SYS___EXPM1F_H                      = 0xA5B
+       SYS___EXPM1L_H                      = 0xA5C
+       SYS___FBUFSIZE                      = 0xD60
+       SYS___FLBF                          = 0xD62
+       SYS___FLDATA                        = 0x0C1
+       SYS___FMAF_B                        = 0xA67
+       SYS___FMAF_H                        = 0xA68
+       SYS___FMAL_B                        = 0xA6A
+       SYS___FMAL_H                        = 0xA6B
+       SYS___FMAXF_B                       = 0xA70
+       SYS___FMAXF_H                       = 0xA71
+       SYS___FMAXL_B                       = 0xA73
+       SYS___FMAXL_H                       = 0xA74
+       SYS___FMAX_B                        = 0xA6D
+       SYS___FMAX_H                        = 0xA6E
+       SYS___FMA_B                         = 0xA64
+       SYS___FMA_H                         = 0xA65
+       SYS___FMINF_B                       = 0xA79
+       SYS___FMINF_H                       = 0xA7A
+       SYS___FMINL_B                       = 0xA7C
+       SYS___FMINL_H                       = 0xA7D
+       SYS___FMIN_B                        = 0xA76
+       SYS___FMIN_H                        = 0xA77
+       SYS___FPENDING                      = 0xD61
+       SYS___FPENDING_UNLOCKED             = 0xD6C
+       SYS___FPURGE                        = 0xD69
+       SYS___FPURGE_UNLOCKED               = 0xD70
+       SYS___FP_CAST_D                     = 0xBCB
+       SYS___FREADABLE                     = 0xD63
+       SYS___FREADAHEAD                    = 0xD6A
+       SYS___FREADAHEAD_UNLOCKED           = 0xD71
+       SYS___FREADING                      = 0xD65
+       SYS___FREADING_UNLOCKED             = 0xD6D
+       SYS___FSEEK2                        = 0xB3C
+       SYS___FSETERR                       = 0xD6B
+       SYS___FSETLOCKING                   = 0xD67
+       SYS___FTCHEP                        = 0x0BF
+       SYS___FTELL2                        = 0xB3B
+       SYS___FUPDT                         = 0x0B5
+       SYS___FWRITABLE                     = 0xD64
+       SYS___FWRITING                      = 0xD66
+       SYS___FWRITING_UNLOCKED             = 0xD6E
+       SYS___GETCB                         = 0x0B4
+       SYS___GETGRGID1                     = 0xD5B
+       SYS___GETGRNAM1                     = 0xD5C
+       SYS___GETTHENT                      = 0xCE5
+       SYS___GETTOD                        = 0xD3E
+       SYS___HYPOTF_H                      = 0xAF6
+       SYS___HYPOTL_H                      = 0xAF7
+       SYS___ILOGBF_B                      = 0xA7F
+       SYS___ILOGBF_H                      = 0xA80
+       SYS___ILOGBL_B                      = 0xA82
+       SYS___ILOGBL_H                      = 0xA83
+       SYS___ISBLANK_A                     = 0xB2E
+       SYS___ISBLNK                        = 0x0FE
+       SYS___ISWBLANK_A                    = 0xB2F
+       SYS___LE_CEEGTJS                    = 0xD72
+       SYS___LE_TRACEBACK                  = 0xB7A
+       SYS___LGAMMAL_H                     = 0xA62
+       SYS___LGAMMA_B_C99                  = 0xB39
+       SYS___LGAMMA_H_C99                  = 0xB38
+       SYS___LGAMMA_R_C99                  = 0xB3A
+       SYS___LLRINTF_B                     = 0xA88
+       SYS___LLRINTF_H                     = 0xA89
+       SYS___LLRINTL_B                     = 0xA8B
+       SYS___LLRINTL_H                     = 0xA8C
+       SYS___LLRINT_B                      = 0xA85
+       SYS___LLRINT_H                      = 0xA86
+       SYS___LLROUNDF_B                    = 0xA91
+       SYS___LLROUNDF_H                    = 0xA92
+       SYS___LLROUNDL_B                    = 0xA94
+       SYS___LLROUNDL_H                    = 0xA95
+       SYS___LLROUND_B                     = 0xA8E
+       SYS___LLROUND_H                     = 0xA8F
+       SYS___LOCALE_CTL                    = 0xD47
+       SYS___LOG1PF_H                      = 0xA60
+       SYS___LOG1PL_H                      = 0xA61
+       SYS___LOGBF_B                       = 0xA97
+       SYS___LOGBF_H                       = 0xA98
+       SYS___LOGBL_B                       = 0xA9A
+       SYS___LOGBL_H                       = 0xA9B
+       SYS___LOGIN_APPLID                  = 0xCE2
+       SYS___LRINTF_B                      = 0xAA0
+       SYS___LRINTF_H                      = 0xAA1
+       SYS___LRINTL_B                      = 0xAA3
+       SYS___LRINTL_H                      = 0xAA4
+       SYS___LRINT_B                       = 0xA9D
+       SYS___LRINT_H                       = 0xA9E
+       SYS___LROUNDF_FIXUP                 = 0xB31
+       SYS___LROUNDL_B                     = 0xAA6
+       SYS___LROUNDL_H                     = 0xAA7
+       SYS___LROUND_FIXUP                  = 0xB30
+       SYS___MOSERVICES                    = 0xD3D
+       SYS___MUST_STAY_CLEAN               = 0xB7C
+       SYS___NANF_B                        = 0xAAB
+       SYS___NANL_B                        = 0xAAD
+       SYS___NAN_B                         = 0xAA9
+       SYS___NEARBYINTF_B                  = 0xAB2
+       SYS___NEARBYINTF_H                  = 0xAB3
+       SYS___NEARBYINTL_B                  = 0xAB5
+       SYS___NEARBYINTL_H                  = 0xAB6
+       SYS___NEARBYINT_B                   = 0xAAF
+       SYS___NEARBYINT_H                   = 0xAB0
+       SYS___NEXTAFTERF_B                  = 0xAB8
+       SYS___NEXTAFTERF_H                  = 0xAB9
+       SYS___NEXTAFTERL_B                  = 0xABB
+       SYS___NEXTAFTERL_H                  = 0xABC
+       SYS___NEXTTOWARDF_B                 = 0xAC1
+       SYS___NEXTTOWARDF_H                 = 0xAC2
+       SYS___NEXTTOWARDL_B                 = 0xAC4
+       SYS___NEXTTOWARDL_H                 = 0xAC5
+       SYS___NEXTTOWARD_B                  = 0xABE
+       SYS___NEXTTOWARD_H                  = 0xABF
+       SYS___O_ENV                         = 0xB7D
+       SYS___PASSWD_APPLID                 = 0xCE3
+       SYS___PTOD1                         = 0xC9E
+       SYS___PTOD2                         = 0xC9F
+       SYS___PTOD4                         = 0xCA0
+       SYS___REGCOMP_STD                   = 0x0EA
+       SYS___REMAINDERF_H                  = 0xAC6
+       SYS___REMAINDERL_H                  = 0xAC7
+       SYS___REMQUOD128                    = 0xC10
+       SYS___REMQUOD32                     = 0xC0E
+       SYS___REMQUOD64                     = 0xC0F
+       SYS___REMQUOF_H                     = 0xAC9
+       SYS___REMQUOL_H                     = 0xACA
+       SYS___REMQUO_H                      = 0xAC8
+       SYS___RINTF_B                       = 0xACC
+       SYS___RINTL_B                       = 0xACE
+       SYS___ROUNDF_B                      = 0xAD3
+       SYS___ROUNDF_H                      = 0xAD4
+       SYS___ROUNDL_B                      = 0xAD6
+       SYS___ROUNDL_H                      = 0xAD7
+       SYS___ROUND_B                       = 0xAD0
+       SYS___ROUND_H                       = 0xAD1
+       SYS___SCALBLNF_B                    = 0xADC
+       SYS___SCALBLNF_H                    = 0xADD
+       SYS___SCALBLNL_B                    = 0xADF
+       SYS___SCALBLNL_H                    = 0xAE0
+       SYS___SCALBLN_B                     = 0xAD9
+       SYS___SCALBLN_H                     = 0xADA
+       SYS___SCALBNF_B                     = 0xAE4
+       SYS___SCALBNF_H                     = 0xAE5
+       SYS___SCALBNL_B                     = 0xAE7
+       SYS___SCALBNL_H                     = 0xAE8
+       SYS___SCALBN_B                      = 0xAE1
+       SYS___SCALBN_H                      = 0xAE2
+       SYS___SETENV                        = 0x0C8
+       SYS___SINPID128                     = 0xC73
+       SYS___SINPID32                      = 0xC71
+       SYS___SINPID64                      = 0xC72
+       SYS___SMF_RECORD2                   = 0xD48
+       SYS___STATIC_REINIT                 = 0xB3D
+       SYS___TGAMMAF_H_C99                 = 0xB79
+       SYS___TGAMMAL_H                     = 0xAE9
+       SYS___TGAMMA_H_C99                  = 0xB78
+       SYS___TOCSNAME2                     = 0xC9A
+       SYS_CEIL                            = 0x01F
+       SYS_CHAUDIT                         = 0x1E0
+       SYS_EXP                             = 0x01A
+       SYS_FCHAUDIT                        = 0x1E1
+       SYS_FREXP                           = 0x01D
+       SYS_GETGROUPSBYNAME                 = 0x1E2
+       SYS_GETPWUID                        = 0x1A0
+       SYS_GETUID                          = 0x1A1
+       SYS_ISATTY                          = 0x1A3
+       SYS_KILL                            = 0x1A4
+       SYS_LDEXP                           = 0x01E
+       SYS_LINK                            = 0x1A5
+       SYS_LOG10                           = 0x01C
+       SYS_LSEEK                           = 0x1A6
+       SYS_LSTAT                           = 0x1A7
+       SYS_MKDIR                           = 0x1A8
+       SYS_MKFIFO                          = 0x1A9
+       SYS_MKNOD                           = 0x1AA
+       SYS_MODF                            = 0x01B
+       SYS_MOUNT                           = 0x1AB
+       SYS_OPEN                            = 0x1AC
+       SYS_OPENDIR                         = 0x1AD
+       SYS_PATHCONF                        = 0x1AE
+       SYS_PAUSE                           = 0x1AF
+       SYS_PIPE                            = 0x1B0
+       SYS_PTHREAD_ATTR_DESTROY            = 0x1E7
+       SYS_PTHREAD_ATTR_GETDETACHSTATE     = 0x1EB
+       SYS_PTHREAD_ATTR_GETSTACKSIZE       = 0x1E9
+       SYS_PTHREAD_ATTR_GETWEIGHT_NP       = 0x1ED
+       SYS_PTHREAD_ATTR_INIT               = 0x1E6
+       SYS_PTHREAD_ATTR_SETDETACHSTATE     = 0x1EA
+       SYS_PTHREAD_ATTR_SETSTACKSIZE       = 0x1E8
+       SYS_PTHREAD_ATTR_SETWEIGHT_NP       = 0x1EC
+       SYS_PTHREAD_CANCEL                  = 0x1EE
+       SYS_PTHREAD_CLEANUP_POP             = 0x1F0
+       SYS_PTHREAD_CLEANUP_PUSH            = 0x1EF
+       SYS_PTHREAD_CONDATTR_DESTROY        = 0x1F2
+       SYS_PTHREAD_CONDATTR_INIT           = 0x1F1
+       SYS_PTHREAD_COND_BROADCAST          = 0x1F6
+       SYS_PTHREAD_COND_DESTROY            = 0x1F4
+       SYS_PTHREAD_COND_INIT               = 0x1F3
+       SYS_PTHREAD_COND_SIGNAL             = 0x1F5
+       SYS_PTHREAD_COND_TIMEDWAIT          = 0x1F8
+       SYS_PTHREAD_COND_WAIT               = 0x1F7
+       SYS_PTHREAD_CREATE                  = 0x1F9
+       SYS_PTHREAD_DETACH                  = 0x1FA
+       SYS_PTHREAD_EQUAL                   = 0x1FB
+       SYS_PTHREAD_EXIT                    = 0x1E4
+       SYS_PTHREAD_GETSPECIFIC             = 0x1FC
+       SYS_PTHREAD_JOIN                    = 0x1FD
+       SYS_PTHREAD_KEY_CREATE              = 0x1FE
+       SYS_PTHREAD_KILL                    = 0x1E5
+       SYS_PTHREAD_MUTEXATTR_INIT          = 0x1FF
+       SYS_READ                            = 0x1B2
+       SYS_READDIR                         = 0x1B3
+       SYS_READLINK                        = 0x1B4
+       SYS_REWINDDIR                       = 0x1B5
+       SYS_RMDIR                           = 0x1B6
+       SYS_SETEGID                         = 0x1B7
+       SYS_SETEUID                         = 0x1B8
+       SYS_SETGID                          = 0x1B9
+       SYS_SETPGID                         = 0x1BA
+       SYS_SETSID                          = 0x1BB
+       SYS_SETUID                          = 0x1BC
+       SYS_SIGACTION                       = 0x1BD
+       SYS_SIGADDSET                       = 0x1BE
+       SYS_SIGDELSET                       = 0x1BF
+       SYS_SIGEMPTYSET                     = 0x1C0
+       SYS_SIGFILLSET                      = 0x1C1
+       SYS_SIGISMEMBER                     = 0x1C2
+       SYS_SIGLONGJMP                      = 0x1C3
+       SYS_SIGPENDING                      = 0x1C4
+       SYS_SIGPROCMASK                     = 0x1C5
+       SYS_SIGSETJMP                       = 0x1C6
+       SYS_SIGSUSPEND                      = 0x1C7
+       SYS_SIGWAIT                         = 0x1E3
+       SYS_SLEEP                           = 0x1C8
+       SYS_STAT                            = 0x1C9
+       SYS_SYMLINK                         = 0x1CB
+       SYS_SYSCONF                         = 0x1CC
+       SYS_TCDRAIN                         = 0x1CD
+       SYS_TCFLOW                          = 0x1CE
+       SYS_TCFLUSH                         = 0x1CF
+       SYS_TCGETATTR                       = 0x1D0
+       SYS_TCGETPGRP                       = 0x1D1
+       SYS_TCSENDBREAK                     = 0x1D2
+       SYS_TCSETATTR                       = 0x1D3
+       SYS_TCSETPGRP                       = 0x1D4
+       SYS_TIMES                           = 0x1D5
+       SYS_TTYNAME                         = 0x1D6
+       SYS_TZSET                           = 0x1D7
+       SYS_UMASK                           = 0x1D8
+       SYS_UMOUNT                          = 0x1D9
+       SYS_UNAME                           = 0x1DA
+       SYS_UNLINK                          = 0x1DB
+       SYS_UTIME                           = 0x1DC
+       SYS_WAIT                            = 0x1DD
+       SYS_WAITPID                         = 0x1DE
+       SYS_WRITE                           = 0x1DF
+       SYS_W_GETPSENT                      = 0x1B1
+       SYS_W_IOCTL                         = 0x1A2
+       SYS_W_STATFS                        = 0x1CA
+       SYS_A64L                            = 0x2EF
+       SYS_BCMP                            = 0x2B9
+       SYS_BCOPY                           = 0x2BA
+       SYS_BZERO                           = 0x2BB
+       SYS_CATCLOSE                        = 0x2B6
+       SYS_CATGETS                         = 0x2B7
+       SYS_CATOPEN                         = 0x2B8
+       SYS_CRYPT                           = 0x2AC
+       SYS_DBM_CLEARERR                    = 0x2F7
+       SYS_DBM_CLOSE                       = 0x2F8
+       SYS_DBM_DELETE                      = 0x2F9
+       SYS_DBM_ERROR                       = 0x2FA
+       SYS_DBM_FETCH                       = 0x2FB
+       SYS_DBM_FIRSTKEY                    = 0x2FC
+       SYS_DBM_NEXTKEY                     = 0x2FD
+       SYS_DBM_OPEN                        = 0x2FE
+       SYS_DBM_STORE                       = 0x2FF
+       SYS_DRAND48                         = 0x2B2
+       SYS_ENCRYPT                         = 0x2AD
+       SYS_ENDUTXENT                       = 0x2E1
+       SYS_ERAND48                         = 0x2B3
+       SYS_ERF                             = 0x02C
+       SYS_ERFC                            = 0x02D
+       SYS_FCHDIR                          = 0x2D9
+       SYS_FFS                             = 0x2BC
+       SYS_FMTMSG                          = 0x2E5
+       SYS_FSTATVFS                        = 0x2B4
+       SYS_FTIME                           = 0x2F5
+       SYS_GAMMA                           = 0x02E
+       SYS_GETDATE                         = 0x2A6
+       SYS_GETPAGESIZE                     = 0x2D8
+       SYS_GETTIMEOFDAY                    = 0x2F6
+       SYS_GETUTXENT                       = 0x2E0
+       SYS_GETUTXID                        = 0x2E2
+       SYS_GETUTXLINE                      = 0x2E3
+       SYS_HCREATE                         = 0x2C6
+       SYS_HDESTROY                        = 0x2C7
+       SYS_HSEARCH                         = 0x2C8
+       SYS_HYPOT                           = 0x02B
+       SYS_INDEX                           = 0x2BD
+       SYS_INITSTATE                       = 0x2C2
+       SYS_INSQUE                          = 0x2CF
+       SYS_ISASCII                         = 0x2ED
+       SYS_JRAND48                         = 0x2E6
+       SYS_L64A                            = 0x2F0
+       SYS_LCONG48                         = 0x2EA
+       SYS_LFIND                           = 0x2C9
+       SYS_LRAND48                         = 0x2E7
+       SYS_LSEARCH                         = 0x2CA
+       SYS_MEMCCPY                         = 0x2D4
+       SYS_MRAND48                         = 0x2E8
+       SYS_NRAND48                         = 0x2E9
+       SYS_PCLOSE                          = 0x2D2
+       SYS_POPEN                           = 0x2D1
+       SYS_PUTUTXLINE                      = 0x2E4
+       SYS_RANDOM                          = 0x2C4
+       SYS_REMQUE                          = 0x2D0
+       SYS_RINDEX                          = 0x2BE
+       SYS_SEED48                          = 0x2EC
+       SYS_SETKEY                          = 0x2AE
+       SYS_SETSTATE                        = 0x2C3
+       SYS_SETUTXENT                       = 0x2DF
+       SYS_SRAND48                         = 0x2EB
+       SYS_SRANDOM                         = 0x2C5
+       SYS_STATVFS                         = 0x2B5
+       SYS_STRCASECMP                      = 0x2BF
+       SYS_STRDUP                          = 0x2C0
+       SYS_STRNCASECMP                     = 0x2C1
+       SYS_SWAB                            = 0x2D3
+       SYS_TDELETE                         = 0x2CB
+       SYS_TFIND                           = 0x2CC
+       SYS_TOASCII                         = 0x2EE
+       SYS_TSEARCH                         = 0x2CD
+       SYS_TWALK                           = 0x2CE
+       SYS_UALARM                          = 0x2F1
+       SYS_USLEEP                          = 0x2F2
+       SYS_WAIT3                           = 0x2A7
+       SYS_WAITID                          = 0x2A8
+       SYS_Y1                              = 0x02A
+       SYS___ATOE                          = 0x2DB
+       SYS___ATOE_L                        = 0x2DC
+       SYS___CATTRM                        = 0x2A9
+       SYS___CNVBLK                        = 0x2AF
+       SYS___CRYTRM                        = 0x2B0
+       SYS___DLGHT                         = 0x2A1
+       SYS___ECRTRM                        = 0x2B1
+       SYS___ETOA                          = 0x2DD
+       SYS___ETOA_L                        = 0x2DE
+       SYS___GDTRM                         = 0x2AA
+       SYS___OCLCK                         = 0x2DA
+       SYS___OPARGF                        = 0x2A2
+       SYS___OPERRF                        = 0x2A5
+       SYS___OPINDF                        = 0x2A4
+       SYS___OPOPTF                        = 0x2A3
+       SYS___RNDTRM                        = 0x2AB
+       SYS___SRCTRM                        = 0x2F4
+       SYS___TZONE                         = 0x2A0
+       SYS___UTXTRM                        = 0x2F3
+       SYS_ASIN                            = 0x03E
+       SYS_ISXDIGIT                        = 0x03B
+       SYS_SETLOCAL                        = 0x03A
+       SYS_SETLOCALE                       = 0x03A
+       SYS_SIN                             = 0x03F
+       SYS_TOLOWER                         = 0x03C
+       SYS_TOUPPER                         = 0x03D
+       SYS_ACCEPT_AND_RECV                 = 0x4F7
+       SYS_ATOL                            = 0x04E
+       SYS_CHECKSCH                        = 0x4BC
+       SYS_CHECKSCHENV                     = 0x4BC
+       SYS_CLEARERR                        = 0x04C
+       SYS_CONNECTS                        = 0x4B5
+       SYS_CONNECTSERVER                   = 0x4B5
+       SYS_CONNECTW                        = 0x4B4
+       SYS_CONNECTWORKMGR                  = 0x4B4
+       SYS_CONTINUE                        = 0x4B3
+       SYS_CONTINUEWORKUNIT                = 0x4B3
+       SYS_COPYSIGN                        = 0x4C2
+       SYS_CREATEWO                        = 0x4B2
+       SYS_CREATEWORKUNIT                  = 0x4B2
+       SYS_DELETEWO                        = 0x4B9
+       SYS_DELETEWORKUNIT                  = 0x4B9
+       SYS_DISCONNE                        = 0x4B6
+       SYS_DISCONNECTSERVER                = 0x4B6
+       SYS_FEOF                            = 0x04D
+       SYS_FERROR                          = 0x04A
+       SYS_FINITE                          = 0x4C8
+       SYS_GAMMA_R                         = 0x4E2
+       SYS_JOINWORK                        = 0x4B7
+       SYS_JOINWORKUNIT                    = 0x4B7
+       SYS_LEAVEWOR                        = 0x4B8
+       SYS_LEAVEWORKUNIT                   = 0x4B8
+       SYS_LGAMMA_R                        = 0x4EB
+       SYS_MATHERR                         = 0x4D0
+       SYS_PERROR                          = 0x04F
+       SYS_QUERYMET                        = 0x4BA
+       SYS_QUERYMETRICS                    = 0x4BA
+       SYS_QUERYSCH                        = 0x4BB
+       SYS_QUERYSCHENV                     = 0x4BB
+       SYS_REWIND                          = 0x04B
+       SYS_SCALBN                          = 0x4D4
+       SYS_SIGNIFIC                        = 0x4D5
+       SYS_SIGNIFICAND                     = 0x4D5
+       SYS___ACOSH_B                       = 0x4DA
+       SYS___ACOS_B                        = 0x4D9
+       SYS___ASINH_B                       = 0x4BE
+       SYS___ASIN_B                        = 0x4DB
+       SYS___ATAN2_B                       = 0x4DC
+       SYS___ATANH_B                       = 0x4DD
+       SYS___ATAN_B                        = 0x4BF
+       SYS___CBRT_B                        = 0x4C0
+       SYS___CEIL_B                        = 0x4C1
+       SYS___COSH_B                        = 0x4DE
+       SYS___COS_B                         = 0x4C3
+       SYS___DGHT                          = 0x4A8
+       SYS___ENVN                          = 0x4B0
+       SYS___ERFC_B                        = 0x4C5
+       SYS___ERF_B                         = 0x4C4
+       SYS___EXPM1_B                       = 0x4C6
+       SYS___EXP_B                         = 0x4DF
+       SYS___FABS_B                        = 0x4C7
+       SYS___FLOOR_B                       = 0x4C9
+       SYS___FMOD_B                        = 0x4E0
+       SYS___FP_SETMODE                    = 0x4F8
+       SYS___FREXP_B                       = 0x4CA
+       SYS___GAMMA_B                       = 0x4E1
+       SYS___GDRR                          = 0x4A1
+       SYS___HRRNO                         = 0x4A2
+       SYS___HYPOT_B                       = 0x4E3
+       SYS___ILOGB_B                       = 0x4CB
+       SYS___ISNAN_B                       = 0x4CC
+       SYS___J0_B                          = 0x4E4
+       SYS___J1_B                          = 0x4E6
+       SYS___JN_B                          = 0x4E8
+       SYS___LDEXP_B                       = 0x4CD
+       SYS___LGAMMA_B                      = 0x4EA
+       SYS___LOG10_B                       = 0x4ED
+       SYS___LOG1P_B                       = 0x4CE
+       SYS___LOGB_B                        = 0x4CF
+       SYS___LOGIN                         = 0x4F5
+       SYS___LOG_B                         = 0x4EC
+       SYS___MLOCKALL                      = 0x4B1
+       SYS___MODF_B                        = 0x4D1
+       SYS___NEXTAFTER_B                   = 0x4D2
+       SYS___OPENDIR2                      = 0x4F3
+       SYS___OPEN_STAT                     = 0x4F6
+       SYS___OPND                          = 0x4A5
+       SYS___OPPT                          = 0x4A6
+       SYS___OPRG                          = 0x4A3
+       SYS___OPRR                          = 0x4A4
+       SYS___PID_AFFINITY                  = 0x4BD
+       SYS___POW_B                         = 0x4EE
+       SYS___READDIR2                      = 0x4F4
+       SYS___REMAINDER_B                   = 0x4EF
+       SYS___RINT_B                        = 0x4D3
+       SYS___SCALB_B                       = 0x4F0
+       SYS___SIGACTIONSET                  = 0x4FB
+       SYS___SIGGM                         = 0x4A7
+       SYS___SINH_B                        = 0x4F1
+       SYS___SIN_B                         = 0x4D6
+       SYS___SQRT_B                        = 0x4F2
+       SYS___TANH_B                        = 0x4D8
+       SYS___TAN_B                         = 0x4D7
+       SYS___TRRNO                         = 0x4AF
+       SYS___TZNE                          = 0x4A9
+       SYS___TZZN                          = 0x4AA
+       SYS___UCREATE                       = 0x4FC
+       SYS___UFREE                         = 0x4FE
+       SYS___UHEAPREPORT                   = 0x4FF
+       SYS___UMALLOC                       = 0x4FD
+       SYS___Y0_B                          = 0x4E5
+       SYS___Y1_B                          = 0x4E7
+       SYS___YN_B                          = 0x4E9
+       SYS_ABORT                           = 0x05C
+       SYS_ASCTIME_R                       = 0x5E0
+       SYS_ATEXIT                          = 0x05D
+       SYS_CONNECTE                        = 0x5AE
+       SYS_CONNECTEXPORTIMPORT             = 0x5AE
+       SYS_CTIME_R                         = 0x5E1
+       SYS_DN_COMP                         = 0x5DF
+       SYS_DN_EXPAND                       = 0x5DD
+       SYS_DN_SKIPNAME                     = 0x5DE
+       SYS_EXIT                            = 0x05A
+       SYS_EXPORTWO                        = 0x5A1
+       SYS_EXPORTWORKUNIT                  = 0x5A1
+       SYS_EXTRACTW                        = 0x5A5
+       SYS_EXTRACTWORKUNIT                 = 0x5A5
+       SYS_FSEEKO                          = 0x5C9
+       SYS_FTELLO                          = 0x5C8
+       SYS_GETGRGID_R                      = 0x5E7
+       SYS_GETGRNAM_R                      = 0x5E8
+       SYS_GETLOGIN_R                      = 0x5E9
+       SYS_GETPWNAM_R                      = 0x5EA
+       SYS_GETPWUID_R                      = 0x5EB
+       SYS_GMTIME_R                        = 0x5E2
+       SYS_IMPORTWO                        = 0x5A3
+       SYS_IMPORTWORKUNIT                  = 0x5A3
+       SYS_INET_NTOP                       = 0x5D3
+       SYS_INET_PTON                       = 0x5D4
+       SYS_LLABS                           = 0x5CE
+       SYS_LLDIV                           = 0x5CB
+       SYS_LOCALTIME_R                     = 0x5E3
+       SYS_PTHREAD_ATFORK                  = 0x5ED
+       SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB
+       SYS_PTHREAD_ATTR_GETGUARDSIZE       = 0x5EE
+       SYS_PTHREAD_ATTR_GETSCHEDPARAM      = 0x5F9
+       SYS_PTHREAD_ATTR_GETSTACKADDR       = 0x5EF
+       SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC
+       SYS_PTHREAD_ATTR_SETGUARDSIZE       = 0x5F0
+       SYS_PTHREAD_ATTR_SETSCHEDPARAM      = 0x5FA
+       SYS_PTHREAD_ATTR_SETSTACKADDR       = 0x5F1
+       SYS_PTHREAD_CONDATTR_GETPSHARED     = 0x5F2
+       SYS_PTHREAD_CONDATTR_SETPSHARED     = 0x5F3
+       SYS_PTHREAD_DETACH_U98              = 0x5FD
+       SYS_PTHREAD_GETCONCURRENCY          = 0x5F4
+       SYS_PTHREAD_GETSPECIFIC_U98         = 0x5FE
+       SYS_PTHREAD_KEY_DELETE              = 0x5F5
+       SYS_PTHREAD_SETCANCELSTATE          = 0x5FF
+       SYS_PTHREAD_SETCONCURRENCY          = 0x5F6
+       SYS_PTHREAD_SIGMASK                 = 0x5F7
+       SYS_QUERYENC                        = 0x5AD
+       SYS_QUERYWORKUNITCLASSIFICATION     = 0x5AD
+       SYS_RAISE                           = 0x05E
+       SYS_RAND_R                          = 0x5E4
+       SYS_READDIR_R                       = 0x5E6
+       SYS_REALLOC                         = 0x05B
+       SYS_RES_INIT                        = 0x5D8
+       SYS_RES_MKQUERY                     = 0x5D7
+       SYS_RES_QUERY                       = 0x5D9
+       SYS_RES_QUERYDOMAIN                 = 0x5DC
+       SYS_RES_SEARCH                      = 0x5DA
+       SYS_RES_SEND                        = 0x5DB
+       SYS_SETJMP                          = 0x05F
+       SYS_SIGQUEUE                        = 0x5A9
+       SYS_STRTOK_R                        = 0x5E5
+       SYS_STRTOLL                         = 0x5B0
+       SYS_STRTOULL                        = 0x5B1
+       SYS_TTYNAME_R                       = 0x5EC
+       SYS_UNDOEXPO                        = 0x5A2
+       SYS_UNDOEXPORTWORKUNIT              = 0x5A2
+       SYS_UNDOIMPO                        = 0x5A4
+       SYS_UNDOIMPORTWORKUNIT              = 0x5A4
+       SYS_WCSTOLL                         = 0x5CC
+       SYS_WCSTOULL                        = 0x5CD
+       SYS___ABORT                         = 0x05C
+       SYS___CONSOLE2                      = 0x5D2
+       SYS___CPL                           = 0x5A6
+       SYS___DISCARDDATA                   = 0x5F8
+       SYS___DSA_PREV                      = 0x5B2
+       SYS___EP_FIND                       = 0x5B3
+       SYS___FP_SWAPMODE                   = 0x5AF
+       SYS___GETUSERID                     = 0x5AB
+       SYS___GET_CPUID                     = 0x5B9
+       SYS___GET_SYSTEM_SETTINGS           = 0x5BA
+       SYS___IPDOMAINNAME                  = 0x5AC
+       SYS___MAP_INIT                      = 0x5A7
+       SYS___MAP_SERVICE                   = 0x5A8
+       SYS___MOUNT                         = 0x5AA
+       SYS___MSGRCV_TIMED                  = 0x5B7
+       SYS___RES                           = 0x5D6
+       SYS___SEMOP_TIMED                   = 0x5B8
+       SYS___SERVER_THREADS_QUERY          = 0x5B4
+       SYS_FPRINTF                         = 0x06D
+       SYS_FSCANF                          = 0x06A
+       SYS_PRINTF                          = 0x06F
+       SYS_SETBUF                          = 0x06B
+       SYS_SETVBUF                         = 0x06C
+       SYS_SSCANF                          = 0x06E
+       SYS___CATGETS_A                     = 0x6C0
+       SYS___CHAUDIT_A                     = 0x6F4
+       SYS___CHMOD_A                       = 0x6E8
+       SYS___COLLATE_INIT_A                = 0x6AC
+       SYS___CREAT_A                       = 0x6F6
+       SYS___CTYPE_INIT_A                  = 0x6AF
+       SYS___DLLLOAD_A                     = 0x6DF
+       SYS___DLLQUERYFN_A                  = 0x6E0
+       SYS___DLLQUERYVAR_A                 = 0x6E1
+       SYS___E2A_L                         = 0x6E3
+       SYS___EXECLE_A                      = 0x6A0
+       SYS___EXECLP_A                      = 0x6A4
+       SYS___EXECVE_A                      = 0x6C1
+       SYS___EXECVP_A                      = 0x6C2
+       SYS___EXECV_A                       = 0x6B1
+       SYS___FPRINTF_A                     = 0x6FA
+       SYS___GETADDRINFO_A                 = 0x6BF
+       SYS___GETNAMEINFO_A                 = 0x6C4
+       SYS___GET_WCTYPE_STD_A              = 0x6AE
+       SYS___ICONV_OPEN_A                  = 0x6DE
+       SYS___IF_INDEXTONAME_A              = 0x6DC
+       SYS___IF_NAMETOINDEX_A              = 0x6DB
+       SYS___ISWCTYPE_A                    = 0x6B0
+       SYS___IS_WCTYPE_STD_A               = 0x6B2
+       SYS___LOCALECONV_A                  = 0x6B8
+       SYS___LOCALECONV_STD_A              = 0x6B9
+       SYS___LOCALE_INIT_A                 = 0x6B7
+       SYS___LSTAT_A                       = 0x6EE
+       SYS___LSTAT_O_A                     = 0x6EF
+       SYS___MKDIR_A                       = 0x6E9
+       SYS___MKFIFO_A                      = 0x6EC
+       SYS___MKNOD_A                       = 0x6F0
+       SYS___MONETARY_INIT_A               = 0x6BC
+       SYS___MOUNT_A                       = 0x6F1
+       SYS___NL_CSINFO_A                   = 0x6D6
+       SYS___NL_LANGINFO_A                 = 0x6BA
+       SYS___NL_LNAGINFO_STD_A             = 0x6BB
+       SYS___NL_MONINFO_A                  = 0x6D7
+       SYS___NL_NUMINFO_A                  = 0x6D8
+       SYS___NL_RESPINFO_A                 = 0x6D9
+       SYS___NL_TIMINFO_A                  = 0x6DA
+       SYS___NUMERIC_INIT_A                = 0x6C6
+       SYS___OPEN_A                        = 0x6F7
+       SYS___PRINTF_A                      = 0x6DD
+       SYS___RESP_INIT_A                   = 0x6C7
+       SYS___RPMATCH_A                     = 0x6C8
+       SYS___RPMATCH_C_A                   = 0x6C9
+       SYS___RPMATCH_STD_A                 = 0x6CA
+       SYS___SETLOCALE_A                   = 0x6F9
+       SYS___SPAWNP_A                      = 0x6C5
+       SYS___SPAWN_A                       = 0x6C3
+       SYS___SPRINTF_A                     = 0x6FB
+       SYS___STAT_A                        = 0x6EA
+       SYS___STAT_O_A                      = 0x6EB
+       SYS___STRCOLL_STD_A                 = 0x6A1
+       SYS___STRFMON_A                     = 0x6BD
+       SYS___STRFMON_STD_A                 = 0x6BE
+       SYS___STRFTIME_A                    = 0x6CC
+       SYS___STRFTIME_STD_A                = 0x6CD
+       SYS___STRPTIME_A                    = 0x6CE
+       SYS___STRPTIME_STD_A                = 0x6CF
+       SYS___STRXFRM_A                     = 0x6A2
+       SYS___STRXFRM_C_A                   = 0x6A3
+       SYS___STRXFRM_STD_A                 = 0x6A5
+       SYS___SYNTAX_INIT_A                 = 0x6D4
+       SYS___TIME_INIT_A                   = 0x6CB
+       SYS___TOD_INIT_A                    = 0x6D5
+       SYS___TOWLOWER_A                    = 0x6B3
+       SYS___TOWLOWER_STD_A                = 0x6B4
+       SYS___TOWUPPER_A                    = 0x6B5
+       SYS___TOWUPPER_STD_A                = 0x6B6
+       SYS___UMOUNT_A                      = 0x6F2
+       SYS___VFPRINTF_A                    = 0x6FC
+       SYS___VPRINTF_A                     = 0x6FD
+       SYS___VSPRINTF_A                    = 0x6FE
+       SYS___VSWPRINTF_A                   = 0x6FF
+       SYS___WCSCOLL_A                     = 0x6A6
+       SYS___WCSCOLL_C_A                   = 0x6A7
+       SYS___WCSCOLL_STD_A                 = 0x6A8
+       SYS___WCSFTIME_A                    = 0x6D0
+       SYS___WCSFTIME_STD_A                = 0x6D1
+       SYS___WCSXFRM_A                     = 0x6A9
+       SYS___WCSXFRM_C_A                   = 0x6AA
+       SYS___WCSXFRM_STD_A                 = 0x6AB
+       SYS___WCTYPE_A                      = 0x6AD
+       SYS___W_GETMNTENT_A                 = 0x6F5
+       SYS_____CCSIDTYPE_A                 = 0x6E6
+       SYS_____CHATTR_A                    = 0x6E2
+       SYS_____CSNAMETYPE_A                = 0x6E7
+       SYS_____OPEN_STAT_A                 = 0x6ED
+       SYS_____SPAWN2_A                    = 0x6D2
+       SYS_____SPAWNP2_A                   = 0x6D3
+       SYS_____TOCCSID_A                   = 0x6E4
+       SYS_____TOCSNAME_A                  = 0x6E5
+       SYS_ACL_FREE                        = 0x7FF
+       SYS_ACL_INIT                        = 0x7FE
+       SYS_FWIDE                           = 0x7DF
+       SYS_FWPRINTF                        = 0x7D1
+       SYS_FWRITE                          = 0x07E
+       SYS_FWSCANF                         = 0x7D5
+       SYS_GETCHAR                         = 0x07B
+       SYS_GETS                            = 0x07C
+       SYS_M_CREATE_LAYOUT                 = 0x7C9
+       SYS_M_DESTROY_LAYOUT                = 0x7CA
+       SYS_M_GETVALUES_LAYOUT              = 0x7CB
+       SYS_M_SETVALUES_LAYOUT              = 0x7CC
+       SYS_M_TRANSFORM_LAYOUT              = 0x7CD
+       SYS_M_WTRANSFORM_LAYOUT             = 0x7CE
+       SYS_PREAD                           = 0x7C7
+       SYS_PUTC                            = 0x07D
+       SYS_PUTCHAR                         = 0x07A
+       SYS_PUTS                            = 0x07F
+       SYS_PWRITE                          = 0x7C8
+       SYS_TOWCTRAN                        = 0x7D8
+       SYS_TOWCTRANS                       = 0x7D8
+       SYS_UNATEXIT                        = 0x7B5
+       SYS_VFWPRINT                        = 0x7D3
+       SYS_VFWPRINTF                       = 0x7D3
+       SYS_VWPRINTF                        = 0x7D4
+       SYS_WCTRANS                         = 0x7D7
+       SYS_WPRINTF                         = 0x7D2
+       SYS_WSCANF                          = 0x7D6
+       SYS___ASCTIME_R_A                   = 0x7A1
+       SYS___BASENAME_A                    = 0x7DC
+       SYS___BTOWC_A                       = 0x7E4
+       SYS___CDUMP_A                       = 0x7B7
+       SYS___CEE3DMP_A                     = 0x7B6
+       SYS___CEILF_H                       = 0x7F4
+       SYS___CEILL_H                       = 0x7F5
+       SYS___CEIL_H                        = 0x7EA
+       SYS___CRYPT_A                       = 0x7BE
+       SYS___CSNAP_A                       = 0x7B8
+       SYS___CTEST_A                       = 0x7B9
+       SYS___CTIME_R_A                     = 0x7A2
+       SYS___CTRACE_A                      = 0x7BA
+       SYS___DBM_OPEN_A                    = 0x7E6
+       SYS___DIRNAME_A                     = 0x7DD
+       SYS___FABSF_H                       = 0x7FA
+       SYS___FABSL_H                       = 0x7FB
+       SYS___FABS_H                        = 0x7ED
+       SYS___FGETWC_A                      = 0x7AA
+       SYS___FGETWS_A                      = 0x7AD
+       SYS___FLOORF_H                      = 0x7F6
+       SYS___FLOORL_H                      = 0x7F7
+       SYS___FLOOR_H                       = 0x7EB
+       SYS___FPUTWC_A                      = 0x7A5
+       SYS___FPUTWS_A                      = 0x7A8
+       SYS___GETTIMEOFDAY_A                = 0x7AE
+       SYS___GETWCHAR_A                    = 0x7AC
+       SYS___GETWC_A                       = 0x7AB
+       SYS___GLOB_A                        = 0x7DE
+       SYS___GMTIME_A                      = 0x7AF
+       SYS___GMTIME_R_A                    = 0x7B0
+       SYS___INET_PTON_A                   = 0x7BC
+       SYS___J0_H                          = 0x7EE
+       SYS___J1_H                          = 0x7EF
+       SYS___JN_H                          = 0x7F0
+       SYS___LOCALTIME_A                   = 0x7B1
+       SYS___LOCALTIME_R_A                 = 0x7B2
+       SYS___MALLOC24                      = 0x7FC
+       SYS___MALLOC31                      = 0x7FD
+       SYS___MKTIME_A                      = 0x7B3
+       SYS___MODFF_H                       = 0x7F8
+       SYS___MODFL_H                       = 0x7F9
+       SYS___MODF_H                        = 0x7EC
+       SYS___OPENDIR_A                     = 0x7C2
+       SYS___OSNAME                        = 0x7E0
+       SYS___PUTWCHAR_A                    = 0x7A7
+       SYS___PUTWC_A                       = 0x7A6
+       SYS___READDIR_A                     = 0x7C3
+       SYS___STRTOLL_A                     = 0x7A3
+       SYS___STRTOULL_A                    = 0x7A4
+       SYS___SYSLOG_A                      = 0x7BD
+       SYS___TZZNA                         = 0x7B4
+       SYS___UNGETWC_A                     = 0x7A9
+       SYS___UTIME_A                       = 0x7A0
+       SYS___VFPRINTF2_A                   = 0x7E7
+       SYS___VPRINTF2_A                    = 0x7E8
+       SYS___VSPRINTF2_A                   = 0x7E9
+       SYS___VSWPRNTF2_A                   = 0x7BB
+       SYS___WCSTOD_A                      = 0x7D9
+       SYS___WCSTOL_A                      = 0x7DA
+       SYS___WCSTOUL_A                     = 0x7DB
+       SYS___WCTOB_A                       = 0x7E5
+       SYS___Y0_H                          = 0x7F1
+       SYS___Y1_H                          = 0x7F2
+       SYS___YN_H                          = 0x7F3
+       SYS_____OPENDIR2_A                  = 0x7BF
+       SYS_____OSNAME_A                    = 0x7E1
+       SYS_____READDIR2_A                  = 0x7C0
+       SYS_DLCLOSE                         = 0x8DF
+       SYS_DLERROR                         = 0x8E0
+       SYS_DLOPEN                          = 0x8DD
+       SYS_DLSYM                           = 0x8DE
+       SYS_FLOCKFILE                       = 0x8D3
+       SYS_FTRYLOCKFILE                    = 0x8D4
+       SYS_FUNLOCKFILE                     = 0x8D5
+       SYS_GETCHAR_UNLOCKED                = 0x8D7
+       SYS_GETC_UNLOCKED                   = 0x8D6
+       SYS_PUTCHAR_UNLOCKED                = 0x8D9
+       SYS_PUTC_UNLOCKED                   = 0x8D8
+       SYS_SNPRINTF                        = 0x8DA
+       SYS_VSNPRINTF                       = 0x8DB
+       SYS_WCSCSPN                         = 0x08B
+       SYS_WCSLEN                          = 0x08C
+       SYS_WCSNCAT                         = 0x08D
+       SYS_WCSNCMP                         = 0x08A
+       SYS_WCSNCPY                         = 0x08F
+       SYS_WCSSPN                          = 0x08E
+       SYS___ABSF_H                        = 0x8E7
+       SYS___ABSL_H                        = 0x8E8
+       SYS___ABS_H                         = 0x8E6
+       SYS___ACOSF_H                       = 0x8EA
+       SYS___ACOSH_H                       = 0x8EC
+       SYS___ACOSL_H                       = 0x8EB
+       SYS___ACOS_H                        = 0x8E9
+       SYS___ASINF_H                       = 0x8EE
+       SYS___ASINH_H                       = 0x8F0
+       SYS___ASINL_H                       = 0x8EF
+       SYS___ASIN_H                        = 0x8ED
+       SYS___ATAN2F_H                      = 0x8F8
+       SYS___ATAN2L_H                      = 0x8F9
+       SYS___ATAN2_H                       = 0x8F7
+       SYS___ATANF_H                       = 0x8F2
+       SYS___ATANHF_H                      = 0x8F5
+       SYS___ATANHL_H                      = 0x8F6
+       SYS___ATANH_H                       = 0x8F4
+       SYS___ATANL_H                       = 0x8F3
+       SYS___ATAN_H                        = 0x8F1
+       SYS___CBRT_H                        = 0x8FA
+       SYS___COPYSIGNF_H                   = 0x8FB
+       SYS___COPYSIGNL_H                   = 0x8FC
+       SYS___COSF_H                        = 0x8FE
+       SYS___COSL_H                        = 0x8FF
+       SYS___COS_H                         = 0x8FD
+       SYS___DLERROR_A                     = 0x8D2
+       SYS___DLOPEN_A                      = 0x8D0
+       SYS___DLSYM_A                       = 0x8D1
+       SYS___GETUTXENT_A                   = 0x8C6
+       SYS___GETUTXID_A                    = 0x8C7
+       SYS___GETUTXLINE_A                  = 0x8C8
+       SYS___ITOA                          = 0x8AA
+       SYS___ITOA_A                        = 0x8B0
+       SYS___LE_CONDITION_TOKEN_BUILD      = 0x8A5
+       SYS___LE_MSG_ADD_INSERT             = 0x8A6
+       SYS___LE_MSG_GET                    = 0x8A7
+       SYS___LE_MSG_GET_AND_WRITE          = 0x8A8
+       SYS___LE_MSG_WRITE                  = 0x8A9
+       SYS___LLTOA                         = 0x8AE
+       SYS___LLTOA_A                       = 0x8B4
+       SYS___LTOA                          = 0x8AC
+       SYS___LTOA_A                        = 0x8B2
+       SYS___PUTCHAR_UNLOCKED_A            = 0x8CC
+       SYS___PUTC_UNLOCKED_A               = 0x8CB
+       SYS___PUTUTXLINE_A                  = 0x8C9
+       SYS___RESET_EXCEPTION_HANDLER       = 0x8E3
+       SYS___REXEC_A                       = 0x8C4
+       SYS___REXEC_AF_A                    = 0x8C5
+       SYS___SET_EXCEPTION_HANDLER         = 0x8E2
+       SYS___SNPRINTF_A                    = 0x8CD
+       SYS___SUPERKILL                     = 0x8A4
+       SYS___TCGETATTR_A                   = 0x8A1
+       SYS___TCSETATTR_A                   = 0x8A2
+       SYS___ULLTOA                        = 0x8AF
+       SYS___ULLTOA_A                      = 0x8B5
+       SYS___ULTOA                         = 0x8AD
+       SYS___ULTOA_A                       = 0x8B3
+       SYS___UTOA                          = 0x8AB
+       SYS___UTOA_A                        = 0x8B1
+       SYS___VHM_EVENT                     = 0x8E4
+       SYS___VSNPRINTF_A                   = 0x8CE
+       SYS_____GETENV_A                    = 0x8C3
+       SYS_____UTMPXNAME_A                 = 0x8CA
+       SYS_CACOSH                          = 0x9A0
+       SYS_CACOSHF                         = 0x9A3
+       SYS_CACOSHL                         = 0x9A6
+       SYS_CARG                            = 0x9A9
+       SYS_CARGF                           = 0x9AC
+       SYS_CARGL                           = 0x9AF
+       SYS_CASIN                           = 0x9B2
+       SYS_CASINF                          = 0x9B5
+       SYS_CASINH                          = 0x9BB
+       SYS_CASINHF                         = 0x9BE
+       SYS_CASINHL                         = 0x9C1
+       SYS_CASINL                          = 0x9B8
+       SYS_CATAN                           = 0x9C4
+       SYS_CATANF                          = 0x9C7
+       SYS_CATANH                          = 0x9CD
+       SYS_CATANHF                         = 0x9D0
+       SYS_CATANHL                         = 0x9D3
+       SYS_CATANL                          = 0x9CA
+       SYS_CCOS                            = 0x9D6
+       SYS_CCOSF                           = 0x9D9
+       SYS_CCOSH                           = 0x9DF
+       SYS_CCOSHF                          = 0x9E2
+       SYS_CCOSHL                          = 0x9E5
+       SYS_CCOSL                           = 0x9DC
+       SYS_CEXP                            = 0x9E8
+       SYS_CEXPF                           = 0x9EB
+       SYS_CEXPL                           = 0x9EE
+       SYS_CIMAG                           = 0x9F1
+       SYS_CIMAGF                          = 0x9F4
+       SYS_CIMAGL                          = 0x9F7
+       SYS_CLOGF                           = 0x9FD
+       SYS_MEMCHR                          = 0x09B
+       SYS_MEMCMP                          = 0x09A
+       SYS_STRCOLL                         = 0x09C
+       SYS_STRNCMP                         = 0x09D
+       SYS_STRRCHR                         = 0x09F
+       SYS_STRXFRM                         = 0x09E
+       SYS___CACOSHF_B                     = 0x9A4
+       SYS___CACOSHF_H                     = 0x9A5
+       SYS___CACOSHL_B                     = 0x9A7
+       SYS___CACOSHL_H                     = 0x9A8
+       SYS___CACOSH_B                      = 0x9A1
+       SYS___CACOSH_H                      = 0x9A2
+       SYS___CARGF_B                       = 0x9AD
+       SYS___CARGF_H                       = 0x9AE
+       SYS___CARGL_B                       = 0x9B0
+       SYS___CARGL_H                       = 0x9B1
+       SYS___CARG_B                        = 0x9AA
+       SYS___CARG_H                        = 0x9AB
+       SYS___CASINF_B                      = 0x9B6
+       SYS___CASINF_H                      = 0x9B7
+       SYS___CASINHF_B                     = 0x9BF
+       SYS___CASINHF_H                     = 0x9C0
+       SYS___CASINHL_B                     = 0x9C2
+       SYS___CASINHL_H                     = 0x9C3
+       SYS___CASINH_B                      = 0x9BC
+       SYS___CASINH_H                      = 0x9BD
+       SYS___CASINL_B                      = 0x9B9
+       SYS___CASINL_H                      = 0x9BA
+       SYS___CASIN_B                       = 0x9B3
+       SYS___CASIN_H                       = 0x9B4
+       SYS___CATANF_B                      = 0x9C8
+       SYS___CATANF_H                      = 0x9C9
+       SYS___CATANHF_B                     = 0x9D1
+       SYS___CATANHF_H                     = 0x9D2
+       SYS___CATANHL_B                     = 0x9D4
+       SYS___CATANHL_H                     = 0x9D5
+       SYS___CATANH_B                      = 0x9CE
+       SYS___CATANH_H                      = 0x9CF
+       SYS___CATANL_B                      = 0x9CB
+       SYS___CATANL_H                      = 0x9CC
+       SYS___CATAN_B                       = 0x9C5
+       SYS___CATAN_H                       = 0x9C6
+       SYS___CCOSF_B                       = 0x9DA
+       SYS___CCOSF_H                       = 0x9DB
+       SYS___CCOSHF_B                      = 0x9E3
+       SYS___CCOSHF_H                      = 0x9E4
+       SYS___CCOSHL_B                      = 0x9E6
+       SYS___CCOSHL_H                      = 0x9E7
+       SYS___CCOSH_B                       = 0x9E0
+       SYS___CCOSH_H                       = 0x9E1
+       SYS___CCOSL_B                       = 0x9DD
+       SYS___CCOSL_H                       = 0x9DE
+       SYS___CCOS_B                        = 0x9D7
+       SYS___CCOS_H                        = 0x9D8
+       SYS___CEXPF_B                       = 0x9EC
+       SYS___CEXPF_H                       = 0x9ED
+       SYS___CEXPL_B                       = 0x9EF
+       SYS___CEXPL_H                       = 0x9F0
+       SYS___CEXP_B                        = 0x9E9
+       SYS___CEXP_H                        = 0x9EA
+       SYS___CIMAGF_B                      = 0x9F5
+       SYS___CIMAGF_H                      = 0x9F6
+       SYS___CIMAGL_B                      = 0x9F8
+       SYS___CIMAGL_H                      = 0x9F9
+       SYS___CIMAG_B                       = 0x9F2
+       SYS___CIMAG_H                       = 0x9F3
+       SYS___CLOG                          = 0x9FA
+       SYS___CLOGF_B                       = 0x9FE
+       SYS___CLOGF_H                       = 0x9FF
+       SYS___CLOG_B                        = 0x9FB
+       SYS___CLOG_H                        = 0x9FC
+       SYS_ISWCTYPE                        = 0x10C
+       SYS_ISWXDIGI                        = 0x10A
+       SYS_ISWXDIGIT                       = 0x10A
+       SYS_MBSINIT                         = 0x10F
+       SYS_TOWLOWER                        = 0x10D
+       SYS_TOWUPPER                        = 0x10E
+       SYS_WCTYPE                          = 0x10B
+       SYS_WCSSTR                          = 0x11B
+       SYS___RPMTCH                        = 0x11A
+       SYS_WCSTOD                          = 0x12E
+       SYS_WCSTOK                          = 0x12C
+       SYS_WCSTOL                          = 0x12D
+       SYS_WCSTOUL                         = 0x12F
+       SYS_FGETWC                          = 0x13C
+       SYS_FGETWS                          = 0x13D
+       SYS_FPUTWC                          = 0x13E
+       SYS_FPUTWS                          = 0x13F
+       SYS_REGERROR                        = 0x13B
+       SYS_REGFREE                         = 0x13A
+       SYS_COLLEQUIV                       = 0x14F
+       SYS_COLLTOSTR                       = 0x14E
+       SYS_ISMCCOLLEL                      = 0x14C
+       SYS_STRTOCOLL                       = 0x14D
+       SYS_DLLFREE                         = 0x16F
+       SYS_DLLQUERYFN                      = 0x16D
+       SYS_DLLQUERYVAR                     = 0x16E
+       SYS_GETMCCOLL                       = 0x16A
+       SYS_GETWMCCOLL                      = 0x16B
+       SYS___ERR2AD                        = 0x16C
+       SYS_CFSETOSPEED                     = 0x17A
+       SYS_CHDIR                           = 0x17B
+       SYS_CHMOD                           = 0x17C
+       SYS_CHOWN                           = 0x17D
+       SYS_CLOSE                           = 0x17E
+       SYS_CLOSEDIR                        = 0x17F
+       SYS_LOG                             = 0x017
+       SYS_COSH                            = 0x018
+       SYS_FCHMOD                          = 0x18A
+       SYS_FCHOWN                          = 0x18B
+       SYS_FCNTL                           = 0x18C
+       SYS_FILENO                          = 0x18D
+       SYS_FORK                            = 0x18E
+       SYS_FPATHCONF                       = 0x18F
+       SYS_GETLOGIN                        = 0x19A
+       SYS_GETPGRP                         = 0x19C
+       SYS_GETPID                          = 0x19D
+       SYS_GETPPID                         = 0x19E
+       SYS_GETPWNAM                        = 0x19F
+       SYS_TANH                            = 0x019
+       SYS_W_GETMNTENT                     = 0x19B
+       SYS_POW                             = 0x020
+       SYS_PTHREAD_SELF                    = 0x20A
+       SYS_PTHREAD_SETINTR                 = 0x20B
+       SYS_PTHREAD_SETINTRTYPE             = 0x20C
+       SYS_PTHREAD_SETSPECIFIC             = 0x20D
+       SYS_PTHREAD_TESTINTR                = 0x20E
+       SYS_PTHREAD_YIELD                   = 0x20F
+       SYS_SQRT                            = 0x021
+       SYS_FLOOR                           = 0x022
+       SYS_J1                              = 0x023
+       SYS_WCSPBRK                         = 0x23F
+       SYS_BSEARCH                         = 0x24C
+       SYS_FABS                            = 0x024
+       SYS_GETENV                          = 0x24A
+       SYS_LDIV                            = 0x24D
+       SYS_SYSTEM                          = 0x24B
+       SYS_FMOD                            = 0x025
+       SYS___RETHROW                       = 0x25F
+       SYS___THROW                         = 0x25E
+       SYS_J0                              = 0x026
+       SYS_PUTENV                          = 0x26A
+       SYS___GETENV                        = 0x26F
+       SYS_SEMCTL                          = 0x27A
+       SYS_SEMGET                          = 0x27B
+       SYS_SEMOP                           = 0x27C
+       SYS_SHMAT                           = 0x27D
+       SYS_SHMCTL                          = 0x27E
+       SYS_SHMDT                           = 0x27F
+       SYS_YN                              = 0x027
+       SYS_JN                              = 0x028
+       SYS_SIGALTSTACK                     = 0x28A
+       SYS_SIGHOLD                         = 0x28B
+       SYS_SIGIGNORE                       = 0x28C
+       SYS_SIGINTERRUPT                    = 0x28D
+       SYS_SIGPAUSE                        = 0x28E
+       SYS_SIGRELSE                        = 0x28F
+       SYS_GETOPT                          = 0x29A
+       SYS_GETSUBOPT                       = 0x29D
+       SYS_LCHOWN                          = 0x29B
+       SYS_SETPGRP                         = 0x29E
+       SYS_TRUNCATE                        = 0x29C
+       SYS_Y0                              = 0x029
+       SYS___GDERR                         = 0x29F
+       SYS_ISALPHA                         = 0x030
+       SYS_VFORK                           = 0x30F
+       SYS__LONGJMP                        = 0x30D
+       SYS__SETJMP                         = 0x30E
+       SYS_GLOB                            = 0x31A
+       SYS_GLOBFREE                        = 0x31B
+       SYS_ISALNUM                         = 0x031
+       SYS_PUTW                            = 0x31C
+       SYS_SEEKDIR                         = 0x31D
+       SYS_TELLDIR                         = 0x31E
+       SYS_TEMPNAM                         = 0x31F
+       SYS_GETTIMEOFDAY_R                  = 0x32E
+       SYS_ISLOWER                         = 0x032
+       SYS_LGAMMA                          = 0x32C
+       SYS_REMAINDER                       = 0x32A
+       SYS_SCALB                           = 0x32B
+       SYS_SYNC                            = 0x32F
+       SYS_TTYSLOT                         = 0x32D
+       SYS_ENDPROTOENT                     = 0x33A
+       SYS_ENDSERVENT                      = 0x33B
+       SYS_GETHOSTBYADDR                   = 0x33D
+       SYS_GETHOSTBYADDR_R                 = 0x33C
+       SYS_GETHOSTBYNAME                   = 0x33F
+       SYS_GETHOSTBYNAME_R                 = 0x33E
+       SYS_ISCNTRL                         = 0x033
+       SYS_GETSERVBYNAME                   = 0x34A
+       SYS_GETSERVBYPORT                   = 0x34B
+       SYS_GETSERVENT                      = 0x34C
+       SYS_GETSOCKNAME                     = 0x34D
+       SYS_GETSOCKOPT                      = 0x34E
+       SYS_INET_ADDR                       = 0x34F
+       SYS_ISDIGIT                         = 0x034
+       SYS_ISGRAPH                         = 0x035
+       SYS_SELECT                          = 0x35B
+       SYS_SELECTEX                        = 0x35C
+       SYS_SEND                            = 0x35D
+       SYS_SENDTO                          = 0x35F
+       SYS_CHROOT                          = 0x36A
+       SYS_ISNAN                           = 0x36D
+       SYS_ISUPPER                         = 0x036
+       SYS_ULIMIT                          = 0x36C
+       SYS_UTIMES                          = 0x36E
+       SYS_W_STATVFS                       = 0x36B
+       SYS___H_ERRNO                       = 0x36F
+       SYS_GRANTPT                         = 0x37A
+       SYS_ISPRINT                         = 0x037
+       SYS_TCGETSID                        = 0x37C
+       SYS_UNLOCKPT                        = 0x37B
+       SYS___TCGETCP                       = 0x37D
+       SYS___TCSETCP                       = 0x37E
+       SYS___TCSETTABLES                   = 0x37F
+       SYS_ISPUNCT                         = 0x038
+       SYS_NLIST                           = 0x38C
+       SYS___IPDBCS                        = 0x38D
+       SYS___IPDSPX                        = 0x38E
+       SYS___IPMSGC                        = 0x38F
+       SYS___STHOSTENT                     = 0x38B
+       SYS___STSERVENT                     = 0x38A
+       SYS_ISSPACE                         = 0x039
+       SYS_COS                             = 0x040
+       SYS_T_ALLOC                         = 0x40A
+       SYS_T_BIND                          = 0x40B
+       SYS_T_CLOSE                         = 0x40C
+       SYS_T_CONNECT                       = 0x40D
+       SYS_T_ERROR                         = 0x40E
+       SYS_T_FREE                          = 0x40F
+       SYS_TAN                             = 0x041
+       SYS_T_RCVREL                        = 0x41A
+       SYS_T_RCVUDATA                      = 0x41B
+       SYS_T_RCVUDERR                      = 0x41C
+       SYS_T_SND                           = 0x41D
+       SYS_T_SNDDIS                        = 0x41E
+       SYS_T_SNDREL                        = 0x41F
+       SYS_GETPMSG                         = 0x42A
+       SYS_ISASTREAM                       = 0x42B
+       SYS_PUTMSG                          = 0x42C
+       SYS_PUTPMSG                         = 0x42D
+       SYS_SINH                            = 0x042
+       SYS___ISPOSIXON                     = 0x42E
+       SYS___OPENMVSREL                    = 0x42F
+       SYS_ACOS                            = 0x043
+       SYS_ATAN                            = 0x044
+       SYS_ATAN2                           = 0x045
+       SYS_FTELL                           = 0x046
+       SYS_FGETPOS                         = 0x047
+       SYS_SOCK_DEBUG                      = 0x47A
+       SYS_SOCK_DO_TESTSTOR                = 0x47D
+       SYS_TAKESOCKET                      = 0x47E
+       SYS___SERVER_INIT                   = 0x47F
+       SYS_FSEEK                           = 0x048
+       SYS___IPHOST                        = 0x48B
+       SYS___IPNODE                        = 0x48C
+       SYS___SERVER_CLASSIFY_CREATE        = 0x48D
+       SYS___SERVER_CLASSIFY_DESTROY       = 0x48E
+       SYS___SERVER_CLASSIFY_RESET         = 0x48F
+       SYS___SMF_RECORD                    = 0x48A
+       SYS_FSETPOS                         = 0x049
+       SYS___FNWSA                         = 0x49B
+       SYS___SPAWN2                        = 0x49D
+       SYS___SPAWNP2                       = 0x49E
+       SYS_ATOF                            = 0x050
+       SYS_PTHREAD_MUTEXATTR_GETPSHARED    = 0x50A
+       SYS_PTHREAD_MUTEXATTR_SETPSHARED    = 0x50B
+       SYS_PTHREAD_RWLOCK_DESTROY          = 0x50C
+       SYS_PTHREAD_RWLOCK_INIT             = 0x50D
+       SYS_PTHREAD_RWLOCK_RDLOCK           = 0x50E
+       SYS_PTHREAD_RWLOCK_TRYRDLOCK        = 0x50F
+       SYS_ATOI                            = 0x051
+       SYS___FP_CLASS                      = 0x51D
+       SYS___FP_CLR_FLAG                   = 0x51A
+       SYS___FP_FINITE                     = 0x51E
+       SYS___FP_ISNAN                      = 0x51F
+       SYS___FP_RAISE_XCP                  = 0x51C
+       SYS___FP_READ_FLAG                  = 0x51B
+       SYS_RAND                            = 0x052
+       SYS_SIGTIMEDWAIT                    = 0x52D
+       SYS_SIGWAITINFO                     = 0x52E
+       SYS___CHKBFP                        = 0x52F
+       SYS___FPC_RS                        = 0x52C
+       SYS___FPC_RW                        = 0x52A
+       SYS___FPC_SM                        = 0x52B
+       SYS_STRTOD                          = 0x053
+       SYS_STRTOL                          = 0x054
+       SYS_STRTOUL                         = 0x055
+       SYS_MALLOC                          = 0x056
+       SYS_SRAND                           = 0x057
+       SYS_CALLOC                          = 0x058
+       SYS_FREE                            = 0x059
+       SYS___OSENV                         = 0x59F
+       SYS___W_PIOCTL                      = 0x59E
+       SYS_LONGJMP                         = 0x060
+       SYS___FLOORF_B                      = 0x60A
+       SYS___FLOORL_B                      = 0x60B
+       SYS___FREXPF_B                      = 0x60C
+       SYS___FREXPL_B                      = 0x60D
+       SYS___LDEXPF_B                      = 0x60E
+       SYS___LDEXPL_B                      = 0x60F
+       SYS_SIGNAL                          = 0x061
+       SYS___ATAN2F_B                      = 0x61A
+       SYS___ATAN2L_B                      = 0x61B
+       SYS___COSHF_B                       = 0x61C
+       SYS___COSHL_B                       = 0x61D
+       SYS___EXPF_B                        = 0x61E
+       SYS___EXPL_B                        = 0x61F
+       SYS_TMPNAM                          = 0x062
+       SYS___ABSF_B                        = 0x62A
+       SYS___ABSL_B                        = 0x62C
+       SYS___ABS_B                         = 0x62B
+       SYS___FMODF_B                       = 0x62D
+       SYS___FMODL_B                       = 0x62E
+       SYS___MODFF_B                       = 0x62F
+       SYS_ATANL                           = 0x63A
+       SYS_CEILF                           = 0x63B
+       SYS_CEILL                           = 0x63C
+       SYS_COSF                            = 0x63D
+       SYS_COSHF                           = 0x63F
+       SYS_COSL                            = 0x63E
+       SYS_REMOVE                          = 0x063
+       SYS_POWL                            = 0x64A
+       SYS_RENAME                          = 0x064
+       SYS_SINF                            = 0x64B
+       SYS_SINHF                           = 0x64F
+       SYS_SINL                            = 0x64C
+       SYS_SQRTF                           = 0x64D
+       SYS_SQRTL                           = 0x64E
+       SYS_BTOWC                           = 0x65F
+       SYS_FREXPL                          = 0x65A
+       SYS_LDEXPF                          = 0x65B
+       SYS_LDEXPL                          = 0x65C
+       SYS_MODFF                           = 0x65D
+       SYS_MODFL                           = 0x65E
+       SYS_TMPFILE                         = 0x065
+       SYS_FREOPEN                         = 0x066
+       SYS___CHARMAP_INIT_A                = 0x66E
+       SYS___GETHOSTBYADDR_R_A             = 0x66C
+       SYS___GETHOSTBYNAME_A               = 0x66A
+       SYS___GETHOSTBYNAME_R_A             = 0x66D
+       SYS___MBLEN_A                       = 0x66F
+       SYS___RES_INIT_A                    = 0x66B
+       SYS_FCLOSE                          = 0x067
+       SYS___GETGRGID_R_A                  = 0x67D
+       SYS___WCSTOMBS_A                    = 0x67A
+       SYS___WCSTOMBS_STD_A                = 0x67B
+       SYS___WCSWIDTH_A                    = 0x67C
+       SYS___WCSWIDTH_ASIA                 = 0x67F
+       SYS___WCSWIDTH_STD_A                = 0x67E
+       SYS_FFLUSH                          = 0x068
+       SYS___GETLOGIN_R_A                  = 0x68E
+       SYS___GETPWNAM_R_A                  = 0x68C
+       SYS___GETPWUID_R_A                  = 0x68D
+       SYS___TTYNAME_R_A                   = 0x68F
+       SYS___WCWIDTH_ASIA                  = 0x68B
+       SYS___WCWIDTH_STD_A                 = 0x68A
+       SYS_FOPEN                           = 0x069
+       SYS___REGEXEC_A                     = 0x69A
+       SYS___REGEXEC_STD_A                 = 0x69B
+       SYS___REGFREE_A                     = 0x69C
+       SYS___REGFREE_STD_A                 = 0x69D
+       SYS___STRCOLL_A                     = 0x69E
+       SYS___STRCOLL_C_A                   = 0x69F
+       SYS_SCANF                           = 0x070
+       SYS___A64L_A                        = 0x70C
+       SYS___ECVT_A                        = 0x70D
+       SYS___FCVT_A                        = 0x70E
+       SYS___GCVT_A                        = 0x70F
+       SYS___STRTOUL_A                     = 0x70A
+       SYS_____AE_CORRESTBL_QUERY_A        = 0x70B
+       SYS_SPRINTF                         = 0x071
+       SYS___ACCESS_A                      = 0x71F
+       SYS___CATOPEN_A                     = 0x71E
+       SYS___GETOPT_A                      = 0x71D
+       SYS___REALPATH_A                    = 0x71A
+       SYS___SETENV_A                      = 0x71B
+       SYS___SYSTEM_A                      = 0x71C
+       SYS_FGETC                           = 0x072
+       SYS___GAI_STRERROR_A                = 0x72F
+       SYS___RMDIR_A                       = 0x72A
+       SYS___STATVFS_A                     = 0x72B
+       SYS___SYMLINK_A                     = 0x72C
+       SYS___TRUNCATE_A                    = 0x72D
+       SYS___UNLINK_A                      = 0x72E
+       SYS_VFPRINTF                        = 0x073
+       SYS___ISSPACE_A                     = 0x73A
+       SYS___ISUPPER_A                     = 0x73B
+       SYS___ISWALNUM_A                    = 0x73F
+       SYS___ISXDIGIT_A                    = 0x73C
+       SYS___TOLOWER_A                     = 0x73D
+       SYS___TOUPPER_A                     = 0x73E
+       SYS_VPRINTF                         = 0x074
+       SYS___CONFSTR_A                     = 0x74B
+       SYS___FDOPEN_A                      = 0x74E
+       SYS___FLDATA_A                      = 0x74F
+       SYS___FTOK_A                        = 0x74C
+       SYS___ISWXDIGIT_A                   = 0x74A
+       SYS___MKTEMP_A                      = 0x74D
+       SYS_VSPRINTF                        = 0x075
+       SYS___GETGRGID_A                    = 0x75A
+       SYS___GETGRNAM_A                    = 0x75B
+       SYS___GETGROUPSBYNAME_A             = 0x75C
+       SYS___GETHOSTENT_A                  = 0x75D
+       SYS___GETHOSTNAME_A                 = 0x75E
+       SYS___GETLOGIN_A                    = 0x75F
+       SYS_GETC                            = 0x076
+       SYS___CREATEWORKUNIT_A              = 0x76A
+       SYS___CTERMID_A                     = 0x76B
+       SYS___FMTMSG_A                      = 0x76C
+       SYS___INITGROUPS_A                  = 0x76D
+       SYS___MSGRCV_A                      = 0x76F
+       SYS_____LOGIN_A                     = 0x76E
+       SYS_FGETS                           = 0x077
+       SYS___STRCASECMP_A                  = 0x77B
+       SYS___STRNCASECMP_A                 = 0x77C
+       SYS___TTYNAME_A                     = 0x77D
+       SYS___UNAME_A                       = 0x77E
+       SYS___UTIMES_A                      = 0x77F
+       SYS_____SERVER_PWU_A                = 0x77A
+       SYS_FPUTC                           = 0x078
+       SYS___CREAT_O_A                     = 0x78E
+       SYS___ENVNA                         = 0x78F
+       SYS___FREAD_A                       = 0x78A
+       SYS___FWRITE_A                      = 0x78B
+       SYS___ISASCII                       = 0x78D
+       SYS___OPEN_O_A                      = 0x78C
+       SYS_FPUTS                           = 0x079
+       SYS___ASCTIME_A                     = 0x79C
+       SYS___CTIME_A                       = 0x79D
+       SYS___GETDATE_A                     = 0x79E
+       SYS___GETSERVBYPORT_A               = 0x79A
+       SYS___GETSERVENT_A                  = 0x79B
+       SYS___TZSET_A                       = 0x79F
+       SYS_ACL_FROM_TEXT                   = 0x80C
+       SYS_ACL_SET_FD                      = 0x80A
+       SYS_ACL_SET_FILE                    = 0x80B
+       SYS_ACL_SORT                        = 0x80E
+       SYS_ACL_TO_TEXT                     = 0x80D
+       SYS_UNGETC                          = 0x080
+       SYS___SHUTDOWN_REGISTRATION         = 0x80F
+       SYS_FREAD                           = 0x081
+       SYS_FREEADDRINFO                    = 0x81A
+       SYS_GAI_STRERROR                    = 0x81B
+       SYS_REXEC_AF                        = 0x81C
+       SYS___DYNALLOC_A                    = 0x81F
+       SYS___POE                           = 0x81D
+       SYS_WCSTOMBS                        = 0x082
+       SYS___INET_ADDR_A                   = 0x82F
+       SYS___NLIST_A                       = 0x82A
+       SYS_____TCGETCP_A                   = 0x82B
+       SYS_____TCSETCP_A                   = 0x82C
+       SYS_____W_PIOCTL_A                  = 0x82E
+       SYS_MBTOWC                          = 0x083
+       SYS___CABEND                        = 0x83D
+       SYS___LE_CIB_GET                    = 0x83E
+       SYS___RECVMSG_A                     = 0x83B
+       SYS___SENDMSG_A                     = 0x83A
+       SYS___SET_LAA_FOR_JIT               = 0x83F
+       SYS_____LCHATTR_A                   = 0x83C
+       SYS_WCTOMB                          = 0x084
+       SYS___CBRTL_B                       = 0x84A
+       SYS___COPYSIGNF_B                   = 0x84B
+       SYS___COPYSIGNL_B                   = 0x84C
+       SYS___COTANF_B                      = 0x84D
+       SYS___COTANL_B                      = 0x84F
+       SYS___COTAN_B                       = 0x84E
+       SYS_MBSTOWCS                        = 0x085
+       SYS___LOG1PL_B                      = 0x85A
+       SYS___LOG2F_B                       = 0x85B
+       SYS___LOG2L_B                       = 0x85D
+       SYS___LOG2_B                        = 0x85C
+       SYS___REMAINDERF_B                  = 0x85E
+       SYS___REMAINDERL_B                  = 0x85F
+       SYS_ACOSHF                          = 0x86E
+       SYS_ACOSHL                          = 0x86F
+       SYS_WCSCPY                          = 0x086
+       SYS___ERFCF_B                       = 0x86D
+       SYS___ERFF_B                        = 0x86C
+       SYS___LROUNDF_B                     = 0x86A
+       SYS___LROUND_B                      = 0x86B
+       SYS_COTANL                          = 0x87A
+       SYS_EXP2F                           = 0x87B
+       SYS_EXP2L                           = 0x87C
+       SYS_EXPM1F                          = 0x87D
+       SYS_EXPM1L                          = 0x87E
+       SYS_FDIMF                           = 0x87F
+       SYS_WCSCAT                          = 0x087
+       SYS___COTANL                        = 0x87A
+       SYS_REMAINDERF                      = 0x88A
+       SYS_REMAINDERL                      = 0x88B
+       SYS_REMAINDF                        = 0x88A
+       SYS_REMAINDL                        = 0x88B
+       SYS_REMQUO                          = 0x88D
+       SYS_REMQUOF                         = 0x88C
+       SYS_REMQUOL                         = 0x88E
+       SYS_TGAMMAF                         = 0x88F
+       SYS_WCSCHR                          = 0x088
+       SYS_ERFCF                           = 0x89B
+       SYS_ERFCL                           = 0x89C
+       SYS_ERFL                            = 0x89A
+       SYS_EXP2                            = 0x89E
+       SYS_WCSCMP                          = 0x089
+       SYS___EXP2_B                        = 0x89D
+       SYS___FAR_JUMP                      = 0x89F
+       SYS_ABS                             = 0x090
+       SYS___ERFCL_H                       = 0x90A
+       SYS___EXPF_H                        = 0x90C
+       SYS___EXPL_H                        = 0x90D
+       SYS___EXPM1_H                       = 0x90E
+       SYS___EXP_H                         = 0x90B
+       SYS___FDIM_H                        = 0x90F
+       SYS_DIV                             = 0x091
+       SYS___LOG2F_H                       = 0x91F
+       SYS___LOG2_H                        = 0x91E
+       SYS___LOGB_H                        = 0x91D
+       SYS___LOGF_H                        = 0x91B
+       SYS___LOGL_H                        = 0x91C
+       SYS___LOG_H                         = 0x91A
+       SYS_LABS                            = 0x092
+       SYS___POWL_H                        = 0x92A
+       SYS___REMAINDER_H                   = 0x92B
+       SYS___RINT_H                        = 0x92C
+       SYS___SCALB_H                       = 0x92D
+       SYS___SINF_H                        = 0x92F
+       SYS___SIN_H                         = 0x92E
+       SYS_STRNCPY                         = 0x093
+       SYS___TANHF_H                       = 0x93B
+       SYS___TANHL_H                       = 0x93C
+       SYS___TANH_H                        = 0x93A
+       SYS___TGAMMAF_H                     = 0x93E
+       SYS___TGAMMA_H                      = 0x93D
+       SYS___TRUNC_H                       = 0x93F
+       SYS_MEMCPY                          = 0x094
+       SYS_VFWSCANF                        = 0x94A
+       SYS_VSWSCANF                        = 0x94E
+       SYS_VWSCANF                         = 0x94C
+       SYS_INET6_RTH_ADD                   = 0x95D
+       SYS_INET6_RTH_INIT                  = 0x95C
+       SYS_INET6_RTH_REVERSE               = 0x95E
+       SYS_INET6_RTH_SEGMENTS              = 0x95F
+       SYS_INET6_RTH_SPACE                 = 0x95B
+       SYS_MEMMOVE                         = 0x095
+       SYS_WCSTOLD                         = 0x95A
+       SYS_STRCPY                          = 0x096
+       SYS_STRCMP                          = 0x097
+       SYS_CABS                            = 0x98E
+       SYS_STRCAT                          = 0x098
+       SYS___CABS_B                        = 0x98F
+       SYS___POW_II                        = 0x98A
+       SYS___POW_II_B                      = 0x98B
+       SYS___POW_II_H                      = 0x98C
+       SYS_CACOSF                          = 0x99A
+       SYS_CACOSL                          = 0x99D
+       SYS_STRNCAT                         = 0x099
+       SYS___CACOSF_B                      = 0x99B
+       SYS___CACOSF_H                      = 0x99C
+       SYS___CACOSL_B                      = 0x99E
+       SYS___CACOSL_H                      = 0x99F
+       SYS_ISWALPHA                        = 0x100
+       SYS_ISWBLANK                        = 0x101
+       SYS___ISWBLK                        = 0x101
+       SYS_ISWCNTRL                        = 0x102
+       SYS_ISWDIGIT                        = 0x103
+       SYS_ISWGRAPH                        = 0x104
+       SYS_ISWLOWER                        = 0x105
+       SYS_ISWPRINT                        = 0x106
+       SYS_ISWPUNCT                        = 0x107
+       SYS_ISWSPACE                        = 0x108
+       SYS_ISWUPPER                        = 0x109
+       SYS_WCTOB                           = 0x110
+       SYS_MBRLEN                          = 0x111
+       SYS_MBRTOWC                         = 0x112
+       SYS_MBSRTOWC                        = 0x113
+       SYS_MBSRTOWCS                       = 0x113
+       SYS_WCRTOMB                         = 0x114
+       SYS_WCSRTOMB                        = 0x115
+       SYS_WCSRTOMBS                       = 0x115
+       SYS___CSID                          = 0x116
+       SYS___WCSID                         = 0x117
+       SYS_STRPTIME                        = 0x118
+       SYS___STRPTM                        = 0x118
+       SYS_STRFMON                         = 0x119
+       SYS_WCSCOLL                         = 0x130
+       SYS_WCSXFRM                         = 0x131
+       SYS_WCSWIDTH                        = 0x132
+       SYS_WCWIDTH                         = 0x133
+       SYS_WCSFTIME                        = 0x134
+       SYS_SWPRINTF                        = 0x135
+       SYS_VSWPRINT                        = 0x136
+       SYS_VSWPRINTF                       = 0x136
+       SYS_SWSCANF                         = 0x137
+       SYS_REGCOMP                         = 0x138
+       SYS_REGEXEC                         = 0x139
+       SYS_GETWC                           = 0x140
+       SYS_GETWCHAR                        = 0x141
+       SYS_PUTWC                           = 0x142
+       SYS_PUTWCHAR                        = 0x143
+       SYS_UNGETWC                         = 0x144
+       SYS_ICONV_OPEN                      = 0x145
+       SYS_ICONV                           = 0x146
+       SYS_ICONV_CLOSE                     = 0x147
+       SYS_COLLRANGE                       = 0x150
+       SYS_CCLASS                          = 0x151
+       SYS_COLLORDER                       = 0x152
+       SYS___DEMANGLE                      = 0x154
+       SYS_FDOPEN                          = 0x155
+       SYS___ERRNO                         = 0x156
+       SYS___ERRNO2                        = 0x157
+       SYS___TERROR                        = 0x158
+       SYS_MAXCOLL                         = 0x169
+       SYS_DLLLOAD                         = 0x170
+       SYS__EXIT                           = 0x174
+       SYS_ACCESS                          = 0x175
+       SYS_ALARM                           = 0x176
+       SYS_CFGETISPEED                     = 0x177
+       SYS_CFGETOSPEED                     = 0x178
+       SYS_CFSETISPEED                     = 0x179
+       SYS_CREAT                           = 0x180
+       SYS_CTERMID                         = 0x181
+       SYS_DUP                             = 0x182
+       SYS_DUP2                            = 0x183
+       SYS_EXECL                           = 0x184
+       SYS_EXECLE                          = 0x185
+       SYS_EXECLP                          = 0x186
+       SYS_EXECV                           = 0x187
+       SYS_EXECVE                          = 0x188
+       SYS_EXECVP                          = 0x189
+       SYS_FSTAT                           = 0x190
+       SYS_FSYNC                           = 0x191
+       SYS_FTRUNCATE                       = 0x192
+       SYS_GETCWD                          = 0x193
+       SYS_GETEGID                         = 0x194
+       SYS_GETEUID                         = 0x195
+       SYS_GETGID                          = 0x196
+       SYS_GETGRGID                        = 0x197
+       SYS_GETGRNAM                        = 0x198
+       SYS_GETGROUPS                       = 0x199
+       SYS_PTHREAD_MUTEXATTR_DESTROY       = 0x200
+       SYS_PTHREAD_MUTEXATTR_SETKIND_NP    = 0x201
+       SYS_PTHREAD_MUTEXATTR_GETKIND_NP    = 0x202
+       SYS_PTHREAD_MUTEX_INIT              = 0x203
+       SYS_PTHREAD_MUTEX_DESTROY           = 0x204
+       SYS_PTHREAD_MUTEX_LOCK              = 0x205
+       SYS_PTHREAD_MUTEX_TRYLOCK           = 0x206
+       SYS_PTHREAD_MUTEX_UNLOCK            = 0x207
+       SYS_PTHREAD_ONCE                    = 0x209
+       SYS_TW_OPEN                         = 0x210
+       SYS_TW_FCNTL                        = 0x211
+       SYS_PTHREAD_JOIN_D4_NP              = 0x212
+       SYS_PTHREAD_CONDATTR_SETKIND_NP     = 0x213
+       SYS_PTHREAD_CONDATTR_GETKIND_NP     = 0x214
+       SYS_EXTLINK_NP                      = 0x215
+       SYS___PASSWD                        = 0x216
+       SYS_SETGROUPS                       = 0x217
+       SYS_INITGROUPS                      = 0x218
+       SYS_WCSRCHR                         = 0x240
+       SYS_SVC99                           = 0x241
+       SYS___SVC99                         = 0x241
+       SYS_WCSWCS                          = 0x242
+       SYS_LOCALECO                        = 0x243
+       SYS_LOCALECONV                      = 0x243
+       SYS___LIBREL                        = 0x244
+       SYS_RELEASE                         = 0x245
+       SYS___RLSE                          = 0x245
+       SYS_FLOCATE                         = 0x246
+       SYS___FLOCT                         = 0x246
+       SYS_FDELREC                         = 0x247
+       SYS___FDLREC                        = 0x247
+       SYS_FETCH                           = 0x248
+       SYS___FETCH                         = 0x248
+       SYS_QSORT                           = 0x249
+       SYS___CLEANUPCATCH                  = 0x260
+       SYS___CATCHMATCH                    = 0x261
+       SYS___CLEAN2UPCATCH                 = 0x262
+       SYS_GETPRIORITY                     = 0x270
+       SYS_NICE                            = 0x271
+       SYS_SETPRIORITY                     = 0x272
+       SYS_GETITIMER                       = 0x273
+       SYS_SETITIMER                       = 0x274
+       SYS_MSGCTL                          = 0x275
+       SYS_MSGGET                          = 0x276
+       SYS_MSGRCV                          = 0x277
+       SYS_MSGSND                          = 0x278
+       SYS_MSGXRCV                         = 0x279
+       SYS___MSGXR                         = 0x279
+       SYS_SHMGET                          = 0x280
+       SYS___GETIPC                        = 0x281
+       SYS_SETGRENT                        = 0x282
+       SYS_GETGRENT                        = 0x283
+       SYS_ENDGRENT                        = 0x284
+       SYS_SETPWENT                        = 0x285
+       SYS_GETPWENT                        = 0x286
+       SYS_ENDPWENT                        = 0x287
+       SYS_BSD_SIGNAL                      = 0x288
+       SYS_KILLPG                          = 0x289
+       SYS_SIGSET                          = 0x290
+       SYS_SIGSTACK                        = 0x291
+       SYS_GETRLIMIT                       = 0x292
+       SYS_SETRLIMIT                       = 0x293
+       SYS_GETRUSAGE                       = 0x294
+       SYS_MMAP                            = 0x295
+       SYS_MPROTECT                        = 0x296
+       SYS_MSYNC                           = 0x297
+       SYS_MUNMAP                          = 0x298
+       SYS_CONFSTR                         = 0x299
+       SYS___NDMTRM                        = 0x300
+       SYS_FTOK                            = 0x301
+       SYS_BASENAME                        = 0x302
+       SYS_DIRNAME                         = 0x303
+       SYS_GETDTABLESIZE                   = 0x304
+       SYS_MKSTEMP                         = 0x305
+       SYS_MKTEMP                          = 0x306
+       SYS_NFTW                            = 0x307
+       SYS_GETWD                           = 0x308
+       SYS_LOCKF                           = 0x309
+       SYS_WORDEXP                         = 0x310
+       SYS_WORDFREE                        = 0x311
+       SYS_GETPGID                         = 0x312
+       SYS_GETSID                          = 0x313
+       SYS___UTMPXNAME                     = 0x314
+       SYS_CUSERID                         = 0x315
+       SYS_GETPASS                         = 0x316
+       SYS_FNMATCH                         = 0x317
+       SYS_FTW                             = 0x318
+       SYS_GETW                            = 0x319
+       SYS_ACOSH                           = 0x320
+       SYS_ASINH                           = 0x321
+       SYS_ATANH                           = 0x322
+       SYS_CBRT                            = 0x323
+       SYS_EXPM1                           = 0x324
+       SYS_ILOGB                           = 0x325
+       SYS_LOGB                            = 0x326
+       SYS_LOG1P                           = 0x327
+       SYS_NEXTAFTER                       = 0x328
+       SYS_RINT                            = 0x329
+       SYS_SPAWN                           = 0x330
+       SYS_SPAWNP                          = 0x331
+       SYS_GETLOGIN_UU                     = 0x332
+       SYS_ECVT                            = 0x333
+       SYS_FCVT                            = 0x334
+       SYS_GCVT                            = 0x335
+       SYS_ACCEPT                          = 0x336
+       SYS_BIND                            = 0x337
+       SYS_CONNECT                         = 0x338
+       SYS_ENDHOSTENT                      = 0x339
+       SYS_GETHOSTENT                      = 0x340
+       SYS_GETHOSTID                       = 0x341
+       SYS_GETHOSTNAME                     = 0x342
+       SYS_GETNETBYADDR                    = 0x343
+       SYS_GETNETBYNAME                    = 0x344
+       SYS_GETNETENT                       = 0x345
+       SYS_GETPEERNAME                     = 0x346
+       SYS_GETPROTOBYNAME                  = 0x347
+       SYS_GETPROTOBYNUMBER                = 0x348
+       SYS_GETPROTOENT                     = 0x349
+       SYS_INET_LNAOF                      = 0x350
+       SYS_INET_MAKEADDR                   = 0x351
+       SYS_INET_NETOF                      = 0x352
+       SYS_INET_NETWORK                    = 0x353
+       SYS_INET_NTOA                       = 0x354
+       SYS_IOCTL                           = 0x355
+       SYS_LISTEN                          = 0x356
+       SYS_READV                           = 0x357
+       SYS_RECV                            = 0x358
+       SYS_RECVFROM                        = 0x359
+       SYS_SETHOSTENT                      = 0x360
+       SYS_SETNETENT                       = 0x361
+       SYS_SETPEER                         = 0x362
+       SYS_SETPROTOENT                     = 0x363
+       SYS_SETSERVENT                      = 0x364
+       SYS_SETSOCKOPT                      = 0x365
+       SYS_SHUTDOWN                        = 0x366
+       SYS_SOCKET                          = 0x367
+       SYS_SOCKETPAIR                      = 0x368
+       SYS_WRITEV                          = 0x369
+       SYS_ENDNETENT                       = 0x370
+       SYS_CLOSELOG                        = 0x371
+       SYS_OPENLOG                         = 0x372
+       SYS_SETLOGMASK                      = 0x373
+       SYS_SYSLOG                          = 0x374
+       SYS_PTSNAME                         = 0x375
+       SYS_SETREUID                        = 0x376
+       SYS_SETREGID                        = 0x377
+       SYS_REALPATH                        = 0x378
+       SYS___SIGNGAM                       = 0x379
+       SYS_POLL                            = 0x380
+       SYS_REXEC                           = 0x381
+       SYS___ISASCII2                      = 0x382
+       SYS___TOASCII2                      = 0x383
+       SYS_CHPRIORITY                      = 0x384
+       SYS_PTHREAD_ATTR_SETSYNCTYPE_NP     = 0x385
+       SYS_PTHREAD_ATTR_GETSYNCTYPE_NP     = 0x386
+       SYS_PTHREAD_SET_LIMIT_NP            = 0x387
+       SYS___STNETENT                      = 0x388
+       SYS___STPROTOENT                    = 0x389
+       SYS___SELECT1                       = 0x390
+       SYS_PTHREAD_SECURITY_NP             = 0x391
+       SYS___CHECK_RESOURCE_AUTH_NP        = 0x392
+       SYS___CONVERT_ID_NP                 = 0x393
+       SYS___OPENVMREL                     = 0x394
+       SYS_WMEMCHR                         = 0x395
+       SYS_WMEMCMP                         = 0x396
+       SYS_WMEMCPY                         = 0x397
+       SYS_WMEMMOVE                        = 0x398
+       SYS_WMEMSET                         = 0x399
+       SYS___FPUTWC                        = 0x400
+       SYS___PUTWC                         = 0x401
+       SYS___PWCHAR                        = 0x402
+       SYS___WCSFTM                        = 0x403
+       SYS___WCSTOK                        = 0x404
+       SYS___WCWDTH                        = 0x405
+       SYS_T_ACCEPT                        = 0x409
+       SYS_T_GETINFO                       = 0x410
+       SYS_T_GETPROTADDR                   = 0x411
+       SYS_T_GETSTATE                      = 0x412
+       SYS_T_LISTEN                        = 0x413
+       SYS_T_LOOK                          = 0x414
+       SYS_T_OPEN                          = 0x415
+       SYS_T_OPTMGMT                       = 0x416
+       SYS_T_RCV                           = 0x417
+       SYS_T_RCVCONNECT                    = 0x418
+       SYS_T_RCVDIS                        = 0x419
+       SYS_T_SNDUDATA                      = 0x420
+       SYS_T_STRERROR                      = 0x421
+       SYS_T_SYNC                          = 0x422
+       SYS_T_UNBIND                        = 0x423
+       SYS___T_ERRNO                       = 0x424
+       SYS___RECVMSG2                      = 0x425
+       SYS___SENDMSG2                      = 0x426
+       SYS_FATTACH                         = 0x427
+       SYS_FDETACH                         = 0x428
+       SYS_GETMSG                          = 0x429
+       SYS_GETCONTEXT                      = 0x430
+       SYS_SETCONTEXT                      = 0x431
+       SYS_MAKECONTEXT                     = 0x432
+       SYS_SWAPCONTEXT                     = 0x433
+       SYS_PTHREAD_GETSPECIFIC_D8_NP       = 0x434
+       SYS_GETCLIENTID                     = 0x470
+       SYS___GETCLIENTID                   = 0x471
+       SYS_GETSTABLESIZE                   = 0x472
+       SYS_GETIBMOPT                       = 0x473
+       SYS_GETIBMSOCKOPT                   = 0x474
+       SYS_GIVESOCKET                      = 0x475
+       SYS_IBMSFLUSH                       = 0x476
+       SYS_MAXDESC                         = 0x477
+       SYS_SETIBMOPT                       = 0x478
+       SYS_SETIBMSOCKOPT                   = 0x479
+       SYS___SERVER_PWU                    = 0x480
+       SYS_PTHREAD_TAG_NP                  = 0x481
+       SYS___CONSOLE                       = 0x482
+       SYS___WSINIT                        = 0x483
+       SYS___IPTCPN                        = 0x489
+       SYS___SERVER_CLASSIFY               = 0x490
+       SYS___HEAPRPT                       = 0x496
+       SYS___ISBFP                         = 0x500
+       SYS___FP_CAST                       = 0x501
+       SYS___CERTIFICATE                   = 0x502
+       SYS_SEND_FILE                       = 0x503
+       SYS_AIO_CANCEL                      = 0x504
+       SYS_AIO_ERROR                       = 0x505
+       SYS_AIO_READ                        = 0x506
+       SYS_AIO_RETURN                      = 0x507
+       SYS_AIO_SUSPEND                     = 0x508
+       SYS_AIO_WRITE                       = 0x509
+       SYS_PTHREAD_RWLOCK_TRYWRLOCK        = 0x510
+       SYS_PTHREAD_RWLOCK_UNLOCK           = 0x511
+       SYS_PTHREAD_RWLOCK_WRLOCK           = 0x512
+       SYS_PTHREAD_RWLOCKATTR_GETPSHARED   = 0x513
+       SYS_PTHREAD_RWLOCKATTR_SETPSHARED   = 0x514
+       SYS_PTHREAD_RWLOCKATTR_INIT         = 0x515
+       SYS_PTHREAD_RWLOCKATTR_DESTROY      = 0x516
+       SYS___CTTBL                         = 0x517
+       SYS_PTHREAD_MUTEXATTR_SETTYPE       = 0x518
+       SYS_PTHREAD_MUTEXATTR_GETTYPE       = 0x519
+       SYS___FP_UNORDERED                  = 0x520
+       SYS___FP_READ_RND                   = 0x521
+       SYS___FP_READ_RND_B                 = 0x522
+       SYS___FP_SWAP_RND                   = 0x523
+       SYS___FP_SWAP_RND_B                 = 0x524
+       SYS___FP_LEVEL                      = 0x525
+       SYS___FP_BTOH                       = 0x526
+       SYS___FP_HTOB                       = 0x527
+       SYS___FPC_RD                        = 0x528
+       SYS___FPC_WR                        = 0x529
+       SYS_PTHREAD_SETCANCELTYPE           = 0x600
+       SYS_PTHREAD_TESTCANCEL              = 0x601
+       SYS___ATANF_B                       = 0x602
+       SYS___ATANL_B                       = 0x603
+       SYS___CEILF_B                       = 0x604
+       SYS___CEILL_B                       = 0x605
+       SYS___COSF_B                        = 0x606
+       SYS___COSL_B                        = 0x607
+       SYS___FABSF_B                       = 0x608
+       SYS___FABSL_B                       = 0x609
+       SYS___SINF_B                        = 0x610
+       SYS___SINL_B                        = 0x611
+       SYS___TANF_B                        = 0x612
+       SYS___TANL_B                        = 0x613
+       SYS___TANHF_B                       = 0x614
+       SYS___TANHL_B                       = 0x615
+       SYS___ACOSF_B                       = 0x616
+       SYS___ACOSL_B                       = 0x617
+       SYS___ASINF_B                       = 0x618
+       SYS___ASINL_B                       = 0x619
+       SYS___LOGF_B                        = 0x620
+       SYS___LOGL_B                        = 0x621
+       SYS___LOG10F_B                      = 0x622
+       SYS___LOG10L_B                      = 0x623
+       SYS___POWF_B                        = 0x624
+       SYS___POWL_B                        = 0x625
+       SYS___SINHF_B                       = 0x626
+       SYS___SINHL_B                       = 0x627
+       SYS___SQRTF_B                       = 0x628
+       SYS___SQRTL_B                       = 0x629
+       SYS___MODFL_B                       = 0x630
+       SYS_ABSF                            = 0x631
+       SYS_ABSL                            = 0x632
+       SYS_ACOSF                           = 0x633
+       SYS_ACOSL                           = 0x634
+       SYS_ASINF                           = 0x635
+       SYS_ASINL                           = 0x636
+       SYS_ATAN2F                          = 0x637
+       SYS_ATAN2L                          = 0x638
+       SYS_ATANF                           = 0x639
+       SYS_COSHL                           = 0x640
+       SYS_EXPF                            = 0x641
+       SYS_EXPL                            = 0x642
+       SYS_TANHF                           = 0x643
+       SYS_TANHL                           = 0x644
+       SYS_LOG10F                          = 0x645
+       SYS_LOG10L                          = 0x646
+       SYS_LOGF                            = 0x647
+       SYS_LOGL                            = 0x648
+       SYS_POWF                            = 0x649
+       SYS_SINHL                           = 0x650
+       SYS_TANF                            = 0x651
+       SYS_TANL                            = 0x652
+       SYS_FABSF                           = 0x653
+       SYS_FABSL                           = 0x654
+       SYS_FLOORF                          = 0x655
+       SYS_FLOORL                          = 0x656
+       SYS_FMODF                           = 0x657
+       SYS_FMODL                           = 0x658
+       SYS_FREXPF                          = 0x659
+       SYS___CHATTR                        = 0x660
+       SYS___FCHATTR                       = 0x661
+       SYS___TOCCSID                       = 0x662
+       SYS___CSNAMETYPE                    = 0x663
+       SYS___TOCSNAME                      = 0x664
+       SYS___CCSIDTYPE                     = 0x665
+       SYS___AE_CORRESTBL_QUERY            = 0x666
+       SYS___AE_AUTOCONVERT_STATE          = 0x667
+       SYS_DN_FIND                         = 0x668
+       SYS___GETHOSTBYADDR_A               = 0x669
+       SYS___MBLEN_SB_A                    = 0x670
+       SYS___MBLEN_STD_A                   = 0x671
+       SYS___MBLEN_UTF                     = 0x672
+       SYS___MBSTOWCS_A                    = 0x673
+       SYS___MBSTOWCS_STD_A                = 0x674
+       SYS___MBTOWC_A                      = 0x675
+       SYS___MBTOWC_ISO1                   = 0x676
+       SYS___MBTOWC_SBCS                   = 0x677
+       SYS___MBTOWC_MBCS                   = 0x678
+       SYS___MBTOWC_UTF                    = 0x679
+       SYS___CSID_A                        = 0x680
+       SYS___CSID_STD_A                    = 0x681
+       SYS___WCSID_A                       = 0x682
+       SYS___WCSID_STD_A                   = 0x683
+       SYS___WCTOMB_A                      = 0x684
+       SYS___WCTOMB_ISO1                   = 0x685
+       SYS___WCTOMB_STD_A                  = 0x686
+       SYS___WCTOMB_UTF                    = 0x687
+       SYS___WCWIDTH_A                     = 0x688
+       SYS___GETGRNAM_R_A                  = 0x689
+       SYS___READDIR_R_A                   = 0x690
+       SYS___E2A_S                         = 0x691
+       SYS___FNMATCH_A                     = 0x692
+       SYS___FNMATCH_C_A                   = 0x693
+       SYS___EXECL_A                       = 0x694
+       SYS___FNMATCH_STD_A                 = 0x695
+       SYS___REGCOMP_A                     = 0x696
+       SYS___REGCOMP_STD_A                 = 0x697
+       SYS___REGERROR_A                    = 0x698
+       SYS___REGERROR_STD_A                = 0x699
+       SYS___SWPRINTF_A                    = 0x700
+       SYS___FSCANF_A                      = 0x701
+       SYS___SCANF_A                       = 0x702
+       SYS___SSCANF_A                      = 0x703
+       SYS___SWSCANF_A                     = 0x704
+       SYS___ATOF_A                        = 0x705
+       SYS___ATOI_A                        = 0x706
+       SYS___ATOL_A                        = 0x707
+       SYS___STRTOD_A                      = 0x708
+       SYS___STRTOL_A                      = 0x709
+       SYS___L64A_A                        = 0x710
+       SYS___STRERROR_A                    = 0x711
+       SYS___PERROR_A                      = 0x712
+       SYS___FETCH_A                       = 0x713
+       SYS___GETENV_A                      = 0x714
+       SYS___MKSTEMP_A                     = 0x717
+       SYS___PTSNAME_A                     = 0x718
+       SYS___PUTENV_A                      = 0x719
+       SYS___CHDIR_A                       = 0x720
+       SYS___CHOWN_A                       = 0x721
+       SYS___CHROOT_A                      = 0x722
+       SYS___GETCWD_A                      = 0x723
+       SYS___GETWD_A                       = 0x724
+       SYS___LCHOWN_A                      = 0x725
+       SYS___LINK_A                        = 0x726
+       SYS___PATHCONF_A                    = 0x727
+       SYS___IF_NAMEINDEX_A                = 0x728
+       SYS___READLINK_A                    = 0x729
+       SYS___EXTLINK_NP_A                  = 0x730
+       SYS___ISALNUM_A                     = 0x731
+       SYS___ISALPHA_A                     = 0x732
+       SYS___A2E_S                         = 0x733
+       SYS___ISCNTRL_A                     = 0x734
+       SYS___ISDIGIT_A                     = 0x735
+       SYS___ISGRAPH_A                     = 0x736
+       SYS___ISLOWER_A                     = 0x737
+       SYS___ISPRINT_A                     = 0x738
+       SYS___ISPUNCT_A                     = 0x739
+       SYS___ISWALPHA_A                    = 0x740
+       SYS___A2E_L                         = 0x741
+       SYS___ISWCNTRL_A                    = 0x742
+       SYS___ISWDIGIT_A                    = 0x743
+       SYS___ISWGRAPH_A                    = 0x744
+       SYS___ISWLOWER_A                    = 0x745
+       SYS___ISWPRINT_A                    = 0x746
+       SYS___ISWPUNCT_A                    = 0x747
+       SYS___ISWSPACE_A                    = 0x748
+       SYS___ISWUPPER_A                    = 0x749
+       SYS___REMOVE_A                      = 0x750
+       SYS___RENAME_A                      = 0x751
+       SYS___TMPNAM_A                      = 0x752
+       SYS___FOPEN_A                       = 0x753
+       SYS___FREOPEN_A                     = 0x754
+       SYS___CUSERID_A                     = 0x755
+       SYS___POPEN_A                       = 0x756
+       SYS___TEMPNAM_A                     = 0x757
+       SYS___FTW_A                         = 0x758
+       SYS___GETGRENT_A                    = 0x759
+       SYS___INET_NTOP_A                   = 0x760
+       SYS___GETPASS_A                     = 0x761
+       SYS___GETPWENT_A                    = 0x762
+       SYS___GETPWNAM_A                    = 0x763
+       SYS___GETPWUID_A                    = 0x764
+       SYS_____CHECK_RESOURCE_AUTH_NP_A    = 0x765
+       SYS___CHECKSCHENV_A                 = 0x766
+       SYS___CONNECTSERVER_A               = 0x767
+       SYS___CONNECTWORKMGR_A              = 0x768
+       SYS_____CONSOLE_A                   = 0x769
+       SYS___MSGSND_A                      = 0x770
+       SYS___MSGXRCV_A                     = 0x771
+       SYS___NFTW_A                        = 0x772
+       SYS_____PASSWD_A                    = 0x773
+       SYS___PTHREAD_SECURITY_NP_A         = 0x774
+       SYS___QUERYMETRICS_A                = 0x775
+       SYS___QUERYSCHENV                   = 0x776
+       SYS___READV_A                       = 0x777
+       SYS_____SERVER_CLASSIFY_A           = 0x778
+       SYS_____SERVER_INIT_A               = 0x779
+       SYS___W_GETPSENT_A                  = 0x780
+       SYS___WRITEV_A                      = 0x781
+       SYS___W_STATFS_A                    = 0x782
+       SYS___W_STATVFS_A                   = 0x783
+       SYS___FPUTC_A                       = 0x784
+       SYS___PUTCHAR_A                     = 0x785
+       SYS___PUTS_A                        = 0x786
+       SYS___FGETS_A                       = 0x787
+       SYS___GETS_A                        = 0x788
+       SYS___FPUTS_A                       = 0x789
+       SYS___PUTC_A                        = 0x790
+       SYS___AE_THREAD_SETMODE             = 0x791
+       SYS___AE_THREAD_SWAPMODE            = 0x792
+       SYS___GETNETBYADDR_A                = 0x793
+       SYS___GETNETBYNAME_A                = 0x794
+       SYS___GETNETENT_A                   = 0x795
+       SYS___GETPROTOBYNAME_A              = 0x796
+       SYS___GETPROTOBYNUMBER_A            = 0x797
+       SYS___GETPROTOENT_A                 = 0x798
+       SYS___GETSERVBYNAME_A               = 0x799
+       SYS_ACL_FIRST_ENTRY                 = 0x800
+       SYS_ACL_GET_ENTRY                   = 0x801
+       SYS_ACL_VALID                       = 0x802
+       SYS_ACL_CREATE_ENTRY                = 0x803
+       SYS_ACL_DELETE_ENTRY                = 0x804
+       SYS_ACL_UPDATE_ENTRY                = 0x805
+       SYS_ACL_DELETE_FD                   = 0x806
+       SYS_ACL_DELETE_FILE                 = 0x807
+       SYS_ACL_GET_FD                      = 0x808
+       SYS_ACL_GET_FILE                    = 0x809
+       SYS___ERFL_B                        = 0x810
+       SYS___ERFCL_B                       = 0x811
+       SYS___LGAMMAL_B                     = 0x812
+       SYS___SETHOOKEVENTS                 = 0x813
+       SYS_IF_NAMETOINDEX                  = 0x814
+       SYS_IF_INDEXTONAME                  = 0x815
+       SYS_IF_NAMEINDEX                    = 0x816
+       SYS_IF_FREENAMEINDEX                = 0x817
+       SYS_GETADDRINFO                     = 0x818
+       SYS_GETNAMEINFO                     = 0x819
+       SYS___DYNFREE_A                     = 0x820
+       SYS___RES_QUERY_A                   = 0x821
+       SYS___RES_SEARCH_A                  = 0x822
+       SYS___RES_QUERYDOMAIN_A             = 0x823
+       SYS___RES_MKQUERY_A                 = 0x824
+       SYS___RES_SEND_A                    = 0x825
+       SYS___DN_EXPAND_A                   = 0x826
+       SYS___DN_SKIPNAME_A                 = 0x827
+       SYS___DN_COMP_A                     = 0x828
+       SYS___DN_FIND_A                     = 0x829
+       SYS___INET_NTOA_A                   = 0x830
+       SYS___INET_NETWORK_A                = 0x831
+       SYS___ACCEPT_A                      = 0x832
+       SYS___ACCEPT_AND_RECV_A             = 0x833
+       SYS___BIND_A                        = 0x834
+       SYS___CONNECT_A                     = 0x835
+       SYS___GETPEERNAME_A                 = 0x836
+       SYS___GETSOCKNAME_A                 = 0x837
+       SYS___RECVFROM_A                    = 0x838
+       SYS___SENDTO_A                      = 0x839
+       SYS___LCHATTR                       = 0x840
+       SYS___WRITEDOWN                     = 0x841
+       SYS_PTHREAD_MUTEX_INIT2             = 0x842
+       SYS___ACOSHF_B                      = 0x843
+       SYS___ACOSHL_B                      = 0x844
+       SYS___ASINHF_B                      = 0x845
+       SYS___ASINHL_B                      = 0x846
+       SYS___ATANHF_B                      = 0x847
+       SYS___ATANHL_B                      = 0x848
+       SYS___CBRTF_B                       = 0x849
+       SYS___EXP2F_B                       = 0x850
+       SYS___EXP2L_B                       = 0x851
+       SYS___EXPM1F_B                      = 0x852
+       SYS___EXPM1L_B                      = 0x853
+       SYS___FDIMF_B                       = 0x854
+       SYS___FDIM_B                        = 0x855
+       SYS___FDIML_B                       = 0x856
+       SYS___HYPOTF_B                      = 0x857
+       SYS___HYPOTL_B                      = 0x858
+       SYS___LOG1PF_B                      = 0x859
+       SYS___REMQUOF_B                     = 0x860
+       SYS___REMQUO_B                      = 0x861
+       SYS___REMQUOL_B                     = 0x862
+       SYS___TGAMMAF_B                     = 0x863
+       SYS___TGAMMA_B                      = 0x864
+       SYS___TGAMMAL_B                     = 0x865
+       SYS___TRUNCF_B                      = 0x866
+       SYS___TRUNC_B                       = 0x867
+       SYS___TRUNCL_B                      = 0x868
+       SYS___LGAMMAF_B                     = 0x869
+       SYS_ASINHF                          = 0x870
+       SYS_ASINHL                          = 0x871
+       SYS_ATANHF                          = 0x872
+       SYS_ATANHL                          = 0x873
+       SYS_CBRTF                           = 0x874
+       SYS_CBRTL                           = 0x875
+       SYS_COPYSIGNF                       = 0x876
+       SYS_CPYSIGNF                        = 0x876
+       SYS_COPYSIGNL                       = 0x877
+       SYS_CPYSIGNL                        = 0x877
+       SYS_COTANF                          = 0x878
+       SYS___COTANF                        = 0x878
+       SYS_COTAN                           = 0x879
+       SYS___COTAN                         = 0x879
+       SYS_FDIM                            = 0x881
+       SYS_FDIML                           = 0x882
+       SYS_HYPOTF                          = 0x883
+       SYS_HYPOTL                          = 0x884
+       SYS_LOG1PF                          = 0x885
+       SYS_LOG1PL                          = 0x886
+       SYS_LOG2F                           = 0x887
+       SYS_LOG2                            = 0x888
+       SYS_LOG2L                           = 0x889
+       SYS_TGAMMA                          = 0x890
+       SYS_TGAMMAL                         = 0x891
+       SYS_TRUNCF                          = 0x892
+       SYS_TRUNC                           = 0x893
+       SYS_TRUNCL                          = 0x894
+       SYS_LGAMMAF                         = 0x895
+       SYS_LGAMMAL                         = 0x896
+       SYS_LROUNDF                         = 0x897
+       SYS_LROUND                          = 0x898
+       SYS_ERFF                            = 0x899
+       SYS___COSHF_H                       = 0x900
+       SYS___COSHL_H                       = 0x901
+       SYS___COTAN_H                       = 0x902
+       SYS___COTANF_H                      = 0x903
+       SYS___COTANL_H                      = 0x904
+       SYS___ERF_H                         = 0x905
+       SYS___ERFF_H                        = 0x906
+       SYS___ERFL_H                        = 0x907
+       SYS___ERFC_H                        = 0x908
+       SYS___ERFCF_H                       = 0x909
+       SYS___FDIMF_H                       = 0x910
+       SYS___FDIML_H                       = 0x911
+       SYS___FMOD_H                        = 0x912
+       SYS___FMODF_H                       = 0x913
+       SYS___FMODL_H                       = 0x914
+       SYS___GAMMA_H                       = 0x915
+       SYS___HYPOT_H                       = 0x916
+       SYS___ILOGB_H                       = 0x917
+       SYS___LGAMMA_H                      = 0x918
+       SYS___LGAMMAF_H                     = 0x919
+       SYS___LOG2L_H                       = 0x920
+       SYS___LOG1P_H                       = 0x921
+       SYS___LOG10_H                       = 0x922
+       SYS___LOG10F_H                      = 0x923
+       SYS___LOG10L_H                      = 0x924
+       SYS___LROUND_H                      = 0x925
+       SYS___LROUNDF_H                     = 0x926
+       SYS___NEXTAFTER_H                   = 0x927
+       SYS___POW_H                         = 0x928
+       SYS___POWF_H                        = 0x929
+       SYS___SINL_H                        = 0x930
+       SYS___SINH_H                        = 0x931
+       SYS___SINHF_H                       = 0x932
+       SYS___SINHL_H                       = 0x933
+       SYS___SQRT_H                        = 0x934
+       SYS___SQRTF_H                       = 0x935
+       SYS___SQRTL_H                       = 0x936
+       SYS___TAN_H                         = 0x937
+       SYS___TANF_H                        = 0x938
+       SYS___TANL_H                        = 0x939
+       SYS___TRUNCF_H                      = 0x940
+       SYS___TRUNCL_H                      = 0x941
+       SYS___COSH_H                        = 0x942
+       SYS___LE_DEBUG_SET_RESUME_MCH       = 0x943
+       SYS_VFSCANF                         = 0x944
+       SYS_VSCANF                          = 0x946
+       SYS_VSSCANF                         = 0x948
+       SYS_IMAXABS                         = 0x950
+       SYS_IMAXDIV                         = 0x951
+       SYS_STRTOIMAX                       = 0x952
+       SYS_STRTOUMAX                       = 0x953
+       SYS_WCSTOIMAX                       = 0x954
+       SYS_WCSTOUMAX                       = 0x955
+       SYS_ATOLL                           = 0x956
+       SYS_STRTOF                          = 0x957
+       SYS_STRTOLD                         = 0x958
+       SYS_WCSTOF                          = 0x959
+       SYS_INET6_RTH_GETADDR               = 0x960
+       SYS_INET6_OPT_INIT                  = 0x961
+       SYS_INET6_OPT_APPEND                = 0x962
+       SYS_INET6_OPT_FINISH                = 0x963
+       SYS_INET6_OPT_SET_VAL               = 0x964
+       SYS_INET6_OPT_NEXT                  = 0x965
+       SYS_INET6_OPT_FIND                  = 0x966
+       SYS_INET6_OPT_GET_VAL               = 0x967
+       SYS___POW_I                         = 0x987
+       SYS___POW_I_B                       = 0x988
+       SYS___POW_I_H                       = 0x989
+       SYS___CABS_H                        = 0x990
+       SYS_CABSF                           = 0x991
+       SYS___CABSF_B                       = 0x992
+       SYS___CABSF_H                       = 0x993
+       SYS_CABSL                           = 0x994
+       SYS___CABSL_B                       = 0x995
+       SYS___CABSL_H                       = 0x996
+       SYS_CACOS                           = 0x997
+       SYS___CACOS_B                       = 0x998
+       SYS___CACOS_H                       = 0x999
+)
index 295859c503db2aca07028e7d93bb31492330aeb6..7a8161c1d1cae0c71c9be5af1ff031cc2c32c6f1 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_aix.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc && aix
 // +build ppc,aix
 
 package unix
index a9ee0ffd44c12c0e4b33812b0ab14313333df037..07ed733c51b55fb624db4af3c0976a907ab8e69a 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_aix.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64 && aix
 // +build ppc64,aix
 
 package unix
index 725b4bee27db21cb7e0f61d8c30a0628d11ba88d..54db43335554faa82f43e840f984d7b68693b6c2 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_darwin.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && darwin
 // +build 386,darwin
 
 package unix
index bb39542f7a9b605d94b283c59b470ded150d3082..eb73e52fb68c1037e12e3955e50d7a39eaa61599 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_darwin.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && darwin
 // +build amd64,darwin
 
 package unix
index f2a77bc4e28e2e0781fa89040e7052276ec6b8cd..8606d654e5684e8c6a90056067096ee36caeaeb9 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_darwin.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && darwin
 // +build arm,darwin
 
 package unix
index ec5b5592721d0707fae386c0789c7d28f5549209..dcb51f8404d64a3b92f7b16cbe0ff28b1d797d36 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_darwin.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && darwin
 // +build arm64,darwin
 
 package unix
index 85506a05d4b8e185a5a7f10e72737098c0accd4b..1d049d7a12247c1fd80bf01b707f00f75f63784a 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_dragonfly.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && dragonfly
 // +build amd64,dragonfly
 
 package unix
index 3e9dad33e33832ff54f51ff9175eda5bbf840a9d..c51bc88ffdfcbf7652d3a73c506a037bd583fda1 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_freebsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && freebsd
 // +build 386,freebsd
 
 package unix
@@ -250,6 +251,14 @@ type RawSockaddrAny struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+       _       *byte
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -312,6 +321,7 @@ const (
        SizeofSockaddrAny      = 0x6c
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
+       SizeofXucred           = 0x50
        SizeofLinger           = 0x8
        SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
index e00e615544c89ff89bf5fedc14f4ee3055e4067e..395b69187113e06d10af9d700f1cf8cf012b209a 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_freebsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && freebsd
 // +build amd64,freebsd
 
 package unix
@@ -246,6 +247,14 @@ type RawSockaddrAny struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+       _       *byte
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -308,6 +317,7 @@ const (
        SizeofSockaddrAny      = 0x6c
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
+       SizeofXucred           = 0x58
        SizeofLinger           = 0x8
        SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
index 5da13c871b540851b3c242691ee769d48efc4e27..d3f9d2541b5ce384f7ebabb8b5f39e0cd910bcd7 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && freebsd
 // +build arm,freebsd
 
 package unix
@@ -248,6 +249,14 @@ type RawSockaddrAny struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+       _       *byte
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -310,6 +319,7 @@ const (
        SizeofSockaddrAny      = 0x6c
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
+       SizeofXucred           = 0x50
        SizeofLinger           = 0x8
        SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
index 995ecf9d4e2c65983649e44a084befae06228f69..434d6e8e83c4766f6c5dac517a7f473802087d1f 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && freebsd
 // +build arm64,freebsd
 
 package unix
@@ -246,6 +247,14 @@ type RawSockaddrAny struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+       _       *byte
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -308,6 +317,7 @@ const (
        SizeofSockaddrAny      = 0x6c
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
+       SizeofXucred           = 0x58
        SizeofLinger           = 0x8
        SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
index ddd655769d59144adcbd056940e19a4e01d86db0..d3a18713bb94ab49c90e9373cd149e851cd9182f 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by mkmerge.go; DO NOT EDIT.
 
+//go:build linux
 // +build linux
 
 package unix
@@ -83,7 +84,7 @@ type FileCloneRange struct {
        Dest_offset uint64
 }
 
-type FileDedupeRange struct {
+type RawFileDedupeRange struct {
        Src_offset uint64
        Src_length uint64
        Dest_count uint16
@@ -91,6 +92,21 @@ type FileDedupeRange struct {
        Reserved2  uint32
 }
 
+type RawFileDedupeRangeInfo struct {
+       Dest_fd       int64
+       Dest_offset   uint64
+       Bytes_deduped uint64
+       Status        int32
+       Reserved      uint32
+}
+
+const (
+       SizeofRawFileDedupeRange     = 0x18
+       SizeofRawFileDedupeRangeInfo = 0x20
+       FILE_DEDUPE_RANGE_SAME       = 0x0
+       FILE_DEDUPE_RANGE_DIFFERS    = 0x1
+)
+
 type FscryptPolicy struct {
        Version                   uint8
        Contents_encryption_mode  uint8
@@ -3681,3 +3697,15 @@ const (
        ETHTOOL_A_TUNNEL_INFO_UDP_PORTS           = 0x2
        ETHTOOL_A_TUNNEL_INFO_MAX                 = 0x2
 )
+
+type (
+       HIDRawReportDescriptor struct {
+               Size  uint32
+               Value [4096]uint8
+       }
+       HIDRawDevInfo struct {
+               Bustype uint32
+               Vendor  int16
+               Product int16
+       }
+)
index 088bd77e3be33a8c2448e5e97c81ed0b8ff5a3f6..4d4d283de5b1e2afb03885639c0f7b97b0f9966a 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && linux
 // +build 386,linux
 
 package unix
index 078d958ec956acd1e3c8cc722d0caf6672cbcfd6..8a2eed5ec4e37a6e172f915f736e155560536367 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && linux
 // +build amd64,linux
 
 package unix
index 2d39122f410c2a5c6b93d286e1a7e7aefedc3da4..94b34add64309cae4b36eebe444cd756f4650dcc 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && linux
 // +build arm,linux
 
 package unix
index 304cbd04536e2c6e9e96e9cba30da36b031f040f..2143de4d599f5ae9f2e5eca3851223fd51037e41 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && linux
 // +build arm64,linux
 
 package unix
index 7d9d57006aa87c60482314625a0256f6c35bc9cd..a40216eee60a07907e80e6cd674574eef6f98284 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips && linux
 // +build mips,linux
 
 package unix
index a1eb2577b08910db8ba62f2dcf2576a2466fb6ef..e834b069fd5c1e9f847a4e091fd8f8763e782866 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && linux
 // +build mips64,linux
 
 package unix
index 2e5ce3b6a69fac5b870bd1397c505674b8fd6b4e..e31083b0489666d06f4709acdb1ede42d2a85dc8 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64le && linux
 // +build mips64le,linux
 
 package unix
index bbaa1200b6a6ed05481914ef13b7cceb4d51037c..42811f7fb5595815f62dcce8be5921816ae5a63f 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mipsle && linux
 // +build mipsle,linux
 
 package unix
index 0e6e8a7748390beadde2975da6fc0fa98dff4f42..2a3afbaef9fcdb2de0cab51ce71e80a41dd06998 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64 && linux
 // +build ppc64,linux
 
 package unix
index 7382f385faf6066a9b64b3f1395fd2999c5adfea..c0de30a658a4ab1f3fa9cd56e8691d5cc2baea0d 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build ppc64le && linux
 // +build ppc64le,linux
 
 package unix
index 28d552216656e168d654db26577a26e29b1aa30f..74faf2e91fdc579c3f80343827bc8948f5a4d17b 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build riscv64 && linux
 // +build riscv64,linux
 
 package unix
index a91a7a44bd394444038411d7070db2d6f9f7eb15..9a8f0c2c6a3d99879954a962706c5a25bf2632da 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build s390x && linux
 // +build s390x,linux
 
 package unix
index f824b2358dc71d6410d37d34a0ba140f4711dfef..72cdda75bde94d60fe92e3fed75432c5ea81b39f 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build sparc64 && linux
 // +build sparc64,linux
 
 package unix
index 3f11f88e3c6572f1040c7d665e21a467fdd71d38..b10e73abf95c0754de5b63f5175aa52a57673bed 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_netbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && netbsd
 // +build 386,netbsd
 
 package unix
index 0bed83af57b37d4d0a06646b66cbbf9de1602397..28ed6d55ae3ac04e1f6d1e369c454962f63112f7 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_netbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && netbsd
 // +build amd64,netbsd
 
 package unix
index e4e3bf736d86551aefc0057ac0022694e05f1ea8..4ba196ebe563fb23d13e82ab02b54b1e5ca6356b 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_netbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && netbsd
 // +build arm,netbsd
 
 package unix
index efac861bb7fa755dc8cd62953612c57e204312e4..dd642bd9c874dd7e357fcb3c20db93224489448c 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_netbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && netbsd
 // +build arm64,netbsd
 
 package unix
index 80fa295f1dfcdd755494f5a0f35be51b9aeaf074..1fdb0e5fa5f90b749ca6994b5f8c6c5c2cc14ec9 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_openbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build 386 && openbsd
 // +build 386,openbsd
 
 package unix
index 560dd6d08af124aa1fd4e95d7d8ef3c8b643f011..e2fc93c7c06966ac8e474be7ae0c05ab8c3fb54d 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_openbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && openbsd
 // +build amd64,openbsd
 
 package unix
index 0c1700fa4356a556e30ff668e319c7c83c3e2e8a..8d34b5a2fc065eda8ec88c6079f9c7031560dfb3 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm && openbsd
 // +build arm,openbsd
 
 package unix
index 5b3e46633e9be4ac414c390322f55db7c9dd2780..ea8f1a0d9ba2d0bd4712859b188474d0081f8b26 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build arm64 && openbsd
 // +build arm64,openbsd
 
 package unix
index 62bff16709790b6e8ef383cd6afaaacac4082796..ec6e8bc3f13560564d1897b62d1230655bc89e7c 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build mips64 && openbsd
 // +build mips64,openbsd
 
 package unix
index ca512aff7f86f5f04ab522263b22a5faa0b8a4c7..85effef9c199e6b90c275d5da1829a6c91260787 100644 (file)
@@ -1,6 +1,7 @@
 // cgo -godefs types_solaris.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
+//go:build amd64 && solaris
 // +build amd64,solaris
 
 package unix
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/src/cmd/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
new file mode 100644 (file)
index 0000000..8bffde7
--- /dev/null
@@ -0,0 +1,402 @@
+// 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.
+
+//go:build zos && s390x
+// +build zos,s390x
+
+// Hand edited based on ztypes_linux_s390x.go
+// TODO: auto-generate.
+
+package unix
+
+const (
+       SizeofPtr      = 0x8
+       SizeofShort    = 0x2
+       SizeofInt      = 0x4
+       SizeofLong     = 0x8
+       SizeofLongLong = 0x8
+       PathMax        = 0x1000
+)
+
+const (
+       SizeofSockaddrAny   = 128
+       SizeofCmsghdr       = 12
+       SizeofIPMreq        = 8
+       SizeofIPv6Mreq      = 20
+       SizeofICMPv6Filter  = 32
+       SizeofIPv6MTUInfo   = 32
+       SizeofLinger        = 8
+       SizeofSockaddrInet4 = 16
+       SizeofSockaddrInet6 = 28
+       SizeofTCPInfo       = 0x68
+)
+
+type (
+       _C_short     int16
+       _C_int       int32
+       _C_long      int64
+       _C_long_long int64
+)
+
+type Timespec struct {
+       Sec  int64
+       Nsec int64
+}
+
+type Timeval struct {
+       Sec  int64
+       Usec int64
+}
+
+type timeval_zos struct { //correct (with padding and all)
+       Sec  int64
+       _    [4]byte // pad
+       Usec int32
+}
+
+type Tms struct { //clock_t is 4-byte unsigned int in zos
+       Utime  uint32
+       Stime  uint32
+       Cutime uint32
+       Cstime uint32
+}
+
+type Time_t int64
+
+type Utimbuf struct {
+       Actime  int64
+       Modtime int64
+}
+
+type Utsname struct {
+       Sysname    [65]byte
+       Nodename   [65]byte
+       Release    [65]byte
+       Version    [65]byte
+       Machine    [65]byte
+       Domainname [65]byte
+}
+
+type RawSockaddrInet4 struct {
+       Len    uint8
+       Family uint8
+       Port   uint16
+       Addr   [4]byte /* in_addr */
+       Zero   [8]uint8
+}
+
+type RawSockaddrInet6 struct {
+       Len      uint8
+       Family   uint8
+       Port     uint16
+       Flowinfo uint32
+       Addr     [16]byte /* in6_addr */
+       Scope_id uint32
+}
+
+type RawSockaddrUnix struct {
+       Len    uint8
+       Family uint8
+       Path   [108]int8
+}
+
+type RawSockaddr struct {
+       Len    uint8
+       Family uint8
+       Data   [14]uint8
+}
+
+type RawSockaddrAny struct {
+       Addr RawSockaddr
+       _    [112]uint8 // pad
+}
+
+type _Socklen uint32
+
+type Linger struct {
+       Onoff  int32
+       Linger int32
+}
+
+type Iovec struct {
+       Base *byte
+       Len  uint64
+}
+
+type IPMreq struct {
+       Multiaddr [4]byte /* in_addr */
+       Interface [4]byte /* in_addr */
+}
+
+type IPv6Mreq struct {
+       Multiaddr [16]byte /* in6_addr */
+       Interface uint32
+}
+
+type Msghdr struct {
+       Name       *byte
+       Iov        *Iovec
+       Control    *byte
+       Flags      int32
+       Namelen    int32
+       Iovlen     int32
+       Controllen int32
+}
+
+type Cmsghdr struct {
+       Len   int32
+       Level int32
+       Type  int32
+}
+
+type Inet4Pktinfo struct {
+       Addr    [4]byte /* in_addr */
+       Ifindex uint32
+}
+
+type Inet6Pktinfo struct {
+       Addr    [16]byte /* in6_addr */
+       Ifindex uint32
+}
+
+type IPv6MTUInfo struct {
+       Addr RawSockaddrInet6
+       Mtu  uint32
+}
+
+type ICMPv6Filter struct {
+       Data [8]uint32
+}
+
+type TCPInfo struct {
+       State          uint8
+       Ca_state       uint8
+       Retransmits    uint8
+       Probes         uint8
+       Backoff        uint8
+       Options        uint8
+       Rto            uint32
+       Ato            uint32
+       Snd_mss        uint32
+       Rcv_mss        uint32
+       Unacked        uint32
+       Sacked         uint32
+       Lost           uint32
+       Retrans        uint32
+       Fackets        uint32
+       Last_data_sent uint32
+       Last_ack_sent  uint32
+       Last_data_recv uint32
+       Last_ack_recv  uint32
+       Pmtu           uint32
+       Rcv_ssthresh   uint32
+       Rtt            uint32
+       Rttvar         uint32
+       Snd_ssthresh   uint32
+       Snd_cwnd       uint32
+       Advmss         uint32
+       Reordering     uint32
+       Rcv_rtt        uint32
+       Rcv_space      uint32
+       Total_retrans  uint32
+}
+
+type _Gid_t uint32
+
+type rusage_zos struct {
+       Utime timeval_zos
+       Stime timeval_zos
+}
+
+type Rusage struct {
+       Utime    Timeval
+       Stime    Timeval
+       Maxrss   int64
+       Ixrss    int64
+       Idrss    int64
+       Isrss    int64
+       Minflt   int64
+       Majflt   int64
+       Nswap    int64
+       Inblock  int64
+       Oublock  int64
+       Msgsnd   int64
+       Msgrcv   int64
+       Nsignals int64
+       Nvcsw    int64
+       Nivcsw   int64
+}
+
+type Rlimit struct {
+       Cur uint64
+       Max uint64
+}
+
+// { int, short, short } in poll.h
+type PollFd struct {
+       Fd      int32
+       Events  int16
+       Revents int16
+}
+
+type Stat_t struct { //Linux Definition
+       Dev     uint64
+       Ino     uint64
+       Nlink   uint64
+       Mode    uint32
+       Uid     uint32
+       Gid     uint32
+       _       int32
+       Rdev    uint64
+       Size    int64
+       Atim    Timespec
+       Mtim    Timespec
+       Ctim    Timespec
+       Blksize int64
+       Blocks  int64
+       _       [3]int64
+}
+
+type Stat_LE_t struct {
+       _            [4]byte // eye catcher
+       Length       uint16
+       Version      uint16
+       Mode         int32
+       Ino          uint32
+       Dev          uint32
+       Nlink        int32
+       Uid          int32
+       Gid          int32
+       Size         int64
+       Atim31       [4]byte
+       Mtim31       [4]byte
+       Ctim31       [4]byte
+       Rdev         uint32
+       Auditoraudit uint32
+       Useraudit    uint32
+       Blksize      int32
+       Creatim31    [4]byte
+       AuditID      [16]byte
+       _            [4]byte // rsrvd1
+       File_tag     struct {
+               Ccsid   uint16
+               Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14
+       }
+       CharsetID [8]byte
+       Blocks    int64
+       Genvalue  uint32
+       Reftim31  [4]byte
+       Fid       [8]byte
+       Filefmt   byte
+       Fspflag2  byte
+       _         [2]byte // rsrvd2
+       Ctimemsec int32
+       Seclabel  [8]byte
+       _         [4]byte // rsrvd3
+       _         [4]byte // rsrvd4
+       Atim      Time_t
+       Mtim      Time_t
+       Ctim      Time_t
+       Creatim   Time_t
+       Reftim    Time_t
+       _         [24]byte // rsrvd5
+}
+
+type Statvfs_t struct {
+       ID          [4]byte
+       Len         int32
+       Bsize       uint64
+       Blocks      uint64
+       Usedspace   uint64
+       Bavail      uint64
+       Flag        uint64
+       Maxfilesize int64
+       _           [16]byte
+       Frsize      uint64
+       Bfree       uint64
+       Files       uint32
+       Ffree       uint32
+       Favail      uint32
+       Namemax31   uint32
+       Invarsec    uint32
+       _           [4]byte
+       Fsid        uint64
+       Namemax     uint64
+}
+
+type Statfs_t struct {
+       Type    uint32
+       Bsize   uint64
+       Blocks  uint64
+       Bfree   uint64
+       Bavail  uint64
+       Files   uint32
+       Ffree   uint32
+       Fsid    uint64
+       Namelen uint64
+       Frsize  uint64
+       Flags   uint64
+}
+
+type Dirent struct {
+       Reclen uint16
+       Namlen uint16
+       Ino    uint32
+       Extra  uintptr
+       Name   [256]byte
+}
+
+// This struct is packed on z/OS so it can't be used directly.
+type Flock_t struct {
+       Type   int16
+       Whence int16
+       Start  int64
+       Len    int64
+       Pid    int32
+}
+
+type Termios struct {
+       Cflag uint32
+       Iflag uint32
+       Lflag uint32
+       Oflag uint32
+       Cc    [11]uint8
+}
+
+type Winsize struct {
+       Row    uint16
+       Col    uint16
+       Xpixel uint16
+       Ypixel uint16
+}
+
+type W_Mnth struct {
+       Hid   [4]byte
+       Size  int32
+       Cur1  int32 //32bit pointer
+       Cur2  int32 //^
+       Devno uint32
+       _     [4]byte
+}
+
+type W_Mntent struct {
+       Fstype       uint32
+       Mode         uint32
+       Dev          uint32
+       Parentdev    uint32
+       Rootino      uint32
+       Status       byte
+       Ddname       [9]byte
+       Fstname      [9]byte
+       Fsname       [45]byte
+       Pathlen      uint32
+       Mountpoint   [1024]byte
+       Jobname      [8]byte
+       PID          int32
+       Parmoffset   int32
+       Parmlen      int16
+       Owner        [8]byte
+       Quiesceowner [8]byte
+       _            [38]byte
+}
index 3606c3a8b3690599c77bb0460f40dd9327786c05..9eb1fb633a46f101b4454dc2c45475359fe7f875 100644 (file)
@@ -6,6 +6,11 @@
 
 package windows
 
+import (
+       errorspkg "errors"
+       "unsafe"
+)
+
 // EscapeArg rewrites command line argument s as prescribed
 // in http://msdn.microsoft.com/en-us/library/ms880421.
 // This function returns "" (2 double quotes) if s is empty.
@@ -95,3 +100,33 @@ func FullPath(name string) (path string, err error) {
                }
        }
 }
+
+// NewProcThreadAttributeList allocates a new ProcThreadAttributeList, with the requested maximum number of attributes.
+func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeList, error) {
+       var size uintptr
+       err := initializeProcThreadAttributeList(nil, maxAttrCount, 0, &size)
+       if err != ERROR_INSUFFICIENT_BUFFER {
+               if err == nil {
+                       return nil, errorspkg.New("unable to query buffer size from InitializeProcThreadAttributeList")
+               }
+               return nil, err
+       }
+       const psize = unsafe.Sizeof(uintptr(0))
+       // size is guaranteed to be â‰¥1 by InitializeProcThreadAttributeList.
+       al := (*ProcThreadAttributeList)(unsafe.Pointer(&make([]unsafe.Pointer, (size+psize-1)/psize)[0]))
+       err = initializeProcThreadAttributeList(al, maxAttrCount, 0, &size)
+       if err != nil {
+               return nil, err
+       }
+       return al, err
+}
+
+// Update modifies the ProcThreadAttributeList using UpdateProcThreadAttribute.
+func (al *ProcThreadAttributeList) Update(attribute uintptr, flags uint32, value unsafe.Pointer, size uintptr, prevValue unsafe.Pointer, returnedSize *uintptr) error {
+       return updateProcThreadAttribute(al, flags, attribute, value, size, prevValue, returnedSize)
+}
+
+// Delete frees ProcThreadAttributeList's resources.
+func (al *ProcThreadAttributeList) Delete() {
+       deleteProcThreadAttributeList(al)
+}
index 2163843a11dff4691123c56d905907196679ec65..58e0188fb71f802180ea330dd13828884e4d3001 100644 (file)
@@ -9,6 +9,8 @@ shopt -s nullglob
 
 winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)"
 [[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; }
+ntstatus="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/ntstatus.h | sort -Vr | head -n 1)"
+[[ -n $ntstatus ]] || { echo "Unable to find ntstatus.h" >&2; exit 1; }
 
 declare -A errors
 
@@ -59,5 +61,10 @@ declare -A errors
                echo "$key $vtype = $value"
        done < "$winerror"
 
+       while read -r line; do
+               [[ $line =~ ^#define\ (STATUS_[^\s]+)\ +\(\(NTSTATUS\)((0x)?[0-9a-fA-F]+)L?\) ]] || continue
+               echo "${BASH_REMATCH[1]} NTStatus = ${BASH_REMATCH[2]}"
+       done < "$ntstatus"
+
        echo ")"
 } | gofmt > "zerrors_windows.go"
index 69eb462c59a88d14e84b3af5710a6d0ea6c81574..0e428ecbbde92e15ddf4e05071bcd0101676b225 100644 (file)
@@ -908,6 +908,19 @@ type SECURITY_DESCRIPTOR struct {
        dacl     *ACL
 }
 
+type SECURITY_QUALITY_OF_SERVICE struct {
+       Length              uint32
+       ImpersonationLevel  uint32
+       ContextTrackingMode byte
+       EffectiveOnly       byte
+}
+
+// Constants for the ContextTrackingMode field of SECURITY_QUALITY_OF_SERVICE.
+const (
+       SECURITY_STATIC_TRACKING  = 0
+       SECURITY_DYNAMIC_TRACKING = 1
+)
+
 type SecurityAttributes struct {
        Length             uint32
        SecurityDescriptor *SECURITY_DESCRIPTOR
index 0197df87276df8396a3b6139e3a0d6a77d84b37b..bb6aaf89e47c6a40ffa465f68dc88168afe5431e 100644 (file)
@@ -8,6 +8,8 @@ package windows
 
 import (
        errorspkg "errors"
+       "fmt"
+       "runtime"
        "sync"
        "syscall"
        "time"
@@ -65,9 +67,8 @@ const (
        LOCKFILE_FAIL_IMMEDIATELY = 0x00000001
        LOCKFILE_EXCLUSIVE_LOCK   = 0x00000002
 
-       // Return values of SleepEx and other APC functions
-       STATUS_USER_APC    = 0x000000C0
-       WAIT_IO_COMPLETION = STATUS_USER_APC
+       // Return value of SleepEx and other APC functions
+       WAIT_IO_COMPLETION = 0x000000C0
 )
 
 // StringToUTF16 is deprecated. Use UTF16FromString instead.
@@ -180,6 +181,11 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process
 //sys  IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) = IsWow64Process2?
 //sys  CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW
+//sys  CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error)  [failretval==InvalidHandle] = CreateNamedPipeW
+//sys  ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error)
+//sys  GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error)
+//sys  GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW
+//sys  SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState
 //sys  ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
 //sys  WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
 //sys  GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error)
@@ -208,12 +214,15 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  GetSystemTimeAsFileTime(time *Filetime)
 //sys  GetSystemTimePreciseAsFileTime(time *Filetime)
 //sys  GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff]
-//sys  CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error)
-//sys  GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error)
-//sys  PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error)
+//sys  CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error)
+//sys  GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error)
+//sys  PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error)
 //sys  CancelIo(s Handle) (err error)
 //sys  CancelIoEx(s Handle, o *Overlapped) (err error)
 //sys  CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW
+//sys   initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) = InitializeProcThreadAttributeList
+//sys   deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) = DeleteProcThreadAttributeList
+//sys   updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) = UpdateProcThreadAttribute
 //sys  OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error)
 //sys  ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW
 //sys  GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId
@@ -248,13 +257,14 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW
 //sys  CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW
 //sys  LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0]
+//sys  LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error)
 //sys  SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error)
 //sys  FlushFileBuffers(handle Handle) (err error)
 //sys  GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW
 //sys  GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW
 //sys  GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW
 //sys  GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) = kernel32.GetFinalPathNameByHandleW
-//sys  CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) = kernel32.CreateFileMappingW
+//sys  CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateFileMappingW
 //sys  MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error)
 //sys  UnmapViewOfFile(addr uintptr) (err error)
 //sys  FlushViewOfFile(addr uintptr, length uintptr) (err error)
@@ -283,6 +293,9 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy
 //sys  CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) = crypt32.CertGetNameStringW
 //sys  CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) = crypt32.CertFindExtension
+//sys   CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) [failretval==nil] = crypt32.CertFindCertificateInStore
+//sys   CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) [failretval==nil] = crypt32.CertFindChainInStore
+//sys   CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) = crypt32.CryptAcquireCertificatePrivateKey
 //sys  CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) = crypt32.CryptQueryObject
 //sys  CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) = crypt32.CryptDecodeObject
 //sys  CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptProtectData
@@ -312,14 +325,14 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW
 //sys  CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW
 //sys  GetCurrentThreadId() (id uint32)
-//sys  CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW
-//sys  CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW
+//sys  CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventW
+//sys  CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventExW
 //sys  OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW
 //sys  SetEvent(event Handle) (err error) = kernel32.SetEvent
 //sys  ResetEvent(event Handle) (err error) = kernel32.ResetEvent
 //sys  PulseEvent(event Handle) (err error) = kernel32.PulseEvent
-//sys  CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) = kernel32.CreateMutexW
-//sys  CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateMutexExW
+//sys  CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexW
+//sys  CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexExW
 //sys  OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenMutexW
 //sys  ReleaseMutex(mutex Handle) (err error) = kernel32.ReleaseMutex
 //sys  SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx
@@ -334,10 +347,13 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error)
 //sys  GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error)
 //sys  GetProcessId(process Handle) (id uint32, err error)
+//sys  QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) = kernel32.QueryFullProcessImageNameW
 //sys  OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error)
 //sys  SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost
 //sys  GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32)
 //sys  SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error)
+//sys  GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error)
+//sys  SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error)
 
 // Volume Management Functions
 //sys  DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW
@@ -367,16 +383,36 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2
 //sys  coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid
 //sys  CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree
-//sys  rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion
-//sys  rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers
+//sys  CoInitializeEx(reserved uintptr, coInit uint32) (ret error) = ole32.CoInitializeEx
+//sys  CoUninitialize() = ole32.CoUninitialize
+//sys  CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) = ole32.CoGetObject
 //sys  getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages
 //sys  getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages
 //sys  getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages
 //sys  getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages
+//sys  findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) = kernel32.FindResourceW
+//sys  SizeofResource(module Handle, resInfo Handle) (size uint32, err error) = kernel32.SizeofResource
+//sys  LoadResource(module Handle, resInfo Handle) (resData Handle, err error) = kernel32.LoadResource
+//sys  LockResource(resData Handle) (addr uintptr, err error) = kernel32.LockResource
 
 // Process Status API (PSAPI)
 //sys  EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses
 
+// NT Native APIs
+//sys  rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb
+//sys  rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) = ntdll.RtlGetVersion
+//sys  rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers
+//sys  RtlGetCurrentPeb() (peb *PEB) = ntdll.RtlGetCurrentPeb
+//sys  RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) = ntdll.RtlInitUnicodeString
+//sys  RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString
+//sys  NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile
+//sys  NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile
+//sys  RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus
+//sys  RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus
+//sys  RtlDefaultNpAcl(acl **ACL) (ntstatus error) = ntdll.RtlDefaultNpAcl
+//sys  NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQueryInformationProcess
+//sys  NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess
+
 // syscall interface implementation for other packages
 
 // GetCurrentProcess returns the handle for the current process.
@@ -770,6 +806,7 @@ const socket_error = uintptr(^uint32(0))
 //sys  WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend
 //sys  WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32,  from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom
 //sys  WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32,  overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo
+//sys  WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW
 //sys  GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname
 //sys  GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname
 //sys  Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs
@@ -783,6 +820,7 @@ const socket_error = uintptr(^uint32(0))
 //sys  GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo
 //sys  SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes
 //sys  WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW
+//sys  WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult
 //sys  GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses
 //sys  GetACP() (acp uint32) = kernel32.GetACP
 //sys  MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar
@@ -1505,3 +1543,129 @@ func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf
 func SetConsoleCursorPosition(console Handle, position Coord) error {
        return setConsoleCursorPosition(console, *((*uint32)(unsafe.Pointer(&position))))
 }
+
+func (s NTStatus) Errno() syscall.Errno {
+       return rtlNtStatusToDosErrorNoTeb(s)
+}
+
+func langID(pri, sub uint16) uint32 { return uint32(sub)<<10 | uint32(pri) }
+
+func (s NTStatus) Error() string {
+       b := make([]uint16, 300)
+       n, err := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_FROM_HMODULE|FORMAT_MESSAGE_ARGUMENT_ARRAY, modntdll.Handle(), uint32(s), langID(LANG_ENGLISH, SUBLANG_ENGLISH_US), b, nil)
+       if err != nil {
+               return fmt.Sprintf("NTSTATUS 0x%08x", uint32(s))
+       }
+       // trim terminating \r and \n
+       for ; n > 0 && (b[n-1] == '\n' || b[n-1] == '\r'); n-- {
+       }
+       return string(utf16.Decode(b[:n]))
+}
+
+// NewNTUnicodeString returns a new NTUnicodeString structure for use with native
+// NT APIs that work over the NTUnicodeString type. Note that most Windows APIs
+// do not use NTUnicodeString, and instead UTF16PtrFromString should be used for
+// the more common *uint16 string type.
+func NewNTUnicodeString(s string) (*NTUnicodeString, error) {
+       var u NTUnicodeString
+       s16, err := UTF16PtrFromString(s)
+       if err != nil {
+               return nil, err
+       }
+       RtlInitUnicodeString(&u, s16)
+       return &u, nil
+}
+
+// Slice returns a uint16 slice that aliases the data in the NTUnicodeString.
+func (s *NTUnicodeString) Slice() []uint16 {
+       var slice []uint16
+       hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice))
+       hdr.Data = unsafe.Pointer(s.Buffer)
+       hdr.Len = int(s.Length)
+       hdr.Cap = int(s.MaximumLength)
+       return slice
+}
+
+func (s *NTUnicodeString) String() string {
+       return UTF16ToString(s.Slice())
+}
+
+// NewNTString returns a new NTString structure for use with native
+// NT APIs that work over the NTString type. Note that most Windows APIs
+// do not use NTString, and instead UTF16PtrFromString should be used for
+// the more common *uint16 string type.
+func NewNTString(s string) (*NTString, error) {
+       var nts NTString
+       s8, err := BytePtrFromString(s)
+       if err != nil {
+               return nil, err
+       }
+       RtlInitString(&nts, s8)
+       return &nts, nil
+}
+
+// Slice returns a byte slice that aliases the data in the NTString.
+func (s *NTString) Slice() []byte {
+       var slice []byte
+       hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice))
+       hdr.Data = unsafe.Pointer(s.Buffer)
+       hdr.Len = int(s.Length)
+       hdr.Cap = int(s.MaximumLength)
+       return slice
+}
+
+func (s *NTString) String() string {
+       return ByteSliceToString(s.Slice())
+}
+
+// FindResource resolves a resource of the given name and resource type.
+func FindResource(module Handle, name, resType ResourceIDOrString) (Handle, error) {
+       var namePtr, resTypePtr uintptr
+       var name16, resType16 *uint16
+       var err error
+       resolvePtr := func(i interface{}, keep **uint16) (uintptr, error) {
+               switch v := i.(type) {
+               case string:
+                       *keep, err = UTF16PtrFromString(v)
+                       if err != nil {
+                               return 0, err
+                       }
+                       return uintptr(unsafe.Pointer(*keep)), nil
+               case ResourceID:
+                       return uintptr(v), nil
+               }
+               return 0, errorspkg.New("parameter must be a ResourceID or a string")
+       }
+       namePtr, err = resolvePtr(name, &name16)
+       if err != nil {
+               return 0, err
+       }
+       resTypePtr, err = resolvePtr(resType, &resType16)
+       if err != nil {
+               return 0, err
+       }
+       resInfo, err := findResource(module, namePtr, resTypePtr)
+       runtime.KeepAlive(name16)
+       runtime.KeepAlive(resType16)
+       return resInfo, err
+}
+
+func LoadResourceData(module, resInfo Handle) (data []byte, err error) {
+       size, err := SizeofResource(module, resInfo)
+       if err != nil {
+               return
+       }
+       resData, err := LoadResource(module, resInfo)
+       if err != nil {
+               return
+       }
+       ptr, err := LockResource(resData)
+       if err != nil {
+               return
+       }
+       h := (*unsafeheader.Slice)(unsafe.Pointer(&data))
+       h.Data = unsafe.Pointer(ptr)
+       h.Len = int(size)
+       h.Cap = int(size)
+       return
+}
index fd4260762a8da2173ecc714ec69c199b896f2891..369cc91da7fa9c8f53cd8d8e35094363766c9e5a 100644 (file)
@@ -10,6 +10,10 @@ import (
        "unsafe"
 )
 
+// NTStatus corresponds with NTSTATUS, error values returned by ntdll.dll and
+// other native functions.
+type NTStatus uint32
+
 const (
        // Invented values to support what package os expects.
        O_RDONLY   = 0x00000
@@ -215,6 +219,18 @@ const (
        INHERIT_PARENT_AFFINITY          = 0x00010000
 )
 
+const (
+       // attributes for ProcThreadAttributeList
+       PROC_THREAD_ATTRIBUTE_PARENT_PROCESS    = 0x00020000
+       PROC_THREAD_ATTRIBUTE_HANDLE_LIST       = 0x00020002
+       PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY    = 0x00030003
+       PROC_THREAD_ATTRIBUTE_PREFERRED_NODE    = 0x00020004
+       PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR   = 0x00030005
+       PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = 0x00020007
+       PROC_THREAD_ATTRIBUTE_UMS_THREAD        = 0x00030006
+       PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL  = 0x0002000b
+)
+
 const (
        // flags for CreateToolhelp32Snapshot
        TH32CS_SNAPHEAPLIST = 0x01
@@ -287,6 +303,23 @@ const (
        PKCS12_NO_PERSIST_KEY              = 0x00008000
        PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010
 
+       /* Flags for CryptAcquireCertificatePrivateKey */
+       CRYPT_ACQUIRE_CACHE_FLAG             = 0x00000001
+       CRYPT_ACQUIRE_USE_PROV_INFO_FLAG     = 0x00000002
+       CRYPT_ACQUIRE_COMPARE_KEY_FLAG       = 0x00000004
+       CRYPT_ACQUIRE_NO_HEALING             = 0x00000008
+       CRYPT_ACQUIRE_SILENT_FLAG            = 0x00000040
+       CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG     = 0x00000080
+       CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK  = 0x00070000
+       CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG  = 0x00010000
+       CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = 0x00020000
+       CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG   = 0x00040000
+
+       /* pdwKeySpec for CryptAcquireCertificatePrivateKey */
+       AT_KEYEXCHANGE       = 1
+       AT_SIGNATURE         = 2
+       CERT_NCRYPT_KEY_SPEC = 0xFFFFFFFF
+
        /* Default usage match type is AND with value zero */
        USAGE_MATCH_TYPE_AND = 0
        USAGE_MATCH_TYPE_OR  = 1
@@ -412,6 +445,89 @@ const (
        CERT_TRUST_IS_CA_TRUSTED                 = 0x00004000
        CERT_TRUST_IS_COMPLEX_CHAIN              = 0x00010000
 
+       /* Certificate Information Flags */
+       CERT_INFO_VERSION_FLAG                 = 1
+       CERT_INFO_SERIAL_NUMBER_FLAG           = 2
+       CERT_INFO_SIGNATURE_ALGORITHM_FLAG     = 3
+       CERT_INFO_ISSUER_FLAG                  = 4
+       CERT_INFO_NOT_BEFORE_FLAG              = 5
+       CERT_INFO_NOT_AFTER_FLAG               = 6
+       CERT_INFO_SUBJECT_FLAG                 = 7
+       CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8
+       CERT_INFO_ISSUER_UNIQUE_ID_FLAG        = 9
+       CERT_INFO_SUBJECT_UNIQUE_ID_FLAG       = 10
+       CERT_INFO_EXTENSION_FLAG               = 11
+
+       /* dwFindType for CertFindCertificateInStore  */
+       CERT_COMPARE_MASK                     = 0xFFFF
+       CERT_COMPARE_SHIFT                    = 16
+       CERT_COMPARE_ANY                      = 0
+       CERT_COMPARE_SHA1_HASH                = 1
+       CERT_COMPARE_NAME                     = 2
+       CERT_COMPARE_ATTR                     = 3
+       CERT_COMPARE_MD5_HASH                 = 4
+       CERT_COMPARE_PROPERTY                 = 5
+       CERT_COMPARE_PUBLIC_KEY               = 6
+       CERT_COMPARE_HASH                     = CERT_COMPARE_SHA1_HASH
+       CERT_COMPARE_NAME_STR_A               = 7
+       CERT_COMPARE_NAME_STR_W               = 8
+       CERT_COMPARE_KEY_SPEC                 = 9
+       CERT_COMPARE_ENHKEY_USAGE             = 10
+       CERT_COMPARE_CTL_USAGE                = CERT_COMPARE_ENHKEY_USAGE
+       CERT_COMPARE_SUBJECT_CERT             = 11
+       CERT_COMPARE_ISSUER_OF                = 12
+       CERT_COMPARE_EXISTING                 = 13
+       CERT_COMPARE_SIGNATURE_HASH           = 14
+       CERT_COMPARE_KEY_IDENTIFIER           = 15
+       CERT_COMPARE_CERT_ID                  = 16
+       CERT_COMPARE_CROSS_CERT_DIST_POINTS   = 17
+       CERT_COMPARE_PUBKEY_MD5_HASH          = 18
+       CERT_COMPARE_SUBJECT_INFO_ACCESS      = 19
+       CERT_COMPARE_HASH_STR                 = 20
+       CERT_COMPARE_HAS_PRIVATE_KEY          = 21
+       CERT_FIND_ANY                         = (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT)
+       CERT_FIND_SHA1_HASH                   = (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT)
+       CERT_FIND_MD5_HASH                    = (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT)
+       CERT_FIND_SIGNATURE_HASH              = (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT)
+       CERT_FIND_KEY_IDENTIFIER              = (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT)
+       CERT_FIND_HASH                        = CERT_FIND_SHA1_HASH
+       CERT_FIND_PROPERTY                    = (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT)
+       CERT_FIND_PUBLIC_KEY                  = (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT)
+       CERT_FIND_SUBJECT_NAME                = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
+       CERT_FIND_SUBJECT_ATTR                = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
+       CERT_FIND_ISSUER_NAME                 = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
+       CERT_FIND_ISSUER_ATTR                 = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
+       CERT_FIND_SUBJECT_STR_A               = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
+       CERT_FIND_SUBJECT_STR_W               = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
+       CERT_FIND_SUBJECT_STR                 = CERT_FIND_SUBJECT_STR_W
+       CERT_FIND_ISSUER_STR_A                = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
+       CERT_FIND_ISSUER_STR_W                = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
+       CERT_FIND_ISSUER_STR                  = CERT_FIND_ISSUER_STR_W
+       CERT_FIND_KEY_SPEC                    = (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT)
+       CERT_FIND_ENHKEY_USAGE                = (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT)
+       CERT_FIND_CTL_USAGE                   = CERT_FIND_ENHKEY_USAGE
+       CERT_FIND_SUBJECT_CERT                = (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT)
+       CERT_FIND_ISSUER_OF                   = (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT)
+       CERT_FIND_EXISTING                    = (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT)
+       CERT_FIND_CERT_ID                     = (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT)
+       CERT_FIND_CROSS_CERT_DIST_POINTS      = (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT)
+       CERT_FIND_PUBKEY_MD5_HASH             = (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT)
+       CERT_FIND_SUBJECT_INFO_ACCESS         = (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT)
+       CERT_FIND_HASH_STR                    = (CERT_COMPARE_HASH_STR << CERT_COMPARE_SHIFT)
+       CERT_FIND_HAS_PRIVATE_KEY             = (CERT_COMPARE_HAS_PRIVATE_KEY << CERT_COMPARE_SHIFT)
+       CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG  = 0x1
+       CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG  = 0x2
+       CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG = 0x4
+       CERT_FIND_NO_ENHKEY_USAGE_FLAG        = 0x8
+       CERT_FIND_OR_ENHKEY_USAGE_FLAG        = 0x10
+       CERT_FIND_VALID_ENHKEY_USAGE_FLAG     = 0x20
+       CERT_FIND_OPTIONAL_CTL_USAGE_FLAG     = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG
+       CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG     = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
+       CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG    = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
+       CERT_FIND_NO_CTL_USAGE_FLAG           = CERT_FIND_NO_ENHKEY_USAGE_FLAG
+       CERT_FIND_OR_CTL_USAGE_FLAG           = CERT_FIND_OR_ENHKEY_USAGE_FLAG
+       CERT_FIND_VALID_CTL_USAGE_FLAG        = CERT_FIND_VALID_ENHKEY_USAGE_FLAG
+
        /* policyOID values for CertVerifyCertificateChainPolicy function */
        CERT_CHAIN_POLICY_BASE              = 1
        CERT_CHAIN_POLICY_AUTHENTICODE      = 2
@@ -423,6 +539,17 @@ const (
        CERT_CHAIN_POLICY_EV                = 8
        CERT_CHAIN_POLICY_SSL_F12           = 9
 
+       /* flag for dwFindType CertFindChainInStore  */
+       CERT_CHAIN_FIND_BY_ISSUER = 1
+
+       /* dwFindFlags for CertFindChainInStore when dwFindType == CERT_CHAIN_FIND_BY_ISSUER */
+       CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG    = 0x0001
+       CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG  = 0x0002
+       CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG = 0x0004
+       CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG  = 0x0008
+       CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG         = 0x4000
+       CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG     = 0x8000
+
        /* Certificate Store close flags */
        CERT_CLOSE_STORE_FORCE_FLAG = 0x00000001
        CERT_CLOSE_STORE_CHECK_FLAG = 0x00000002
@@ -683,6 +810,14 @@ type win32finddata1 struct {
        Reserved1         uint32
        FileName          [MAX_PATH]uint16
        AlternateFileName [14]uint16
+
+       // The Microsoft documentation for this struct¹ describes three additional
+       // fields: dwFileType, dwCreatorType, and wFinderFlags. However, those fields
+       // are empirically only present in the macOS port of the Win32 API,² and thus
+       // not needed for binaries built for Windows.
+       //
+       // Â¹ https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataw describe
+       // Â² https://golang.org/issue/42637#issuecomment-760715755.
 }
 
 func copyFindData(dst *Win32finddata, src *win32finddata1) {
@@ -767,6 +902,23 @@ type StartupInfo struct {
        StdErr        Handle
 }
 
+type StartupInfoEx struct {
+       StartupInfo
+       ProcThreadAttributeList *ProcThreadAttributeList
+}
+
+// ProcThreadAttributeList is a placeholder type to represent a PROC_THREAD_ATTRIBUTE_LIST.
+//
+// To create a *ProcThreadAttributeList, use NewProcThreadAttributeList, and
+// free its memory using ProcThreadAttributeList.Delete.
+type ProcThreadAttributeList struct {
+       // This is of type unsafe.Pointer, not of type byte or uintptr, because
+       // the contents of it is mostly a list of pointers, and in most cases,
+       // that's a list of pointers to Go-allocated objects. In order to keep
+       // the GC from collecting these objects, we declare this as unsafe.Pointer.
+       _ [1]unsafe.Pointer
+}
+
 type ProcessInformation struct {
        Process   Handle
        Thread    Handle
@@ -920,6 +1072,18 @@ type WSAMsg struct {
        Flags       uint32
 }
 
+// Flags for WSASocket
+const (
+       WSA_FLAG_OVERLAPPED             = 0x01
+       WSA_FLAG_MULTIPOINT_C_ROOT      = 0x02
+       WSA_FLAG_MULTIPOINT_C_LEAF      = 0x04
+       WSA_FLAG_MULTIPOINT_D_ROOT      = 0x08
+       WSA_FLAG_MULTIPOINT_D_LEAF      = 0x10
+       WSA_FLAG_ACCESS_SYSTEM_SECURITY = 0x40
+       WSA_FLAG_NO_HANDLE_INHERIT      = 0x80
+       WSA_FLAG_REGISTERED_IO          = 0x100
+)
+
 // Invented values to support what package os expects.
 const (
        S_IFMT   = 0x1f000
@@ -1360,6 +1524,19 @@ type CryptProtectPromptStruct struct {
        Prompt      *uint16
 }
 
+type CertChainFindByIssuerPara struct {
+       Size                   uint32
+       UsageIdentifier        *byte
+       KeySpec                uint32
+       AcquirePrivateKeyFlags uint32
+       IssuerCount            uint32
+       Issuer                 Pointer
+       FindCallback           Pointer
+       FindArg                Pointer
+       IssuerChainIndex       *uint32
+       IssuerElementIndex     *uint32
+}
+
 type WinTrustData struct {
        Size                            uint32
        PolicyCallbackData              uintptr
@@ -2091,3 +2268,504 @@ const (
        // REG_NOTIFY_THREAD_AGNOSTIC indicates that the lifetime of the registration must not be tied to the lifetime of the thread issuing the RegNotifyChangeKeyValue call. Note: This flag value is only supported in Windows 8 and later.
        REG_NOTIFY_THREAD_AGNOSTIC = 0x10000000
 )
+
+type CommTimeouts struct {
+       ReadIntervalTimeout         uint32
+       ReadTotalTimeoutMultiplier  uint32
+       ReadTotalTimeoutConstant    uint32
+       WriteTotalTimeoutMultiplier uint32
+       WriteTotalTimeoutConstant   uint32
+}
+
+// NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING.
+type NTUnicodeString struct {
+       Length        uint16
+       MaximumLength uint16
+       Buffer        *uint16
+}
+
+// NTString is an ANSI string for NT native APIs, corresponding to STRING.
+type NTString struct {
+       Length        uint16
+       MaximumLength uint16
+       Buffer        *byte
+}
+
+type LIST_ENTRY struct {
+       Flink *LIST_ENTRY
+       Blink *LIST_ENTRY
+}
+
+type LDR_DATA_TABLE_ENTRY struct {
+       reserved1          [2]uintptr
+       InMemoryOrderLinks LIST_ENTRY
+       reserved2          [2]uintptr
+       DllBase            uintptr
+       reserved3          [2]uintptr
+       FullDllName        NTUnicodeString
+       reserved4          [8]byte
+       reserved5          [3]uintptr
+       reserved6          uintptr
+       TimeDateStamp      uint32
+}
+
+type PEB_LDR_DATA struct {
+       reserved1               [8]byte
+       reserved2               [3]uintptr
+       InMemoryOrderModuleList LIST_ENTRY
+}
+
+type CURDIR struct {
+       DosPath NTUnicodeString
+       Handle  Handle
+}
+
+type RTL_DRIVE_LETTER_CURDIR struct {
+       Flags     uint16
+       Length    uint16
+       TimeStamp uint32
+       DosPath   NTString
+}
+
+type RTL_USER_PROCESS_PARAMETERS struct {
+       MaximumLength, Length uint32
+
+       Flags, DebugFlags uint32
+
+       ConsoleHandle                                Handle
+       ConsoleFlags                                 uint32
+       StandardInput, StandardOutput, StandardError Handle
+
+       CurrentDirectory CURDIR
+       DllPath          NTUnicodeString
+       ImagePathName    NTUnicodeString
+       CommandLine      NTUnicodeString
+       Environment      unsafe.Pointer
+
+       StartingX, StartingY, CountX, CountY, CountCharsX, CountCharsY, FillAttribute uint32
+
+       WindowFlags, ShowWindowFlags                     uint32
+       WindowTitle, DesktopInfo, ShellInfo, RuntimeData NTUnicodeString
+       CurrentDirectories                               [32]RTL_DRIVE_LETTER_CURDIR
+
+       EnvironmentSize, EnvironmentVersion uintptr
+
+       PackageDependencyData unsafe.Pointer
+       ProcessGroupId        uint32
+       LoaderThreads         uint32
+
+       RedirectionDllName               NTUnicodeString
+       HeapPartitionName                NTUnicodeString
+       DefaultThreadpoolCpuSetMasks     uintptr
+       DefaultThreadpoolCpuSetMaskCount uint32
+}
+
+type PEB struct {
+       reserved1              [2]byte
+       BeingDebugged          byte
+       BitField               byte
+       reserved3              uintptr
+       ImageBaseAddress       uintptr
+       Ldr                    *PEB_LDR_DATA
+       ProcessParameters      *RTL_USER_PROCESS_PARAMETERS
+       reserved4              [3]uintptr
+       AtlThunkSListPtr       uintptr
+       reserved5              uintptr
+       reserved6              uint32
+       reserved7              uintptr
+       reserved8              uint32
+       AtlThunkSListPtr32     uint32
+       reserved9              [45]uintptr
+       reserved10             [96]byte
+       PostProcessInitRoutine uintptr
+       reserved11             [128]byte
+       reserved12             [1]uintptr
+       SessionId              uint32
+}
+
+type OBJECT_ATTRIBUTES struct {
+       Length             uint32
+       RootDirectory      Handle
+       ObjectName         *NTUnicodeString
+       Attributes         uint32
+       SecurityDescriptor *SECURITY_DESCRIPTOR
+       SecurityQoS        *SECURITY_QUALITY_OF_SERVICE
+}
+
+// Values for the Attributes member of OBJECT_ATTRIBUTES.
+const (
+       OBJ_INHERIT                       = 0x00000002
+       OBJ_PERMANENT                     = 0x00000010
+       OBJ_EXCLUSIVE                     = 0x00000020
+       OBJ_CASE_INSENSITIVE              = 0x00000040
+       OBJ_OPENIF                        = 0x00000080
+       OBJ_OPENLINK                      = 0x00000100
+       OBJ_KERNEL_HANDLE                 = 0x00000200
+       OBJ_FORCE_ACCESS_CHECK            = 0x00000400
+       OBJ_IGNORE_IMPERSONATED_DEVICEMAP = 0x00000800
+       OBJ_DONT_REPARSE                  = 0x00001000
+       OBJ_VALID_ATTRIBUTES              = 0x00001FF2
+)
+
+type IO_STATUS_BLOCK struct {
+       Status      NTStatus
+       Information uintptr
+}
+
+type RTLP_CURDIR_REF struct {
+       RefCount int32
+       Handle   Handle
+}
+
+type RTL_RELATIVE_NAME struct {
+       RelativeName        NTUnicodeString
+       ContainingDirectory Handle
+       CurDirRef           *RTLP_CURDIR_REF
+}
+
+const (
+       // CreateDisposition flags for NtCreateFile and NtCreateNamedPipeFile.
+       FILE_SUPERSEDE           = 0x00000000
+       FILE_OPEN                = 0x00000001
+       FILE_CREATE              = 0x00000002
+       FILE_OPEN_IF             = 0x00000003
+       FILE_OVERWRITE           = 0x00000004
+       FILE_OVERWRITE_IF        = 0x00000005
+       FILE_MAXIMUM_DISPOSITION = 0x00000005
+
+       // CreateOptions flags for NtCreateFile and NtCreateNamedPipeFile.
+       FILE_DIRECTORY_FILE            = 0x00000001
+       FILE_WRITE_THROUGH             = 0x00000002
+       FILE_SEQUENTIAL_ONLY           = 0x00000004
+       FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008
+       FILE_SYNCHRONOUS_IO_ALERT      = 0x00000010
+       FILE_SYNCHRONOUS_IO_NONALERT   = 0x00000020
+       FILE_NON_DIRECTORY_FILE        = 0x00000040
+       FILE_CREATE_TREE_CONNECTION    = 0x00000080
+       FILE_COMPLETE_IF_OPLOCKED      = 0x00000100
+       FILE_NO_EA_KNOWLEDGE           = 0x00000200
+       FILE_OPEN_REMOTE_INSTANCE      = 0x00000400
+       FILE_RANDOM_ACCESS             = 0x00000800
+       FILE_DELETE_ON_CLOSE           = 0x00001000
+       FILE_OPEN_BY_FILE_ID           = 0x00002000
+       FILE_OPEN_FOR_BACKUP_INTENT    = 0x00004000
+       FILE_NO_COMPRESSION            = 0x00008000
+       FILE_OPEN_REQUIRING_OPLOCK     = 0x00010000
+       FILE_DISALLOW_EXCLUSIVE        = 0x00020000
+       FILE_RESERVE_OPFILTER          = 0x00100000
+       FILE_OPEN_REPARSE_POINT        = 0x00200000
+       FILE_OPEN_NO_RECALL            = 0x00400000
+       FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000
+
+       // Parameter constants for NtCreateNamedPipeFile.
+
+       FILE_PIPE_BYTE_STREAM_TYPE = 0x00000000
+       FILE_PIPE_MESSAGE_TYPE     = 0x00000001
+
+       FILE_PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000
+       FILE_PIPE_REJECT_REMOTE_CLIENTS = 0x00000002
+
+       FILE_PIPE_TYPE_VALID_MASK = 0x00000003
+
+       FILE_PIPE_BYTE_STREAM_MODE = 0x00000000
+       FILE_PIPE_MESSAGE_MODE     = 0x00000001
+
+       FILE_PIPE_QUEUE_OPERATION    = 0x00000000
+       FILE_PIPE_COMPLETE_OPERATION = 0x00000001
+
+       FILE_PIPE_INBOUND     = 0x00000000
+       FILE_PIPE_OUTBOUND    = 0x00000001
+       FILE_PIPE_FULL_DUPLEX = 0x00000002
+
+       FILE_PIPE_DISCONNECTED_STATE = 0x00000001
+       FILE_PIPE_LISTENING_STATE    = 0x00000002
+       FILE_PIPE_CONNECTED_STATE    = 0x00000003
+       FILE_PIPE_CLOSING_STATE      = 0x00000004
+
+       FILE_PIPE_CLIENT_END = 0x00000000
+       FILE_PIPE_SERVER_END = 0x00000001
+)
+
+// ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess.
+const (
+       ProcessBasicInformation = iota
+       ProcessQuotaLimits
+       ProcessIoCounters
+       ProcessVmCounters
+       ProcessTimes
+       ProcessBasePriority
+       ProcessRaisePriority
+       ProcessDebugPort
+       ProcessExceptionPort
+       ProcessAccessToken
+       ProcessLdtInformation
+       ProcessLdtSize
+       ProcessDefaultHardErrorMode
+       ProcessIoPortHandlers
+       ProcessPooledUsageAndLimits
+       ProcessWorkingSetWatch
+       ProcessUserModeIOPL
+       ProcessEnableAlignmentFaultFixup
+       ProcessPriorityClass
+       ProcessWx86Information
+       ProcessHandleCount
+       ProcessAffinityMask
+       ProcessPriorityBoost
+       ProcessDeviceMap
+       ProcessSessionInformation
+       ProcessForegroundInformation
+       ProcessWow64Information
+       ProcessImageFileName
+       ProcessLUIDDeviceMapsEnabled
+       ProcessBreakOnTermination
+       ProcessDebugObjectHandle
+       ProcessDebugFlags
+       ProcessHandleTracing
+       ProcessIoPriority
+       ProcessExecuteFlags
+       ProcessTlsInformation
+       ProcessCookie
+       ProcessImageInformation
+       ProcessCycleTime
+       ProcessPagePriority
+       ProcessInstrumentationCallback
+       ProcessThreadStackAllocation
+       ProcessWorkingSetWatchEx
+       ProcessImageFileNameWin32
+       ProcessImageFileMapping
+       ProcessAffinityUpdateMode
+       ProcessMemoryAllocationMode
+       ProcessGroupInformation
+       ProcessTokenVirtualizationEnabled
+       ProcessConsoleHostProcess
+       ProcessWindowInformation
+       ProcessHandleInformation
+       ProcessMitigationPolicy
+       ProcessDynamicFunctionTableInformation
+       ProcessHandleCheckingMode
+       ProcessKeepAliveCount
+       ProcessRevokeFileHandles
+       ProcessWorkingSetControl
+       ProcessHandleTable
+       ProcessCheckStackExtentsMode
+       ProcessCommandLineInformation
+       ProcessProtectionInformation
+       ProcessMemoryExhaustion
+       ProcessFaultInformation
+       ProcessTelemetryIdInformation
+       ProcessCommitReleaseInformation
+       ProcessDefaultCpuSetsInformation
+       ProcessAllowedCpuSetsInformation
+       ProcessSubsystemProcess
+       ProcessJobMemoryInformation
+       ProcessInPrivate
+       ProcessRaiseUMExceptionOnInvalidHandleClose
+       ProcessIumChallengeResponse
+       ProcessChildProcessInformation
+       ProcessHighGraphicsPriorityInformation
+       ProcessSubsystemInformation
+       ProcessEnergyValues
+       ProcessActivityThrottleState
+       ProcessActivityThrottlePolicy
+       ProcessWin32kSyscallFilterInformation
+       ProcessDisableSystemAllowedCpuSets
+       ProcessWakeInformation
+       ProcessEnergyTrackingState
+       ProcessManageWritesToExecutableMemory
+       ProcessCaptureTrustletLiveDump
+       ProcessTelemetryCoverage
+       ProcessEnclaveInformation
+       ProcessEnableReadWriteVmLogging
+       ProcessUptimeInformation
+       ProcessImageSection
+       ProcessDebugAuthInformation
+       ProcessSystemResourceManagement
+       ProcessSequenceNumber
+       ProcessLoaderDetour
+       ProcessSecurityDomainInformation
+       ProcessCombineSecurityDomainsInformation
+       ProcessEnableLogging
+       ProcessLeapSecondInformation
+       ProcessFiberShadowStackAllocation
+       ProcessFreeFiberShadowStackAllocation
+       ProcessAltSystemCallInformation
+       ProcessDynamicEHContinuationTargets
+       ProcessDynamicEnforcedCetCompatibleRanges
+)
+
+type PROCESS_BASIC_INFORMATION struct {
+       ExitStatus                   NTStatus
+       PebBaseAddress               *PEB
+       AffinityMask                 uintptr
+       BasePriority                 int32
+       UniqueProcessId              uintptr
+       InheritedFromUniqueProcessId uintptr
+}
+
+// Constants for LocalAlloc flags.
+const (
+       LMEM_FIXED          = 0x0
+       LMEM_MOVEABLE       = 0x2
+       LMEM_NOCOMPACT      = 0x10
+       LMEM_NODISCARD      = 0x20
+       LMEM_ZEROINIT       = 0x40
+       LMEM_MODIFY         = 0x80
+       LMEM_DISCARDABLE    = 0xf00
+       LMEM_VALID_FLAGS    = 0xf72
+       LMEM_INVALID_HANDLE = 0x8000
+       LHND                = LMEM_MOVEABLE | LMEM_ZEROINIT
+       LPTR                = LMEM_FIXED | LMEM_ZEROINIT
+       NONZEROLHND         = LMEM_MOVEABLE
+       NONZEROLPTR         = LMEM_FIXED
+)
+
+// Constants for the CreateNamedPipe-family of functions.
+const (
+       PIPE_ACCESS_INBOUND  = 0x1
+       PIPE_ACCESS_OUTBOUND = 0x2
+       PIPE_ACCESS_DUPLEX   = 0x3
+
+       PIPE_CLIENT_END = 0x0
+       PIPE_SERVER_END = 0x1
+
+       PIPE_WAIT                  = 0x0
+       PIPE_NOWAIT                = 0x1
+       PIPE_READMODE_BYTE         = 0x0
+       PIPE_READMODE_MESSAGE      = 0x2
+       PIPE_TYPE_BYTE             = 0x0
+       PIPE_TYPE_MESSAGE          = 0x4
+       PIPE_ACCEPT_REMOTE_CLIENTS = 0x0
+       PIPE_REJECT_REMOTE_CLIENTS = 0x8
+
+       PIPE_UNLIMITED_INSTANCES = 255
+)
+
+// Constants for security attributes when opening named pipes.
+const (
+       SECURITY_ANONYMOUS      = SecurityAnonymous << 16
+       SECURITY_IDENTIFICATION = SecurityIdentification << 16
+       SECURITY_IMPERSONATION  = SecurityImpersonation << 16
+       SECURITY_DELEGATION     = SecurityDelegation << 16
+
+       SECURITY_CONTEXT_TRACKING = 0x40000
+       SECURITY_EFFECTIVE_ONLY   = 0x80000
+
+       SECURITY_SQOS_PRESENT     = 0x100000
+       SECURITY_VALID_SQOS_FLAGS = 0x1f0000
+)
+
+// ResourceID represents a 16-bit resource identifier, traditionally created with the MAKEINTRESOURCE macro.
+type ResourceID uint16
+
+// ResourceIDOrString must be either a ResourceID, to specify a resource or resource type by ID,
+// or a string, to specify a resource or resource type by name.
+type ResourceIDOrString interface{}
+
+// Predefined resource names and types.
+var (
+       // Predefined names.
+       CREATEPROCESS_MANIFEST_RESOURCE_ID                 ResourceID = 1
+       ISOLATIONAWARE_MANIFEST_RESOURCE_ID                ResourceID = 2
+       ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID ResourceID = 3
+       ISOLATIONPOLICY_MANIFEST_RESOURCE_ID               ResourceID = 4
+       ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID       ResourceID = 5
+       MINIMUM_RESERVED_MANIFEST_RESOURCE_ID              ResourceID = 1  // inclusive
+       MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID              ResourceID = 16 // inclusive
+
+       // Predefined types.
+       RT_CURSOR       ResourceID = 1
+       RT_BITMAP       ResourceID = 2
+       RT_ICON         ResourceID = 3
+       RT_MENU         ResourceID = 4
+       RT_DIALOG       ResourceID = 5
+       RT_STRING       ResourceID = 6
+       RT_FONTDIR      ResourceID = 7
+       RT_FONT         ResourceID = 8
+       RT_ACCELERATOR  ResourceID = 9
+       RT_RCDATA       ResourceID = 10
+       RT_MESSAGETABLE ResourceID = 11
+       RT_GROUP_CURSOR ResourceID = 12
+       RT_GROUP_ICON   ResourceID = 14
+       RT_VERSION      ResourceID = 16
+       RT_DLGINCLUDE   ResourceID = 17
+       RT_PLUGPLAY     ResourceID = 19
+       RT_VXD          ResourceID = 20
+       RT_ANICURSOR    ResourceID = 21
+       RT_ANIICON      ResourceID = 22
+       RT_HTML         ResourceID = 23
+       RT_MANIFEST     ResourceID = 24
+)
+
+type COAUTHIDENTITY struct {
+       User           *uint16
+       UserLength     uint32
+       Domain         *uint16
+       DomainLength   uint32
+       Password       *uint16
+       PasswordLength uint32
+       Flags          uint32
+}
+
+type COAUTHINFO struct {
+       AuthnSvc           uint32
+       AuthzSvc           uint32
+       ServerPrincName    *uint16
+       AuthnLevel         uint32
+       ImpersonationLevel uint32
+       AuthIdentityData   *COAUTHIDENTITY
+       Capabilities       uint32
+}
+
+type COSERVERINFO struct {
+       Reserved1 uint32
+       Aame      *uint16
+       AuthInfo  *COAUTHINFO
+       Reserved2 uint32
+}
+
+type BIND_OPTS3 struct {
+       CbStruct          uint32
+       Flags             uint32
+       Mode              uint32
+       TickCountDeadline uint32
+       TrackFlags        uint32
+       ClassContext      uint32
+       Locale            uint32
+       ServerInfo        *COSERVERINFO
+       Hwnd              HWND
+}
+
+const (
+       CLSCTX_INPROC_SERVER          = 0x1
+       CLSCTX_INPROC_HANDLER         = 0x2
+       CLSCTX_LOCAL_SERVER           = 0x4
+       CLSCTX_INPROC_SERVER16        = 0x8
+       CLSCTX_REMOTE_SERVER          = 0x10
+       CLSCTX_INPROC_HANDLER16       = 0x20
+       CLSCTX_RESERVED1              = 0x40
+       CLSCTX_RESERVED2              = 0x80
+       CLSCTX_RESERVED3              = 0x100
+       CLSCTX_RESERVED4              = 0x200
+       CLSCTX_NO_CODE_DOWNLOAD       = 0x400
+       CLSCTX_RESERVED5              = 0x800
+       CLSCTX_NO_CUSTOM_MARSHAL      = 0x1000
+       CLSCTX_ENABLE_CODE_DOWNLOAD   = 0x2000
+       CLSCTX_NO_FAILURE_LOG         = 0x4000
+       CLSCTX_DISABLE_AAA            = 0x8000
+       CLSCTX_ENABLE_AAA             = 0x10000
+       CLSCTX_FROM_DEFAULT_CONTEXT   = 0x20000
+       CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000
+       CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
+       CLSCTX_ENABLE_CLOAKING        = 0x100000
+       CLSCTX_APPCONTAINER           = 0x400000
+       CLSCTX_ACTIVATE_AAA_AS_IU     = 0x800000
+       CLSCTX_PS_DLL                 = 0x80000000
+
+       COINIT_MULTITHREADED     = 0x0
+       COINIT_APARTMENTTHREADED = 0x2
+       COINIT_DISABLE_OLE1DDE   = 0x4
+       COINIT_SPEED_OVER_MEMORY = 0x8
+)
+
+// Flag for QueryFullProcessImageName.
+const PROCESS_NAME_NATIVE = 1
index f0212003520d0274a721b6dacdaa3a8202d08daf..0cf658fbd5d773f1a2668bdc48bc4b2cac2df0f3 100644 (file)
@@ -146,6 +146,7 @@ const (
        FACILITY_WEP                                                                            = 2049
        FACILITY_SYNCENGINE                                                                     = 2050
        FACILITY_XBOX                                                                           = 2339
+       FACILITY_GAME                                                                           = 2340
        FACILITY_PIX                                                                            = 2748
        ERROR_SUCCESS                                                             syscall.Errno = 0
        NO_ERROR                                                                                = 0
@@ -469,9 +470,18 @@ const (
        ERROR_STORAGE_RESERVE_NOT_EMPTY                                           syscall.Errno = 419
        ERROR_NOT_A_DAX_VOLUME                                                    syscall.Errno = 420
        ERROR_NOT_DAX_MAPPABLE                                                    syscall.Errno = 421
-       ERROR_TIME_CRITICAL_THREAD                                                syscall.Errno = 422
+       ERROR_TIME_SENSITIVE_THREAD                                               syscall.Errno = 422
        ERROR_DPL_NOT_SUPPORTED_FOR_USER                                          syscall.Errno = 423
        ERROR_CASE_DIFFERING_NAMES_IN_DIR                                         syscall.Errno = 424
+       ERROR_FILE_NOT_SUPPORTED                                                  syscall.Errno = 425
+       ERROR_CLOUD_FILE_REQUEST_TIMEOUT                                          syscall.Errno = 426
+       ERROR_NO_TASK_QUEUE                                                       syscall.Errno = 427
+       ERROR_SRC_SRV_DLL_LOAD_FAILED                                             syscall.Errno = 428
+       ERROR_NOT_SUPPORTED_WITH_BTT                                              syscall.Errno = 429
+       ERROR_ENCRYPTION_DISABLED                                                 syscall.Errno = 430
+       ERROR_ENCRYPTING_METADATA_DISALLOWED                                      syscall.Errno = 431
+       ERROR_CANT_CLEAR_ENCRYPTION_FLAG                                          syscall.Errno = 432
+       ERROR_NO_SUCH_DEVICE                                                      syscall.Errno = 433
        ERROR_CAPAUTHZ_NOT_DEVUNLOCKED                                            syscall.Errno = 450
        ERROR_CAPAUTHZ_CHANGE_TYPE                                                syscall.Errno = 451
        ERROR_CAPAUTHZ_NOT_PROVISIONED                                            syscall.Errno = 452
@@ -1593,6 +1603,8 @@ const (
        ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION                                   syscall.Errno = 4551
        ERROR_SYSTEM_INTEGRITY_INVALID_POLICY                                     syscall.Errno = 4552
        ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED                                  syscall.Errno = 4553
+       ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES                                  syscall.Errno = 4554
+       ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED                 syscall.Errno = 4555
        ERROR_VSM_NOT_INITIALIZED                                                 syscall.Errno = 4560
        ERROR_VSM_DMA_PROTECTION_NOT_IN_USE                                       syscall.Errno = 4561
        ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED                                    syscall.Errno = 4570
@@ -1824,6 +1836,7 @@ const (
        ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE                                    syscall.Errno = 6020
        ERROR_CS_ENCRYPTION_FILE_NOT_CSE                                          syscall.Errno = 6021
        ERROR_ENCRYPTION_POLICY_DENIES_OPERATION                                  syscall.Errno = 6022
+       ERROR_WIP_ENCRYPTION_FAILED                                               syscall.Errno = 6023
        ERROR_NO_BROWSER_SERVERS_FOUND                                            syscall.Errno = 6118
        SCHED_E_SERVICE_NOT_LOCALSYSTEM                                           syscall.Errno = 6200
        ERROR_LOG_SECTOR_INVALID                                                  syscall.Errno = 6600
@@ -3000,6 +3013,7 @@ const (
        ERROR_SMI_PRIMITIVE_INSTALLER_FAILED                                      syscall.Errno = 14108
        ERROR_GENERIC_COMMAND_FAILED                                              syscall.Errno = 14109
        ERROR_SXS_FILE_HASH_MISSING                                               syscall.Errno = 14110
+       ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS                                     syscall.Errno = 14111
        ERROR_EVT_INVALID_CHANNEL_PATH                                            syscall.Errno = 15000
        ERROR_EVT_INVALID_QUERY                                                   syscall.Errno = 15001
        ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND                                    syscall.Errno = 15002
@@ -3093,6 +3107,7 @@ const (
        ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED                                 syscall.Errno = 15157
        ERROR_PRI_MERGE_INVALID_FILE_NAME                                         syscall.Errno = 15158
        ERROR_MRM_PACKAGE_NOT_FOUND                                               syscall.Errno = 15159
+       ERROR_MRM_MISSING_DEFAULT_LANGUAGE                                        syscall.Errno = 15160
        ERROR_MCA_INVALID_CAPABILITIES_STRING                                     syscall.Errno = 15200
        ERROR_MCA_INVALID_VCP_VERSION                                             syscall.Errno = 15201
        ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION                             syscall.Errno = 15202
@@ -3167,6 +3182,15 @@ const (
        ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED                                     syscall.Errno = 15645
        ERROR_APPINSTALLER_ACTIVATION_BLOCKED                                     syscall.Errno = 15646
        ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED                        syscall.Errno = 15647
+       ERROR_APPX_RAW_DATA_WRITE_FAILED                                          syscall.Errno = 15648
+       ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE                         syscall.Errno = 15649
+       ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE                         syscall.Errno = 15650
+       ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY                                syscall.Errno = 15651
+       ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY             syscall.Errno = 15652
+       ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER                         syscall.Errno = 15653
+       ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED                     syscall.Errno = 15654
+       ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE                              syscall.Errno = 15655
+       ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES                          syscall.Errno = 15656
        APPMODEL_ERROR_NO_PACKAGE                                                 syscall.Errno = 15700
        APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT                                    syscall.Errno = 15701
        APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT                                   syscall.Errno = 15702
@@ -3174,6 +3198,7 @@ const (
        APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED                               syscall.Errno = 15704
        APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID                                   syscall.Errno = 15705
        APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE                                      syscall.Errno = 15706
+       APPMODEL_ERROR_NO_MUTABLE_DIRECTORY                                       syscall.Errno = 15707
        ERROR_STATE_LOAD_STORE_FAILED                                             syscall.Errno = 15800
        ERROR_STATE_GET_VERSION_FAILED                                            syscall.Errno = 15801
        ERROR_STATE_SET_VERSION_FAILED                                            syscall.Errno = 15802
@@ -3204,7 +3229,8 @@ const (
        E_NOT_SET                                                                               = ERROR_NOT_FOUND
        E_NOT_VALID_STATE                                                                       = ERROR_INVALID_STATE
        E_NOT_SUFFICIENT_BUFFER                                                                 = ERROR_INSUFFICIENT_BUFFER
-       E_TIME_CRITICAL_THREAD                                                                  = ERROR_TIME_CRITICAL_THREAD
+       E_TIME_SENSITIVE_THREAD                                                                 = ERROR_TIME_SENSITIVE_THREAD
+       E_NO_TASK_QUEUE                                                                         = ERROR_NO_TASK_QUEUE
        NOERROR                                                                   syscall.Errno = 0
        E_UNEXPECTED                                                              Handle        = 0x8000FFFF
        E_NOTIMPL                                                                 Handle        = 0x80004001
@@ -3966,6 +3992,7 @@ const (
        SEC_I_COMPLETE_NEEDED                                                     Handle        = 0x00090313
        SEC_I_COMPLETE_AND_CONTINUE                                               Handle        = 0x00090314
        SEC_I_LOCAL_LOGON                                                         Handle        = 0x00090315
+       SEC_I_GENERIC_EXTENSION_RECEIVED                                          Handle        = 0x00090316
        SEC_E_BAD_PKGID                                                           Handle        = 0x80090316
        SEC_E_CONTEXT_EXPIRED                                                     Handle        = 0x80090317
        SEC_I_CONTEXT_EXPIRED                                                     Handle        = 0x00090317
@@ -4033,6 +4060,8 @@ const (
        SEC_E_APPLICATION_PROTOCOL_MISMATCH                                       Handle        = 0x80090367
        SEC_I_ASYNC_CALL_PENDING                                                  Handle        = 0x00090368
        SEC_E_INVALID_UPN_NAME                                                    Handle        = 0x80090369
+       SEC_E_EXT_BUFFER_TOO_SMALL                                                Handle        = 0x8009036A
+       SEC_E_INSUFFICIENT_BUFFERS                                                Handle        = 0x8009036B
        SEC_E_NO_SPM                                                                            = SEC_E_INTERNAL_ERROR
        SEC_E_NOT_SUPPORTED                                                                     = SEC_E_UNSUPPORTED_FUNCTION
        CRYPT_E_MSG_ERROR                                                         Handle        = 0x80091001
@@ -4637,6 +4666,8 @@ const (
        ERROR_GRAPHICS_PRESENT_INVALID_WINDOW                                     Handle        = 0xC026200F
        ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND                                   Handle        = 0xC0262010
        ERROR_GRAPHICS_VAIL_STATE_CHANGED                                         Handle        = 0xC0262011
+       ERROR_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN                         Handle        = 0xC0262012
+       ERROR_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED                            Handle        = 0xC0262013
        ERROR_GRAPHICS_NO_VIDEO_MEMORY                                            Handle        = 0xC0262100
        ERROR_GRAPHICS_CANT_LOCK_MEMORY                                           Handle        = 0xC0262101
        ERROR_GRAPHICS_ALLOCATION_BUSY                                            Handle        = 0xC0262102
@@ -5393,6 +5424,13 @@ const (
        FVE_E_NOT_DE_VOLUME                                                       Handle        = 0x803100D7
        FVE_E_PROTECTION_CANNOT_BE_DISABLED                                       Handle        = 0x803100D8
        FVE_E_OSV_KSR_NOT_ALLOWED                                                 Handle        = 0x803100D9
+       FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_OS_DRIVE                          Handle        = 0x803100DA
+       FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_FIXED_DRIVE                       Handle        = 0x803100DB
+       FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_REMOVABLE_DRIVE                   Handle        = 0x803100DC
+       FVE_E_KEY_ROTATION_NOT_SUPPORTED                                          Handle        = 0x803100DD
+       FVE_E_EXECUTE_REQUEST_SENT_TOO_SOON                                       Handle        = 0x803100DE
+       FVE_E_KEY_ROTATION_NOT_ENABLED                                            Handle        = 0x803100DF
+       FVE_E_DEVICE_NOT_JOINED                                                   Handle        = 0x803100E0
        FWP_E_CALLOUT_NOT_FOUND                                                   Handle        = 0x80320001
        FWP_E_CONDITION_NOT_FOUND                                                 Handle        = 0x80320002
        FWP_E_FILTER_NOT_FOUND                                                    Handle        = 0x80320003
@@ -5881,6 +5919,12 @@ const (
        GCN_E_NETCOMPARTMENT_NOT_FOUND                                            Handle        = 0x803B0027
        GCN_E_NETINTERFACE_NOT_FOUND                                              Handle        = 0x803B0028
        GCN_E_DEFAULTNAMESPACE_EXISTS                                             Handle        = 0x803B0029
+       HCN_E_ICS_DISABLED                                                        Handle        = 0x803B002A
+       HCN_E_ENDPOINT_NAMESPACE_ALREADY_EXISTS                                   Handle        = 0x803B002B
+       HCN_E_ENTITY_HAS_REFERENCES                                               Handle        = 0x803B002C
+       HCN_E_INVALID_INTERNAL_PORT                                               Handle        = 0x803B002D
+       HCN_E_NAMESPACE_ATTACH_FAILED                                             Handle        = 0x803B002E
+       HCN_E_ADDR_INVALID_OR_RESERVED                                            Handle        = 0x803B002F
        SDIAG_E_CANCELLED                                                         syscall.Errno = 0x803C0100
        SDIAG_E_SCRIPT                                                            syscall.Errno = 0x803C0101
        SDIAG_E_POWERSHELL                                                        syscall.Errno = 0x803C0102
@@ -6846,8 +6890,2579 @@ const (
        UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE                                   Handle        = 0x87C51059
        UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN                                    Handle        = 0x87C5105A
        UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED                                 Handle        = 0x87C5105B
+       UTC_E_SETREGKEYACTION_TYPE_NOT_APPROVED                                   Handle        = 0x87C5105C
        WINML_ERR_INVALID_DEVICE                                                  Handle        = 0x88900001
        WINML_ERR_INVALID_BINDING                                                 Handle        = 0x88900002
        WINML_ERR_VALUE_NOTFOUND                                                  Handle        = 0x88900003
        WINML_ERR_SIZE_MISMATCH                                                   Handle        = 0x88900004
+       STATUS_WAIT_0                                                             NTStatus      = 0x00000000
+       STATUS_SUCCESS                                                            NTStatus      = 0x00000000
+       STATUS_WAIT_1                                                             NTStatus      = 0x00000001
+       STATUS_WAIT_2                                                             NTStatus      = 0x00000002
+       STATUS_WAIT_3                                                             NTStatus      = 0x00000003
+       STATUS_WAIT_63                                                            NTStatus      = 0x0000003F
+       STATUS_ABANDONED                                                          NTStatus      = 0x00000080
+       STATUS_ABANDONED_WAIT_0                                                   NTStatus      = 0x00000080
+       STATUS_ABANDONED_WAIT_63                                                  NTStatus      = 0x000000BF
+       STATUS_USER_APC                                                           NTStatus      = 0x000000C0
+       STATUS_ALREADY_COMPLETE                                                   NTStatus      = 0x000000FF
+       STATUS_KERNEL_APC                                                         NTStatus      = 0x00000100
+       STATUS_ALERTED                                                            NTStatus      = 0x00000101
+       STATUS_TIMEOUT                                                            NTStatus      = 0x00000102
+       STATUS_PENDING                                                            NTStatus      = 0x00000103
+       STATUS_REPARSE                                                            NTStatus      = 0x00000104
+       STATUS_MORE_ENTRIES                                                       NTStatus      = 0x00000105
+       STATUS_NOT_ALL_ASSIGNED                                                   NTStatus      = 0x00000106
+       STATUS_SOME_NOT_MAPPED                                                    NTStatus      = 0x00000107
+       STATUS_OPLOCK_BREAK_IN_PROGRESS                                           NTStatus      = 0x00000108
+       STATUS_VOLUME_MOUNTED                                                     NTStatus      = 0x00000109
+       STATUS_RXACT_COMMITTED                                                    NTStatus      = 0x0000010A
+       STATUS_NOTIFY_CLEANUP                                                     NTStatus      = 0x0000010B
+       STATUS_NOTIFY_ENUM_DIR                                                    NTStatus      = 0x0000010C
+       STATUS_NO_QUOTAS_FOR_ACCOUNT                                              NTStatus      = 0x0000010D
+       STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED                                   NTStatus      = 0x0000010E
+       STATUS_PAGE_FAULT_TRANSITION                                              NTStatus      = 0x00000110
+       STATUS_PAGE_FAULT_DEMAND_ZERO                                             NTStatus      = 0x00000111
+       STATUS_PAGE_FAULT_COPY_ON_WRITE                                           NTStatus      = 0x00000112
+       STATUS_PAGE_FAULT_GUARD_PAGE                                              NTStatus      = 0x00000113
+       STATUS_PAGE_FAULT_PAGING_FILE                                             NTStatus      = 0x00000114
+       STATUS_CACHE_PAGE_LOCKED                                                  NTStatus      = 0x00000115
+       STATUS_CRASH_DUMP                                                         NTStatus      = 0x00000116
+       STATUS_BUFFER_ALL_ZEROS                                                   NTStatus      = 0x00000117
+       STATUS_REPARSE_OBJECT                                                     NTStatus      = 0x00000118
+       STATUS_RESOURCE_REQUIREMENTS_CHANGED                                      NTStatus      = 0x00000119
+       STATUS_TRANSLATION_COMPLETE                                               NTStatus      = 0x00000120
+       STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY                                    NTStatus      = 0x00000121
+       STATUS_NOTHING_TO_TERMINATE                                               NTStatus      = 0x00000122
+       STATUS_PROCESS_NOT_IN_JOB                                                 NTStatus      = 0x00000123
+       STATUS_PROCESS_IN_JOB                                                     NTStatus      = 0x00000124
+       STATUS_VOLSNAP_HIBERNATE_READY                                            NTStatus      = 0x00000125
+       STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY                                 NTStatus      = 0x00000126
+       STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED                                 NTStatus      = 0x00000127
+       STATUS_INTERRUPT_STILL_CONNECTED                                          NTStatus      = 0x00000128
+       STATUS_PROCESS_CLONED                                                     NTStatus      = 0x00000129
+       STATUS_FILE_LOCKED_WITH_ONLY_READERS                                      NTStatus      = 0x0000012A
+       STATUS_FILE_LOCKED_WITH_WRITERS                                           NTStatus      = 0x0000012B
+       STATUS_VALID_IMAGE_HASH                                                   NTStatus      = 0x0000012C
+       STATUS_VALID_CATALOG_HASH                                                 NTStatus      = 0x0000012D
+       STATUS_VALID_STRONG_CODE_HASH                                             NTStatus      = 0x0000012E
+       STATUS_GHOSTED                                                            NTStatus      = 0x0000012F
+       STATUS_DATA_OVERWRITTEN                                                   NTStatus      = 0x00000130
+       STATUS_RESOURCEMANAGER_READ_ONLY                                          NTStatus      = 0x00000202
+       STATUS_RING_PREVIOUSLY_EMPTY                                              NTStatus      = 0x00000210
+       STATUS_RING_PREVIOUSLY_FULL                                               NTStatus      = 0x00000211
+       STATUS_RING_PREVIOUSLY_ABOVE_QUOTA                                        NTStatus      = 0x00000212
+       STATUS_RING_NEWLY_EMPTY                                                   NTStatus      = 0x00000213
+       STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT                                      NTStatus      = 0x00000214
+       STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE                                      NTStatus      = 0x00000215
+       STATUS_OPLOCK_HANDLE_CLOSED                                               NTStatus      = 0x00000216
+       STATUS_WAIT_FOR_OPLOCK                                                    NTStatus      = 0x00000367
+       STATUS_REPARSE_GLOBAL                                                     NTStatus      = 0x00000368
+       STATUS_FLT_IO_COMPLETE                                                    NTStatus      = 0x001C0001
+       STATUS_OBJECT_NAME_EXISTS                                                 NTStatus      = 0x40000000
+       STATUS_THREAD_WAS_SUSPENDED                                               NTStatus      = 0x40000001
+       STATUS_WORKING_SET_LIMIT_RANGE                                            NTStatus      = 0x40000002
+       STATUS_IMAGE_NOT_AT_BASE                                                  NTStatus      = 0x40000003
+       STATUS_RXACT_STATE_CREATED                                                NTStatus      = 0x40000004
+       STATUS_SEGMENT_NOTIFICATION                                               NTStatus      = 0x40000005
+       STATUS_LOCAL_USER_SESSION_KEY                                             NTStatus      = 0x40000006
+       STATUS_BAD_CURRENT_DIRECTORY                                              NTStatus      = 0x40000007
+       STATUS_SERIAL_MORE_WRITES                                                 NTStatus      = 0x40000008
+       STATUS_REGISTRY_RECOVERED                                                 NTStatus      = 0x40000009
+       STATUS_FT_READ_RECOVERY_FROM_BACKUP                                       NTStatus      = 0x4000000A
+       STATUS_FT_WRITE_RECOVERY                                                  NTStatus      = 0x4000000B
+       STATUS_SERIAL_COUNTER_TIMEOUT                                             NTStatus      = 0x4000000C
+       STATUS_NULL_LM_PASSWORD                                                   NTStatus      = 0x4000000D
+       STATUS_IMAGE_MACHINE_TYPE_MISMATCH                                        NTStatus      = 0x4000000E
+       STATUS_RECEIVE_PARTIAL                                                    NTStatus      = 0x4000000F
+       STATUS_RECEIVE_EXPEDITED                                                  NTStatus      = 0x40000010
+       STATUS_RECEIVE_PARTIAL_EXPEDITED                                          NTStatus      = 0x40000011
+       STATUS_EVENT_DONE                                                         NTStatus      = 0x40000012
+       STATUS_EVENT_PENDING                                                      NTStatus      = 0x40000013
+       STATUS_CHECKING_FILE_SYSTEM                                               NTStatus      = 0x40000014
+       STATUS_FATAL_APP_EXIT                                                     NTStatus      = 0x40000015
+       STATUS_PREDEFINED_HANDLE                                                  NTStatus      = 0x40000016
+       STATUS_WAS_UNLOCKED                                                       NTStatus      = 0x40000017
+       STATUS_SERVICE_NOTIFICATION                                               NTStatus      = 0x40000018
+       STATUS_WAS_LOCKED                                                         NTStatus      = 0x40000019
+       STATUS_LOG_HARD_ERROR                                                     NTStatus      = 0x4000001A
+       STATUS_ALREADY_WIN32                                                      NTStatus      = 0x4000001B
+       STATUS_WX86_UNSIMULATE                                                    NTStatus      = 0x4000001C
+       STATUS_WX86_CONTINUE                                                      NTStatus      = 0x4000001D
+       STATUS_WX86_SINGLE_STEP                                                   NTStatus      = 0x4000001E
+       STATUS_WX86_BREAKPOINT                                                    NTStatus      = 0x4000001F
+       STATUS_WX86_EXCEPTION_CONTINUE                                            NTStatus      = 0x40000020
+       STATUS_WX86_EXCEPTION_LASTCHANCE                                          NTStatus      = 0x40000021
+       STATUS_WX86_EXCEPTION_CHAIN                                               NTStatus      = 0x40000022
+       STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE                                    NTStatus      = 0x40000023
+       STATUS_NO_YIELD_PERFORMED                                                 NTStatus      = 0x40000024
+       STATUS_TIMER_RESUME_IGNORED                                               NTStatus      = 0x40000025
+       STATUS_ARBITRATION_UNHANDLED                                              NTStatus      = 0x40000026
+       STATUS_CARDBUS_NOT_SUPPORTED                                              NTStatus      = 0x40000027
+       STATUS_WX86_CREATEWX86TIB                                                 NTStatus      = 0x40000028
+       STATUS_MP_PROCESSOR_MISMATCH                                              NTStatus      = 0x40000029
+       STATUS_HIBERNATED                                                         NTStatus      = 0x4000002A
+       STATUS_RESUME_HIBERNATION                                                 NTStatus      = 0x4000002B
+       STATUS_FIRMWARE_UPDATED                                                   NTStatus      = 0x4000002C
+       STATUS_DRIVERS_LEAKING_LOCKED_PAGES                                       NTStatus      = 0x4000002D
+       STATUS_MESSAGE_RETRIEVED                                                  NTStatus      = 0x4000002E
+       STATUS_SYSTEM_POWERSTATE_TRANSITION                                       NTStatus      = 0x4000002F
+       STATUS_ALPC_CHECK_COMPLETION_LIST                                         NTStatus      = 0x40000030
+       STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION                               NTStatus      = 0x40000031
+       STATUS_ACCESS_AUDIT_BY_POLICY                                             NTStatus      = 0x40000032
+       STATUS_ABANDON_HIBERFILE                                                  NTStatus      = 0x40000033
+       STATUS_BIZRULES_NOT_ENABLED                                               NTStatus      = 0x40000034
+       STATUS_FT_READ_FROM_COPY                                                  NTStatus      = 0x40000035
+       STATUS_IMAGE_AT_DIFFERENT_BASE                                            NTStatus      = 0x40000036
+       STATUS_PATCH_DEFERRED                                                     NTStatus      = 0x40000037
+       STATUS_HEURISTIC_DAMAGE_POSSIBLE                                          NTStatus      = 0x40190001
+       STATUS_GUARD_PAGE_VIOLATION                                               NTStatus      = 0x80000001
+       STATUS_DATATYPE_MISALIGNMENT                                              NTStatus      = 0x80000002
+       STATUS_BREAKPOINT                                                         NTStatus      = 0x80000003
+       STATUS_SINGLE_STEP                                                        NTStatus      = 0x80000004
+       STATUS_BUFFER_OVERFLOW                                                    NTStatus      = 0x80000005
+       STATUS_NO_MORE_FILES                                                      NTStatus      = 0x80000006
+       STATUS_WAKE_SYSTEM_DEBUGGER                                               NTStatus      = 0x80000007
+       STATUS_HANDLES_CLOSED                                                     NTStatus      = 0x8000000A
+       STATUS_NO_INHERITANCE                                                     NTStatus      = 0x8000000B
+       STATUS_GUID_SUBSTITUTION_MADE                                             NTStatus      = 0x8000000C
+       STATUS_PARTIAL_COPY                                                       NTStatus      = 0x8000000D
+       STATUS_DEVICE_PAPER_EMPTY                                                 NTStatus      = 0x8000000E
+       STATUS_DEVICE_POWERED_OFF                                                 NTStatus      = 0x8000000F
+       STATUS_DEVICE_OFF_LINE                                                    NTStatus      = 0x80000010
+       STATUS_DEVICE_BUSY                                                        NTStatus      = 0x80000011
+       STATUS_NO_MORE_EAS                                                        NTStatus      = 0x80000012
+       STATUS_INVALID_EA_NAME                                                    NTStatus      = 0x80000013
+       STATUS_EA_LIST_INCONSISTENT                                               NTStatus      = 0x80000014
+       STATUS_INVALID_EA_FLAG                                                    NTStatus      = 0x80000015
+       STATUS_VERIFY_REQUIRED                                                    NTStatus      = 0x80000016
+       STATUS_EXTRANEOUS_INFORMATION                                             NTStatus      = 0x80000017
+       STATUS_RXACT_COMMIT_NECESSARY                                             NTStatus      = 0x80000018
+       STATUS_NO_MORE_ENTRIES                                                    NTStatus      = 0x8000001A
+       STATUS_FILEMARK_DETECTED                                                  NTStatus      = 0x8000001B
+       STATUS_MEDIA_CHANGED                                                      NTStatus      = 0x8000001C
+       STATUS_BUS_RESET                                                          NTStatus      = 0x8000001D
+       STATUS_END_OF_MEDIA                                                       NTStatus      = 0x8000001E
+       STATUS_BEGINNING_OF_MEDIA                                                 NTStatus      = 0x8000001F
+       STATUS_MEDIA_CHECK                                                        NTStatus      = 0x80000020
+       STATUS_SETMARK_DETECTED                                                   NTStatus      = 0x80000021
+       STATUS_NO_DATA_DETECTED                                                   NTStatus      = 0x80000022
+       STATUS_REDIRECTOR_HAS_OPEN_HANDLES                                        NTStatus      = 0x80000023
+       STATUS_SERVER_HAS_OPEN_HANDLES                                            NTStatus      = 0x80000024
+       STATUS_ALREADY_DISCONNECTED                                               NTStatus      = 0x80000025
+       STATUS_LONGJUMP                                                           NTStatus      = 0x80000026
+       STATUS_CLEANER_CARTRIDGE_INSTALLED                                        NTStatus      = 0x80000027
+       STATUS_PLUGPLAY_QUERY_VETOED                                              NTStatus      = 0x80000028
+       STATUS_UNWIND_CONSOLIDATE                                                 NTStatus      = 0x80000029
+       STATUS_REGISTRY_HIVE_RECOVERED                                            NTStatus      = 0x8000002A
+       STATUS_DLL_MIGHT_BE_INSECURE                                              NTStatus      = 0x8000002B
+       STATUS_DLL_MIGHT_BE_INCOMPATIBLE                                          NTStatus      = 0x8000002C
+       STATUS_STOPPED_ON_SYMLINK                                                 NTStatus      = 0x8000002D
+       STATUS_CANNOT_GRANT_REQUESTED_OPLOCK                                      NTStatus      = 0x8000002E
+       STATUS_NO_ACE_CONDITION                                                   NTStatus      = 0x8000002F
+       STATUS_DEVICE_SUPPORT_IN_PROGRESS                                         NTStatus      = 0x80000030
+       STATUS_DEVICE_POWER_CYCLE_REQUIRED                                        NTStatus      = 0x80000031
+       STATUS_NO_WORK_DONE                                                       NTStatus      = 0x80000032
+       STATUS_CLUSTER_NODE_ALREADY_UP                                            NTStatus      = 0x80130001
+       STATUS_CLUSTER_NODE_ALREADY_DOWN                                          NTStatus      = 0x80130002
+       STATUS_CLUSTER_NETWORK_ALREADY_ONLINE                                     NTStatus      = 0x80130003
+       STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE                                    NTStatus      = 0x80130004
+       STATUS_CLUSTER_NODE_ALREADY_MEMBER                                        NTStatus      = 0x80130005
+       STATUS_FLT_BUFFER_TOO_SMALL                                               NTStatus      = 0x801C0001
+       STATUS_FVE_PARTIAL_METADATA                                               NTStatus      = 0x80210001
+       STATUS_FVE_TRANSIENT_STATE                                                NTStatus      = 0x80210002
+       STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH                         NTStatus      = 0x8000CF00
+       STATUS_UNSUCCESSFUL                                                       NTStatus      = 0xC0000001
+       STATUS_NOT_IMPLEMENTED                                                    NTStatus      = 0xC0000002
+       STATUS_INVALID_INFO_CLASS                                                 NTStatus      = 0xC0000003
+       STATUS_INFO_LENGTH_MISMATCH                                               NTStatus      = 0xC0000004
+       STATUS_ACCESS_VIOLATION                                                   NTStatus      = 0xC0000005
+       STATUS_IN_PAGE_ERROR                                                      NTStatus      = 0xC0000006
+       STATUS_PAGEFILE_QUOTA                                                     NTStatus      = 0xC0000007
+       STATUS_INVALID_HANDLE                                                     NTStatus      = 0xC0000008
+       STATUS_BAD_INITIAL_STACK                                                  NTStatus      = 0xC0000009
+       STATUS_BAD_INITIAL_PC                                                     NTStatus      = 0xC000000A
+       STATUS_INVALID_CID                                                        NTStatus      = 0xC000000B
+       STATUS_TIMER_NOT_CANCELED                                                 NTStatus      = 0xC000000C
+       STATUS_INVALID_PARAMETER                                                  NTStatus      = 0xC000000D
+       STATUS_NO_SUCH_DEVICE                                                     NTStatus      = 0xC000000E
+       STATUS_NO_SUCH_FILE                                                       NTStatus      = 0xC000000F
+       STATUS_INVALID_DEVICE_REQUEST                                             NTStatus      = 0xC0000010
+       STATUS_END_OF_FILE                                                        NTStatus      = 0xC0000011
+       STATUS_WRONG_VOLUME                                                       NTStatus      = 0xC0000012
+       STATUS_NO_MEDIA_IN_DEVICE                                                 NTStatus      = 0xC0000013
+       STATUS_UNRECOGNIZED_MEDIA                                                 NTStatus      = 0xC0000014
+       STATUS_NONEXISTENT_SECTOR                                                 NTStatus      = 0xC0000015
+       STATUS_MORE_PROCESSING_REQUIRED                                           NTStatus      = 0xC0000016
+       STATUS_NO_MEMORY                                                          NTStatus      = 0xC0000017
+       STATUS_CONFLICTING_ADDRESSES                                              NTStatus      = 0xC0000018
+       STATUS_NOT_MAPPED_VIEW                                                    NTStatus      = 0xC0000019
+       STATUS_UNABLE_TO_FREE_VM                                                  NTStatus      = 0xC000001A
+       STATUS_UNABLE_TO_DELETE_SECTION                                           NTStatus      = 0xC000001B
+       STATUS_INVALID_SYSTEM_SERVICE                                             NTStatus      = 0xC000001C
+       STATUS_ILLEGAL_INSTRUCTION                                                NTStatus      = 0xC000001D
+       STATUS_INVALID_LOCK_SEQUENCE                                              NTStatus      = 0xC000001E
+       STATUS_INVALID_VIEW_SIZE                                                  NTStatus      = 0xC000001F
+       STATUS_INVALID_FILE_FOR_SECTION                                           NTStatus      = 0xC0000020
+       STATUS_ALREADY_COMMITTED                                                  NTStatus      = 0xC0000021
+       STATUS_ACCESS_DENIED                                                      NTStatus      = 0xC0000022
+       STATUS_BUFFER_TOO_SMALL                                                   NTStatus      = 0xC0000023
+       STATUS_OBJECT_TYPE_MISMATCH                                               NTStatus      = 0xC0000024
+       STATUS_NONCONTINUABLE_EXCEPTION                                           NTStatus      = 0xC0000025
+       STATUS_INVALID_DISPOSITION                                                NTStatus      = 0xC0000026
+       STATUS_UNWIND                                                             NTStatus      = 0xC0000027
+       STATUS_BAD_STACK                                                          NTStatus      = 0xC0000028
+       STATUS_INVALID_UNWIND_TARGET                                              NTStatus      = 0xC0000029
+       STATUS_NOT_LOCKED                                                         NTStatus      = 0xC000002A
+       STATUS_PARITY_ERROR                                                       NTStatus      = 0xC000002B
+       STATUS_UNABLE_TO_DECOMMIT_VM                                              NTStatus      = 0xC000002C
+       STATUS_NOT_COMMITTED                                                      NTStatus      = 0xC000002D
+       STATUS_INVALID_PORT_ATTRIBUTES                                            NTStatus      = 0xC000002E
+       STATUS_PORT_MESSAGE_TOO_LONG                                              NTStatus      = 0xC000002F
+       STATUS_INVALID_PARAMETER_MIX                                              NTStatus      = 0xC0000030
+       STATUS_INVALID_QUOTA_LOWER                                                NTStatus      = 0xC0000031
+       STATUS_DISK_CORRUPT_ERROR                                                 NTStatus      = 0xC0000032
+       STATUS_OBJECT_NAME_INVALID                                                NTStatus      = 0xC0000033
+       STATUS_OBJECT_NAME_NOT_FOUND                                              NTStatus      = 0xC0000034
+       STATUS_OBJECT_NAME_COLLISION                                              NTStatus      = 0xC0000035
+       STATUS_PORT_DO_NOT_DISTURB                                                NTStatus      = 0xC0000036
+       STATUS_PORT_DISCONNECTED                                                  NTStatus      = 0xC0000037
+       STATUS_DEVICE_ALREADY_ATTACHED                                            NTStatus      = 0xC0000038
+       STATUS_OBJECT_PATH_INVALID                                                NTStatus      = 0xC0000039
+       STATUS_OBJECT_PATH_NOT_FOUND                                              NTStatus      = 0xC000003A
+       STATUS_OBJECT_PATH_SYNTAX_BAD                                             NTStatus      = 0xC000003B
+       STATUS_DATA_OVERRUN                                                       NTStatus      = 0xC000003C
+       STATUS_DATA_LATE_ERROR                                                    NTStatus      = 0xC000003D
+       STATUS_DATA_ERROR                                                         NTStatus      = 0xC000003E
+       STATUS_CRC_ERROR                                                          NTStatus      = 0xC000003F
+       STATUS_SECTION_TOO_BIG                                                    NTStatus      = 0xC0000040
+       STATUS_PORT_CONNECTION_REFUSED                                            NTStatus      = 0xC0000041
+       STATUS_INVALID_PORT_HANDLE                                                NTStatus      = 0xC0000042
+       STATUS_SHARING_VIOLATION                                                  NTStatus      = 0xC0000043
+       STATUS_QUOTA_EXCEEDED                                                     NTStatus      = 0xC0000044
+       STATUS_INVALID_PAGE_PROTECTION                                            NTStatus      = 0xC0000045
+       STATUS_MUTANT_NOT_OWNED                                                   NTStatus      = 0xC0000046
+       STATUS_SEMAPHORE_LIMIT_EXCEEDED                                           NTStatus      = 0xC0000047
+       STATUS_PORT_ALREADY_SET                                                   NTStatus      = 0xC0000048
+       STATUS_SECTION_NOT_IMAGE                                                  NTStatus      = 0xC0000049
+       STATUS_SUSPEND_COUNT_EXCEEDED                                             NTStatus      = 0xC000004A
+       STATUS_THREAD_IS_TERMINATING                                              NTStatus      = 0xC000004B
+       STATUS_BAD_WORKING_SET_LIMIT                                              NTStatus      = 0xC000004C
+       STATUS_INCOMPATIBLE_FILE_MAP                                              NTStatus      = 0xC000004D
+       STATUS_SECTION_PROTECTION                                                 NTStatus      = 0xC000004E
+       STATUS_EAS_NOT_SUPPORTED                                                  NTStatus      = 0xC000004F
+       STATUS_EA_TOO_LARGE                                                       NTStatus      = 0xC0000050
+       STATUS_NONEXISTENT_EA_ENTRY                                               NTStatus      = 0xC0000051
+       STATUS_NO_EAS_ON_FILE                                                     NTStatus      = 0xC0000052
+       STATUS_EA_CORRUPT_ERROR                                                   NTStatus      = 0xC0000053
+       STATUS_FILE_LOCK_CONFLICT                                                 NTStatus      = 0xC0000054
+       STATUS_LOCK_NOT_GRANTED                                                   NTStatus      = 0xC0000055
+       STATUS_DELETE_PENDING                                                     NTStatus      = 0xC0000056
+       STATUS_CTL_FILE_NOT_SUPPORTED                                             NTStatus      = 0xC0000057
+       STATUS_UNKNOWN_REVISION                                                   NTStatus      = 0xC0000058
+       STATUS_REVISION_MISMATCH                                                  NTStatus      = 0xC0000059
+       STATUS_INVALID_OWNER                                                      NTStatus      = 0xC000005A
+       STATUS_INVALID_PRIMARY_GROUP                                              NTStatus      = 0xC000005B
+       STATUS_NO_IMPERSONATION_TOKEN                                             NTStatus      = 0xC000005C
+       STATUS_CANT_DISABLE_MANDATORY                                             NTStatus      = 0xC000005D
+       STATUS_NO_LOGON_SERVERS                                                   NTStatus      = 0xC000005E
+       STATUS_NO_SUCH_LOGON_SESSION                                              NTStatus      = 0xC000005F
+       STATUS_NO_SUCH_PRIVILEGE                                                  NTStatus      = 0xC0000060
+       STATUS_PRIVILEGE_NOT_HELD                                                 NTStatus      = 0xC0000061
+       STATUS_INVALID_ACCOUNT_NAME                                               NTStatus      = 0xC0000062
+       STATUS_USER_EXISTS                                                        NTStatus      = 0xC0000063
+       STATUS_NO_SUCH_USER                                                       NTStatus      = 0xC0000064
+       STATUS_GROUP_EXISTS                                                       NTStatus      = 0xC0000065
+       STATUS_NO_SUCH_GROUP                                                      NTStatus      = 0xC0000066
+       STATUS_MEMBER_IN_GROUP                                                    NTStatus      = 0xC0000067
+       STATUS_MEMBER_NOT_IN_GROUP                                                NTStatus      = 0xC0000068
+       STATUS_LAST_ADMIN                                                         NTStatus      = 0xC0000069
+       STATUS_WRONG_PASSWORD                                                     NTStatus      = 0xC000006A
+       STATUS_ILL_FORMED_PASSWORD                                                NTStatus      = 0xC000006B
+       STATUS_PASSWORD_RESTRICTION                                               NTStatus      = 0xC000006C
+       STATUS_LOGON_FAILURE                                                      NTStatus      = 0xC000006D
+       STATUS_ACCOUNT_RESTRICTION                                                NTStatus      = 0xC000006E
+       STATUS_INVALID_LOGON_HOURS                                                NTStatus      = 0xC000006F
+       STATUS_INVALID_WORKSTATION                                                NTStatus      = 0xC0000070
+       STATUS_PASSWORD_EXPIRED                                                   NTStatus      = 0xC0000071
+       STATUS_ACCOUNT_DISABLED                                                   NTStatus      = 0xC0000072
+       STATUS_NONE_MAPPED                                                        NTStatus      = 0xC0000073
+       STATUS_TOO_MANY_LUIDS_REQUESTED                                           NTStatus      = 0xC0000074
+       STATUS_LUIDS_EXHAUSTED                                                    NTStatus      = 0xC0000075
+       STATUS_INVALID_SUB_AUTHORITY                                              NTStatus      = 0xC0000076
+       STATUS_INVALID_ACL                                                        NTStatus      = 0xC0000077
+       STATUS_INVALID_SID                                                        NTStatus      = 0xC0000078
+       STATUS_INVALID_SECURITY_DESCR                                             NTStatus      = 0xC0000079
+       STATUS_PROCEDURE_NOT_FOUND                                                NTStatus      = 0xC000007A
+       STATUS_INVALID_IMAGE_FORMAT                                               NTStatus      = 0xC000007B
+       STATUS_NO_TOKEN                                                           NTStatus      = 0xC000007C
+       STATUS_BAD_INHERITANCE_ACL                                                NTStatus      = 0xC000007D
+       STATUS_RANGE_NOT_LOCKED                                                   NTStatus      = 0xC000007E
+       STATUS_DISK_FULL                                                          NTStatus      = 0xC000007F
+       STATUS_SERVER_DISABLED                                                    NTStatus      = 0xC0000080
+       STATUS_SERVER_NOT_DISABLED                                                NTStatus      = 0xC0000081
+       STATUS_TOO_MANY_GUIDS_REQUESTED                                           NTStatus      = 0xC0000082
+       STATUS_GUIDS_EXHAUSTED                                                    NTStatus      = 0xC0000083
+       STATUS_INVALID_ID_AUTHORITY                                               NTStatus      = 0xC0000084
+       STATUS_AGENTS_EXHAUSTED                                                   NTStatus      = 0xC0000085
+       STATUS_INVALID_VOLUME_LABEL                                               NTStatus      = 0xC0000086
+       STATUS_SECTION_NOT_EXTENDED                                               NTStatus      = 0xC0000087
+       STATUS_NOT_MAPPED_DATA                                                    NTStatus      = 0xC0000088
+       STATUS_RESOURCE_DATA_NOT_FOUND                                            NTStatus      = 0xC0000089
+       STATUS_RESOURCE_TYPE_NOT_FOUND                                            NTStatus      = 0xC000008A
+       STATUS_RESOURCE_NAME_NOT_FOUND                                            NTStatus      = 0xC000008B
+       STATUS_ARRAY_BOUNDS_EXCEEDED                                              NTStatus      = 0xC000008C
+       STATUS_FLOAT_DENORMAL_OPERAND                                             NTStatus      = 0xC000008D
+       STATUS_FLOAT_DIVIDE_BY_ZERO                                               NTStatus      = 0xC000008E
+       STATUS_FLOAT_INEXACT_RESULT                                               NTStatus      = 0xC000008F
+       STATUS_FLOAT_INVALID_OPERATION                                            NTStatus      = 0xC0000090
+       STATUS_FLOAT_OVERFLOW                                                     NTStatus      = 0xC0000091
+       STATUS_FLOAT_STACK_CHECK                                                  NTStatus      = 0xC0000092
+       STATUS_FLOAT_UNDERFLOW                                                    NTStatus      = 0xC0000093
+       STATUS_INTEGER_DIVIDE_BY_ZERO                                             NTStatus      = 0xC0000094
+       STATUS_INTEGER_OVERFLOW                                                   NTStatus      = 0xC0000095
+       STATUS_PRIVILEGED_INSTRUCTION                                             NTStatus      = 0xC0000096
+       STATUS_TOO_MANY_PAGING_FILES                                              NTStatus      = 0xC0000097
+       STATUS_FILE_INVALID                                                       NTStatus      = 0xC0000098
+       STATUS_ALLOTTED_SPACE_EXCEEDED                                            NTStatus      = 0xC0000099
+       STATUS_INSUFFICIENT_RESOURCES                                             NTStatus      = 0xC000009A
+       STATUS_DFS_EXIT_PATH_FOUND                                                NTStatus      = 0xC000009B
+       STATUS_DEVICE_DATA_ERROR                                                  NTStatus      = 0xC000009C
+       STATUS_DEVICE_NOT_CONNECTED                                               NTStatus      = 0xC000009D
+       STATUS_DEVICE_POWER_FAILURE                                               NTStatus      = 0xC000009E
+       STATUS_FREE_VM_NOT_AT_BASE                                                NTStatus      = 0xC000009F
+       STATUS_MEMORY_NOT_ALLOCATED                                               NTStatus      = 0xC00000A0
+       STATUS_WORKING_SET_QUOTA                                                  NTStatus      = 0xC00000A1
+       STATUS_MEDIA_WRITE_PROTECTED                                              NTStatus      = 0xC00000A2
+       STATUS_DEVICE_NOT_READY                                                   NTStatus      = 0xC00000A3
+       STATUS_INVALID_GROUP_ATTRIBUTES                                           NTStatus      = 0xC00000A4
+       STATUS_BAD_IMPERSONATION_LEVEL                                            NTStatus      = 0xC00000A5
+       STATUS_CANT_OPEN_ANONYMOUS                                                NTStatus      = 0xC00000A6
+       STATUS_BAD_VALIDATION_CLASS                                               NTStatus      = 0xC00000A7
+       STATUS_BAD_TOKEN_TYPE                                                     NTStatus      = 0xC00000A8
+       STATUS_BAD_MASTER_BOOT_RECORD                                             NTStatus      = 0xC00000A9
+       STATUS_INSTRUCTION_MISALIGNMENT                                           NTStatus      = 0xC00000AA
+       STATUS_INSTANCE_NOT_AVAILABLE                                             NTStatus      = 0xC00000AB
+       STATUS_PIPE_NOT_AVAILABLE                                                 NTStatus      = 0xC00000AC
+       STATUS_INVALID_PIPE_STATE                                                 NTStatus      = 0xC00000AD
+       STATUS_PIPE_BUSY                                                          NTStatus      = 0xC00000AE
+       STATUS_ILLEGAL_FUNCTION                                                   NTStatus      = 0xC00000AF
+       STATUS_PIPE_DISCONNECTED                                                  NTStatus      = 0xC00000B0
+       STATUS_PIPE_CLOSING                                                       NTStatus      = 0xC00000B1
+       STATUS_PIPE_CONNECTED                                                     NTStatus      = 0xC00000B2
+       STATUS_PIPE_LISTENING                                                     NTStatus      = 0xC00000B3
+       STATUS_INVALID_READ_MODE                                                  NTStatus      = 0xC00000B4
+       STATUS_IO_TIMEOUT                                                         NTStatus      = 0xC00000B5
+       STATUS_FILE_FORCED_CLOSED                                                 NTStatus      = 0xC00000B6
+       STATUS_PROFILING_NOT_STARTED                                              NTStatus      = 0xC00000B7
+       STATUS_PROFILING_NOT_STOPPED                                              NTStatus      = 0xC00000B8
+       STATUS_COULD_NOT_INTERPRET                                                NTStatus      = 0xC00000B9
+       STATUS_FILE_IS_A_DIRECTORY                                                NTStatus      = 0xC00000BA
+       STATUS_NOT_SUPPORTED                                                      NTStatus      = 0xC00000BB
+       STATUS_REMOTE_NOT_LISTENING                                               NTStatus      = 0xC00000BC
+       STATUS_DUPLICATE_NAME                                                     NTStatus      = 0xC00000BD
+       STATUS_BAD_NETWORK_PATH                                                   NTStatus      = 0xC00000BE
+       STATUS_NETWORK_BUSY                                                       NTStatus      = 0xC00000BF
+       STATUS_DEVICE_DOES_NOT_EXIST                                              NTStatus      = 0xC00000C0
+       STATUS_TOO_MANY_COMMANDS                                                  NTStatus      = 0xC00000C1
+       STATUS_ADAPTER_HARDWARE_ERROR                                             NTStatus      = 0xC00000C2
+       STATUS_INVALID_NETWORK_RESPONSE                                           NTStatus      = 0xC00000C3
+       STATUS_UNEXPECTED_NETWORK_ERROR                                           NTStatus      = 0xC00000C4
+       STATUS_BAD_REMOTE_ADAPTER                                                 NTStatus      = 0xC00000C5
+       STATUS_PRINT_QUEUE_FULL                                                   NTStatus      = 0xC00000C6
+       STATUS_NO_SPOOL_SPACE                                                     NTStatus      = 0xC00000C7
+       STATUS_PRINT_CANCELLED                                                    NTStatus      = 0xC00000C8
+       STATUS_NETWORK_NAME_DELETED                                               NTStatus      = 0xC00000C9
+       STATUS_NETWORK_ACCESS_DENIED                                              NTStatus      = 0xC00000CA
+       STATUS_BAD_DEVICE_TYPE                                                    NTStatus      = 0xC00000CB
+       STATUS_BAD_NETWORK_NAME                                                   NTStatus      = 0xC00000CC
+       STATUS_TOO_MANY_NAMES                                                     NTStatus      = 0xC00000CD
+       STATUS_TOO_MANY_SESSIONS                                                  NTStatus      = 0xC00000CE
+       STATUS_SHARING_PAUSED                                                     NTStatus      = 0xC00000CF
+       STATUS_REQUEST_NOT_ACCEPTED                                               NTStatus      = 0xC00000D0
+       STATUS_REDIRECTOR_PAUSED                                                  NTStatus      = 0xC00000D1
+       STATUS_NET_WRITE_FAULT                                                    NTStatus      = 0xC00000D2
+       STATUS_PROFILING_AT_LIMIT                                                 NTStatus      = 0xC00000D3
+       STATUS_NOT_SAME_DEVICE                                                    NTStatus      = 0xC00000D4
+       STATUS_FILE_RENAMED                                                       NTStatus      = 0xC00000D5
+       STATUS_VIRTUAL_CIRCUIT_CLOSED                                             NTStatus      = 0xC00000D6
+       STATUS_NO_SECURITY_ON_OBJECT                                              NTStatus      = 0xC00000D7
+       STATUS_CANT_WAIT                                                          NTStatus      = 0xC00000D8
+       STATUS_PIPE_EMPTY                                                         NTStatus      = 0xC00000D9
+       STATUS_CANT_ACCESS_DOMAIN_INFO                                            NTStatus      = 0xC00000DA
+       STATUS_CANT_TERMINATE_SELF                                                NTStatus      = 0xC00000DB
+       STATUS_INVALID_SERVER_STATE                                               NTStatus      = 0xC00000DC
+       STATUS_INVALID_DOMAIN_STATE                                               NTStatus      = 0xC00000DD
+       STATUS_INVALID_DOMAIN_ROLE                                                NTStatus      = 0xC00000DE
+       STATUS_NO_SUCH_DOMAIN                                                     NTStatus      = 0xC00000DF
+       STATUS_DOMAIN_EXISTS                                                      NTStatus      = 0xC00000E0
+       STATUS_DOMAIN_LIMIT_EXCEEDED                                              NTStatus      = 0xC00000E1
+       STATUS_OPLOCK_NOT_GRANTED                                                 NTStatus      = 0xC00000E2
+       STATUS_INVALID_OPLOCK_PROTOCOL                                            NTStatus      = 0xC00000E3
+       STATUS_INTERNAL_DB_CORRUPTION                                             NTStatus      = 0xC00000E4
+       STATUS_INTERNAL_ERROR                                                     NTStatus      = 0xC00000E5
+       STATUS_GENERIC_NOT_MAPPED                                                 NTStatus      = 0xC00000E6
+       STATUS_BAD_DESCRIPTOR_FORMAT                                              NTStatus      = 0xC00000E7
+       STATUS_INVALID_USER_BUFFER                                                NTStatus      = 0xC00000E8
+       STATUS_UNEXPECTED_IO_ERROR                                                NTStatus      = 0xC00000E9
+       STATUS_UNEXPECTED_MM_CREATE_ERR                                           NTStatus      = 0xC00000EA
+       STATUS_UNEXPECTED_MM_MAP_ERROR                                            NTStatus      = 0xC00000EB
+       STATUS_UNEXPECTED_MM_EXTEND_ERR                                           NTStatus      = 0xC00000EC
+       STATUS_NOT_LOGON_PROCESS                                                  NTStatus      = 0xC00000ED
+       STATUS_LOGON_SESSION_EXISTS                                               NTStatus      = 0xC00000EE
+       STATUS_INVALID_PARAMETER_1                                                NTStatus      = 0xC00000EF
+       STATUS_INVALID_PARAMETER_2                                                NTStatus      = 0xC00000F0
+       STATUS_INVALID_PARAMETER_3                                                NTStatus      = 0xC00000F1
+       STATUS_INVALID_PARAMETER_4                                                NTStatus      = 0xC00000F2
+       STATUS_INVALID_PARAMETER_5                                                NTStatus      = 0xC00000F3
+       STATUS_INVALID_PARAMETER_6                                                NTStatus      = 0xC00000F4
+       STATUS_INVALID_PARAMETER_7                                                NTStatus      = 0xC00000F5
+       STATUS_INVALID_PARAMETER_8                                                NTStatus      = 0xC00000F6
+       STATUS_INVALID_PARAMETER_9                                                NTStatus      = 0xC00000F7
+       STATUS_INVALID_PARAMETER_10                                               NTStatus      = 0xC00000F8
+       STATUS_INVALID_PARAMETER_11                                               NTStatus      = 0xC00000F9
+       STATUS_INVALID_PARAMETER_12                                               NTStatus      = 0xC00000FA
+       STATUS_REDIRECTOR_NOT_STARTED                                             NTStatus      = 0xC00000FB
+       STATUS_REDIRECTOR_STARTED                                                 NTStatus      = 0xC00000FC
+       STATUS_STACK_OVERFLOW                                                     NTStatus      = 0xC00000FD
+       STATUS_NO_SUCH_PACKAGE                                                    NTStatus      = 0xC00000FE
+       STATUS_BAD_FUNCTION_TABLE                                                 NTStatus      = 0xC00000FF
+       STATUS_VARIABLE_NOT_FOUND                                                 NTStatus      = 0xC0000100
+       STATUS_DIRECTORY_NOT_EMPTY                                                NTStatus      = 0xC0000101
+       STATUS_FILE_CORRUPT_ERROR                                                 NTStatus      = 0xC0000102
+       STATUS_NOT_A_DIRECTORY                                                    NTStatus      = 0xC0000103
+       STATUS_BAD_LOGON_SESSION_STATE                                            NTStatus      = 0xC0000104
+       STATUS_LOGON_SESSION_COLLISION                                            NTStatus      = 0xC0000105
+       STATUS_NAME_TOO_LONG                                                      NTStatus      = 0xC0000106
+       STATUS_FILES_OPEN                                                         NTStatus      = 0xC0000107
+       STATUS_CONNECTION_IN_USE                                                  NTStatus      = 0xC0000108
+       STATUS_MESSAGE_NOT_FOUND                                                  NTStatus      = 0xC0000109
+       STATUS_PROCESS_IS_TERMINATING                                             NTStatus      = 0xC000010A
+       STATUS_INVALID_LOGON_TYPE                                                 NTStatus      = 0xC000010B
+       STATUS_NO_GUID_TRANSLATION                                                NTStatus      = 0xC000010C
+       STATUS_CANNOT_IMPERSONATE                                                 NTStatus      = 0xC000010D
+       STATUS_IMAGE_ALREADY_LOADED                                               NTStatus      = 0xC000010E
+       STATUS_ABIOS_NOT_PRESENT                                                  NTStatus      = 0xC000010F
+       STATUS_ABIOS_LID_NOT_EXIST                                                NTStatus      = 0xC0000110
+       STATUS_ABIOS_LID_ALREADY_OWNED                                            NTStatus      = 0xC0000111
+       STATUS_ABIOS_NOT_LID_OWNER                                                NTStatus      = 0xC0000112
+       STATUS_ABIOS_INVALID_COMMAND                                              NTStatus      = 0xC0000113
+       STATUS_ABIOS_INVALID_LID                                                  NTStatus      = 0xC0000114
+       STATUS_ABIOS_SELECTOR_NOT_AVAILABLE                                       NTStatus      = 0xC0000115
+       STATUS_ABIOS_INVALID_SELECTOR                                             NTStatus      = 0xC0000116
+       STATUS_NO_LDT                                                             NTStatus      = 0xC0000117
+       STATUS_INVALID_LDT_SIZE                                                   NTStatus      = 0xC0000118
+       STATUS_INVALID_LDT_OFFSET                                                 NTStatus      = 0xC0000119
+       STATUS_INVALID_LDT_DESCRIPTOR                                             NTStatus      = 0xC000011A
+       STATUS_INVALID_IMAGE_NE_FORMAT                                            NTStatus      = 0xC000011B
+       STATUS_RXACT_INVALID_STATE                                                NTStatus      = 0xC000011C
+       STATUS_RXACT_COMMIT_FAILURE                                               NTStatus      = 0xC000011D
+       STATUS_MAPPED_FILE_SIZE_ZERO                                              NTStatus      = 0xC000011E
+       STATUS_TOO_MANY_OPENED_FILES                                              NTStatus      = 0xC000011F
+       STATUS_CANCELLED                                                          NTStatus      = 0xC0000120
+       STATUS_CANNOT_DELETE                                                      NTStatus      = 0xC0000121
+       STATUS_INVALID_COMPUTER_NAME                                              NTStatus      = 0xC0000122
+       STATUS_FILE_DELETED                                                       NTStatus      = 0xC0000123
+       STATUS_SPECIAL_ACCOUNT                                                    NTStatus      = 0xC0000124
+       STATUS_SPECIAL_GROUP                                                      NTStatus      = 0xC0000125
+       STATUS_SPECIAL_USER                                                       NTStatus      = 0xC0000126
+       STATUS_MEMBERS_PRIMARY_GROUP                                              NTStatus      = 0xC0000127
+       STATUS_FILE_CLOSED                                                        NTStatus      = 0xC0000128
+       STATUS_TOO_MANY_THREADS                                                   NTStatus      = 0xC0000129
+       STATUS_THREAD_NOT_IN_PROCESS                                              NTStatus      = 0xC000012A
+       STATUS_TOKEN_ALREADY_IN_USE                                               NTStatus      = 0xC000012B
+       STATUS_PAGEFILE_QUOTA_EXCEEDED                                            NTStatus      = 0xC000012C
+       STATUS_COMMITMENT_LIMIT                                                   NTStatus      = 0xC000012D
+       STATUS_INVALID_IMAGE_LE_FORMAT                                            NTStatus      = 0xC000012E
+       STATUS_INVALID_IMAGE_NOT_MZ                                               NTStatus      = 0xC000012F
+       STATUS_INVALID_IMAGE_PROTECT                                              NTStatus      = 0xC0000130
+       STATUS_INVALID_IMAGE_WIN_16                                               NTStatus      = 0xC0000131
+       STATUS_LOGON_SERVER_CONFLICT                                              NTStatus      = 0xC0000132
+       STATUS_TIME_DIFFERENCE_AT_DC                                              NTStatus      = 0xC0000133
+       STATUS_SYNCHRONIZATION_REQUIRED                                           NTStatus      = 0xC0000134
+       STATUS_DLL_NOT_FOUND                                                      NTStatus      = 0xC0000135
+       STATUS_OPEN_FAILED                                                        NTStatus      = 0xC0000136
+       STATUS_IO_PRIVILEGE_FAILED                                                NTStatus      = 0xC0000137
+       STATUS_ORDINAL_NOT_FOUND                                                  NTStatus      = 0xC0000138
+       STATUS_ENTRYPOINT_NOT_FOUND                                               NTStatus      = 0xC0000139
+       STATUS_CONTROL_C_EXIT                                                     NTStatus      = 0xC000013A
+       STATUS_LOCAL_DISCONNECT                                                   NTStatus      = 0xC000013B
+       STATUS_REMOTE_DISCONNECT                                                  NTStatus      = 0xC000013C
+       STATUS_REMOTE_RESOURCES                                                   NTStatus      = 0xC000013D
+       STATUS_LINK_FAILED                                                        NTStatus      = 0xC000013E
+       STATUS_LINK_TIMEOUT                                                       NTStatus      = 0xC000013F
+       STATUS_INVALID_CONNECTION                                                 NTStatus      = 0xC0000140
+       STATUS_INVALID_ADDRESS                                                    NTStatus      = 0xC0000141
+       STATUS_DLL_INIT_FAILED                                                    NTStatus      = 0xC0000142
+       STATUS_MISSING_SYSTEMFILE                                                 NTStatus      = 0xC0000143
+       STATUS_UNHANDLED_EXCEPTION                                                NTStatus      = 0xC0000144
+       STATUS_APP_INIT_FAILURE                                                   NTStatus      = 0xC0000145
+       STATUS_PAGEFILE_CREATE_FAILED                                             NTStatus      = 0xC0000146
+       STATUS_NO_PAGEFILE                                                        NTStatus      = 0xC0000147
+       STATUS_INVALID_LEVEL                                                      NTStatus      = 0xC0000148
+       STATUS_WRONG_PASSWORD_CORE                                                NTStatus      = 0xC0000149
+       STATUS_ILLEGAL_FLOAT_CONTEXT                                              NTStatus      = 0xC000014A
+       STATUS_PIPE_BROKEN                                                        NTStatus      = 0xC000014B
+       STATUS_REGISTRY_CORRUPT                                                   NTStatus      = 0xC000014C
+       STATUS_REGISTRY_IO_FAILED                                                 NTStatus      = 0xC000014D
+       STATUS_NO_EVENT_PAIR                                                      NTStatus      = 0xC000014E
+       STATUS_UNRECOGNIZED_VOLUME                                                NTStatus      = 0xC000014F
+       STATUS_SERIAL_NO_DEVICE_INITED                                            NTStatus      = 0xC0000150
+       STATUS_NO_SUCH_ALIAS                                                      NTStatus      = 0xC0000151
+       STATUS_MEMBER_NOT_IN_ALIAS                                                NTStatus      = 0xC0000152
+       STATUS_MEMBER_IN_ALIAS                                                    NTStatus      = 0xC0000153
+       STATUS_ALIAS_EXISTS                                                       NTStatus      = 0xC0000154
+       STATUS_LOGON_NOT_GRANTED                                                  NTStatus      = 0xC0000155
+       STATUS_TOO_MANY_SECRETS                                                   NTStatus      = 0xC0000156
+       STATUS_SECRET_TOO_LONG                                                    NTStatus      = 0xC0000157
+       STATUS_INTERNAL_DB_ERROR                                                  NTStatus      = 0xC0000158
+       STATUS_FULLSCREEN_MODE                                                    NTStatus      = 0xC0000159
+       STATUS_TOO_MANY_CONTEXT_IDS                                               NTStatus      = 0xC000015A
+       STATUS_LOGON_TYPE_NOT_GRANTED                                             NTStatus      = 0xC000015B
+       STATUS_NOT_REGISTRY_FILE                                                  NTStatus      = 0xC000015C
+       STATUS_NT_CROSS_ENCRYPTION_REQUIRED                                       NTStatus      = 0xC000015D
+       STATUS_DOMAIN_CTRLR_CONFIG_ERROR                                          NTStatus      = 0xC000015E
+       STATUS_FT_MISSING_MEMBER                                                  NTStatus      = 0xC000015F
+       STATUS_ILL_FORMED_SERVICE_ENTRY                                           NTStatus      = 0xC0000160
+       STATUS_ILLEGAL_CHARACTER                                                  NTStatus      = 0xC0000161
+       STATUS_UNMAPPABLE_CHARACTER                                               NTStatus      = 0xC0000162
+       STATUS_UNDEFINED_CHARACTER                                                NTStatus      = 0xC0000163
+       STATUS_FLOPPY_VOLUME                                                      NTStatus      = 0xC0000164
+       STATUS_FLOPPY_ID_MARK_NOT_FOUND                                           NTStatus      = 0xC0000165
+       STATUS_FLOPPY_WRONG_CYLINDER                                              NTStatus      = 0xC0000166
+       STATUS_FLOPPY_UNKNOWN_ERROR                                               NTStatus      = 0xC0000167
+       STATUS_FLOPPY_BAD_REGISTERS                                               NTStatus      = 0xC0000168
+       STATUS_DISK_RECALIBRATE_FAILED                                            NTStatus      = 0xC0000169
+       STATUS_DISK_OPERATION_FAILED                                              NTStatus      = 0xC000016A
+       STATUS_DISK_RESET_FAILED                                                  NTStatus      = 0xC000016B
+       STATUS_SHARED_IRQ_BUSY                                                    NTStatus      = 0xC000016C
+       STATUS_FT_ORPHANING                                                       NTStatus      = 0xC000016D
+       STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT                                   NTStatus      = 0xC000016E
+       STATUS_PARTITION_FAILURE                                                  NTStatus      = 0xC0000172
+       STATUS_INVALID_BLOCK_LENGTH                                               NTStatus      = 0xC0000173
+       STATUS_DEVICE_NOT_PARTITIONED                                             NTStatus      = 0xC0000174
+       STATUS_UNABLE_TO_LOCK_MEDIA                                               NTStatus      = 0xC0000175
+       STATUS_UNABLE_TO_UNLOAD_MEDIA                                             NTStatus      = 0xC0000176
+       STATUS_EOM_OVERFLOW                                                       NTStatus      = 0xC0000177
+       STATUS_NO_MEDIA                                                           NTStatus      = 0xC0000178
+       STATUS_NO_SUCH_MEMBER                                                     NTStatus      = 0xC000017A
+       STATUS_INVALID_MEMBER                                                     NTStatus      = 0xC000017B
+       STATUS_KEY_DELETED                                                        NTStatus      = 0xC000017C
+       STATUS_NO_LOG_SPACE                                                       NTStatus      = 0xC000017D
+       STATUS_TOO_MANY_SIDS                                                      NTStatus      = 0xC000017E
+       STATUS_LM_CROSS_ENCRYPTION_REQUIRED                                       NTStatus      = 0xC000017F
+       STATUS_KEY_HAS_CHILDREN                                                   NTStatus      = 0xC0000180
+       STATUS_CHILD_MUST_BE_VOLATILE                                             NTStatus      = 0xC0000181
+       STATUS_DEVICE_CONFIGURATION_ERROR                                         NTStatus      = 0xC0000182
+       STATUS_DRIVER_INTERNAL_ERROR                                              NTStatus      = 0xC0000183
+       STATUS_INVALID_DEVICE_STATE                                               NTStatus      = 0xC0000184
+       STATUS_IO_DEVICE_ERROR                                                    NTStatus      = 0xC0000185
+       STATUS_DEVICE_PROTOCOL_ERROR                                              NTStatus      = 0xC0000186
+       STATUS_BACKUP_CONTROLLER                                                  NTStatus      = 0xC0000187
+       STATUS_LOG_FILE_FULL                                                      NTStatus      = 0xC0000188
+       STATUS_TOO_LATE                                                           NTStatus      = 0xC0000189
+       STATUS_NO_TRUST_LSA_SECRET                                                NTStatus      = 0xC000018A
+       STATUS_NO_TRUST_SAM_ACCOUNT                                               NTStatus      = 0xC000018B
+       STATUS_TRUSTED_DOMAIN_FAILURE                                             NTStatus      = 0xC000018C
+       STATUS_TRUSTED_RELATIONSHIP_FAILURE                                       NTStatus      = 0xC000018D
+       STATUS_EVENTLOG_FILE_CORRUPT                                              NTStatus      = 0xC000018E
+       STATUS_EVENTLOG_CANT_START                                                NTStatus      = 0xC000018F
+       STATUS_TRUST_FAILURE                                                      NTStatus      = 0xC0000190
+       STATUS_MUTANT_LIMIT_EXCEEDED                                              NTStatus      = 0xC0000191
+       STATUS_NETLOGON_NOT_STARTED                                               NTStatus      = 0xC0000192
+       STATUS_ACCOUNT_EXPIRED                                                    NTStatus      = 0xC0000193
+       STATUS_POSSIBLE_DEADLOCK                                                  NTStatus      = 0xC0000194
+       STATUS_NETWORK_CREDENTIAL_CONFLICT                                        NTStatus      = 0xC0000195
+       STATUS_REMOTE_SESSION_LIMIT                                               NTStatus      = 0xC0000196
+       STATUS_EVENTLOG_FILE_CHANGED                                              NTStatus      = 0xC0000197
+       STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT                                  NTStatus      = 0xC0000198
+       STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT                                  NTStatus      = 0xC0000199
+       STATUS_NOLOGON_SERVER_TRUST_ACCOUNT                                       NTStatus      = 0xC000019A
+       STATUS_DOMAIN_TRUST_INCONSISTENT                                          NTStatus      = 0xC000019B
+       STATUS_FS_DRIVER_REQUIRED                                                 NTStatus      = 0xC000019C
+       STATUS_IMAGE_ALREADY_LOADED_AS_DLL                                        NTStatus      = 0xC000019D
+       STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING               NTStatus      = 0xC000019E
+       STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME                                  NTStatus      = 0xC000019F
+       STATUS_SECURITY_STREAM_IS_INCONSISTENT                                    NTStatus      = 0xC00001A0
+       STATUS_INVALID_LOCK_RANGE                                                 NTStatus      = 0xC00001A1
+       STATUS_INVALID_ACE_CONDITION                                              NTStatus      = 0xC00001A2
+       STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT                                        NTStatus      = 0xC00001A3
+       STATUS_NOTIFICATION_GUID_ALREADY_DEFINED                                  NTStatus      = 0xC00001A4
+       STATUS_INVALID_EXCEPTION_HANDLER                                          NTStatus      = 0xC00001A5
+       STATUS_DUPLICATE_PRIVILEGES                                               NTStatus      = 0xC00001A6
+       STATUS_NOT_ALLOWED_ON_SYSTEM_FILE                                         NTStatus      = 0xC00001A7
+       STATUS_REPAIR_NEEDED                                                      NTStatus      = 0xC00001A8
+       STATUS_QUOTA_NOT_ENABLED                                                  NTStatus      = 0xC00001A9
+       STATUS_NO_APPLICATION_PACKAGE                                             NTStatus      = 0xC00001AA
+       STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS                             NTStatus      = 0xC00001AB
+       STATUS_NOT_SAME_OBJECT                                                    NTStatus      = 0xC00001AC
+       STATUS_FATAL_MEMORY_EXHAUSTION                                            NTStatus      = 0xC00001AD
+       STATUS_ERROR_PROCESS_NOT_IN_JOB                                           NTStatus      = 0xC00001AE
+       STATUS_CPU_SET_INVALID                                                    NTStatus      = 0xC00001AF
+       STATUS_IO_DEVICE_INVALID_DATA                                             NTStatus      = 0xC00001B0
+       STATUS_IO_UNALIGNED_WRITE                                                 NTStatus      = 0xC00001B1
+       STATUS_NETWORK_OPEN_RESTRICTION                                           NTStatus      = 0xC0000201
+       STATUS_NO_USER_SESSION_KEY                                                NTStatus      = 0xC0000202
+       STATUS_USER_SESSION_DELETED                                               NTStatus      = 0xC0000203
+       STATUS_RESOURCE_LANG_NOT_FOUND                                            NTStatus      = 0xC0000204
+       STATUS_INSUFF_SERVER_RESOURCES                                            NTStatus      = 0xC0000205
+       STATUS_INVALID_BUFFER_SIZE                                                NTStatus      = 0xC0000206
+       STATUS_INVALID_ADDRESS_COMPONENT                                          NTStatus      = 0xC0000207
+       STATUS_INVALID_ADDRESS_WILDCARD                                           NTStatus      = 0xC0000208
+       STATUS_TOO_MANY_ADDRESSES                                                 NTStatus      = 0xC0000209
+       STATUS_ADDRESS_ALREADY_EXISTS                                             NTStatus      = 0xC000020A
+       STATUS_ADDRESS_CLOSED                                                     NTStatus      = 0xC000020B
+       STATUS_CONNECTION_DISCONNECTED                                            NTStatus      = 0xC000020C
+       STATUS_CONNECTION_RESET                                                   NTStatus      = 0xC000020D
+       STATUS_TOO_MANY_NODES                                                     NTStatus      = 0xC000020E
+       STATUS_TRANSACTION_ABORTED                                                NTStatus      = 0xC000020F
+       STATUS_TRANSACTION_TIMED_OUT                                              NTStatus      = 0xC0000210
+       STATUS_TRANSACTION_NO_RELEASE                                             NTStatus      = 0xC0000211
+       STATUS_TRANSACTION_NO_MATCH                                               NTStatus      = 0xC0000212
+       STATUS_TRANSACTION_RESPONDED                                              NTStatus      = 0xC0000213
+       STATUS_TRANSACTION_INVALID_ID                                             NTStatus      = 0xC0000214
+       STATUS_TRANSACTION_INVALID_TYPE                                           NTStatus      = 0xC0000215
+       STATUS_NOT_SERVER_SESSION                                                 NTStatus      = 0xC0000216
+       STATUS_NOT_CLIENT_SESSION                                                 NTStatus      = 0xC0000217
+       STATUS_CANNOT_LOAD_REGISTRY_FILE                                          NTStatus      = 0xC0000218
+       STATUS_DEBUG_ATTACH_FAILED                                                NTStatus      = 0xC0000219
+       STATUS_SYSTEM_PROCESS_TERMINATED                                          NTStatus      = 0xC000021A
+       STATUS_DATA_NOT_ACCEPTED                                                  NTStatus      = 0xC000021B
+       STATUS_NO_BROWSER_SERVERS_FOUND                                           NTStatus      = 0xC000021C
+       STATUS_VDM_HARD_ERROR                                                     NTStatus      = 0xC000021D
+       STATUS_DRIVER_CANCEL_TIMEOUT                                              NTStatus      = 0xC000021E
+       STATUS_REPLY_MESSAGE_MISMATCH                                             NTStatus      = 0xC000021F
+       STATUS_MAPPED_ALIGNMENT                                                   NTStatus      = 0xC0000220
+       STATUS_IMAGE_CHECKSUM_MISMATCH                                            NTStatus      = 0xC0000221
+       STATUS_LOST_WRITEBEHIND_DATA                                              NTStatus      = 0xC0000222
+       STATUS_CLIENT_SERVER_PARAMETERS_INVALID                                   NTStatus      = 0xC0000223
+       STATUS_PASSWORD_MUST_CHANGE                                               NTStatus      = 0xC0000224
+       STATUS_NOT_FOUND                                                          NTStatus      = 0xC0000225
+       STATUS_NOT_TINY_STREAM                                                    NTStatus      = 0xC0000226
+       STATUS_RECOVERY_FAILURE                                                   NTStatus      = 0xC0000227
+       STATUS_STACK_OVERFLOW_READ                                                NTStatus      = 0xC0000228
+       STATUS_FAIL_CHECK                                                         NTStatus      = 0xC0000229
+       STATUS_DUPLICATE_OBJECTID                                                 NTStatus      = 0xC000022A
+       STATUS_OBJECTID_EXISTS                                                    NTStatus      = 0xC000022B
+       STATUS_CONVERT_TO_LARGE                                                   NTStatus      = 0xC000022C
+       STATUS_RETRY                                                              NTStatus      = 0xC000022D
+       STATUS_FOUND_OUT_OF_SCOPE                                                 NTStatus      = 0xC000022E
+       STATUS_ALLOCATE_BUCKET                                                    NTStatus      = 0xC000022F
+       STATUS_PROPSET_NOT_FOUND                                                  NTStatus      = 0xC0000230
+       STATUS_MARSHALL_OVERFLOW                                                  NTStatus      = 0xC0000231
+       STATUS_INVALID_VARIANT                                                    NTStatus      = 0xC0000232
+       STATUS_DOMAIN_CONTROLLER_NOT_FOUND                                        NTStatus      = 0xC0000233
+       STATUS_ACCOUNT_LOCKED_OUT                                                 NTStatus      = 0xC0000234
+       STATUS_HANDLE_NOT_CLOSABLE                                                NTStatus      = 0xC0000235
+       STATUS_CONNECTION_REFUSED                                                 NTStatus      = 0xC0000236
+       STATUS_GRACEFUL_DISCONNECT                                                NTStatus      = 0xC0000237
+       STATUS_ADDRESS_ALREADY_ASSOCIATED                                         NTStatus      = 0xC0000238
+       STATUS_ADDRESS_NOT_ASSOCIATED                                             NTStatus      = 0xC0000239
+       STATUS_CONNECTION_INVALID                                                 NTStatus      = 0xC000023A
+       STATUS_CONNECTION_ACTIVE                                                  NTStatus      = 0xC000023B
+       STATUS_NETWORK_UNREACHABLE                                                NTStatus      = 0xC000023C
+       STATUS_HOST_UNREACHABLE                                                   NTStatus      = 0xC000023D
+       STATUS_PROTOCOL_UNREACHABLE                                               NTStatus      = 0xC000023E
+       STATUS_PORT_UNREACHABLE                                                   NTStatus      = 0xC000023F
+       STATUS_REQUEST_ABORTED                                                    NTStatus      = 0xC0000240
+       STATUS_CONNECTION_ABORTED                                                 NTStatus      = 0xC0000241
+       STATUS_BAD_COMPRESSION_BUFFER                                             NTStatus      = 0xC0000242
+       STATUS_USER_MAPPED_FILE                                                   NTStatus      = 0xC0000243
+       STATUS_AUDIT_FAILED                                                       NTStatus      = 0xC0000244
+       STATUS_TIMER_RESOLUTION_NOT_SET                                           NTStatus      = 0xC0000245
+       STATUS_CONNECTION_COUNT_LIMIT                                             NTStatus      = 0xC0000246
+       STATUS_LOGIN_TIME_RESTRICTION                                             NTStatus      = 0xC0000247
+       STATUS_LOGIN_WKSTA_RESTRICTION                                            NTStatus      = 0xC0000248
+       STATUS_IMAGE_MP_UP_MISMATCH                                               NTStatus      = 0xC0000249
+       STATUS_INSUFFICIENT_LOGON_INFO                                            NTStatus      = 0xC0000250
+       STATUS_BAD_DLL_ENTRYPOINT                                                 NTStatus      = 0xC0000251
+       STATUS_BAD_SERVICE_ENTRYPOINT                                             NTStatus      = 0xC0000252
+       STATUS_LPC_REPLY_LOST                                                     NTStatus      = 0xC0000253
+       STATUS_IP_ADDRESS_CONFLICT1                                               NTStatus      = 0xC0000254
+       STATUS_IP_ADDRESS_CONFLICT2                                               NTStatus      = 0xC0000255
+       STATUS_REGISTRY_QUOTA_LIMIT                                               NTStatus      = 0xC0000256
+       STATUS_PATH_NOT_COVERED                                                   NTStatus      = 0xC0000257
+       STATUS_NO_CALLBACK_ACTIVE                                                 NTStatus      = 0xC0000258
+       STATUS_LICENSE_QUOTA_EXCEEDED                                             NTStatus      = 0xC0000259
+       STATUS_PWD_TOO_SHORT                                                      NTStatus      = 0xC000025A
+       STATUS_PWD_TOO_RECENT                                                     NTStatus      = 0xC000025B
+       STATUS_PWD_HISTORY_CONFLICT                                               NTStatus      = 0xC000025C
+       STATUS_PLUGPLAY_NO_DEVICE                                                 NTStatus      = 0xC000025E
+       STATUS_UNSUPPORTED_COMPRESSION                                            NTStatus      = 0xC000025F
+       STATUS_INVALID_HW_PROFILE                                                 NTStatus      = 0xC0000260
+       STATUS_INVALID_PLUGPLAY_DEVICE_PATH                                       NTStatus      = 0xC0000261
+       STATUS_DRIVER_ORDINAL_NOT_FOUND                                           NTStatus      = 0xC0000262
+       STATUS_DRIVER_ENTRYPOINT_NOT_FOUND                                        NTStatus      = 0xC0000263
+       STATUS_RESOURCE_NOT_OWNED                                                 NTStatus      = 0xC0000264
+       STATUS_TOO_MANY_LINKS                                                     NTStatus      = 0xC0000265
+       STATUS_QUOTA_LIST_INCONSISTENT                                            NTStatus      = 0xC0000266
+       STATUS_FILE_IS_OFFLINE                                                    NTStatus      = 0xC0000267
+       STATUS_EVALUATION_EXPIRATION                                              NTStatus      = 0xC0000268
+       STATUS_ILLEGAL_DLL_RELOCATION                                             NTStatus      = 0xC0000269
+       STATUS_LICENSE_VIOLATION                                                  NTStatus      = 0xC000026A
+       STATUS_DLL_INIT_FAILED_LOGOFF                                             NTStatus      = 0xC000026B
+       STATUS_DRIVER_UNABLE_TO_LOAD                                              NTStatus      = 0xC000026C
+       STATUS_DFS_UNAVAILABLE                                                    NTStatus      = 0xC000026D
+       STATUS_VOLUME_DISMOUNTED                                                  NTStatus      = 0xC000026E
+       STATUS_WX86_INTERNAL_ERROR                                                NTStatus      = 0xC000026F
+       STATUS_WX86_FLOAT_STACK_CHECK                                             NTStatus      = 0xC0000270
+       STATUS_VALIDATE_CONTINUE                                                  NTStatus      = 0xC0000271
+       STATUS_NO_MATCH                                                           NTStatus      = 0xC0000272
+       STATUS_NO_MORE_MATCHES                                                    NTStatus      = 0xC0000273
+       STATUS_NOT_A_REPARSE_POINT                                                NTStatus      = 0xC0000275
+       STATUS_IO_REPARSE_TAG_INVALID                                             NTStatus      = 0xC0000276
+       STATUS_IO_REPARSE_TAG_MISMATCH                                            NTStatus      = 0xC0000277
+       STATUS_IO_REPARSE_DATA_INVALID                                            NTStatus      = 0xC0000278
+       STATUS_IO_REPARSE_TAG_NOT_HANDLED                                         NTStatus      = 0xC0000279
+       STATUS_PWD_TOO_LONG                                                       NTStatus      = 0xC000027A
+       STATUS_STOWED_EXCEPTION                                                   NTStatus      = 0xC000027B
+       STATUS_CONTEXT_STOWED_EXCEPTION                                           NTStatus      = 0xC000027C
+       STATUS_REPARSE_POINT_NOT_RESOLVED                                         NTStatus      = 0xC0000280
+       STATUS_DIRECTORY_IS_A_REPARSE_POINT                                       NTStatus      = 0xC0000281
+       STATUS_RANGE_LIST_CONFLICT                                                NTStatus      = 0xC0000282
+       STATUS_SOURCE_ELEMENT_EMPTY                                               NTStatus      = 0xC0000283
+       STATUS_DESTINATION_ELEMENT_FULL                                           NTStatus      = 0xC0000284
+       STATUS_ILLEGAL_ELEMENT_ADDRESS                                            NTStatus      = 0xC0000285
+       STATUS_MAGAZINE_NOT_PRESENT                                               NTStatus      = 0xC0000286
+       STATUS_REINITIALIZATION_NEEDED                                            NTStatus      = 0xC0000287
+       STATUS_DEVICE_REQUIRES_CLEANING                                           NTStatus      = 0x80000288
+       STATUS_DEVICE_DOOR_OPEN                                                   NTStatus      = 0x80000289
+       STATUS_ENCRYPTION_FAILED                                                  NTStatus      = 0xC000028A
+       STATUS_DECRYPTION_FAILED                                                  NTStatus      = 0xC000028B
+       STATUS_RANGE_NOT_FOUND                                                    NTStatus      = 0xC000028C
+       STATUS_NO_RECOVERY_POLICY                                                 NTStatus      = 0xC000028D
+       STATUS_NO_EFS                                                             NTStatus      = 0xC000028E
+       STATUS_WRONG_EFS                                                          NTStatus      = 0xC000028F
+       STATUS_NO_USER_KEYS                                                       NTStatus      = 0xC0000290
+       STATUS_FILE_NOT_ENCRYPTED                                                 NTStatus      = 0xC0000291
+       STATUS_NOT_EXPORT_FORMAT                                                  NTStatus      = 0xC0000292
+       STATUS_FILE_ENCRYPTED                                                     NTStatus      = 0xC0000293
+       STATUS_WAKE_SYSTEM                                                        NTStatus      = 0x40000294
+       STATUS_WMI_GUID_NOT_FOUND                                                 NTStatus      = 0xC0000295
+       STATUS_WMI_INSTANCE_NOT_FOUND                                             NTStatus      = 0xC0000296
+       STATUS_WMI_ITEMID_NOT_FOUND                                               NTStatus      = 0xC0000297
+       STATUS_WMI_TRY_AGAIN                                                      NTStatus      = 0xC0000298
+       STATUS_SHARED_POLICY                                                      NTStatus      = 0xC0000299
+       STATUS_POLICY_OBJECT_NOT_FOUND                                            NTStatus      = 0xC000029A
+       STATUS_POLICY_ONLY_IN_DS                                                  NTStatus      = 0xC000029B
+       STATUS_VOLUME_NOT_UPGRADED                                                NTStatus      = 0xC000029C
+       STATUS_REMOTE_STORAGE_NOT_ACTIVE                                          NTStatus      = 0xC000029D
+       STATUS_REMOTE_STORAGE_MEDIA_ERROR                                         NTStatus      = 0xC000029E
+       STATUS_NO_TRACKING_SERVICE                                                NTStatus      = 0xC000029F
+       STATUS_SERVER_SID_MISMATCH                                                NTStatus      = 0xC00002A0
+       STATUS_DS_NO_ATTRIBUTE_OR_VALUE                                           NTStatus      = 0xC00002A1
+       STATUS_DS_INVALID_ATTRIBUTE_SYNTAX                                        NTStatus      = 0xC00002A2
+       STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED                                        NTStatus      = 0xC00002A3
+       STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS                                       NTStatus      = 0xC00002A4
+       STATUS_DS_BUSY                                                            NTStatus      = 0xC00002A5
+       STATUS_DS_UNAVAILABLE                                                     NTStatus      = 0xC00002A6
+       STATUS_DS_NO_RIDS_ALLOCATED                                               NTStatus      = 0xC00002A7
+       STATUS_DS_NO_MORE_RIDS                                                    NTStatus      = 0xC00002A8
+       STATUS_DS_INCORRECT_ROLE_OWNER                                            NTStatus      = 0xC00002A9
+       STATUS_DS_RIDMGR_INIT_ERROR                                               NTStatus      = 0xC00002AA
+       STATUS_DS_OBJ_CLASS_VIOLATION                                             NTStatus      = 0xC00002AB
+       STATUS_DS_CANT_ON_NON_LEAF                                                NTStatus      = 0xC00002AC
+       STATUS_DS_CANT_ON_RDN                                                     NTStatus      = 0xC00002AD
+       STATUS_DS_CANT_MOD_OBJ_CLASS                                              NTStatus      = 0xC00002AE
+       STATUS_DS_CROSS_DOM_MOVE_FAILED                                           NTStatus      = 0xC00002AF
+       STATUS_DS_GC_NOT_AVAILABLE                                                NTStatus      = 0xC00002B0
+       STATUS_DIRECTORY_SERVICE_REQUIRED                                         NTStatus      = 0xC00002B1
+       STATUS_REPARSE_ATTRIBUTE_CONFLICT                                         NTStatus      = 0xC00002B2
+       STATUS_CANT_ENABLE_DENY_ONLY                                              NTStatus      = 0xC00002B3
+       STATUS_FLOAT_MULTIPLE_FAULTS                                              NTStatus      = 0xC00002B4
+       STATUS_FLOAT_MULTIPLE_TRAPS                                               NTStatus      = 0xC00002B5
+       STATUS_DEVICE_REMOVED                                                     NTStatus      = 0xC00002B6
+       STATUS_JOURNAL_DELETE_IN_PROGRESS                                         NTStatus      = 0xC00002B7
+       STATUS_JOURNAL_NOT_ACTIVE                                                 NTStatus      = 0xC00002B8
+       STATUS_NOINTERFACE                                                        NTStatus      = 0xC00002B9
+       STATUS_DS_RIDMGR_DISABLED                                                 NTStatus      = 0xC00002BA
+       STATUS_DS_ADMIN_LIMIT_EXCEEDED                                            NTStatus      = 0xC00002C1
+       STATUS_DRIVER_FAILED_SLEEP                                                NTStatus      = 0xC00002C2
+       STATUS_MUTUAL_AUTHENTICATION_FAILED                                       NTStatus      = 0xC00002C3
+       STATUS_CORRUPT_SYSTEM_FILE                                                NTStatus      = 0xC00002C4
+       STATUS_DATATYPE_MISALIGNMENT_ERROR                                        NTStatus      = 0xC00002C5
+       STATUS_WMI_READ_ONLY                                                      NTStatus      = 0xC00002C6
+       STATUS_WMI_SET_FAILURE                                                    NTStatus      = 0xC00002C7
+       STATUS_COMMITMENT_MINIMUM                                                 NTStatus      = 0xC00002C8
+       STATUS_REG_NAT_CONSUMPTION                                                NTStatus      = 0xC00002C9
+       STATUS_TRANSPORT_FULL                                                     NTStatus      = 0xC00002CA
+       STATUS_DS_SAM_INIT_FAILURE                                                NTStatus      = 0xC00002CB
+       STATUS_ONLY_IF_CONNECTED                                                  NTStatus      = 0xC00002CC
+       STATUS_DS_SENSITIVE_GROUP_VIOLATION                                       NTStatus      = 0xC00002CD
+       STATUS_PNP_RESTART_ENUMERATION                                            NTStatus      = 0xC00002CE
+       STATUS_JOURNAL_ENTRY_DELETED                                              NTStatus      = 0xC00002CF
+       STATUS_DS_CANT_MOD_PRIMARYGROUPID                                         NTStatus      = 0xC00002D0
+       STATUS_SYSTEM_IMAGE_BAD_SIGNATURE                                         NTStatus      = 0xC00002D1
+       STATUS_PNP_REBOOT_REQUIRED                                                NTStatus      = 0xC00002D2
+       STATUS_POWER_STATE_INVALID                                                NTStatus      = 0xC00002D3
+       STATUS_DS_INVALID_GROUP_TYPE                                              NTStatus      = 0xC00002D4
+       STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN                              NTStatus      = 0xC00002D5
+       STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN                               NTStatus      = 0xC00002D6
+       STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER                                   NTStatus      = 0xC00002D7
+       STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER                               NTStatus      = 0xC00002D8
+       STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER                                NTStatus      = 0xC00002D9
+       STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER                             NTStatus      = 0xC00002DA
+       STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER                        NTStatus      = 0xC00002DB
+       STATUS_DS_HAVE_PRIMARY_MEMBERS                                            NTStatus      = 0xC00002DC
+       STATUS_WMI_NOT_SUPPORTED                                                  NTStatus      = 0xC00002DD
+       STATUS_INSUFFICIENT_POWER                                                 NTStatus      = 0xC00002DE
+       STATUS_SAM_NEED_BOOTKEY_PASSWORD                                          NTStatus      = 0xC00002DF
+       STATUS_SAM_NEED_BOOTKEY_FLOPPY                                            NTStatus      = 0xC00002E0
+       STATUS_DS_CANT_START                                                      NTStatus      = 0xC00002E1
+       STATUS_DS_INIT_FAILURE                                                    NTStatus      = 0xC00002E2
+       STATUS_SAM_INIT_FAILURE                                                   NTStatus      = 0xC00002E3
+       STATUS_DS_GC_REQUIRED                                                     NTStatus      = 0xC00002E4
+       STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY                                      NTStatus      = 0xC00002E5
+       STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS                                      NTStatus      = 0xC00002E6
+       STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED                                  NTStatus      = 0xC00002E7
+       STATUS_MULTIPLE_FAULT_VIOLATION                                           NTStatus      = 0xC00002E8
+       STATUS_CURRENT_DOMAIN_NOT_ALLOWED                                         NTStatus      = 0xC00002E9
+       STATUS_CANNOT_MAKE                                                        NTStatus      = 0xC00002EA
+       STATUS_SYSTEM_SHUTDOWN                                                    NTStatus      = 0xC00002EB
+       STATUS_DS_INIT_FAILURE_CONSOLE                                            NTStatus      = 0xC00002EC
+       STATUS_DS_SAM_INIT_FAILURE_CONSOLE                                        NTStatus      = 0xC00002ED
+       STATUS_UNFINISHED_CONTEXT_DELETED                                         NTStatus      = 0xC00002EE
+       STATUS_NO_TGT_REPLY                                                       NTStatus      = 0xC00002EF
+       STATUS_OBJECTID_NOT_FOUND                                                 NTStatus      = 0xC00002F0
+       STATUS_NO_IP_ADDRESSES                                                    NTStatus      = 0xC00002F1
+       STATUS_WRONG_CREDENTIAL_HANDLE                                            NTStatus      = 0xC00002F2
+       STATUS_CRYPTO_SYSTEM_INVALID                                              NTStatus      = 0xC00002F3
+       STATUS_MAX_REFERRALS_EXCEEDED                                             NTStatus      = 0xC00002F4
+       STATUS_MUST_BE_KDC                                                        NTStatus      = 0xC00002F5
+       STATUS_STRONG_CRYPTO_NOT_SUPPORTED                                        NTStatus      = 0xC00002F6
+       STATUS_TOO_MANY_PRINCIPALS                                                NTStatus      = 0xC00002F7
+       STATUS_NO_PA_DATA                                                         NTStatus      = 0xC00002F8
+       STATUS_PKINIT_NAME_MISMATCH                                               NTStatus      = 0xC00002F9
+       STATUS_SMARTCARD_LOGON_REQUIRED                                           NTStatus      = 0xC00002FA
+       STATUS_KDC_INVALID_REQUEST                                                NTStatus      = 0xC00002FB
+       STATUS_KDC_UNABLE_TO_REFER                                                NTStatus      = 0xC00002FC
+       STATUS_KDC_UNKNOWN_ETYPE                                                  NTStatus      = 0xC00002FD
+       STATUS_SHUTDOWN_IN_PROGRESS                                               NTStatus      = 0xC00002FE
+       STATUS_SERVER_SHUTDOWN_IN_PROGRESS                                        NTStatus      = 0xC00002FF
+       STATUS_NOT_SUPPORTED_ON_SBS                                               NTStatus      = 0xC0000300
+       STATUS_WMI_GUID_DISCONNECTED                                              NTStatus      = 0xC0000301
+       STATUS_WMI_ALREADY_DISABLED                                               NTStatus      = 0xC0000302
+       STATUS_WMI_ALREADY_ENABLED                                                NTStatus      = 0xC0000303
+       STATUS_MFT_TOO_FRAGMENTED                                                 NTStatus      = 0xC0000304
+       STATUS_COPY_PROTECTION_FAILURE                                            NTStatus      = 0xC0000305
+       STATUS_CSS_AUTHENTICATION_FAILURE                                         NTStatus      = 0xC0000306
+       STATUS_CSS_KEY_NOT_PRESENT                                                NTStatus      = 0xC0000307
+       STATUS_CSS_KEY_NOT_ESTABLISHED                                            NTStatus      = 0xC0000308
+       STATUS_CSS_SCRAMBLED_SECTOR                                               NTStatus      = 0xC0000309
+       STATUS_CSS_REGION_MISMATCH                                                NTStatus      = 0xC000030A
+       STATUS_CSS_RESETS_EXHAUSTED                                               NTStatus      = 0xC000030B
+       STATUS_PASSWORD_CHANGE_REQUIRED                                           NTStatus      = 0xC000030C
+       STATUS_LOST_MODE_LOGON_RESTRICTION                                        NTStatus      = 0xC000030D
+       STATUS_PKINIT_FAILURE                                                     NTStatus      = 0xC0000320
+       STATUS_SMARTCARD_SUBSYSTEM_FAILURE                                        NTStatus      = 0xC0000321
+       STATUS_NO_KERB_KEY                                                        NTStatus      = 0xC0000322
+       STATUS_HOST_DOWN                                                          NTStatus      = 0xC0000350
+       STATUS_UNSUPPORTED_PREAUTH                                                NTStatus      = 0xC0000351
+       STATUS_EFS_ALG_BLOB_TOO_BIG                                               NTStatus      = 0xC0000352
+       STATUS_PORT_NOT_SET                                                       NTStatus      = 0xC0000353
+       STATUS_DEBUGGER_INACTIVE                                                  NTStatus      = 0xC0000354
+       STATUS_DS_VERSION_CHECK_FAILURE                                           NTStatus      = 0xC0000355
+       STATUS_AUDITING_DISABLED                                                  NTStatus      = 0xC0000356
+       STATUS_PRENT4_MACHINE_ACCOUNT                                             NTStatus      = 0xC0000357
+       STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER                                   NTStatus      = 0xC0000358
+       STATUS_INVALID_IMAGE_WIN_32                                               NTStatus      = 0xC0000359
+       STATUS_INVALID_IMAGE_WIN_64                                               NTStatus      = 0xC000035A
+       STATUS_BAD_BINDINGS                                                       NTStatus      = 0xC000035B
+       STATUS_NETWORK_SESSION_EXPIRED                                            NTStatus      = 0xC000035C
+       STATUS_APPHELP_BLOCK                                                      NTStatus      = 0xC000035D
+       STATUS_ALL_SIDS_FILTERED                                                  NTStatus      = 0xC000035E
+       STATUS_NOT_SAFE_MODE_DRIVER                                               NTStatus      = 0xC000035F
+       STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT                                  NTStatus      = 0xC0000361
+       STATUS_ACCESS_DISABLED_BY_POLICY_PATH                                     NTStatus      = 0xC0000362
+       STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER                                NTStatus      = 0xC0000363
+       STATUS_ACCESS_DISABLED_BY_POLICY_OTHER                                    NTStatus      = 0xC0000364
+       STATUS_FAILED_DRIVER_ENTRY                                                NTStatus      = 0xC0000365
+       STATUS_DEVICE_ENUMERATION_ERROR                                           NTStatus      = 0xC0000366
+       STATUS_MOUNT_POINT_NOT_RESOLVED                                           NTStatus      = 0xC0000368
+       STATUS_INVALID_DEVICE_OBJECT_PARAMETER                                    NTStatus      = 0xC0000369
+       STATUS_MCA_OCCURED                                                        NTStatus      = 0xC000036A
+       STATUS_DRIVER_BLOCKED_CRITICAL                                            NTStatus      = 0xC000036B
+       STATUS_DRIVER_BLOCKED                                                     NTStatus      = 0xC000036C
+       STATUS_DRIVER_DATABASE_ERROR                                              NTStatus      = 0xC000036D
+       STATUS_SYSTEM_HIVE_TOO_LARGE                                              NTStatus      = 0xC000036E
+       STATUS_INVALID_IMPORT_OF_NON_DLL                                          NTStatus      = 0xC000036F
+       STATUS_DS_SHUTTING_DOWN                                                   NTStatus      = 0x40000370
+       STATUS_NO_SECRETS                                                         NTStatus      = 0xC0000371
+       STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY                              NTStatus      = 0xC0000372
+       STATUS_FAILED_STACK_SWITCH                                                NTStatus      = 0xC0000373
+       STATUS_HEAP_CORRUPTION                                                    NTStatus      = 0xC0000374
+       STATUS_SMARTCARD_WRONG_PIN                                                NTStatus      = 0xC0000380
+       STATUS_SMARTCARD_CARD_BLOCKED                                             NTStatus      = 0xC0000381
+       STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED                                   NTStatus      = 0xC0000382
+       STATUS_SMARTCARD_NO_CARD                                                  NTStatus      = 0xC0000383
+       STATUS_SMARTCARD_NO_KEY_CONTAINER                                         NTStatus      = 0xC0000384
+       STATUS_SMARTCARD_NO_CERTIFICATE                                           NTStatus      = 0xC0000385
+       STATUS_SMARTCARD_NO_KEYSET                                                NTStatus      = 0xC0000386
+       STATUS_SMARTCARD_IO_ERROR                                                 NTStatus      = 0xC0000387
+       STATUS_DOWNGRADE_DETECTED                                                 NTStatus      = 0xC0000388
+       STATUS_SMARTCARD_CERT_REVOKED                                             NTStatus      = 0xC0000389
+       STATUS_ISSUING_CA_UNTRUSTED                                               NTStatus      = 0xC000038A
+       STATUS_REVOCATION_OFFLINE_C                                               NTStatus      = 0xC000038B
+       STATUS_PKINIT_CLIENT_FAILURE                                              NTStatus      = 0xC000038C
+       STATUS_SMARTCARD_CERT_EXPIRED                                             NTStatus      = 0xC000038D
+       STATUS_DRIVER_FAILED_PRIOR_UNLOAD                                         NTStatus      = 0xC000038E
+       STATUS_SMARTCARD_SILENT_CONTEXT                                           NTStatus      = 0xC000038F
+       STATUS_PER_USER_TRUST_QUOTA_EXCEEDED                                      NTStatus      = 0xC0000401
+       STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED                                      NTStatus      = 0xC0000402
+       STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED                                   NTStatus      = 0xC0000403
+       STATUS_DS_NAME_NOT_UNIQUE                                                 NTStatus      = 0xC0000404
+       STATUS_DS_DUPLICATE_ID_FOUND                                              NTStatus      = 0xC0000405
+       STATUS_DS_GROUP_CONVERSION_ERROR                                          NTStatus      = 0xC0000406
+       STATUS_VOLSNAP_PREPARE_HIBERNATE                                          NTStatus      = 0xC0000407
+       STATUS_USER2USER_REQUIRED                                                 NTStatus      = 0xC0000408
+       STATUS_STACK_BUFFER_OVERRUN                                               NTStatus      = 0xC0000409
+       STATUS_NO_S4U_PROT_SUPPORT                                                NTStatus      = 0xC000040A
+       STATUS_CROSSREALM_DELEGATION_FAILURE                                      NTStatus      = 0xC000040B
+       STATUS_REVOCATION_OFFLINE_KDC                                             NTStatus      = 0xC000040C
+       STATUS_ISSUING_CA_UNTRUSTED_KDC                                           NTStatus      = 0xC000040D
+       STATUS_KDC_CERT_EXPIRED                                                   NTStatus      = 0xC000040E
+       STATUS_KDC_CERT_REVOKED                                                   NTStatus      = 0xC000040F
+       STATUS_PARAMETER_QUOTA_EXCEEDED                                           NTStatus      = 0xC0000410
+       STATUS_HIBERNATION_FAILURE                                                NTStatus      = 0xC0000411
+       STATUS_DELAY_LOAD_FAILED                                                  NTStatus      = 0xC0000412
+       STATUS_AUTHENTICATION_FIREWALL_FAILED                                     NTStatus      = 0xC0000413
+       STATUS_VDM_DISALLOWED                                                     NTStatus      = 0xC0000414
+       STATUS_HUNG_DISPLAY_DRIVER_THREAD                                         NTStatus      = 0xC0000415
+       STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE            NTStatus      = 0xC0000416
+       STATUS_INVALID_CRUNTIME_PARAMETER                                         NTStatus      = 0xC0000417
+       STATUS_NTLM_BLOCKED                                                       NTStatus      = 0xC0000418
+       STATUS_DS_SRC_SID_EXISTS_IN_FOREST                                        NTStatus      = 0xC0000419
+       STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST                                    NTStatus      = 0xC000041A
+       STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST                                      NTStatus      = 0xC000041B
+       STATUS_INVALID_USER_PRINCIPAL_NAME                                        NTStatus      = 0xC000041C
+       STATUS_FATAL_USER_CALLBACK_EXCEPTION                                      NTStatus      = 0xC000041D
+       STATUS_ASSERTION_FAILURE                                                  NTStatus      = 0xC0000420
+       STATUS_VERIFIER_STOP                                                      NTStatus      = 0xC0000421
+       STATUS_CALLBACK_POP_STACK                                                 NTStatus      = 0xC0000423
+       STATUS_INCOMPATIBLE_DRIVER_BLOCKED                                        NTStatus      = 0xC0000424
+       STATUS_HIVE_UNLOADED                                                      NTStatus      = 0xC0000425
+       STATUS_COMPRESSION_DISABLED                                               NTStatus      = 0xC0000426
+       STATUS_FILE_SYSTEM_LIMITATION                                             NTStatus      = 0xC0000427
+       STATUS_INVALID_IMAGE_HASH                                                 NTStatus      = 0xC0000428
+       STATUS_NOT_CAPABLE                                                        NTStatus      = 0xC0000429
+       STATUS_REQUEST_OUT_OF_SEQUENCE                                            NTStatus      = 0xC000042A
+       STATUS_IMPLEMENTATION_LIMIT                                               NTStatus      = 0xC000042B
+       STATUS_ELEVATION_REQUIRED                                                 NTStatus      = 0xC000042C
+       STATUS_NO_SECURITY_CONTEXT                                                NTStatus      = 0xC000042D
+       STATUS_PKU2U_CERT_FAILURE                                                 NTStatus      = 0xC000042F
+       STATUS_BEYOND_VDL                                                         NTStatus      = 0xC0000432
+       STATUS_ENCOUNTERED_WRITE_IN_PROGRESS                                      NTStatus      = 0xC0000433
+       STATUS_PTE_CHANGED                                                        NTStatus      = 0xC0000434
+       STATUS_PURGE_FAILED                                                       NTStatus      = 0xC0000435
+       STATUS_CRED_REQUIRES_CONFIRMATION                                         NTStatus      = 0xC0000440
+       STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE                              NTStatus      = 0xC0000441
+       STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER                                   NTStatus      = 0xC0000442
+       STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE                              NTStatus      = 0xC0000443
+       STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE                                   NTStatus      = 0xC0000444
+       STATUS_CS_ENCRYPTION_FILE_NOT_CSE                                         NTStatus      = 0xC0000445
+       STATUS_INVALID_LABEL                                                      NTStatus      = 0xC0000446
+       STATUS_DRIVER_PROCESS_TERMINATED                                          NTStatus      = 0xC0000450
+       STATUS_AMBIGUOUS_SYSTEM_DEVICE                                            NTStatus      = 0xC0000451
+       STATUS_SYSTEM_DEVICE_NOT_FOUND                                            NTStatus      = 0xC0000452
+       STATUS_RESTART_BOOT_APPLICATION                                           NTStatus      = 0xC0000453
+       STATUS_INSUFFICIENT_NVRAM_RESOURCES                                       NTStatus      = 0xC0000454
+       STATUS_INVALID_SESSION                                                    NTStatus      = 0xC0000455
+       STATUS_THREAD_ALREADY_IN_SESSION                                          NTStatus      = 0xC0000456
+       STATUS_THREAD_NOT_IN_SESSION                                              NTStatus      = 0xC0000457
+       STATUS_INVALID_WEIGHT                                                     NTStatus      = 0xC0000458
+       STATUS_REQUEST_PAUSED                                                     NTStatus      = 0xC0000459
+       STATUS_NO_RANGES_PROCESSED                                                NTStatus      = 0xC0000460
+       STATUS_DISK_RESOURCES_EXHAUSTED                                           NTStatus      = 0xC0000461
+       STATUS_NEEDS_REMEDIATION                                                  NTStatus      = 0xC0000462
+       STATUS_DEVICE_FEATURE_NOT_SUPPORTED                                       NTStatus      = 0xC0000463
+       STATUS_DEVICE_UNREACHABLE                                                 NTStatus      = 0xC0000464
+       STATUS_INVALID_TOKEN                                                      NTStatus      = 0xC0000465
+       STATUS_SERVER_UNAVAILABLE                                                 NTStatus      = 0xC0000466
+       STATUS_FILE_NOT_AVAILABLE                                                 NTStatus      = 0xC0000467
+       STATUS_DEVICE_INSUFFICIENT_RESOURCES                                      NTStatus      = 0xC0000468
+       STATUS_PACKAGE_UPDATING                                                   NTStatus      = 0xC0000469
+       STATUS_NOT_READ_FROM_COPY                                                 NTStatus      = 0xC000046A
+       STATUS_FT_WRITE_FAILURE                                                   NTStatus      = 0xC000046B
+       STATUS_FT_DI_SCAN_REQUIRED                                                NTStatus      = 0xC000046C
+       STATUS_OBJECT_NOT_EXTERNALLY_BACKED                                       NTStatus      = 0xC000046D
+       STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN                                  NTStatus      = 0xC000046E
+       STATUS_COMPRESSION_NOT_BENEFICIAL                                         NTStatus      = 0xC000046F
+       STATUS_DATA_CHECKSUM_ERROR                                                NTStatus      = 0xC0000470
+       STATUS_INTERMIXED_KERNEL_EA_OPERATION                                     NTStatus      = 0xC0000471
+       STATUS_TRIM_READ_ZERO_NOT_SUPPORTED                                       NTStatus      = 0xC0000472
+       STATUS_TOO_MANY_SEGMENT_DESCRIPTORS                                       NTStatus      = 0xC0000473
+       STATUS_INVALID_OFFSET_ALIGNMENT                                           NTStatus      = 0xC0000474
+       STATUS_INVALID_FIELD_IN_PARAMETER_LIST                                    NTStatus      = 0xC0000475
+       STATUS_OPERATION_IN_PROGRESS                                              NTStatus      = 0xC0000476
+       STATUS_INVALID_INITIATOR_TARGET_PATH                                      NTStatus      = 0xC0000477
+       STATUS_SCRUB_DATA_DISABLED                                                NTStatus      = 0xC0000478
+       STATUS_NOT_REDUNDANT_STORAGE                                              NTStatus      = 0xC0000479
+       STATUS_RESIDENT_FILE_NOT_SUPPORTED                                        NTStatus      = 0xC000047A
+       STATUS_COMPRESSED_FILE_NOT_SUPPORTED                                      NTStatus      = 0xC000047B
+       STATUS_DIRECTORY_NOT_SUPPORTED                                            NTStatus      = 0xC000047C
+       STATUS_IO_OPERATION_TIMEOUT                                               NTStatus      = 0xC000047D
+       STATUS_SYSTEM_NEEDS_REMEDIATION                                           NTStatus      = 0xC000047E
+       STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN                                    NTStatus      = 0xC000047F
+       STATUS_SHARE_UNAVAILABLE                                                  NTStatus      = 0xC0000480
+       STATUS_APISET_NOT_HOSTED                                                  NTStatus      = 0xC0000481
+       STATUS_APISET_NOT_PRESENT                                                 NTStatus      = 0xC0000482
+       STATUS_DEVICE_HARDWARE_ERROR                                              NTStatus      = 0xC0000483
+       STATUS_FIRMWARE_SLOT_INVALID                                              NTStatus      = 0xC0000484
+       STATUS_FIRMWARE_IMAGE_INVALID                                             NTStatus      = 0xC0000485
+       STATUS_STORAGE_TOPOLOGY_ID_MISMATCH                                       NTStatus      = 0xC0000486
+       STATUS_WIM_NOT_BOOTABLE                                                   NTStatus      = 0xC0000487
+       STATUS_BLOCKED_BY_PARENTAL_CONTROLS                                       NTStatus      = 0xC0000488
+       STATUS_NEEDS_REGISTRATION                                                 NTStatus      = 0xC0000489
+       STATUS_QUOTA_ACTIVITY                                                     NTStatus      = 0xC000048A
+       STATUS_CALLBACK_INVOKE_INLINE                                             NTStatus      = 0xC000048B
+       STATUS_BLOCK_TOO_MANY_REFERENCES                                          NTStatus      = 0xC000048C
+       STATUS_MARKED_TO_DISALLOW_WRITES                                          NTStatus      = 0xC000048D
+       STATUS_NETWORK_ACCESS_DENIED_EDP                                          NTStatus      = 0xC000048E
+       STATUS_ENCLAVE_FAILURE                                                    NTStatus      = 0xC000048F
+       STATUS_PNP_NO_COMPAT_DRIVERS                                              NTStatus      = 0xC0000490
+       STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND                                       NTStatus      = 0xC0000491
+       STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND                                 NTStatus      = 0xC0000492
+       STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE                                NTStatus      = 0xC0000493
+       STATUS_PNP_FUNCTION_DRIVER_REQUIRED                                       NTStatus      = 0xC0000494
+       STATUS_PNP_DEVICE_CONFIGURATION_PENDING                                   NTStatus      = 0xC0000495
+       STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL                                  NTStatus      = 0xC0000496
+       STATUS_PACKAGE_NOT_AVAILABLE                                              NTStatus      = 0xC0000497
+       STATUS_DEVICE_IN_MAINTENANCE                                              NTStatus      = 0xC0000499
+       STATUS_NOT_SUPPORTED_ON_DAX                                               NTStatus      = 0xC000049A
+       STATUS_FREE_SPACE_TOO_FRAGMENTED                                          NTStatus      = 0xC000049B
+       STATUS_DAX_MAPPING_EXISTS                                                 NTStatus      = 0xC000049C
+       STATUS_CHILD_PROCESS_BLOCKED                                              NTStatus      = 0xC000049D
+       STATUS_STORAGE_LOST_DATA_PERSISTENCE                                      NTStatus      = 0xC000049E
+       STATUS_VRF_CFG_ENABLED                                                    NTStatus      = 0xC000049F
+       STATUS_PARTITION_TERMINATING                                              NTStatus      = 0xC00004A0
+       STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED                                      NTStatus      = 0xC00004A1
+       STATUS_ENCLAVE_VIOLATION                                                  NTStatus      = 0xC00004A2
+       STATUS_FILE_PROTECTED_UNDER_DPL                                           NTStatus      = 0xC00004A3
+       STATUS_VOLUME_NOT_CLUSTER_ALIGNED                                         NTStatus      = 0xC00004A4
+       STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND                             NTStatus      = 0xC00004A5
+       STATUS_APPX_FILE_NOT_ENCRYPTED                                            NTStatus      = 0xC00004A6
+       STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED                                 NTStatus      = 0xC00004A7
+       STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET                       NTStatus      = 0xC00004A8
+       STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE                        NTStatus      = 0xC00004A9
+       STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER                        NTStatus      = 0xC00004AA
+       STATUS_FT_READ_FAILURE                                                    NTStatus      = 0xC00004AB
+       STATUS_PATCH_CONFLICT                                                     NTStatus      = 0xC00004AC
+       STATUS_STORAGE_RESERVE_ID_INVALID                                         NTStatus      = 0xC00004AD
+       STATUS_STORAGE_RESERVE_DOES_NOT_EXIST                                     NTStatus      = 0xC00004AE
+       STATUS_STORAGE_RESERVE_ALREADY_EXISTS                                     NTStatus      = 0xC00004AF
+       STATUS_STORAGE_RESERVE_NOT_EMPTY                                          NTStatus      = 0xC00004B0
+       STATUS_NOT_A_DAX_VOLUME                                                   NTStatus      = 0xC00004B1
+       STATUS_NOT_DAX_MAPPABLE                                                   NTStatus      = 0xC00004B2
+       STATUS_CASE_DIFFERING_NAMES_IN_DIR                                        NTStatus      = 0xC00004B3
+       STATUS_FILE_NOT_SUPPORTED                                                 NTStatus      = 0xC00004B4
+       STATUS_NOT_SUPPORTED_WITH_BTT                                             NTStatus      = 0xC00004B5
+       STATUS_ENCRYPTION_DISABLED                                                NTStatus      = 0xC00004B6
+       STATUS_ENCRYPTING_METADATA_DISALLOWED                                     NTStatus      = 0xC00004B7
+       STATUS_CANT_CLEAR_ENCRYPTION_FLAG                                         NTStatus      = 0xC00004B8
+       STATUS_INVALID_TASK_NAME                                                  NTStatus      = 0xC0000500
+       STATUS_INVALID_TASK_INDEX                                                 NTStatus      = 0xC0000501
+       STATUS_THREAD_ALREADY_IN_TASK                                             NTStatus      = 0xC0000502
+       STATUS_CALLBACK_BYPASS                                                    NTStatus      = 0xC0000503
+       STATUS_UNDEFINED_SCOPE                                                    NTStatus      = 0xC0000504
+       STATUS_INVALID_CAP                                                        NTStatus      = 0xC0000505
+       STATUS_NOT_GUI_PROCESS                                                    NTStatus      = 0xC0000506
+       STATUS_DEVICE_HUNG                                                        NTStatus      = 0xC0000507
+       STATUS_CONTAINER_ASSIGNED                                                 NTStatus      = 0xC0000508
+       STATUS_JOB_NO_CONTAINER                                                   NTStatus      = 0xC0000509
+       STATUS_DEVICE_UNRESPONSIVE                                                NTStatus      = 0xC000050A
+       STATUS_REPARSE_POINT_ENCOUNTERED                                          NTStatus      = 0xC000050B
+       STATUS_ATTRIBUTE_NOT_PRESENT                                              NTStatus      = 0xC000050C
+       STATUS_NOT_A_TIERED_VOLUME                                                NTStatus      = 0xC000050D
+       STATUS_ALREADY_HAS_STREAM_ID                                              NTStatus      = 0xC000050E
+       STATUS_JOB_NOT_EMPTY                                                      NTStatus      = 0xC000050F
+       STATUS_ALREADY_INITIALIZED                                                NTStatus      = 0xC0000510
+       STATUS_ENCLAVE_NOT_TERMINATED                                             NTStatus      = 0xC0000511
+       STATUS_ENCLAVE_IS_TERMINATING                                             NTStatus      = 0xC0000512
+       STATUS_SMB1_NOT_AVAILABLE                                                 NTStatus      = 0xC0000513
+       STATUS_SMR_GARBAGE_COLLECTION_REQUIRED                                    NTStatus      = 0xC0000514
+       STATUS_INTERRUPTED                                                        NTStatus      = 0xC0000515
+       STATUS_THREAD_NOT_RUNNING                                                 NTStatus      = 0xC0000516
+       STATUS_FAIL_FAST_EXCEPTION                                                NTStatus      = 0xC0000602
+       STATUS_IMAGE_CERT_REVOKED                                                 NTStatus      = 0xC0000603
+       STATUS_DYNAMIC_CODE_BLOCKED                                               NTStatus      = 0xC0000604
+       STATUS_IMAGE_CERT_EXPIRED                                                 NTStatus      = 0xC0000605
+       STATUS_STRICT_CFG_VIOLATION                                               NTStatus      = 0xC0000606
+       STATUS_SET_CONTEXT_DENIED                                                 NTStatus      = 0xC000060A
+       STATUS_CROSS_PARTITION_VIOLATION                                          NTStatus      = 0xC000060B
+       STATUS_PORT_CLOSED                                                        NTStatus      = 0xC0000700
+       STATUS_MESSAGE_LOST                                                       NTStatus      = 0xC0000701
+       STATUS_INVALID_MESSAGE                                                    NTStatus      = 0xC0000702
+       STATUS_REQUEST_CANCELED                                                   NTStatus      = 0xC0000703
+       STATUS_RECURSIVE_DISPATCH                                                 NTStatus      = 0xC0000704
+       STATUS_LPC_RECEIVE_BUFFER_EXPECTED                                        NTStatus      = 0xC0000705
+       STATUS_LPC_INVALID_CONNECTION_USAGE                                       NTStatus      = 0xC0000706
+       STATUS_LPC_REQUESTS_NOT_ALLOWED                                           NTStatus      = 0xC0000707
+       STATUS_RESOURCE_IN_USE                                                    NTStatus      = 0xC0000708
+       STATUS_HARDWARE_MEMORY_ERROR                                              NTStatus      = 0xC0000709
+       STATUS_THREADPOOL_HANDLE_EXCEPTION                                        NTStatus      = 0xC000070A
+       STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED                          NTStatus      = 0xC000070B
+       STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED                  NTStatus      = 0xC000070C
+       STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED                      NTStatus      = 0xC000070D
+       STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED                       NTStatus      = 0xC000070E
+       STATUS_THREADPOOL_RELEASED_DURING_OPERATION                               NTStatus      = 0xC000070F
+       STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING                              NTStatus      = 0xC0000710
+       STATUS_APC_RETURNED_WHILE_IMPERSONATING                                   NTStatus      = 0xC0000711
+       STATUS_PROCESS_IS_PROTECTED                                               NTStatus      = 0xC0000712
+       STATUS_MCA_EXCEPTION                                                      NTStatus      = 0xC0000713
+       STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE                                     NTStatus      = 0xC0000714
+       STATUS_SYMLINK_CLASS_DISABLED                                             NTStatus      = 0xC0000715
+       STATUS_INVALID_IDN_NORMALIZATION                                          NTStatus      = 0xC0000716
+       STATUS_NO_UNICODE_TRANSLATION                                             NTStatus      = 0xC0000717
+       STATUS_ALREADY_REGISTERED                                                 NTStatus      = 0xC0000718
+       STATUS_CONTEXT_MISMATCH                                                   NTStatus      = 0xC0000719
+       STATUS_PORT_ALREADY_HAS_COMPLETION_LIST                                   NTStatus      = 0xC000071A
+       STATUS_CALLBACK_RETURNED_THREAD_PRIORITY                                  NTStatus      = 0xC000071B
+       STATUS_INVALID_THREAD                                                     NTStatus      = 0xC000071C
+       STATUS_CALLBACK_RETURNED_TRANSACTION                                      NTStatus      = 0xC000071D
+       STATUS_CALLBACK_RETURNED_LDR_LOCK                                         NTStatus      = 0xC000071E
+       STATUS_CALLBACK_RETURNED_LANG                                             NTStatus      = 0xC000071F
+       STATUS_CALLBACK_RETURNED_PRI_BACK                                         NTStatus      = 0xC0000720
+       STATUS_CALLBACK_RETURNED_THREAD_AFFINITY                                  NTStatus      = 0xC0000721
+       STATUS_LPC_HANDLE_COUNT_EXCEEDED                                          NTStatus      = 0xC0000722
+       STATUS_EXECUTABLE_MEMORY_WRITE                                            NTStatus      = 0xC0000723
+       STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE                                     NTStatus      = 0xC0000724
+       STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE                                   NTStatus      = 0xC0000725
+       STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE                                  NTStatus      = 0xC0000726
+       STATUS_DISK_REPAIR_DISABLED                                               NTStatus      = 0xC0000800
+       STATUS_DS_DOMAIN_RENAME_IN_PROGRESS                                       NTStatus      = 0xC0000801
+       STATUS_DISK_QUOTA_EXCEEDED                                                NTStatus      = 0xC0000802
+       STATUS_DATA_LOST_REPAIR                                                   NTStatus      = 0x80000803
+       STATUS_CONTENT_BLOCKED                                                    NTStatus      = 0xC0000804
+       STATUS_BAD_CLUSTERS                                                       NTStatus      = 0xC0000805
+       STATUS_VOLUME_DIRTY                                                       NTStatus      = 0xC0000806
+       STATUS_DISK_REPAIR_REDIRECTED                                             NTStatus      = 0x40000807
+       STATUS_DISK_REPAIR_UNSUCCESSFUL                                           NTStatus      = 0xC0000808
+       STATUS_CORRUPT_LOG_OVERFULL                                               NTStatus      = 0xC0000809
+       STATUS_CORRUPT_LOG_CORRUPTED                                              NTStatus      = 0xC000080A
+       STATUS_CORRUPT_LOG_UNAVAILABLE                                            NTStatus      = 0xC000080B
+       STATUS_CORRUPT_LOG_DELETED_FULL                                           NTStatus      = 0xC000080C
+       STATUS_CORRUPT_LOG_CLEARED                                                NTStatus      = 0xC000080D
+       STATUS_ORPHAN_NAME_EXHAUSTED                                              NTStatus      = 0xC000080E
+       STATUS_PROACTIVE_SCAN_IN_PROGRESS                                         NTStatus      = 0xC000080F
+       STATUS_ENCRYPTED_IO_NOT_POSSIBLE                                          NTStatus      = 0xC0000810
+       STATUS_CORRUPT_LOG_UPLEVEL_RECORDS                                        NTStatus      = 0xC0000811
+       STATUS_FILE_CHECKED_OUT                                                   NTStatus      = 0xC0000901
+       STATUS_CHECKOUT_REQUIRED                                                  NTStatus      = 0xC0000902
+       STATUS_BAD_FILE_TYPE                                                      NTStatus      = 0xC0000903
+       STATUS_FILE_TOO_LARGE                                                     NTStatus      = 0xC0000904
+       STATUS_FORMS_AUTH_REQUIRED                                                NTStatus      = 0xC0000905
+       STATUS_VIRUS_INFECTED                                                     NTStatus      = 0xC0000906
+       STATUS_VIRUS_DELETED                                                      NTStatus      = 0xC0000907
+       STATUS_BAD_MCFG_TABLE                                                     NTStatus      = 0xC0000908
+       STATUS_CANNOT_BREAK_OPLOCK                                                NTStatus      = 0xC0000909
+       STATUS_BAD_KEY                                                            NTStatus      = 0xC000090A
+       STATUS_BAD_DATA                                                           NTStatus      = 0xC000090B
+       STATUS_NO_KEY                                                             NTStatus      = 0xC000090C
+       STATUS_FILE_HANDLE_REVOKED                                                NTStatus      = 0xC0000910
+       STATUS_WOW_ASSERTION                                                      NTStatus      = 0xC0009898
+       STATUS_INVALID_SIGNATURE                                                  NTStatus      = 0xC000A000
+       STATUS_HMAC_NOT_SUPPORTED                                                 NTStatus      = 0xC000A001
+       STATUS_AUTH_TAG_MISMATCH                                                  NTStatus      = 0xC000A002
+       STATUS_INVALID_STATE_TRANSITION                                           NTStatus      = 0xC000A003
+       STATUS_INVALID_KERNEL_INFO_VERSION                                        NTStatus      = 0xC000A004
+       STATUS_INVALID_PEP_INFO_VERSION                                           NTStatus      = 0xC000A005
+       STATUS_HANDLE_REVOKED                                                     NTStatus      = 0xC000A006
+       STATUS_EOF_ON_GHOSTED_RANGE                                               NTStatus      = 0xC000A007
+       STATUS_IPSEC_QUEUE_OVERFLOW                                               NTStatus      = 0xC000A010
+       STATUS_ND_QUEUE_OVERFLOW                                                  NTStatus      = 0xC000A011
+       STATUS_HOPLIMIT_EXCEEDED                                                  NTStatus      = 0xC000A012
+       STATUS_PROTOCOL_NOT_SUPPORTED                                             NTStatus      = 0xC000A013
+       STATUS_FASTPATH_REJECTED                                                  NTStatus      = 0xC000A014
+       STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED                         NTStatus      = 0xC000A080
+       STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR                         NTStatus      = 0xC000A081
+       STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR                             NTStatus      = 0xC000A082
+       STATUS_XML_PARSE_ERROR                                                    NTStatus      = 0xC000A083
+       STATUS_XMLDSIG_ERROR                                                      NTStatus      = 0xC000A084
+       STATUS_WRONG_COMPARTMENT                                                  NTStatus      = 0xC000A085
+       STATUS_AUTHIP_FAILURE                                                     NTStatus      = 0xC000A086
+       STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS                              NTStatus      = 0xC000A087
+       STATUS_DS_OID_NOT_FOUND                                                   NTStatus      = 0xC000A088
+       STATUS_INCORRECT_ACCOUNT_TYPE                                             NTStatus      = 0xC000A089
+       STATUS_HASH_NOT_SUPPORTED                                                 NTStatus      = 0xC000A100
+       STATUS_HASH_NOT_PRESENT                                                   NTStatus      = 0xC000A101
+       STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED                               NTStatus      = 0xC000A121
+       STATUS_GPIO_CLIENT_INFORMATION_INVALID                                    NTStatus      = 0xC000A122
+       STATUS_GPIO_VERSION_NOT_SUPPORTED                                         NTStatus      = 0xC000A123
+       STATUS_GPIO_INVALID_REGISTRATION_PACKET                                   NTStatus      = 0xC000A124
+       STATUS_GPIO_OPERATION_DENIED                                              NTStatus      = 0xC000A125
+       STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE                                     NTStatus      = 0xC000A126
+       STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED                                    NTStatus      = 0x8000A127
+       STATUS_CANNOT_SWITCH_RUNLEVEL                                             NTStatus      = 0xC000A141
+       STATUS_INVALID_RUNLEVEL_SETTING                                           NTStatus      = 0xC000A142
+       STATUS_RUNLEVEL_SWITCH_TIMEOUT                                            NTStatus      = 0xC000A143
+       STATUS_SERVICES_FAILED_AUTOSTART                                          NTStatus      = 0x4000A144
+       STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT                                      NTStatus      = 0xC000A145
+       STATUS_RUNLEVEL_SWITCH_IN_PROGRESS                                        NTStatus      = 0xC000A146
+       STATUS_NOT_APPCONTAINER                                                   NTStatus      = 0xC000A200
+       STATUS_NOT_SUPPORTED_IN_APPCONTAINER                                      NTStatus      = 0xC000A201
+       STATUS_INVALID_PACKAGE_SID_LENGTH                                         NTStatus      = 0xC000A202
+       STATUS_LPAC_ACCESS_DENIED                                                 NTStatus      = 0xC000A203
+       STATUS_ADMINLESS_ACCESS_DENIED                                            NTStatus      = 0xC000A204
+       STATUS_APP_DATA_NOT_FOUND                                                 NTStatus      = 0xC000A281
+       STATUS_APP_DATA_EXPIRED                                                   NTStatus      = 0xC000A282
+       STATUS_APP_DATA_CORRUPT                                                   NTStatus      = 0xC000A283
+       STATUS_APP_DATA_LIMIT_EXCEEDED                                            NTStatus      = 0xC000A284
+       STATUS_APP_DATA_REBOOT_REQUIRED                                           NTStatus      = 0xC000A285
+       STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED                                     NTStatus      = 0xC000A2A1
+       STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED                                    NTStatus      = 0xC000A2A2
+       STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED                                    NTStatus      = 0xC000A2A3
+       STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED                                   NTStatus      = 0xC000A2A4
+       STATUS_WOF_WIM_HEADER_CORRUPT                                             NTStatus      = 0xC000A2A5
+       STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT                                     NTStatus      = 0xC000A2A6
+       STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT                                    NTStatus      = 0xC000A2A7
+       STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE                             NTStatus      = 0xC000CE01
+       STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT                        NTStatus      = 0xC000CE02
+       STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY                                    NTStatus      = 0xC000CE03
+       STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN                        NTStatus      = 0xC000CE04
+       STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION                       NTStatus      = 0xC000CE05
+       STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT                              NTStatus      = 0xC000CF00
+       STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING                                    NTStatus      = 0xC000CF01
+       STATUS_CLOUD_FILE_METADATA_CORRUPT                                        NTStatus      = 0xC000CF02
+       STATUS_CLOUD_FILE_METADATA_TOO_LARGE                                      NTStatus      = 0xC000CF03
+       STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE                                 NTStatus      = 0x8000CF04
+       STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS                                 NTStatus      = 0x8000CF05
+       STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED                          NTStatus      = 0xC000CF06
+       STATUS_NOT_A_CLOUD_FILE                                                   NTStatus      = 0xC000CF07
+       STATUS_CLOUD_FILE_NOT_IN_SYNC                                             NTStatus      = 0xC000CF08
+       STATUS_CLOUD_FILE_ALREADY_CONNECTED                                       NTStatus      = 0xC000CF09
+       STATUS_CLOUD_FILE_NOT_SUPPORTED                                           NTStatus      = 0xC000CF0A
+       STATUS_CLOUD_FILE_INVALID_REQUEST                                         NTStatus      = 0xC000CF0B
+       STATUS_CLOUD_FILE_READ_ONLY_VOLUME                                        NTStatus      = 0xC000CF0C
+       STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY                                 NTStatus      = 0xC000CF0D
+       STATUS_CLOUD_FILE_VALIDATION_FAILED                                       NTStatus      = 0xC000CF0E
+       STATUS_CLOUD_FILE_AUTHENTICATION_FAILED                                   NTStatus      = 0xC000CF0F
+       STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES                                  NTStatus      = 0xC000CF10
+       STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE                                     NTStatus      = 0xC000CF11
+       STATUS_CLOUD_FILE_UNSUCCESSFUL                                            NTStatus      = 0xC000CF12
+       STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT                                     NTStatus      = 0xC000CF13
+       STATUS_CLOUD_FILE_IN_USE                                                  NTStatus      = 0xC000CF14
+       STATUS_CLOUD_FILE_PINNED                                                  NTStatus      = 0xC000CF15
+       STATUS_CLOUD_FILE_REQUEST_ABORTED                                         NTStatus      = 0xC000CF16
+       STATUS_CLOUD_FILE_PROPERTY_CORRUPT                                        NTStatus      = 0xC000CF17
+       STATUS_CLOUD_FILE_ACCESS_DENIED                                           NTStatus      = 0xC000CF18
+       STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS                                  NTStatus      = 0xC000CF19
+       STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT                                  NTStatus      = 0xC000CF1A
+       STATUS_CLOUD_FILE_REQUEST_CANCELED                                        NTStatus      = 0xC000CF1B
+       STATUS_CLOUD_FILE_PROVIDER_TERMINATED                                     NTStatus      = 0xC000CF1D
+       STATUS_NOT_A_CLOUD_SYNC_ROOT                                              NTStatus      = 0xC000CF1E
+       STATUS_CLOUD_FILE_REQUEST_TIMEOUT                                         NTStatus      = 0xC000CF1F
+       STATUS_ACPI_INVALID_OPCODE                                                NTStatus      = 0xC0140001
+       STATUS_ACPI_STACK_OVERFLOW                                                NTStatus      = 0xC0140002
+       STATUS_ACPI_ASSERT_FAILED                                                 NTStatus      = 0xC0140003
+       STATUS_ACPI_INVALID_INDEX                                                 NTStatus      = 0xC0140004
+       STATUS_ACPI_INVALID_ARGUMENT                                              NTStatus      = 0xC0140005
+       STATUS_ACPI_FATAL                                                         NTStatus      = 0xC0140006
+       STATUS_ACPI_INVALID_SUPERNAME                                             NTStatus      = 0xC0140007
+       STATUS_ACPI_INVALID_ARGTYPE                                               NTStatus      = 0xC0140008
+       STATUS_ACPI_INVALID_OBJTYPE                                               NTStatus      = 0xC0140009
+       STATUS_ACPI_INVALID_TARGETTYPE                                            NTStatus      = 0xC014000A
+       STATUS_ACPI_INCORRECT_ARGUMENT_COUNT                                      NTStatus      = 0xC014000B
+       STATUS_ACPI_ADDRESS_NOT_MAPPED                                            NTStatus      = 0xC014000C
+       STATUS_ACPI_INVALID_EVENTTYPE                                             NTStatus      = 0xC014000D
+       STATUS_ACPI_HANDLER_COLLISION                                             NTStatus      = 0xC014000E
+       STATUS_ACPI_INVALID_DATA                                                  NTStatus      = 0xC014000F
+       STATUS_ACPI_INVALID_REGION                                                NTStatus      = 0xC0140010
+       STATUS_ACPI_INVALID_ACCESS_SIZE                                           NTStatus      = 0xC0140011
+       STATUS_ACPI_ACQUIRE_GLOBAL_LOCK                                           NTStatus      = 0xC0140012
+       STATUS_ACPI_ALREADY_INITIALIZED                                           NTStatus      = 0xC0140013
+       STATUS_ACPI_NOT_INITIALIZED                                               NTStatus      = 0xC0140014
+       STATUS_ACPI_INVALID_MUTEX_LEVEL                                           NTStatus      = 0xC0140015
+       STATUS_ACPI_MUTEX_NOT_OWNED                                               NTStatus      = 0xC0140016
+       STATUS_ACPI_MUTEX_NOT_OWNER                                               NTStatus      = 0xC0140017
+       STATUS_ACPI_RS_ACCESS                                                     NTStatus      = 0xC0140018
+       STATUS_ACPI_INVALID_TABLE                                                 NTStatus      = 0xC0140019
+       STATUS_ACPI_REG_HANDLER_FAILED                                            NTStatus      = 0xC0140020
+       STATUS_ACPI_POWER_REQUEST_FAILED                                          NTStatus      = 0xC0140021
+       STATUS_CTX_WINSTATION_NAME_INVALID                                        NTStatus      = 0xC00A0001
+       STATUS_CTX_INVALID_PD                                                     NTStatus      = 0xC00A0002
+       STATUS_CTX_PD_NOT_FOUND                                                   NTStatus      = 0xC00A0003
+       STATUS_CTX_CDM_CONNECT                                                    NTStatus      = 0x400A0004
+       STATUS_CTX_CDM_DISCONNECT                                                 NTStatus      = 0x400A0005
+       STATUS_CTX_CLOSE_PENDING                                                  NTStatus      = 0xC00A0006
+       STATUS_CTX_NO_OUTBUF                                                      NTStatus      = 0xC00A0007
+       STATUS_CTX_MODEM_INF_NOT_FOUND                                            NTStatus      = 0xC00A0008
+       STATUS_CTX_INVALID_MODEMNAME                                              NTStatus      = 0xC00A0009
+       STATUS_CTX_RESPONSE_ERROR                                                 NTStatus      = 0xC00A000A
+       STATUS_CTX_MODEM_RESPONSE_TIMEOUT                                         NTStatus      = 0xC00A000B
+       STATUS_CTX_MODEM_RESPONSE_NO_CARRIER                                      NTStatus      = 0xC00A000C
+       STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE                                     NTStatus      = 0xC00A000D
+       STATUS_CTX_MODEM_RESPONSE_BUSY                                            NTStatus      = 0xC00A000E
+       STATUS_CTX_MODEM_RESPONSE_VOICE                                           NTStatus      = 0xC00A000F
+       STATUS_CTX_TD_ERROR                                                       NTStatus      = 0xC00A0010
+       STATUS_CTX_LICENSE_CLIENT_INVALID                                         NTStatus      = 0xC00A0012
+       STATUS_CTX_LICENSE_NOT_AVAILABLE                                          NTStatus      = 0xC00A0013
+       STATUS_CTX_LICENSE_EXPIRED                                                NTStatus      = 0xC00A0014
+       STATUS_CTX_WINSTATION_NOT_FOUND                                           NTStatus      = 0xC00A0015
+       STATUS_CTX_WINSTATION_NAME_COLLISION                                      NTStatus      = 0xC00A0016
+       STATUS_CTX_WINSTATION_BUSY                                                NTStatus      = 0xC00A0017
+       STATUS_CTX_BAD_VIDEO_MODE                                                 NTStatus      = 0xC00A0018
+       STATUS_CTX_GRAPHICS_INVALID                                               NTStatus      = 0xC00A0022
+       STATUS_CTX_NOT_CONSOLE                                                    NTStatus      = 0xC00A0024
+       STATUS_CTX_CLIENT_QUERY_TIMEOUT                                           NTStatus      = 0xC00A0026
+       STATUS_CTX_CONSOLE_DISCONNECT                                             NTStatus      = 0xC00A0027
+       STATUS_CTX_CONSOLE_CONNECT                                                NTStatus      = 0xC00A0028
+       STATUS_CTX_SHADOW_DENIED                                                  NTStatus      = 0xC00A002A
+       STATUS_CTX_WINSTATION_ACCESS_DENIED                                       NTStatus      = 0xC00A002B
+       STATUS_CTX_INVALID_WD                                                     NTStatus      = 0xC00A002E
+       STATUS_CTX_WD_NOT_FOUND                                                   NTStatus      = 0xC00A002F
+       STATUS_CTX_SHADOW_INVALID                                                 NTStatus      = 0xC00A0030
+       STATUS_CTX_SHADOW_DISABLED                                                NTStatus      = 0xC00A0031
+       STATUS_RDP_PROTOCOL_ERROR                                                 NTStatus      = 0xC00A0032
+       STATUS_CTX_CLIENT_LICENSE_NOT_SET                                         NTStatus      = 0xC00A0033
+       STATUS_CTX_CLIENT_LICENSE_IN_USE                                          NTStatus      = 0xC00A0034
+       STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE                                    NTStatus      = 0xC00A0035
+       STATUS_CTX_SHADOW_NOT_RUNNING                                             NTStatus      = 0xC00A0036
+       STATUS_CTX_LOGON_DISABLED                                                 NTStatus      = 0xC00A0037
+       STATUS_CTX_SECURITY_LAYER_ERROR                                           NTStatus      = 0xC00A0038
+       STATUS_TS_INCOMPATIBLE_SESSIONS                                           NTStatus      = 0xC00A0039
+       STATUS_TS_VIDEO_SUBSYSTEM_ERROR                                           NTStatus      = 0xC00A003A
+       STATUS_PNP_BAD_MPS_TABLE                                                  NTStatus      = 0xC0040035
+       STATUS_PNP_TRANSLATION_FAILED                                             NTStatus      = 0xC0040036
+       STATUS_PNP_IRQ_TRANSLATION_FAILED                                         NTStatus      = 0xC0040037
+       STATUS_PNP_INVALID_ID                                                     NTStatus      = 0xC0040038
+       STATUS_IO_REISSUE_AS_CACHED                                               NTStatus      = 0xC0040039
+       STATUS_MUI_FILE_NOT_FOUND                                                 NTStatus      = 0xC00B0001
+       STATUS_MUI_INVALID_FILE                                                   NTStatus      = 0xC00B0002
+       STATUS_MUI_INVALID_RC_CONFIG                                              NTStatus      = 0xC00B0003
+       STATUS_MUI_INVALID_LOCALE_NAME                                            NTStatus      = 0xC00B0004
+       STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME                                  NTStatus      = 0xC00B0005
+       STATUS_MUI_FILE_NOT_LOADED                                                NTStatus      = 0xC00B0006
+       STATUS_RESOURCE_ENUM_USER_STOP                                            NTStatus      = 0xC00B0007
+       STATUS_FLT_NO_HANDLER_DEFINED                                             NTStatus      = 0xC01C0001
+       STATUS_FLT_CONTEXT_ALREADY_DEFINED                                        NTStatus      = 0xC01C0002
+       STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST                                   NTStatus      = 0xC01C0003
+       STATUS_FLT_DISALLOW_FAST_IO                                               NTStatus      = 0xC01C0004
+       STATUS_FLT_INVALID_NAME_REQUEST                                           NTStatus      = 0xC01C0005
+       STATUS_FLT_NOT_SAFE_TO_POST_OPERATION                                     NTStatus      = 0xC01C0006
+       STATUS_FLT_NOT_INITIALIZED                                                NTStatus      = 0xC01C0007
+       STATUS_FLT_FILTER_NOT_READY                                               NTStatus      = 0xC01C0008
+       STATUS_FLT_POST_OPERATION_CLEANUP                                         NTStatus      = 0xC01C0009
+       STATUS_FLT_INTERNAL_ERROR                                                 NTStatus      = 0xC01C000A
+       STATUS_FLT_DELETING_OBJECT                                                NTStatus      = 0xC01C000B
+       STATUS_FLT_MUST_BE_NONPAGED_POOL                                          NTStatus      = 0xC01C000C
+       STATUS_FLT_DUPLICATE_ENTRY                                                NTStatus      = 0xC01C000D
+       STATUS_FLT_CBDQ_DISABLED                                                  NTStatus      = 0xC01C000E
+       STATUS_FLT_DO_NOT_ATTACH                                                  NTStatus      = 0xC01C000F
+       STATUS_FLT_DO_NOT_DETACH                                                  NTStatus      = 0xC01C0010
+       STATUS_FLT_INSTANCE_ALTITUDE_COLLISION                                    NTStatus      = 0xC01C0011
+       STATUS_FLT_INSTANCE_NAME_COLLISION                                        NTStatus      = 0xC01C0012
+       STATUS_FLT_FILTER_NOT_FOUND                                               NTStatus      = 0xC01C0013
+       STATUS_FLT_VOLUME_NOT_FOUND                                               NTStatus      = 0xC01C0014
+       STATUS_FLT_INSTANCE_NOT_FOUND                                             NTStatus      = 0xC01C0015
+       STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND                                   NTStatus      = 0xC01C0016
+       STATUS_FLT_INVALID_CONTEXT_REGISTRATION                                   NTStatus      = 0xC01C0017
+       STATUS_FLT_NAME_CACHE_MISS                                                NTStatus      = 0xC01C0018
+       STATUS_FLT_NO_DEVICE_OBJECT                                               NTStatus      = 0xC01C0019
+       STATUS_FLT_VOLUME_ALREADY_MOUNTED                                         NTStatus      = 0xC01C001A
+       STATUS_FLT_ALREADY_ENLISTED                                               NTStatus      = 0xC01C001B
+       STATUS_FLT_CONTEXT_ALREADY_LINKED                                         NTStatus      = 0xC01C001C
+       STATUS_FLT_NO_WAITER_FOR_REPLY                                            NTStatus      = 0xC01C0020
+       STATUS_FLT_REGISTRATION_BUSY                                              NTStatus      = 0xC01C0023
+       STATUS_SXS_SECTION_NOT_FOUND                                              NTStatus      = 0xC0150001
+       STATUS_SXS_CANT_GEN_ACTCTX                                                NTStatus      = 0xC0150002
+       STATUS_SXS_INVALID_ACTCTXDATA_FORMAT                                      NTStatus      = 0xC0150003
+       STATUS_SXS_ASSEMBLY_NOT_FOUND                                             NTStatus      = 0xC0150004
+       STATUS_SXS_MANIFEST_FORMAT_ERROR                                          NTStatus      = 0xC0150005
+       STATUS_SXS_MANIFEST_PARSE_ERROR                                           NTStatus      = 0xC0150006
+       STATUS_SXS_ACTIVATION_CONTEXT_DISABLED                                    NTStatus      = 0xC0150007
+       STATUS_SXS_KEY_NOT_FOUND                                                  NTStatus      = 0xC0150008
+       STATUS_SXS_VERSION_CONFLICT                                               NTStatus      = 0xC0150009
+       STATUS_SXS_WRONG_SECTION_TYPE                                             NTStatus      = 0xC015000A
+       STATUS_SXS_THREAD_QUERIES_DISABLED                                        NTStatus      = 0xC015000B
+       STATUS_SXS_ASSEMBLY_MISSING                                               NTStatus      = 0xC015000C
+       STATUS_SXS_RELEASE_ACTIVATION_CONTEXT                                     NTStatus      = 0x4015000D
+       STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET                                    NTStatus      = 0xC015000E
+       STATUS_SXS_EARLY_DEACTIVATION                                             NTStatus      = 0xC015000F
+       STATUS_SXS_INVALID_DEACTIVATION                                           NTStatus      = 0xC0150010
+       STATUS_SXS_MULTIPLE_DEACTIVATION                                          NTStatus      = 0xC0150011
+       STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY                        NTStatus      = 0xC0150012
+       STATUS_SXS_PROCESS_TERMINATION_REQUESTED                                  NTStatus      = 0xC0150013
+       STATUS_SXS_CORRUPT_ACTIVATION_STACK                                       NTStatus      = 0xC0150014
+       STATUS_SXS_CORRUPTION                                                     NTStatus      = 0xC0150015
+       STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE                               NTStatus      = 0xC0150016
+       STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME                                NTStatus      = 0xC0150017
+       STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE                                   NTStatus      = 0xC0150018
+       STATUS_SXS_IDENTITY_PARSE_ERROR                                           NTStatus      = 0xC0150019
+       STATUS_SXS_COMPONENT_STORE_CORRUPT                                        NTStatus      = 0xC015001A
+       STATUS_SXS_FILE_HASH_MISMATCH                                             NTStatus      = 0xC015001B
+       STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT                  NTStatus      = 0xC015001C
+       STATUS_SXS_IDENTITIES_DIFFERENT                                           NTStatus      = 0xC015001D
+       STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT                                   NTStatus      = 0xC015001E
+       STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY                                      NTStatus      = 0xC015001F
+       STATUS_ADVANCED_INSTALLER_FAILED                                          NTStatus      = 0xC0150020
+       STATUS_XML_ENCODING_MISMATCH                                              NTStatus      = 0xC0150021
+       STATUS_SXS_MANIFEST_TOO_BIG                                               NTStatus      = 0xC0150022
+       STATUS_SXS_SETTING_NOT_REGISTERED                                         NTStatus      = 0xC0150023
+       STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE                                 NTStatus      = 0xC0150024
+       STATUS_SMI_PRIMITIVE_INSTALLER_FAILED                                     NTStatus      = 0xC0150025
+       STATUS_GENERIC_COMMAND_FAILED                                             NTStatus      = 0xC0150026
+       STATUS_SXS_FILE_HASH_MISSING                                              NTStatus      = 0xC0150027
+       STATUS_CLUSTER_INVALID_NODE                                               NTStatus      = 0xC0130001
+       STATUS_CLUSTER_NODE_EXISTS                                                NTStatus      = 0xC0130002
+       STATUS_CLUSTER_JOIN_IN_PROGRESS                                           NTStatus      = 0xC0130003
+       STATUS_CLUSTER_NODE_NOT_FOUND                                             NTStatus      = 0xC0130004
+       STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND                                       NTStatus      = 0xC0130005
+       STATUS_CLUSTER_NETWORK_EXISTS                                             NTStatus      = 0xC0130006
+       STATUS_CLUSTER_NETWORK_NOT_FOUND                                          NTStatus      = 0xC0130007
+       STATUS_CLUSTER_NETINTERFACE_EXISTS                                        NTStatus      = 0xC0130008
+       STATUS_CLUSTER_NETINTERFACE_NOT_FOUND                                     NTStatus      = 0xC0130009
+       STATUS_CLUSTER_INVALID_REQUEST                                            NTStatus      = 0xC013000A
+       STATUS_CLUSTER_INVALID_NETWORK_PROVIDER                                   NTStatus      = 0xC013000B
+       STATUS_CLUSTER_NODE_DOWN                                                  NTStatus      = 0xC013000C
+       STATUS_CLUSTER_NODE_UNREACHABLE                                           NTStatus      = 0xC013000D
+       STATUS_CLUSTER_NODE_NOT_MEMBER                                            NTStatus      = 0xC013000E
+       STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS                                       NTStatus      = 0xC013000F
+       STATUS_CLUSTER_INVALID_NETWORK                                            NTStatus      = 0xC0130010
+       STATUS_CLUSTER_NO_NET_ADAPTERS                                            NTStatus      = 0xC0130011
+       STATUS_CLUSTER_NODE_UP                                                    NTStatus      = 0xC0130012
+       STATUS_CLUSTER_NODE_PAUSED                                                NTStatus      = 0xC0130013
+       STATUS_CLUSTER_NODE_NOT_PAUSED                                            NTStatus      = 0xC0130014
+       STATUS_CLUSTER_NO_SECURITY_CONTEXT                                        NTStatus      = 0xC0130015
+       STATUS_CLUSTER_NETWORK_NOT_INTERNAL                                       NTStatus      = 0xC0130016
+       STATUS_CLUSTER_POISONED                                                   NTStatus      = 0xC0130017
+       STATUS_CLUSTER_NON_CSV_PATH                                               NTStatus      = 0xC0130018
+       STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL                                       NTStatus      = 0xC0130019
+       STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS                          NTStatus      = 0xC0130020
+       STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR                                       NTStatus      = 0xC0130021
+       STATUS_CLUSTER_CSV_REDIRECTED                                             NTStatus      = 0xC0130022
+       STATUS_CLUSTER_CSV_NOT_REDIRECTED                                         NTStatus      = 0xC0130023
+       STATUS_CLUSTER_CSV_VOLUME_DRAINING                                        NTStatus      = 0xC0130024
+       STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS                          NTStatus      = 0xC0130025
+       STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL                    NTStatus      = 0xC0130026
+       STATUS_CLUSTER_CSV_NO_SNAPSHOTS                                           NTStatus      = 0xC0130027
+       STATUS_CSV_IO_PAUSE_TIMEOUT                                               NTStatus      = 0xC0130028
+       STATUS_CLUSTER_CSV_INVALID_HANDLE                                         NTStatus      = 0xC0130029
+       STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR                          NTStatus      = 0xC0130030
+       STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED                                 NTStatus      = 0xC0130031
+       STATUS_TRANSACTIONAL_CONFLICT                                             NTStatus      = 0xC0190001
+       STATUS_INVALID_TRANSACTION                                                NTStatus      = 0xC0190002
+       STATUS_TRANSACTION_NOT_ACTIVE                                             NTStatus      = 0xC0190003
+       STATUS_TM_INITIALIZATION_FAILED                                           NTStatus      = 0xC0190004
+       STATUS_RM_NOT_ACTIVE                                                      NTStatus      = 0xC0190005
+       STATUS_RM_METADATA_CORRUPT                                                NTStatus      = 0xC0190006
+       STATUS_TRANSACTION_NOT_JOINED                                             NTStatus      = 0xC0190007
+       STATUS_DIRECTORY_NOT_RM                                                   NTStatus      = 0xC0190008
+       STATUS_COULD_NOT_RESIZE_LOG                                               NTStatus      = 0x80190009
+       STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE                                    NTStatus      = 0xC019000A
+       STATUS_LOG_RESIZE_INVALID_SIZE                                            NTStatus      = 0xC019000B
+       STATUS_REMOTE_FILE_VERSION_MISMATCH                                       NTStatus      = 0xC019000C
+       STATUS_CRM_PROTOCOL_ALREADY_EXISTS                                        NTStatus      = 0xC019000F
+       STATUS_TRANSACTION_PROPAGATION_FAILED                                     NTStatus      = 0xC0190010
+       STATUS_CRM_PROTOCOL_NOT_FOUND                                             NTStatus      = 0xC0190011
+       STATUS_TRANSACTION_SUPERIOR_EXISTS                                        NTStatus      = 0xC0190012
+       STATUS_TRANSACTION_REQUEST_NOT_VALID                                      NTStatus      = 0xC0190013
+       STATUS_TRANSACTION_NOT_REQUESTED                                          NTStatus      = 0xC0190014
+       STATUS_TRANSACTION_ALREADY_ABORTED                                        NTStatus      = 0xC0190015
+       STATUS_TRANSACTION_ALREADY_COMMITTED                                      NTStatus      = 0xC0190016
+       STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER                                NTStatus      = 0xC0190017
+       STATUS_CURRENT_TRANSACTION_NOT_VALID                                      NTStatus      = 0xC0190018
+       STATUS_LOG_GROWTH_FAILED                                                  NTStatus      = 0xC0190019
+       STATUS_OBJECT_NO_LONGER_EXISTS                                            NTStatus      = 0xC0190021
+       STATUS_STREAM_MINIVERSION_NOT_FOUND                                       NTStatus      = 0xC0190022
+       STATUS_STREAM_MINIVERSION_NOT_VALID                                       NTStatus      = 0xC0190023
+       STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION                NTStatus      = 0xC0190024
+       STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT                           NTStatus      = 0xC0190025
+       STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS                               NTStatus      = 0xC0190026
+       STATUS_HANDLE_NO_LONGER_VALID                                             NTStatus      = 0xC0190028
+       STATUS_NO_TXF_METADATA                                                    NTStatus      = 0x80190029
+       STATUS_LOG_CORRUPTION_DETECTED                                            NTStatus      = 0xC0190030
+       STATUS_CANT_RECOVER_WITH_HANDLE_OPEN                                      NTStatus      = 0x80190031
+       STATUS_RM_DISCONNECTED                                                    NTStatus      = 0xC0190032
+       STATUS_ENLISTMENT_NOT_SUPERIOR                                            NTStatus      = 0xC0190033
+       STATUS_RECOVERY_NOT_NEEDED                                                NTStatus      = 0x40190034
+       STATUS_RM_ALREADY_STARTED                                                 NTStatus      = 0x40190035
+       STATUS_FILE_IDENTITY_NOT_PERSISTENT                                       NTStatus      = 0xC0190036
+       STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY                                NTStatus      = 0xC0190037
+       STATUS_CANT_CROSS_RM_BOUNDARY                                             NTStatus      = 0xC0190038
+       STATUS_TXF_DIR_NOT_EMPTY                                                  NTStatus      = 0xC0190039
+       STATUS_INDOUBT_TRANSACTIONS_EXIST                                         NTStatus      = 0xC019003A
+       STATUS_TM_VOLATILE                                                        NTStatus      = 0xC019003B
+       STATUS_ROLLBACK_TIMER_EXPIRED                                             NTStatus      = 0xC019003C
+       STATUS_TXF_ATTRIBUTE_CORRUPT                                              NTStatus      = 0xC019003D
+       STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION                                     NTStatus      = 0xC019003E
+       STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED                                     NTStatus      = 0xC019003F
+       STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE                              NTStatus      = 0xC0190040
+       STATUS_TXF_METADATA_ALREADY_PRESENT                                       NTStatus      = 0x80190041
+       STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET                                NTStatus      = 0x80190042
+       STATUS_TRANSACTION_REQUIRED_PROMOTION                                     NTStatus      = 0xC0190043
+       STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION                                 NTStatus      = 0xC0190044
+       STATUS_TRANSACTIONS_NOT_FROZEN                                            NTStatus      = 0xC0190045
+       STATUS_TRANSACTION_FREEZE_IN_PROGRESS                                     NTStatus      = 0xC0190046
+       STATUS_NOT_SNAPSHOT_VOLUME                                                NTStatus      = 0xC0190047
+       STATUS_NO_SAVEPOINT_WITH_OPEN_FILES                                       NTStatus      = 0xC0190048
+       STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION                                  NTStatus      = 0xC0190049
+       STATUS_TM_IDENTITY_MISMATCH                                               NTStatus      = 0xC019004A
+       STATUS_FLOATED_SECTION                                                    NTStatus      = 0xC019004B
+       STATUS_CANNOT_ACCEPT_TRANSACTED_WORK                                      NTStatus      = 0xC019004C
+       STATUS_CANNOT_ABORT_TRANSACTIONS                                          NTStatus      = 0xC019004D
+       STATUS_TRANSACTION_NOT_FOUND                                              NTStatus      = 0xC019004E
+       STATUS_RESOURCEMANAGER_NOT_FOUND                                          NTStatus      = 0xC019004F
+       STATUS_ENLISTMENT_NOT_FOUND                                               NTStatus      = 0xC0190050
+       STATUS_TRANSACTIONMANAGER_NOT_FOUND                                       NTStatus      = 0xC0190051
+       STATUS_TRANSACTIONMANAGER_NOT_ONLINE                                      NTStatus      = 0xC0190052
+       STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION                         NTStatus      = 0xC0190053
+       STATUS_TRANSACTION_NOT_ROOT                                               NTStatus      = 0xC0190054
+       STATUS_TRANSACTION_OBJECT_EXPIRED                                         NTStatus      = 0xC0190055
+       STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION                             NTStatus      = 0xC0190056
+       STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED                                  NTStatus      = 0xC0190057
+       STATUS_TRANSACTION_RECORD_TOO_LONG                                        NTStatus      = 0xC0190058
+       STATUS_NO_LINK_TRACKING_IN_TRANSACTION                                    NTStatus      = 0xC0190059
+       STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION                             NTStatus      = 0xC019005A
+       STATUS_TRANSACTION_INTEGRITY_VIOLATED                                     NTStatus      = 0xC019005B
+       STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH                               NTStatus      = 0xC019005C
+       STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT                                   NTStatus      = 0xC019005D
+       STATUS_TRANSACTION_MUST_WRITETHROUGH                                      NTStatus      = 0xC019005E
+       STATUS_TRANSACTION_NO_SUPERIOR                                            NTStatus      = 0xC019005F
+       STATUS_EXPIRED_HANDLE                                                     NTStatus      = 0xC0190060
+       STATUS_TRANSACTION_NOT_ENLISTED                                           NTStatus      = 0xC0190061
+       STATUS_LOG_SECTOR_INVALID                                                 NTStatus      = 0xC01A0001
+       STATUS_LOG_SECTOR_PARITY_INVALID                                          NTStatus      = 0xC01A0002
+       STATUS_LOG_SECTOR_REMAPPED                                                NTStatus      = 0xC01A0003
+       STATUS_LOG_BLOCK_INCOMPLETE                                               NTStatus      = 0xC01A0004
+       STATUS_LOG_INVALID_RANGE                                                  NTStatus      = 0xC01A0005
+       STATUS_LOG_BLOCKS_EXHAUSTED                                               NTStatus      = 0xC01A0006
+       STATUS_LOG_READ_CONTEXT_INVALID                                           NTStatus      = 0xC01A0007
+       STATUS_LOG_RESTART_INVALID                                                NTStatus      = 0xC01A0008
+       STATUS_LOG_BLOCK_VERSION                                                  NTStatus      = 0xC01A0009
+       STATUS_LOG_BLOCK_INVALID                                                  NTStatus      = 0xC01A000A
+       STATUS_LOG_READ_MODE_INVALID                                              NTStatus      = 0xC01A000B
+       STATUS_LOG_NO_RESTART                                                     NTStatus      = 0x401A000C
+       STATUS_LOG_METADATA_CORRUPT                                               NTStatus      = 0xC01A000D
+       STATUS_LOG_METADATA_INVALID                                               NTStatus      = 0xC01A000E
+       STATUS_LOG_METADATA_INCONSISTENT                                          NTStatus      = 0xC01A000F
+       STATUS_LOG_RESERVATION_INVALID                                            NTStatus      = 0xC01A0010
+       STATUS_LOG_CANT_DELETE                                                    NTStatus      = 0xC01A0011
+       STATUS_LOG_CONTAINER_LIMIT_EXCEEDED                                       NTStatus      = 0xC01A0012
+       STATUS_LOG_START_OF_LOG                                                   NTStatus      = 0xC01A0013
+       STATUS_LOG_POLICY_ALREADY_INSTALLED                                       NTStatus      = 0xC01A0014
+       STATUS_LOG_POLICY_NOT_INSTALLED                                           NTStatus      = 0xC01A0015
+       STATUS_LOG_POLICY_INVALID                                                 NTStatus      = 0xC01A0016
+       STATUS_LOG_POLICY_CONFLICT                                                NTStatus      = 0xC01A0017
+       STATUS_LOG_PINNED_ARCHIVE_TAIL                                            NTStatus      = 0xC01A0018
+       STATUS_LOG_RECORD_NONEXISTENT                                             NTStatus      = 0xC01A0019
+       STATUS_LOG_RECORDS_RESERVED_INVALID                                       NTStatus      = 0xC01A001A
+       STATUS_LOG_SPACE_RESERVED_INVALID                                         NTStatus      = 0xC01A001B
+       STATUS_LOG_TAIL_INVALID                                                   NTStatus      = 0xC01A001C
+       STATUS_LOG_FULL                                                           NTStatus      = 0xC01A001D
+       STATUS_LOG_MULTIPLEXED                                                    NTStatus      = 0xC01A001E
+       STATUS_LOG_DEDICATED                                                      NTStatus      = 0xC01A001F
+       STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS                                        NTStatus      = 0xC01A0020
+       STATUS_LOG_ARCHIVE_IN_PROGRESS                                            NTStatus      = 0xC01A0021
+       STATUS_LOG_EPHEMERAL                                                      NTStatus      = 0xC01A0022
+       STATUS_LOG_NOT_ENOUGH_CONTAINERS                                          NTStatus      = 0xC01A0023
+       STATUS_LOG_CLIENT_ALREADY_REGISTERED                                      NTStatus      = 0xC01A0024
+       STATUS_LOG_CLIENT_NOT_REGISTERED                                          NTStatus      = 0xC01A0025
+       STATUS_LOG_FULL_HANDLER_IN_PROGRESS                                       NTStatus      = 0xC01A0026
+       STATUS_LOG_CONTAINER_READ_FAILED                                          NTStatus      = 0xC01A0027
+       STATUS_LOG_CONTAINER_WRITE_FAILED                                         NTStatus      = 0xC01A0028
+       STATUS_LOG_CONTAINER_OPEN_FAILED                                          NTStatus      = 0xC01A0029
+       STATUS_LOG_CONTAINER_STATE_INVALID                                        NTStatus      = 0xC01A002A
+       STATUS_LOG_STATE_INVALID                                                  NTStatus      = 0xC01A002B
+       STATUS_LOG_PINNED                                                         NTStatus      = 0xC01A002C
+       STATUS_LOG_METADATA_FLUSH_FAILED                                          NTStatus      = 0xC01A002D
+       STATUS_LOG_INCONSISTENT_SECURITY                                          NTStatus      = 0xC01A002E
+       STATUS_LOG_APPENDED_FLUSH_FAILED                                          NTStatus      = 0xC01A002F
+       STATUS_LOG_PINNED_RESERVATION                                             NTStatus      = 0xC01A0030
+       STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD                                   NTStatus      = 0xC01B00EA
+       STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED                         NTStatus      = 0x801B00EB
+       STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST                                  NTStatus      = 0x401B00EC
+       STATUS_MONITOR_NO_DESCRIPTOR                                              NTStatus      = 0xC01D0001
+       STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT                                  NTStatus      = 0xC01D0002
+       STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM                                NTStatus      = 0xC01D0003
+       STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK                              NTStatus      = 0xC01D0004
+       STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED                          NTStatus      = 0xC01D0005
+       STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK                         NTStatus      = 0xC01D0006
+       STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK                         NTStatus      = 0xC01D0007
+       STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA                                    NTStatus      = 0xC01D0008
+       STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK                              NTStatus      = 0xC01D0009
+       STATUS_MONITOR_INVALID_MANUFACTURE_DATE                                   NTStatus      = 0xC01D000A
+       STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER                                  NTStatus      = 0xC01E0000
+       STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER                                   NTStatus      = 0xC01E0001
+       STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER                                   NTStatus      = 0xC01E0002
+       STATUS_GRAPHICS_ADAPTER_WAS_RESET                                         NTStatus      = 0xC01E0003
+       STATUS_GRAPHICS_INVALID_DRIVER_MODEL                                      NTStatus      = 0xC01E0004
+       STATUS_GRAPHICS_PRESENT_MODE_CHANGED                                      NTStatus      = 0xC01E0005
+       STATUS_GRAPHICS_PRESENT_OCCLUDED                                          NTStatus      = 0xC01E0006
+       STATUS_GRAPHICS_PRESENT_DENIED                                            NTStatus      = 0xC01E0007
+       STATUS_GRAPHICS_CANNOTCOLORCONVERT                                        NTStatus      = 0xC01E0008
+       STATUS_GRAPHICS_DRIVER_MISMATCH                                           NTStatus      = 0xC01E0009
+       STATUS_GRAPHICS_PARTIAL_DATA_POPULATED                                    NTStatus      = 0x401E000A
+       STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED                              NTStatus      = 0xC01E000B
+       STATUS_GRAPHICS_PRESENT_UNOCCLUDED                                        NTStatus      = 0xC01E000C
+       STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE                                    NTStatus      = 0xC01E000D
+       STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED                               NTStatus      = 0xC01E000E
+       STATUS_GRAPHICS_PRESENT_INVALID_WINDOW                                    NTStatus      = 0xC01E000F
+       STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND                                  NTStatus      = 0xC01E0010
+       STATUS_GRAPHICS_VAIL_STATE_CHANGED                                        NTStatus      = 0xC01E0011
+       STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN                        NTStatus      = 0xC01E0012
+       STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED                           NTStatus      = 0xC01E0013
+       STATUS_GRAPHICS_NO_VIDEO_MEMORY                                           NTStatus      = 0xC01E0100
+       STATUS_GRAPHICS_CANT_LOCK_MEMORY                                          NTStatus      = 0xC01E0101
+       STATUS_GRAPHICS_ALLOCATION_BUSY                                           NTStatus      = 0xC01E0102
+       STATUS_GRAPHICS_TOO_MANY_REFERENCES                                       NTStatus      = 0xC01E0103
+       STATUS_GRAPHICS_TRY_AGAIN_LATER                                           NTStatus      = 0xC01E0104
+       STATUS_GRAPHICS_TRY_AGAIN_NOW                                             NTStatus      = 0xC01E0105
+       STATUS_GRAPHICS_ALLOCATION_INVALID                                        NTStatus      = 0xC01E0106
+       STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE                          NTStatus      = 0xC01E0107
+       STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED                          NTStatus      = 0xC01E0108
+       STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION                              NTStatus      = 0xC01E0109
+       STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE                                  NTStatus      = 0xC01E0110
+       STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION                             NTStatus      = 0xC01E0111
+       STATUS_GRAPHICS_ALLOCATION_CLOSED                                         NTStatus      = 0xC01E0112
+       STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE                               NTStatus      = 0xC01E0113
+       STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE                                 NTStatus      = 0xC01E0114
+       STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE                                   NTStatus      = 0xC01E0115
+       STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST                                   NTStatus      = 0xC01E0116
+       STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE                                   NTStatus      = 0xC01E0200
+       STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION                               NTStatus      = 0x401E0201
+       STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY                                    NTStatus      = 0xC01E0300
+       STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED                              NTStatus      = 0xC01E0301
+       STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED                    NTStatus      = 0xC01E0302
+       STATUS_GRAPHICS_INVALID_VIDPN                                             NTStatus      = 0xC01E0303
+       STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE                              NTStatus      = 0xC01E0304
+       STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET                              NTStatus      = 0xC01E0305
+       STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED                              NTStatus      = 0xC01E0306
+       STATUS_GRAPHICS_MODE_NOT_PINNED                                           NTStatus      = 0x401E0307
+       STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET                               NTStatus      = 0xC01E0308
+       STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET                               NTStatus      = 0xC01E0309
+       STATUS_GRAPHICS_INVALID_FREQUENCY                                         NTStatus      = 0xC01E030A
+       STATUS_GRAPHICS_INVALID_ACTIVE_REGION                                     NTStatus      = 0xC01E030B
+       STATUS_GRAPHICS_INVALID_TOTAL_REGION                                      NTStatus      = 0xC01E030C
+       STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE                         NTStatus      = 0xC01E0310
+       STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE                         NTStatus      = 0xC01E0311
+       STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET                            NTStatus      = 0xC01E0312
+       STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY                                  NTStatus      = 0xC01E0313
+       STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET                                   NTStatus      = 0xC01E0314
+       STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET                             NTStatus      = 0xC01E0315
+       STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET                             NTStatus      = 0xC01E0316
+       STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET                                     NTStatus      = 0xC01E0317
+       STATUS_GRAPHICS_TARGET_ALREADY_IN_SET                                     NTStatus      = 0xC01E0318
+       STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH                                NTStatus      = 0xC01E0319
+       STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY                             NTStatus      = 0xC01E031A
+       STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET                         NTStatus      = 0xC01E031B
+       STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE                            NTStatus      = 0xC01E031C
+       STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET                                 NTStatus      = 0xC01E031D
+       STATUS_GRAPHICS_NO_PREFERRED_MODE                                         NTStatus      = 0x401E031E
+       STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET                             NTStatus      = 0xC01E031F
+       STATUS_GRAPHICS_STALE_MODESET                                             NTStatus      = 0xC01E0320
+       STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET                             NTStatus      = 0xC01E0321
+       STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE                               NTStatus      = 0xC01E0322
+       STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN                           NTStatus      = 0xC01E0323
+       STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE                                    NTStatus      = 0xC01E0324
+       STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION           NTStatus      = 0xC01E0325
+       STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES                   NTStatus      = 0xC01E0326
+       STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY                                      NTStatus      = 0xC01E0327
+       STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE                     NTStatus      = 0xC01E0328
+       STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET                     NTStatus      = 0xC01E0329
+       STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET                              NTStatus      = 0xC01E032A
+       STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR                                 NTStatus      = 0xC01E032B
+       STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET                              NTStatus      = 0xC01E032C
+       STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET                          NTStatus      = 0xC01E032D
+       STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE                       NTStatus      = 0xC01E032E
+       STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE                          NTStatus      = 0xC01E032F
+       STATUS_GRAPHICS_RESOURCES_NOT_RELATED                                     NTStatus      = 0xC01E0330
+       STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE                                  NTStatus      = 0xC01E0331
+       STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE                                  NTStatus      = 0xC01E0332
+       STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET                                 NTStatus      = 0xC01E0333
+       STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER              NTStatus      = 0xC01E0334
+       STATUS_GRAPHICS_NO_VIDPNMGR                                               NTStatus      = 0xC01E0335
+       STATUS_GRAPHICS_NO_ACTIVE_VIDPN                                           NTStatus      = 0xC01E0336
+       STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY                                      NTStatus      = 0xC01E0337
+       STATUS_GRAPHICS_MONITOR_NOT_CONNECTED                                     NTStatus      = 0xC01E0338
+       STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY                                    NTStatus      = 0xC01E0339
+       STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE                               NTStatus      = 0xC01E033A
+       STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE                                NTStatus      = 0xC01E033B
+       STATUS_GRAPHICS_INVALID_STRIDE                                            NTStatus      = 0xC01E033C
+       STATUS_GRAPHICS_INVALID_PIXELFORMAT                                       NTStatus      = 0xC01E033D
+       STATUS_GRAPHICS_INVALID_COLORBASIS                                        NTStatus      = 0xC01E033E
+       STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE                              NTStatus      = 0xC01E033F
+       STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY                                    NTStatus      = 0xC01E0340
+       STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT                        NTStatus      = 0xC01E0341
+       STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE                                       NTStatus      = 0xC01E0342
+       STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN                                  NTStatus      = 0xC01E0343
+       STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL                           NTStatus      = 0xC01E0344
+       STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION              NTStatus      = 0xC01E0345
+       STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED        NTStatus      = 0xC01E0346
+       STATUS_GRAPHICS_INVALID_GAMMA_RAMP                                        NTStatus      = 0xC01E0347
+       STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED                                  NTStatus      = 0xC01E0348
+       STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED                               NTStatus      = 0xC01E0349
+       STATUS_GRAPHICS_MODE_NOT_IN_MODESET                                       NTStatus      = 0xC01E034A
+       STATUS_GRAPHICS_DATASET_IS_EMPTY                                          NTStatus      = 0x401E034B
+       STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET                               NTStatus      = 0x401E034C
+       STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON              NTStatus      = 0xC01E034D
+       STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE                                 NTStatus      = 0xC01E034E
+       STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE                               NTStatus      = 0xC01E034F
+       STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS                         NTStatus      = 0xC01E0350
+       STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED           NTStatus      = 0x401E0351
+       STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING                                 NTStatus      = 0xC01E0352
+       STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED                              NTStatus      = 0xC01E0353
+       STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS                          NTStatus      = 0xC01E0354
+       STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT                               NTStatus      = 0xC01E0355
+       STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM                            NTStatus      = 0xC01E0356
+       STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN                         NTStatus      = 0xC01E0357
+       STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT                 NTStatus      = 0xC01E0358
+       STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED                                     NTStatus      = 0xC01E0359
+       STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION                        NTStatus      = 0xC01E035A
+       STATUS_GRAPHICS_INVALID_CLIENT_TYPE                                       NTStatus      = 0xC01E035B
+       STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET                                       NTStatus      = 0xC01E035C
+       STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED                         NTStatus      = 0xC01E0400
+       STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED                            NTStatus      = 0xC01E0401
+       STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS                                      NTStatus      = 0x401E042F
+       STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER                                      NTStatus      = 0xC01E0430
+       STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED                                   NTStatus      = 0xC01E0431
+       STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED                                 NTStatus      = 0xC01E0432
+       STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY                                   NTStatus      = 0xC01E0433
+       STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED                                    NTStatus      = 0xC01E0434
+       STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON                                 NTStatus      = 0xC01E0435
+       STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE                            NTStatus      = 0xC01E0436
+       STATUS_GRAPHICS_LEADLINK_START_DEFERRED                                   NTStatus      = 0x401E0437
+       STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER                                    NTStatus      = 0xC01E0438
+       STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY                                    NTStatus      = 0x401E0439
+       STATUS_GRAPHICS_START_DEFERRED                                            NTStatus      = 0x401E043A
+       STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED                               NTStatus      = 0xC01E043B
+       STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS                                   NTStatus      = 0x401E043C
+       STATUS_GRAPHICS_OPM_NOT_SUPPORTED                                         NTStatus      = 0xC01E0500
+       STATUS_GRAPHICS_COPP_NOT_SUPPORTED                                        NTStatus      = 0xC01E0501
+       STATUS_GRAPHICS_UAB_NOT_SUPPORTED                                         NTStatus      = 0xC01E0502
+       STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS                          NTStatus      = 0xC01E0503
+       STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST                            NTStatus      = 0xC01E0505
+       STATUS_GRAPHICS_OPM_INTERNAL_ERROR                                        NTStatus      = 0xC01E050B
+       STATUS_GRAPHICS_OPM_INVALID_HANDLE                                        NTStatus      = 0xC01E050C
+       STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH                            NTStatus      = 0xC01E050E
+       STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED                                 NTStatus      = 0xC01E050F
+       STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED                                  NTStatus      = 0xC01E0510
+       STATUS_GRAPHICS_PVP_HFS_FAILED                                            NTStatus      = 0xC01E0511
+       STATUS_GRAPHICS_OPM_INVALID_SRM                                           NTStatus      = 0xC01E0512
+       STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP                          NTStatus      = 0xC01E0513
+       STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP                           NTStatus      = 0xC01E0514
+       STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA                         NTStatus      = 0xC01E0515
+       STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET                                    NTStatus      = 0xC01E0516
+       STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH                                   NTStatus      = 0xC01E0517
+       STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE                      NTStatus      = 0xC01E0518
+       STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS                     NTStatus      = 0xC01E051A
+       STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS         NTStatus      = 0xC01E051C
+       STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST                           NTStatus      = 0xC01E051D
+       STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR                                 NTStatus      = 0xC01E051E
+       STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS          NTStatus      = 0xC01E051F
+       STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED                               NTStatus      = 0xC01E0520
+       STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST                         NTStatus      = 0xC01E0521
+       STATUS_GRAPHICS_I2C_NOT_SUPPORTED                                         NTStatus      = 0xC01E0580
+       STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST                                 NTStatus      = 0xC01E0581
+       STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA                               NTStatus      = 0xC01E0582
+       STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA                                  NTStatus      = 0xC01E0583
+       STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED                                   NTStatus      = 0xC01E0584
+       STATUS_GRAPHICS_DDCCI_INVALID_DATA                                        NTStatus      = 0xC01E0585
+       STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE         NTStatus      = 0xC01E0586
+       STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING                         NTStatus      = 0xC01E0587
+       STATUS_GRAPHICS_MCA_INTERNAL_ERROR                                        NTStatus      = 0xC01E0588
+       STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND                             NTStatus      = 0xC01E0589
+       STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH                              NTStatus      = 0xC01E058A
+       STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM                            NTStatus      = 0xC01E058B
+       STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE                           NTStatus      = 0xC01E058C
+       STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS                                  NTStatus      = 0xC01E058D
+       STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED                            NTStatus      = 0xC01E05E0
+       STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME                     NTStatus      = 0xC01E05E1
+       STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP                    NTStatus      = 0xC01E05E2
+       STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED                           NTStatus      = 0xC01E05E3
+       STATUS_GRAPHICS_INVALID_POINTER                                           NTStatus      = 0xC01E05E4
+       STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE                  NTStatus      = 0xC01E05E5
+       STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL                                 NTStatus      = 0xC01E05E6
+       STATUS_GRAPHICS_INTERNAL_ERROR                                            NTStatus      = 0xC01E05E7
+       STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS                           NTStatus      = 0xC01E05E8
+       STATUS_FVE_LOCKED_VOLUME                                                  NTStatus      = 0xC0210000
+       STATUS_FVE_NOT_ENCRYPTED                                                  NTStatus      = 0xC0210001
+       STATUS_FVE_BAD_INFORMATION                                                NTStatus      = 0xC0210002
+       STATUS_FVE_TOO_SMALL                                                      NTStatus      = 0xC0210003
+       STATUS_FVE_FAILED_WRONG_FS                                                NTStatus      = 0xC0210004
+       STATUS_FVE_BAD_PARTITION_SIZE                                             NTStatus      = 0xC0210005
+       STATUS_FVE_FS_NOT_EXTENDED                                                NTStatus      = 0xC0210006
+       STATUS_FVE_FS_MOUNTED                                                     NTStatus      = 0xC0210007
+       STATUS_FVE_NO_LICENSE                                                     NTStatus      = 0xC0210008
+       STATUS_FVE_ACTION_NOT_ALLOWED                                             NTStatus      = 0xC0210009
+       STATUS_FVE_BAD_DATA                                                       NTStatus      = 0xC021000A
+       STATUS_FVE_VOLUME_NOT_BOUND                                               NTStatus      = 0xC021000B
+       STATUS_FVE_NOT_DATA_VOLUME                                                NTStatus      = 0xC021000C
+       STATUS_FVE_CONV_READ_ERROR                                                NTStatus      = 0xC021000D
+       STATUS_FVE_CONV_WRITE_ERROR                                               NTStatus      = 0xC021000E
+       STATUS_FVE_OVERLAPPED_UPDATE                                              NTStatus      = 0xC021000F
+       STATUS_FVE_FAILED_SECTOR_SIZE                                             NTStatus      = 0xC0210010
+       STATUS_FVE_FAILED_AUTHENTICATION                                          NTStatus      = 0xC0210011
+       STATUS_FVE_NOT_OS_VOLUME                                                  NTStatus      = 0xC0210012
+       STATUS_FVE_KEYFILE_NOT_FOUND                                              NTStatus      = 0xC0210013
+       STATUS_FVE_KEYFILE_INVALID                                                NTStatus      = 0xC0210014
+       STATUS_FVE_KEYFILE_NO_VMK                                                 NTStatus      = 0xC0210015
+       STATUS_FVE_TPM_DISABLED                                                   NTStatus      = 0xC0210016
+       STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO                                          NTStatus      = 0xC0210017
+       STATUS_FVE_TPM_INVALID_PCR                                                NTStatus      = 0xC0210018
+       STATUS_FVE_TPM_NO_VMK                                                     NTStatus      = 0xC0210019
+       STATUS_FVE_PIN_INVALID                                                    NTStatus      = 0xC021001A
+       STATUS_FVE_AUTH_INVALID_APPLICATION                                       NTStatus      = 0xC021001B
+       STATUS_FVE_AUTH_INVALID_CONFIG                                            NTStatus      = 0xC021001C
+       STATUS_FVE_DEBUGGER_ENABLED                                               NTStatus      = 0xC021001D
+       STATUS_FVE_DRY_RUN_FAILED                                                 NTStatus      = 0xC021001E
+       STATUS_FVE_BAD_METADATA_POINTER                                           NTStatus      = 0xC021001F
+       STATUS_FVE_OLD_METADATA_COPY                                              NTStatus      = 0xC0210020
+       STATUS_FVE_REBOOT_REQUIRED                                                NTStatus      = 0xC0210021
+       STATUS_FVE_RAW_ACCESS                                                     NTStatus      = 0xC0210022
+       STATUS_FVE_RAW_BLOCKED                                                    NTStatus      = 0xC0210023
+       STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY                                       NTStatus      = 0xC0210024
+       STATUS_FVE_MOR_FAILED                                                     NTStatus      = 0xC0210025
+       STATUS_FVE_NO_FEATURE_LICENSE                                             NTStatus      = 0xC0210026
+       STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED                            NTStatus      = 0xC0210027
+       STATUS_FVE_CONV_RECOVERY_FAILED                                           NTStatus      = 0xC0210028
+       STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG                                      NTStatus      = 0xC0210029
+       STATUS_FVE_INVALID_DATUM_TYPE                                             NTStatus      = 0xC021002A
+       STATUS_FVE_VOLUME_TOO_SMALL                                               NTStatus      = 0xC0210030
+       STATUS_FVE_ENH_PIN_INVALID                                                NTStatus      = 0xC0210031
+       STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE                      NTStatus      = 0xC0210032
+       STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE                                 NTStatus      = 0xC0210033
+       STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK                                       NTStatus      = 0xC0210034
+       STATUS_FVE_NOT_ALLOWED_ON_CLUSTER                                         NTStatus      = 0xC0210035
+       STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING                        NTStatus      = 0xC0210036
+       STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE                                     NTStatus      = 0xC0210037
+       STATUS_FVE_EDRIVE_DRY_RUN_FAILED                                          NTStatus      = 0xC0210038
+       STATUS_FVE_SECUREBOOT_DISABLED                                            NTStatus      = 0xC0210039
+       STATUS_FVE_SECUREBOOT_CONFIG_CHANGE                                       NTStatus      = 0xC021003A
+       STATUS_FVE_DEVICE_LOCKEDOUT                                               NTStatus      = 0xC021003B
+       STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT                             NTStatus      = 0xC021003C
+       STATUS_FVE_NOT_DE_VOLUME                                                  NTStatus      = 0xC021003D
+       STATUS_FVE_PROTECTION_DISABLED                                            NTStatus      = 0xC021003E
+       STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED                                  NTStatus      = 0xC021003F
+       STATUS_FVE_OSV_KSR_NOT_ALLOWED                                            NTStatus      = 0xC0210040
+       STATUS_FWP_CALLOUT_NOT_FOUND                                              NTStatus      = 0xC0220001
+       STATUS_FWP_CONDITION_NOT_FOUND                                            NTStatus      = 0xC0220002
+       STATUS_FWP_FILTER_NOT_FOUND                                               NTStatus      = 0xC0220003
+       STATUS_FWP_LAYER_NOT_FOUND                                                NTStatus      = 0xC0220004
+       STATUS_FWP_PROVIDER_NOT_FOUND                                             NTStatus      = 0xC0220005
+       STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND                                     NTStatus      = 0xC0220006
+       STATUS_FWP_SUBLAYER_NOT_FOUND                                             NTStatus      = 0xC0220007
+       STATUS_FWP_NOT_FOUND                                                      NTStatus      = 0xC0220008
+       STATUS_FWP_ALREADY_EXISTS                                                 NTStatus      = 0xC0220009
+       STATUS_FWP_IN_USE                                                         NTStatus      = 0xC022000A
+       STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS                                    NTStatus      = 0xC022000B
+       STATUS_FWP_WRONG_SESSION                                                  NTStatus      = 0xC022000C
+       STATUS_FWP_NO_TXN_IN_PROGRESS                                             NTStatus      = 0xC022000D
+       STATUS_FWP_TXN_IN_PROGRESS                                                NTStatus      = 0xC022000E
+       STATUS_FWP_TXN_ABORTED                                                    NTStatus      = 0xC022000F
+       STATUS_FWP_SESSION_ABORTED                                                NTStatus      = 0xC0220010
+       STATUS_FWP_INCOMPATIBLE_TXN                                               NTStatus      = 0xC0220011
+       STATUS_FWP_TIMEOUT                                                        NTStatus      = 0xC0220012
+       STATUS_FWP_NET_EVENTS_DISABLED                                            NTStatus      = 0xC0220013
+       STATUS_FWP_INCOMPATIBLE_LAYER                                             NTStatus      = 0xC0220014
+       STATUS_FWP_KM_CLIENTS_ONLY                                                NTStatus      = 0xC0220015
+       STATUS_FWP_LIFETIME_MISMATCH                                              NTStatus      = 0xC0220016
+       STATUS_FWP_BUILTIN_OBJECT                                                 NTStatus      = 0xC0220017
+       STATUS_FWP_TOO_MANY_CALLOUTS                                              NTStatus      = 0xC0220018
+       STATUS_FWP_NOTIFICATION_DROPPED                                           NTStatus      = 0xC0220019
+       STATUS_FWP_TRAFFIC_MISMATCH                                               NTStatus      = 0xC022001A
+       STATUS_FWP_INCOMPATIBLE_SA_STATE                                          NTStatus      = 0xC022001B
+       STATUS_FWP_NULL_POINTER                                                   NTStatus      = 0xC022001C
+       STATUS_FWP_INVALID_ENUMERATOR                                             NTStatus      = 0xC022001D
+       STATUS_FWP_INVALID_FLAGS                                                  NTStatus      = 0xC022001E
+       STATUS_FWP_INVALID_NET_MASK                                               NTStatus      = 0xC022001F
+       STATUS_FWP_INVALID_RANGE                                                  NTStatus      = 0xC0220020
+       STATUS_FWP_INVALID_INTERVAL                                               NTStatus      = 0xC0220021
+       STATUS_FWP_ZERO_LENGTH_ARRAY                                              NTStatus      = 0xC0220022
+       STATUS_FWP_NULL_DISPLAY_NAME                                              NTStatus      = 0xC0220023
+       STATUS_FWP_INVALID_ACTION_TYPE                                            NTStatus      = 0xC0220024
+       STATUS_FWP_INVALID_WEIGHT                                                 NTStatus      = 0xC0220025
+       STATUS_FWP_MATCH_TYPE_MISMATCH                                            NTStatus      = 0xC0220026
+       STATUS_FWP_TYPE_MISMATCH                                                  NTStatus      = 0xC0220027
+       STATUS_FWP_OUT_OF_BOUNDS                                                  NTStatus      = 0xC0220028
+       STATUS_FWP_RESERVED                                                       NTStatus      = 0xC0220029
+       STATUS_FWP_DUPLICATE_CONDITION                                            NTStatus      = 0xC022002A
+       STATUS_FWP_DUPLICATE_KEYMOD                                               NTStatus      = 0xC022002B
+       STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER                                 NTStatus      = 0xC022002C
+       STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER                              NTStatus      = 0xC022002D
+       STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER                                NTStatus      = 0xC022002E
+       STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT                              NTStatus      = 0xC022002F
+       STATUS_FWP_INCOMPATIBLE_AUTH_METHOD                                       NTStatus      = 0xC0220030
+       STATUS_FWP_INCOMPATIBLE_DH_GROUP                                          NTStatus      = 0xC0220031
+       STATUS_FWP_EM_NOT_SUPPORTED                                               NTStatus      = 0xC0220032
+       STATUS_FWP_NEVER_MATCH                                                    NTStatus      = 0xC0220033
+       STATUS_FWP_PROVIDER_CONTEXT_MISMATCH                                      NTStatus      = 0xC0220034
+       STATUS_FWP_INVALID_PARAMETER                                              NTStatus      = 0xC0220035
+       STATUS_FWP_TOO_MANY_SUBLAYERS                                             NTStatus      = 0xC0220036
+       STATUS_FWP_CALLOUT_NOTIFICATION_FAILED                                    NTStatus      = 0xC0220037
+       STATUS_FWP_INVALID_AUTH_TRANSFORM                                         NTStatus      = 0xC0220038
+       STATUS_FWP_INVALID_CIPHER_TRANSFORM                                       NTStatus      = 0xC0220039
+       STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM                                  NTStatus      = 0xC022003A
+       STATUS_FWP_INVALID_TRANSFORM_COMBINATION                                  NTStatus      = 0xC022003B
+       STATUS_FWP_DUPLICATE_AUTH_METHOD                                          NTStatus      = 0xC022003C
+       STATUS_FWP_INVALID_TUNNEL_ENDPOINT                                        NTStatus      = 0xC022003D
+       STATUS_FWP_L2_DRIVER_NOT_READY                                            NTStatus      = 0xC022003E
+       STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED                                NTStatus      = 0xC022003F
+       STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL                          NTStatus      = 0xC0220040
+       STATUS_FWP_CONNECTIONS_DISABLED                                           NTStatus      = 0xC0220041
+       STATUS_FWP_INVALID_DNS_NAME                                               NTStatus      = 0xC0220042
+       STATUS_FWP_STILL_ON                                                       NTStatus      = 0xC0220043
+       STATUS_FWP_IKEEXT_NOT_RUNNING                                             NTStatus      = 0xC0220044
+       STATUS_FWP_TCPIP_NOT_READY                                                NTStatus      = 0xC0220100
+       STATUS_FWP_INJECT_HANDLE_CLOSING                                          NTStatus      = 0xC0220101
+       STATUS_FWP_INJECT_HANDLE_STALE                                            NTStatus      = 0xC0220102
+       STATUS_FWP_CANNOT_PEND                                                    NTStatus      = 0xC0220103
+       STATUS_FWP_DROP_NOICMP                                                    NTStatus      = 0xC0220104
+       STATUS_NDIS_CLOSING                                                       NTStatus      = 0xC0230002
+       STATUS_NDIS_BAD_VERSION                                                   NTStatus      = 0xC0230004
+       STATUS_NDIS_BAD_CHARACTERISTICS                                           NTStatus      = 0xC0230005
+       STATUS_NDIS_ADAPTER_NOT_FOUND                                             NTStatus      = 0xC0230006
+       STATUS_NDIS_OPEN_FAILED                                                   NTStatus      = 0xC0230007
+       STATUS_NDIS_DEVICE_FAILED                                                 NTStatus      = 0xC0230008
+       STATUS_NDIS_MULTICAST_FULL                                                NTStatus      = 0xC0230009
+       STATUS_NDIS_MULTICAST_EXISTS                                              NTStatus      = 0xC023000A
+       STATUS_NDIS_MULTICAST_NOT_FOUND                                           NTStatus      = 0xC023000B
+       STATUS_NDIS_REQUEST_ABORTED                                               NTStatus      = 0xC023000C
+       STATUS_NDIS_RESET_IN_PROGRESS                                             NTStatus      = 0xC023000D
+       STATUS_NDIS_NOT_SUPPORTED                                                 NTStatus      = 0xC02300BB
+       STATUS_NDIS_INVALID_PACKET                                                NTStatus      = 0xC023000F
+       STATUS_NDIS_ADAPTER_NOT_READY                                             NTStatus      = 0xC0230011
+       STATUS_NDIS_INVALID_LENGTH                                                NTStatus      = 0xC0230014
+       STATUS_NDIS_INVALID_DATA                                                  NTStatus      = 0xC0230015
+       STATUS_NDIS_BUFFER_TOO_SHORT                                              NTStatus      = 0xC0230016
+       STATUS_NDIS_INVALID_OID                                                   NTStatus      = 0xC0230017
+       STATUS_NDIS_ADAPTER_REMOVED                                               NTStatus      = 0xC0230018
+       STATUS_NDIS_UNSUPPORTED_MEDIA                                             NTStatus      = 0xC0230019
+       STATUS_NDIS_GROUP_ADDRESS_IN_USE                                          NTStatus      = 0xC023001A
+       STATUS_NDIS_FILE_NOT_FOUND                                                NTStatus      = 0xC023001B
+       STATUS_NDIS_ERROR_READING_FILE                                            NTStatus      = 0xC023001C
+       STATUS_NDIS_ALREADY_MAPPED                                                NTStatus      = 0xC023001D
+       STATUS_NDIS_RESOURCE_CONFLICT                                             NTStatus      = 0xC023001E
+       STATUS_NDIS_MEDIA_DISCONNECTED                                            NTStatus      = 0xC023001F
+       STATUS_NDIS_INVALID_ADDRESS                                               NTStatus      = 0xC0230022
+       STATUS_NDIS_INVALID_DEVICE_REQUEST                                        NTStatus      = 0xC0230010
+       STATUS_NDIS_PAUSED                                                        NTStatus      = 0xC023002A
+       STATUS_NDIS_INTERFACE_NOT_FOUND                                           NTStatus      = 0xC023002B
+       STATUS_NDIS_UNSUPPORTED_REVISION                                          NTStatus      = 0xC023002C
+       STATUS_NDIS_INVALID_PORT                                                  NTStatus      = 0xC023002D
+       STATUS_NDIS_INVALID_PORT_STATE                                            NTStatus      = 0xC023002E
+       STATUS_NDIS_LOW_POWER_STATE                                               NTStatus      = 0xC023002F
+       STATUS_NDIS_REINIT_REQUIRED                                               NTStatus      = 0xC0230030
+       STATUS_NDIS_NO_QUEUES                                                     NTStatus      = 0xC0230031
+       STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED                                     NTStatus      = 0xC0232000
+       STATUS_NDIS_DOT11_MEDIA_IN_USE                                            NTStatus      = 0xC0232001
+       STATUS_NDIS_DOT11_POWER_STATE_INVALID                                     NTStatus      = 0xC0232002
+       STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL                                      NTStatus      = 0xC0232003
+       STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL                                 NTStatus      = 0xC0232004
+       STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE                      NTStatus      = 0xC0232005
+       STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE                         NTStatus      = 0xC0232006
+       STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED                                  NTStatus      = 0xC0232007
+       STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED                                     NTStatus      = 0xC0232008
+       STATUS_NDIS_INDICATION_REQUIRED                                           NTStatus      = 0x40230001
+       STATUS_NDIS_OFFLOAD_POLICY                                                NTStatus      = 0xC023100F
+       STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED                                   NTStatus      = 0xC0231012
+       STATUS_NDIS_OFFLOAD_PATH_REJECTED                                         NTStatus      = 0xC0231013
+       STATUS_TPM_ERROR_MASK                                                     NTStatus      = 0xC0290000
+       STATUS_TPM_AUTHFAIL                                                       NTStatus      = 0xC0290001
+       STATUS_TPM_BADINDEX                                                       NTStatus      = 0xC0290002
+       STATUS_TPM_BAD_PARAMETER                                                  NTStatus      = 0xC0290003
+       STATUS_TPM_AUDITFAILURE                                                   NTStatus      = 0xC0290004
+       STATUS_TPM_CLEAR_DISABLED                                                 NTStatus      = 0xC0290005
+       STATUS_TPM_DEACTIVATED                                                    NTStatus      = 0xC0290006
+       STATUS_TPM_DISABLED                                                       NTStatus      = 0xC0290007
+       STATUS_TPM_DISABLED_CMD                                                   NTStatus      = 0xC0290008
+       STATUS_TPM_FAIL                                                           NTStatus      = 0xC0290009
+       STATUS_TPM_BAD_ORDINAL                                                    NTStatus      = 0xC029000A
+       STATUS_TPM_INSTALL_DISABLED                                               NTStatus      = 0xC029000B
+       STATUS_TPM_INVALID_KEYHANDLE                                              NTStatus      = 0xC029000C
+       STATUS_TPM_KEYNOTFOUND                                                    NTStatus      = 0xC029000D
+       STATUS_TPM_INAPPROPRIATE_ENC                                              NTStatus      = 0xC029000E
+       STATUS_TPM_MIGRATEFAIL                                                    NTStatus      = 0xC029000F
+       STATUS_TPM_INVALID_PCR_INFO                                               NTStatus      = 0xC0290010
+       STATUS_TPM_NOSPACE                                                        NTStatus      = 0xC0290011
+       STATUS_TPM_NOSRK                                                          NTStatus      = 0xC0290012
+       STATUS_TPM_NOTSEALED_BLOB                                                 NTStatus      = 0xC0290013
+       STATUS_TPM_OWNER_SET                                                      NTStatus      = 0xC0290014
+       STATUS_TPM_RESOURCES                                                      NTStatus      = 0xC0290015
+       STATUS_TPM_SHORTRANDOM                                                    NTStatus      = 0xC0290016
+       STATUS_TPM_SIZE                                                           NTStatus      = 0xC0290017
+       STATUS_TPM_WRONGPCRVAL                                                    NTStatus      = 0xC0290018
+       STATUS_TPM_BAD_PARAM_SIZE                                                 NTStatus      = 0xC0290019
+       STATUS_TPM_SHA_THREAD                                                     NTStatus      = 0xC029001A
+       STATUS_TPM_SHA_ERROR                                                      NTStatus      = 0xC029001B
+       STATUS_TPM_FAILEDSELFTEST                                                 NTStatus      = 0xC029001C
+       STATUS_TPM_AUTH2FAIL                                                      NTStatus      = 0xC029001D
+       STATUS_TPM_BADTAG                                                         NTStatus      = 0xC029001E
+       STATUS_TPM_IOERROR                                                        NTStatus      = 0xC029001F
+       STATUS_TPM_ENCRYPT_ERROR                                                  NTStatus      = 0xC0290020
+       STATUS_TPM_DECRYPT_ERROR                                                  NTStatus      = 0xC0290021
+       STATUS_TPM_INVALID_AUTHHANDLE                                             NTStatus      = 0xC0290022
+       STATUS_TPM_NO_ENDORSEMENT                                                 NTStatus      = 0xC0290023
+       STATUS_TPM_INVALID_KEYUSAGE                                               NTStatus      = 0xC0290024
+       STATUS_TPM_WRONG_ENTITYTYPE                                               NTStatus      = 0xC0290025
+       STATUS_TPM_INVALID_POSTINIT                                               NTStatus      = 0xC0290026
+       STATUS_TPM_INAPPROPRIATE_SIG                                              NTStatus      = 0xC0290027
+       STATUS_TPM_BAD_KEY_PROPERTY                                               NTStatus      = 0xC0290028
+       STATUS_TPM_BAD_MIGRATION                                                  NTStatus      = 0xC0290029
+       STATUS_TPM_BAD_SCHEME                                                     NTStatus      = 0xC029002A
+       STATUS_TPM_BAD_DATASIZE                                                   NTStatus      = 0xC029002B
+       STATUS_TPM_BAD_MODE                                                       NTStatus      = 0xC029002C
+       STATUS_TPM_BAD_PRESENCE                                                   NTStatus      = 0xC029002D
+       STATUS_TPM_BAD_VERSION                                                    NTStatus      = 0xC029002E
+       STATUS_TPM_NO_WRAP_TRANSPORT                                              NTStatus      = 0xC029002F
+       STATUS_TPM_AUDITFAIL_UNSUCCESSFUL                                         NTStatus      = 0xC0290030
+       STATUS_TPM_AUDITFAIL_SUCCESSFUL                                           NTStatus      = 0xC0290031
+       STATUS_TPM_NOTRESETABLE                                                   NTStatus      = 0xC0290032
+       STATUS_TPM_NOTLOCAL                                                       NTStatus      = 0xC0290033
+       STATUS_TPM_BAD_TYPE                                                       NTStatus      = 0xC0290034
+       STATUS_TPM_INVALID_RESOURCE                                               NTStatus      = 0xC0290035
+       STATUS_TPM_NOTFIPS                                                        NTStatus      = 0xC0290036
+       STATUS_TPM_INVALID_FAMILY                                                 NTStatus      = 0xC0290037
+       STATUS_TPM_NO_NV_PERMISSION                                               NTStatus      = 0xC0290038
+       STATUS_TPM_REQUIRES_SIGN                                                  NTStatus      = 0xC0290039
+       STATUS_TPM_KEY_NOTSUPPORTED                                               NTStatus      = 0xC029003A
+       STATUS_TPM_AUTH_CONFLICT                                                  NTStatus      = 0xC029003B
+       STATUS_TPM_AREA_LOCKED                                                    NTStatus      = 0xC029003C
+       STATUS_TPM_BAD_LOCALITY                                                   NTStatus      = 0xC029003D
+       STATUS_TPM_READ_ONLY                                                      NTStatus      = 0xC029003E
+       STATUS_TPM_PER_NOWRITE                                                    NTStatus      = 0xC029003F
+       STATUS_TPM_FAMILYCOUNT                                                    NTStatus      = 0xC0290040
+       STATUS_TPM_WRITE_LOCKED                                                   NTStatus      = 0xC0290041
+       STATUS_TPM_BAD_ATTRIBUTES                                                 NTStatus      = 0xC0290042
+       STATUS_TPM_INVALID_STRUCTURE                                              NTStatus      = 0xC0290043
+       STATUS_TPM_KEY_OWNER_CONTROL                                              NTStatus      = 0xC0290044
+       STATUS_TPM_BAD_COUNTER                                                    NTStatus      = 0xC0290045
+       STATUS_TPM_NOT_FULLWRITE                                                  NTStatus      = 0xC0290046
+       STATUS_TPM_CONTEXT_GAP                                                    NTStatus      = 0xC0290047
+       STATUS_TPM_MAXNVWRITES                                                    NTStatus      = 0xC0290048
+       STATUS_TPM_NOOPERATOR                                                     NTStatus      = 0xC0290049
+       STATUS_TPM_RESOURCEMISSING                                                NTStatus      = 0xC029004A
+       STATUS_TPM_DELEGATE_LOCK                                                  NTStatus      = 0xC029004B
+       STATUS_TPM_DELEGATE_FAMILY                                                NTStatus      = 0xC029004C
+       STATUS_TPM_DELEGATE_ADMIN                                                 NTStatus      = 0xC029004D
+       STATUS_TPM_TRANSPORT_NOTEXCLUSIVE                                         NTStatus      = 0xC029004E
+       STATUS_TPM_OWNER_CONTROL                                                  NTStatus      = 0xC029004F
+       STATUS_TPM_DAA_RESOURCES                                                  NTStatus      = 0xC0290050
+       STATUS_TPM_DAA_INPUT_DATA0                                                NTStatus      = 0xC0290051
+       STATUS_TPM_DAA_INPUT_DATA1                                                NTStatus      = 0xC0290052
+       STATUS_TPM_DAA_ISSUER_SETTINGS                                            NTStatus      = 0xC0290053
+       STATUS_TPM_DAA_TPM_SETTINGS                                               NTStatus      = 0xC0290054
+       STATUS_TPM_DAA_STAGE                                                      NTStatus      = 0xC0290055
+       STATUS_TPM_DAA_ISSUER_VALIDITY                                            NTStatus      = 0xC0290056
+       STATUS_TPM_DAA_WRONG_W                                                    NTStatus      = 0xC0290057
+       STATUS_TPM_BAD_HANDLE                                                     NTStatus      = 0xC0290058
+       STATUS_TPM_BAD_DELEGATE                                                   NTStatus      = 0xC0290059
+       STATUS_TPM_BADCONTEXT                                                     NTStatus      = 0xC029005A
+       STATUS_TPM_TOOMANYCONTEXTS                                                NTStatus      = 0xC029005B
+       STATUS_TPM_MA_TICKET_SIGNATURE                                            NTStatus      = 0xC029005C
+       STATUS_TPM_MA_DESTINATION                                                 NTStatus      = 0xC029005D
+       STATUS_TPM_MA_SOURCE                                                      NTStatus      = 0xC029005E
+       STATUS_TPM_MA_AUTHORITY                                                   NTStatus      = 0xC029005F
+       STATUS_TPM_PERMANENTEK                                                    NTStatus      = 0xC0290061
+       STATUS_TPM_BAD_SIGNATURE                                                  NTStatus      = 0xC0290062
+       STATUS_TPM_NOCONTEXTSPACE                                                 NTStatus      = 0xC0290063
+       STATUS_TPM_20_E_ASYMMETRIC                                                NTStatus      = 0xC0290081
+       STATUS_TPM_20_E_ATTRIBUTES                                                NTStatus      = 0xC0290082
+       STATUS_TPM_20_E_HASH                                                      NTStatus      = 0xC0290083
+       STATUS_TPM_20_E_VALUE                                                     NTStatus      = 0xC0290084
+       STATUS_TPM_20_E_HIERARCHY                                                 NTStatus      = 0xC0290085
+       STATUS_TPM_20_E_KEY_SIZE                                                  NTStatus      = 0xC0290087
+       STATUS_TPM_20_E_MGF                                                       NTStatus      = 0xC0290088
+       STATUS_TPM_20_E_MODE                                                      NTStatus      = 0xC0290089
+       STATUS_TPM_20_E_TYPE                                                      NTStatus      = 0xC029008A
+       STATUS_TPM_20_E_HANDLE                                                    NTStatus      = 0xC029008B
+       STATUS_TPM_20_E_KDF                                                       NTStatus      = 0xC029008C
+       STATUS_TPM_20_E_RANGE                                                     NTStatus      = 0xC029008D
+       STATUS_TPM_20_E_AUTH_FAIL                                                 NTStatus      = 0xC029008E
+       STATUS_TPM_20_E_NONCE                                                     NTStatus      = 0xC029008F
+       STATUS_TPM_20_E_PP                                                        NTStatus      = 0xC0290090
+       STATUS_TPM_20_E_SCHEME                                                    NTStatus      = 0xC0290092
+       STATUS_TPM_20_E_SIZE                                                      NTStatus      = 0xC0290095
+       STATUS_TPM_20_E_SYMMETRIC                                                 NTStatus      = 0xC0290096
+       STATUS_TPM_20_E_TAG                                                       NTStatus      = 0xC0290097
+       STATUS_TPM_20_E_SELECTOR                                                  NTStatus      = 0xC0290098
+       STATUS_TPM_20_E_INSUFFICIENT                                              NTStatus      = 0xC029009A
+       STATUS_TPM_20_E_SIGNATURE                                                 NTStatus      = 0xC029009B
+       STATUS_TPM_20_E_KEY                                                       NTStatus      = 0xC029009C
+       STATUS_TPM_20_E_POLICY_FAIL                                               NTStatus      = 0xC029009D
+       STATUS_TPM_20_E_INTEGRITY                                                 NTStatus      = 0xC029009F
+       STATUS_TPM_20_E_TICKET                                                    NTStatus      = 0xC02900A0
+       STATUS_TPM_20_E_RESERVED_BITS                                             NTStatus      = 0xC02900A1
+       STATUS_TPM_20_E_BAD_AUTH                                                  NTStatus      = 0xC02900A2
+       STATUS_TPM_20_E_EXPIRED                                                   NTStatus      = 0xC02900A3
+       STATUS_TPM_20_E_POLICY_CC                                                 NTStatus      = 0xC02900A4
+       STATUS_TPM_20_E_BINDING                                                   NTStatus      = 0xC02900A5
+       STATUS_TPM_20_E_CURVE                                                     NTStatus      = 0xC02900A6
+       STATUS_TPM_20_E_ECC_POINT                                                 NTStatus      = 0xC02900A7
+       STATUS_TPM_20_E_INITIALIZE                                                NTStatus      = 0xC0290100
+       STATUS_TPM_20_E_FAILURE                                                   NTStatus      = 0xC0290101
+       STATUS_TPM_20_E_SEQUENCE                                                  NTStatus      = 0xC0290103
+       STATUS_TPM_20_E_PRIVATE                                                   NTStatus      = 0xC029010B
+       STATUS_TPM_20_E_HMAC                                                      NTStatus      = 0xC0290119
+       STATUS_TPM_20_E_DISABLED                                                  NTStatus      = 0xC0290120
+       STATUS_TPM_20_E_EXCLUSIVE                                                 NTStatus      = 0xC0290121
+       STATUS_TPM_20_E_ECC_CURVE                                                 NTStatus      = 0xC0290123
+       STATUS_TPM_20_E_AUTH_TYPE                                                 NTStatus      = 0xC0290124
+       STATUS_TPM_20_E_AUTH_MISSING                                              NTStatus      = 0xC0290125
+       STATUS_TPM_20_E_POLICY                                                    NTStatus      = 0xC0290126
+       STATUS_TPM_20_E_PCR                                                       NTStatus      = 0xC0290127
+       STATUS_TPM_20_E_PCR_CHANGED                                               NTStatus      = 0xC0290128
+       STATUS_TPM_20_E_UPGRADE                                                   NTStatus      = 0xC029012D
+       STATUS_TPM_20_E_TOO_MANY_CONTEXTS                                         NTStatus      = 0xC029012E
+       STATUS_TPM_20_E_AUTH_UNAVAILABLE                                          NTStatus      = 0xC029012F
+       STATUS_TPM_20_E_REBOOT                                                    NTStatus      = 0xC0290130
+       STATUS_TPM_20_E_UNBALANCED                                                NTStatus      = 0xC0290131
+       STATUS_TPM_20_E_COMMAND_SIZE                                              NTStatus      = 0xC0290142
+       STATUS_TPM_20_E_COMMAND_CODE                                              NTStatus      = 0xC0290143
+       STATUS_TPM_20_E_AUTHSIZE                                                  NTStatus      = 0xC0290144
+       STATUS_TPM_20_E_AUTH_CONTEXT                                              NTStatus      = 0xC0290145
+       STATUS_TPM_20_E_NV_RANGE                                                  NTStatus      = 0xC0290146
+       STATUS_TPM_20_E_NV_SIZE                                                   NTStatus      = 0xC0290147
+       STATUS_TPM_20_E_NV_LOCKED                                                 NTStatus      = 0xC0290148
+       STATUS_TPM_20_E_NV_AUTHORIZATION                                          NTStatus      = 0xC0290149
+       STATUS_TPM_20_E_NV_UNINITIALIZED                                          NTStatus      = 0xC029014A
+       STATUS_TPM_20_E_NV_SPACE                                                  NTStatus      = 0xC029014B
+       STATUS_TPM_20_E_NV_DEFINED                                                NTStatus      = 0xC029014C
+       STATUS_TPM_20_E_BAD_CONTEXT                                               NTStatus      = 0xC0290150
+       STATUS_TPM_20_E_CPHASH                                                    NTStatus      = 0xC0290151
+       STATUS_TPM_20_E_PARENT                                                    NTStatus      = 0xC0290152
+       STATUS_TPM_20_E_NEEDS_TEST                                                NTStatus      = 0xC0290153
+       STATUS_TPM_20_E_NO_RESULT                                                 NTStatus      = 0xC0290154
+       STATUS_TPM_20_E_SENSITIVE                                                 NTStatus      = 0xC0290155
+       STATUS_TPM_COMMAND_BLOCKED                                                NTStatus      = 0xC0290400
+       STATUS_TPM_INVALID_HANDLE                                                 NTStatus      = 0xC0290401
+       STATUS_TPM_DUPLICATE_VHANDLE                                              NTStatus      = 0xC0290402
+       STATUS_TPM_EMBEDDED_COMMAND_BLOCKED                                       NTStatus      = 0xC0290403
+       STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED                                   NTStatus      = 0xC0290404
+       STATUS_TPM_RETRY                                                          NTStatus      = 0xC0290800
+       STATUS_TPM_NEEDS_SELFTEST                                                 NTStatus      = 0xC0290801
+       STATUS_TPM_DOING_SELFTEST                                                 NTStatus      = 0xC0290802
+       STATUS_TPM_DEFEND_LOCK_RUNNING                                            NTStatus      = 0xC0290803
+       STATUS_TPM_COMMAND_CANCELED                                               NTStatus      = 0xC0291001
+       STATUS_TPM_TOO_MANY_CONTEXTS                                              NTStatus      = 0xC0291002
+       STATUS_TPM_NOT_FOUND                                                      NTStatus      = 0xC0291003
+       STATUS_TPM_ACCESS_DENIED                                                  NTStatus      = 0xC0291004
+       STATUS_TPM_INSUFFICIENT_BUFFER                                            NTStatus      = 0xC0291005
+       STATUS_TPM_PPI_FUNCTION_UNSUPPORTED                                       NTStatus      = 0xC0291006
+       STATUS_PCP_ERROR_MASK                                                     NTStatus      = 0xC0292000
+       STATUS_PCP_DEVICE_NOT_READY                                               NTStatus      = 0xC0292001
+       STATUS_PCP_INVALID_HANDLE                                                 NTStatus      = 0xC0292002
+       STATUS_PCP_INVALID_PARAMETER                                              NTStatus      = 0xC0292003
+       STATUS_PCP_FLAG_NOT_SUPPORTED                                             NTStatus      = 0xC0292004
+       STATUS_PCP_NOT_SUPPORTED                                                  NTStatus      = 0xC0292005
+       STATUS_PCP_BUFFER_TOO_SMALL                                               NTStatus      = 0xC0292006
+       STATUS_PCP_INTERNAL_ERROR                                                 NTStatus      = 0xC0292007
+       STATUS_PCP_AUTHENTICATION_FAILED                                          NTStatus      = 0xC0292008
+       STATUS_PCP_AUTHENTICATION_IGNORED                                         NTStatus      = 0xC0292009
+       STATUS_PCP_POLICY_NOT_FOUND                                               NTStatus      = 0xC029200A
+       STATUS_PCP_PROFILE_NOT_FOUND                                              NTStatus      = 0xC029200B
+       STATUS_PCP_VALIDATION_FAILED                                              NTStatus      = 0xC029200C
+       STATUS_PCP_DEVICE_NOT_FOUND                                               NTStatus      = 0xC029200D
+       STATUS_PCP_WRONG_PARENT                                                   NTStatus      = 0xC029200E
+       STATUS_PCP_KEY_NOT_LOADED                                                 NTStatus      = 0xC029200F
+       STATUS_PCP_NO_KEY_CERTIFICATION                                           NTStatus      = 0xC0292010
+       STATUS_PCP_KEY_NOT_FINALIZED                                              NTStatus      = 0xC0292011
+       STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET                                  NTStatus      = 0xC0292012
+       STATUS_PCP_NOT_PCR_BOUND                                                  NTStatus      = 0xC0292013
+       STATUS_PCP_KEY_ALREADY_FINALIZED                                          NTStatus      = 0xC0292014
+       STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED                                 NTStatus      = 0xC0292015
+       STATUS_PCP_KEY_USAGE_POLICY_INVALID                                       NTStatus      = 0xC0292016
+       STATUS_PCP_SOFT_KEY_ERROR                                                 NTStatus      = 0xC0292017
+       STATUS_PCP_KEY_NOT_AUTHENTICATED                                          NTStatus      = 0xC0292018
+       STATUS_PCP_KEY_NOT_AIK                                                    NTStatus      = 0xC0292019
+       STATUS_PCP_KEY_NOT_SIGNING_KEY                                            NTStatus      = 0xC029201A
+       STATUS_PCP_LOCKED_OUT                                                     NTStatus      = 0xC029201B
+       STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED                                       NTStatus      = 0xC029201C
+       STATUS_PCP_TPM_VERSION_NOT_SUPPORTED                                      NTStatus      = 0xC029201D
+       STATUS_PCP_BUFFER_LENGTH_MISMATCH                                         NTStatus      = 0xC029201E
+       STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED                                   NTStatus      = 0xC029201F
+       STATUS_PCP_TICKET_MISSING                                                 NTStatus      = 0xC0292020
+       STATUS_PCP_RAW_POLICY_NOT_SUPPORTED                                       NTStatus      = 0xC0292021
+       STATUS_PCP_KEY_HANDLE_INVALIDATED                                         NTStatus      = 0xC0292022
+       STATUS_PCP_UNSUPPORTED_PSS_SALT                                           NTStatus      = 0x40292023
+       STATUS_RTPM_CONTEXT_CONTINUE                                              NTStatus      = 0x00293000
+       STATUS_RTPM_CONTEXT_COMPLETE                                              NTStatus      = 0x00293001
+       STATUS_RTPM_NO_RESULT                                                     NTStatus      = 0xC0293002
+       STATUS_RTPM_PCR_READ_INCOMPLETE                                           NTStatus      = 0xC0293003
+       STATUS_RTPM_INVALID_CONTEXT                                               NTStatus      = 0xC0293004
+       STATUS_RTPM_UNSUPPORTED_CMD                                               NTStatus      = 0xC0293005
+       STATUS_TPM_ZERO_EXHAUST_ENABLED                                           NTStatus      = 0xC0294000
+       STATUS_HV_INVALID_HYPERCALL_CODE                                          NTStatus      = 0xC0350002
+       STATUS_HV_INVALID_HYPERCALL_INPUT                                         NTStatus      = 0xC0350003
+       STATUS_HV_INVALID_ALIGNMENT                                               NTStatus      = 0xC0350004
+       STATUS_HV_INVALID_PARAMETER                                               NTStatus      = 0xC0350005
+       STATUS_HV_ACCESS_DENIED                                                   NTStatus      = 0xC0350006
+       STATUS_HV_INVALID_PARTITION_STATE                                         NTStatus      = 0xC0350007
+       STATUS_HV_OPERATION_DENIED                                                NTStatus      = 0xC0350008
+       STATUS_HV_UNKNOWN_PROPERTY                                                NTStatus      = 0xC0350009
+       STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE                                     NTStatus      = 0xC035000A
+       STATUS_HV_INSUFFICIENT_MEMORY                                             NTStatus      = 0xC035000B
+       STATUS_HV_PARTITION_TOO_DEEP                                              NTStatus      = 0xC035000C
+       STATUS_HV_INVALID_PARTITION_ID                                            NTStatus      = 0xC035000D
+       STATUS_HV_INVALID_VP_INDEX                                                NTStatus      = 0xC035000E
+       STATUS_HV_INVALID_PORT_ID                                                 NTStatus      = 0xC0350011
+       STATUS_HV_INVALID_CONNECTION_ID                                           NTStatus      = 0xC0350012
+       STATUS_HV_INSUFFICIENT_BUFFERS                                            NTStatus      = 0xC0350013
+       STATUS_HV_NOT_ACKNOWLEDGED                                                NTStatus      = 0xC0350014
+       STATUS_HV_INVALID_VP_STATE                                                NTStatus      = 0xC0350015
+       STATUS_HV_ACKNOWLEDGED                                                    NTStatus      = 0xC0350016
+       STATUS_HV_INVALID_SAVE_RESTORE_STATE                                      NTStatus      = 0xC0350017
+       STATUS_HV_INVALID_SYNIC_STATE                                             NTStatus      = 0xC0350018
+       STATUS_HV_OBJECT_IN_USE                                                   NTStatus      = 0xC0350019
+       STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO                                   NTStatus      = 0xC035001A
+       STATUS_HV_NO_DATA                                                         NTStatus      = 0xC035001B
+       STATUS_HV_INACTIVE                                                        NTStatus      = 0xC035001C
+       STATUS_HV_NO_RESOURCES                                                    NTStatus      = 0xC035001D
+       STATUS_HV_FEATURE_UNAVAILABLE                                             NTStatus      = 0xC035001E
+       STATUS_HV_INSUFFICIENT_BUFFER                                             NTStatus      = 0xC0350033
+       STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS                                     NTStatus      = 0xC0350038
+       STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR                                  NTStatus      = 0xC035003C
+       STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR                            NTStatus      = 0xC035003D
+       STATUS_HV_PROCESSOR_STARTUP_TIMEOUT                                       NTStatus      = 0xC035003E
+       STATUS_HV_SMX_ENABLED                                                     NTStatus      = 0xC035003F
+       STATUS_HV_INVALID_LP_INDEX                                                NTStatus      = 0xC0350041
+       STATUS_HV_INVALID_REGISTER_VALUE                                          NTStatus      = 0xC0350050
+       STATUS_HV_INVALID_VTL_STATE                                               NTStatus      = 0xC0350051
+       STATUS_HV_NX_NOT_DETECTED                                                 NTStatus      = 0xC0350055
+       STATUS_HV_INVALID_DEVICE_ID                                               NTStatus      = 0xC0350057
+       STATUS_HV_INVALID_DEVICE_STATE                                            NTStatus      = 0xC0350058
+       STATUS_HV_PENDING_PAGE_REQUESTS                                           NTStatus      = 0x00350059
+       STATUS_HV_PAGE_REQUEST_INVALID                                            NTStatus      = 0xC0350060
+       STATUS_HV_INVALID_CPU_GROUP_ID                                            NTStatus      = 0xC035006F
+       STATUS_HV_INVALID_CPU_GROUP_STATE                                         NTStatus      = 0xC0350070
+       STATUS_HV_OPERATION_FAILED                                                NTStatus      = 0xC0350071
+       STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE                             NTStatus      = 0xC0350072
+       STATUS_HV_INSUFFICIENT_ROOT_MEMORY                                        NTStatus      = 0xC0350073
+       STATUS_HV_NOT_PRESENT                                                     NTStatus      = 0xC0351000
+       STATUS_VID_DUPLICATE_HANDLER                                              NTStatus      = 0xC0370001
+       STATUS_VID_TOO_MANY_HANDLERS                                              NTStatus      = 0xC0370002
+       STATUS_VID_QUEUE_FULL                                                     NTStatus      = 0xC0370003
+       STATUS_VID_HANDLER_NOT_PRESENT                                            NTStatus      = 0xC0370004
+       STATUS_VID_INVALID_OBJECT_NAME                                            NTStatus      = 0xC0370005
+       STATUS_VID_PARTITION_NAME_TOO_LONG                                        NTStatus      = 0xC0370006
+       STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG                                    NTStatus      = 0xC0370007
+       STATUS_VID_PARTITION_ALREADY_EXISTS                                       NTStatus      = 0xC0370008
+       STATUS_VID_PARTITION_DOES_NOT_EXIST                                       NTStatus      = 0xC0370009
+       STATUS_VID_PARTITION_NAME_NOT_FOUND                                       NTStatus      = 0xC037000A
+       STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS                                   NTStatus      = 0xC037000B
+       STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT                                   NTStatus      = 0xC037000C
+       STATUS_VID_MB_STILL_REFERENCED                                            NTStatus      = 0xC037000D
+       STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED                                   NTStatus      = 0xC037000E
+       STATUS_VID_INVALID_NUMA_SETTINGS                                          NTStatus      = 0xC037000F
+       STATUS_VID_INVALID_NUMA_NODE_INDEX                                        NTStatus      = 0xC0370010
+       STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED                          NTStatus      = 0xC0370011
+       STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE                                    NTStatus      = 0xC0370012
+       STATUS_VID_PAGE_RANGE_OVERFLOW                                            NTStatus      = 0xC0370013
+       STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE                                   NTStatus      = 0xC0370014
+       STATUS_VID_INVALID_GPA_RANGE_HANDLE                                       NTStatus      = 0xC0370015
+       STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE                             NTStatus      = 0xC0370016
+       STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED                               NTStatus      = 0xC0370017
+       STATUS_VID_INVALID_PPM_HANDLE                                             NTStatus      = 0xC0370018
+       STATUS_VID_MBPS_ARE_LOCKED                                                NTStatus      = 0xC0370019
+       STATUS_VID_MESSAGE_QUEUE_CLOSED                                           NTStatus      = 0xC037001A
+       STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED                               NTStatus      = 0xC037001B
+       STATUS_VID_STOP_PENDING                                                   NTStatus      = 0xC037001C
+       STATUS_VID_INVALID_PROCESSOR_STATE                                        NTStatus      = 0xC037001D
+       STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT                                NTStatus      = 0xC037001E
+       STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED                               NTStatus      = 0xC037001F
+       STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET                                  NTStatus      = 0xC0370020
+       STATUS_VID_MMIO_RANGE_DESTROYED                                           NTStatus      = 0xC0370021
+       STATUS_VID_INVALID_CHILD_GPA_PAGE_SET                                     NTStatus      = 0xC0370022
+       STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED                                 NTStatus      = 0xC0370023
+       STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL                                     NTStatus      = 0xC0370024
+       STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE                         NTStatus      = 0xC0370025
+       STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT                                       NTStatus      = 0xC0370026
+       STATUS_VID_SAVED_STATE_CORRUPT                                            NTStatus      = 0xC0370027
+       STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM                                  NTStatus      = 0xC0370028
+       STATUS_VID_SAVED_STATE_INCOMPATIBLE                                       NTStatus      = 0xC0370029
+       STATUS_VID_VTL_ACCESS_DENIED                                              NTStatus      = 0xC037002A
+       STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED                              NTStatus      = 0x80370001
+       STATUS_IPSEC_BAD_SPI                                                      NTStatus      = 0xC0360001
+       STATUS_IPSEC_SA_LIFETIME_EXPIRED                                          NTStatus      = 0xC0360002
+       STATUS_IPSEC_WRONG_SA                                                     NTStatus      = 0xC0360003
+       STATUS_IPSEC_REPLAY_CHECK_FAILED                                          NTStatus      = 0xC0360004
+       STATUS_IPSEC_INVALID_PACKET                                               NTStatus      = 0xC0360005
+       STATUS_IPSEC_INTEGRITY_CHECK_FAILED                                       NTStatus      = 0xC0360006
+       STATUS_IPSEC_CLEAR_TEXT_DROP                                              NTStatus      = 0xC0360007
+       STATUS_IPSEC_AUTH_FIREWALL_DROP                                           NTStatus      = 0xC0360008
+       STATUS_IPSEC_THROTTLE_DROP                                                NTStatus      = 0xC0360009
+       STATUS_IPSEC_DOSP_BLOCK                                                   NTStatus      = 0xC0368000
+       STATUS_IPSEC_DOSP_RECEIVED_MULTICAST                                      NTStatus      = 0xC0368001
+       STATUS_IPSEC_DOSP_INVALID_PACKET                                          NTStatus      = 0xC0368002
+       STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED                                     NTStatus      = 0xC0368003
+       STATUS_IPSEC_DOSP_MAX_ENTRIES                                             NTStatus      = 0xC0368004
+       STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED                                      NTStatus      = 0xC0368005
+       STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES                             NTStatus      = 0xC0368006
+       STATUS_VOLMGR_INCOMPLETE_REGENERATION                                     NTStatus      = 0x80380001
+       STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION                                   NTStatus      = 0x80380002
+       STATUS_VOLMGR_DATABASE_FULL                                               NTStatus      = 0xC0380001
+       STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED                                NTStatus      = 0xC0380002
+       STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC                              NTStatus      = 0xC0380003
+       STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED                                   NTStatus      = 0xC0380004
+       STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME                             NTStatus      = 0xC0380005
+       STATUS_VOLMGR_DISK_DUPLICATE                                              NTStatus      = 0xC0380006
+       STATUS_VOLMGR_DISK_DYNAMIC                                                NTStatus      = 0xC0380007
+       STATUS_VOLMGR_DISK_ID_INVALID                                             NTStatus      = 0xC0380008
+       STATUS_VOLMGR_DISK_INVALID                                                NTStatus      = 0xC0380009
+       STATUS_VOLMGR_DISK_LAST_VOTER                                             NTStatus      = 0xC038000A
+       STATUS_VOLMGR_DISK_LAYOUT_INVALID                                         NTStatus      = 0xC038000B
+       STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS              NTStatus      = 0xC038000C
+       STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED                            NTStatus      = 0xC038000D
+       STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL                            NTStatus      = 0xC038000E
+       STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS              NTStatus      = 0xC038000F
+       STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS                             NTStatus      = 0xC0380010
+       STATUS_VOLMGR_DISK_MISSING                                                NTStatus      = 0xC0380011
+       STATUS_VOLMGR_DISK_NOT_EMPTY                                              NTStatus      = 0xC0380012
+       STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE                                       NTStatus      = 0xC0380013
+       STATUS_VOLMGR_DISK_REVECTORING_FAILED                                     NTStatus      = 0xC0380014
+       STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID                                    NTStatus      = 0xC0380015
+       STATUS_VOLMGR_DISK_SET_NOT_CONTAINED                                      NTStatus      = 0xC0380016
+       STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS                               NTStatus      = 0xC0380017
+       STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES                                NTStatus      = 0xC0380018
+       STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED                                  NTStatus      = 0xC0380019
+       STATUS_VOLMGR_EXTENT_ALREADY_USED                                         NTStatus      = 0xC038001A
+       STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS                                       NTStatus      = 0xC038001B
+       STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION                                 NTStatus      = 0xC038001C
+       STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED                                   NTStatus      = 0xC038001D
+       STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION                               NTStatus      = 0xC038001E
+       STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH                          NTStatus      = 0xC038001F
+       STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED                                NTStatus      = 0xC0380020
+       STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID                                   NTStatus      = 0xC0380021
+       STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS                                    NTStatus      = 0xC0380022
+       STATUS_VOLMGR_MEMBER_IN_SYNC                                              NTStatus      = 0xC0380023
+       STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE                                      NTStatus      = 0xC0380024
+       STATUS_VOLMGR_MEMBER_INDEX_INVALID                                        NTStatus      = 0xC0380025
+       STATUS_VOLMGR_MEMBER_MISSING                                              NTStatus      = 0xC0380026
+       STATUS_VOLMGR_MEMBER_NOT_DETACHED                                         NTStatus      = 0xC0380027
+       STATUS_VOLMGR_MEMBER_REGENERATING                                         NTStatus      = 0xC0380028
+       STATUS_VOLMGR_ALL_DISKS_FAILED                                            NTStatus      = 0xC0380029
+       STATUS_VOLMGR_NO_REGISTERED_USERS                                         NTStatus      = 0xC038002A
+       STATUS_VOLMGR_NO_SUCH_USER                                                NTStatus      = 0xC038002B
+       STATUS_VOLMGR_NOTIFICATION_RESET                                          NTStatus      = 0xC038002C
+       STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID                                   NTStatus      = 0xC038002D
+       STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID                                    NTStatus      = 0xC038002E
+       STATUS_VOLMGR_PACK_DUPLICATE                                              NTStatus      = 0xC038002F
+       STATUS_VOLMGR_PACK_ID_INVALID                                             NTStatus      = 0xC0380030
+       STATUS_VOLMGR_PACK_INVALID                                                NTStatus      = 0xC0380031
+       STATUS_VOLMGR_PACK_NAME_INVALID                                           NTStatus      = 0xC0380032
+       STATUS_VOLMGR_PACK_OFFLINE                                                NTStatus      = 0xC0380033
+       STATUS_VOLMGR_PACK_HAS_QUORUM                                             NTStatus      = 0xC0380034
+       STATUS_VOLMGR_PACK_WITHOUT_QUORUM                                         NTStatus      = 0xC0380035
+       STATUS_VOLMGR_PARTITION_STYLE_INVALID                                     NTStatus      = 0xC0380036
+       STATUS_VOLMGR_PARTITION_UPDATE_FAILED                                     NTStatus      = 0xC0380037
+       STATUS_VOLMGR_PLEX_IN_SYNC                                                NTStatus      = 0xC0380038
+       STATUS_VOLMGR_PLEX_INDEX_DUPLICATE                                        NTStatus      = 0xC0380039
+       STATUS_VOLMGR_PLEX_INDEX_INVALID                                          NTStatus      = 0xC038003A
+       STATUS_VOLMGR_PLEX_LAST_ACTIVE                                            NTStatus      = 0xC038003B
+       STATUS_VOLMGR_PLEX_MISSING                                                NTStatus      = 0xC038003C
+       STATUS_VOLMGR_PLEX_REGENERATING                                           NTStatus      = 0xC038003D
+       STATUS_VOLMGR_PLEX_TYPE_INVALID                                           NTStatus      = 0xC038003E
+       STATUS_VOLMGR_PLEX_NOT_RAID5                                              NTStatus      = 0xC038003F
+       STATUS_VOLMGR_PLEX_NOT_SIMPLE                                             NTStatus      = 0xC0380040
+       STATUS_VOLMGR_STRUCTURE_SIZE_INVALID                                      NTStatus      = 0xC0380041
+       STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS                              NTStatus      = 0xC0380042
+       STATUS_VOLMGR_TRANSACTION_IN_PROGRESS                                     NTStatus      = 0xC0380043
+       STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE                               NTStatus      = 0xC0380044
+       STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK                                NTStatus      = 0xC0380045
+       STATUS_VOLMGR_VOLUME_ID_INVALID                                           NTStatus      = 0xC0380046
+       STATUS_VOLMGR_VOLUME_LENGTH_INVALID                                       NTStatus      = 0xC0380047
+       STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE                      NTStatus      = 0xC0380048
+       STATUS_VOLMGR_VOLUME_NOT_MIRRORED                                         NTStatus      = 0xC0380049
+       STATUS_VOLMGR_VOLUME_NOT_RETAINED                                         NTStatus      = 0xC038004A
+       STATUS_VOLMGR_VOLUME_OFFLINE                                              NTStatus      = 0xC038004B
+       STATUS_VOLMGR_VOLUME_RETAINED                                             NTStatus      = 0xC038004C
+       STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID                                   NTStatus      = 0xC038004D
+       STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE                                       NTStatus      = 0xC038004E
+       STATUS_VOLMGR_BAD_BOOT_DISK                                               NTStatus      = 0xC038004F
+       STATUS_VOLMGR_PACK_CONFIG_OFFLINE                                         NTStatus      = 0xC0380050
+       STATUS_VOLMGR_PACK_CONFIG_ONLINE                                          NTStatus      = 0xC0380051
+       STATUS_VOLMGR_NOT_PRIMARY_PACK                                            NTStatus      = 0xC0380052
+       STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED                                      NTStatus      = 0xC0380053
+       STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID                             NTStatus      = 0xC0380054
+       STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID                           NTStatus      = 0xC0380055
+       STATUS_VOLMGR_VOLUME_MIRRORED                                             NTStatus      = 0xC0380056
+       STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED                                     NTStatus      = 0xC0380057
+       STATUS_VOLMGR_NO_VALID_LOG_COPIES                                         NTStatus      = 0xC0380058
+       STATUS_VOLMGR_PRIMARY_PACK_PRESENT                                        NTStatus      = 0xC0380059
+       STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID                                     NTStatus      = 0xC038005A
+       STATUS_VOLMGR_MIRROR_NOT_SUPPORTED                                        NTStatus      = 0xC038005B
+       STATUS_VOLMGR_RAID5_NOT_SUPPORTED                                         NTStatus      = 0xC038005C
+       STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED                                       NTStatus      = 0x80390001
+       STATUS_BCD_TOO_MANY_ELEMENTS                                              NTStatus      = 0xC0390002
+       STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED                                   NTStatus      = 0x80390003
+       STATUS_VHD_DRIVE_FOOTER_MISSING                                           NTStatus      = 0xC03A0001
+       STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH                                 NTStatus      = 0xC03A0002
+       STATUS_VHD_DRIVE_FOOTER_CORRUPT                                           NTStatus      = 0xC03A0003
+       STATUS_VHD_FORMAT_UNKNOWN                                                 NTStatus      = 0xC03A0004
+       STATUS_VHD_FORMAT_UNSUPPORTED_VERSION                                     NTStatus      = 0xC03A0005
+       STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH                                NTStatus      = 0xC03A0006
+       STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION                              NTStatus      = 0xC03A0007
+       STATUS_VHD_SPARSE_HEADER_CORRUPT                                          NTStatus      = 0xC03A0008
+       STATUS_VHD_BLOCK_ALLOCATION_FAILURE                                       NTStatus      = 0xC03A0009
+       STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT                                 NTStatus      = 0xC03A000A
+       STATUS_VHD_INVALID_BLOCK_SIZE                                             NTStatus      = 0xC03A000B
+       STATUS_VHD_BITMAP_MISMATCH                                                NTStatus      = 0xC03A000C
+       STATUS_VHD_PARENT_VHD_NOT_FOUND                                           NTStatus      = 0xC03A000D
+       STATUS_VHD_CHILD_PARENT_ID_MISMATCH                                       NTStatus      = 0xC03A000E
+       STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH                                NTStatus      = 0xC03A000F
+       STATUS_VHD_METADATA_READ_FAILURE                                          NTStatus      = 0xC03A0010
+       STATUS_VHD_METADATA_WRITE_FAILURE                                         NTStatus      = 0xC03A0011
+       STATUS_VHD_INVALID_SIZE                                                   NTStatus      = 0xC03A0012
+       STATUS_VHD_INVALID_FILE_SIZE                                              NTStatus      = 0xC03A0013
+       STATUS_VIRTDISK_PROVIDER_NOT_FOUND                                        NTStatus      = 0xC03A0014
+       STATUS_VIRTDISK_NOT_VIRTUAL_DISK                                          NTStatus      = 0xC03A0015
+       STATUS_VHD_PARENT_VHD_ACCESS_DENIED                                       NTStatus      = 0xC03A0016
+       STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH                                     NTStatus      = 0xC03A0017
+       STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED                              NTStatus      = 0xC03A0018
+       STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT                             NTStatus      = 0xC03A0019
+       STATUS_VIRTUAL_DISK_LIMITATION                                            NTStatus      = 0xC03A001A
+       STATUS_VHD_INVALID_TYPE                                                   NTStatus      = 0xC03A001B
+       STATUS_VHD_INVALID_STATE                                                  NTStatus      = 0xC03A001C
+       STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE                              NTStatus      = 0xC03A001D
+       STATUS_VIRTDISK_DISK_ALREADY_OWNED                                        NTStatus      = 0xC03A001E
+       STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE                                  NTStatus      = 0xC03A001F
+       STATUS_CTLOG_TRACKING_NOT_INITIALIZED                                     NTStatus      = 0xC03A0020
+       STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE                                NTStatus      = 0xC03A0021
+       STATUS_CTLOG_VHD_CHANGED_OFFLINE                                          NTStatus      = 0xC03A0022
+       STATUS_CTLOG_INVALID_TRACKING_STATE                                       NTStatus      = 0xC03A0023
+       STATUS_CTLOG_INCONSISTENT_TRACKING_FILE                                   NTStatus      = 0xC03A0024
+       STATUS_VHD_METADATA_FULL                                                  NTStatus      = 0xC03A0028
+       STATUS_VHD_INVALID_CHANGE_TRACKING_ID                                     NTStatus      = 0xC03A0029
+       STATUS_VHD_CHANGE_TRACKING_DISABLED                                       NTStatus      = 0xC03A002A
+       STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION                            NTStatus      = 0xC03A0030
+       STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA                                     NTStatus      = 0xC03A0031
+       STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE                         NTStatus      = 0xC03A0032
+       STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE                       NTStatus      = 0xC03A0033
+       STATUS_QUERY_STORAGE_ERROR                                                NTStatus      = 0x803A0001
+       STATUS_GDI_HANDLE_LEAK                                                    NTStatus      = 0x803F0001
+       STATUS_RKF_KEY_NOT_FOUND                                                  NTStatus      = 0xC0400001
+       STATUS_RKF_DUPLICATE_KEY                                                  NTStatus      = 0xC0400002
+       STATUS_RKF_BLOB_FULL                                                      NTStatus      = 0xC0400003
+       STATUS_RKF_STORE_FULL                                                     NTStatus      = 0xC0400004
+       STATUS_RKF_FILE_BLOCKED                                                   NTStatus      = 0xC0400005
+       STATUS_RKF_ACTIVE_KEY                                                     NTStatus      = 0xC0400006
+       STATUS_RDBSS_RESTART_OPERATION                                            NTStatus      = 0xC0410001
+       STATUS_RDBSS_CONTINUE_OPERATION                                           NTStatus      = 0xC0410002
+       STATUS_RDBSS_POST_OPERATION                                               NTStatus      = 0xC0410003
+       STATUS_RDBSS_RETRY_LOOKUP                                                 NTStatus      = 0xC0410004
+       STATUS_BTH_ATT_INVALID_HANDLE                                             NTStatus      = 0xC0420001
+       STATUS_BTH_ATT_READ_NOT_PERMITTED                                         NTStatus      = 0xC0420002
+       STATUS_BTH_ATT_WRITE_NOT_PERMITTED                                        NTStatus      = 0xC0420003
+       STATUS_BTH_ATT_INVALID_PDU                                                NTStatus      = 0xC0420004
+       STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION                                NTStatus      = 0xC0420005
+       STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED                                      NTStatus      = 0xC0420006
+       STATUS_BTH_ATT_INVALID_OFFSET                                             NTStatus      = 0xC0420007
+       STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION                                 NTStatus      = 0xC0420008
+       STATUS_BTH_ATT_PREPARE_QUEUE_FULL                                         NTStatus      = 0xC0420009
+       STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND                                        NTStatus      = 0xC042000A
+       STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG                                         NTStatus      = 0xC042000B
+       STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE                           NTStatus      = 0xC042000C
+       STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH                             NTStatus      = 0xC042000D
+       STATUS_BTH_ATT_UNLIKELY                                                   NTStatus      = 0xC042000E
+       STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION                                    NTStatus      = 0xC042000F
+       STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE                                     NTStatus      = 0xC0420010
+       STATUS_BTH_ATT_INSUFFICIENT_RESOURCES                                     NTStatus      = 0xC0420011
+       STATUS_BTH_ATT_UNKNOWN_ERROR                                              NTStatus      = 0xC0421000
+       STATUS_SECUREBOOT_ROLLBACK_DETECTED                                       NTStatus      = 0xC0430001
+       STATUS_SECUREBOOT_POLICY_VIOLATION                                        NTStatus      = 0xC0430002
+       STATUS_SECUREBOOT_INVALID_POLICY                                          NTStatus      = 0xC0430003
+       STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND                              NTStatus      = 0xC0430004
+       STATUS_SECUREBOOT_POLICY_NOT_SIGNED                                       NTStatus      = 0xC0430005
+       STATUS_SECUREBOOT_NOT_ENABLED                                             NTStatus      = 0x80430006
+       STATUS_SECUREBOOT_FILE_REPLACED                                           NTStatus      = 0xC0430007
+       STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED                                   NTStatus      = 0xC0430008
+       STATUS_SECUREBOOT_POLICY_UNKNOWN                                          NTStatus      = 0xC0430009
+       STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION                      NTStatus      = 0xC043000A
+       STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH                                    NTStatus      = 0xC043000B
+       STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED                                NTStatus      = 0xC043000C
+       STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH                                 NTStatus      = 0xC043000D
+       STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING                            NTStatus      = 0xC043000E
+       STATUS_SECUREBOOT_NOT_BASE_POLICY                                         NTStatus      = 0xC043000F
+       STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY                                 NTStatus      = 0xC0430010
+       STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED                                   NTStatus      = 0xC0EB0001
+       STATUS_PLATFORM_MANIFEST_INVALID                                          NTStatus      = 0xC0EB0002
+       STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED                              NTStatus      = 0xC0EB0003
+       STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED                           NTStatus      = 0xC0EB0004
+       STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND                              NTStatus      = 0xC0EB0005
+       STATUS_PLATFORM_MANIFEST_NOT_ACTIVE                                       NTStatus      = 0xC0EB0006
+       STATUS_PLATFORM_MANIFEST_NOT_SIGNED                                       NTStatus      = 0xC0EB0007
+       STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED                                 NTStatus      = 0xC0E90001
+       STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION                                  NTStatus      = 0xC0E90002
+       STATUS_SYSTEM_INTEGRITY_INVALID_POLICY                                    NTStatus      = 0xC0E90003
+       STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED                                 NTStatus      = 0xC0E90004
+       STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES                                 NTStatus      = 0xC0E90005
+       STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED                NTStatus      = 0xC0E90006
+       STATUS_NO_APPLICABLE_APP_LICENSES_FOUND                                   NTStatus      = 0xC0EA0001
+       STATUS_CLIP_LICENSE_NOT_FOUND                                             NTStatus      = 0xC0EA0002
+       STATUS_CLIP_DEVICE_LICENSE_MISSING                                        NTStatus      = 0xC0EA0003
+       STATUS_CLIP_LICENSE_INVALID_SIGNATURE                                     NTStatus      = 0xC0EA0004
+       STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID                          NTStatus      = 0xC0EA0005
+       STATUS_CLIP_LICENSE_EXPIRED                                               NTStatus      = 0xC0EA0006
+       STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE                              NTStatus      = 0xC0EA0007
+       STATUS_CLIP_LICENSE_NOT_SIGNED                                            NTStatus      = 0xC0EA0008
+       STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE                          NTStatus      = 0xC0EA0009
+       STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH                                    NTStatus      = 0xC0EA000A
+       STATUS_AUDIO_ENGINE_NODE_NOT_FOUND                                        NTStatus      = 0xC0440001
+       STATUS_HDAUDIO_EMPTY_CONNECTION_LIST                                      NTStatus      = 0xC0440002
+       STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED                              NTStatus      = 0xC0440003
+       STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED                                 NTStatus      = 0xC0440004
+       STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY                                     NTStatus      = 0xC0440005
+       STATUS_SPACES_REPAIRED                                                    NTStatus      = 0x00E70000
+       STATUS_SPACES_PAUSE                                                       NTStatus      = 0x00E70001
+       STATUS_SPACES_COMPLETE                                                    NTStatus      = 0x00E70002
+       STATUS_SPACES_REDIRECT                                                    NTStatus      = 0x00E70003
+       STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID                                   NTStatus      = 0xC0E70001
+       STATUS_SPACES_RESILIENCY_TYPE_INVALID                                     NTStatus      = 0xC0E70003
+       STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID                                   NTStatus      = 0xC0E70004
+       STATUS_SPACES_DRIVE_REDUNDANCY_INVALID                                    NTStatus      = 0xC0E70006
+       STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID                               NTStatus      = 0xC0E70007
+       STATUS_SPACES_INTERLEAVE_LENGTH_INVALID                                   NTStatus      = 0xC0E70009
+       STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID                                   NTStatus      = 0xC0E7000A
+       STATUS_SPACES_NOT_ENOUGH_DRIVES                                           NTStatus      = 0xC0E7000B
+       STATUS_SPACES_EXTENDED_ERROR                                              NTStatus      = 0xC0E7000C
+       STATUS_SPACES_PROVISIONING_TYPE_INVALID                                   NTStatus      = 0xC0E7000D
+       STATUS_SPACES_ALLOCATION_SIZE_INVALID                                     NTStatus      = 0xC0E7000E
+       STATUS_SPACES_ENCLOSURE_AWARE_INVALID                                     NTStatus      = 0xC0E7000F
+       STATUS_SPACES_WRITE_CACHE_SIZE_INVALID                                    NTStatus      = 0xC0E70010
+       STATUS_SPACES_NUMBER_OF_GROUPS_INVALID                                    NTStatus      = 0xC0E70011
+       STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID                             NTStatus      = 0xC0E70012
+       STATUS_SPACES_UPDATE_COLUMN_STATE                                         NTStatus      = 0xC0E70013
+       STATUS_SPACES_MAP_REQUIRED                                                NTStatus      = 0xC0E70014
+       STATUS_SPACES_UNSUPPORTED_VERSION                                         NTStatus      = 0xC0E70015
+       STATUS_SPACES_CORRUPT_METADATA                                            NTStatus      = 0xC0E70016
+       STATUS_SPACES_DRT_FULL                                                    NTStatus      = 0xC0E70017
+       STATUS_SPACES_INCONSISTENCY                                               NTStatus      = 0xC0E70018
+       STATUS_SPACES_LOG_NOT_READY                                               NTStatus      = 0xC0E70019
+       STATUS_SPACES_NO_REDUNDANCY                                               NTStatus      = 0xC0E7001A
+       STATUS_SPACES_DRIVE_NOT_READY                                             NTStatus      = 0xC0E7001B
+       STATUS_SPACES_DRIVE_SPLIT                                                 NTStatus      = 0xC0E7001C
+       STATUS_SPACES_DRIVE_LOST_DATA                                             NTStatus      = 0xC0E7001D
+       STATUS_SPACES_ENTRY_INCOMPLETE                                            NTStatus      = 0xC0E7001E
+       STATUS_SPACES_ENTRY_INVALID                                               NTStatus      = 0xC0E7001F
+       STATUS_SPACES_MARK_DIRTY                                                  NTStatus      = 0xC0E70020
+       STATUS_VOLSNAP_BOOTFILE_NOT_VALID                                         NTStatus      = 0xC0500003
+       STATUS_VOLSNAP_ACTIVATION_TIMEOUT                                         NTStatus      = 0xC0500004
+       STATUS_IO_PREEMPTED                                                       NTStatus      = 0xC0510001
+       STATUS_SVHDX_ERROR_STORED                                                 NTStatus      = 0xC05C0000
+       STATUS_SVHDX_ERROR_NOT_AVAILABLE                                          NTStatus      = 0xC05CFF00
+       STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE                                     NTStatus      = 0xC05CFF01
+       STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED                         NTStatus      = 0xC05CFF02
+       STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED                        NTStatus      = 0xC05CFF03
+       STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED                         NTStatus      = 0xC05CFF04
+       STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED                       NTStatus      = 0xC05CFF05
+       STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED                  NTStatus      = 0xC05CFF06
+       STATUS_SVHDX_RESERVATION_CONFLICT                                         NTStatus      = 0xC05CFF07
+       STATUS_SVHDX_WRONG_FILE_TYPE                                              NTStatus      = 0xC05CFF08
+       STATUS_SVHDX_VERSION_MISMATCH                                             NTStatus      = 0xC05CFF09
+       STATUS_VHD_SHARED                                                         NTStatus      = 0xC05CFF0A
+       STATUS_SVHDX_NO_INITIATOR                                                 NTStatus      = 0xC05CFF0B
+       STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND                                   NTStatus      = 0xC05CFF0C
+       STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP                              NTStatus      = 0xC05D0000
+       STATUS_SMB_BAD_CLUSTER_DIALECT                                            NTStatus      = 0xC05D0001
+       STATUS_SMB_GUEST_LOGON_BLOCKED                                            NTStatus      = 0xC05D0002
+       STATUS_SECCORE_INVALID_COMMAND                                            NTStatus      = 0xC0E80000
+       STATUS_VSM_NOT_INITIALIZED                                                NTStatus      = 0xC0450000
+       STATUS_VSM_DMA_PROTECTION_NOT_IN_USE                                      NTStatus      = 0xC0450001
+       STATUS_APPEXEC_CONDITION_NOT_SATISFIED                                    NTStatus      = 0xC0EC0000
+       STATUS_APPEXEC_HANDLE_INVALIDATED                                         NTStatus      = 0xC0EC0001
+       STATUS_APPEXEC_INVALID_HOST_GENERATION                                    NTStatus      = 0xC0EC0002
+       STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION                            NTStatus      = 0xC0EC0003
+       STATUS_APPEXEC_INVALID_HOST_STATE                                         NTStatus      = 0xC0EC0004
+       STATUS_APPEXEC_NO_DONOR                                                   NTStatus      = 0xC0EC0005
+       STATUS_APPEXEC_HOST_ID_MISMATCH                                           NTStatus      = 0xC0EC0006
+       STATUS_APPEXEC_UNKNOWN_USER                                               NTStatus      = 0xC0EC0007
 )
index c38c59d772c4258ab42f9fcbac2cee0f08ca3f68..559bc845c99cdaa078b0d25125a772218fe0e846 100644 (file)
@@ -146,6 +146,8 @@ var (
        procCertDeleteCertificateFromStore                       = modcrypt32.NewProc("CertDeleteCertificateFromStore")
        procCertDuplicateCertificateContext                      = modcrypt32.NewProc("CertDuplicateCertificateContext")
        procCertEnumCertificatesInStore                          = modcrypt32.NewProc("CertEnumCertificatesInStore")
+       procCertFindCertificateInStore                           = modcrypt32.NewProc("CertFindCertificateInStore")
+       procCertFindChainInStore                                 = modcrypt32.NewProc("CertFindChainInStore")
        procCertFindExtension                                    = modcrypt32.NewProc("CertFindExtension")
        procCertFreeCertificateChain                             = modcrypt32.NewProc("CertFreeCertificateChain")
        procCertFreeCertificateContext                           = modcrypt32.NewProc("CertFreeCertificateContext")
@@ -154,6 +156,7 @@ var (
        procCertOpenStore                                        = modcrypt32.NewProc("CertOpenStore")
        procCertOpenSystemStoreW                                 = modcrypt32.NewProc("CertOpenSystemStoreW")
        procCertVerifyCertificateChainPolicy                     = modcrypt32.NewProc("CertVerifyCertificateChainPolicy")
+       procCryptAcquireCertificatePrivateKey                    = modcrypt32.NewProc("CryptAcquireCertificatePrivateKey")
        procCryptDecodeObject                                    = modcrypt32.NewProc("CryptDecodeObject")
        procCryptProtectData                                     = modcrypt32.NewProc("CryptProtectData")
        procCryptQueryObject                                     = modcrypt32.NewProc("CryptQueryObject")
@@ -169,6 +172,7 @@ var (
        procCancelIo                                             = modkernel32.NewProc("CancelIo")
        procCancelIoEx                                           = modkernel32.NewProc("CancelIoEx")
        procCloseHandle                                          = modkernel32.NewProc("CloseHandle")
+       procConnectNamedPipe                                     = modkernel32.NewProc("ConnectNamedPipe")
        procCreateDirectoryW                                     = modkernel32.NewProc("CreateDirectoryW")
        procCreateEventExW                                       = modkernel32.NewProc("CreateEventExW")
        procCreateEventW                                         = modkernel32.NewProc("CreateEventW")
@@ -179,12 +183,14 @@ var (
        procCreateJobObjectW                                     = modkernel32.NewProc("CreateJobObjectW")
        procCreateMutexExW                                       = modkernel32.NewProc("CreateMutexExW")
        procCreateMutexW                                         = modkernel32.NewProc("CreateMutexW")
+       procCreateNamedPipeW                                     = modkernel32.NewProc("CreateNamedPipeW")
        procCreatePipe                                           = modkernel32.NewProc("CreatePipe")
        procCreateProcessW                                       = modkernel32.NewProc("CreateProcessW")
        procCreateSymbolicLinkW                                  = modkernel32.NewProc("CreateSymbolicLinkW")
        procCreateToolhelp32Snapshot                             = modkernel32.NewProc("CreateToolhelp32Snapshot")
        procDefineDosDeviceW                                     = modkernel32.NewProc("DefineDosDeviceW")
        procDeleteFileW                                          = modkernel32.NewProc("DeleteFileW")
+       procDeleteProcThreadAttributeList                        = modkernel32.NewProc("DeleteProcThreadAttributeList")
        procDeleteVolumeMountPointW                              = modkernel32.NewProc("DeleteVolumeMountPointW")
        procDeviceIoControl                                      = modkernel32.NewProc("DeviceIoControl")
        procDuplicateHandle                                      = modkernel32.NewProc("DuplicateHandle")
@@ -199,6 +205,7 @@ var (
        procFindNextFileW                                        = modkernel32.NewProc("FindNextFileW")
        procFindNextVolumeMountPointW                            = modkernel32.NewProc("FindNextVolumeMountPointW")
        procFindNextVolumeW                                      = modkernel32.NewProc("FindNextVolumeW")
+       procFindResourceW                                        = modkernel32.NewProc("FindResourceW")
        procFindVolumeClose                                      = modkernel32.NewProc("FindVolumeClose")
        procFindVolumeMountPointClose                            = modkernel32.NewProc("FindVolumeMountPointClose")
        procFlushFileBuffers                                     = modkernel32.NewProc("FlushFileBuffers")
@@ -208,6 +215,7 @@ var (
        procFreeLibrary                                          = modkernel32.NewProc("FreeLibrary")
        procGenerateConsoleCtrlEvent                             = modkernel32.NewProc("GenerateConsoleCtrlEvent")
        procGetACP                                               = modkernel32.NewProc("GetACP")
+       procGetCommTimeouts                                      = modkernel32.NewProc("GetCommTimeouts")
        procGetCommandLineW                                      = modkernel32.NewProc("GetCommandLineW")
        procGetComputerNameExW                                   = modkernel32.NewProc("GetComputerNameExW")
        procGetComputerNameW                                     = modkernel32.NewProc("GetComputerNameW")
@@ -234,6 +242,8 @@ var (
        procGetLongPathNameW                                     = modkernel32.NewProc("GetLongPathNameW")
        procGetModuleFileNameW                                   = modkernel32.NewProc("GetModuleFileNameW")
        procGetModuleHandleExW                                   = modkernel32.NewProc("GetModuleHandleExW")
+       procGetNamedPipeHandleStateW                             = modkernel32.NewProc("GetNamedPipeHandleStateW")
+       procGetNamedPipeInfo                                     = modkernel32.NewProc("GetNamedPipeInfo")
        procGetOverlappedResult                                  = modkernel32.NewProc("GetOverlappedResult")
        procGetPriorityClass                                     = modkernel32.NewProc("GetPriorityClass")
        procGetProcAddress                                       = modkernel32.NewProc("GetProcAddress")
@@ -263,12 +273,16 @@ var (
        procGetVolumePathNameW                                   = modkernel32.NewProc("GetVolumePathNameW")
        procGetVolumePathNamesForVolumeNameW                     = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW")
        procGetWindowsDirectoryW                                 = modkernel32.NewProc("GetWindowsDirectoryW")
+       procInitializeProcThreadAttributeList                    = modkernel32.NewProc("InitializeProcThreadAttributeList")
        procIsWow64Process                                       = modkernel32.NewProc("IsWow64Process")
        procIsWow64Process2                                      = modkernel32.NewProc("IsWow64Process2")
        procLoadLibraryExW                                       = modkernel32.NewProc("LoadLibraryExW")
        procLoadLibraryW                                         = modkernel32.NewProc("LoadLibraryW")
+       procLoadResource                                         = modkernel32.NewProc("LoadResource")
+       procLocalAlloc                                           = modkernel32.NewProc("LocalAlloc")
        procLocalFree                                            = modkernel32.NewProc("LocalFree")
        procLockFileEx                                           = modkernel32.NewProc("LockFileEx")
+       procLockResource                                         = modkernel32.NewProc("LockResource")
        procMapViewOfFile                                        = modkernel32.NewProc("MapViewOfFile")
        procMoveFileExW                                          = modkernel32.NewProc("MoveFileExW")
        procMoveFileW                                            = modkernel32.NewProc("MoveFileW")
@@ -283,6 +297,7 @@ var (
        procProcessIdToSessionId                                 = modkernel32.NewProc("ProcessIdToSessionId")
        procPulseEvent                                           = modkernel32.NewProc("PulseEvent")
        procQueryDosDeviceW                                      = modkernel32.NewProc("QueryDosDeviceW")
+       procQueryFullProcessImageNameW                           = modkernel32.NewProc("QueryFullProcessImageNameW")
        procQueryInformationJobObject                            = modkernel32.NewProc("QueryInformationJobObject")
        procReadConsoleW                                         = modkernel32.NewProc("ReadConsoleW")
        procReadDirectoryChangesW                                = modkernel32.NewProc("ReadDirectoryChangesW")
@@ -291,6 +306,7 @@ var (
        procRemoveDirectoryW                                     = modkernel32.NewProc("RemoveDirectoryW")
        procResetEvent                                           = modkernel32.NewProc("ResetEvent")
        procResumeThread                                         = modkernel32.NewProc("ResumeThread")
+       procSetCommTimeouts                                      = modkernel32.NewProc("SetCommTimeouts")
        procSetConsoleCursorPosition                             = modkernel32.NewProc("SetConsoleCursorPosition")
        procSetConsoleMode                                       = modkernel32.NewProc("SetConsoleMode")
        procSetCurrentDirectoryW                                 = modkernel32.NewProc("SetCurrentDirectoryW")
@@ -307,6 +323,7 @@ var (
        procSetFileTime                                          = modkernel32.NewProc("SetFileTime")
        procSetHandleInformation                                 = modkernel32.NewProc("SetHandleInformation")
        procSetInformationJobObject                              = modkernel32.NewProc("SetInformationJobObject")
+       procSetNamedPipeHandleState                              = modkernel32.NewProc("SetNamedPipeHandleState")
        procSetPriorityClass                                     = modkernel32.NewProc("SetPriorityClass")
        procSetProcessPriorityBoost                              = modkernel32.NewProc("SetProcessPriorityBoost")
        procSetProcessShutdownParameters                         = modkernel32.NewProc("SetProcessShutdownParameters")
@@ -314,6 +331,7 @@ var (
        procSetStdHandle                                         = modkernel32.NewProc("SetStdHandle")
        procSetVolumeLabelW                                      = modkernel32.NewProc("SetVolumeLabelW")
        procSetVolumeMountPointW                                 = modkernel32.NewProc("SetVolumeMountPointW")
+       procSizeofResource                                       = modkernel32.NewProc("SizeofResource")
        procSleepEx                                              = modkernel32.NewProc("SleepEx")
        procTerminateJobObject                                   = modkernel32.NewProc("TerminateJobObject")
        procTerminateProcess                                     = modkernel32.NewProc("TerminateProcess")
@@ -321,6 +339,7 @@ var (
        procThread32Next                                         = modkernel32.NewProc("Thread32Next")
        procUnlockFileEx                                         = modkernel32.NewProc("UnlockFileEx")
        procUnmapViewOfFile                                      = modkernel32.NewProc("UnmapViewOfFile")
+       procUpdateProcThreadAttribute                            = modkernel32.NewProc("UpdateProcThreadAttribute")
        procVirtualAlloc                                         = modkernel32.NewProc("VirtualAlloc")
        procVirtualFree                                          = modkernel32.NewProc("VirtualFree")
        procVirtualLock                                          = modkernel32.NewProc("VirtualLock")
@@ -336,11 +355,25 @@ var (
        procNetApiBufferFree                                     = modnetapi32.NewProc("NetApiBufferFree")
        procNetGetJoinInformation                                = modnetapi32.NewProc("NetGetJoinInformation")
        procNetUserGetInfo                                       = modnetapi32.NewProc("NetUserGetInfo")
+       procNtCreateFile                                         = modntdll.NewProc("NtCreateFile")
+       procNtCreateNamedPipeFile                                = modntdll.NewProc("NtCreateNamedPipeFile")
+       procNtQueryInformationProcess                            = modntdll.NewProc("NtQueryInformationProcess")
+       procNtSetInformationProcess                              = modntdll.NewProc("NtSetInformationProcess")
+       procRtlDefaultNpAcl                                      = modntdll.NewProc("RtlDefaultNpAcl")
+       procRtlDosPathNameToNtPathName_U_WithStatus              = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus")
+       procRtlDosPathNameToRelativeNtPathName_U_WithStatus      = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus")
+       procRtlGetCurrentPeb                                     = modntdll.NewProc("RtlGetCurrentPeb")
        procRtlGetNtVersionNumbers                               = modntdll.NewProc("RtlGetNtVersionNumbers")
        procRtlGetVersion                                        = modntdll.NewProc("RtlGetVersion")
+       procRtlInitString                                        = modntdll.NewProc("RtlInitString")
+       procRtlInitUnicodeString                                 = modntdll.NewProc("RtlInitUnicodeString")
+       procRtlNtStatusToDosErrorNoTeb                           = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb")
        procCLSIDFromString                                      = modole32.NewProc("CLSIDFromString")
        procCoCreateGuid                                         = modole32.NewProc("CoCreateGuid")
+       procCoGetObject                                          = modole32.NewProc("CoGetObject")
+       procCoInitializeEx                                       = modole32.NewProc("CoInitializeEx")
        procCoTaskMemFree                                        = modole32.NewProc("CoTaskMemFree")
+       procCoUninitialize                                       = modole32.NewProc("CoUninitialize")
        procStringFromGUID2                                      = modole32.NewProc("StringFromGUID2")
        procEnumProcesses                                        = modpsapi.NewProc("EnumProcesses")
        procSubscribeServiceChangeNotifications                  = modsechost.NewProc("SubscribeServiceChangeNotifications")
@@ -362,11 +395,13 @@ var (
        procGetAddrInfoW                                         = modws2_32.NewProc("GetAddrInfoW")
        procWSACleanup                                           = modws2_32.NewProc("WSACleanup")
        procWSAEnumProtocolsW                                    = modws2_32.NewProc("WSAEnumProtocolsW")
+       procWSAGetOverlappedResult                               = modws2_32.NewProc("WSAGetOverlappedResult")
        procWSAIoctl                                             = modws2_32.NewProc("WSAIoctl")
        procWSARecv                                              = modws2_32.NewProc("WSARecv")
        procWSARecvFrom                                          = modws2_32.NewProc("WSARecvFrom")
        procWSASend                                              = modws2_32.NewProc("WSASend")
        procWSASendTo                                            = modws2_32.NewProc("WSASendTo")
+       procWSASocketW                                           = modws2_32.NewProc("WSASocketW")
        procWSAStartup                                           = modws2_32.NewProc("WSAStartup")
        procbind                                                 = modws2_32.NewProc("bind")
        procclosesocket                                          = modws2_32.NewProc("closesocket")
@@ -1210,6 +1245,24 @@ func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (contex
        return
 }
 
+func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) {
+       r0, _, e1 := syscall.Syscall6(procCertFindCertificateInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext)))
+       cert = (*CertContext)(unsafe.Pointer(r0))
+       if cert == nil {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) {
+       r0, _, e1 := syscall.Syscall6(procCertFindChainInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext)))
+       certchain = (*CertChainContext)(unsafe.Pointer(r0))
+       if certchain == nil {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) {
        r0, _, _ := syscall.Syscall(procCertFindExtension.Addr(), 3, uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions)))
        ret = (*CertExtension)(unsafe.Pointer(r0))
@@ -1269,6 +1322,19 @@ func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext
        return
 }
 
+func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) {
+       var _p0 uint32
+       if *callerFreeProvOrNCryptKey {
+               _p0 = 1
+       }
+       r1, _, e1 := syscall.Syscall6(procCryptAcquireCertificatePrivateKey.Addr(), 6, uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0)))
+       *callerFreeProvOrNCryptKey = _p0 != 0
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) {
        r1, _, e1 := syscall.Syscall9(procCryptDecodeObject.Addr(), 7, uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen)), 0, 0)
        if r1 == 0 {
@@ -1394,6 +1460,14 @@ func CloseHandle(handle Handle) (err error) {
        return
 }
 
+func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) {
+       r1, _, e1 := syscall.Syscall(procConnectNamedPipe.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(overlapped)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) {
        r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0)
        if r1 == 0 {
@@ -1405,7 +1479,7 @@ func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) {
 func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0)
        handle = Handle(r0)
-       if handle == 0 {
+       if handle == 0 || e1 == ERROR_ALREADY_EXISTS {
                err = errnoErr(e1)
        }
        return
@@ -1414,7 +1488,7 @@ func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, d
 func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0)
        handle = Handle(r0)
-       if handle == 0 {
+       if handle == 0 || e1 == ERROR_ALREADY_EXISTS {
                err = errnoErr(e1)
        }
        return
@@ -1423,7 +1497,7 @@ func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialStat
 func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name)))
        handle = Handle(r0)
-       if handle == 0 {
+       if handle == 0 || e1 == ERROR_ALREADY_EXISTS {
                err = errnoErr(e1)
        }
        return
@@ -1446,7 +1520,7 @@ func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr
        return
 }
 
-func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) {
+func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0)
        handle = Handle(r0)
        if handle == 0 {
@@ -1467,7 +1541,7 @@ func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle,
 func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0)
        handle = Handle(r0)
-       if handle == 0 {
+       if handle == 0 || e1 == ERROR_ALREADY_EXISTS {
                err = errnoErr(e1)
        }
        return
@@ -1480,7 +1554,16 @@ func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16
        }
        r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name)))
        handle = Handle(r0)
-       if handle == 0 {
+       if handle == 0 || e1 == ERROR_ALREADY_EXISTS {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) {
+       r0, _, e1 := syscall.Syscall9(procCreateNamedPipeW.Addr(), 8, uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa)), 0)
+       handle = Handle(r0)
+       if handle == InvalidHandle {
                err = errnoErr(e1)
        }
        return
@@ -1539,6 +1622,11 @@ func DeleteFile(path *uint16) (err error) {
        return
 }
 
+func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) {
+       syscall.Syscall(procDeleteProcThreadAttributeList.Addr(), 1, uintptr(unsafe.Pointer(attrlist)), 0, 0)
+       return
+}
+
 func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) {
        r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0)
        if r1 == 0 {
@@ -1669,6 +1757,15 @@ func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32)
        return
 }
 
+func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) {
+       r0, _, e1 := syscall.Syscall(procFindResourceW.Addr(), 3, uintptr(module), uintptr(name), uintptr(resType))
+       resInfo = Handle(r0)
+       if resInfo == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func FindVolumeClose(findVolume Handle) (err error) {
        r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0)
        if r1 == 0 {
@@ -1744,6 +1841,14 @@ func GetACP() (acp uint32) {
        return
 }
 
+func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {
+       r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func GetCommandLine() (cmd *uint16) {
        r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0)
        cmd = (*uint16)(unsafe.Pointer(r0))
@@ -1955,6 +2060,22 @@ func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err er
        return
 }
 
+func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) {
+       r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) {
+       r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) {
        var _p0 uint32
        if wait {
@@ -2032,7 +2153,7 @@ func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintpt
        return
 }
 
-func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) {
+func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) {
        r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0)
        if r1 == 0 {
                err = errnoErr(e1)
@@ -2200,6 +2321,14 @@ func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) {
        return
 }
 
+func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) {
+       r1, _, e1 := syscall.Syscall6(procInitializeProcThreadAttributeList.Addr(), 4, uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func IsWow64Process(handle Handle, isWow64 *bool) (err error) {
        var _p0 uint32
        if *isWow64 {
@@ -2261,6 +2390,24 @@ func _LoadLibrary(libname *uint16) (handle Handle, err error) {
        return
 }
 
+func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) {
+       r0, _, e1 := syscall.Syscall(procLoadResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0)
+       resData = Handle(r0)
+       if resData == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) {
+       r0, _, e1 := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(length), 0)
+       ptr = uintptr(r0)
+       if ptr == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func LocalFree(hmem Handle) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0)
        handle = Handle(r0)
@@ -2278,6 +2425,15 @@ func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, byt
        return
 }
 
+func LockResource(resData Handle) (addr uintptr, err error) {
+       r0, _, e1 := syscall.Syscall(procLockResource.Addr(), 1, uintptr(resData), 0, 0)
+       addr = uintptr(r0)
+       if addr == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) {
        r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0)
        addr = uintptr(r0)
@@ -2364,7 +2520,7 @@ func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (hand
        return
 }
 
-func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) {
+func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) {
        r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0)
        if r1 == 0 {
                err = errnoErr(e1)
@@ -2413,6 +2569,14 @@ func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint3
        return
 }
 
+func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) {
+       r1, _, e1 := syscall.Syscall6(procQueryFullProcessImageNameW.Addr(), 4, uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) {
        r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0)
        if r1 == 0 {
@@ -2486,6 +2650,14 @@ func ResumeThread(thread Handle) (ret uint32, err error) {
        return
 }
 
+func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {
+       r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func setConsoleCursorPosition(console Handle, position uint32) (err error) {
        r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0)
        if r1 == 0 {
@@ -2623,6 +2795,14 @@ func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobOb
        return
 }
 
+func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) {
+       r1, _, e1 := syscall.Syscall6(procSetNamedPipeHandleState.Addr(), 4, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func SetPriorityClass(process Handle, priorityClass uint32) (err error) {
        r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0)
        if r1 == 0 {
@@ -2683,6 +2863,15 @@ func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err erro
        return
 }
 
+func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) {
+       r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0)
+       size = uint32(r0)
+       if size == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func SleepEx(milliseconds uint32, alertable bool) (ret uint32) {
        var _p0 uint32
        if alertable {
@@ -2741,6 +2930,14 @@ func UnmapViewOfFile(addr uintptr) (err error) {
        return
 }
 
+func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) {
+       r1, _, e1 := syscall.Syscall9(procUpdateProcThreadAttribute.Addr(), 7, uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) {
        r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0)
        value = uintptr(r0)
@@ -2869,19 +3066,97 @@ func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **by
        return
 }
 
+func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) {
+       r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength), 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) {
+       r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) {
+       r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)), 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) {
+       r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func RtlDefaultNpAcl(acl **ACL) (ntstatus error) {
+       r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) {
+       r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) {
+       r0, _, _ := syscall.Syscall6(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0)
+       if r0 != 0 {
+               ntstatus = NTStatus(r0)
+       }
+       return
+}
+
+func RtlGetCurrentPeb() (peb *PEB) {
+       r0, _, _ := syscall.Syscall(procRtlGetCurrentPeb.Addr(), 0, 0, 0, 0)
+       peb = (*PEB)(unsafe.Pointer(r0))
+       return
+}
+
 func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) {
        syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber)))
        return
 }
 
-func rtlGetVersion(info *OsVersionInfoEx) (ret error) {
+func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) {
        r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0)
        if r0 != 0 {
-               ret = syscall.Errno(r0)
+               ntstatus = NTStatus(r0)
        }
        return
 }
 
+func RtlInitString(destinationString *NTString, sourceString *byte) {
+       syscall.Syscall(procRtlInitString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0)
+       return
+}
+
+func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) {
+       syscall.Syscall(procRtlInitUnicodeString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0)
+       return
+}
+
+func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) {
+       r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(ntstatus), 0, 0)
+       ret = syscall.Errno(r0)
+       return
+}
+
 func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) {
        r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0)
        if r0 != 0 {
@@ -2898,11 +3173,32 @@ func coCreateGuid(pguid *GUID) (ret error) {
        return
 }
 
+func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) {
+       r0, _, _ := syscall.Syscall6(procCoGetObject.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)), 0, 0)
+       if r0 != 0 {
+               ret = syscall.Errno(r0)
+       }
+       return
+}
+
+func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) {
+       r0, _, _ := syscall.Syscall(procCoInitializeEx.Addr(), 2, uintptr(reserved), uintptr(coInit), 0)
+       if r0 != 0 {
+               ret = syscall.Errno(r0)
+       }
+       return
+}
+
 func CoTaskMemFree(address unsafe.Pointer) {
        syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0)
        return
 }
 
+func CoUninitialize() {
+       syscall.Syscall(procCoUninitialize.Addr(), 0, 0, 0, 0)
+       return
+}
+
 func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) {
        r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax))
        chars = int32(r0)
@@ -3081,6 +3377,18 @@ func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferL
        return
 }
 
+func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) {
+       var _p0 uint32
+       if wait {
+               _p0 = 1
+       }
+       r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) {
        r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine))
        if r1 == socket_error {
@@ -3121,6 +3429,15 @@ func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32
        return
 }
 
+func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) {
+       r0, _, e1 := syscall.Syscall6(procWSASocketW.Addr(), 6, uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags))
+       handle = Handle(r0)
+       if handle == InvalidHandle {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func WSAStartup(verreq uint32, data *WSAData) (sockerr error) {
        r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0)
        if r0 != 0 {
diff --git a/src/cmd/vendor/golang.org/x/term/AUTHORS b/src/cmd/vendor/golang.org/x/term/AUTHORS
new file mode 100644 (file)
index 0000000..15167cd
--- /dev/null
@@ -0,0 +1,3 @@
+# This source code refers to The Go Authors for copyright purposes.
+# The master list of authors is in the main Go distribution,
+# visible at http://tip.golang.org/AUTHORS.
diff --git a/src/cmd/vendor/golang.org/x/term/CONTRIBUTING.md b/src/cmd/vendor/golang.org/x/term/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..d0485e8
--- /dev/null
@@ -0,0 +1,26 @@
+# Contributing to Go
+
+Go is an open source project.
+
+It is the work of hundreds of contributors. We appreciate your help!
+
+## Filing issues
+
+When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions:
+
+1.  What version of Go are you using (`go version`)?
+2.  What operating system and processor architecture are you using?
+3.  What did you do?
+4.  What did you expect to see?
+5.  What did you see instead?
+
+General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
+The gophers there will answer or ask you to file an issue if you've tripped over a bug.
+
+## Contributing code
+
+Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
+before sending patches.
+
+Unless otherwise noted, the Go source files are distributed under
+the BSD-style license found in the LICENSE file.
diff --git a/src/cmd/vendor/golang.org/x/term/CONTRIBUTORS b/src/cmd/vendor/golang.org/x/term/CONTRIBUTORS
new file mode 100644 (file)
index 0000000..1c4577e
--- /dev/null
@@ -0,0 +1,3 @@
+# This source code was written by the Go contributors.
+# The master list of contributors is in the main Go distribution,
+# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/src/cmd/vendor/golang.org/x/term/LICENSE b/src/cmd/vendor/golang.org/x/term/LICENSE
new file mode 100644 (file)
index 0000000..6a66aea
--- /dev/null
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/cmd/vendor/golang.org/x/term/PATENTS b/src/cmd/vendor/golang.org/x/term/PATENTS
new file mode 100644 (file)
index 0000000..7330990
--- /dev/null
@@ -0,0 +1,22 @@
+Additional IP Rights Grant (Patents)
+
+"This implementation" means the copyrightable works distributed by
+Google as part of the Go project.
+
+Google hereby grants to You a perpetual, worldwide, non-exclusive,
+no-charge, royalty-free, irrevocable (except as stated in this section)
+patent license to make, have made, use, offer to sell, sell, import,
+transfer and otherwise run, modify and propagate the contents of this
+implementation of Go, where such license applies only to those patent
+claims, both currently owned or controlled by Google and acquired in
+the future, licensable by Google that are necessarily infringed by this
+implementation of Go.  This grant does not include claims that would be
+infringed only as a consequence of further modification of this
+implementation.  If you or your agent or exclusive licensee institute or
+order or agree to the institution of patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging
+that this implementation of Go or any code incorporated within this
+implementation of Go constitutes direct or contributory patent
+infringement, or inducement of patent infringement, then any patent
+rights granted to you under this License for this implementation of Go
+shall terminate as of the date such litigation is filed.
diff --git a/src/cmd/vendor/golang.org/x/term/README.md b/src/cmd/vendor/golang.org/x/term/README.md
new file mode 100644 (file)
index 0000000..d03d0ae
--- /dev/null
@@ -0,0 +1,19 @@
+# Go terminal/console support
+
+[![Go Reference](https://pkg.go.dev/badge/golang.org/x/term.svg)](https://pkg.go.dev/golang.org/x/term)
+
+This repository provides Go terminal and console support packages.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/term`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/term`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the term repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/term:" in the
+subject line, so it is easy to find.
diff --git a/src/cmd/vendor/golang.org/x/term/go.mod b/src/cmd/vendor/golang.org/x/term/go.mod
new file mode 100644 (file)
index 0000000..d45f528
--- /dev/null
@@ -0,0 +1,5 @@
+module golang.org/x/term
+
+go 1.11
+
+require golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
diff --git a/src/cmd/vendor/golang.org/x/term/go.sum b/src/cmd/vendor/golang.org/x/term/go.sum
new file mode 100644 (file)
index 0000000..de9e09c
--- /dev/null
@@ -0,0 +1,2 @@
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
similarity index 52%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go
rename to src/cmd/vendor/golang.org/x/term/term.go
index 9317ac7ede641a72559724cd88b22fde68c3755e..2a4ccf8012103f756ff2e27ad14a23da3d333de7 100644 (file)
@@ -1,58 +1,58 @@
-// Copyright 2016 The Go Authors. All rights reserved.
+// Copyright 2019 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 terminal provides support functions for dealing with terminals, as
+// Package term provides support functions for dealing with terminals, as
 // commonly found on UNIX systems.
 //
 // Putting a terminal into raw mode is the most common requirement:
 //
-//     oldState, err := terminal.MakeRaw(0)
+//     oldState, err := term.MakeRaw(0)
 //     if err != nil {
 //             panic(err)
 //     }
-//     defer terminal.Restore(0, oldState)
-package terminal
+//     defer term.Restore(0, oldState)
+package term
 
-import (
-       "fmt"
-       "runtime"
-)
-
-type State struct{}
+// State contains the state of a terminal.
+type State struct {
+       state
+}
 
 // IsTerminal returns whether the given file descriptor is a terminal.
 func IsTerminal(fd int) bool {
-       return false
+       return isTerminal(fd)
 }
 
-// MakeRaw put the terminal connected to the given file descriptor into raw
+// MakeRaw puts the terminal connected to the given file descriptor into raw
 // mode and returns the previous state of the terminal so that it can be
 // restored.
 func MakeRaw(fd int) (*State, error) {
-       return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+       return makeRaw(fd)
 }
 
 // GetState returns the current state of a terminal which may be useful to
 // restore the terminal after a signal.
 func GetState(fd int) (*State, error) {
-       return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+       return getState(fd)
 }
 
 // Restore restores the terminal connected to the given file descriptor to a
 // previous state.
-func Restore(fd int, state *State) error {
-       return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+func Restore(fd int, oldState *State) error {
+       return restore(fd, oldState)
 }
 
-// GetSize returns the dimensions of the given terminal.
+// GetSize returns the visible dimensions of the given terminal.
+//
+// These dimensions don't include any scrollback buffer height.
 func GetSize(fd int) (width, height int, err error) {
-       return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+       return getSize(fd)
 }
 
 // ReadPassword reads a line of input from a terminal without local echo.  This
 // is commonly used for inputting passwords and other sensitive data. The slice
 // returned does not include the \n.
 func ReadPassword(fd int) ([]byte, error) {
-       return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+       return readPassword(fd)
 }
diff --git a/src/cmd/vendor/golang.org/x/term/term_plan9.go b/src/cmd/vendor/golang.org/x/term/term_plan9.go
new file mode 100644 (file)
index 0000000..21afa55
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright 2019 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 term
+
+import (
+       "fmt"
+       "runtime"
+
+       "golang.org/x/sys/plan9"
+)
+
+type state struct{}
+
+func isTerminal(fd int) bool {
+       path, err := plan9.Fd2path(fd)
+       if err != nil {
+               return false
+       }
+       return path == "/dev/cons" || path == "/mnt/term/dev/cons"
+}
+
+func makeRaw(fd int) (*State, error) {
+       return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func getState(fd int) (*State, error) {
+       return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func restore(fd int, state *State) error {
+       return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func getSize(fd int) (width, height int, err error) {
+       return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func readPassword(fd int) ([]byte, error) {
+       return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
similarity index 61%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go
rename to src/cmd/vendor/golang.org/x/term/term_solaris.go
index 3d5f06a9f04990be72905b3fc7dbc70f5235634b..b9da29744b7ad6bf7fc5a64ee5b88a350e7d1d36 100644 (file)
@@ -1,32 +1,27 @@
-// Copyright 2015 The Go Authors. All rights reserved.
+// Copyright 2019 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 solaris
-
-package terminal // import "golang.org/x/crypto/ssh/terminal"
+package term
 
 import (
-       "golang.org/x/sys/unix"
        "io"
        "syscall"
+
+       "golang.org/x/sys/unix"
 )
 
 // State contains the state of a terminal.
-type State struct {
+type state struct {
        termios unix.Termios
 }
 
-// IsTerminal returns whether the given file descriptor is a terminal.
-func IsTerminal(fd int) bool {
+func isTerminal(fd int) bool {
        _, err := unix.IoctlGetTermio(fd, unix.TCGETA)
        return err == nil
 }
 
-// ReadPassword reads a line of input from a terminal without local echo.  This
-// is commonly used for inputting passwords and other sensitive data. The slice
-// returned does not include the \n.
-func ReadPassword(fd int) ([]byte, error) {
+func readPassword(fd int) ([]byte, error) {
        // see also: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libast/common/uwin/getpass.c
        val, err := unix.IoctlGetTermios(fd, unix.TCGETS)
        if err != nil {
@@ -70,17 +65,14 @@ func ReadPassword(fd int) ([]byte, error) {
        return ret, nil
 }
 
-// MakeRaw puts the terminal connected to the given file descriptor into raw
-// mode and returns the previous state of the terminal so that it can be
-// restored.
-// see http://cr.illumos.org/~webrev/andy_js/1060/
-func MakeRaw(fd int) (*State, error) {
+func makeRaw(fd int) (*State, error) {
+       // see http://cr.illumos.org/~webrev/andy_js/1060/
        termios, err := unix.IoctlGetTermios(fd, unix.TCGETS)
        if err != nil {
                return nil, err
        }
 
-       oldState := State{termios: *termios}
+       oldState := State{state{termios: *termios}}
 
        termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON
        termios.Oflag &^= unix.OPOST
@@ -97,25 +89,20 @@ func MakeRaw(fd int) (*State, error) {
        return &oldState, nil
 }
 
-// Restore restores the terminal connected to the given file descriptor to a
-// previous state.
-func Restore(fd int, oldState *State) error {
+func restore(fd int, oldState *State) error {
        return unix.IoctlSetTermios(fd, unix.TCSETS, &oldState.termios)
 }
 
-// GetState returns the current state of a terminal which may be useful to
-// restore the terminal after a signal.
-func GetState(fd int) (*State, error) {
+func getState(fd int) (*State, error) {
        termios, err := unix.IoctlGetTermios(fd, unix.TCGETS)
        if err != nil {
                return nil, err
        }
 
-       return &State{termios: *termios}, nil
+       return &State{state{termios: *termios}}, nil
 }
 
-// GetSize returns the dimensions of the given terminal.
-func GetSize(fd int) (width, height int, err error) {
+func getSize(fd int) (width, height int, err error) {
        ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)
        if err != nil {
                return 0, 0, err
similarity index 53%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util.go
rename to src/cmd/vendor/golang.org/x/term/term_unix.go
index 391104084097db9d3d56697149901b3ef223a016..6849b6ee5ba14da2dff6924b140f0e221fdba3c2 100644 (file)
@@ -1,46 +1,32 @@
-// Copyright 2011 The Go Authors. All rights reserved.
+// Copyright 2019 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 darwin dragonfly freebsd linux,!appengine netbsd openbsd
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || zos
+// +build aix darwin dragonfly freebsd linux netbsd openbsd zos
 
-// Package terminal provides support functions for dealing with terminals, as
-// commonly found on UNIX systems.
-//
-// Putting a terminal into raw mode is the most common requirement:
-//
-//     oldState, err := terminal.MakeRaw(0)
-//     if err != nil {
-//             panic(err)
-//     }
-//     defer terminal.Restore(0, oldState)
-package terminal // import "golang.org/x/crypto/ssh/terminal"
+package term
 
 import (
        "golang.org/x/sys/unix"
 )
 
-// State contains the state of a terminal.
-type State struct {
+type state struct {
        termios unix.Termios
 }
 
-// IsTerminal returns whether the given file descriptor is a terminal.
-func IsTerminal(fd int) bool {
+func isTerminal(fd int) bool {
        _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
        return err == nil
 }
 
-// MakeRaw put the terminal connected to the given file descriptor into raw
-// mode and returns the previous state of the terminal so that it can be
-// restored.
-func MakeRaw(fd int) (*State, error) {
+func makeRaw(fd int) (*State, error) {
        termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
        if err != nil {
                return nil, err
        }
 
-       oldState := State{termios: *termios}
+       oldState := State{state{termios: *termios}}
 
        // This attempts to replicate the behaviour documented for cfmakeraw in
        // the termios(3) manpage.
@@ -58,25 +44,20 @@ func MakeRaw(fd int) (*State, error) {
        return &oldState, nil
 }
 
-// GetState returns the current state of a terminal which may be useful to
-// restore the terminal after a signal.
-func GetState(fd int) (*State, error) {
+func getState(fd int) (*State, error) {
        termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
        if err != nil {
                return nil, err
        }
 
-       return &State{termios: *termios}, nil
+       return &State{state{termios: *termios}}, nil
 }
 
-// Restore restores the terminal connected to the given file descriptor to a
-// previous state.
-func Restore(fd int, state *State) error {
+func restore(fd int, state *State) error {
        return unix.IoctlSetTermios(fd, ioctlWriteTermios, &state.termios)
 }
 
-// GetSize returns the dimensions of the given terminal.
-func GetSize(fd int) (width, height int, err error) {
+func getSize(fd int) (width, height int, err error) {
        ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)
        if err != nil {
                return -1, -1, err
@@ -91,10 +72,7 @@ func (r passwordReader) Read(buf []byte) (int, error) {
        return unix.Read(int(r), buf)
 }
 
-// ReadPassword reads a line of input from a terminal without local echo.  This
-// is commonly used for inputting passwords and other sensitive data. The slice
-// returned does not include the \n.
-func ReadPassword(fd int) ([]byte, error) {
+func readPassword(fd int) ([]byte, error) {
        termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
        if err != nil {
                return nil, err
similarity index 74%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go
rename to src/cmd/vendor/golang.org/x/term/term_unix_aix.go
index 5fadfe8a1d50ba10d6d4fea349fe5c7a983eb5da..2d5efd26ad44a9cca2296a91340fe4768930314b 100644 (file)
@@ -1,8 +1,8 @@
-// Copyright 2013 The Go Authors. All rights reserved.
+// Copyright 2019 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 terminal
+package term
 
 import "golang.org/x/sys/unix"
 
similarity index 80%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go
rename to src/cmd/vendor/golang.org/x/term/term_unix_bsd.go
index cb23a590494015a5689166d40852762b777dd994..853b3d69864a0d9a678cc7cdf4c0cf356edd1129 100644 (file)
@@ -2,9 +2,10 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
-package terminal
+package term
 
 import "golang.org/x/sys/unix"
 
similarity index 71%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go
rename to src/cmd/vendor/golang.org/x/term/term_unix_linux.go
index dfcd62785926d4faade0f903d3395adbbf7477e0..2d5efd26ad44a9cca2296a91340fe4768930314b 100644 (file)
@@ -1,10 +1,8 @@
-// Copyright 2018 The Go Authors. All rights reserved.
+// Copyright 2019 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
-
-package terminal
+package term
 
 import "golang.org/x/sys/unix"
 
diff --git a/src/cmd/vendor/golang.org/x/term/term_unix_zos.go b/src/cmd/vendor/golang.org/x/term/term_unix_zos.go
new file mode 100644 (file)
index 0000000..b85ab89
--- /dev/null
@@ -0,0 +1,10 @@
+// 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 term
+
+import "golang.org/x/sys/unix"
+
+const ioctlReadTermios = unix.TCGETS
+const ioctlWriteTermios = unix.TCSETS
diff --git a/src/cmd/vendor/golang.org/x/term/term_unsupported.go b/src/cmd/vendor/golang.org/x/term/term_unsupported.go
new file mode 100644 (file)
index 0000000..f1df850
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright 2019 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.
+
+//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !zos && !windows && !solaris && !plan9
+// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!zos,!windows,!solaris,!plan9
+
+package term
+
+import (
+       "fmt"
+       "runtime"
+)
+
+type state struct{}
+
+func isTerminal(fd int) bool {
+       return false
+}
+
+func makeRaw(fd int) (*State, error) {
+       return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func getState(fd int) (*State, error) {
+       return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func restore(fd int, state *State) error {
+       return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func getSize(fd int) (width, height int, err error) {
+       return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
+
+func readPassword(fd int) ([]byte, error) {
+       return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
+}
similarity index 53%
rename from src/cmd/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go
rename to src/cmd/vendor/golang.org/x/term/term_windows.go
index f614e9cb607fbce8bc39ab30840ba0524723e266..465f560604e41aca2a53e59c6c99de7d5213dd7c 100644 (file)
@@ -1,20 +1,8 @@
-// Copyright 2011 The Go Authors. All rights reserved.
+// Copyright 2019 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 windows
-
-// Package terminal provides support functions for dealing with terminals, as
-// commonly found on UNIX systems.
-//
-// Putting a terminal into raw mode is the most common requirement:
-//
-//     oldState, err := terminal.MakeRaw(0)
-//     if err != nil {
-//             panic(err)
-//     }
-//     defer terminal.Restore(0, oldState)
-package terminal
+package term
 
 import (
        "os"
@@ -22,21 +10,17 @@ import (
        "golang.org/x/sys/windows"
 )
 
-type State struct {
+type state struct {
        mode uint32
 }
 
-// IsTerminal returns whether the given file descriptor is a terminal.
-func IsTerminal(fd int) bool {
+func isTerminal(fd int) bool {
        var st uint32
        err := windows.GetConsoleMode(windows.Handle(fd), &st)
        return err == nil
 }
 
-// MakeRaw put the terminal connected to the given file descriptor into raw
-// mode and returns the previous state of the terminal so that it can be
-// restored.
-func MakeRaw(fd int) (*State, error) {
+func makeRaw(fd int) (*State, error) {
        var st uint32
        if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
                return nil, err
@@ -45,29 +29,22 @@ func MakeRaw(fd int) (*State, error) {
        if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
                return nil, err
        }
-       return &State{st}, nil
+       return &State{state{st}}, nil
 }
 
-// GetState returns the current state of a terminal which may be useful to
-// restore the terminal after a signal.
-func GetState(fd int) (*State, error) {
+func getState(fd int) (*State, error) {
        var st uint32
        if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
                return nil, err
        }
-       return &State{st}, nil
+       return &State{state{st}}, nil
 }
 
-// Restore restores the terminal connected to the given file descriptor to a
-// previous state.
-func Restore(fd int, state *State) error {
+func restore(fd int, state *State) error {
        return windows.SetConsoleMode(windows.Handle(fd), state.mode)
 }
 
-// GetSize returns the visible dimensions of the given terminal.
-//
-// These dimensions don't include any scrollback buffer height.
-func GetSize(fd int) (width, height int, err error) {
+func getSize(fd int) (width, height int, err error) {
        var info windows.ConsoleScreenBufferInfo
        if err := windows.GetConsoleScreenBufferInfo(windows.Handle(fd), &info); err != nil {
                return 0, 0, err
@@ -75,10 +52,7 @@ func GetSize(fd int) (width, height int, err error) {
        return int(info.Window.Right - info.Window.Left + 1), int(info.Window.Bottom - info.Window.Top + 1), nil
 }
 
-// ReadPassword reads a line of input from a terminal without local echo.  This
-// is commonly used for inputting passwords and other sensitive data. The slice
-// returned does not include the \n.
-func ReadPassword(fd int) ([]byte, error) {
+func readPassword(fd int) ([]byte, error) {
        var st uint32
        if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
                return nil, err
diff --git a/src/cmd/vendor/golang.org/x/term/terminal.go b/src/cmd/vendor/golang.org/x/term/terminal.go
new file mode 100644 (file)
index 0000000..535ab82
--- /dev/null
@@ -0,0 +1,987 @@
+// Copyright 2011 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 term
+
+import (
+       "bytes"
+       "io"
+       "runtime"
+       "strconv"
+       "sync"
+       "unicode/utf8"
+)
+
+// EscapeCodes contains escape sequences that can be written to the terminal in
+// order to achieve different styles of text.
+type EscapeCodes struct {
+       // Foreground colors
+       Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte
+
+       // Reset all attributes
+       Reset []byte
+}
+
+var vt100EscapeCodes = EscapeCodes{
+       Black:   []byte{keyEscape, '[', '3', '0', 'm'},
+       Red:     []byte{keyEscape, '[', '3', '1', 'm'},
+       Green:   []byte{keyEscape, '[', '3', '2', 'm'},
+       Yellow:  []byte{keyEscape, '[', '3', '3', 'm'},
+       Blue:    []byte{keyEscape, '[', '3', '4', 'm'},
+       Magenta: []byte{keyEscape, '[', '3', '5', 'm'},
+       Cyan:    []byte{keyEscape, '[', '3', '6', 'm'},
+       White:   []byte{keyEscape, '[', '3', '7', 'm'},
+
+       Reset: []byte{keyEscape, '[', '0', 'm'},
+}
+
+// Terminal contains the state for running a VT100 terminal that is capable of
+// reading lines of input.
+type Terminal struct {
+       // AutoCompleteCallback, if non-null, is called for each keypress with
+       // the full input line and the current position of the cursor (in
+       // bytes, as an index into |line|). If it returns ok=false, the key
+       // press is processed normally. Otherwise it returns a replacement line
+       // and the new cursor position.
+       AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool)
+
+       // Escape contains a pointer to the escape codes for this terminal.
+       // It's always a valid pointer, although the escape codes themselves
+       // may be empty if the terminal doesn't support them.
+       Escape *EscapeCodes
+
+       // lock protects the terminal and the state in this object from
+       // concurrent processing of a key press and a Write() call.
+       lock sync.Mutex
+
+       c      io.ReadWriter
+       prompt []rune
+
+       // line is the current line being entered.
+       line []rune
+       // pos is the logical position of the cursor in line
+       pos int
+       // echo is true if local echo is enabled
+       echo bool
+       // pasteActive is true iff there is a bracketed paste operation in
+       // progress.
+       pasteActive bool
+
+       // cursorX contains the current X value of the cursor where the left
+       // edge is 0. cursorY contains the row number where the first row of
+       // the current line is 0.
+       cursorX, cursorY int
+       // maxLine is the greatest value of cursorY so far.
+       maxLine int
+
+       termWidth, termHeight int
+
+       // outBuf contains the terminal data to be sent.
+       outBuf []byte
+       // remainder contains the remainder of any partial key sequences after
+       // a read. It aliases into inBuf.
+       remainder []byte
+       inBuf     [256]byte
+
+       // history contains previously entered commands so that they can be
+       // accessed with the up and down keys.
+       history stRingBuffer
+       // historyIndex stores the currently accessed history entry, where zero
+       // means the immediately previous entry.
+       historyIndex int
+       // When navigating up and down the history it's possible to return to
+       // the incomplete, initial line. That value is stored in
+       // historyPending.
+       historyPending string
+}
+
+// NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is
+// a local terminal, that terminal must first have been put into raw mode.
+// prompt is a string that is written at the start of each input line (i.e.
+// "> ").
+func NewTerminal(c io.ReadWriter, prompt string) *Terminal {
+       return &Terminal{
+               Escape:       &vt100EscapeCodes,
+               c:            c,
+               prompt:       []rune(prompt),
+               termWidth:    80,
+               termHeight:   24,
+               echo:         true,
+               historyIndex: -1,
+       }
+}
+
+const (
+       keyCtrlC     = 3
+       keyCtrlD     = 4
+       keyCtrlU     = 21
+       keyEnter     = '\r'
+       keyEscape    = 27
+       keyBackspace = 127
+       keyUnknown   = 0xd800 /* UTF-16 surrogate area */ + iota
+       keyUp
+       keyDown
+       keyLeft
+       keyRight
+       keyAltLeft
+       keyAltRight
+       keyHome
+       keyEnd
+       keyDeleteWord
+       keyDeleteLine
+       keyClearScreen
+       keyPasteStart
+       keyPasteEnd
+)
+
+var (
+       crlf       = []byte{'\r', '\n'}
+       pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'}
+       pasteEnd   = []byte{keyEscape, '[', '2', '0', '1', '~'}
+)
+
+// bytesToKey tries to parse a key sequence from b. If successful, it returns
+// the key and the remainder of the input. Otherwise it returns utf8.RuneError.
+func bytesToKey(b []byte, pasteActive bool) (rune, []byte) {
+       if len(b) == 0 {
+               return utf8.RuneError, nil
+       }
+
+       if !pasteActive {
+               switch b[0] {
+               case 1: // ^A
+                       return keyHome, b[1:]
+               case 2: // ^B
+                       return keyLeft, b[1:]
+               case 5: // ^E
+                       return keyEnd, b[1:]
+               case 6: // ^F
+                       return keyRight, b[1:]
+               case 8: // ^H
+                       return keyBackspace, b[1:]
+               case 11: // ^K
+                       return keyDeleteLine, b[1:]
+               case 12: // ^L
+                       return keyClearScreen, b[1:]
+               case 23: // ^W
+                       return keyDeleteWord, b[1:]
+               case 14: // ^N
+                       return keyDown, b[1:]
+               case 16: // ^P
+                       return keyUp, b[1:]
+               }
+       }
+
+       if b[0] != keyEscape {
+               if !utf8.FullRune(b) {
+                       return utf8.RuneError, b
+               }
+               r, l := utf8.DecodeRune(b)
+               return r, b[l:]
+       }
+
+       if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' {
+               switch b[2] {
+               case 'A':
+                       return keyUp, b[3:]
+               case 'B':
+                       return keyDown, b[3:]
+               case 'C':
+                       return keyRight, b[3:]
+               case 'D':
+                       return keyLeft, b[3:]
+               case 'H':
+                       return keyHome, b[3:]
+               case 'F':
+                       return keyEnd, b[3:]
+               }
+       }
+
+       if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' {
+               switch b[5] {
+               case 'C':
+                       return keyAltRight, b[6:]
+               case 'D':
+                       return keyAltLeft, b[6:]
+               }
+       }
+
+       if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) {
+               return keyPasteStart, b[6:]
+       }
+
+       if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) {
+               return keyPasteEnd, b[6:]
+       }
+
+       // If we get here then we have a key that we don't recognise, or a
+       // partial sequence. It's not clear how one should find the end of a
+       // sequence without knowing them all, but it seems that [a-zA-Z~] only
+       // appears at the end of a sequence.
+       for i, c := range b[0:] {
+               if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' {
+                       return keyUnknown, b[i+1:]
+               }
+       }
+
+       return utf8.RuneError, b
+}
+
+// queue appends data to the end of t.outBuf
+func (t *Terminal) queue(data []rune) {
+       t.outBuf = append(t.outBuf, []byte(string(data))...)
+}
+
+var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'}
+var space = []rune{' '}
+
+func isPrintable(key rune) bool {
+       isInSurrogateArea := key >= 0xd800 && key <= 0xdbff
+       return key >= 32 && !isInSurrogateArea
+}
+
+// moveCursorToPos appends data to t.outBuf which will move the cursor to the
+// given, logical position in the text.
+func (t *Terminal) moveCursorToPos(pos int) {
+       if !t.echo {
+               return
+       }
+
+       x := visualLength(t.prompt) + pos
+       y := x / t.termWidth
+       x = x % t.termWidth
+
+       up := 0
+       if y < t.cursorY {
+               up = t.cursorY - y
+       }
+
+       down := 0
+       if y > t.cursorY {
+               down = y - t.cursorY
+       }
+
+       left := 0
+       if x < t.cursorX {
+               left = t.cursorX - x
+       }
+
+       right := 0
+       if x > t.cursorX {
+               right = x - t.cursorX
+       }
+
+       t.cursorX = x
+       t.cursorY = y
+       t.move(up, down, left, right)
+}
+
+func (t *Terminal) move(up, down, left, right int) {
+       m := []rune{}
+
+       // 1 unit up can be expressed as ^[[A or ^[A
+       // 5 units up can be expressed as ^[[5A
+
+       if up == 1 {
+               m = append(m, keyEscape, '[', 'A')
+       } else if up > 1 {
+               m = append(m, keyEscape, '[')
+               m = append(m, []rune(strconv.Itoa(up))...)
+               m = append(m, 'A')
+       }
+
+       if down == 1 {
+               m = append(m, keyEscape, '[', 'B')
+       } else if down > 1 {
+               m = append(m, keyEscape, '[')
+               m = append(m, []rune(strconv.Itoa(down))...)
+               m = append(m, 'B')
+       }
+
+       if right == 1 {
+               m = append(m, keyEscape, '[', 'C')
+       } else if right > 1 {
+               m = append(m, keyEscape, '[')
+               m = append(m, []rune(strconv.Itoa(right))...)
+               m = append(m, 'C')
+       }
+
+       if left == 1 {
+               m = append(m, keyEscape, '[', 'D')
+       } else if left > 1 {
+               m = append(m, keyEscape, '[')
+               m = append(m, []rune(strconv.Itoa(left))...)
+               m = append(m, 'D')
+       }
+
+       t.queue(m)
+}
+
+func (t *Terminal) clearLineToRight() {
+       op := []rune{keyEscape, '[', 'K'}
+       t.queue(op)
+}
+
+const maxLineLength = 4096
+
+func (t *Terminal) setLine(newLine []rune, newPos int) {
+       if t.echo {
+               t.moveCursorToPos(0)
+               t.writeLine(newLine)
+               for i := len(newLine); i < len(t.line); i++ {
+                       t.writeLine(space)
+               }
+               t.moveCursorToPos(newPos)
+       }
+       t.line = newLine
+       t.pos = newPos
+}
+
+func (t *Terminal) advanceCursor(places int) {
+       t.cursorX += places
+       t.cursorY += t.cursorX / t.termWidth
+       if t.cursorY > t.maxLine {
+               t.maxLine = t.cursorY
+       }
+       t.cursorX = t.cursorX % t.termWidth
+
+       if places > 0 && t.cursorX == 0 {
+               // Normally terminals will advance the current position
+               // when writing a character. But that doesn't happen
+               // for the last character in a line. However, when
+               // writing a character (except a new line) that causes
+               // a line wrap, the position will be advanced two
+               // places.
+               //
+               // So, if we are stopping at the end of a line, we
+               // need to write a newline so that our cursor can be
+               // advanced to the next line.
+               t.outBuf = append(t.outBuf, '\r', '\n')
+       }
+}
+
+func (t *Terminal) eraseNPreviousChars(n int) {
+       if n == 0 {
+               return
+       }
+
+       if t.pos < n {
+               n = t.pos
+       }
+       t.pos -= n
+       t.moveCursorToPos(t.pos)
+
+       copy(t.line[t.pos:], t.line[n+t.pos:])
+       t.line = t.line[:len(t.line)-n]
+       if t.echo {
+               t.writeLine(t.line[t.pos:])
+               for i := 0; i < n; i++ {
+                       t.queue(space)
+               }
+               t.advanceCursor(n)
+               t.moveCursorToPos(t.pos)
+       }
+}
+
+// countToLeftWord returns then number of characters from the cursor to the
+// start of the previous word.
+func (t *Terminal) countToLeftWord() int {
+       if t.pos == 0 {
+               return 0
+       }
+
+       pos := t.pos - 1
+       for pos > 0 {
+               if t.line[pos] != ' ' {
+                       break
+               }
+               pos--
+       }
+       for pos > 0 {
+               if t.line[pos] == ' ' {
+                       pos++
+                       break
+               }
+               pos--
+       }
+
+       return t.pos - pos
+}
+
+// countToRightWord returns then number of characters from the cursor to the
+// start of the next word.
+func (t *Terminal) countToRightWord() int {
+       pos := t.pos
+       for pos < len(t.line) {
+               if t.line[pos] == ' ' {
+                       break
+               }
+               pos++
+       }
+       for pos < len(t.line) {
+               if t.line[pos] != ' ' {
+                       break
+               }
+               pos++
+       }
+       return pos - t.pos
+}
+
+// visualLength returns the number of visible glyphs in s.
+func visualLength(runes []rune) int {
+       inEscapeSeq := false
+       length := 0
+
+       for _, r := range runes {
+               switch {
+               case inEscapeSeq:
+                       if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') {
+                               inEscapeSeq = false
+                       }
+               case r == '\x1b':
+                       inEscapeSeq = true
+               default:
+                       length++
+               }
+       }
+
+       return length
+}
+
+// handleKey processes the given key and, optionally, returns a line of text
+// that the user has entered.
+func (t *Terminal) handleKey(key rune) (line string, ok bool) {
+       if t.pasteActive && key != keyEnter {
+               t.addKeyToLine(key)
+               return
+       }
+
+       switch key {
+       case keyBackspace:
+               if t.pos == 0 {
+                       return
+               }
+               t.eraseNPreviousChars(1)
+       case keyAltLeft:
+               // move left by a word.
+               t.pos -= t.countToLeftWord()
+               t.moveCursorToPos(t.pos)
+       case keyAltRight:
+               // move right by a word.
+               t.pos += t.countToRightWord()
+               t.moveCursorToPos(t.pos)
+       case keyLeft:
+               if t.pos == 0 {
+                       return
+               }
+               t.pos--
+               t.moveCursorToPos(t.pos)
+       case keyRight:
+               if t.pos == len(t.line) {
+                       return
+               }
+               t.pos++
+               t.moveCursorToPos(t.pos)
+       case keyHome:
+               if t.pos == 0 {
+                       return
+               }
+               t.pos = 0
+               t.moveCursorToPos(t.pos)
+       case keyEnd:
+               if t.pos == len(t.line) {
+                       return
+               }
+               t.pos = len(t.line)
+               t.moveCursorToPos(t.pos)
+       case keyUp:
+               entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1)
+               if !ok {
+                       return "", false
+               }
+               if t.historyIndex == -1 {
+                       t.historyPending = string(t.line)
+               }
+               t.historyIndex++
+               runes := []rune(entry)
+               t.setLine(runes, len(runes))
+       case keyDown:
+               switch t.historyIndex {
+               case -1:
+                       return
+               case 0:
+                       runes := []rune(t.historyPending)
+                       t.setLine(runes, len(runes))
+                       t.historyIndex--
+               default:
+                       entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1)
+                       if ok {
+                               t.historyIndex--
+                               runes := []rune(entry)
+                               t.setLine(runes, len(runes))
+                       }
+               }
+       case keyEnter:
+               t.moveCursorToPos(len(t.line))
+               t.queue([]rune("\r\n"))
+               line = string(t.line)
+               ok = true
+               t.line = t.line[:0]
+               t.pos = 0
+               t.cursorX = 0
+               t.cursorY = 0
+               t.maxLine = 0
+       case keyDeleteWord:
+               // Delete zero or more spaces and then one or more characters.
+               t.eraseNPreviousChars(t.countToLeftWord())
+       case keyDeleteLine:
+               // Delete everything from the current cursor position to the
+               // end of line.
+               for i := t.pos; i < len(t.line); i++ {
+                       t.queue(space)
+                       t.advanceCursor(1)
+               }
+               t.line = t.line[:t.pos]
+               t.moveCursorToPos(t.pos)
+       case keyCtrlD:
+               // Erase the character under the current position.
+               // The EOF case when the line is empty is handled in
+               // readLine().
+               if t.pos < len(t.line) {
+                       t.pos++
+                       t.eraseNPreviousChars(1)
+               }
+       case keyCtrlU:
+               t.eraseNPreviousChars(t.pos)
+       case keyClearScreen:
+               // Erases the screen and moves the cursor to the home position.
+               t.queue([]rune("\x1b[2J\x1b[H"))
+               t.queue(t.prompt)
+               t.cursorX, t.cursorY = 0, 0
+               t.advanceCursor(visualLength(t.prompt))
+               t.setLine(t.line, t.pos)
+       default:
+               if t.AutoCompleteCallback != nil {
+                       prefix := string(t.line[:t.pos])
+                       suffix := string(t.line[t.pos:])
+
+                       t.lock.Unlock()
+                       newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key)
+                       t.lock.Lock()
+
+                       if completeOk {
+                               t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos]))
+                               return
+                       }
+               }
+               if !isPrintable(key) {
+                       return
+               }
+               if len(t.line) == maxLineLength {
+                       return
+               }
+               t.addKeyToLine(key)
+       }
+       return
+}
+
+// addKeyToLine inserts the given key at the current position in the current
+// line.
+func (t *Terminal) addKeyToLine(key rune) {
+       if len(t.line) == cap(t.line) {
+               newLine := make([]rune, len(t.line), 2*(1+len(t.line)))
+               copy(newLine, t.line)
+               t.line = newLine
+       }
+       t.line = t.line[:len(t.line)+1]
+       copy(t.line[t.pos+1:], t.line[t.pos:])
+       t.line[t.pos] = key
+       if t.echo {
+               t.writeLine(t.line[t.pos:])
+       }
+       t.pos++
+       t.moveCursorToPos(t.pos)
+}
+
+func (t *Terminal) writeLine(line []rune) {
+       for len(line) != 0 {
+               remainingOnLine := t.termWidth - t.cursorX
+               todo := len(line)
+               if todo > remainingOnLine {
+                       todo = remainingOnLine
+               }
+               t.queue(line[:todo])
+               t.advanceCursor(visualLength(line[:todo]))
+               line = line[todo:]
+       }
+}
+
+// writeWithCRLF writes buf to w but replaces all occurrences of \n with \r\n.
+func writeWithCRLF(w io.Writer, buf []byte) (n int, err error) {
+       for len(buf) > 0 {
+               i := bytes.IndexByte(buf, '\n')
+               todo := len(buf)
+               if i >= 0 {
+                       todo = i
+               }
+
+               var nn int
+               nn, err = w.Write(buf[:todo])
+               n += nn
+               if err != nil {
+                       return n, err
+               }
+               buf = buf[todo:]
+
+               if i >= 0 {
+                       if _, err = w.Write(crlf); err != nil {
+                               return n, err
+                       }
+                       n++
+                       buf = buf[1:]
+               }
+       }
+
+       return n, nil
+}
+
+func (t *Terminal) Write(buf []byte) (n int, err error) {
+       t.lock.Lock()
+       defer t.lock.Unlock()
+
+       if t.cursorX == 0 && t.cursorY == 0 {
+               // This is the easy case: there's nothing on the screen that we
+               // have to move out of the way.
+               return writeWithCRLF(t.c, buf)
+       }
+
+       // We have a prompt and possibly user input on the screen. We
+       // have to clear it first.
+       t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */)
+       t.cursorX = 0
+       t.clearLineToRight()
+
+       for t.cursorY > 0 {
+               t.move(1 /* up */, 0, 0, 0)
+               t.cursorY--
+               t.clearLineToRight()
+       }
+
+       if _, err = t.c.Write(t.outBuf); err != nil {
+               return
+       }
+       t.outBuf = t.outBuf[:0]
+
+       if n, err = writeWithCRLF(t.c, buf); err != nil {
+               return
+       }
+
+       t.writeLine(t.prompt)
+       if t.echo {
+               t.writeLine(t.line)
+       }
+
+       t.moveCursorToPos(t.pos)
+
+       if _, err = t.c.Write(t.outBuf); err != nil {
+               return
+       }
+       t.outBuf = t.outBuf[:0]
+       return
+}
+
+// ReadPassword temporarily changes the prompt and reads a password, without
+// echo, from the terminal.
+func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
+       t.lock.Lock()
+       defer t.lock.Unlock()
+
+       oldPrompt := t.prompt
+       t.prompt = []rune(prompt)
+       t.echo = false
+
+       line, err = t.readLine()
+
+       t.prompt = oldPrompt
+       t.echo = true
+
+       return
+}
+
+// ReadLine returns a line of input from the terminal.
+func (t *Terminal) ReadLine() (line string, err error) {
+       t.lock.Lock()
+       defer t.lock.Unlock()
+
+       return t.readLine()
+}
+
+func (t *Terminal) readLine() (line string, err error) {
+       // t.lock must be held at this point
+
+       if t.cursorX == 0 && t.cursorY == 0 {
+               t.writeLine(t.prompt)
+               t.c.Write(t.outBuf)
+               t.outBuf = t.outBuf[:0]
+       }
+
+       lineIsPasted := t.pasteActive
+
+       for {
+               rest := t.remainder
+               lineOk := false
+               for !lineOk {
+                       var key rune
+                       key, rest = bytesToKey(rest, t.pasteActive)
+                       if key == utf8.RuneError {
+                               break
+                       }
+                       if !t.pasteActive {
+                               if key == keyCtrlD {
+                                       if len(t.line) == 0 {
+                                               return "", io.EOF
+                                       }
+                               }
+                               if key == keyCtrlC {
+                                       return "", io.EOF
+                               }
+                               if key == keyPasteStart {
+                                       t.pasteActive = true
+                                       if len(t.line) == 0 {
+                                               lineIsPasted = true
+                                       }
+                                       continue
+                               }
+                       } else if key == keyPasteEnd {
+                               t.pasteActive = false
+                               continue
+                       }
+                       if !t.pasteActive {
+                               lineIsPasted = false
+                       }
+                       line, lineOk = t.handleKey(key)
+               }
+               if len(rest) > 0 {
+                       n := copy(t.inBuf[:], rest)
+                       t.remainder = t.inBuf[:n]
+               } else {
+                       t.remainder = nil
+               }
+               t.c.Write(t.outBuf)
+               t.outBuf = t.outBuf[:0]
+               if lineOk {
+                       if t.echo {
+                               t.historyIndex = -1
+                               t.history.Add(line)
+                       }
+                       if lineIsPasted {
+                               err = ErrPasteIndicator
+                       }
+                       return
+               }
+
+               // t.remainder is a slice at the beginning of t.inBuf
+               // containing a partial key sequence
+               readBuf := t.inBuf[len(t.remainder):]
+               var n int
+
+               t.lock.Unlock()
+               n, err = t.c.Read(readBuf)
+               t.lock.Lock()
+
+               if err != nil {
+                       return
+               }
+
+               t.remainder = t.inBuf[:n+len(t.remainder)]
+       }
+}
+
+// SetPrompt sets the prompt to be used when reading subsequent lines.
+func (t *Terminal) SetPrompt(prompt string) {
+       t.lock.Lock()
+       defer t.lock.Unlock()
+
+       t.prompt = []rune(prompt)
+}
+
+func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) {
+       // Move cursor to column zero at the start of the line.
+       t.move(t.cursorY, 0, t.cursorX, 0)
+       t.cursorX, t.cursorY = 0, 0
+       t.clearLineToRight()
+       for t.cursorY < numPrevLines {
+               // Move down a line
+               t.move(0, 1, 0, 0)
+               t.cursorY++
+               t.clearLineToRight()
+       }
+       // Move back to beginning.
+       t.move(t.cursorY, 0, 0, 0)
+       t.cursorX, t.cursorY = 0, 0
+
+       t.queue(t.prompt)
+       t.advanceCursor(visualLength(t.prompt))
+       t.writeLine(t.line)
+       t.moveCursorToPos(t.pos)
+}
+
+func (t *Terminal) SetSize(width, height int) error {
+       t.lock.Lock()
+       defer t.lock.Unlock()
+
+       if width == 0 {
+               width = 1
+       }
+
+       oldWidth := t.termWidth
+       t.termWidth, t.termHeight = width, height
+
+       switch {
+       case width == oldWidth:
+               // If the width didn't change then nothing else needs to be
+               // done.
+               return nil
+       case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0:
+               // If there is nothing on current line and no prompt printed,
+               // just do nothing
+               return nil
+       case width < oldWidth:
+               // Some terminals (e.g. xterm) will truncate lines that were
+               // too long when shinking. Others, (e.g. gnome-terminal) will
+               // attempt to wrap them. For the former, repainting t.maxLine
+               // works great, but that behaviour goes badly wrong in the case
+               // of the latter because they have doubled every full line.
+
+               // We assume that we are working on a terminal that wraps lines
+               // and adjust the cursor position based on every previous line
+               // wrapping and turning into two. This causes the prompt on
+               // xterms to move upwards, which isn't great, but it avoids a
+               // huge mess with gnome-terminal.
+               if t.cursorX >= t.termWidth {
+                       t.cursorX = t.termWidth - 1
+               }
+               t.cursorY *= 2
+               t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2)
+       case width > oldWidth:
+               // If the terminal expands then our position calculations will
+               // be wrong in the future because we think the cursor is
+               // |t.pos| chars into the string, but there will be a gap at
+               // the end of any wrapped line.
+               //
+               // But the position will actually be correct until we move, so
+               // we can move back to the beginning and repaint everything.
+               t.clearAndRepaintLinePlusNPrevious(t.maxLine)
+       }
+
+       _, err := t.c.Write(t.outBuf)
+       t.outBuf = t.outBuf[:0]
+       return err
+}
+
+type pasteIndicatorError struct{}
+
+func (pasteIndicatorError) Error() string {
+       return "terminal: ErrPasteIndicator not correctly handled"
+}
+
+// ErrPasteIndicator may be returned from ReadLine as the error, in addition
+// to valid line data. It indicates that bracketed paste mode is enabled and
+// that the returned line consists only of pasted data. Programs may wish to
+// interpret pasted data more literally than typed data.
+var ErrPasteIndicator = pasteIndicatorError{}
+
+// SetBracketedPasteMode requests that the terminal bracket paste operations
+// with markers. Not all terminals support this but, if it is supported, then
+// enabling this mode will stop any autocomplete callback from running due to
+// pastes. Additionally, any lines that are completely pasted will be returned
+// from ReadLine with the error set to ErrPasteIndicator.
+func (t *Terminal) SetBracketedPasteMode(on bool) {
+       if on {
+               io.WriteString(t.c, "\x1b[?2004h")
+       } else {
+               io.WriteString(t.c, "\x1b[?2004l")
+       }
+}
+
+// stRingBuffer is a ring buffer of strings.
+type stRingBuffer struct {
+       // entries contains max elements.
+       entries []string
+       max     int
+       // head contains the index of the element most recently added to the ring.
+       head int
+       // size contains the number of elements in the ring.
+       size int
+}
+
+func (s *stRingBuffer) Add(a string) {
+       if s.entries == nil {
+               const defaultNumEntries = 100
+               s.entries = make([]string, defaultNumEntries)
+               s.max = defaultNumEntries
+       }
+
+       s.head = (s.head + 1) % s.max
+       s.entries[s.head] = a
+       if s.size < s.max {
+               s.size++
+       }
+}
+
+// NthPreviousEntry returns the value passed to the nth previous call to Add.
+// If n is zero then the immediately prior value is returned, if one, then the
+// next most recent, and so on. If such an element doesn't exist then ok is
+// false.
+func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) {
+       if n >= s.size {
+               return "", false
+       }
+       index := s.head - n
+       if index < 0 {
+               index += s.max
+       }
+       return s.entries[index], true
+}
+
+// readPasswordLine reads from reader until it finds \n or io.EOF.
+// The slice returned does not include the \n.
+// readPasswordLine also ignores any \r it finds.
+// Windows uses \r as end of line. So, on Windows, readPasswordLine
+// reads until it finds \r and ignores any \n it finds during processing.
+func readPasswordLine(reader io.Reader) ([]byte, error) {
+       var buf [1]byte
+       var ret []byte
+
+       for {
+               n, err := reader.Read(buf[:])
+               if n > 0 {
+                       switch buf[0] {
+                       case '\b':
+                               if len(ret) > 0 {
+                                       ret = ret[:len(ret)-1]
+                               }
+                       case '\n':
+                               if runtime.GOOS != "windows" {
+                                       return ret, nil
+                               }
+                               // otherwise ignore \n
+                       case '\r':
+                               if runtime.GOOS == "windows" {
+                                       return ret, nil
+                               }
+                               // otherwise ignore \r
+                       default:
+                               ret = append(ret, buf[0])
+                       }
+                       continue
+               }
+               if err != nil {
+                       if err == io.EOF && len(ret) > 0 {
+                               return ret, nil
+                       }
+                       return ret, err
+               }
+       }
+}
index 7a8e98733a4c7fb6cb99ae3d1ad60c708ce7cf4f..3dd50ccddbfca8222840f1ee51cecf0f336a6f80 100644 (file)
@@ -1,4 +1,4 @@
-# github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2
+# github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5
 ## explicit
 github.com/google/pprof/driver
 github.com/google/pprof/internal/binutils
@@ -17,13 +17,13 @@ github.com/google/pprof/third_party/d3flamegraph
 github.com/google/pprof/third_party/svgpan
 # github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639
 github.com/ianlancetaylor/demangle
-# golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff
+# golang.org/x/arch v0.0.0-20210308155006-05f8f0431f72
 ## explicit
 golang.org/x/arch/arm/armasm
 golang.org/x/arch/arm64/arm64asm
 golang.org/x/arch/ppc64/ppc64asm
 golang.org/x/arch/x86/x86asm
-# golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
+# golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
 ## explicit
 golang.org/x/crypto/ed25519
 golang.org/x/crypto/ed25519/internal/edwards25519
@@ -39,12 +39,16 @@ golang.org/x/mod/sumdb/dirhash
 golang.org/x/mod/sumdb/note
 golang.org/x/mod/sumdb/tlog
 golang.org/x/mod/zip
-# golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e
+# golang.org/x/sys v0.0.0-20210309074719-68d13333faf2
 ## explicit
 golang.org/x/sys/internal/unsafeheader
+golang.org/x/sys/plan9
 golang.org/x/sys/unix
 golang.org/x/sys/windows
-# golang.org/x/tools v0.1.1-0.20210220032852-2363391a5b2f
+# golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d
+## explicit
+golang.org/x/term
+# golang.org/x/tools v0.1.1-0.20210312185553-8e4f4c86593a
 ## explicit
 golang.org/x/tools/cover
 golang.org/x/tools/go/analysis
index 999dc96787965068b68aec2e26d63add614a72f8..2ddab180779beddc2f0f3c1b95f591d877fd3879 100644 (file)
@@ -1,10 +1,10 @@
 module std
 
-go 1.16
+go 1.17
 
 require (
-       golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
-       golang.org/x/net v0.0.0-20201209123823-ac852fbbde11
-       golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e // indirect
-       golang.org/x/text v0.3.4 // indirect
+       golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
+       golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
+       golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 // indirect
+       golang.org/x/text v0.3.6-0.20210227105805-e3aa4adf54f6 // indirect
 )
index 6dd5f4eafdb54e372223d03b9990e53e140ef74d..85c7dd9268c646ee044b8471adf141328fc7c686 100644 (file)
@@ -1,17 +1,18 @@
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
-golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20201209123823-ac852fbbde11 h1:lwlPPsmjDKK0J6eG6xDWd5XPehI0R024zxjDnw3esPA=
-golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e h1:f5mksnk+hgXHnImpZoWj64ja99j9zV7YUgrVG95uFE4=
-golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY=
+golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6-0.20210227105805-e3aa4adf54f6 h1:lmoh2ZlEN/VfIYVdeta6HbTPLqajF5r8riIp1MACt2A=
+golang.org/x/text v0.3.6-0.20210227105805-e3aa4adf54f6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
index 0379848e708ab9abfa42b13cd4736c6a6b6913b7..ad311946d5d49c6b9a989e12c94fca5992d455fe 100644 (file)
@@ -4865,7 +4865,9 @@ func (sc *http2serverConn) startGracefulShutdown() {
        sc.shutdownOnce.Do(func() { sc.sendServeMsg(http2gracefulShutdownMsg) })
 }
 
-// After sending GOAWAY, the connection will close after goAwayTimeout.
+// After sending GOAWAY with an error code (non-graceful shutdown), the
+// connection will close after goAwayTimeout.
+//
 // If we close the connection immediately after sending GOAWAY, there may
 // be unsent data in our kernel receive buffer, which will cause the kernel
 // to send a TCP RST on close() instead of a FIN. This RST will abort the
@@ -5201,23 +5203,37 @@ func (sc *http2serverConn) processSettingInitialWindowSize(val uint32) error {
 
 func (sc *http2serverConn) processData(f *http2DataFrame) error {
        sc.serveG.check()
-       if sc.inGoAway && sc.goAwayCode != http2ErrCodeNo {
+       id := f.Header().StreamID
+       if sc.inGoAway && (sc.goAwayCode != http2ErrCodeNo || id > sc.maxClientStreamID) {
+               // Discard all DATA frames if the GOAWAY is due to an
+               // error, or:
+               //
+               // Section 6.8: After sending a GOAWAY frame, the sender
+               // can discard frames for streams initiated by the
+               // receiver with identifiers higher than the identified
+               // last stream.
                return nil
        }
-       data := f.Data()
 
-       // "If a DATA frame is received whose stream is not in "open"
-       // or "half closed (local)" state, the recipient MUST respond
-       // with a stream error (Section 5.4.2) of type STREAM_CLOSED."
-       id := f.Header().StreamID
+       data := f.Data()
        state, st := sc.state(id)
        if id == 0 || state == http2stateIdle {
+               // Section 6.1: "DATA frames MUST be associated with a
+               // stream. If a DATA frame is received whose stream
+               // identifier field is 0x0, the recipient MUST respond
+               // with a connection error (Section 5.4.1) of type
+               // PROTOCOL_ERROR."
+               //
                // Section 5.1: "Receiving any frame other than HEADERS
                // or PRIORITY on a stream in this state MUST be
                // treated as a connection error (Section 5.4.1) of
                // type PROTOCOL_ERROR."
                return http2ConnectionError(http2ErrCodeProtocol)
        }
+
+       // "If a DATA frame is received whose stream is not in "open"
+       // or "half closed (local)" state, the recipient MUST respond
+       // with a stream error (Section 5.4.2) of type STREAM_CLOSED."
        if st == nil || state != http2stateOpen || st.gotTrailerHeader || st.resetQueued {
                // This includes sending a RST_STREAM if the stream is
                // in stateHalfClosedLocal (which currently means that
index b799e440b4a177e0644f5c372dd792140bd5cf99..94c71ac1ac863f7b7ae209a65bc273b095d50d9a 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build go1.11,!gccgo,!purego
+//go:build go1.11 && gc && !purego
+// +build go1.11,gc,!purego
 
 package chacha20
 
index 891481539a114037fe293597531f28e7bdd71cf8..8fb49a13e3bf23167b8f1e4ff48adbb8fd413fe8 100644 (file)
@@ -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 go1.11,!gccgo,!purego
+// +build go1.11,gc,!purego
 
 #include "textflag.h"
 
index 4635307b8f2990f82e67cfd4e665240948751d39..025b49897e32b21abc89d4d1533e1ade5e847194 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !arm64,!s390x,!ppc64le arm64,!go1.11 gccgo purego
+//go:build (!arm64 && !s390x && !ppc64le) || (arm64 && !go1.11) || !gc || purego
+// +build !arm64,!s390x,!ppc64le arm64,!go1.11 !gc purego
 
 package chacha20
 
index b7993303415662890c373e62a6fbd1ec411de043..da420b2e97b03c13318b66fc62eb45b418739579 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package chacha20
 
index 23c602164301cc168c8de1b7113fe05b7c5dcdf5..3dad4b2fa27b6a63f22d5eeccb74866df6d8074f 100644 (file)
@@ -19,7 +19,7 @@
 // The differences in this and the original implementation are
 // due to the calling conventions and initialization of constants.
 
-// +build !gccgo,!purego
+// +build gc,!purego
 
 #include "textflag.h"
 
index a9244bdf4dbfd23dc6a3842a3100bc5d897a1d70..c5898db46584531f1b29d5338055e1c4c01e7fc7 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package chacha20
 
index 89c658c410bf6b5c05b75ae3d1370dfa3c0fa80d..818161189bc4b10c7edb4a92d7eb63769d9b0bcc 100644 (file)
@@ -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 !gccgo,!purego
+// +build gc,!purego
 
 #include "go_asm.h"
 #include "textflag.h"
index cda77819b84a1ecf9b9bf5210f3fb01168ace767..25959b9a6efadab04e8909ab4462da7084ad1fab 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package chacha20poly1305
 
index 3469c87288ee689839d2e10bfe27d92b9bc5a87a..55226b0e6c2c59503bf3c0c36cf1f0c59611cbf5 100644 (file)
@@ -4,7 +4,7 @@
 
 // This file was originally from https://golang.org/cl/24717 by Vlad Krasnov of CloudFlare.
 
-// +build !gccgo,!purego
+// +build gc,!purego
 
 #include "textflag.h"
 // General register allocation
index 9ce4aa9fe65f51b0bfe85d187db2dd80315937b7..f832b33d45f208983ff50c1e6ef74a46935245e0 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !amd64 gccgo purego
+//go:build !amd64 || !gc || purego
+// +build !amd64 !gc purego
 
 package chacha20poly1305
 
index 5120b779b9b48ba3f1eba27d43091f62b4424cd2..84858480dff5fbd4c4f36503f5813146e68accf9 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build amd64,!gccgo,!appengine,!purego
+//go:build amd64 && gc && !purego
+// +build amd64,gc,!purego
 
 package curve25519
 
index 0250c8885929d06f05a236b7aa23dcea574b3f52..6c533809266b113e69fe99cf85323adf9dc4b5c7 100644 (file)
@@ -5,7 +5,7 @@
 // This code was translated into a form compatible with 6a from the public
 // domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html
 
-// +build amd64,!gccgo,!appengine,!purego
+// +build amd64,gc,!purego
 
 #define REDMASK51     0x0007FFFFFFFFFFFF
 
index 047d49afc27e3e05e8dad2557a07cf82d097b9bc..259728af7dad7bae4f74062ae2b1aa13c5c6f8ae 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !amd64 gccgo appengine purego
+//go:build !amd64 || !gc || purego
+// +build !amd64 !gc purego
 
 package curve25519
 
index f38797bfa1bfb1487f01489efa6911d3e1662515..4fad24f8dcde8189a34f7611bd81df0ef35d7004 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !appengine
+//go:build !purego
+// +build !purego
 
 // Package subtle implements functions that are often useful in cryptographic
 // code but require careful thought to use correctly.
similarity index 97%
rename from src/vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go
rename to src/vendor/golang.org/x/crypto/internal/subtle/aliasing_purego.go
index 0cc4a8a642c91191315dc5594f9e98b2764e18de..80ccbed2c0de2df1791420e52f5b4ed7d321809e 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build appengine
+//go:build purego
+// +build purego
 
 // Package subtle implements functions that are often useful in cryptographic
 // code but require careful thought to use correctly.
index 157a69f61bd9a8c4344a944ab4dbbd1857452718..45b5c966b2be38e4e7a05bd9f454625d99d555d2 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !go1.13
 // +build !go1.13
 
 package poly1305
index a0a185f0fc77187616eda36f23d69a94fa0af0f2..ed52b3418ab537859539f0ed6ca1916e01a4ca61 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.13
 // +build go1.13
 
 package poly1305
index d118f30ed56c0ff1017c7c18e5003f7766f7801f..f184b67d98db2903033de12f9f82dbe9ab35577e 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !amd64,!ppc64le,!s390x gccgo purego
+//go:build (!amd64 && !ppc64le && !s390x) || !gc || purego
+// +build !amd64,!ppc64le,!s390x !gc purego
 
 package poly1305
 
index 99e5a1d50efcc7502142be888b6e05cb58c95527..6d522333f29e86155e57ac4db1f6cdc6b77278fd 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package poly1305
 
index 8d394a212ee92b4a15ad387e751dc3766b7337bc..2cb03731408c96bfca262d0801b57aee9d2ca85a 100644 (file)
@@ -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 !gccgo,!purego
+// +build gc,!purego
 
 #include "textflag.h"
 
index 2e7a120b1923ddb07131db975ce1aa8153145264..4a069941a6ef9bdda4ec4758f402f8e4973e13e2 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package poly1305
 
index 4e028138796827380d4a237b14f3a1bd91e88091..5cd7494b21a779c5f90c18dbbbb9ad42a4a6f9e6 100644 (file)
@@ -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 !gccgo,!purego
+// +build gc,!purego
 
 #include "textflag.h"
 
index 958fedc0790b1b7d945a9651bc6c3e7ffaa62a99..62cc9f84709e303c745030b088064d26ba8ed8e3 100644 (file)
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !gccgo,!purego
+//go:build gc && !purego
+// +build gc,!purego
 
 package poly1305
 
index 0fa9ee6e0bffc1b396da3f0590f886dfeb17525f..bdd882c606def8a9fdd42aeb774327cb23dac70c 100644 (file)
@@ -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 !gccgo,!purego
+// +build gc,!purego
 
 #include "textflag.h"
 
index a98a31f40388894036a4122ef802465231b90149..7e69ee1b22edbb492b105fd6f6338e640ddafcf2 100644 (file)
@@ -4,6 +4,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.10
 // +build go1.10
 
 // Package idna implements IDNA2008 using the compatibility processing
index 8842146b5d9920954100babde5eb3dcc2ffb9150..7c7456374c132d7aba19230d96d209d283a99c7d 100644 (file)
@@ -4,6 +4,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !go1.10
 // +build !go1.10
 
 // Package idna implements IDNA2008 using the compatibility processing
index 54fddb4b16cce914c20f23527658f5b70ab1b873..d1d62ef459bb730ff5c6ff70c91d0289b8c4c40b 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.10 && !go1.13
 // +build go1.10,!go1.13
 
 package idna
index 8ce0811fdf3dec0009c9d5223c12bf5ae5867dc3..167efba71256cd1696d175013b5bfb9f16348524 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.13 && !go1.14
 // +build go1.13,!go1.14
 
 package idna
index f39f0cb4cd879e8364b5f48c011fee00b03a6098..ab40f7bcc3b81235e6868d5ac016802eb336efe1 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.14 && !go1.16
 // +build go1.14,!go1.16
 
 package idna
index e8c7a36d7a747f38deb0c45b01976400805772cf..390c5e56d2a4e4c667ac20624dbe8e4c273e7003 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.16
 // +build go1.16
 
 package idna
index 8b65fa16783034e716548f6e2a23a7a816f0ebba..4074b5332e3e3451eeb50793ab57aecd36a6485d 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build !go1.10
 // +build !go1.10
 
 package idna
index 22c2461c1c0599ed84c1cc5727fe7feecc7e6699..6e3a9312b9a065e17a8275e08ca9bc4c63c8097e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
 // +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos
 
 package nettest
index c1b13593fe7658eac8dd8a760a97655880d58a92..b1cb8b2f3b12da1c1eeedb7c0bc4d37e75125cdb 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 
 package nettest
index 3c2fe15a970098c4f9f2ce4de37bc9536e40ff41..4f6ad968a247e4de7ea06e991164e3197ba02120 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 package route
index 6910520eca5d039205947eeed528cc65b2f23da5..a5e28f1e9cd6ca3a32c396096bb35c52b317006c 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 package route
index 05ef2a9ce3c790071100d0adb48af9552f29ae7e..9e9407830c59e6228aca9fbc9fecb93fd16f74d7 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 package route
index 520d657b578fcee174cf63b72ba36583d306556a..8282bfe9e229d5668d53ebbd8b45c2724cc226ef 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build dragonfly || freebsd || netbsd
 // +build dragonfly freebsd netbsd
 
 package route
index ac4e7a6805afdfbce423940550ffe139b08f36b1..85b7e993bb350f60ae5e1c7c9d0ae4663b5cb8d4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || netbsd
 // +build darwin dragonfly netbsd
 
 package route
index 1e99a9cc64b9ad0b0713322588b4998e01e725f8..dd0b214baa99a4b9d41783f606166d4740344a4f 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd
 // +build darwin dragonfly freebsd
 
 package route
index 80c482ae94a6a6a78680c60951dc21d3a79cc7e1..d53bb7f9b13108c9c1367da1874897afe5fb46e4 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 package route
index 4462cf1b6f6566f6f40e6eb5fca9d4097620d77e..e3d6da0549a39e4394b55aa2a118cd5881119eb7 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 // Package route provides basic functions for the manipulation of
index b83add668e7db46cc1349449af9dcceff2b14635..d6ee42f1b1d1d3e7722ff8958f0488bac02f83a2 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd
 // +build darwin dragonfly freebsd netbsd
 
 package route
index a0ab3e9c73bdbeed753bf41d2414318d9b7b1e75..537484ae5aa2cedcff4bd3efc5a6bf7df42f9e83 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build darwin || dragonfly || freebsd || netbsd || openbsd
 // +build darwin dragonfly freebsd netbsd openbsd
 
 package route
index 72431b0341061445ff53a9140739153db25ef4dd..97166dd3c4c52ee5c37424ad0a7a3d883d5e095e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build dragonfly || freebsd || netbsd || openbsd
 // +build dragonfly freebsd netbsd openbsd
 
 package route
index 7922a6836fc3da2e7b1668640289192d9730b84e..7a13e4fd90430d6ec08dc0ce114abf8bd4378255 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.12
 // +build go1.12
 
 package route
index 464a209cf598f6d2369b7b62b0ad93e4fabe5051..28b521643b1da473c0a9c12bfdc10894d157ffda 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix
 // +build aix
 
 package cpu
index 7f7f272a014f78663214ef55749f03a90bbf39ef..ccf542a73da87b9da870e840fa21d5423c5e1ed0 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build gc
 // +build gc
 
 package cpu
index 75a95566161d072f987b5a0c9dc02ace9fee50ed..0af2f248412d5541eff2178327242351d8ac3ba5 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build gc
 // +build gc
 
 package cpu
index 4adb89cf9cc84db8631b811bd40bdb181f7f6714..fa7cdb9bcd5fa46a70730c36e9502d5ab9b7393a 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build (386 || amd64 || amd64p32) && gc
 // +build 386 amd64 amd64p32
 // +build gc
 
index 53ca8d65c37eb0006e87ee7de7814f384011a9e8..2aff31891162e82fdb8669bec0f5145e2821dbf6 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build gccgo
 // +build gccgo
 
 package cpu
index aa986f77825f45931c7472fe0a21ae5a265e02b1..4bfbda61993df172c27bdb795f26b56dd007b548 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build gccgo
 // +build gccgo
 
 package cpu
index ba49b91bd398cd72c437e85af46655d204416794..8478a6d5979462fd559394927e483fd5c7dc5412 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build (386 || amd64 || amd64p32) && gccgo
 // +build 386 amd64 amd64p32
 // +build gccgo
 
index 6fc874f7fefd04f217de2bca379dbebd931bcafb..159a686f6f7a9226d2af484264aa272a75ec2728 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !386 && !amd64 && !amd64p32 && !arm64
 // +build !386,!amd64,!amd64p32,!arm64
 
 package cpu
index 5a418900538094d42eef30224b2c3f7e5a453c52..6000db4cdd1b32a326b533fc608bd54a6eefd421 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (mips64 || mips64le)
 // +build linux
 // +build mips64 mips64le
 
index 42b5d33cb69854d20ae7677c12ad912e336da0f5..f4992b1a59388afe57b25cd150e7d4058cd8843c 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x
 // +build linux,!arm,!arm64,!mips64,!mips64le,!ppc64,!ppc64le,!s390x
 
 package cpu
index 99f8a6399efbf1c7e96639f14c570a85cf84b6da..021356d6deb05e7cc40be27cfe6d09936be8e1f0 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux && (ppc64 || ppc64le)
 // +build linux
 // +build ppc64 ppc64le
 
index 57b5b677de00be929bbeaba05c4c952eb12e1466..f4063c66423b09803b30d1cb61a5786a011342ef 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build mips64 || mips64le
 // +build mips64 mips64le
 
 package cpu
index cfc1946b7bb83235605da92018767285cc995c8e..07c4e36d8f55de95b22081073514e03b0eb639fa 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build mips || mipsle
 // +build mips mipsle
 
 package cpu
index b412efc1bd1ddf55db7076510662a87ce576de8e..d7b4fb4ccc24fb6d6f5979b936b2184f057ad685 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !linux && arm
 // +build !linux,arm
 
 package cpu
index 16c1c4090ee2f1c7060d5d4d723c231fa6d2e6f2..f8c484f589f5e01c10a907cf5a3a0b229ab72ccb 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !linux,!netbsd
-// +build arm64
+//go:build !linux && !netbsd && arm64
+// +build !linux,!netbsd,arm64
 
 package cpu
 
index f49fad67783e61e5632833d613f084ab536556b8..0dafe9644a5a18cfc3e8319dedbaddf336a76fb8 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !linux && (mips64 || mips64le)
 // +build !linux
 // +build mips64 mips64le
 
index d28d675b5f1c999d4ceb6dc6b89c6a4b83ebe48f..4e8acd16583ddcbc0fc75f268c1754abe6dff86e 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build ppc64 || ppc64le
 // +build ppc64 ppc64le
 
 package cpu
index 8b08de341b88f0e43a3a1d6ccee389f88a152a89..bd6c128af9b9184904450972a25f4a0ecf532bc2 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build riscv64
 // +build riscv64
 
 package cpu
index 5382f2a227af1fd2d7befc063b5b938adc0b51a4..7747d888a6929f4f67d3f14c435e2ac3331de9bd 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build wasm
 // +build wasm
 
 package cpu
index 48d42933195f81f0ead4d83dd995e5ed7f320e37..fd380c0a713a0881512a7d4f714ec6e94b535b7b 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build 386 || amd64 || amd64p32
 // +build 386 amd64 amd64p32
 
 package cpu
index 76fbe40b762d732b17c501c56a34921957c53e7b..a864f24d7589aa0d84734690953a55c27b2d9bba 100644 (file)
@@ -8,8 +8,8 @@
 // Morever, this file will be used during the building of
 // gccgo's libgo and thus must not used a CGo method.
 
-// +build aix
-// +build gccgo
+//go:build aix && gccgo
+// +build aix,gccgo
 
 package cpu
 
index 5b427d67e2f7b7079fbec24115a90494d7d885b8..904be42ffdce1bc6d7351305cef046f14faa0543 100644 (file)
@@ -6,8 +6,8 @@
 // system call on AIX without depending on x/sys/unix.
 // (See golang.org/issue/32102)
 
-// +build aix,ppc64
-// +build gc
+//go:build aix && ppc64 && gc
+// +build aix,ppc64,gc
 
 package cpu
 
index e4c62289f90d41a1c41cf07491bc12963dccd8c3..8a7392c4a162fc46fae4ba0f332ff0ccf132c0e7 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.10
 // +build go1.10
 
 package bidirule
index 02b9e1e9d4c27000937c72482dd72b29aacaa3bc..bb0a920018c8f1b52cdac1fb1fccef23edab20f7 100644 (file)
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !go1.10
 // +build !go1.10
 
 package bidirule
index e8edc54cc28d20d9a2bb02a6a7310f87e8fe39ed..fd057601bd9178c5def359f002b06ef0769bd6f3 100644 (file)
 // and without notice.
 package bidi // import "golang.org/x/text/unicode/bidi"
 
-// TODO:
-// The following functionality would not be hard to implement, but hinges on
-// the definition of a Segmenter interface. For now this is up to the user.
-// - Iterate over paragraphs
-// - Segmenter to iterate over runs directly from a given text.
-// Also:
+// TODO
 // - Transformer for reordering?
 // - Transformer (validator, really) for Bidi Rule.
 
+import (
+       "bytes"
+)
+
 // This API tries to avoid dealing with embedding levels for now. Under the hood
 // these will be computed, but the question is to which extent the user should
 // know they exist. We should at some point allow the user to specify an
@@ -49,7 +48,9 @@ const (
        Neutral
 )
 
-type options struct{}
+type options struct {
+       defaultDirection Direction
+}
 
 // An Option is an option for Bidi processing.
 type Option func(*options)
@@ -66,12 +67,62 @@ type Option func(*options)
 // DefaultDirection sets the default direction for a Paragraph. The direction is
 // overridden if the text contains directional characters.
 func DefaultDirection(d Direction) Option {
-       panic("unimplemented")
+       return func(opts *options) {
+               opts.defaultDirection = d
+       }
 }
 
 // A Paragraph holds a single Paragraph for Bidi processing.
 type Paragraph struct {
-       // buffers
+       p          []byte
+       o          Ordering
+       opts       []Option
+       types      []Class
+       pairTypes  []bracketType
+       pairValues []rune
+       runes      []rune
+       options    options
+}
+
+// Initialize the p.pairTypes, p.pairValues and p.types from the input previously
+// set by p.SetBytes() or p.SetString(). Also limit the input up to (and including) a paragraph
+// separator (bidi class B).
+//
+// The function p.Order() needs these values to be set, so this preparation could be postponed.
+// But since the SetBytes and SetStrings functions return the length of the input up to the paragraph
+// separator, the whole input needs to be processed anyway and should not be done twice.
+//
+// The function has the same return values as SetBytes() / SetString()
+func (p *Paragraph) prepareInput() (n int, err error) {
+       p.runes = bytes.Runes(p.p)
+       bytecount := 0
+       // clear slices from previous SetString or SetBytes
+       p.pairTypes = nil
+       p.pairValues = nil
+       p.types = nil
+
+       for _, r := range p.runes {
+               props, i := LookupRune(r)
+               bytecount += i
+               cls := props.Class()
+               if cls == B {
+                       return bytecount, nil
+               }
+               p.types = append(p.types, cls)
+               if props.IsOpeningBracket() {
+                       p.pairTypes = append(p.pairTypes, bpOpen)
+                       p.pairValues = append(p.pairValues, r)
+               } else if props.IsBracket() {
+                       // this must be a closing bracket,
+                       // since IsOpeningBracket is not true
+                       p.pairTypes = append(p.pairTypes, bpClose)
+                       p.pairValues = append(p.pairValues, r)
+               } else {
+                       p.pairTypes = append(p.pairTypes, bpNone)
+                       p.pairValues = append(p.pairValues, 0)
+               }
+       }
+       return bytecount, nil
 }
 
 // SetBytes configures p for the given paragraph text. It replaces text
@@ -80,70 +131,150 @@ type Paragraph struct {
 // consumed from b including this separator. Error may be non-nil if options are
 // given.
 func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) {
-       panic("unimplemented")
+       p.p = b
+       p.opts = opts
+       return p.prepareInput()
 }
 
-// SetString configures p for the given paragraph text. It replaces text
-// previously set by SetBytes or SetString. If b contains a paragraph separator
+// SetString configures s for the given paragraph text. It replaces text
+// previously set by SetBytes or SetString. If s contains a paragraph separator
 // it will only process the first paragraph and report the number of bytes
-// consumed from b including this separator. Error may be non-nil if options are
+// consumed from s including this separator. Error may be non-nil if options are
 // given.
 func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) {
-       panic("unimplemented")
+       p.p = []byte(s)
+       p.opts = opts
+       return p.prepareInput()
 }
 
 // IsLeftToRight reports whether the principle direction of rendering for this
 // paragraphs is left-to-right. If this returns false, the principle direction
 // of rendering is right-to-left.
 func (p *Paragraph) IsLeftToRight() bool {
-       panic("unimplemented")
+       return p.Direction() == LeftToRight
 }
 
 // Direction returns the direction of the text of this paragraph.
 //
 // The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.
 func (p *Paragraph) Direction() Direction {
-       panic("unimplemented")
+       return p.o.Direction()
 }
 
+// TODO: what happens if the position is > len(input)? This should return an error.
+
 // RunAt reports the Run at the given position of the input text.
 //
 // This method can be used for computing line breaks on paragraphs.
 func (p *Paragraph) RunAt(pos int) Run {
-       panic("unimplemented")
+       c := 0
+       runNumber := 0
+       for i, r := range p.o.runes {
+               c += len(r)
+               if pos < c {
+                       runNumber = i
+               }
+       }
+       return p.o.Run(runNumber)
+}
+
+func calculateOrdering(levels []level, runes []rune) Ordering {
+       var curDir Direction
+
+       prevDir := Neutral
+       prevI := 0
+
+       o := Ordering{}
+       // lvl = 0,2,4,...: left to right
+       // lvl = 1,3,5,...: right to left
+       for i, lvl := range levels {
+               if lvl%2 == 0 {
+                       curDir = LeftToRight
+               } else {
+                       curDir = RightToLeft
+               }
+               if curDir != prevDir {
+                       if i > 0 {
+                               o.runes = append(o.runes, runes[prevI:i])
+                               o.directions = append(o.directions, prevDir)
+                               o.startpos = append(o.startpos, prevI)
+                       }
+                       prevI = i
+                       prevDir = curDir
+               }
+       }
+       o.runes = append(o.runes, runes[prevI:])
+       o.directions = append(o.directions, prevDir)
+       o.startpos = append(o.startpos, prevI)
+       return o
 }
 
 // Order computes the visual ordering of all the runs in a Paragraph.
 func (p *Paragraph) Order() (Ordering, error) {
-       panic("unimplemented")
+       if len(p.types) == 0 {
+               return Ordering{}, nil
+       }
+
+       for _, fn := range p.opts {
+               fn(&p.options)
+       }
+       lvl := level(-1)
+       if p.options.defaultDirection == RightToLeft {
+               lvl = 1
+       }
+       para, err := newParagraph(p.types, p.pairTypes, p.pairValues, lvl)
+       if err != nil {
+               return Ordering{}, err
+       }
+
+       levels := para.getLevels([]int{len(p.types)})
+
+       p.o = calculateOrdering(levels, p.runes)
+       return p.o, nil
 }
 
 // Line computes the visual ordering of runs for a single line starting and
 // ending at the given positions in the original text.
 func (p *Paragraph) Line(start, end int) (Ordering, error) {
-       panic("unimplemented")
+       lineTypes := p.types[start:end]
+       para, err := newParagraph(lineTypes, p.pairTypes[start:end], p.pairValues[start:end], -1)
+       if err != nil {
+               return Ordering{}, err
+       }
+       levels := para.getLevels([]int{len(lineTypes)})
+       o := calculateOrdering(levels, p.runes[start:end])
+       return o, nil
 }
 
 // An Ordering holds the computed visual order of runs of a Paragraph. Calling
 // SetBytes or SetString on the originating Paragraph invalidates an Ordering.
 // The methods of an Ordering should only be called by one goroutine at a time.
-type Ordering struct{}
+type Ordering struct {
+       runes      [][]rune
+       directions []Direction
+       startpos   []int
+}
 
 // Direction reports the directionality of the runs.
 //
 // The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.
 func (o *Ordering) Direction() Direction {
-       panic("unimplemented")
+       return o.directions[0]
 }
 
 // NumRuns returns the number of runs.
 func (o *Ordering) NumRuns() int {
-       panic("unimplemented")
+       return len(o.runes)
 }
 
 // Run returns the ith run within the ordering.
 func (o *Ordering) Run(i int) Run {
-       panic("unimplemented")
+       r := Run{
+               runes:     o.runes[i],
+               direction: o.directions[i],
+               startpos:  o.startpos[i],
+       }
+       return r
 }
 
 // TODO: perhaps with options.
@@ -155,16 +286,19 @@ func (o *Ordering) Run(i int) Run {
 
 // A Run is a continuous sequence of characters of a single direction.
 type Run struct {
+       runes     []rune
+       direction Direction
+       startpos  int
 }
 
 // String returns the text of the run in its original order.
 func (r *Run) String() string {
-       panic("unimplemented")
+       return string(r.runes)
 }
 
 // Bytes returns the text of the run in its original order.
 func (r *Run) Bytes() []byte {
-       panic("unimplemented")
+       return []byte(r.String())
 }
 
 // TODO: methods for
@@ -174,25 +308,52 @@ func (r *Run) Bytes() []byte {
 
 // Direction reports the direction of the run.
 func (r *Run) Direction() Direction {
-       panic("unimplemented")
+       return r.direction
 }
 
-// Position of the Run within the text passed to SetBytes or SetString of the
+// Pos returns the position of the Run within the text passed to SetBytes or SetString of the
 // originating Paragraph value.
 func (r *Run) Pos() (start, end int) {
-       panic("unimplemented")
+       return r.startpos, r.startpos + len(r.runes) - 1
 }
 
 // AppendReverse reverses the order of characters of in, appends them to out,
 // and returns the result. Modifiers will still follow the runes they modify.
 // Brackets are replaced with their counterparts.
 func AppendReverse(out, in []byte) []byte {
-       panic("unimplemented")
+       ret := make([]byte, len(in)+len(out))
+       copy(ret, out)
+       inRunes := bytes.Runes(in)
+
+       for i, r := range inRunes {
+               prop, _ := LookupRune(r)
+               if prop.IsBracket() {
+                       inRunes[i] = prop.reverseBracket(r)
+               }
+       }
+
+       for i, j := 0, len(inRunes)-1; i < j; i, j = i+1, j-1 {
+               inRunes[i], inRunes[j] = inRunes[j], inRunes[i]
+       }
+       copy(ret[len(out):], string(inRunes))
+
+       return ret
 }
 
 // ReverseString reverses the order of characters in s and returns a new string.
 // Modifiers will still follow the runes they modify. Brackets are replaced with
 // their counterparts.
 func ReverseString(s string) string {
-       panic("unimplemented")
+       input := []rune(s)
+       li := len(input)
+       ret := make([]rune, li)
+       for i, r := range input {
+               prop, _ := LookupRune(r)
+               if prop.IsBracket() {
+                       ret[li-i-1] = prop.reverseBracket(r)
+               } else {
+                       ret[li-i-1] = r
+               }
+       }
+       return string(ret)
 }
index 50deb6600a3c0c6b6149146bcb6c07703632c02e..e4c0811016c2acd3f54b0ec93d59f84f8cbba190 100644 (file)
@@ -4,7 +4,10 @@
 
 package bidi
 
-import "log"
+import (
+       "fmt"
+       "log"
+)
 
 // This implementation is a port based on the reference implementation found at:
 // https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
@@ -97,13 +100,20 @@ type paragraph struct {
 // rune (suggested is the rune of the open bracket for opening and matching
 // close brackets, after normalization). The embedding levels are optional, but
 // may be supplied to encode embedding levels of styled text.
-//
-// TODO: return an error.
-func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph {
-       validateTypes(types)
-       validatePbTypes(pairTypes)
-       validatePbValues(pairValues, pairTypes)
-       validateParagraphEmbeddingLevel(levels)
+func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) (*paragraph, error) {
+       var err error
+       if err = validateTypes(types); err != nil {
+               return nil, err
+       }
+       if err = validatePbTypes(pairTypes); err != nil {
+               return nil, err
+       }
+       if err = validatePbValues(pairValues, pairTypes); err != nil {
+               return nil, err
+       }
+       if err = validateParagraphEmbeddingLevel(levels); err != nil {
+               return nil, err
+       }
 
        p := &paragraph{
                initialTypes:   append([]Class(nil), types...),
@@ -115,7 +125,7 @@ func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, lev
                resultTypes: append([]Class(nil), types...),
        }
        p.run()
-       return p
+       return p, nil
 }
 
 func (p *paragraph) Len() int { return len(p.initialTypes) }
@@ -1001,58 +1011,61 @@ func typeForLevel(level level) Class {
        return R
 }
 
-// TODO: change validation to not panic
-
-func validateTypes(types []Class) {
+func validateTypes(types []Class) error {
        if len(types) == 0 {
-               log.Panic("types is null")
+               return fmt.Errorf("types is null")
        }
        for i, t := range types[:len(types)-1] {
                if t == B {
-                       log.Panicf("B type before end of paragraph at index: %d", i)
+                       return fmt.Errorf("B type before end of paragraph at index: %d", i)
                }
        }
+       return nil
 }
 
-func validateParagraphEmbeddingLevel(embeddingLevel level) {
+func validateParagraphEmbeddingLevel(embeddingLevel level) error {
        if embeddingLevel != implicitLevel &&
                embeddingLevel != 0 &&
                embeddingLevel != 1 {
-               log.Panicf("illegal paragraph embedding level: %d", embeddingLevel)
+               return fmt.Errorf("illegal paragraph embedding level: %d", embeddingLevel)
        }
+       return nil
 }
 
-func validateLineBreaks(linebreaks []int, textLength int) {
+func validateLineBreaks(linebreaks []int, textLength int) error {
        prev := 0
        for i, next := range linebreaks {
                if next <= prev {
-                       log.Panicf("bad linebreak: %d at index: %d", next, i)
+                       return fmt.Errorf("bad linebreak: %d at index: %d", next, i)
                }
                prev = next
        }
        if prev != textLength {
-               log.Panicf("last linebreak was %d, want %d", prev, textLength)
+               return fmt.Errorf("last linebreak was %d, want %d", prev, textLength)
        }
+       return nil
 }
 
-func validatePbTypes(pairTypes []bracketType) {
+func validatePbTypes(pairTypes []bracketType) error {
        if len(pairTypes) == 0 {
-               log.Panic("pairTypes is null")
+               return fmt.Errorf("pairTypes is null")
        }
        for i, pt := range pairTypes {
                switch pt {
                case bpNone, bpOpen, bpClose:
                default:
-                       log.Panicf("illegal pairType value at %d: %v", i, pairTypes[i])
+                       return fmt.Errorf("illegal pairType value at %d: %v", i, pairTypes[i])
                }
        }
+       return nil
 }
 
-func validatePbValues(pairValues []rune, pairTypes []bracketType) {
+func validatePbValues(pairValues []rune, pairTypes []bracketType) error {
        if pairValues == nil {
-               log.Panic("pairValues is null")
+               return fmt.Errorf("pairValues is null")
        }
        if len(pairTypes) != len(pairValues) {
-               log.Panic("pairTypes is different length from pairValues")
+               return fmt.Errorf("pairTypes is different length from pairValues")
        }
+       return nil
 }
index d8c94e1bd1a651c78c2175360d53530b9fc80128..42fa8d72cec004940ea8e126979a4e5ee09c7ee5 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.10 && !go1.13
 // +build go1.10,!go1.13
 
 package bidi
index 16b11db53883871fcb640e11c0ab7c46dde67d94..56a0e1ea2165e4cc8f087abd53953e849f140dd0 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.13 && !go1.14
 // +build go1.13,!go1.14
 
 package bidi
index 647f2d4279e6d917c028dd6c98f911ec7adb4fe2..baacf32b43c310593f1c176f9b4619a2007e826d 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.14 && !go1.16
 // +build go1.14,!go1.16
 
 package bidi
index c937d0976febb45a93fa048391aeef872e27e0bc..f248effae17b18ec90a15d5344726176317db914 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.16
 // +build go1.16
 
 package bidi
index 0ca0193ebe2d6192c56356d7bb723aa7d794fee0..f517fdb202a5cfb6e57fa527fb7270c27b6c095a 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build !go1.10
 // +build !go1.10
 
 package bidi
index 26fbd55a1243df8b03f820542f0939b6a3d291d1..f5a0788277ffd15f6b820905e3cca0f89746049e 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.10 && !go1.13
 // +build go1.10,!go1.13
 
 package norm
index 2c58f09baa495fc59e99c18f95bfd712dc445c0a..cb7239c4377d47eb325ad8443b66384526e0ffd1 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.13 && !go1.14
 // +build go1.13,!go1.14
 
 package norm
index 7e1ae096e5c00b890237ac84a7ca778b0ecea585..11b27330017d823b3971c6bbba612b106283e0a1 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.14 && !go1.16
 // +build go1.14,!go1.16
 
 package norm
index 9ea1b421407d55d5a207b022a49402bc1924ce18..96a130d30e9e2085a6ec6fbeb99c699b31070d50 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build go1.16
 // +build go1.16
 
 package norm
index 942906929135c9665c7ec0d5f7524e37f7ea4ad9..0175eae50aa68e064d309cfef981dab0e7daec96 100644 (file)
@@ -1,5 +1,6 @@
 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
 
+//go:build !go1.10
 // +build !go1.10
 
 package norm
index 06e6ef1945c160910042cc420ae4591e43751004..15a3aef4f8d8197426ba99da5276112060800ead 100644 (file)
@@ -1,4 +1,4 @@
-# golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
+# golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
 ## explicit
 golang.org/x/crypto/chacha20
 golang.org/x/crypto/chacha20poly1305
@@ -8,7 +8,7 @@ golang.org/x/crypto/curve25519
 golang.org/x/crypto/hkdf
 golang.org/x/crypto/internal/subtle
 golang.org/x/crypto/poly1305
-# golang.org/x/net v0.0.0-20201209123823-ac852fbbde11
+# golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
 ## explicit
 golang.org/x/net/dns/dnsmessage
 golang.org/x/net/http/httpguts
@@ -18,10 +18,10 @@ golang.org/x/net/idna
 golang.org/x/net/lif
 golang.org/x/net/nettest
 golang.org/x/net/route
-# golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e
+# golang.org/x/sys v0.0.0-20210309074719-68d13333faf2
 ## explicit
 golang.org/x/sys/cpu
-# golang.org/x/text v0.3.4
+# golang.org/x/text v0.3.6-0.20210227105805-e3aa4adf54f6
 ## explicit
 golang.org/x/text/secure/bidirule
 golang.org/x/text/transform